:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f8f7ff;--muted:#9d9ab1;--surface:#11101a;--surface-3:#211e30;--line:#312d43;--pink:#ef4ca6;--purple:#8b5cf6;--green:#57d9a3;--amber:#f6c65b;--red:#ff6b7a;color:var(--ink);background:#09080e;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#09080e}body{min-width:0;margin:0}.legal-shell{color:#f4f5f8;background:#090b12;min-height:100vh;padding:24px}.legal-nav,.legal-content{width:min(760px,100%);margin:0 auto}.legal-nav{flex-wrap:wrap;gap:16px;padding-bottom:24px;display:flex}.legal-content{line-height:1.65}.legal-content a,.legal-nav a{color:#a7c7ff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-color:var(--pink);outline-offset:2px}.app-shell{grid-template-columns:15rem minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#0c0b12;flex-direction:column;gap:2rem;height:100vh;padding:1.4rem 1rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.8rem;padding:0 .45rem;display:flex}.brand-mark{background:linear-gradient(145deg, var(--pink), var(--purple));border-radius:.75rem;place-items:center;width:2.25rem;height:2.25rem;font-weight:800;display:grid;box-shadow:0 8px 30px #ef4ca633}.brand div{display:grid}.brand div span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.sidebar nav{gap:1rem;display:grid}.nav-group{gap:.25rem;display:grid}.nav-group>p{color:#716b82;letter-spacing:.11em;text-transform:uppercase;margin:0 0 .25rem;padding:0 .75rem;font-size:.64rem;font-weight:700}.sidebar nav a,.admin-mobile-drawer nav a{color:#c7c3d6;border-radius:.65rem;align-items:center;padding:.7rem .75rem;display:block}.sidebar nav a:hover,.sidebar nav a:focus-visible{background:var(--surface-3);color:#fff}.sidebar nav a[aria-current=page],.admin-mobile-drawer nav a[aria-current=page]{background:var(--surface-3);color:var(--ink);box-shadow:inset 3px 0 var(--pink)}.admin-mobile-header{display:none}.admin-mobile-dialog{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--ink);overscroll-behavior:contain;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.admin-mobile-dialog::backdrop{background:#0009}.admin-mobile-drawer{overscroll-behavior:contain;border-right:1px solid var(--line);background:#0c0b12;flex-direction:column;gap:1.5rem;width:min(88%,23rem);height:100%;padding:1rem;display:flex;overflow-y:auto}.admin-mobile-drawer-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-mobile-drawer nav,.admin-mobile-drawer .nav-group{gap:.5rem;display:grid}.admin-mobile-header button,.admin-mobile-drawer button,.admin-mobile-drawer nav a{min-height:44px}.sidebar-footer{border-top:1px solid var(--line);margin-top:auto;padding:1rem .45rem 0}.content{min-width:0;padding:2rem clamp(1rem,3vw,3rem) 4rem}.page-header{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1,.login-card h1{letter-spacing:-.035em;margin:.2rem 0 0;font-size:clamp(1.7rem,3vw,2.55rem)}.eyebrow{color:#d78cc1;text-transform:uppercase;letter-spacing:.15em;margin:0;font-size:.7rem;font-weight:700}.muted{color:var(--muted)}.small{font-size:.82rem}.tiny{font-size:.7rem}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.stack,.grid{gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);background:linear-gradient(155deg,#181622,#121019);border-radius:.9rem;min-width:0;padding:1.15rem}.media-library-card,.media-library-card .form-stack{grid-template-columns:minmax(0,1fr)}.media-library-card>*,.media-library-card .form-stack>*{min-width:0;max-width:100%}.media-library-card video{width:100%;display:block}.media-library-card img,.media-library-card video{object-fit:contain;max-width:100%;max-height:32rem}.media-library-card button{white-space:normal;overflow-wrap:anywhere}.media-order-list{gap:1rem;padding:0;list-style:none;display:grid}.media-order-list li{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;min-width:0;display:grid}.media-order-list img,.media-order-list video{object-fit:contain;width:100%;max-height:12rem}@media (max-width:480px){.media-order-list li{grid-template-columns:minmax(0,1fr)}}.card h2,.card h3{margin:0 0 .85rem}.metric strong{letter-spacing:-.04em;font-size:2rem;display:block}.metric span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:.8rem;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:46rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.8rem .9rem}th{color:#8e899e;letter-spacing:.09em;text-transform:uppercase;background:#14121d;font-size:.68rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#ffffff05}.link{color:#f18bc2;text-underline-offset:3px;-webkit-text-decoration:underline #f18bc255;text-decoration:underline #f18bc255}.badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#23202f;border:1px solid #464056;border-radius:999px;align-items:center;padding:.22rem .48rem;font-size:.68rem;display:inline-flex}.badge-active,.badge-approved,.badge-allow,.badge-resolved,.badge-server-authoritative{color:var(--green);background:#57d9a310;border-color:#57d9a344}.badge-inactive,.badge-ended,.badge-dismissed{color:#aaa6ba}.badge-pending-moderation,.badge-in-review,.badge-review,.badge-open,.badge-escalated{color:var(--amber);background:#f6c65b0d;border-color:#f6c65b44}.badge-rejected,.badge-block,.badge-suspended,.badge-failed-before-start,.badge-failed-during-session{color:var(--red);background:#ff6b7a0d;border-color:#ff6b7a44}.button{color:#fff;cursor:pointer;border:1px solid #0000;border-radius:.62rem;justify-content:center;align-items:center;gap:.4rem;padding:.62rem .9rem;display:inline-flex}.button:disabled{opacity:.55;cursor:progress}.button.primary{background:linear-gradient(135deg,#d43c94,#7452df);box-shadow:0 8px 24px #a844b522}.button.danger{background:#4a1d2a;border-color:#7b2e41}.button.quiet{border-color:var(--line);background:#1a1823}.button.full{width:100%}.form-stack label,.filters label{color:#c9c5d5;gap:.4rem;font-size:.82rem;display:grid}.form-stack label>span:first-child{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.form-stack label small{color:var(--muted);line-height:1.45}.field-mark{color:#9d96af;white-space:nowrap;font-size:.68rem;font-weight:500}input,select,textarea{width:100%;color:var(--ink);background:#0d0c12;border:1px solid #3a354b;border-radius:.55rem;padding:.7rem .75rem}textarea{resize:vertical;min-height:7rem}input:focus,select:focus,textarea:focus{border-color:#b24b9e}.form-message{border-radius:.5rem;margin:0;padding:.65rem .75rem;font-size:.82rem}.form-message.error{color:#ff9da7;background:#ff6b7a14}.form-message.success{color:#84e7be;background:#57d9a314}.login-page{background:radial-gradient(circle at 30% 20%,#501b4638,#0000 35%),radial-gradient(circle at 75% 75%,#432b7938,#0000 35%),#09080e;place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{border:1px solid var(--line);background:#11101ae8;border-radius:1.1rem;width:min(29rem,100%);padding:2rem;box-shadow:0 30px 80px #0008}.google-sign-in{place-items:center;min-height:44px;display:grid;overflow:hidden}.empty{text-align:center;color:var(--muted);padding:2.8rem 1rem}.filters{flex-wrap:wrap;align-items:end;gap:.65rem;display:flex}.filters label{flex:1;min-width:11rem}.form-section{border-bottom:1px solid var(--line);gap:1rem;padding:1.1rem 0;display:grid}.form-section:first-of-type{padding-top:0}.form-section h2,.character-preview h2{margin:.15rem 0 0}.section-step{color:#f3b4d7;background:#ef4ca61a;border:1px solid #ef4ca644;border-radius:999px;place-items:center;width:1.55rem;height:1.55rem;margin:0 0 .35rem;font-size:.72rem;font-weight:800;display:grid}.image-placeholder{background:#0d0c12;border:1px dashed #514b66;border-radius:.85rem;align-items:center;gap:1rem;min-height:9rem;padding:1rem;display:flex}.image-placeholder>span,.preview-avatar,.character-thumb{color:#fff;background:linear-gradient(145deg, var(--pink), var(--purple));flex:none;place-items:center;font-weight:800;display:grid}.image-placeholder>span{border-radius:1rem;width:5.5rem;height:5.5rem;font-size:2rem}.character-image-upload{margin-top:1rem}.image-drop-zone{background:#0d0c12;border:1px dashed #514b66;border-radius:.85rem;grid-template-columns:minmax(140px,220px) 1fr;align-items:center;gap:1rem;padding:1rem;display:grid}.character-image-preview,.image-empty-preview{aspect-ratio:1;object-fit:cover;border-radius:.8rem;width:100%;height:auto}.image-empty-preview{background:var(--surface);color:var(--muted);justify-content:center;align-items:center;display:flex}.file-button{cursor:pointer;width:fit-content}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.upload-progress{align-items:center;gap:.75rem;display:flex}.upload-progress progress{max-width:180px}.gallery-upload-zone{background:#0d0c12;border:1px dashed #514b66;border-radius:.85rem;gap:1rem;padding:1rem;display:grid}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.85rem;display:grid}.gallery-card{border:1px solid var(--line);background:#121019;border-radius:.75rem;align-content:start;gap:.6rem;min-width:0;padding:.65rem;display:grid}.gallery-card img{aspect-ratio:1;object-fit:cover;border-radius:.55rem;width:100%}.gallery-card p{margin:0}.gallery-actions{gap:.5rem;display:grid}.gallery-actions .form-stack{gap:.4rem}.gallery-actions .button{width:100%}.character-thumb-image{object-fit:cover}.choice-fieldset,.advanced-fieldset{border:1px solid var(--line);border-radius:.75rem;margin:0;padding:1rem}.choice-fieldset legend,.advanced-fieldset legend{color:#d8d4e3;padding:0 .35rem;font-size:.82rem;font-weight:700}.choice-grid,.preview-chips{flex-wrap:wrap;gap:.5rem;display:flex}.choice-chip{cursor:pointer;background:#121019;border:1px solid #3d384e;border-radius:999px;flex-direction:row;align-items:center;padding:.5rem .65rem;grid-template-columns:none!important;gap:.45rem!important;display:inline-flex!important}.choice-chip:has(input:checked){color:#fff;background:#ef4ca614;border-color:#b24b9e}.choice-chip input{width:auto;margin:0}.advanced-panel{border:1px solid var(--line);background:#100e17;border-radius:.85rem;padding:.9rem 1rem}.advanced-panel summary{cursor:pointer;color:#d2cedd;font-weight:700}.advanced-panel[open] summary{margin-bottom:1rem}.advanced-panel>label,.advanced-panel>.grid,.advanced-panel>fieldset,.advanced-content{margin-top:1rem}.character-preview{background:linear-gradient(135deg,#1d1726,#121019);border:1px solid #3f3853;border-radius:.9rem;grid-template-columns:auto 1fr;align-items:start;gap:1rem;padding:1rem;display:grid}.preview-avatar{border-radius:.9rem;width:4.2rem;height:4.2rem;font-size:1.5rem}.character-preview p{margin:.35rem 0}.preview-chips span{color:#c8c3d5;background:#ffffff0c;border-radius:999px;padding:.2rem .5rem;font-size:.7rem}.state-active{color:var(--green)}.character-list-name{align-items:center;gap:.65rem;display:flex}.character-thumb{border-radius:.65rem;width:2.4rem;height:2.4rem}.character-editor .form-stack>.button.primary{z-index:5;justify-self:end;min-width:13rem;position:sticky;bottom:1rem}.definition{grid-template-columns:minmax(8rem,.35fr) 1fr;gap:.65rem 1rem;margin:0;display:grid}.definition dt{color:var(--muted)}.definition dd{overflow-wrap:anywhere;min-width:0;margin:0}.code-block{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);background:#0b0a10;border-radius:.55rem;padding:.8rem;font-family:ui-monospace,monospace;font-size:.76rem}.loading{min-height:55vh;color:var(--muted);place-items:center;display:grid}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.admin-mobile-header{z-index:20;border-bottom:1px solid var(--line);background:#0c0b12;justify-content:space-between;align-items:center;gap:.75rem;min-height:64px;padding:.6rem 1rem;display:flex;position:sticky;top:0}.grid-4,.grid-3,.grid-2,.character-preview{grid-template-columns:1fr}}@media (max-width:560px){.page-header{flex-direction:column;align-items:stretch}.image-placeholder{flex-direction:column;align-items:flex-start}.image-drop-zone{grid-template-columns:1fr}.character-editor .form-stack>.button.primary{width:100%;min-width:0}}
