:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--bg:#171512;--bg-sunk:#12100e;--surface:#201d19;--surface-2:#29251f;--surface-3:#332e27;--border:#3a342c;--border-strong:#4d463b;--text:#ede8e0;--text-muted:#aaa194;--text-faint:#857c70;--primary:#5ba846;--primary-hover:#6dbb57;--primary-ink:#0d1909;--primary-soft:#5ba84629;--primary-text:#7fcb68;--danger:#c9433f;--danger-hover:#d9534f;--danger-text:#f08a86;--danger-soft:#d9534f26;--warn:#e3a83c;--warn-text:#f0c063;--warn-soft:#e3a83c24;--info:#5d9fd8;--info-text:#8dbde8;--info-soft:#5d9fd826;--good-text:#7fcb68;--good-soft:#5ba84629;--focus:#9be07f;--shadow:0 1px 2px #00000059, 0 8px 24px #00000038;--shadow-lg:0 20px 60px #0000008c;--radius:14px;--radius-sm:9px;--radius-xs:6px;--sidebar-w:248px;--topbar-h:60px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f2ec;--bg-sunk:#ece7df;--surface:#fff;--surface-2:#f7f4ef;--surface-3:#eee9e1;--border:#e2dbd0;--border-strong:#cfc6b8;--text:#221e19;--text-muted:#635b51;--text-faint:#857c70;--primary:#4f9a3b;--primary-hover:#458a33;--primary-ink:#fff;--primary-soft:#4f9a3b21;--primary-text:#367026;--danger:#b8322e;--danger-hover:#a52b28;--danger-text:#a42a26;--danger-soft:#b8322e1a;--warn:#b57a12;--warn-text:#8a5a06;--warn-soft:#d6982829;--info:#2f73b0;--info-text:#255f93;--info-soft:#2f73b01c;--good-text:#2f6a20;--good-soft:#4f9a3b24;--focus:#2f7a1f;--shadow:0 1px 2px #3c2d1914, 0 6px 20px #3c2d1912;--shadow-lg:0 24px 60px #281e0f38}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}ol.steps{color:var(--text-muted);gap:.5rem;padding-left:1.3rem;list-style:decimal;display:grid}a{color:var(--primary-text);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}code,.mono{font-family:var(--mono);font-size:.88em}code{background:var(--surface-3);border-radius:5px;padding:.08em .38em}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--primary-soft)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--primary);color:var(--primary-ink);border-radius:var(--radius-sm);padding:.5rem .9rem;font-weight:600;text-decoration:none;position:absolute;top:-3rem;left:.75rem}.skip-link:focus{top:.75rem}.muted{color:var(--text-muted)}.small{font-size:.84rem}.nowrap{white-space:nowrap}.spacer{flex:auto}.divider{background:var(--border);height:1px;margin:1.25rem 0}.stack{gap:1.25rem;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell{min-height:100dvh}.sidebar{width:var(--sidebar-w);background:var(--bg-sunk);border-right:1px solid var(--border);z-index:40;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{letter-spacing:-.01em;align-items:center;gap:.6rem;padding:1.1rem 1.1rem .9rem;font-size:1.1rem;font-weight:700;display:flex}.brand-name{flex:1}.sidebar-close{display:none}.nav{flex:1;padding:.25rem .7rem 1rem}.nav-group+.nav-group{margin-top:1rem}.nav-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:0 .6rem .35rem;font-size:.7rem;font-weight:700}.nav-link{border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:.7rem;padding:.55rem .65rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--primary-soft);color:var(--text);box-shadow:inset 3px 0 0 var(--primary)}.nav-link.active .icon{color:var(--primary-text)}.nav-badge{background:var(--warn);color:#1d1405;text-align:center;border-radius:999px;min-width:1.4rem;margin-left:auto;padding:0 .4rem;font-size:.75rem;font-weight:700;line-height:1.4rem}.sidebar-foot{border-top:1px solid var(--border);padding:.7rem}.account-link{align-items:center}.account-text{min-width:0;line-height:1.25;display:grid}.account-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.account-role{color:var(--text-faint);font-size:.78rem}.version{color:var(--text-faint);padding:.4rem .65rem 0;font-size:.72rem}.scrim{display:none}.main-col{margin-left:var(--sidebar-w);flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:30;height:var(--topbar-h);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:0 1.5rem;display:flex;position:sticky;top:0}.menu-btn,.topbar-brand{display:none}.topbar-brand{align-items:center;gap:.45rem;font-weight:700}.topbar-spacer{flex:1}.live-pill{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.live-pill .dot{background:var(--text-faint);border-radius:50%;width:.5rem;height:.5rem}.live-on .dot{background:var(--primary);box-shadow:0 0 0 0 var(--primary-soft);animation:2.4s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #5ba8468c}70%{box-shadow:0 0 0 7px #5ba84600}to{box-shadow:0 0 #5ba84600}}.estop{letter-spacing:.01em;border:2px solid #0000;border-radius:999px;align-items:center;gap:.5rem;min-height:42px;padding:0 1.05rem;font-weight:700;transition:background .15s,transform .1s;display:inline-flex}.estop:active:not(:disabled){transform:scale(.97)}.estop-stop{background:var(--danger);color:#fff;box-shadow:0 2px 10px #c9433f59}.estop-stop:hover:not(:disabled){background:var(--danger-hover)}.estop-resume{color:var(--primary-text);border-color:var(--primary);background:0 0}.estop-resume:hover:not(:disabled){background:var(--primary-soft)}.content{outline:none;flex:1;padding:1.75rem 1.5rem 3rem}.banner{margin:0;padding:.75rem 1.5rem;font-size:.93rem;display:block}.banner-danger{background:var(--danger-soft);border-bottom:1px solid color-mix(in srgb, var(--danger) 45%, transparent);color:var(--text)}.banner-warn{background:var(--warn-soft);border:1px solid color-mix(in srgb, var(--warn) 45%, transparent);color:var(--text);border-radius:var(--radius);margin-bottom:1.25rem}.banner-link{flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.95rem 1.2rem;text-decoration:none;display:flex}.banner-link span{color:var(--warn-text);font-weight:600}.banner-link:hover{background:color-mix(in srgb, var(--warn) 22%, transparent)}.page{align-content:start;gap:1.25rem;max-width:1240px;margin:0 auto;display:grid}.page>.banner-warn{margin-bottom:0}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.25rem;display:flex}.page-head h1{letter-spacing:-.02em;font-size:1.65rem;line-height:1.2}.page-desc{color:var(--text-muted);max-width:62ch;margin-top:.3rem}.page-actions{flex-wrap:wrap;gap:.5rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:1.25rem}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.card-titles{min-width:0}.card-title{letter-spacing:-.01em;font-size:1.05rem;font-weight:650}.card-sub{color:var(--text-muted);margin-top:.15rem;font-size:.88rem}.card-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sub-head{margin:1.25rem 0 .6rem;font-size:.95rem;font-weight:650}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.25rem;display:grid}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);min-height:40px;color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:.45rem;padding:0 1rem;font-size:.92rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--text-faint)}.btn:disabled{opacity:.5}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:#0000}.btn-ghost-danger{border-color:color-mix(in srgb, var(--danger) 40%, transparent);color:var(--danger-text);background:0 0}.btn-ghost-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn-selected{background:var(--primary-soft);border-color:var(--primary);color:var(--text)}.btn-sm{border-radius:var(--radius-xs);min-height:32px;padding:0 .7rem;font-size:.84rem}.btn-lg{min-height:46px;padding:0 1.4rem;font-size:1rem}.btn-block{width:100%}.btn-link{color:var(--primary-text);text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.btn-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn-row-wrap{gap:.4rem}.icon-btn{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-muted);background:0 0;border:1px solid #0000;place-items:center;font-size:1.35rem;line-height:1;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon{flex:none}.chip{white-space:nowrap;vertical-align:middle;border:1px solid #0000;border-radius:999px;align-items:center;gap:.3rem;padding:.12rem .55rem;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}.chip-neutral{background:var(--surface-3);color:var(--text-muted)}.chip-good{background:var(--good-soft);color:var(--good-text)}.chip-warn{background:var(--warn-soft);color:var(--warn-text)}.chip-bad{background:var(--danger-soft);color:var(--danger-text)}.chip-info{background:var(--info-soft);color:var(--info-text)}.chip-accent{border-color:color-mix(in srgb, var(--primary) 55%, transparent);color:var(--primary-text);background:0 0}.chip-row{flex-wrap:wrap;gap:.3rem;display:inline-flex}.dot-label{align-items:center;gap:.4rem;display:inline-flex}.dot{border-radius:50%;width:.55rem;height:.55rem;display:inline-block}.dot-on{background:var(--primary)}.dot-off{background:var(--text-faint)}.spinner{border:2.5px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;flex:none;width:1.4rem;height:1.4rem;animation:.8s linear infinite spin;display:inline-block}.spinner-sm{border-width:2px;width:.95rem;height:.95rem}@keyframes spin{to{transform:rotate(360deg)}}.state{text-align:center;color:var(--text-muted);justify-items:center;gap:.5rem;padding:2.25rem 1rem;display:grid}.state-loading{grid-auto-flow:column;justify-content:center;align-items:center;gap:.75rem}.state-loading .spinner{color:var(--primary)}.state-icon{background:var(--surface-2);border-radius:50%;place-items:center;width:4rem;height:4rem;margin-bottom:.25rem;font-size:2.2rem;line-height:1;display:grid}.state-title{color:var(--text);font-size:1.02rem;font-weight:650}.state-text{max-width:46ch;font-size:.92rem}.state-action{margin-top:.5rem}.state-error{text-align:left;border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);background:var(--danger-soft);border-radius:var(--radius-sm);color:var(--text);justify-items:start;padding:1rem 1.1rem}.note{border-radius:var(--radius-sm);padding:.75rem .9rem;font-size:.9rem}.note ul{margin-top:.3rem;padding-left:1.2rem;list-style:outside}.note-warn{background:var(--warn-soft);border:1px solid color-mix(in srgb, var(--warn) 40%, transparent)}.form{gap:1rem;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{border:0;gap:.35rem;min-width:0;margin:0;padding:0;display:grid}.field-end{align-self:end;justify-items:start}.field-label{color:var(--text);flex-wrap:wrap;align-items:center;gap:.15rem;padding:0;font-size:.86rem;font-weight:600;display:inline-flex}.req{color:var(--danger-text)}.hint{color:var(--text-muted);font-size:.8rem;line-height:1.4}.hint-block{margin-top:-.4rem}.input{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-sunk);width:100%;min-height:42px;color:var(--text);padding:.5rem .75rem;transition:border-color .15s,box-shadow .15s}[data-theme=light] .input{background:#fff}.input::placeholder{color:var(--text-faint)}.input:hover:not(:disabled){border-color:var(--text-faint)}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.input:disabled{opacity:.55}.input-sm{min-height:34px;padding:.25rem .5rem;font-size:.88rem}.textarea{resize:vertical;min-height:84px;line-height:1.45}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-repeat:no-repeat;background-size:5px 5px;padding-right:2.2rem}.mono-field .input{font-family:var(--mono)}.code-field .input{font-family:var(--mono);letter-spacing:.4em;text-align:center;min-height:54px;font-size:1.45rem}.form-error{color:var(--danger-text);background:var(--danger-soft);border-radius:var(--radius-xs);padding:.55rem .75rem;font-size:.9rem}.inline-form{align-items:end;gap:.5rem;display:flex}.inline-form .field{flex:1}.modal-actions{flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.5rem;display:flex}.sticky-actions{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:5;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.85rem 1.1rem;display:flex;position:sticky;bottom:0}.safety-form{gap:1.25rem}.safety-form .card{gap:1rem;display:grid}.safety-form .card-head{margin-bottom:0}.toggle-field{gap:.25rem;display:grid;position:relative}.toggle-input{opacity:0;width:1px;height:1px;position:absolute}.toggle-label{cursor:pointer;align-items:center;gap:.7rem;width:fit-content;min-height:32px;font-size:.92rem;font-weight:600;display:inline-flex}.toggle-track{background:var(--surface-3);border:1px solid var(--border-strong);border-radius:999px;flex:none;width:42px;height:24px;transition:background .18s,border-color .18s;position:relative}.toggle-thumb{background:var(--text-muted);border-radius:50%;width:18px;height:18px;transition:transform .18s,background .18s;position:absolute;top:2px;left:2px}.toggle-input:checked+.toggle-label .toggle-track{background:var(--primary);border-color:var(--primary)}.toggle-input:checked+.toggle-label .toggle-thumb{background:#fff;transform:translate(18px)}.toggle-input:focus-visible+.toggle-label .toggle-track{outline:2px solid var(--focus);outline-offset:2px}.toggle-input:disabled+.toggle-label{opacity:.55;cursor:not-allowed}.toggle-field .hint{padding-left:calc(42px + .7rem)}.tags{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-sunk);flex-wrap:wrap;align-items:center;gap:.35rem;min-height:42px;padding:.35rem .45rem;display:flex}[data-theme=light] .tags{background:#fff}.tags:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.tag-list{display:contents}.tag{background:var(--surface-3);border-radius:999px;align-items:center;gap:.15rem;max-width:100%;padding:.1rem .15rem .1rem .55rem;font-size:.84rem;display:inline-flex}.tag span{text-overflow:ellipsis;overflow:hidden}.tag-x{width:22px;height:22px;color:var(--text-muted);background:0 0;border:0;border-radius:50%;place-items:center;font-size:1rem;line-height:1;display:grid}.tag-x:hover{background:var(--danger-soft);color:var(--danger-text)}.tag-input{background:0 0;border:0;outline:none;flex:8rem;min-width:6rem;padding:.25rem .3rem}.segmented-field{min-width:0}.segmented{border-radius:var(--radius-sm);background:var(--bg-sunk);border:1px solid var(--border);gap:2px;width:fit-content;max-width:100%;padding:3px;display:inline-flex}.seg{min-height:34px;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:.35rem;padding:0 .85rem;font-size:.88rem;font-weight:600;display:inline-flex;position:relative}.seg input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg:hover{color:var(--text)}.seg-on{background:var(--surface-3);color:var(--text);box-shadow:0 1px 2px #0003}[data-theme=light] .seg-on{background:#fff}.seg:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.segmented-sm .seg{min-height:28px;padding:0 .6rem;font-size:.8rem}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1rem;display:grid}.check{cursor:pointer;align-items:center;gap:.55rem;min-height:34px;display:flex}.check input{width:18px;height:18px;accent-color:var(--primary)}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:.25rem;display:flex;overflow-x:auto}.tab{color:var(--text-muted);white-space:nowrap;background:0 0;border:0;padding:.65rem .9rem;font-weight:600;position:relative}.tab:hover,.tab-on{color:var(--text)}.tab-on:after{content:"";background:var(--primary);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:.5rem;right:.5rem}.tab-panel{padding-top:1rem}.copy-row{align-items:stretch;gap:.5rem;display:flex}.copy-row .input{font-size:.84rem}.copy-row .btn{min-height:42px}.copy-row-multi{flex-direction:column;align-items:flex-end}.copy-row-multi .input{white-space:pre;resize:vertical;overflow:auto}.modal{border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--surface);width:min(560px,100vw - 1.5rem);max-height:calc(100dvh - 2rem);color:var(--text);box-shadow:var(--shadow-lg);padding:0}.modal-wide{width:min(780px,100vw - 1.5rem)}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a08069e}.modal[open]{animation:.16s ease-out pop}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.985)}}.modal-inner{flex-direction:column;max-height:calc(100dvh - 2rem);display:flex}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1rem .75rem 1.4rem;display:flex}.modal-head h2{letter-spacing:-.01em;font-size:1.12rem}.modal-body{padding:1.25rem 1.4rem;overflow-y:auto}.modal-foot{justify-content:flex-end;gap:.5rem;padding:.85rem 1.4rem 1.1rem;display:flex}.modal-body:has(+.modal-foot){padding-bottom:.5rem}.confirm-body{color:var(--text-muted)}.toasts{z-index:200;pointer-events:none;position:fixed;bottom:1rem;right:1rem}.toasts-inner{justify-items:end;gap:.5rem;display:grid}.toast{pointer-events:auto;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-strong);width:min(400px,100vw - 2rem);box-shadow:var(--shadow-lg);align-items:flex-start;gap:.65rem;padding:.75rem .6rem .75rem .85rem;font-size:.92rem;animation:.2s ease-out toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast-icon{border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:800;display:grid}.toast-success .toast-icon{background:var(--primary);color:var(--primary-ink)}.toast-error{border-color:color-mix(in srgb, var(--danger) 55%, transparent)}.toast-error .toast-icon{background:var(--danger);color:#fff}.toast-info .toast-icon{background:var(--info);color:#fff}.toast-text{overflow-wrap:anywhere;flex:1;padding-top:.05rem}.toast-close{color:var(--text-muted);background:0 0;border:0;border-radius:6px;width:26px;height:26px;font-size:1.1rem;line-height:1}.toast-close:hover{background:var(--surface-3);color:var(--text)}.splash,.auth{background:radial-gradient(900px 500px at 15% -10%, #5ba84624, transparent 60%), radial-gradient(700px 500px at 110% 110%, #9678501f, transparent 60%), var(--bg);align-content:center;place-items:center;gap:1.5rem;min-height:100dvh;padding:1.5rem 1rem;display:grid}.splash-brand,.auth-brand{letter-spacing:-.01em;align-items:center;gap:.6rem;font-size:1.3rem;font-weight:750;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);width:min(440px,100%);box-shadow:var(--shadow-lg);gap:.6rem;padding:2rem 1.75rem;display:grid}.auth-brand{margin-bottom:.75rem}.auth-step{letter-spacing:.06em;text-transform:uppercase;color:var(--primary-text);font-size:.75rem;font-weight:700}.auth-card h1{letter-spacing:-.02em;font-size:1.45rem}.auth-sub{color:var(--text-muted);margin-bottom:.75rem}.auth-foot{text-align:center;color:var(--text-muted);font-size:.86rem}.qr-wrap{place-items:center;display:grid}.qr{box-sizing:content-box;width:240px;height:240px;image-rendering:pixelated;background:#fff;border-radius:12px;padding:10px;display:block}.secret-box{text-align:center;gap:.35rem;display:grid}.secret{letter-spacing:.08em;border-radius:var(--radius-sm);word-break:break-all;-webkit-user-select:all;user-select:all;padding:.6rem;font-size:1rem;display:block}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-content:start;gap:.35rem;min-width:0;padding:1rem 1.1rem;display:grid}.stat-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.stat-label{color:var(--text-muted);font-size:.82rem;font-weight:600}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:700;line-height:1.15}.stat-unit{color:var(--text-muted);letter-spacing:0;font-size:.85rem;font-weight:500}.stat-detail{color:var(--text-muted);overflow-wrap:anywhere;font-size:.8rem}.dash-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.25rem;display:grid}.dash-main,.dash-side{gap:1.25rem;min-width:0;display:grid}.ask-card{border-color:color-mix(in srgb, var(--primary) 30%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 7%, var(--surface)), var(--surface) 60%)}.ask{gap:.85rem;display:grid}.ask-input{min-height:92px;padding:.75rem .9rem;font-size:1.05rem}.ask-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem;display:flex}.ask-row .field-label{color:var(--text-muted);font-size:.78rem}.exchanges{border-top:1px solid var(--border);gap:.9rem;margin-top:1.1rem;padding-top:1.1rem;display:grid}.exchange{gap:.45rem;display:grid}.ex-who{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.15rem;font-size:.74rem;font-weight:700;display:block}.ex-q{color:var(--text-muted)}.ex-a{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius-sm);white-space:pre-wrap;overflow-wrap:anywhere;padding:.7rem .9rem}.ex-blocked{border-left-color:var(--warn)}.ex-error{border-left-color:var(--danger);color:var(--danger-text)}.ex-pending{color:var(--text-muted);border-left-color:var(--border-strong);align-items:center;gap:.5rem;display:flex}.player-list{gap:.35rem;display:grid}.player{align-items:center;gap:.6rem;padding:.4rem .25rem;display:flex}.player-name{text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.avatar{background:var(--primary-soft);width:32px;height:32px;color:var(--primary-text);border-radius:8px;flex:none;place-items:center;font-weight:700;display:grid}.feed-card .card-head{margin-bottom:.5rem}.events{max-height:560px;margin:0 -.5rem;padding:0 .5rem;display:grid;overflow-y:auto}.event{border-bottom:1px solid var(--border);border-radius:6px;grid-template-columns:4.6rem minmax(0,1fr);gap:.75rem;padding:.6rem .5rem;display:grid}.event:last-child{border-bottom:0}.event-time{font-family:var(--mono);color:var(--text-faint);font-variant-numeric:tabular-nums;padding-top:.15rem;font-size:.76rem}.event-summary{overflow-wrap:anywhere;font-size:.92rem}.event-meta{align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.event-warn{background:color-mix(in srgb, var(--warn) 6%, transparent);box-shadow:inset 3px 0 0 var(--warn)}.event-safety{background:var(--danger-soft);box-shadow:inset 3px 0 0 var(--danger)}.event-flag{color:var(--danger-text)}.safety-callout{border:1px solid color-mix(in srgb, var(--danger) 50%, transparent);background:var(--danger-soft);border-radius:var(--radius-sm);margin-bottom:.75rem;padding:.75rem .9rem}.safety-title{color:var(--danger-text);margin-bottom:.3rem;font-weight:700}.safety-callout li{font-size:.9rem}.safety-callout time{font-family:var(--mono);color:var(--text-muted);margin-right:.3rem;font-size:.78rem}.master-detail{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.npc-grid{gap:.6rem;display:grid}.npc-card{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:100%;box-shadow:var(--shadow);align-items:center;gap:.85rem;padding:.85rem .95rem;transition:border-color .15s,background .15s;display:flex}.npc-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.npc-card-on{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary), var(--shadow)}.npc-emoji{background:var(--surface-3);border-radius:12px;flex:none;place-items:center;width:48px;height:48px;font-size:1.65rem;display:grid}.npc-emoji-lg{width:56px;height:56px;font-size:2rem}.npc-info{gap:.1rem;min-width:0;display:grid}.npc-name{font-size:1rem;font-weight:650}.npc-type{color:var(--text-muted);font-size:.82rem}.npc-chips{flex-wrap:wrap;gap:.3rem;margin-top:.3rem;display:flex}.detail-placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius)}.npc-detail{top:calc(var(--topbar-h) + 1rem);position:sticky}.detail-head{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:.75rem;display:flex}.detail-title{flex:1;align-items:center;gap:.8rem;min-width:0;display:flex}.detail-title h2{letter-spacing:-.01em;font-size:1.3rem}.back-btn{display:none}.template-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem;margin-top:1rem;display:grid}.template{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);justify-items:start;gap:.2rem;width:100%;height:100%;padding:.9rem;transition:border-color .15s,transform .1s;display:grid}.template:hover{border-color:var(--primary)}.template:active{transform:scale(.98)}.template-emoji{font-size:1.8rem;line-height:1.2}.template-label{font-weight:650}.template-meta{color:var(--text-muted);font-size:.8rem}.template-blank{background:0 0;border-style:dashed}.chat{gap:.75rem;display:grid}.chat-log{border-radius:var(--radius-sm);background:var(--bg-sunk);border:1px solid var(--border);flex-direction:column;gap:.55rem;min-height:260px;max-height:440px;padding:.9rem;display:flex;overflow-y:auto}.chat-empty{color:var(--text-muted);text-align:center;max-width:34ch;margin:auto;font-size:.92rem}.bubble-row{align-items:flex-end;gap:.45rem;max-width:85%;display:flex}.bubble-me{flex-direction:row-reverse;align-self:flex-end}.bubble-avatar{flex:none;font-size:1.25rem;line-height:1}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;padding:.55rem .8rem;font-size:.94rem}.bubble-npc .bubble{background:var(--surface-3);border-bottom-left-radius:5px}.bubble-me .bubble{background:var(--primary);color:var(--primary-ink);border-bottom-right-radius:5px}.bubble-error{align-self:center}.bubble-error .bubble{background:var(--danger-soft);color:var(--danger-text);font-size:.85rem}.bubble-typing{align-items:center;gap:4px;min-height:2.1rem;display:inline-flex}.bubble-typing span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite blink}.bubble-typing span:nth-child(2){animation-delay:.15s}.bubble-typing span:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.chat-form{gap:.5rem;display:flex}.chat-form .btn{width:48px;min-height:42px;padding:0}.control{gap:.75rem;display:grid}.control .sub-head{margin:.5rem 0 0}.behaviour-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem;display:grid}.memory-list{display:grid}.memory{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;display:flex}.memory:last-child{border-bottom:0}.persona p:first-child{white-space:pre-wrap;margin-bottom:.75rem}.table-card{padding:0;overflow:hidden}.table-card>.card-head{padding:1.25rem 1.25rem 0}.table-card>.state,.table-card>.table-foot,.table-card>.audit-filter{margin:1rem 1.25rem}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.75rem 1rem}.table thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);background:var(--surface-2);white-space:nowrap;font-size:.74rem;font-weight:700}.table tbody tr:last-child>*{border-bottom:0}.table tbody tr:hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.card:not(.table-card) .table th:first-child,.card:not(.table-card) .table td:first-child{padding-left:.25rem}.table .num{text-align:right;font-variant-numeric:tabular-nums}.row-muted{opacity:.6}.row-flag{box-shadow:inset 3px 0 0 var(--warn)}.table-foot{align-items:center}.bar-col{width:28%;vertical-align:middle!important}.bar{background:var(--surface-3);border-radius:999px;min-width:80px;height:10px;display:flex;overflow:hidden}.bar-in{background:var(--primary)}.bar-out{background:#c8a46a}.key{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin:0 .25rem 0 .6rem;display:inline-block}.key-in{background:var(--primary);margin-left:0}.key-out{background:#c8a46a}.usage-total{color:var(--text-muted);margin-bottom:.75rem}.usage-total strong{color:var(--text)}.usage-break{gap:.1rem;display:grid}.audit-detail summary{cursor:pointer;color:var(--text-muted)}.code{border-radius:var(--radius-xs);background:var(--bg-sunk);border:1px solid var(--border);font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;margin:.5rem 0 0;padding:.7rem .85rem;font-size:.8rem;overflow-x:auto}.kv{gap:.5rem;margin:.75rem 0 1rem;display:grid}.kv>div{grid-template-columns:minmax(7rem,40%) minmax(0,1fr);align-items:baseline;gap:.75rem;font-size:.9rem;display:grid}.kv dt{color:var(--text-muted)}.kv dd{overflow-wrap:anywhere}.preview-layout{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);align-items:start;gap:1.25rem;display:grid}.preview-canvas{gap:.4rem;display:grid}.voxel-view{aspect-ratio:4/3;border-radius:var(--radius-sm);border:1px solid var(--border);background:radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, #8fc3e8 22%, var(--surface-2)), var(--bg-sunk));cursor:grab;touch-action:none;width:100%;min-height:280px;max-height:560px;position:relative;overflow:hidden}.voxel-view:active{cursor:grabbing}.voxel-view canvas{width:100%!important;height:100%!important}.voxel-fallback,.voxel-loading{text-align:center;color:var(--text-muted);cursor:default;place-items:center;padding:1rem;display:grid}.preview-side{gap:1rem;display:grid}.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.facts>div{background:var(--surface-2);border-radius:var(--radius-sm);padding:.55rem .7rem}.facts dt{color:var(--text-muted);font-size:.72rem;font-weight:600}.facts dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:700}.legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem .75rem;display:grid}.legend li{align-items:center;gap:.45rem;min-width:0;font-size:.84rem;display:flex}.legend-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.swatch{border:1px solid #0000004d;border-radius:3px;flex:none;width:14px;height:14px}.place-box{border-radius:var(--radius-sm);background:var(--primary-soft);border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);gap:.6rem;padding:.9rem;display:grid}.build-list{display:grid}.build-item{border-bottom:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .5rem;display:flex}.build-item:last-child{border-bottom:0}.build-item-on{background:var(--primary-soft)}.build-main{min-width:0}.build-name{flex-wrap:wrap;align-items:center;gap:.4rem;font-weight:650;display:flex}.approval-list{gap:.6rem;display:grid}.approval{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);justify-content:space-between;gap:1rem;padding:.9rem 1rem;display:flex}.approval-pending{border-color:color-mix(in srgb, var(--warn) 55%, transparent);box-shadow:inset 3px 0 0 var(--warn)}.approval-main{gap:.25rem;min-width:0;display:grid}.approval-title{font-size:.98rem}.approval-input summary{cursor:pointer;overflow-wrap:anywhere}.approval-side{flex:none;align-self:center}.convo-list{display:grid}.convo{border-bottom:1px solid var(--border);justify-items:start;gap:.25rem;padding:.75rem .25rem;display:grid}.convo:last-child{border-bottom:0}.convo-flagged{box-shadow:inset 3px 0 0 var(--danger);padding-left:.85rem}.convo-text{white-space:pre-wrap;overflow-wrap:anywhere}.auto-list,.provider-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem;display:grid}.auto-card,.provider-card{flex-direction:column;gap:.75rem;height:100%;display:flex}.provider-card .btn-row,.auto-card>.btn-row{margin-top:auto}.provider-card .kv{margin:0}.auto-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.auto-prompt{border-radius:var(--radius-sm);background:var(--surface-2);white-space:pre-wrap;padding:.6rem .8rem;font-size:.92rem}.choice{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);min-width:0;margin:0;padding:.9rem 1rem}.choice-legend{padding:0 .3rem;font-weight:650}.choice-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;align-items:end;gap:.75rem;display:grid}.choice-actions{align-items:center;gap:.25rem;display:flex}.choice-actions .btn{min-height:42px}.test-result{border-radius:var(--radius-xs);overflow-wrap:anywhere;margin-top:.6rem;padding:.5rem .7rem;font-size:.88rem}.test-ok{background:var(--good-soft);color:var(--good-text)}.test-bad{background:var(--danger-soft);color:var(--danger-text)}.token-reveal{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--warn) 55%, transparent);background:var(--warn-soft);gap:.75rem;padding:1rem;display:grid}.token-warn strong{color:var(--warn-text)}.audit-filter{max-width:420px}@media (width<=1180px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-side{order:-1}.preview-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=960px){.sidebar{box-shadow:var(--shadow-lg);width:min(300px,86vw);transition:transform .22s;transform:translate(-102%)}.menu-open .sidebar{transform:none}.sidebar-close{display:inline-grid}.scrim{z-index:35;opacity:0;pointer-events:none;background:#0a08068c;border:0;padding:0;transition:opacity .2s;display:block;position:fixed;inset:0}.menu-open .scrim{opacity:1;pointer-events:auto}.main-col{margin-left:0}.topbar{padding:0 .75rem 0 .5rem}.menu-btn,.topbar-brand{display:inline-flex}.content{padding:1.25rem 1rem 3rem}.banner{padding:.7rem 1rem}.two-col,.master-detail{grid-template-columns:minmax(0,1fr)}.master-detail.has-detail .npc-grid,.master-detail:not(.has-detail) .detail-placeholder{display:none}.npc-detail{position:static}.back-btn{justify-content:flex-start;width:100%;display:inline-flex}.npc-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (width<=720px){body{font-size:15.5px}.page-head h1{font-size:1.4rem}.form-grid,.form-grid-3,.check-grid,.facts{grid-template-columns:minmax(0,1fr)}.stats{gap:.6rem}.stat{padding:.85rem}.stat-value{font-size:1.45rem}.card{padding:1rem}.live-text{display:none}.estop{min-height:40px;padding:0 .8rem}.choice-row,.auto-list,.provider-grid{grid-template-columns:minmax(0,1fr)}.approval,.build-item,.memory{flex-direction:column;align-items:stretch}.approval-side{align-self:stretch}.inline-form{flex-direction:column;align-items:stretch}.ask-row{align-items:stretch}.ask-row .btn{width:100%}.toasts{left:1rem;right:1rem}.toasts-inner{justify-items:stretch}.toast{width:100%}.modal-body{padding:1rem}.modal-head{padding-left:1rem}.table thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.table,.table tbody,.table tr,.table td,.table tbody th{width:100%;display:block}.table tr{border-bottom:1px solid var(--border);padding:.6rem 1rem}.table tbody tr:last-child{border-bottom:0}.table td,.table tbody th{border:0;grid-template-columns:7.5rem minmax(0,1fr);gap:.75rem;display:grid;text-align:left!important;padding:.3rem 0!important}.table td:before,.table tbody th:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding-top:.15rem;font-size:.74rem;font-weight:700}.table td.bar-col{display:none}.card:not(.table-card) .table tr{padding-left:0;padding-right:0}}@media (width<=420px){.estop span{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.estop{justify-content:center;width:44px;padding:0}.topbar-brand span{display:none}.stats{grid-template-columns:minmax(0,1fr)}}.quest-list{display:grid}.quest{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem .25rem;display:flex}.quest:last-child{border-bottom:0}.quest-main{gap:.2rem;min-width:0;display:grid}.quest-title{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.quest-desc{overflow-wrap:anywhere}.summary{gap:.75rem;display:grid}.summary-latest{border-radius:var(--radius-sm);background:var(--bg-sunk);border:1px solid var(--border);padding:.75rem .9rem}.summary-day{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.25rem;font-size:.8rem;font-weight:700}.summary-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.94rem}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:.5rem;display:grid}.summary-stats>div{border-radius:var(--radius-xs);background:var(--surface-2);border:1px solid var(--border);padding:.5rem .6rem}.summary-stats dt{color:var(--text-muted);font-size:.75rem}.summary-stats dd{font-size:1.15rem;font-weight:700}.summary-flagged{color:var(--danger-text)}.voice-settings{border:1px solid var(--border);border-radius:var(--radius-sm);gap:.6rem;padding:.9rem;display:grid}.voice-settings legend{padding:0 .3rem}.range-field input[type=range]{width:100%;min-height:32px;accent-color:var(--primary)}.range-field output{font-family:var(--mono);color:var(--text-muted);margin-left:.35rem;font-weight:500}.talk{gap:1rem;width:100%;max-width:760px;margin:0 auto;display:grid}.talk-who{gap:.5rem;min-width:0;display:grid}.talk-choices{scroll-snap-type:x proximity;align-items:center;gap:.5rem;padding:.15rem .15rem .4rem;display:flex;overflow-x:auto}.talk-choice{border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);cursor:pointer;scroll-snap-align:start;text-align:center;flex:none;justify-items:center;gap:.2rem;min-width:6.5rem;max-width:9rem;padding:.65rem .75rem;display:grid;position:relative}.talk-choice input{opacity:0;pointer-events:none;position:absolute}.talk-choice:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.talk-choice-on{border-color:var(--primary);background:var(--primary-soft)}.talk-choice-emoji{font-size:2rem;line-height:1}.talk-choice-name{overflow-wrap:anywhere;font-size:.92rem;font-weight:600}.talk-card{gap:1rem;display:grid}.talk-log{border-radius:var(--radius-sm);background:var(--bg-sunk);border:1px solid var(--border);flex-direction:column;gap:.6rem;min-height:200px;max-height:42vh;padding:.9rem;display:flex;overflow-y:auto}.talk-log .bubble{font-size:1.05rem}.bubble-name{color:var(--text-muted);margin-bottom:.1rem;font-size:.75rem;font-weight:700;display:block}.talk-controls{text-align:center;justify-items:center;gap:.6rem;display:grid}.talk-heard{min-height:1.5em;color:var(--text-muted);overflow-wrap:anywhere;max-width:40ch;font-size:1.05rem;font-style:italic}.talk-btn{border:6px solid color-mix(in srgb, var(--primary) 55%, transparent);background:var(--primary);width:min(56vw,210px);height:min(56vw,210px);color:var(--primary-ink);cursor:pointer;box-shadow:var(--shadow);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;transition:transform .12s,background-color .15s,box-shadow .15s;display:grid}.talk-btn:hover:not(:disabled){background:var(--primary-hover)}.talk-btn:focus-visible{outline:4px solid var(--focus);outline-offset:4px}.talk-btn:disabled{opacity:.45;cursor:not-allowed}.talk-btn-on{background:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:#fff;animation:1.4s ease-out infinite talk-pulse;transform:scale(1.06)}.talk-btn-on:hover:not(:disabled){background:var(--danger-hover)}.talk-btn-speaking{background:var(--info);border-color:color-mix(in srgb, var(--info) 45%, transparent);color:#fff}.talk-btn-icon{pointer-events:none;width:42%;height:42%}@keyframes talk-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--danger) 55%, transparent)}to{box-shadow:0 0 0 26px #0000}}@media (prefers-reduced-motion:reduce){.talk-btn,.talk-btn-on{transition:none;animation:none;transform:none}}.talk-label{align-items:center;gap:.4rem;font-size:1.15rem;font-weight:700;display:inline-flex}.talk-type .input{min-height:48px;font-size:1rem}.talk-type .btn{width:56px;min-height:48px}@media (width<=720px){.talk-log{max-height:36vh}.quest{flex-direction:column}}.sub-head-row{justify-content:space-between;align-items:center;gap:.5rem;margin:1.25rem 0 .6rem;display:flex}.sub-head-row .sub-head{margin:0}.backup-list{margin-top:.5rem;display:grid}.backup{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .1rem;display:flex}.backup:last-child{border-bottom:0}.backup-main{gap:.15rem;min-width:0;display:grid}.backup-name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.backup-desc{color:var(--text-muted);overflow-wrap:anywhere}.restore-steps,.ha-list,.consent-list{gap:.35rem;padding-left:1.2rem;font-size:.92rem;list-style:outside;display:grid}.consent-facts{border-radius:var(--radius-sm);background:var(--bg-sunk);border:1px solid var(--border);gap:.4rem;padding:.75rem .9rem;display:grid}.consent-facts>div{grid-template-columns:8.5rem minmax(0,1fr);align-items:baseline;gap:.5rem;display:grid}.consent-facts dt{color:var(--text-muted);font-size:.8rem}.consent-facts dd{overflow-wrap:anywhere;font-weight:600}.consent-id{overflow-wrap:anywhere;word-break:break-all}.consent-actions{grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.4rem;display:grid}.consent-actions .btn{justify-content:center;min-height:46px}.consent-leaving{color:var(--text-muted);align-items:center;gap:.5rem;display:flex}.map-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1.25rem;display:grid}.map-main,.map-side{gap:.75rem;min-width:0;display:grid}.map-side{gap:1.25rem}.map-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.map-stale{color:var(--warn-text)}.map-stage{position:relative}.map-canvas-wrap{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-sunk);height:min(70vh,680px);min-height:320px;position:relative;overflow:hidden}.map-canvas{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;display:block}.map-canvas:active{cursor:grabbing}.map-canvas:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.map-tip{pointer-events:none;border-radius:var(--radius-xs);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow);white-space:nowrap;padding:.25rem .55rem;font-size:.82rem;font-weight:600;position:absolute;transform:translate(12px,-130%)}.map-compass{border-radius:var(--radius-xs);background:color-mix(in srgb, var(--surface) 80%, transparent);color:var(--text-muted);pointer-events:none;padding:.15rem .45rem;font-size:.74rem;position:absolute;bottom:.5rem;right:.6rem}.map-zoom{gap:.3rem;display:grid;position:absolute;top:.6rem;right:.6rem}.map-zoom .icon-btn{background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow)}.map-minus{font-size:1.3rem;line-height:1}.map-spot{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border-strong);width:min(340px,100% - 1.5rem);max-height:calc(100% - 1.5rem);box-shadow:var(--shadow-lg);gap:.75rem;padding:.85rem .95rem .95rem;display:grid;position:absolute;bottom:.75rem;left:.75rem;overflow-y:auto}.map-spot-head{align-items:center;gap:.5rem;display:flex}.map-spot-title{font-size:1rem;font-family:var(--mono)}.map-spot-here{overflow-wrap:anywhere;margin-top:-.4rem}.map-spot-action{border-top:1px solid var(--border);gap:.5rem;padding-top:.6rem;display:grid}.map-spot-action .btn{justify-self:start}.map-players{gap:.5rem;display:grid}.map-player{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem .6rem;display:flex}.map-player-text{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;display:inline-flex}.map-legend{gap:.45rem;margin-bottom:.6rem;font-size:.9rem;display:grid}.map-legend li{align-items:center;gap:.55rem;display:flex}.map-swatch{border-radius:50%;flex:none;width:14px;height:14px;display:inline-block}.map-swatch-player{box-shadow:0 0 0 2px var(--text);background:#4f9fe8}.map-swatch-npc{background:#b07ce0;border-radius:1px;width:11px;height:11px;margin:0 1.5px;transform:rotate(45deg)}.map-swatch-herd{background:#e3a83c;width:10px;height:10px;margin:0 2px}.map-swatch-creature{background:#9a9184;width:8px;height:8px;margin:0 3px}.map-swatch-build{background:#b07c4a6b;border:1.5px solid #c08a55;border-radius:2px}.map-swatch-zone{border:2px dashed var(--primary-text);border-radius:2px}.map-3d{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-sunk);height:min(75vh,760px);min-height:360px;overflow:hidden}.map-3d iframe{border:0;width:100%;height:100%;display:block}@media (width<=1180px){.map-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.map-canvas-wrap{height:62vh;min-height:280px}.map-spot{width:auto;max-height:none;box-shadow:var(--shadow);margin-top:.75rem;position:static}.backup{flex-direction:column;align-items:stretch}.backup .btn{align-self:flex-start}.consent-facts>div{grid-template-columns:minmax(0,1fr);gap:.1rem}}
