:root{color-scheme:dark;--bg:var(--tone-101713);--surface:var(--tone-19231c);--raised:var(--tone-202d23);--border:var(--tone-344335);--text:var(--tone-e5e9dc);--muted:var(--tone-a2b19a);--accent:var(--tone-c0cea6);--gold:var(--tone-c8ad79);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 var(--sans)}button,input,select,textarea{font:inherit}button{cursor:pointer;background:none;border:0;color:inherit}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid var(--tone-98b27c);outline-offset:2px}input,select,textarea{border:1px solid var(--tone-4b5d43);background:var(--tone-101b14);color:var(--tone-e2ebd7);border-radius:5px;padding:11px 12px;width:100%;min-width:0}input::placeholder,textarea::placeholder{color:var(--tone-819176)}textarea{resize:vertical;line-height:1.8}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);padding:0;margin:0;flex-shrink:0}.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:normal}h1{font-size:36px;line-height:1.25;letter-spacing:-.8px}h2{font-size:25px;line-height:1.4}h3{font-size:22px;line-height:1.4}p{overflow-wrap:anywhere}.muted{color:var(--muted);font-size:12px;line-height:1.9}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--tone-aab99c);margin-bottom:12px}.gold{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:41px;padding:10px 16px;font-size:12px;font-weight:550;border:1px solid transparent;border-radius:5px;white-space:nowrap}.btn .icon{width:16px;height:16px}.btn.primary{background:var(--accent);color:var(--tone-1b2818);border-color:var(--accent)}.btn.primary:hover{background:var(--tone-d7e2bf)}.btn.secondary{background:var(--tone-243220);border-color:var(--tone-4d6240);color:var(--tone-d0ddbc)}.btn.secondary:hover{background:var(--tone-35482d)}.btn.full{width:100%}.text-btn{display:inline-flex;gap:8px;align-items:center;padding:4px 0;font-size:11px;color:var(--tone-c1d0a8)}.text-btn:hover{color:var(--tone-f0edce)}.text-btn .icon{width:15px;height:15px}.icon-btn{width:35px;height:35px;border-radius:5px;display:grid;place-items:center;color:var(--tone-b6c5aa)}.icon-btn:hover{background:var(--tone-31412d);color:var(--tone-e4edd8)}.icon-btn .icon{width:18px;height:18px}.icon-btn.danger{color:var(--tone-d5a991)}.button-row{display:flex;gap:10px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:5px;font-size:9px;line-height:1.4;letter-spacing:.2px;padding:4px 7px;background:var(--tone-31382a);color:var(--tone-c3c6ae);border:1px solid var(--tone-46503a);border-radius:4px;white-space:nowrap}.chip .icon{width:11px;height:11px}.chip.shared{background:var(--tone-30432c);border-color:var(--tone-4b6540);color:var(--tone-c9ddb4)}.logo{display:flex;gap:10px;align-items:center;font-family:var(--serif);font-size:35px;letter-spacing:-1px;line-height:1}.logo>.icon{width:34px;height:36px;color:var(--gold);stroke-width:1}.status-dot{width:6px;height:6px;background:var(--tone-b8cd91);border-radius:50%;display:inline-block;box-shadow:0 0 0 3px var(--tone-b8cd9110);flex-shrink:0}.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:50%;border:1px solid var(--tone-5a6e48);background:var(--tone-2c3d28);color:var(--tone-dce5c4);font-family:var(--serif);font-size:13px}.avatar.large{width:59px;height:59px;font-size:22px}.auth-page{min-height:100vh;background:radial-gradient(ellipse at 25% 45%,var(--tone-26382066),transparent 50%)}.auth-header{display:flex;align-items:center;justify-content:space-between;padding:35px 6%;max-width:1480px;margin:auto}.auth-caption{font-size:9px;letter-spacing:3px;color:var(--tone-a9b69a)}.auth-main{max-width:1150px;margin:52px auto 40px;display:grid;grid-template-columns:1fr 420px;align-items:start;gap:95px;padding:0 35px}.auth-intro{position:relative;min-height:530px;padding-top:20px;isolation:isolate}.auth-intro h1{font-size:65px;line-height:1.1;letter-spacing:-2.5px;margin:18px 0 26px}.auth-intro>p:not(.auth-footnote){font-size:14px;color:var(--tone-a6b39d);line-height:1.95;max-width:420px}.auth-features{display:flex;gap:24px;flex-wrap:wrap;margin-top:33px;color:var(--tone-bdcaa9);font-size:10px}.auth-features span{display:flex;align-items:center;gap:7px}.auth-features .icon{width:16px;height:16px}.auth-art{position:absolute;inset:auto 10% 10px auto;width:190px;height:190px;z-index:-1;opacity:.35;display:grid;place-items:center}.auth-art span{position:absolute;inset:15px;border:1px solid var(--tone-a6bd7c);transform:rotate(45deg)}.auth-art i{position:absolute;inset:0;border:1px solid var(--tone-687b50);border-radius:50%}.auth-art:after{content:'';position:absolute;inset:32px;border:1px solid var(--tone-b2c58a);transform:rotate(12deg)}.auth-art b{font-family:var(--serif);font-weight:normal;color:var(--tone-c5d3a6);font-size:90px}.auth-footnote{font-family:var(--serif);font-style:italic;color:var(--tone-9aaa89);font-size:16px;margin-top:65px;max-width:210px}.auth-panel{background:var(--tone-1b261d);border:1px solid var(--tone-3a4a32);border-radius:10px;padding:31px 30px;box-shadow:0 18px 60px var(--tone-0002)}.panel-eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--gold);margin-bottom:11px}.auth-panel h2{font-size:30px;margin-bottom:10px}.auth-panel>.muted{margin-bottom:25px}.role-tabs{display:flex;border:1px solid var(--tone-43563a);background:var(--tone-131e16);border-radius:5px;padding:4px;margin-bottom:25px;gap:3px}.role-tabs button{width:50%;font-size:11px;padding:10px 5px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:3px;color:var(--tone-a1b18e)}.role-tabs .icon{width:16px;height:16px}.role-tabs button.active{background:var(--tone-35472e);color:var(--tone-e2e9d2)}.auth-security{display:flex;gap:7px;font-size:9px;line-height:1.8;color:var(--tone-a4b396);margin:20px 2px 0;align-items:flex-start}.auth-security .icon{width:13px;height:13px;margin-top:2px}.auth-bottom{display:flex;justify-content:space-between;max-width:1250px;margin:60px auto 0;padding:25px 35px;color:var(--tone-899a7d);font-size:9px;letter-spacing:1.6px}.auth-bottom span{letter-spacing:0}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:var(--tone-101b15);border-right:1px solid var(--tone-2c3c2c);padding:31px 20px 20px;display:flex;flex-direction:column;z-index:20}.sidebar .logo{padding:0 10px}.sidebar-caption{font-size:8px;letter-spacing:1.7px;color:var(--tone-9eb18f);margin:15px 0 28px 12px}.table-label{border-top:1px solid var(--tone-34432d);border-bottom:1px solid var(--tone-34432d);padding:16px 11px;display:flex;align-items:center;gap:10px;font-size:11px;color:var(--tone-c5d2b6);margin-bottom:22px;overflow-wrap:anywhere}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav button{display:flex;align-items:center;gap:12px;color:var(--tone-a9b99d);font-size:12px;text-align:left;border-radius:5px;padding:12px 12px}.sidebar nav button.active{background:var(--tone-2a3b29);color:var(--tone-e6ecd6);box-shadow:inset 2px 0 var(--gold)}.sidebar nav button:hover{background:var(--tone-243322)}.sidebar nav button.active>.icon{color:var(--tone-d3bc85)}.sidebar nav small{margin-left:auto;font-size:10px;background:var(--tone-34452d);border-radius:3px;min-width:18px;text-align:center}.sidebar-bottom{margin-top:auto;padding-top:40px}.screen-hint{background:var(--tone-1a281c);border:1px solid var(--tone-35472d);border-radius:6px;padding:16px 13px}.screen-hint>.icon{color:var(--tone-b1c394);width:17px;height:17px}.screen-hint strong{font-family:var(--serif);font-size:16px;line-height:1.5;font-weight:normal;display:block;margin:8px 0;color:var(--tone-d8dfc5)}.screen-hint p{font-size:10px;line-height:1.8;color:var(--tone-a0b08e)}.profile-button{display:flex;align-items:center;gap:10px;width:100%;padding:22px 5px 0;text-align:left}.profile-button>span:nth-child(2){min-width:0;flex:1}.profile-button strong{display:block;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis}.profile-button small{display:block;color:var(--tone-9eb08a);font-size:9px;margin-top:2px}.profile-button>.icon{width:14px;height:14px;color:var(--tone-9aaf84)}.workspace{grid-column:2;min-width:0;background:radial-gradient(ellipse at 80% 0,var(--tone-1d2a1a55),transparent 55%)}.topbar{height:74px;padding:0 38px;border-bottom:1px solid var(--tone-2e3c2b);display:flex;align-items:center;justify-content:space-between;background:var(--tone-131d16);gap:18px}.breadcrumbs{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--tone-9cae8e)}.breadcrumbs>.icon{width:14px;height:14px}.breadcrumbs b{font-weight:500;color:var(--tone-d3ddc5)}.top-actions{display:flex;align-items:center;gap:14px}.role-pill{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--tone-c0cfae);border:1px solid var(--tone-3b4e32);background:var(--tone-21301e);border-radius:4px;padding:4px 8px}.role-pill .icon{width:12px;height:12px}.logout{font-size:10px;display:flex;align-items:center;gap:7px;color:var(--tone-a6b896)}.logout>.icon{width:13px;height:13px}.page-content{padding:34px 38px 25px;max-width:1600px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading h1{font-size:35px;margin-bottom:8px}.page-heading .eyebrow{margin-bottom:9px}.page-heading>.btn{flex-shrink:0}.overview-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(250px,1fr);gap:20px}.panel{background:var(--tone-1b271d);border:1px solid var(--tone-3a4c32);border-radius:7px}.section-label{font-size:9px;letter-spacing:1.4px;display:flex;gap:9px;align-items:center;color:var(--tone-b6c5a4)}.section-label>.icon{width:15px;height:15px}.section-label .chip{margin-left:auto;font-size:8px;letter-spacing:.3px}.section-label>small{margin-left:auto;font-size:10px;letter-spacing:0;color:var(--tone-9fb78d)}.next-session{padding:22px 24px 17px;background:linear-gradient(120deg,var(--tone-263624),var(--tone-1b271c))}.next-content{display:flex;align-items:center;gap:22px;margin:27px 0 24px;min-height:95px}.session-ornament{border:1px solid var(--tone-65764a);transform:rotate(8deg);width:70px;height:76px;display:grid;place-items:center;flex-shrink:0;background:var(--tone-34452b)}.session-ornament .icon{width:41px;height:41px;stroke-width:1;color:var(--tone-d6d5a9);transform:rotate(-8deg)}.next-content h2{font-size:30px;line-height:1.25;margin-bottom:11px;max-width:520px}.next-content p{font-size:12px;line-height:1.8;color:var(--tone-b0c09e);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.next-footer{border-top:1px solid var(--tone-405136);padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:var(--tone-bbcca5)}.next-footer>span{display:flex;align-items:center;gap:7px}.next-footer .icon{width:14px;height:14px}.team-panel{padding:22px 22px}.team-row{display:flex;align-items:center;gap:11px;margin-top:18px}.team-row>div{flex:1}.team-row strong{font-size:11px;font-weight:500;display:block}.team-row small{font-size:10px;color:var(--tone-9cb18a);display:block;margin-top:3px}.team-row .status-dot{width:4px;height:4px}.compact-empty{min-height:165px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:10px;color:var(--tone-a7ba92)}.compact-empty>.icon{width:29px;height:29px;margin-top:15px;color:var(--tone-a7b88f)}.compact-empty p{font-size:11px;line-height:1.85}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0 32px}.stats-row button{border:1px solid var(--tone-34472b);background:var(--tone-17241a);border-radius:5px;display:flex;align-items:center;padding:16px 20px;gap:13px;text-align:left}.stats-row button:hover{background:var(--tone-273623)}.stats-row .icon{width:20px;color:var(--tone-9fb784)}.stats-row strong{font-family:var(--serif);font-size:25px;font-weight:normal;color:var(--tone-e0e5cd)}.stats-row span{font-size:10px;color:var(--tone-acbf98)}.section-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:0 0 17px}.section-heading h2{font-size:25px;margin-bottom:4px}.section-heading p{font-size:11px;color:var(--tone-9db28a)}.record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.record-card{display:block;min-width:0;text-align:left;background:var(--tone-1b281e);border:1px solid var(--tone-3b4e31);border-radius:6px;padding:20px;transition:transform .15s,border-color .15s;position:relative;overflow:hidden}.record-card:hover{border-color:var(--tone-819461);transform:translateY(-2px);background:var(--tone-223121)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.card-symbol{display:grid;place-items:center;width:32px;height:32px;background:var(--tone-30422a);border:1px solid var(--tone-4b613b);border-radius:5px;color:var(--tone-c2d2aa);font-family:var(--serif);font-size:13px}.card-symbol .icon{width:17px;height:17px}.record-card h3{font-size:23px;margin:0 0 8px;overflow-wrap:anywhere}.record-card p{font-size:12px;color:var(--tone-a9bb98);line-height:1.8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:65px;white-space:pre-wrap}.card-bottom{border-top:1px solid var(--tone-3b4d31);margin-top:18px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--tone-a4b98f);gap:8px}.card-bottom .icon{width:14px;height:14px}.record-date{font-size:10px;color:var(--tone-cfbb8b);margin-bottom:10px}.npc-role{font-size:10px;color:var(--tone-c5af7d);margin-bottom:11px}.collection-toolbar{display:flex;justify-content:space-between;gap:14px;margin-bottom:20px}.filters{display:flex;border:1px solid var(--tone-405237);background:var(--tone-16221a);border-radius:5px;padding:3px;gap:2px}.filters button{font-size:10px;padding:7px 11px;border-radius:3px;color:var(--tone-a3b78d)}.filters button.active{background:var(--tone-3a4d2f);color:var(--tone-e5edd4)}.search{position:relative;display:block;min-width:150px}.search .icon{position:absolute;left:12px;top:12px;color:var(--tone-98af81);width:15px;height:15px}.search input{padding:9px 12px 9px 35px;font-size:11px;width:220px;background:var(--tone-17231b)}.empty-state{grid-column:1/-1;border:1px dashed var(--tone-4a6039);background:var(--tone-17231a);border-radius:7px;min-height:235px;padding:35px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state>.icon{color:var(--tone-b2c596);width:28px;height:28px;margin-bottom:15px}.empty-state h3{font-size:25px;color:var(--tone-d5dfc4)}.empty-state p{font-size:12px;color:var(--tone-a7b993);line-height:1.8;max-width:500px;margin:8px 0 18px}.empty-state .btn{font-size:11px}.page-footer{display:flex;justify-content:space-between;gap:15px;font-size:9px;color:var(--tone-91a47e);border-top:1px solid var(--tone-2c3f29);margin-top:35px;padding-top:18px}.page-footer>span:last-child{display:flex;align-items:center;gap:5px}.page-footer .icon{width:11px;height:11px}.player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.player-card{border:1px solid var(--tone-3d5332);background:var(--tone-1b2a1f);border-radius:7px;text-align:left;padding:23px;position:relative}.player-card:hover{background:var(--tone-2c3d28);border-color:var(--tone-7b935e)}.player-card .chip{float:right}.player-card h3{margin-top:20px}.player-card p{color:var(--tone-adc297);font-size:12px;margin-top:4px}.player-card small{display:flex;gap:7px;align-items:center;font-size:10px;color:var(--tone-b7cca0);border-top:1px solid var(--tone-3c5231);padding-top:13px;margin-top:20px}.player-card small .icon{width:13px;height:13px}.inline-info,.migration-banner{display:flex;align-items:flex-start;gap:10px;background:var(--tone-21341f);border:1px solid var(--tone-435e34);color:var(--tone-bcd3a2);font-size:11px;line-height:1.85;border-radius:5px;padding:14px 16px;margin:0 0 23px}.inline-info>.icon,.migration-banner>.icon{width:16px;height:16px;margin-top:2px}.migration-banner{align-items:center}.migration-banner button{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap;color:var(--tone-d9e6b9)}.migration-banner button .icon{width:14px;height:14px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-card{padding:25px}.settings-card h2{font-size:29px;margin:20px 0 11px}.settings-card p{margin-bottom:25px}.settings-card.wide{grid-column:1/-1}.overlay{position:fixed;inset:0;background:var(--tone-050b08c9);backdrop-filter:blur(4px);z-index:50;display:flex;justify-content:flex-end}.drawer{width:550px;max-width:100%;background:var(--tone-18241b);border-left:1px solid var(--tone-435d35);display:flex;flex-direction:column;height:100%;box-shadow:-10px 0 40px var(--tone-0004)}.drawer>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 27px 20px;border-bottom:1px solid var(--tone-3d5231)}.drawer h2{font-size:28px}.drawer .eyebrow{font-size:8px;margin-bottom:6px}.drawer-body{padding:24px 27px;flex:1;overflow:auto;scrollbar-color:var(--tone-617a4c) var(--tone-18241b)}.drawer-footer{border-top:1px solid var(--tone-405b31);background:var(--tone-20301f);padding:17px 27px;display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.drawer-footer .icon-btn.danger{margin-right:auto}.form-error{font-size:11px;color:var(--tone-edb49d);line-height:1.8}.drawer-footer .form-error{width:100%}.form-error:empty{display:none}.field{font-size:11px;color:var(--tone-c0d2ab);display:block;font-weight:500;margin-bottom:20px}.field>input,.field>textarea,.field>select{display:block;margin-top:8px;font-weight:normal;font-size:12px}.visibility-toggle{border:1px solid var(--tone-4b6437);background:var(--tone-263a22);border-radius:5px;display:flex;align-items:center;gap:12px;padding:14px;margin-bottom:22px}.visibility-toggle>span{flex:1}.visibility-toggle strong{font-size:11px;font-weight:500;display:block;color:var(--tone-daebc3)}.visibility-toggle small{display:block;font-size:10px;color:var(--tone-adc797);margin-top:3px}.visibility-toggle>.icon{color:var(--tone-b9d99b);width:18px;height:18px}.checkbox-line{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--tone-bed1a6);margin:15px 0}.field-hint{font-size:10px;line-height:1.8;color:var(--tone-a4bc8c);margin:-7px 0 22px}.secret-label{font-size:9px;letter-spacing:1.3px;display:flex;align-items:center;gap:8px;border-top:1px solid var(--tone-405931);padding-top:23px;margin:25px 0 20px;color:var(--tone-ccb27d)}.secret-label .icon{width:13px;height:13px}.reading-text{font-size:14px;line-height:1.9;white-space:pre-wrap;color:var(--tone-c5d8b2)}.reading-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--tone-c0cfaa);margin:0 0 25px;flex-wrap:wrap}.scene-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:27px 0 15px}.scene-editor-heading h3{font-size:24px}.scene-row{border:1px solid var(--tone-4d683a);border-radius:6px;background:var(--tone-1d2e1d);padding:15px;margin-bottom:12px}.scene-row-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1px;color:var(--tone-b8cfa0);margin-bottom:10px}.scene-row-top>div{display:flex;gap:5px}.scene-row-top button{width:28px;height:28px;background:var(--tone-2f4527);border:1px solid var(--tone-4c6a37);border-radius:3px}.scene-row-top .icon{width:13px;height:13px}.scene-row>input,.scene-row>textarea{font-size:12px;padding:8px 10px;margin-bottom:10px}.scene-row-bottom{display:flex;justify-content:space-between;font-size:10px;color:var(--tone-c1d6a6);gap:10px}.scene-row-bottom label{display:flex;align-items:center;gap:6px}.scene-row-bottom input[type=number]{width:55px;padding:5px;font-size:11px}.empty-scenes{border:1px dashed var(--tone-4f6c38);padding:20px;font-size:11px;color:var(--tone-a9c191);line-height:1.8;text-align:center;border-radius:5px}.confirm-overlay{position:fixed;inset:0;display:grid;place-items:center;z-index:80;background:var(--tone-050b08ce);padding:20px}.confirm-dialog{width:430px;max-width:100%;background:var(--tone-1e301e);border:1px solid var(--tone-58753d);border-radius:9px;padding:27px;box-shadow:0 15px 70px var(--tone-0007)}.confirm-dialog h2{font-size:27px;margin-bottom:13px}.confirm-dialog p{color:var(--tone-b8d09d);font-size:12px;line-height:1.9}.confirm-dialog .button-row{justify-content:flex-end;margin-top:24px}#toast{position:fixed;bottom:24px;left:calc(50% + 90px);transform:translate(-50%,15px);background:var(--tone-c4d7ad);color:var(--tone-1c2c16);border:1px solid var(--tone-e0e8ca);padding:12px 20px;border-radius:6px;font-size:12px;max-width:calc(100% - 30px);opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:120;box-shadow:0 7px 20px var(--tone-0003)}#toast.show{opacity:1;transform:translate(-50%,0)}.loading,.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:30px;text-align:center}.loading{color:var(--tone-c5d5b1)}.error-page h1{font-size:33px}.error-page p{color:var(--tone-b3c69a)}.error-page>.icon{width:35px;height:35px}.spinner{width:25px;height:25px;border:1px solid var(--tone-49613a);border-top-color:var(--tone-c6d7ac);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1550px){.page-content{padding:42px 46px}.page-heading h1{font-size:40px}.record-card p{font-size:13px}.next-content{min-height:120px}.next-content h2{font-size:35px}.next-content p{font-size:13px}.auth-main{margin-top:80px}}
@media(max-width:1150px){.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{width:200px;padding-inline:14px}.sidebar .logo{font-size:32px}.sidebar-caption{font-size:7px;margin-left:10px;letter-spacing:1px}.sidebar nav button{font-size:11px;gap:9px;padding-inline:10px}.page-content{padding:28px 25px}.topbar{padding-inline:25px}.page-heading h1{font-size:30px}.overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(210px,1fr);gap:15px}.next-session{padding:18px}.next-content{gap:16px}.next-content h2{font-size:27px}.session-ornament{width:51px;height:60px}.session-ornament .icon{width:30px;height:30px}.team-panel{padding:18px}.record-grid,.player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-row{gap:10px}.stats-row button{padding:13px;gap:9px}.auth-main{gap:50px;grid-template-columns:1fr 390px}.auth-intro h1{font-size:56px}.auth-panel{padding:28px 24px}.auth-features{gap:15px}.breadcrumbs{font-size:9px;gap:7px}.top-actions{gap:8px}}
@media(max-width:900px){.overview-grid{grid-template-columns:1fr}.team-panel{display:none}.auth-main{margin-top:20px;gap:25px;grid-template-columns:1fr 365px}.auth-intro h1{font-size:47px}.auth-intro>p:not(.auth-footnote){font-size:12px}.auth-features{flex-direction:column;gap:15px}.auth-footnote{margin-top:35px;font-size:15px}.auth-art{width:135px;height:135px;bottom:10px;right:10px}.auth-art b{font-size:60px}.stats-row button{flex-wrap:wrap}.stats-row span{width:100%}.page-heading{gap:10px}.page-heading>.btn{font-size:10px;padding:9px 12px}.role-pill{font-size:9px}.screen-hint{padding:14px 10px}.profile-button{gap:7px}}
@media(max-width:720px){.shell{display:block}.sidebar{position:sticky;top:0;width:100%;height:auto;padding:13px 18px 0;border-right:0;border-bottom:1px solid var(--tone-3a4d31)}.sidebar .logo{padding:0;font-size:27px;gap:7px}.sidebar .logo>.icon{width:25px;height:28px}.sidebar-caption,.table-label,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;gap:5px;overflow:auto;scrollbar-width:none;margin-top:12px}.sidebar nav button{padding:10px 11px;font-size:11px;gap:6px;white-space:nowrap;border-radius:4px 4px 0 0;min-height:40px}.sidebar nav .icon{width:15px;height:15px}.sidebar nav small{display:none}.sidebar nav button.active{box-shadow:inset 0 -2px var(--gold)}.workspace{width:100%}.topbar{height:53px;padding:0 17px;gap:5px}.breadcrumbs{font-size:9px;max-width:44%;white-space:nowrap;overflow:hidden}.breadcrumbs b{display:none}.breadcrumbs .icon{display:none}.top-actions{gap:6px}.role-pill{font-size:8px;gap:4px;padding:4px 6px}.top-actions .icon-btn{width:28px;height:32px}.logout{font-size:9px;gap:4px}.logout .icon{width:11px;height:11px}.page-content{padding:25px 18px 22px}.page-heading{align-items:flex-start;gap:10px;margin-bottom:22px}.page-heading h1{font-size:30px;line-height:1.2;letter-spacing:-.6px;margin-bottom:10px}.page-heading .eyebrow{font-size:7px;letter-spacing:1.5px}.page-heading>.btn{font-size:0;min-width:39px;padding:9px;margin-top:6px}.page-heading>.btn .icon{width:18px;height:18px}.muted{font-size:11px}.overview-grid{display:block}.next-session{padding:19px 17px}.section-label{font-size:8px;letter-spacing:1px}.section-label .chip{font-size:7px;padding:4px}.next-content{gap:13px;margin:25px 0 23px;align-items:flex-start}.next-content h2{font-size:27px;line-height:1.25}.next-content p{font-size:11px;line-height:1.9}.session-ornament{width:43px;height:55px;margin-top:4px}.session-ornament .icon{width:27px;height:27px}.next-footer{font-size:9px;gap:6px;flex-wrap:wrap}.next-footer .text-btn{font-size:10px}.stats-row{gap:8px;margin:15px 0 28px}.stats-row button{padding:12px 10px;gap:9px;justify-content:center;text-align:center}.stats-row .icon{width:17px;height:17px}.stats-row strong{font-size:24px}.stats-row span{font-size:9px;line-height:1.6}.section-heading{align-items:flex-start}.section-heading h2{font-size:25px}.section-heading p{font-size:10px;max-width:230px}.section-heading .text-btn{font-size:0;padding-top:9px}.section-heading .text-btn .icon{width:18px;height:18px}.record-grid,.player-grid{grid-template-columns:1fr}.record-card{padding:20px}.record-card p{font-size:12px}.card-bottom{font-size:10px}.empty-state{min-height:230px;padding:28px 16px}.empty-state h3{font-size:25px}.empty-state p{font-size:11px}.collection-toolbar{flex-direction:column;gap:12px}.filters{width:100%;justify-content:space-between}.filters button{flex:1;padding:9px 6px;font-size:10px;min-height:35px}.search input{width:100%;font-size:12px}.settings-grid{grid-template-columns:1fr;gap:15px}.settings-card.wide{grid-column:auto}.settings-card{padding:22px}.settings-card h2{font-size:27px}.settings-card .btn{font-size:11px}.player-card h3{font-size:26px}.inline-info{font-size:11px;padding:13px}.migration-banner{font-size:10px;flex-wrap:wrap;padding:13px;gap:8px}.migration-banner>span{flex:1}.migration-banner button{margin-left:24px;font-size:10px}.page-footer{font-size:8px;gap:15px;flex-direction:column}.drawer{width:100%;border:0}.drawer>header{padding:21px 20px 17px}.drawer-body{padding:22px 20px}.drawer-footer{padding:16px 20px;gap:8px}.drawer h2{font-size:27px}.field>input,.field>textarea,.field>select{font-size:16px}.field{font-size:12px}.visibility-toggle small{font-size:10px}.visibility-toggle{padding:13px}.drawer-footer .btn{font-size:11px;padding-inline:13px}.reading-text{font-size:14px}.auth-header{padding:25px 23px}.auth-header .logo{font-size:30px}.auth-header .logo>.icon{width:28px;height:31px}.auth-caption{font-size:8px;letter-spacing:2px}.auth-main{display:flex;flex-direction:column;margin:17px auto 0;padding:0 22px;gap:29px;max-width:480px}.auth-intro{min-height:0;padding-top:0}.auth-intro .eyebrow{font-size:7px;letter-spacing:1.5px}.auth-intro h1{font-size:44px;letter-spacing:-1.5px;margin:15px 0 17px}.auth-intro>p:not(.auth-footnote){font-size:12px;max-width:310px}.auth-features,.auth-art,.auth-footnote{display:none}.auth-panel{width:100%;padding:25px 22px}.auth-panel h2{font-size:28px}.auth-panel>.muted{font-size:11px;margin-bottom:24px}.auth-panel .field{font-size:11px}.role-tabs button{font-size:11px;padding:12px 5px}.auth-security{font-size:9px}.auth-bottom{padding:30px 23px;margin:20px 0 0;font-size:7px;letter-spacing:1px}.auth-bottom span{font-size:8px}.confirm-dialog{padding:25px}.confirm-dialog h2{font-size:26px}.confirm-dialog .btn{font-size:11px}.scene-row>input,.scene-row>textarea{font-size:16px}.scene-row-top button{width:34px;height:34px}.scene-row-bottom{font-size:10px}.scene-row-bottom input[type=number]{font-size:16px;width:62px}#toast{left:50%;font-size:11px;bottom:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Character sheets: form controls aligned to the printed slots. */
.sheet-profile-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.sheet-profile-row>label{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--tone-b8caa2)}.sheet-profile-row select{min-width:230px;font-size:12px;padding:10px}.sheet-profile-row small{display:block;font-size:10px;color:var(--tone-a8bd94);margin-top:4px}.sheet-upload{min-height:360px}.sheet-upload-symbol{border:1px solid var(--tone-69864b);border-radius:7px;padding:12px 11px;letter-spacing:1px;color:var(--tone-d1dfb9);margin-bottom:18px;font-size:17px;font-family:var(--serif)}.sheet-upload>small{font-size:10px;color:var(--tone-acbf96);margin-top:18px}.sheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.sheet-mode{display:flex;gap:3px;padding:3px;border:1px solid var(--tone-486438);border-radius:5px;background:var(--tone-16241a)}.sheet-mode button{font-size:11px;padding:9px 14px;border-radius:3px;color:var(--tone-b2c79b)}.sheet-mode button.active{background:var(--tone-3c542f);color:var(--tone-e3edce)}.sheet-actions{display:flex;gap:9px;align-items:center}.sheet-actions .btn{font-size:11px}.sheet-document-info{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;color:var(--tone-acc197);margin-bottom:17px}.sheet-document-info>span:first-child{color:var(--tone-d4dfbc)}.sheet-document-info>span:last-child{margin-left:auto}.sheet-error{font-size:11px;color:var(--tone-edc4a0);background:var(--tone-402f20);border:1px solid var(--tone-84603c);border-radius:5px;padding:12px;margin-bottom:15px;line-height:1.8}.sheet-error[hidden]{display:none}.sheet-error button{display:block;text-decoration:underline;margin-top:7px;color:var(--tone-f1d4ae)}.sheet-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0 23px}.sheet-quick>label{font-size:10px;color:var(--tone-b9cea5);padding:13px 15px;border:1px solid var(--tone-496338);background:var(--tone-21331e);border-radius:5px}.sheet-quick input{margin-top:9px;font-size:24px;line-height:1.2;padding:8px 10px;text-align:center;color:var(--tone-e5efcf);border-color:var(--tone-577442);background:var(--tone-152213);font-family:var(--serif)}.sheet-pdf-options{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;color:var(--tone-adbe96);margin-bottom:12px}.sheet-pdf-options label{display:flex;align-items:center;gap:8px}.sheet-pdf-options select{font-size:10px;min-width:105px;padding:8px}.sheet-viewer{overflow:auto;max-height:calc(100vh - 190px);border:1px solid var(--tone-4c6639);border-radius:6px;background:var(--tone-0c140e);padding:14px;overscroll-behavior:contain;scrollbar-color:var(--tone-6c8b4c) var(--tone-132013)}.sheet-page{position:relative;flex-shrink:0;background:white;margin:0 auto 18px;box-shadow:0 4px 14px var(--tone-0008);color-scheme:light;isolation:isolate}.sheet-page>canvas{display:block;width:100%;height:100%;position:absolute;inset:0}.sheet-overlays{position:absolute;inset:0}.sheet-slot{position:absolute}.sheet-slot input,.sheet-slot textarea,.sheet-slot select{display:block;width:100%;height:100%;font-family:Arial,sans-serif;font-size:clamp(7px,calc(var(--sheet-width)*.0102),22px);line-height:1.15;color:#111;background:transparent;border:1px solid transparent;border-radius:0;outline:0;padding:0 2px;margin:0;min-height:0;box-shadow:none;resize:none;overflow:hidden}.sheet-slot input:hover,.sheet-slot textarea:hover,.sheet-slot select:hover{background:#dff2ff44;border-color:#2e90b466}.sheet-slot input:focus,.sheet-slot textarea:focus,.sheet-slot select:focus{background:#e8f6ffb5;border:1px solid #2275a1;outline:1px solid #2275a1;outline-offset:0;z-index:2}.sheet-slot.numeric input{text-align:center}.sheet-slot input[type=checkbox]{margin:0;width:100%;height:100%;accent-color:#142d35;cursor:pointer}.sheet-sections{display:flex;flex-direction:column;gap:12px}.sheet-sections details{border:1px solid var(--tone-425f31);border-radius:6px;background:var(--tone-1a2b1a);overflow:hidden}.sheet-sections summary{padding:16px 18px;cursor:pointer;font-family:var(--serif);font-size:22px;color:var(--tone-dce7c7);list-style:none;display:flex;justify-content:space-between;align-items:center}.sheet-sections summary:after{content:'+';font-family:var(--sans);font-size:20px;color:var(--tone-b6cd9b)}.sheet-sections details[open]>summary:after{content:'−'}.sheet-sections summary small{font-family:var(--sans);font-size:10px;color:var(--tone-a8c190);margin-left:auto;margin-right:20px}.sheet-field-grid{padding:4px 18px 19px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sheet-field-grid>label{display:block;font-size:10px;color:var(--tone-bdd3a6);min-width:0}.sheet-field-grid input,.sheet-field-grid textarea,.sheet-field-grid select{display:block;margin-top:7px;font-size:13px;padding:10px;background:var(--tone-112011);border-color:var(--tone-4f6c36);min-height:40px}.sheet-field-grid input[type=checkbox]{width:20px;height:20px;min-height:0}.sheet-field-grid>label.multiline{grid-column:span 2}.sheet-loading{padding:50px 20px;text-align:center;color:var(--tone-b9cd9d);font-size:12px}
@media(max-width:1000px){.sheet-quick{gap:8px}.sheet-quick>label{padding:10px}.sheet-toolbar{align-items:flex-start;flex-wrap:wrap}.sheet-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-document-info{font-size:9px}}
@media(max-width:720px){.sheet-profile-row{flex-wrap:wrap;gap:12px}.sheet-profile-row>label{width:100%}.sheet-profile-row select{width:100%;font-size:16px;min-width:0}.sheet-profile-row .chip{font-size:9px}.sheet-toolbar{gap:13px}.sheet-mode{width:100%}.sheet-mode button{width:50%;min-height:40px}.sheet-actions{width:100%}.sheet-actions #sheet-save{margin-left:auto}.sheet-document-info{gap:6px;flex-direction:column;font-size:10px}.sheet-document-info>span:last-child{margin:0}.sheet-quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sheet-quick>label{font-size:10px;padding:12px}.sheet-quick input{font-size:25px;min-height:44px}.sheet-field-grid{grid-template-columns:1fr 1fr;gap:12px;padding:4px 14px 17px}.sheet-field-grid input,.sheet-field-grid textarea,.sheet-field-grid select{font-size:16px}.sheet-field-grid>label{font-size:10px}.sheet-field-grid>label.multiline{grid-column:1/-1}.sheet-sections summary{font-size:22px;padding:16px 14px}.sheet-viewer{max-height:72vh;padding:8px}.sheet-pdf-options{align-items:flex-start;font-size:10px;gap:10px}.sheet-pdf-options>p{max-width:50%}.sheet-pdf-options label{flex-direction:column;align-items:flex-start;gap:5px}.sheet-upload{padding:32px 18px}.sheet-upload h3{font-size:26px}.sheet-upload p{font-size:12px}.sheet-slot input,.sheet-slot textarea,.sheet-slot select{font-size:clamp(7px,calc(var(--sheet-width)*.0102),22px)}}
/* Session music */
.music-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}.music-main,.music-source{padding:28px}.music-main h2,.music-source h2{margin:16px 0 12px;font-size:30px}.music-source form{margin-top:24px}.music-track{color:var(--muted);font-size:12px;margin:8px 0 20px}.music-status-line{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--tone-c5d6b1);margin-bottom:24px}.music-transport{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.music-transport .btn:first-child,.music-transport .btn:last-child{min-width:43px}.music-transport .primary{flex:1}.music-seek{display:flex;align-items:end;gap:10px;margin-bottom:24px}.music-seek label{font-size:10px;display:flex;flex-direction:column;gap:7px;flex:1}.music-seek input{max-width:180px}.music-help{color:var(--muted);font-size:10px;line-height:1.8;margin:15px 0}.music-copy{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:24px}.music-note-art{font-size:95px;color:var(--gold);font-family:Georgia,serif;opacity:.55;text-align:center;padding:20px}.music-join{margin-top:6px}#music-youtube-link[hidden]{display:none}#music-error{margin-top:15px}.music-source .field{display:block}.music-source .field input{display:block;margin-top:8px}.music-source .field+.field{margin-top:18px}.music-source form>.btn{margin-top:22px}
#music-dock{position:fixed;right:18px;bottom:18px;width:360px;max-width:calc(100vw - 24px);z-index:35;background:var(--tone-18261c);border:1px solid var(--tone-59724a);border-radius:8px;box-shadow:0 12px 50px var(--tone-0009);overflow:hidden}.music-dock-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px}.music-dock-heading strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:270px}.music-dock-heading small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.music-video{width:100%;height:202px;background:var(--tone-050806);min-width:200px}.music-video iframe{display:block;width:100%;height:202px;border:0}.music-local-controls{display:flex;align-items:center;gap:9px;padding:12px}.music-local-controls label,.music-local-controls output{font-size:10px;color:var(--tone-c4d5b0)}.music-local-controls .btn{font-size:10px;padding:7px 9px;min-height:36px;min-width:80px}.music-local-controls input{width:100%;min-width:50px;height:20px;padding:0;accent-color:var(--accent);border:0;flex:1}.music-local-controls output{min-width:30px;text-align:right}#music-player-resume{margin:0 12px 12px;width:calc(100% - 24px)}#music-player-resume[hidden]{display:none}#music-player-error{font-size:11px;color:var(--tone-edc4a0);line-height:1.6;padding:0 12px 12px}#music-player-error:empty{display:none}.has-music-player .page-content{padding-bottom:410px}
@media(min-width:1450px){.has-music-player .workspace{padding-right:390px}.has-music-player .page-content{padding-bottom:36px}}
@media(max-width:1100px){.music-grid{grid-template-columns:1fr}.music-main,.music-source{padding:23px}}
@media(max-width:720px){.music-main h2,.music-source h2{font-size:29px}.music-main,.music-source{padding:20px}.music-source input,.music-seek input{font-size:16px}.music-transport .btn{font-size:11px;padding-inline:11px}.music-grid{gap:18px}#music-dock{bottom:10px;right:12px;left:12px;width:auto;max-width:none}.music-dock-heading{padding:8px 12px}.music-local-controls{padding:10px 12px}.music-local-controls label{font-size:9px}.music-dock-heading strong{max-width:calc(100vw - 110px)}}

.auth-art b{font-size:60px;letter-spacing:3px}

/* Theme palettes. Shared layout; PDF paper and ink stay unchanged. */
:root{--tone-0002:#0002;--tone-0003:#0003;--tone-0004:#0004;--tone-0007:#0007;--tone-0008:#0008;--tone-0009:#0009;--tone-050806:#050806;--tone-050b08c9:#050b08c9;--tone-050b08ce:#050b08ce;--tone-0c140e:#0c140e;--tone-101713:#101713;--tone-101b14:#101b14;--tone-101b15:#101b15;--tone-112011:#112011;--tone-131d16:#131d16;--tone-131e16:#131e16;--tone-132013:#132013;--tone-152213:#152213;--tone-16221a:#16221a;--tone-16241a:#16241a;--tone-17231a:#17231a;--tone-17231b:#17231b;--tone-17241a:#17241a;--tone-18241b:#18241b;--tone-18261c:#18261c;--tone-19231c:#19231c;--tone-1a281c:#1a281c;--tone-1a2b1a:#1a2b1a;--tone-1b261d:#1b261d;--tone-1b271c:#1b271c;--tone-1b271d:#1b271d;--tone-1b2818:#1b2818;--tone-1b281e:#1b281e;--tone-1b2a1f:#1b2a1f;--tone-1c2c16:#1c2c16;--tone-1d2a1a55:#1d2a1a55;--tone-1d2e1d:#1d2e1d;--tone-1e301e:#1e301e;--tone-202d23:#202d23;--tone-20301f:#20301f;--tone-21301e:#21301e;--tone-21331e:#21331e;--tone-21341f:#21341f;--tone-223121:#223121;--tone-243220:#243220;--tone-243322:#243322;--tone-263624:#263624;--tone-26382066:#26382066;--tone-263a22:#263a22;--tone-273623:#273623;--tone-2a3b29:#2a3b29;--tone-2c3c2c:#2c3c2c;--tone-2c3d28:#2c3d28;--tone-2c3f29:#2c3f29;--tone-2e3c2b:#2e3c2b;--tone-2f4527:#2f4527;--tone-30422a:#30422a;--tone-30432c:#30432c;--tone-31382a:#31382a;--tone-31412d:#31412d;--tone-34432d:#34432d;--tone-344335:#344335;--tone-34452b:#34452b;--tone-34452d:#34452d;--tone-34472b:#34472b;--tone-35472d:#35472d;--tone-35472e:#35472e;--tone-35482d:#35482d;--tone-3a4a32:#3a4a32;--tone-3a4c32:#3a4c32;--tone-3a4d2f:#3a4d2f;--tone-3a4d31:#3a4d31;--tone-3b4d31:#3b4d31;--tone-3b4e31:#3b4e31;--tone-3b4e32:#3b4e32;--tone-3c5231:#3c5231;--tone-3c542f:#3c542f;--tone-3d5231:#3d5231;--tone-3d5332:#3d5332;--tone-402f20:#402f20;--tone-405136:#405136;--tone-405237:#405237;--tone-405931:#405931;--tone-405b31:#405b31;--tone-425f31:#425f31;--tone-43563a:#43563a;--tone-435d35:#435d35;--tone-435e34:#435e34;--tone-46503a:#46503a;--tone-486438:#486438;--tone-49613a:#49613a;--tone-496338:#496338;--tone-4a6039:#4a6039;--tone-4b5d43:#4b5d43;--tone-4b613b:#4b613b;--tone-4b6437:#4b6437;--tone-4b6540:#4b6540;--tone-4c6639:#4c6639;--tone-4c6a37:#4c6a37;--tone-4d6240:#4d6240;--tone-4d683a:#4d683a;--tone-4f6c36:#4f6c36;--tone-4f6c38:#4f6c38;--tone-577442:#577442;--tone-58753d:#58753d;--tone-59724a:#59724a;--tone-5a6e48:#5a6e48;--tone-617a4c:#617a4c;--tone-65764a:#65764a;--tone-687b50:#687b50;--tone-69864b:#69864b;--tone-6c8b4c:#6c8b4c;--tone-7b935e:#7b935e;--tone-819176:#819176;--tone-819461:#819461;--tone-84603c:#84603c;--tone-899a7d:#899a7d;--tone-91a47e:#91a47e;--tone-98af81:#98af81;--tone-98b27c:#98b27c;--tone-9aaa89:#9aaa89;--tone-9aaf84:#9aaf84;--tone-9cae8e:#9cae8e;--tone-9cb18a:#9cb18a;--tone-9db28a:#9db28a;--tone-9eb08a:#9eb08a;--tone-9eb18f:#9eb18f;--tone-9fb784:#9fb784;--tone-9fb78d:#9fb78d;--tone-a0b08e:#a0b08e;--tone-a1b18e:#a1b18e;--tone-a2b19a:#a2b19a;--tone-a3b78d:#a3b78d;--tone-a4b396:#a4b396;--tone-a4b98f:#a4b98f;--tone-a4bc8c:#a4bc8c;--tone-a6b39d:#a6b39d;--tone-a6b896:#a6b896;--tone-a6bd7c:#a6bd7c;--tone-a7b88f:#a7b88f;--tone-a7b993:#a7b993;--tone-a7ba92:#a7ba92;--tone-a8bd94:#a8bd94;--tone-a8c190:#a8c190;--tone-a9b69a:#a9b69a;--tone-a9b99d:#a9b99d;--tone-a9bb98:#a9bb98;--tone-a9c191:#a9c191;--tone-aab99c:#aab99c;--tone-acbf96:#acbf96;--tone-acbf98:#acbf98;--tone-acc197:#acc197;--tone-adbe96:#adbe96;--tone-adc297:#adc297;--tone-adc797:#adc797;--tone-b0c09e:#b0c09e;--tone-b1c394:#b1c394;--tone-b2c58a:#b2c58a;--tone-b2c596:#b2c596;--tone-b2c79b:#b2c79b;--tone-b3c69a:#b3c69a;--tone-b6c5a4:#b6c5a4;--tone-b6c5aa:#b6c5aa;--tone-b6cd9b:#b6cd9b;--tone-b7cca0:#b7cca0;--tone-b8caa2:#b8caa2;--tone-b8cd91:#b8cd91;--tone-b8cd9110:#b8cd9110;--tone-b8cfa0:#b8cfa0;--tone-b8d09d:#b8d09d;--tone-b9cd9d:#b9cd9d;--tone-b9cea5:#b9cea5;--tone-b9d99b:#b9d99b;--tone-bbcca5:#bbcca5;--tone-bcd3a2:#bcd3a2;--tone-bdcaa9:#bdcaa9;--tone-bdd3a6:#bdd3a6;--tone-bed1a6:#bed1a6;--tone-c0cea6:#c0cea6;--tone-c0cfaa:#c0cfaa;--tone-c0cfae:#c0cfae;--tone-c0d2ab:#c0d2ab;--tone-c1d0a8:#c1d0a8;--tone-c1d6a6:#c1d6a6;--tone-c2d2aa:#c2d2aa;--tone-c3c6ae:#c3c6ae;--tone-c4d5b0:#c4d5b0;--tone-c4d7ad:#c4d7ad;--tone-c5af7d:#c5af7d;--tone-c5d2b6:#c5d2b6;--tone-c5d3a6:#c5d3a6;--tone-c5d5b1:#c5d5b1;--tone-c5d6b1:#c5d6b1;--tone-c5d8b2:#c5d8b2;--tone-c6d7ac:#c6d7ac;--tone-c8ad79:#c8ad79;--tone-c9ddb4:#c9ddb4;--tone-ccb27d:#ccb27d;--tone-cfbb8b:#cfbb8b;--tone-d0ddbc:#d0ddbc;--tone-d1dfb9:#d1dfb9;--tone-d3bc85:#d3bc85;--tone-d3ddc5:#d3ddc5;--tone-d4dfbc:#d4dfbc;--tone-d5a991:#d5a991;--tone-d5dfc4:#d5dfc4;--tone-d6d5a9:#d6d5a9;--tone-d7e2bf:#d7e2bf;--tone-d8dfc5:#d8dfc5;--tone-d9e6b9:#d9e6b9;--tone-daebc3:#daebc3;--tone-dce5c4:#dce5c4;--tone-dce7c7:#dce7c7;--tone-e0e5cd:#e0e5cd;--tone-e0e8ca:#e0e8ca;--tone-e2e9d2:#e2e9d2;--tone-e2ebd7:#e2ebd7;--tone-e3edce:#e3edce;--tone-e4edd8:#e4edd8;--tone-e5e9dc:#e5e9dc;--tone-e5edd4:#e5edd4;--tone-e5efcf:#e5efcf;--tone-e6ecd6:#e6ecd6;--tone-edb49d:#edb49d;--tone-edc4a0:#edc4a0;--tone-f0edce:#f0edce;--tone-f1d4ae:#f1d4ae;}
:root[data-theme="black"]{--tone-0002:#00000022;--tone-0003:#00000033;--tone-0004:#00000044;--tone-0007:#00000077;--tone-0008:#00000088;--tone-0009:#00000099;--tone-050806:#020202;--tone-050b08c9:#040404c9;--tone-050b08ce:#040404ce;--tone-0c140e:#0b0b0b;--tone-101713:#0e0e0e;--tone-101b14:#111111;--tone-101b15:#111111;--tone-112011:#131313;--tone-131d16:#131313;--tone-131e16:#131313;--tone-132013:#141414;--tone-152213:#161616;--tone-16221a:#171717;--tone-16241a:#181818;--tone-17231a:#171717;--tone-17231b:#171717;--tone-17241a:#181818;--tone-18241b:#181818;--tone-18261c:#191919;--tone-19231c:#181818;--tone-1a281c:#1b1b1b;--tone-1a2b1a:#1c1c1c;--tone-1b261d:#1a1a1a;--tone-1b271c:#1b1b1b;--tone-1b271d:#1b1b1b;--tone-1b2818:#1b1b1b;--tone-1b281e:#1b1b1b;--tone-1b2a1f:#1d1d1d;--tone-1c2c16:#1d1d1d;--tone-1d2a1a55:#1d1d1d55;--tone-1d2e1d:#1f1f1f;--tone-1e301e:#212121;--tone-202d23:#202020;--tone-20301f:#212121;--tone-21301e:#212121;--tone-21331e:#232323;--tone-21341f:#242424;--tone-223121:#222222;--tone-243220:#232323;--tone-243322:#242424;--tone-263624:#262626;--tone-26382066:#27272766;--tone-263a22:#282828;--tone-273623:#272727;--tone-2a3b29:#2b2b2b;--tone-2c3c2c:#2c2c2c;--tone-2c3d28:#2c2c2c;--tone-2c3f29:#2d2d2d;--tone-2e3c2b:#2c2c2c;--tone-2f4527:#313131;--tone-30422a:#303030;--tone-30432c:#313131;--tone-31382a:#2b2b2b;--tone-31412d:#303030;--tone-34432d:#323232;--tone-344335:#333333;--tone-34452b:#333333;--tone-34452d:#333333;--tone-34472b:#343434;--tone-35472d:#343434;--tone-35472e:#343434;--tone-35482d:#353535;--tone-3a4a32:#383838;--tone-3a4c32:#393939;--tone-3a4d2f:#393939;--tone-3a4d31:#393939;--tone-3b4d31:#3a3a3a;--tone-3b4e31:#3a3a3a;--tone-3b4e32:#3a3a3a;--tone-3c5231:#3c3c3c;--tone-3c542f:#3d3d3d;--tone-3d5231:#3d3d3d;--tone-3d5332:#3d3d3d;--tone-402f20:#292929;--tone-405136:#3e3e3e;--tone-405237:#3e3e3e;--tone-405931:#414141;--tone-405b31:#424242;--tone-425f31:#454545;--tone-43563a:#414141;--tone-435d35:#454545;--tone-435e34:#454545;--tone-46503a:#3f3f3f;--tone-486438:#4a4a4a;--tone-49613a:#494949;--tone-496338:#4a4a4a;--tone-4a6039:#484848;--tone-4b5d43:#484848;--tone-4b613b:#494949;--tone-4b6437:#4b4b4b;--tone-4b6540:#4c4c4c;--tone-4c6639:#4c4c4c;--tone-4c6a37:#4e4e4e;--tone-4d6240:#4b4b4b;--tone-4d683a:#4e4e4e;--tone-4f6c36:#505050;--tone-4f6c38:#505050;--tone-577442:#575757;--tone-58753d:#585858;--tone-59724a:#585858;--tone-5a6e48:#565656;--tone-617a4c:#5e5e5e;--tone-65764a:#5d5d5d;--tone-687b50:#616161;--tone-69864b:#676767;--tone-6c8b4c:#6a6a6a;--tone-7b935e:#747474;--tone-819176:#777777;--tone-819461:#777777;--tone-84603c:#585858;--tone-899a7d:#7f7f7f;--tone-91a47e:#878787;--tone-98af81:#8f8f8f;--tone-98b27c:#909090;--tone-9aaa89:#8d8d8d;--tone-9aaf84:#8f8f8f;--tone-9cae8e:#909090;--tone-9cb18a:#929292;--tone-9db28a:#929292;--tone-9eb08a:#929292;--tone-9eb18f:#939393;--tone-9fb784:#959595;--tone-9fb78d:#969696;--tone-a0b08e:#939393;--tone-a1b18e:#939393;--tone-a2b19a:#959595;--tone-a3b78d:#979797;--tone-a4b396:#969696;--tone-a4b98f:#999999;--tone-a4bc8c:#9a9a9a;--tone-a6b39d:#979797;--tone-a6b896:#999999;--tone-a6bd7c:#999999;--tone-a7b88f:#999999;--tone-a7b993:#9a9a9a;--tone-a7ba92:#9a9a9a;--tone-a8bd94:#9c9c9c;--tone-a8c190:#9e9e9e;--tone-a9b69a:#999999;--tone-a9b99d:#9b9b9b;--tone-a9bb98:#9c9c9c;--tone-a9c191:#9e9e9e;--tone-aab99c:#9b9b9b;--tone-acbf96:#9f9f9f;--tone-acbf98:#9f9f9f;--tone-acc197:#a0a0a0;--tone-adbe96:#9e9e9e;--tone-adc297:#a1a1a1;--tone-adc797:#a3a3a3;--tone-b0c09e:#a1a1a1;--tone-b1c394:#a2a2a2;--tone-b2c58a:#a2a2a2;--tone-b2c596:#a3a3a3;--tone-b2c79b:#a5a5a5;--tone-b3c69a:#a5a5a5;--tone-b6c5a4:#a6a6a6;--tone-b6c5aa:#a6a6a6;--tone-b6cd9b:#a9a9a9;--tone-b7cca0:#a9a9a9;--tone-b8caa2:#a9a9a9;--tone-b8cd91:#a9a9a9;--tone-b8cd9110:#a9a9a910;--tone-b8cfa0:#ababab;--tone-b8d09d:#acacac;--tone-b9cd9d:#aaaaaa;--tone-b9cea5:#acacac;--tone-b9d99b:#b0b0b0;--tone-bbcca5:#ababab;--tone-bcd3a2:#afafaf;--tone-bdcaa9:#ababab;--tone-bdd3a6:#afafaf;--tone-bed1a6:#afafaf;--tone-c0cea6:#aeaeae;--tone-c0cfaa:#aeaeae;--tone-c0cfae:#afafaf;--tone-c0d2ab:#b0b0b0;--tone-c1d0a8:#afafaf;--tone-c1d6a6:#b2b2b2;--tone-c2d2aa:#b1b1b1;--tone-c3c6ae:#ababab;--tone-c4d5b0:#b3b3b3;--tone-c4d7ad:#b4b4b4;--tone-c5af7d:#9a9a9a;--tone-c5d2b6:#b3b3b3;--tone-c5d3a6:#b2b2b2;--tone-c5d5b1:#b4b4b4;--tone-c5d6b1:#b4b4b4;--tone-c5d8b2:#b5b5b5;--tone-c6d7ac:#b5b5b5;--tone-c8ad79:#9a9a9a;--tone-c9ddb4:#b9b9b9;--tone-ccb27d:#9e9e9e;--tone-cfbb8b:#a5a5a5;--tone-d0ddbc:#bcbcbc;--tone-d1dfb9:#bdbdbd;--tone-d3bc85:#a6a6a6;--tone-d3ddc5:#bebebe;--tone-d4dfbc:#bebebe;--tone-d5a991:#9d9d9d;--tone-d5dfc4:#bfbfbf;--tone-d6d5a9:#b7b7b7;--tone-d7e2bf:#c1c1c1;--tone-d8dfc5:#c0c0c0;--tone-d9e6b9:#c3c3c3;--tone-daebc3:#c7c7c7;--tone-dce5c4:#c4c4c4;--tone-dce7c7:#c6c6c6;--tone-e0e5cd:#c6c6c6;--tone-e0e8ca:#c8c8c8;--tone-e2e9d2:#c9c9c9;--tone-e2ebd7:#cbcbcb;--tone-e3edce:#cbcbcb;--tone-e4edd8:#cdcdcd;--tone-e5e9dc:#cbcbcb;--tone-e5edd4:#cdcdcd;--tone-e5efcf:#cdcdcd;--tone-e6ecd6:#cdcdcd;--tone-edb49d:#ababab;--tone-edc4a0:#b4b4b4;--tone-f0edce:#cfcfcf;--tone-f1d4ae:#bfbfbf;--bg:#080808;--surface:#121212;--raised:#1e1e1e;--border:#3d3d3d;--text:#f1f1f1;--muted:#b0b0b0;--accent:#e0e0e0;--gold:#cecece;color-scheme:dark;}
:root[data-theme="white"]{--tone-0002:#ffffff22;--tone-0003:#ffffff33;--tone-0004:#ffffff44;--tone-0007:#ffffff77;--tone-0008:#ffffff88;--tone-0009:#ffffff99;--tone-050806:#ffffff;--tone-050b08c9:#ffffffc9;--tone-050b08ce:#ffffffce;--tone-0c140e:#fbfbfb;--tone-101713:#f7f7f7;--tone-101b14:#f4f4f4;--tone-101b15:#f4f4f4;--tone-112011:#f1f1f1;--tone-131d16:#f2f2f2;--tone-131e16:#f1f1f1;--tone-132013:#f0f0f0;--tone-152213:#eeeeee;--tone-16221a:#ededed;--tone-16241a:#ebebeb;--tone-17231a:#ececec;--tone-17231b:#ececec;--tone-17241a:#ebebeb;--tone-18241b:#ebebeb;--tone-18261c:#e9e9e9;--tone-19231c:#ebebeb;--tone-1a281c:#e7e7e7;--tone-1a2b1a:#e5e5e5;--tone-1b261d:#e8e8e8;--tone-1b271c:#e7e7e7;--tone-1b271d:#e7e7e7;--tone-1b2818:#e7e7e7;--tone-1b281e:#e6e6e6;--tone-1b2a1f:#e5e5e5;--tone-1c2c16:#e4e4e4;--tone-1d2a1a55:#e5e5e555;--tone-1d2e1d:#e2e2e2;--tone-1e301e:#e0e0e0;--tone-202d23:#e1e1e1;--tone-20301f:#dfdfdf;--tone-21301e:#dfdfdf;--tone-21331e:#dddddd;--tone-21341f:#dcdcdc;--tone-223121:#dddddd;--tone-243220:#dcdcdc;--tone-243322:#dbdbdb;--tone-263624:#d8d8d8;--tone-26382066:#d7d7d766;--tone-263a22:#d6d6d6;--tone-273623:#d8d8d8;--tone-2a3b29:#d3d3d3;--tone-2c3c2c:#d1d1d1;--tone-2c3d28:#d1d1d1;--tone-2c3f29:#cfcfcf;--tone-2e3c2b:#d1d1d1;--tone-2f4527:#cbcbcb;--tone-30422a:#cccccc;--tone-30432c:#cbcbcb;--tone-31382a:#d2d2d2;--tone-31412d:#cccccc;--tone-34432d:#c9c9c9;--tone-344335:#c8c8c8;--tone-34452b:#c8c8c8;--tone-34452d:#c8c8c8;--tone-34472b:#c7c7c7;--tone-35472d:#c6c6c6;--tone-35472e:#c6c6c6;--tone-35482d:#c6c6c6;--tone-3a4a32:#c2c2c2;--tone-3a4c32:#c1c1c1;--tone-3a4d2f:#c0c0c0;--tone-3a4d31:#c0c0c0;--tone-3b4d31:#c0c0c0;--tone-3b4e31:#bfbfbf;--tone-3b4e32:#bfbfbf;--tone-3c5231:#bcbcbc;--tone-3c542f:#bbbbbb;--tone-3d5231:#bcbcbc;--tone-3d5332:#bbbbbb;--tone-402f20:#d5d5d5;--tone-405136:#bbbbbb;--tone-405237:#bababa;--tone-405931:#b6b6b6;--tone-405b31:#b4b4b4;--tone-425f31:#b1b1b1;--tone-43563a:#b6b6b6;--tone-435d35:#b1b1b1;--tone-435e34:#b1b1b1;--tone-46503a:#b9b9b9;--tone-486438:#ababab;--tone-49613a:#acacac;--tone-496338:#ababab;--tone-4a6039:#acacac;--tone-4b5d43:#adadad;--tone-4b613b:#ababab;--tone-4b6437:#aaaaaa;--tone-4b6540:#a8a8a8;--tone-4c6639:#a8a8a8;--tone-4c6a37:#a5a5a5;--tone-4d6240:#a9a9a9;--tone-4d683a:#a6a6a6;--tone-4f6c36:#a3a3a3;--tone-4f6c38:#a3a3a3;--tone-577442:#999999;--tone-58753d:#999999;--tone-59724a:#999999;--tone-5a6e48:#9b9b9b;--tone-617a4c:#909090;--tone-65764a:#929292;--tone-687b50:#8d8d8d;--tone-69864b:#858585;--tone-6c8b4c:#818181;--tone-7b935e:#747474;--tone-819176:#707070;--tone-819461:#717171;--tone-84603c:#989898;--tone-899a7d:#666666;--tone-91a47e:#5c5c5c;--tone-98af81:#525252;--tone-98b27c:#515151;--tone-9aaa89:#545454;--tone-9aaf84:#515151;--tone-9cae8e:#505050;--tone-9cb18a:#4e4e4e;--tone-9db28a:#4d4d4d;--tone-9eb08a:#4e4e4e;--tone-9eb18f:#4d4d4d;--tone-9fb784:#4a4a4a;--tone-9fb78d:#494949;--tone-a0b08e:#4d4d4d;--tone-a1b18e:#4c4c4c;--tone-a2b19a:#4a4a4a;--tone-a3b78d:#474747;--tone-a4b396:#484848;--tone-a4b98f:#454545;--tone-a4bc8c:#444444;--tone-a6b39d:#474747;--tone-a6b896:#444444;--tone-a6bd7c:#444444;--tone-a7b88f:#454545;--tone-a7b993:#444444;--tone-a7ba92:#434343;--tone-a8bd94:#404040;--tone-a8c190:#3e3e3e;--tone-a9b69a:#444444;--tone-a9b99d:#424242;--tone-a9bb98:#414141;--tone-a9c191:#3e3e3e;--tone-aab99c:#414141;--tone-acbf96:#3d3d3d;--tone-acbf98:#3d3d3d;--tone-acc197:#3c3c3c;--tone-adbe96:#3e3e3e;--tone-adc297:#3b3b3b;--tone-adc797:#383838;--tone-b0c09e:#3a3a3a;--tone-b1c394:#393939;--tone-b2c58a:#393939;--tone-b2c596:#373737;--tone-b2c79b:#353535;--tone-b3c69a:#363636;--tone-b6c5a4:#343434;--tone-b6c5aa:#333333;--tone-b6cd9b:#303030;--tone-b7cca0:#2f2f2f;--tone-b8caa2:#303030;--tone-b8cd91:#303030;--tone-b8cd9110:#30303010;--tone-b8cfa0:#2d2d2d;--tone-b8d09d:#2d2d2d;--tone-b9cd9d:#2e2e2e;--tone-b9cea5:#2d2d2d;--tone-b9d99b:#272727;--tone-bbcca5:#2d2d2d;--tone-bcd3a2:#292929;--tone-bdcaa9:#2e2e2e;--tone-bdd3a6:#282828;--tone-bed1a6:#292929;--tone-c0cea6:#2a2a2a;--tone-c0cfaa:#292929;--tone-c0cfae:#282828;--tone-c0d2ab:#272727;--tone-c1d0a8:#282828;--tone-c1d6a6:#242424;--tone-c2d2aa:#262626;--tone-c3c6ae:#2e2e2e;--tone-c4d5b0:#232323;--tone-c4d7ad:#222222;--tone-c5af7d:#434343;--tone-c5d2b6:#242424;--tone-c5d3a6:#252525;--tone-c5d5b1:#222222;--tone-c5d6b1:#222222;--tone-c5d8b2:#202020;--tone-c6d7ac:#212121;--tone-c8ad79:#444444;--tone-c9ddb4:#1b1b1b;--tone-ccb27d:#3f3f3f;--tone-cfbb8b:#353535;--tone-d0ddbc:#181818;--tone-d1dfb9:#161616;--tone-d3bc85:#343434;--tone-d3ddc5:#151515;--tone-d4dfbc:#151515;--tone-d5a991:#3f3f3f;--tone-d5dfc4:#131313;--tone-d6d5a9:#1d1d1d;--tone-d7e2bf:#111111;--tone-d8dfc5:#121212;--tone-d9e6b9:#0f0f0f;--tone-daebc3:#0a0a0a;--tone-dce5c4:#0d0d0d;--tone-dce7c7:#0b0b0b;--tone-e0e5cd:#0a0a0a;--tone-e0e8ca:#090909;--tone-e2e9d2:#060606;--tone-e2ebd7:#040404;--tone-e3edce:#040404;--tone-e4edd8:#020202;--tone-e5e9dc:#040404;--tone-e5edd4:#020202;--tone-e5efcf:#010101;--tone-e6ecd6:#020202;--tone-edb49d:#2d2d2d;--tone-edc4a0:#222222;--tone-f0edce:#000000;--tone-f1d4ae:#141414;--bg:#f6f7f9;--surface:#ffffff;--raised:#eef0f3;--border:#c5c9d0;--text:#17191d;--muted:#555c66;--accent:#242830;--gold:#4b5563;color-scheme:light;}

.theme-control{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted)}
.theme-control>span{display:flex;gap:5px;align-items:center}.theme-control .icon{width:14px;height:14px}
.theme-control select{width:auto;min-width:85px;padding:7px 9px;font-size:11px;min-height:36px}
.auth-tools{display:flex;align-items:center;gap:24px}
.campaign-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px;padding:16px 18px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}
.campaign-bar>label{min-width:0;flex:1;display:flex;flex-direction:column;gap:6px}
.campaign-bar>label>span{font-size:9px;letter-spacing:1.5px;color:var(--muted)}
.campaign-bar select{max-width:420px;font-size:14px}.campaign-bar strong{font-size:17px;overflow-wrap:anywhere}
.campaign-card{padding:24px;display:flex;flex-direction:column;align-items:start;gap:16px;min-width:0}.campaign-card h2{overflow-wrap:anywhere}.campaign-card .button-row{margin-top:auto;padding-top:10px}
[data-theme="black"] .btn.primary{color:#111}[data-theme="white"] .btn.primary{color:#fff}
[data-theme="white"] .auth-panel,[data-theme="white"] .panel,[data-theme="white"] .record-card,[data-theme="white"] .player-card,[data-theme="white"] .drawer,[data-theme="white"] .confirm-dialog{background:#fff}
[data-theme="white"] .form-error,[data-theme="white"] .danger{color:#a52a25}
[data-theme="white"] #music-dock{box-shadow:0 8px 32px #0002}
[data-theme="white"] .sheet-page{box-shadow:0 4px 14px #0003}
[data-theme="white"] .sheet-viewer{background:#dce0e5}
[data-theme="white"] .confirm-overlay,[data-theme="white"] .overlay{background:#171b236b}
@media(max-width:720px){
 .theme-control>span{display:none}.theme-control select{font-size:12px;padding:6px;min-width:74px}
 .topbar{height:auto;min-height:58px;flex-wrap:wrap;padding-block:8px}.breadcrumbs{max-width:35%}
 .top-actions{flex-wrap:wrap}.top-actions .role-pill{display:none}
 .auth-tools{gap:10px}.auth-caption{display:none}
 .campaign-bar{padding:13px;margin-bottom:24px;gap:10px;align-items:end}.campaign-bar select{font-size:16px;padding:9px 7px}
 .campaign-bar>.btn{font-size:0;padding:10px;min-width:42px}.campaign-bar>.btn .icon{width:19px;height:19px}
}
