:root{--paper:#131210;--card:#1c1a17;--ink:#e9e3d6;--ink2:#8f8878;--hair:#322e28;--accent:#d98850;--accent-deep:#eb9c63;--on-accent:#241505;--ready:#8fb573;--load:#d9a441;--down:#6b6459;--danger:#d2604a;--on-danger:#2a120d;--term:#0e0d0c;--shadow:0 14px 36px rgba(0,0,0,.45);--space-0:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:14px;--radius-pill:999px}html[data-theme=light]{--paper:#f2ecdd;--card:#faf6ea;--ink:#241d11;--ink2:#786a4e;--hair:#dcd2b8;--accent:#a34a24;--accent-deep:#833917;--on-accent:#f8f1e0;--ready:#3f7a3c;--load:#a8791c;--down:#93896f;--danger:#8e2f1f;--on-danger:#f8f1e0;--term:#0e0d0c;--shadow:0 14px 36px rgba(96,74,38,.12)}*{box-sizing:border-box}html{font-size:17px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Source Sans\ 3,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease;-webkit-tap-highlight-color:transparent;text-size-adjust:100%}.btn,.btn-icon,.ip,.link-btn,.show-more,.size-btn{touch-action:manipulation}html[data-theme=light] .input{background:#fff}h1,h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;letter-spacing:.01em;margin:0}h2{font-size:30px}.muted{color:var(--ink2)}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.eyebrow{font-size:12px;letter-spacing:.24em}.eyebrow,.eyebrow-sm{text-transform:uppercase;color:var(--ink2)}.eyebrow-sm{font-size:11px;letter-spacing:.18em;display:block;margin-bottom:2px}.row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.wrap{max-width:1360px;margin:0 auto;padding:38px 48px 90px}.topbar{display:flex;align-items:baseline;gap:26px;flex-wrap:wrap;padding-bottom:var(--space-5);border-bottom:1px solid var(--hair);width:100%}.brand{font-size:36px;line-height:1}.ornament{font-family:Cormorant Garamond,serif;font-size:20px;color:var(--ink2)}.tabs{display:flex;gap:22px;margin-left:auto}.tab{background:none;cursor:pointer;font:inherit;font-size:15px;padding:4px 2px;color:var(--ink2);border:none;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.tab.on,.tab:hover{color:var(--ink)}.tab.on{border-bottom-color:var(--accent)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tab-short{display:none}.topbar-actions{display:flex;gap:20px;align-items:baseline}.topbar-actions .btn.ghost{border:none;background:none;padding:4px 2px;font-size:14px;color:var(--ink2);white-space:nowrap;border-radius:0}.topbar-actions .btn.ghost:hover{background:none;color:var(--ink)}.em-datebar{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:var(--space-4) 2px 0;color:var(--ink2)}.em-date{font-family:Cormorant Garamond,serif;font-style:italic;font-size:18px}.build-row{margin-left:auto;display:flex;align-items:baseline;gap:8px;font-size:14px}.build-select{font-family:Cormorant Garamond,serif;font-size:17px;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--hair);padding:2px 2px 4px;cursor:pointer}.build-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.em-actions{flex-wrap:wrap;padding:var(--space-6) 2px;border-bottom:1px solid var(--hair)}.em-actions,.em-actions .spacer{display:flex;align-items:center;gap:14px}.em-actions .spacer{margin-left:auto}.btn{font:inherit;font-size:16px;font-weight:600;border:none;border-radius:var(--radius-sm);padding:13px 30px;cursor:pointer;background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow);transition:filter .15s ease,transform .05s ease,opacity .15s ease,background .15s ease,border-color .15s ease,color .15s ease}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none;box-shadow:none}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--hair);box-shadow:none;font-weight:400}.btn.ghost:hover{filter:none;border-color:var(--ink2)}.btn.danger{background:transparent;color:var(--danger);border:1px solid var(--danger);box-shadow:none}.btn.danger:hover{filter:none;background:var(--danger);color:var(--on-danger)}.btn.plain{background:none;border:none;box-shadow:none;color:var(--ink2);font-size:14px;font-weight:400;padding:10px}.btn.plain:hover{filter:none;color:var(--ink)}.btn-icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--hair);background:transparent;color:var(--ink2);font-size:17px;cursor:pointer;transition:border-color .15s ease}.btn-icon:hover{border-color:var(--ink2)}.input{font:inherit;font-size:17px;width:100%;padding:13px 16px;border:1px solid var(--hair);border-radius:var(--radius-sm);background:transparent;color:var(--ink);outline:none}.input:focus{border-color:var(--accent)}.em-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:38px;gap:38px;padding:var(--space-7) 2px var(--space-7);border-bottom:1px solid var(--hair);align-items:start}.status-row{display:flex;align-items:center;gap:16px;margin-top:10px}.status-dot{width:13px;height:13px;border-radius:50%;flex:none}.status-word{font-family:Cormorant Garamond,serif;font-weight:500;font-size:52px;line-height:1.05}.status-note{font-size:14px;color:var(--ink2);margin-top:12px}.ip{font-family:JetBrains Mono,monospace;font-size:14px;background:transparent;color:var(--accent);border:1px dashed var(--hair);border-radius:var(--radius-sm);padding:8px 14px;cursor:pointer;letter-spacing:.02em;transition:border-color .15s ease,color .15s ease}.ip:hover{border-color:var(--accent)}.ip.copied{color:var(--ready);border-color:var(--ready);border-style:solid;animation:copied-pop .18s ease}@keyframes copied-pop{0%{transform:scale(.94)}60%{transform:scale(1.05)}to{transform:scale(1)}}.players{font-family:JetBrains Mono,monospace;margin-top:12px}.idle,.players{font-size:13px;color:var(--ink2)}.idle{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.idle-timer{font-weight:600;color:var(--load)}.idle-timer.danger{color:var(--danger)}.metric-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--hair)}.metric-row:first-child{padding-top:6px}.metric-val{font-family:Source Sans\ 3,sans-serif;font-size:23px;font-weight:600;letter-spacing:.01em}.metric-val.danger,.metric-val.warn{color:var(--load)}.metric-sub{font-size:13px;color:var(--ink2)}.metric-sub.warn{color:var(--load)}.disk-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0 0}.disk-track{height:3px;background:var(--hair);margin:10px 0 6px}.disk-fill{height:100%;background:var(--ready);transition:width .3s ease}.disk-fill.danger{background:var(--danger)}.disk-sub{font-size:13px;color:var(--ink2);text-align:right}.section{padding:var(--space-7) 2px var(--space-7);border-bottom:1px solid var(--hair)}.section-backups,.section-stats{padding:var(--space-7) 2px var(--space-3)}.section-stats{border-top:1px solid var(--hair)}.section-head{display:flex;align-items:baseline;gap:18px;margin-bottom:var(--space-6);flex-wrap:wrap}.section-tagline{font-family:Cormorant Garamond,serif;font-style:italic;font-size:16px;color:var(--ink2)}.stage-bar{gap:12px;flex-wrap:wrap}.stage,.stage-bar{display:flex;align-items:center}.stage{gap:9px;flex:none}.stage-dot{width:12px;height:12px;border-radius:50%;flex:none;box-sizing:border-box;background:transparent;border:2px solid var(--down);transition:background .3s ease,border-color .3s ease}.stage-num{font-family:Cormorant Garamond,serif;font-style:italic;font-size:16px;color:var(--down)}.stage-label{font-size:13.5px;color:var(--ink2);white-space:nowrap}.stage-track{flex:1 1 26px;min-width:16px;height:1px;background:var(--hair)}.stage-done .stage-dot{background:var(--ready);border-color:var(--ready)}.stage-done .stage-num{color:var(--ink2)}.stage-done .stage-label{color:var(--ink)}.stage-done .stage-track{background:var(--ready)}.stage-active .stage-dot{background:var(--ready);border-color:var(--ready);animation:pulse 2s ease-out infinite}.stage-active .stage-num{color:var(--ink2)}.stage-active .stage-label{color:var(--ink);font-weight:600;font-style:italic}@keyframes pulse{0%,to{box-shadow:0 0 0 0 hsla(95,31%,58%,.55)}50%{box-shadow:0 0 0 8px hsla(95,31%,58%,0)}}@keyframes pulse-amber{0%,to{box-shadow:0 0 0 0 rgba(217,164,65,.55)}50%{box-shadow:0 0 0 8px rgba(217,164,65,0)}}.stage-warn .stage-dot{background:var(--load);border-color:var(--load)}.stage-error .stage-dot{background:var(--danger);border-color:var(--danger)}.stage-error .stage-label{color:var(--danger)}.last-line{margin-top:var(--space-5);display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--ink2)}.last-line .eta{margin-left:auto;font-family:Cormorant Garamond,serif;font-style:italic;font-size:15px;color:var(--ink2);white-space:nowrap}.em-activity{cursor:pointer}.em-activity:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mon-inner{max-width:560px}.mon-verdict-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:var(--space-5)}.mon-verdict{font-family:Cormorant Garamond,serif;font-style:italic;font-size:24px}.mon-verdict.ok{color:var(--ready)}.mon-verdict.warn{color:var(--load)}.mon-verdict.crit{color:var(--danger)}.mon-tps{font-family:JetBrains Mono,monospace;font-size:14px}.mon-tps .muted{color:var(--ink2)}.mon-grid{display:grid;grid-template-columns:52px 1fr auto;grid-gap:14px 16px;gap:14px 16px;align-items:center}.mon-label{font-size:12px;letter-spacing:.18em;color:var(--ink2)}.mon-bar{height:4px;background:var(--hair)}.mon-fill{height:100%}.mon-fill.ok{background:var(--ready)}.mon-fill.warn{background:var(--load)}.mon-fill.crit{background:var(--danger)}.mon-val{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--ink2);text-align:right}.backup-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:17px 2px;border-bottom:1px solid var(--hair);font-size:14px;transition:background .15s ease}.backup-row:last-child{border-bottom:none}.backup-no{font-family:Cormorant Garamond,serif;font-style:italic;font-size:16px;color:var(--ink2);min-width:26px}.backup-name{font-family:JetBrains Mono,monospace;font-size:14px}.backup-size{margin-left:auto;font-size:14px;color:var(--ink2)}.backup-links{display:flex;gap:18px}.link-btn{border:none;background:none;padding:0;cursor:pointer;font:inherit;font-size:14px;color:var(--accent)}.link-btn:hover{text-decoration:underline}.link-btn:disabled{color:var(--down);cursor:not-allowed;text-decoration:none}.link-btn.muted-link{color:var(--ink2)}.link-btn.muted-link:hover{color:var(--danger)}.badge{font-size:13px}.stats-live{display:flex;align-items:baseline;gap:14px;margin-bottom:var(--space-5)}.stats-live-timer{font-family:Source Sans\ 3,sans-serif;font-size:30px;font-weight:600;letter-spacing:.01em;line-height:1}.stat-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,auto));grid-gap:26px 40px;gap:26px 40px;justify-content:start;padding:16px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin-bottom:4px}.stat-val{font-family:Source Sans\ 3,sans-serif;font-size:22px;font-weight:600}.session-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:14px 2px;border-bottom:1px solid var(--hair)}.session-date{font-size:13.5px}.kind-pill,.session-date{font-family:JetBrains Mono,monospace}.kind-pill{font-size:11px;letter-spacing:.08em;border-radius:var(--radius-pill);padding:1px 10px}.kind-pill.create{color:var(--accent);border:1px solid var(--accent)}.kind-pill.start{color:var(--ink2);border:1px solid var(--ink2)}.session-right{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--ink2)}.show-more{border:none;background:none;padding:0;cursor:pointer;font-family:Cormorant Garamond,serif;font-style:italic;font-size:17px;color:var(--ink2);margin-top:var(--space-4)}.show-more:hover{color:var(--ink)}.term-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:var(--space-4)}.size-btn{font:inherit;font-size:13px;border:1px solid var(--hair);background:transparent;color:var(--ink);border-radius:var(--radius-sm);padding:7px 16px;cursor:pointer;transition:all .15s ease}.size-btn:hover{border-color:var(--ink2)}.size-btn.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.size-btn.stop{color:var(--danger);border-color:var(--danger);white-space:nowrap}.size-btn.stop:hover{background:var(--danger);color:var(--on-danger)}.terminal{background:var(--term);color:#d9cfba;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13.5px;line-height:1.75;border-radius:var(--radius-md);padding:18px 22px;overflow:auto;white-space:pre-wrap;word-break:break-word;box-shadow:var(--shadow);resize:both;max-width:100%}.term-half{height:42vh;min-height:240px}.term-large{height:72vh;min-height:480px}.term-full{position:static;flex:1 1;height:auto;min-height:0;margin:0;resize:none}.term-exit-inline{font:inherit;font-size:14px;font-weight:600;border:none;border-radius:var(--radius-sm);padding:10px 20px;background:var(--accent);color:var(--on-accent);cursor:pointer}.term-exit-inline:hover{filter:brightness(1.08)}.fs-overlay{position:fixed;inset:0;z-index:1000;background:var(--paper);display:flex;flex-direction:column;padding:18px;gap:14px}.fs-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rcon-out{background:var(--term);color:#d9cfba;border-radius:var(--radius-md);padding:16px 22px;margin-bottom:var(--space-4);font-family:JetBrains Mono,monospace;font-size:13.5px;line-height:1.75;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto;box-shadow:var(--shadow)}.rcon-form{display:flex;gap:12px;align-items:center;margin-bottom:var(--space-3)}.rcon-form .input{flex:1 1;min-width:0}.rcon-form .input,.role-pill{font-family:JetBrains Mono,monospace}.role-pill{font-size:11px;letter-spacing:.08em;border-radius:var(--radius-pill);padding:1px 10px;color:var(--ink2);border:1px solid var(--ink2)}.role-pill.dev{color:var(--accent);border-color:var(--accent)}.access-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:15px 2px;border-bottom:1px solid var(--hair)}.access-name{min-width:120px}.access-links{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}.access-note{margin-left:auto;font-size:13px}.access-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;margin-bottom:10px}@media (max-width:760px){.access-form{grid-template-columns:minmax(0,1fr)}.access-links{margin-left:0}}.card{background:var(--card);border:1px solid var(--hair);border-radius:var(--radius-md);padding:30px 28px;box-shadow:var(--shadow)}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-box{width:100%;max-width:400px;text-align:center}.auth-title{font-family:Cormorant Garamond,serif;font-weight:500;font-size:54px;line-height:1.1;letter-spacing:.01em;white-space:nowrap;transform:scaleX(.94);transform-origin:center;margin:0 0 22px}.auth-box .card{text-align:left;display:flex;flex-direction:column;gap:18px}.auth-box .input{border:none;border-bottom:1px solid var(--hair);border-radius:0;padding:10px 2px;background:transparent}.auth-box .btn{margin-top:8px;width:100%}.modal-overlay{position:fixed;inset:0;z-index:2000;background:rgba(16,10,3,.55);display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--hair);border-top:3px solid var(--danger);padding:32px 34px;width:100%;max-width:460px;box-shadow:var(--shadow)}.modal h2{font-size:32px;margin-bottom:10px}.modal p{font-size:15px;line-height:1.6;color:var(--ink2)}.toasts{position:fixed;z-index:3000;left:50%;transform:translateX(-50%);bottom:26px;display:flex;flex-direction:column;gap:8px;align-items:center;width:max-content;max-width:92vw;pointer-events:none}.toast{pointer-events:auto;background:var(--card);color:var(--ink);border:1px solid var(--hair);border-left:3px solid var(--ink2);border-radius:var(--radius-md);padding:12px 18px;font-size:14px;box-shadow:var(--shadow);animation:toast-in .25s ease both}.toast.ok{border-left-color:var(--ready)}.toast.err{border-left-color:var(--danger)}.toast.info{border-left-color:var(--load)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-in{animation:fade-up .35s ease both}.btn-icon:focus-visible,.btn:focus-visible,.em-activity:focus-visible,.input:focus-visible,.ip:focus-visible,.link-btn:focus-visible,.mab-btn:focus-visible,.size-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skeleton{display:inline-block;background:var(--hair);position:relative;overflow:hidden;vertical-align:middle}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.14),transparent);transform:translateX(-100%);animation:shimmer 1.5s infinite}@keyframes shimmer{to{transform:translateX(100%)}}.mobile-actionbar{display:none}@media (prefers-reduced-motion:reduce){.fade-in,.ip.copied,.modal.sheet,.skeleton:after,.stage-active .stage-dot,.toast{animation:none!important}*{transition-duration:.01ms!important}}@media (max-width:1024px){.wrap{padding:32px 28px 90px}.em-cols{gap:24px}}@media (max-width:640px){html{font-size:16px}.wrap{padding:22px max(16px,env(safe-area-inset-right)) calc(84px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:800;background:var(--paper);padding-top:max(4px,env(safe-area-inset-top));padding-bottom:10px;margin-bottom:2px;gap:10px}.tabs{gap:14px;max-width:100%;overflow-x:auto;scrollbar-width:none}.tab{white-space:nowrap}.tab-long{display:none}.tab-short{display:inline}.topbar-actions{gap:14px}.brand{font-size:26px}h2{font-size:22px}.status-word{font-size:38px}.em-cols{grid-template-columns:1fr;gap:28px;padding:var(--space-5) 2px}.em-actions{display:none}.mobile-actionbar{display:grid;grid-template-columns:repeat(9,1fr);position:fixed;left:0;right:0;bottom:0;z-index:900;grid-gap:2px;gap:2px;background:var(--card);border-top:1px solid var(--hair);padding:8px 6px max(8px,env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.25)}.mab-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:var(--ink2);font:inherit;font-size:11px;font-weight:500;padding:7px 2px;border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;transition:background .12s ease,color .12s ease}.mab-btn:active{background:var(--hair)}.mab-btn.primary{color:var(--accent)}.mab-btn.danger{color:var(--danger)}.mab-btn:disabled{opacity:.35}.ip{font-size:14px;padding:6px 12px}.modal-overlay{align-items:flex-end;padding:0}.modal.sheet{max-width:100%;width:100%;border-radius:20px 20px 0 0;border-top:3px solid var(--danger);padding:22px 18px max(22px,env(safe-area-inset-bottom));animation:sheet-up .28s cubic-bezier(.2,.8,.2,1) both}.toasts{bottom:calc(82px + env(safe-area-inset-bottom))}.stage-bar{flex-direction:column;align-items:flex-start;gap:10px}.stage-track{display:none}.terminal{resize:none;height:50vh;min-height:280px;font-size:13px;padding:16px}.term-half{height:38vh;min-height:220px}.term-large{height:58vh;min-height:320px}.backup-row{gap:8px;padding:14px 0}.backup-name{flex:1 1 100%;word-break:break-all}.backup-size{margin-left:0}.auth-title{font-size:40px;transform:scaleX(.96);margin-bottom:18px}.auth-box{max-width:100%}.input{font-size:16px}.modal{padding:24px 20px}}@media (max-width:400px){html{font-size:15px}.brand{font-size:22px}.mab-btn{font-size:10px}}.modal-create{border-top-color:var(--accent);max-width:520px}.map-list{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto}.modal-world{max-width:620px;max-height:calc(100dvh - 48px);overflow-y:auto;border-top-color:var(--accent)}.modal-world .map-list{max-height:30vh}.modal-world .input{width:100%}.world-tabs{margin-bottom:16px}.world-save{display:flex;gap:10px;align-items:center;margin:20px 0 12px;font-size:14px}.world-unsaved{color:var(--danger)!important}.world-dialog-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.map-sub.mono{overflow-wrap:anywhere}.map-opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--hair);border-radius:var(--radius-md);cursor:pointer;font-size:15px;color:var(--ink)}.map-opt.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.map-opt input{margin-top:4px;accent-color:var(--accent)}.map-sub{margin-top:3px}.field-label,.map-sub{display:block;font-size:13px;color:var(--ink2)}.field-label{margin-bottom:6px}.backup-when{font-size:12px}.world-row{margin-left:auto}.world-row+.build-row{margin-left:0}.build-library{padding:30px 0}.library-heading,.library-summary{display:flex;align-items:center;justify-content:space-between;gap:20px}.library-heading h2{margin-bottom:8px}.library-heading p{margin:0}.library-build-choice{max-width:420px;margin:24px 0 30px}.library-field,.library-toolbar label{display:flex;flex-direction:column;gap:8px;color:var(--ink2);font-size:14px;min-width:0}.library-field .input,.library-toolbar .input{width:100%;min-width:0}.library-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-gap:32px;gap:32px;align-items:start}.library-workspace.read-only{grid-template-columns:minmax(0,1fr)}.library-editor,.library-mods{min-width:0}.library-editor{border-left:1px solid var(--hair);padding-left:32px}.library-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.library-list-heading h3{margin:0;font-size:18px}.mod-view-switch{display:inline-flex;padding:3px;border:1px solid var(--hair);border-radius:var(--radius-sm)}.mod-view-switch button{border:0;border-radius:5px;padding:7px 12px;background:transparent;color:var(--ink2);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.mod-view-switch button:hover{color:var(--ink)}.mod-view-switch button[aria-pressed=true]{background:var(--hair);color:var(--ink)}.mod-view-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.library-toolbar{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-gap:14px;gap:14px;margin:20px 0}.library-summary{flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--hair);padding-bottom:18px;font-size:14px;color:var(--ink2)}.library-summary .btn{font-size:14px;padding:10px 14px}.library-check{color:var(--ink2)}.library-check,.library-mods>.muted{line-height:1.6;font-size:14px}.library-error,.mod-issue{color:var(--danger)}.mod-item{display:flex;gap:18px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--hair)}.mod-icon{width:48px;height:48px;object-fit:contain;flex:0 0 48px;border-radius:8px}.mod-icon-fallback{display:flex;align-items:center;justify-content:center;background:var(--hair);color:var(--ink2);font-size:16px}.mod-details{flex:1 1;min-width:0}.mod-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px;overflow-wrap:anywhere}.mod-meta{font-size:13px;margin:7px 0}.mod-filename{font-size:12px;overflow-wrap:anywhere}.mod-issue{font-size:13px;margin:6px 0 0;overflow-wrap:anywhere}.mod-item .link-btn{margin-top:5px}.mod-list-list .mod-item{padding:12px 0;gap:12px}.mod-list-list .mod-title{font-size:15px}.mod-list-list .mod-title strong{font-weight:600}.mod-list-list .mod-meta{margin:4px 0 0}.mod-list-list .mod-item .link-btn{font-size:13px;flex-shrink:0}@media (max-width:1080px){.library-workspace{grid-template-columns:minmax(0,1fr);gap:32px}.library-editor{border-left:0;padding-left:0;border-top:1px solid var(--hair);padding-top:24px}}@media (max-width:640px){.library-heading,.library-summary{align-items:flex-start;flex-direction:column;gap:14px}.library-toolbar{grid-template-columns:1fr;gap:14px}.mod-item{gap:10px;flex-wrap:wrap}.mod-list-icons .mod-item .link-btn{margin-left:58px}.mod-list-icons .mod-details{flex-basis:calc(100% - 58px)}.mod-list-list .mod-item{flex-wrap:nowrap}}.mod-editor h3{margin:0 0 12px;font-size:18px}.mod-editor>.library-heading{flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:12px}.mod-editor>.library-heading>div{flex:1 1 280px}.mod-editor>.library-heading .link-btn{margin-top:3px}.mod-editor p{line-height:1.6;font-size:14px}.mod-upload{border:1px dashed var(--ink2);border-radius:var(--radius-md);padding:18px;margin:20px 0}.mod-upload-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.mod-upload-actions .btn{max-width:100%;white-space:normal;text-align:left}.mod-upload-actions label{position:relative;overflow:hidden;cursor:pointer}.mod-upload-actions label input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.mod-draft>.input,.mod-history .input,.mod-upload .input{width:100%;max-width:560px}.mod-diff{max-height:250px;overflow:auto;margin-bottom:18px;overflow-wrap:anywhere}.mod-diff summary,.mod-draft-files>summary{cursor:pointer;margin:10px 0}.mod-diff li{font-size:13px;margin-bottom:4px}.mod-draft-files{margin:20px 0}.draft-file-toolbar{display:flex;justify-content:flex-end;padding:4px 0 12px}.draft-file,.draft-file-toolbar{border-bottom:1px solid var(--hair)}.draft-file{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;grid-gap:12px;gap:12px;padding:12px 0}.draft-file-details{min-width:0;overflow-wrap:anywhere}.draft-files-list .draft-file-details strong{font-size:15px;font-weight:600}.draft-files-icons .draft-file{grid-template-columns:40px minmax(0,1fr);padding:16px 0}.draft-files-icons .mod-icon{width:40px;height:40px}.draft-files-icons .draft-file-actions{grid-column:2}.draft-file-actions{display:flex;gap:12px;flex-shrink:0}.draft-file-actions .link-btn{font-size:13px}.mod-unchecked{display:flex;gap:10px;align-items:flex-start;margin:18px 0;color:var(--ink2)}.mod-unchecked input{margin-top:4px;accent-color:var(--accent)}.mod-history{margin-top:24px}.mod-history .btn{margin-top:12px;display:block}.maps-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.map-desc{font-size:13px}.upload-progress{position:relative;height:26px;margin-bottom:14px;border:1px solid var(--hair);border-radius:var(--radius-md);overflow:hidden}.upload-bar{position:absolute;inset:0 auto 0 0;background:var(--accent);opacity:.35;transition:width .2s}.upload-progress span{position:relative;display:block;text-align:center;line-height:24px;font-size:13px}@media (prefers-reduced-motion:reduce){.upload-bar{transition:none}}.modal-create{max-height:calc(100dvh - 48px);overflow-y:auto}.file-pick{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-input:focus-visible+.btn{outline:2px solid var(--accent);outline-offset:2px}.file-pick .btn{cursor:pointer}.file-pick .btn.disabled{opacity:.45;pointer-events:none}.file-name{font-size:14px;word-break:break-all;min-width:0}.balance-val{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap;justify-content:flex-end}.topup-btn,.topup-link{font-size:13px;text-decoration:none}.topup-btn{padding:4px 12px;align-self:center}.stats-page .stat-figures{margin-bottom:var(--space-6)}.stats-sub{font-family:Cormorant Garamond,serif;font-weight:500;font-size:24px;margin:var(--space-8) 0 var(--space-3)}.session-build{font-size:13px}.chart.wide{grid-column:1/-1}.charts-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:var(--space-6,24px)}.seg{display:inline-flex;border:1px solid var(--hair);border-radius:var(--radius-pill);padding:3px;gap:2px}.seg-btn{background:none;border:0;color:var(--ink2);font:inherit;font-size:13px;padding:5px 12px;border-radius:var(--radius-pill);cursor:pointer}.seg-btn:hover{color:var(--ink)}.seg-btn.on{background:var(--accent);color:var(--on-accent)}.seg-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}@media (max-width:860px){.charts-grid{grid-template-columns:minmax(0,1fr)}}.chart{background:var(--card);border:1px solid var(--hair);border-radius:var(--radius-md);padding:16px 16px 12px;min-width:0}.chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;flex-wrap:wrap}.chart-readout{font-size:12.5px;color:var(--ink);text-align:right}.chart-empty{margin:40px 0;text-align:center;font-size:14px}.chart-bars{position:relative;height:150px;gap:2px;border-bottom:1px solid var(--hair)}.chart-bars,.chart-col{display:flex;align-items:flex-end}.chart-col{flex:1 1;min-width:0;height:100%;justify-content:center;cursor:pointer;border-radius:3px 3px 0 0}.chart-col.on,.chart-col:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.chart-bar{display:block;width:100%;max-width:36px;background:var(--down);border-radius:3px 3px 0 0;transition:height .25s ease}.chart-bar.accent{background:var(--accent)}.chart-col.on .chart-bar,.chart-col:hover .chart-bar{background:var(--accent-deep)}.chart-avg{position:absolute;left:0;right:0;border-top:1px dashed var(--ink2);pointer-events:none;z-index:1}.chart-avg-label{position:absolute;right:0;bottom:2px;font-size:11px;color:var(--ink2);background:var(--card);padding:0 4px}.chart-axis{display:flex;gap:2px;margin-top:6px;font-size:10.5px;color:var(--ink2)}.chart-axis>span{flex:1 1;min-width:0;white-space:nowrap;overflow:visible}.chart-axis>span:last-child{display:flex;justify-content:flex-end}.chart-axis.spread{justify-content:space-between}.chart-axis.spread>span{flex:none}.chart-line{position:relative;height:150px;border-bottom:1px solid var(--hair)}.chart-line svg{width:100%;height:100%;display:block;cursor:crosshair}.chart-y{position:absolute;left:0;font-size:10.5px;color:var(--ink2);background:var(--card);padding:0 4px 0 0;pointer-events:none}.chart-y.top{top:-2px}.chart-y.bottom{bottom:2px}.chart-stroke{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.chart-area{fill:var(--accent);opacity:.12}.chart-zero{stroke:var(--danger);stroke-dasharray:4 4}.chart-cursor,.chart-zero{vector-effect:non-scaling-stroke}.chart-cursor{stroke:var(--ink2);stroke-width:1}.hbars{display:flex;flex-direction:column;gap:10px;padding-top:4px}.hbar-row{display:grid;grid-template-columns:minmax(80px,34%) minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;font-size:14px}.hbar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{height:10px;background:color-mix(in srgb,var(--ink) 7%,transparent);overflow:hidden}.hbar-fill,.hbar-track{border-radius:var(--radius-pill)}.hbar-fill{display:block;height:100%;background:var(--accent)}.hbar-val{font-size:12.5px;color:var(--ink2);min-width:52px;text-align:right}@media (prefers-reduced-motion:reduce){.chart-bar{transition:none}}