/* Ascent v1: Explorer, retention, player timeline. Existing palette variables inherited. */
#view-files,#view-backups,#view-players{min-width:0;max-width:100%;}
#view-files{display:flex;flex-direction:column;gap:9px;min-height:0;height:100%;}
#view-files[hidden]{display:none!important;}
#view-files .content-bar,#view-files .file-stats{flex:none;min-width:0;}
#view-files .content-bar,#view-files .file-actions{flex-wrap:wrap;min-width:0;}
#view-files .file-list{flex:1;min-height:115px;max-height:none;overflow:auto;overscroll-behavior:contain;}
#view-files .file-stats{align-items:center;flex-wrap:wrap;gap:8px;padding:3px 0;}
#view-files .file-stats .file-paging{margin:0 0 0 auto;}
#view-files .file-breadcrumb{flex:none;min-height:34px;max-height:74px;overflow:auto;}
.fm-row{cursor:pointer;transition:background .14s ease,transform .14s ease;grid-template-columns:36px minmax(0,1fr) 85px 145px;min-width:0;padding:7px 12px;min-height:49px;}
.fm-row:active{transform:scale(.997);}
.fm-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}
.fm-icon{border:none;background:transparent;box-shadow:none;}
.fm-icon svg{width:29px;height:29px;filter:drop-shadow(0 2px 3px #0005);}
.file-drop{flex:none;text-align:center;border:1px dashed color-mix(in srgb,var(--accent) 43%,var(--border));border-radius:11px;color:var(--muted);padding:9px;font-size:11px;background:color-mix(in srgb,var(--accent) 3%,var(--panel));transition:.16s ease;cursor:default;}
.file-drop.is-over{background:color-mix(in srgb,var(--accent) 18%,var(--panel));color:var(--text);border-color:var(--accent);transform:scale(.994);}
.file-transfer-status:empty{display:none;}
.file-transfer-status{flex:none;border-radius:9px;padding:7px 12px;color:var(--accent);font-size:11px;background:var(--panel);}
.file-context-menu{position:fixed;z-index:2500;background:var(--panel2);border:1px solid var(--border);border-radius:13px;box-shadow:0 16px 60px #0009;padding:5px;width:205px;max-width:calc(100vw - 16px);animation:menuAppear .13s ease both;}
.file-context-menu[hidden]{display:none!important;}
.file-context-menu button{display:block;width:100%;border:none;background:transparent;text-align:left;color:var(--text);border-radius:9px;padding:11px 12px;font-size:12px;cursor:pointer;}
.file-context-menu button:hover{background:color-mix(in srgb,var(--accent) 12%,var(--panel));}
@keyframes menuAppear{from{opacity:0;transform:scale(.96) translateY(-5px)}to{opacity:1;transform:scale(1)}}
.file-editor-dialog{position:fixed;inset:4vh 4vw;margin:auto;width:min(1250px,92vw);height:min(820px,92vh);max-width:none;max-height:none;padding:0;background:#111722;color:#dde8f5;border:1px solid #344052;border-radius:19px;box-shadow:0 25px 120px #000b;overflow:hidden;}
.file-editor-dialog[open]{display:flex;flex-direction:column;}
.file-editor-dialog::backdrop,.history-dialog::backdrop{background:#000b;backdrop-filter:blur(7px);}
.editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 20px;border-bottom:1px solid #303b4b;background:#182130;min-width:0;}
.editor-head>div:first-child{min-width:0;}
.editor-head h2{font-size:14px;font-weight:750;margin:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.editor-head small{font-size:10px;letter-spacing:.09em;color:#8ea0be;}
.editor-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.editor-actions span{color:#92e1d0;font-size:11px;max-width:270px;}
.code-body{flex:1;display:flex;min-height:0;background:#0c1420;overflow:hidden;}
.code-lines{flex:none;width:58px;overflow:hidden;text-align:right;padding:15px 10px 30px 4px;margin:0;line-height:1.7;color:#536276;border-right:1px solid #253447;font-size:12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;user-select:none;}
#file-editor-text{flex:1;min-width:0;resize:none;background:transparent;color:#d7e5f5;outline:0;border:none;padding:15px 20px 30px 15px;white-space:pre;tab-size:2;line-height:1.7;font-size:12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto;}
.editor-footer{flex:none;display:flex;justify-content:space-between;gap:12px;padding:9px 18px;background:#202c3b;color:#9cadc0;font-size:10px;}
.player-card-controls{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.player-card-controls button{font-size:10px;white-space:nowrap;padding:7px 10px;}
.player-card-controls .player-state{margin-left:0;}
.history-dialog{width:min(780px,94vw);max-height:85vh;overflow:hidden;}
.history-dialog[open]{display:flex;flex-direction:column;}
.player-history-list{display:flex;flex-direction:column;min-height:90px;overflow:auto;gap:6px;padding:4px 0 14px;}
.history-event{display:grid;grid-template-columns:92px minmax(0,1fr) 145px;gap:12px;align-items:center;padding:12px;background:var(--panel2);border:1px solid var(--border);border-radius:11px;}
.event-type{font-size:10px;color:var(--accent);font-weight:850;}
.event-detail{font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap;}
.event-date{font-size:10px;text-align:right;color:var(--muted);}
.backup-limits{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:12px;}
.backup-limits span{display:inline-flex;gap:6px;align-items:center;background:color-mix(in srgb,var(--accent) 8%,var(--panel));border:1px solid var(--border);padding:9px 11px;border-radius:11px;color:var(--muted);font-size:10px;}
.backup-limits b{color:var(--text);font-size:12px;}
.backup-space{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:9px 13px;background:var(--panel);border:1px solid var(--border);border-radius:11px;font-size:11px;color:var(--muted);}
.backup-space span{flex:none;}
.backup-space-track{height:7px;flex:1;min-width:40px;border-radius:12px;overflow:hidden;background:var(--surface);}
.backup-space-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#72c8ff,#c8aaff);border-radius:inherit;transition:width .5s ease;}
.backup-policy{grid-template-columns:repeat(5,minmax(0,1fr));}
.backup-managed{min-width:0;}
.backup-record-info{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1;}
.backup-managed strong{overflow-wrap:anywhere;font-weight:720;}
.backup-managed small{white-space:normal;}
.backup-expiration{font-size:11px;font-weight:760;color:#a6e8ba;}
.backup-expiration.expires-soon{color:#ffba6c;}
.backup-life-bar{height:5px;background:var(--surface);border-radius:9px;overflow:hidden;max-width:380px;}
.backup-life-bar span{display:block;height:100%;width:100%;border-radius:9px;background:linear-gradient(90deg,#68deb1,#72c8ff);transition:width .6s ease;}
.backup-life-bar span.expires-soon{background:#ffae6e;}
.backup-download{font-size:11px;white-space:nowrap;text-decoration:none;flex:none;}
@media(max-width:1100px){.backup-policy{grid-template-columns:repeat(3,minmax(0,1fr));}.fm-row{grid-template-columns:34px minmax(0,1fr) 80px 110px;gap:7px;}}
@media(max-width:650px){.backup-policy{grid-template-columns:repeat(2,minmax(0,1fr));}.fm-row{grid-template-columns:30px minmax(0,1fr) 66px;}.fm-date{display:none;}.file-actions{gap:4px;}.file-actions button{padding:7px 9px;}.history-event{grid-template-columns:70px minmax(0,1fr);}.event-date{grid-column:2;text-align:left;}.player-card-controls{flex-direction:column;}.backup-managed{flex-wrap:wrap;}.file-editor-dialog{inset:1vh 1vw;width:98vw;height:98vh;border-radius:8px;}.editor-head{align-items:flex-start;flex-direction:column;padding:11px;}.code-lines{width:39px;font-size:11px;padding-right:6px;}#file-editor-text{font-size:11px;padding:15px 10px;}}
@media(prefers-reduced-motion:reduce){.fm-row,.file-drop,.file-context-menu{animation:none!important;transition:none!important;}}

/* Ascent v1.1: native Modrinth browser in the Minecraft file explorer. */
.modrinth-dialog{width:min(960px,96vw);height:min(770px,92dvh);max-width:none;max-height:none;overflow:hidden;padding:18px 20px;}
.modrinth-dialog[open]{display:flex;flex-direction:column;gap:12px;}
.modrinth-dialog::backdrop{background:#000b;backdrop-filter:blur(9px);}
.modrinth-search{display:flex;align-items:center;gap:10px;flex:none;min-width:0;}
.modrinth-search[hidden],.modrinth-info[hidden],.modrinth-results[hidden],.modrinth-installed[hidden],#modrinth-more[hidden]{display:none!important;}
.modrinth-tabs{display:flex;gap:8px;flex:none;flex-wrap:wrap;}
.modrinth-tabs button{border-radius:12px;}
.modrinth-tabs button[aria-pressed="true"]{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel));}
.modrinth-installed{min-height:0;flex:1;display:flex;flex-direction:column;gap:10px;overflow:hidden;}
.modrinth-installed-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--text);}
.modrinth-installed-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:9px;padding:2px 3px 9px;}
.installed-mod{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;background:var(--panel2);border:1px solid var(--border);border-radius:15px;padding:12px;}
.installed-mod-info{display:flex;flex-direction:column;min-width:0;gap:5px;}
.installed-mod-info strong{overflow-wrap:anywhere;font-size:12px;}
.installed-mod-info small{color:var(--muted);font-size:10px;line-height:1.4;}
.installed-mod-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.installed-mod-controls button{font-size:11px;padding:8px 10px;}
.modrinth-trash{flex:none;max-height:140px;overflow:auto;font-size:11px;}
.modrinth-trash summary{cursor:pointer;color:var(--muted);font-size:11px;}
.modrinth-trash-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-bottom:1px solid var(--border);color:var(--muted);}
.modrinth-trash-item button{flex:none;font-size:10px;padding:6px 8px;}
.modrinth-search input{min-width:0;flex:1;font-size:13px;}
.modrinth-info{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);}
.modrinth-results{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:11px;padding:4px 3px 15px;}
.modrinth-card{background:var(--panel2);border:1px solid var(--border);border-radius:17px;min-width:0;display:flex;flex-direction:column;gap:11px;padding:15px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.modrinth-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 52%,var(--border));box-shadow:0 11px 28px #0003;}
.modrinth-card-head{display:flex;align-items:center;gap:11px;min-width:0;}
.modrinth-icon{width:48px;height:48px;border-radius:13px;object-fit:cover;flex:none;box-shadow:0 4px 12px #0003;border:1px solid var(--border);}
.modrinth-fallback{display:grid;place-items:center;background:var(--surface);color:var(--accent);font-size:23px;}
.modrinth-card-title{min-width:0;display:flex;flex-direction:column;gap:4px;}
.modrinth-card-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--text);}
.modrinth-card-title small{color:var(--muted);font-size:10px;}
.modrinth-description{flex:1;line-height:1.5;font-size:12px;color:var(--muted);margin:0;overflow-wrap:anywhere;}
.modrinth-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.modrinth-card-actions button{font-size:11px;padding:8px 12px;}
.modrinth-external{color:var(--accent);font-size:11px;text-decoration:none;}
.modrinth-external:hover{text-decoration:underline;}
.modrinth-versions{border-top:1px solid var(--border);padding-top:11px;display:flex;flex-direction:column;gap:9px;}
.modrinth-versions[hidden]{display:none;}
.modrinth-version-select{width:100%;min-width:0;}
.modrinth-versions button{max-width:fit-content;}
.modrinth-dependencies{color:var(--muted);font-size:10px;line-height:1.4;}
.modrinth-bottom{border-top:1px solid var(--border);padding-top:9px;display:flex;align-items:center;gap:13px;flex:none;flex-wrap:wrap;}
.modrinth-bottom p{color:var(--muted);font-size:10px;line-height:1.4;margin:0;min-width:170px;flex:1;}
@media(max-width:670px){.modrinth-dialog{width:98vw;height:95dvh;padding:12px;border-radius:12px;}.modrinth-results{grid-template-columns:minmax(0,1fr);}.modrinth-search{align-items:stretch;}.modrinth-search button{font-size:11px;padding:8px 11px;}.modrinth-info{font-size:10px;}}
@media(max-width:670px){.installed-mod{grid-template-columns:minmax(0,1fr);}.installed-mod-controls{justify-content:flex-start;}}
.file-searchbar{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;padding:6px 0 4px;}
.file-searchbar input{flex:1 1 220px;min-width:0;max-width:none;min-height:38px;border-radius:12px;border:1px solid var(--border);background:var(--panel2);color:var(--text);padding:8px 13px;outline:none;}
.file-searchbar input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent);}
.file-searchbar button{min-height:38px;padding:8px 13px;}
.server-perf{display:grid;gap:5px;border:1px solid var(--border);border-radius:12px;padding:10px;margin:10px 0 6px;background:color-mix(in srgb,var(--panel2) 90%,transparent);}
.server-perf-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;}
.server-perf-line strong{font-size:11px;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;}
.server-perf-label{font-size:11px;color:var(--muted);}
.server-perf-track{height:6px;background:color-mix(in srgb,var(--text) 10%,transparent);border-radius:20px;overflow:hidden;}
.server-perf-track i{display:block;height:100%;width:0%;background:#69bbff;border-radius:inherit;transition:width .7s ease;}
.server-perf-ram-fill{background:#dbb7ff!important;}
.server-perf-cpu-fill[data-hot="true"]{background:#ff966f;}
@media(prefers-reduced-motion:reduce){.server-perf-track i{transition:none;}}
.backup-entry-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;}
.backup-entry-actions button,.backup-entry-actions a{font-size:12px;}
.backup-restore-screen[hidden]{display:none!important;}
.backup-restore-screen{position:fixed;inset:0;z-index:9999;background:rgba(1,4,8,.88);backdrop-filter:blur(16px);display:grid;place-items:center;padding:20px;}
.backup-restore-screen-card{width:min(100%,420px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:15px;padding:35px 25px;background:var(--panel);border:1px solid var(--accent);border-radius:24px;box-shadow:0 16px 90px #0008;}
.backup-restore-screen-card strong{font-size:19px;line-height:1.3;}
.backup-restore-screen-card p{font-size:13px;color:var(--text);}
.backup-restore-screen-card small{font-size:11px;color:var(--muted);line-height:1.6;}
.backup-restore-orbit{width:66px;height:66px;border:3px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);border-radius:50%;display:grid;place-items:center;font-size:29px;color:var(--accent);animation:ascentRestoreSpin 1.4s linear infinite;}
@keyframes ascentRestoreSpin{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){.backup-restore-orbit{animation:none;}}
@media(prefers-reduced-motion:reduce){.modrinth-card{transition:none;}.modrinth-card:hover{transform:none;}}
