:root{--bg:#07080a;--bg-raised:#0b0d11;--panel:#0e1116d1;--panel-solid:#0f1217;--panel-soft:#14181f94;--line:#c9cdd721;--line-strong:#d0d5df3d;--silver:#d9dde5;--silver-soft:#b8bec9;--muted:#838b98;--faint:#5e6672;--red:#9d1c31;--red-bright:#c42b43;--red-deep:#5c0e1d;--red-ghost:#9d1c311f;--ocean:#102028;--gold:#b9a27b;--green:#7eab91;--amber:#c29b68;--danger:#d05a6a;--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, "Songti SC", serif;--sans:"Segoe UI", "Bahnschrift", "PingFang SC", "Microsoft YaHei", sans-serif;--mono:"Cascadia Mono", "Consolas", monospace;--radius:16px;--radius-sm:10px;--shadow:0 24px 70px #00000059;--font-scale:1;--sidebar:264px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{min-height:100vh;color:var(--silver);background:radial-gradient(1200px 700px at 75% -10%, #59122033, transparent 60%), radial-gradient(900px 700px at 5% 100%, #14343e29, transparent 58%), var(--bg);font-family:var(--sans);font-size:calc(15px * var(--font-scale));-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}body:before{content:"";pointer-events:none;z-index:0;opacity:.22;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{color:#fff;background:#c42b436b}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}img{max-width:100%}p{margin:0 0 1em}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.015em;color:#eceef2;margin:0;font-weight:500}h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.06}h2{font-size:1.65rem;line-height:1.15}h3{font-size:1.18rem;line-height:1.3}h4{font-size:1rem}hr{border:0;border-top:1px solid var(--line)}:focus-visible{outline:1px solid var(--red-bright);outline-offset:3px}.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}.shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);z-index:1;min-height:100vh;display:grid;position:relative}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:linear-gradient(#090b0ffa,#07090ce6);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid #c9cdd714;padding:24px 22px 18px}.brand-row{align-items:center;gap:12px;display:flex}.brand-text{flex-direction:column;min-width:0;display:flex}.brand-name{font-family:var(--serif);letter-spacing:.17em;font-size:1.23rem;line-height:1.1}.brand-sub{letter-spacing:.27em;color:var(--muted);text-transform:uppercase;margin-top:4px;font-size:.57rem}.sigil{color:var(--silver);filter:drop-shadow(0 0 10px #c42b4340);flex:none;display:inline-flex}.sigil .sigil-accent{color:var(--red-bright)}.sidebar-nav{scrollbar-width:thin;flex:1;padding:12px 12px 20px;overflow-y:auto}.nav-section{margin-top:17px}.nav-label{letter-spacing:.19em;text-transform:uppercase;color:var(--faint);padding:0 11px 7px;font-size:.58rem}.nav-link{color:var(--silver-soft);border:1px solid #0000;border-radius:9px;align-items:center;gap:11px;margin:2px 0;padding:9px 11px;font-size:.85rem;transition:all .16s;display:flex}.nav-link:hover{color:#fff;background:#ffffff09;border-color:#ffffff0d}.nav-link.active{color:#f2e8e9;background:linear-gradient(90deg,#9d1c3130,#9d1c310a);border-color:#c42b432e}.nav-link.active:before{content:"";background:var(--red-bright);width:2px;height:16px;margin-left:-12px;box-shadow:0 0 10px #c42b4399}.nav-link svg{opacity:.75;flex:none;width:16px;height:16px}.nav-link.active svg{opacity:1;color:var(--red-bright)}.nav-kicker{color:var(--faint);letter-spacing:.05em;margin-left:auto;font-size:.57rem}.sidebar-footer{border-top:1px solid var(--line);padding:12px}.user-mini{align-items:center;gap:10px;padding:7px 8px 11px;display:flex}.avatar{border:1px solid var(--line-strong);width:34px;height:34px;font-family:var(--serif);color:var(--silver);background:radial-gradient(circle at 35% 30%,#2a303a,#0a0d11 75%);border-radius:50%;place-items:center;display:grid}.user-mini-name{font-size:.82rem}.user-mini-role{color:var(--muted);letter-spacing:.04em;font-size:.64rem}.mode-switch{border:1px solid var(--line);background:#0003;border-radius:10px;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:10px;padding:4px;display:grid}.mode-switch button{color:var(--faint);letter-spacing:.02em;background:0 0;border:0;border-radius:7px;padding:6px 3px;font-size:.6rem}.mode-switch button.active{color:var(--silver);background:#fff1}.sidebar-actions{gap:6px;display:flex}.sidebar-actions .icon-button{flex:1}.main-column{flex-direction:column;min-width:0;display:flex}.mobile-topbar{display:none}.page{z-index:1;width:100%;max-width:1460px;margin:0 auto;padding:36px clamp(20px,3.2vw,48px) 84px;position:relative}.page-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:27px;display:flex}.page-head-copy{max-width:780px}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--red-bright);align-items:center;gap:8px;margin-bottom:9px;font-size:.62rem;display:flex}.eyebrow:before{content:"";background:var(--red);width:22px;height:1px;display:inline-block}.page-title{font-size:clamp(2rem,3.1vw,2.85rem)}.page-sub{color:var(--muted);max-width:680px;margin-top:9px;font-size:.9rem}.page-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.top-chips{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.serif{font-family:var(--serif)}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:.78rem}.tiny{font-size:.68rem}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.red{color:var(--red-bright)}.green{color:var(--green)}.amber{color:var(--amber)}.silver{color:var(--silver)}.upper{text-transform:uppercase;letter-spacing:.16em}.center{text-align:center}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.wrap{flex-wrap:wrap}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.split-2-1{grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);gap:20px;display:grid}.split-1-2{grid-template-columns:minmax(260px,1fr) minmax(0,1.9fr);gap:20px;display:grid}.stack-16>*+*{margin-top:16px}.stack-24>*+*{margin-top:24px}.card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(155deg,#14181fb8,#0a0c10c7);padding:22px;position:relative;box-shadow:inset 0 1px #ffffff06}.card.flat{box-shadow:none;background:#0d101594}.card.raised{box-shadow:var(--shadow)}.card.accent{background:linear-gradient(145deg,#410d1847,#0c0e12d1 55%);border-color:#c42b4338}.card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.card-title{font-family:var(--serif);color:var(--silver);letter-spacing:.01em;font-size:1.02rem}.card-kicker{text-transform:uppercase;letter-spacing:.17em;color:var(--faint);margin-bottom:5px;font-size:.59rem}.hairline{background:var(--line);height:1px}.panel-inset{background:#0003;border:1px solid #ffffff0e;border-radius:12px;padding:15px}.ghost-number{font-family:var(--serif);color:#d9dde517;pointer-events:none;font-size:3.4rem;line-height:.9;position:absolute;bottom:8px;right:18px}.card-glow{pointer-events:none;filter:blur(15px);background:radial-gradient(circle,#9d1c3121,#0000 65%);border-radius:50%;width:240px;height:240px;position:absolute;top:-100px;right:-80px}.divider{background:var(--line);height:1px;margin:18px 0}.empty-state{text-align:center;color:var(--muted);border:1px dashed var(--line-strong);background:#0000001f;border-radius:14px;padding:34px 20px}.empty-state h3{color:var(--silver-soft);margin-bottom:5px}.btn{border:1px solid var(--line-strong);color:var(--silver);letter-spacing:.03em;white-space:nowrap;background:#ffffff09;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:8px 15px;font-size:.79rem;transition:all .15s;display:inline-flex}.btn:hover{background:#fff1;border-color:#d9dde566;transform:translateY(-1px)}.btn svg{width:15px;height:15px}.btn.primary{color:#fff;background:linear-gradient(135deg,#a51f36,#761526);border-color:#d1495d73;box-shadow:0 5px 24px #7d122447}.btn.primary:hover{background:linear-gradient(135deg,#bc2740,#8b192c)}.btn.silver{color:#0a0c10;background:linear-gradient(135deg,#e2e5ea,#b9bec8);border-color:#e6e8ed}.btn.silver:hover{background:#f1f3f6}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--silver);background:#ffffff09}.btn.danger{color:#e0949f;border-color:#d05a6a4d}.btn.sm{border-radius:7px;min-height:31px;padding:4px 10px;font-size:.7rem}.btn.lg{min-height:47px;padding:11px 22px;font-size:.86rem}.btn.wide{width:100%}.icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#ffffff06;border-radius:8px;place-items:center;transition:all .14s;display:inline-grid}.icon-button:hover{color:var(--silver);border-color:var(--line-strong);background:#ffffff0f}.icon-button svg{width:15px;height:15px}.link{color:var(--silver);border-bottom:1px solid #d9dde54d}.link:hover{color:#fff;border-color:var(--red-bright)}.badge{border:1px solid var(--line);letter-spacing:.06em;color:var(--silver-soft);white-space:nowrap;background:#ffffff06;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:.62rem;display:inline-flex}.badge.red{color:#e4a4ae;background:#9d1c311a;border-color:#c42b4347}.badge.green{color:#a7cbb5;background:#7eab9114;border-color:#7eab9147}.badge.amber{color:#d9bd99;background:#c29b6814;border-color:#c29b6847}.badge.muted{color:var(--muted)}.tag{color:var(--muted);letter-spacing:.04em;background:#ffffff06;border:1px solid #ffffff13;border-radius:5px;padding:2px 7px;font-size:.61rem;display:inline-flex}.dot{background:var(--red-bright);border-radius:50%;width:5px;height:5px;display:inline-block;box-shadow:0 0 8px #c42b43b3}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);background:#ffffff05;border-radius:999px;padding:4px 11px;font-size:.7rem}.chip.active{color:var(--silver);background:#9d1c311a;border-color:#c42b4352}.field{flex-direction:column;gap:7px;display:flex}.field+.field{margin-top:15px}.label{letter-spacing:.06em;color:var(--silver-soft);text-transform:uppercase;font-size:.7rem}.hint{color:var(--faint);font-size:.68rem}.input,.textarea,.select{border:1px solid var(--line);color:var(--silver);background:#02040773;border-radius:8px;width:100%;padding:10px 12px;font-size:.85rem;transition:all .15s}.input:focus,.textarea:focus,.select:focus{background:#020407a6;border-color:#c42b438c;outline:none;box-shadow:0 0 0 3px #9d1c311a}.textarea{resize:vertical;min-height:130px;line-height:1.7}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 16px) 18px,calc(100% - 11px) 18px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:32px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .field+.field{margin-top:0}.check-line{color:var(--silver-soft);align-items:center;gap:9px;font-size:.8rem;display:flex}.check-line input{accent-color:var(--red);width:15px;height:15px}.range{accent-color:var(--red-bright);width:100%}.error-text{color:#e29aa4;background:#9d1c311a;border:1px solid #c42b4333;border-radius:7px;padding:8px 11px;font-size:.76rem}.success-text{color:var(--green);font-size:.78rem}.hero-card{background:radial-gradient(660px 260px at 84% 5%,#8b192c4a,#0000 64%),linear-gradient(130deg,#181b22ed,#090b0ff0);border:1px solid #c9cdd729;border-radius:20px;flex-direction:column;justify-content:space-between;min-height:286px;padding:29px 32px;display:flex;position:relative;overflow:hidden}.hero-card:after{content:"";pointer-events:none;border:1px solid #c9cdd70e;border-radius:12px;position:absolute;inset:12px}.hero-ornament{opacity:.36;width:350px;height:350px;color:var(--silver);pointer-events:none;position:absolute;top:-55px;right:-15px}.hero-content{z-index:2;max-width:610px;position:relative}.hero-greeting{letter-spacing:.23em;color:#c68e96;text-transform:uppercase;margin-bottom:13px;font-size:.64rem}.hero-title{max-width:600px;font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.04}.hero-title em{color:#e9cbd0;font-style:italic}.hero-sub{color:#a2a8b2;max-width:520px;margin-top:13px;font-size:.88rem}.hero-footer{z-index:2;flex-wrap:wrap;align-items:center;gap:9px;margin-top:24px;display:flex;position:relative}.hero-quote{color:#b8bec8;font-family:var(--serif);border-left:1px solid #c42b4373;max-width:530px;margin-top:18px;padding-left:14px;font-size:.95rem;font-style:italic}.stat-strip{background:var(--line);border:1px solid var(--line);border-radius:13px;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:18px;display:grid;overflow:hidden}.stat-cell{background:#0c0f14e0;padding:15px 17px}.stat-value{font-family:var(--serif);color:#e9ebef;font-size:1.55rem;line-height:1.15}.stat-label{color:var(--faint);text-transform:uppercase;letter-spacing:.12em;margin-top:2px;font-size:.61rem}.stat-delta{color:var(--muted);margin-top:4px;font-size:.62rem}.ring{width:112px;height:112px;transform:rotate(-90deg)}.ring-track{fill:none;stroke:#ffffff12;stroke-width:3px}.ring-value{fill:none;stroke:var(--red-bright);stroke-width:3px;stroke-linecap:round;transition:stroke-dashoffset .6s}.ring-label{text-align:center;place-items:center;display:grid;position:absolute;inset:0}.ring-wrap{place-items:center;display:inline-grid;position:relative}.ring-number{font-family:var(--serif);font-size:1.45rem;line-height:1}.ring-caption{color:var(--faint);text-transform:uppercase;letter-spacing:.12em;margin-top:4px;font-size:.54rem}.task-list{flex-direction:column;display:flex}.task-row{border-bottom:1px solid #ffffff0e;align-items:center;gap:12px;padding:12px 2px;display:flex}.task-row:last-child{border-bottom:0}.task-check{border:1px solid var(--line-strong);color:#0000;background:0 0;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;transition:all .15s;display:grid}.task-check:hover{border-color:var(--red-bright);color:var(--red-bright)}.task-check.done{color:var(--green);background:#7eab9124;border-color:#7eab9173}.task-main{flex:1;min-width:0}.task-title{color:var(--silver);font-size:.81rem}.task-title.done{color:var(--faint);text-decoration:line-through}.task-meta{color:var(--faint);align-items:center;gap:8px;margin-top:2px;font-size:.62rem;display:flex}.mini-progress{background:#ffffff12;border-radius:3px;height:3px;margin-top:6px;overflow:hidden}.mini-progress>span{background:linear-gradient(90deg, var(--red), #c98591);border-radius:inherit;height:100%;display:block}.mini-progress.green>span{background:linear-gradient(90deg,#527d63,#9dc2ab)}.priority{background:var(--faint);border-radius:50%;width:5px;height:5px}.priority.high{background:var(--red-bright);box-shadow:0 0 6px #c42b4380}.priority.low{background:var(--ocean)}.quick-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.quick-link{border:1px solid var(--line);background:#ffffff05;border-radius:10px;flex-direction:column;gap:8px;min-height:78px;padding:12px;transition:all .16s;display:flex}.quick-link:hover{background:#9d1c310e;border-color:#c42b4347;transform:translateY(-2px)}.quick-link svg{width:17px;height:17px;color:var(--red-bright)}.quick-link span{color:var(--silver-soft);font-size:.72rem}.recent-row{border-bottom:1px solid #ffffff0d;align-items:center;gap:11px;padding:9px 0;display:flex}.recent-row:last-child{border-bottom:0}.recent-icon{border:1px solid var(--line);width:29px;height:29px;color:var(--muted);background:#ffffff05;border-radius:8px;flex:none;place-items:center;display:grid}.recent-icon svg{width:14px;height:14px}.recent-title{color:var(--silver-soft);font-size:.76rem}.recent-meta{color:var(--faint);font-size:.62rem}.xp-bar{background:#ffffff12;border-radius:5px;height:5px;overflow:hidden}.xp-bar>span{border-radius:inherit;background:linear-gradient(90deg,#7f1628,#ca5b6d);height:100%;display:block}.week-bars{align-items:flex-end;gap:7px;height:72px;display:flex}.week-bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.week-bar>i{background:linear-gradient(#c42b43bf,#c42b432e);border-radius:3px 3px 1px 1px;width:100%;max-width:23px;min-height:3px;display:block}.week-bar.today>i{background:linear-gradient(#e3c0c7,#8d2235)}.week-bar>span{color:var(--faint);font-size:.52rem}.character-panel{background:radial-gradient(300px 260px at 80% 0,#89182b3d,#0000 70%),linear-gradient(150deg,#101319,#090b0f);border-color:#c9cdd726;position:relative;overflow:hidden}.character-panel .sigil{color:#cfd4dc}.character-kicker{letter-spacing:.22em;color:#be8992;text-transform:uppercase;font-size:.57rem}.character-quote{font-family:var(--serif);color:#d7dbe2;margin:14px 0 10px;font-size:1.1rem;font-style:italic;line-height:1.55}.character-source{color:var(--faint);font-size:.6rem}.char-orb{border:1px solid #c9cdd712;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-55px;right:-30px}.char-orb:before,.char-orb:after{content:"";border:1px solid #c42b4321;border-radius:50%;position:absolute;inset:22px}.char-orb:after{inset:48px}.chat{flex-direction:column;gap:14px;display:flex}.msg{white-space:pre-wrap;border:1px solid var(--line);border-radius:12px;max-width:min(760px,90%);padding:12px 15px;font-size:.84rem;line-height:1.72}.msg.user{background:#9d1c3121;border-color:#c42b432e;align-self:flex-end}.msg.assistant{background:#ffffff07;align-self:flex-start}.msg-meta{color:var(--faint);text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px;font-size:.58rem}.chat-composer{border:1px solid var(--line);background:#00000038;border-radius:12px;align-items:flex-end;gap:8px;padding:8px;display:flex}.chat-composer textarea{resize:none;min-height:42px;max-height:160px;box-shadow:none;background:0 0;border:0;padding:8px}.chat-composer textarea:focus{box-shadow:none}.conversation-item{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:10px 11px}.conversation-item:hover{background:#ffffff08}.conversation-item.active{background:#9d1c311a;border-color:#c42b432b}.conversation-title{white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.conversation-date{color:var(--faint);font-size:.6rem}.typing-dot{background:var(--muted);border-radius:50%;width:5px;height:5px;animation:1.2s infinite pulse;display:inline-block}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}.word-stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:440px;padding:34px 24px;display:flex;position:relative;overflow:hidden}.word-stage:before{content:"";pointer-events:none;background:radial-gradient(560px 260px at 50% 30%,#7414252e,#0000 70%);position:absolute;inset:0}.word-card-word{font-family:var(--serif);color:#eef0f4;letter-spacing:-.02em;font-size:clamp(2.9rem,6vw,5.4rem);line-height:1;position:relative}.word-ipa{color:#b27c86;font-family:var(--mono);margin-top:12px;font-size:.85rem}.word-pos{color:var(--faint);margin-left:6px;font-size:.7rem}.word-prompt{color:var(--muted);margin-bottom:15px;font-size:.82rem}.word-answer{max-width:600px;margin-top:24px}.word-answer .meaning{font-family:var(--serif);color:#dce0e6;font-size:1.35rem}.word-detail{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:720px;margin-top:20px;display:grid}.detail-block{border-top:1px solid var(--line);padding-top:10px}.detail-label{letter-spacing:.15em;color:var(--faint);text-transform:uppercase;margin-bottom:4px;font-size:.58rem}.detail-value{color:var(--silver-soft);font-size:.77rem}.rating-row{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:600px;display:grid}.mode-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mode-card{border:1px solid var(--line);text-align:left;background:#ffffff05;border-radius:9px;padding:11px}.mode-card:hover{border-color:var(--line-strong)}.mode-card.active{background:#9d1c3114;border-color:#c42b4361}.mode-card strong{font-size:.74rem;font-weight:500;display:block}.mode-card span{color:var(--faint);font-size:.6rem}.progress-dots{gap:4px;display:flex}.progress-dots>i{background:#ffffff1a;border-radius:2px;width:20px;height:2px}.progress-dots>i.done{background:var(--red-bright)}.reader-layout{grid-template-columns:minmax(0,1.6fr) minmax(330px,.9fr);align-items:start;gap:18px;display:grid}.passage{max-width:760px;font-family:var(--serif);color:#c9cdd5;font-size:1.03rem;line-height:1.92}.passage p{margin:0 0 1.15em}.passage .para-label{font-family:var(--sans);color:var(--red-bright);letter-spacing:.1em;vertical-align:2px;margin-right:8px;font-size:.62rem}.reader-sticky{position:sticky;top:22px}.question-card{border:1px solid var(--line);background:#0000002b;border-radius:11px;margin-bottom:10px;padding:15px}.question-card.active{border-color:#c42b4342}.question-stem{color:var(--silver);margin-bottom:10px;font-size:.82rem;line-height:1.55}.option{cursor:pointer;color:var(--silver-soft);background:0 0;border:1px solid #0000;border-radius:7px;align-items:flex-start;gap:9px;padding:8px 9px;font-size:.78rem;transition:all .12s;display:flex}.option:hover{background:#ffffff08}.option.selected{color:#eee;background:#9d1c3117;border-color:#c42b434d}.option.correct{background:#7eab9114;border-color:#7eab9159}.option.wrong{background:#d05a6a12;border-color:#d05a6a59}.option-letter{border:1px solid var(--line);width:19px;height:19px;font-size:.58rem;font-family:var(--mono);border-radius:50%;flex:none;place-items:center;display:grid}.option.selected .option-letter{border-color:var(--red-bright);color:#e7b6be}.answer-sheet{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.answer-cell{aspect-ratio:1;border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:6px;place-items:center;font-size:.68rem;display:grid}.answer-cell.answered{color:#e5b4bc;background:#9d1c3114;border-color:#c42b4359}.answer-cell.correct{color:var(--green);border-color:#7eab9159}.timer{font-family:var(--mono);color:var(--silver-soft);letter-spacing:.04em;font-size:.82rem}.timer.warn{color:#e4a1aa}.explanation{color:var(--silver-soft);background:#9d1c310e;border-left:2px solid #c42b4380;margin-top:10px;padding:10px 12px;font-size:.76rem}.highlight{color:#f3dfe2;background:#c42b432e;border-radius:2px;padding:0 1px}.word-pop{z-index:80;border:1px solid var(--line-strong);width:260px;box-shadow:var(--shadow);font-family:var(--sans);background:#11151b;border-radius:10px;padding:12px;font-size:.73rem;line-height:1.55;position:fixed}.word-pop strong{font-family:var(--serif);font-size:1.05rem}.word-mobile-list{display:none}.word-mobile-card{border:1px solid var(--line);cursor:pointer;background:#ffffff05;border-radius:10px;padding:12px}.word-mobile-word{font-family:var(--serif);color:var(--silver);font-size:1.12rem}.word-mobile-meaning{color:var(--silver-soft);margin-top:6px;font-size:.86rem}.audio-player{border:1px solid var(--line);background:linear-gradient(135deg,#13171ee6,#080a0de6);border-radius:13px;padding:15px}.player-top{align-items:center;gap:12px;display:flex}.play-button{color:#fff;background:linear-gradient(135deg,#b6243b,#791629);border:1px solid #d2586a66;border-radius:50%;flex:none;place-items:center;width:43px;height:43px;display:grid;box-shadow:0 5px 20px #7d12244d}.play-button:hover{background:linear-gradient(135deg,#ce304a,#922035)}.seek{accent-color:var(--red-bright);flex:1;height:3px}.player-time{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:.65rem}.player-controls{flex-wrap:wrap;align-items:center;gap:13px;margin-top:11px;display:flex}.player-controls label{color:var(--faint);align-items:center;gap:6px;font-size:.61rem;display:flex}.player-controls select,.player-controls input[type=range]{accent-color:var(--red)}.audio-unconfigured{color:#d5a0a9;background:#d05a6a0d;border:1px dashed #d05a6a59;border-radius:9px;padding:14px;font-size:.78rem}.transcript-line{cursor:pointer;border-bottom:1px solid #ffffff0d;border-radius:6px;gap:11px;padding:11px 9px;display:flex}.transcript-line:hover{background:#ffffff06}.transcript-line.active{background:#9d1c3112}.transcript-index{font-family:var(--mono);color:var(--faint);flex:none;width:20px;padding-top:3px;font-size:.6rem}.transcript-text{color:var(--silver-soft);font-size:.82rem;line-height:1.62}.transcript-line.active .transcript-text{color:#f1e5e8}.transcript-translation{color:var(--faint);margin-top:4px;font-size:.7rem}.transcript-line.hidden .transcript-text{filter:blur(6px);-webkit-user-select:none;user-select:none}.editor{min-height:330px;font-family:var(--serif);padding:18px;font-size:1.02rem;line-height:1.85}.editor-meta{color:var(--faint);justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:.67rem;display:flex}.eval-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.eval-cell{border:1px solid var(--line);border-radius:8px;padding:10px}.eval-value{font-family:var(--serif);font-size:1.4rem}.eval-label{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font-size:.56rem}.prompt-card{border:1px solid var(--line);cursor:pointer;background:#ffffff05;border-radius:10px;margin-bottom:9px;padding:14px}.prompt-card:hover{border-color:var(--line-strong)}.prompt-card.active{background:#9d1c310f;border-color:#c42b4357}.prompt-title{font-family:var(--serif);color:var(--silver);font-size:.95rem}.prompt-meta{color:var(--faint);margin-top:3px;font-size:.61rem}.ai-panel{background:linear-gradient(145deg,#380c1538,#0a0c10a8);border:1px solid #c42b432e;border-radius:12px;padding:16px}.ai-badge{letter-spacing:.12em;text-transform:uppercase;color:#d59ca5;border:1px solid #c42b433d;border-radius:4px;align-items:center;gap:5px;padding:2px 7px;font-size:.58rem;display:inline-flex}.disclaimer{color:var(--faint);border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:.66rem;line-height:1.55}.table{border-collapse:collapse;width:100%;font-size:.76rem}.table th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line);padding:9px 10px;font-size:.58rem;font-weight:500}.table td{color:var(--silver-soft);border-bottom:1px solid #ffffff0b;padding:11px 10px}.table tr:last-child td{border-bottom:0}.library-row{border-bottom:1px solid #ffffff0e;align-items:center;gap:14px;padding:14px 0;display:flex}.library-row:last-child{border-bottom:0}.library-index{font-family:var(--mono);color:var(--faint);width:24px;font-size:.62rem}.library-main{flex:1;min-width:0}.library-title{font-family:var(--serif);color:var(--silver);font-size:.98rem}.library-meta{color:var(--faint);margin-top:2px;font-size:.63rem}.library-actions{align-items:center;gap:6px;display:flex}.achievement{border:1px solid var(--line);border-radius:9px;align-items:center;gap:11px;padding:10px;display:flex}.achievement.locked{opacity:.46}.achievement-icon{border:1px solid var(--line-strong);width:32px;height:32px;color:var(--gold);border-radius:8px;flex:none;place-items:center;display:grid}.achievement-name{font-size:.74rem}.achievement-desc{color:var(--faint);font-size:.6rem}.toast{z-index:120;border:1px solid var(--line-strong);max-width:360px;box-shadow:var(--shadow);background:#12161d;border-radius:10px;padding:12px 14px;font-size:.79rem;animation:.22s slide-in;position:fixed;bottom:24px;right:22px}.toast strong{font-family:var(--serif);margin-bottom:3px;font-size:.9rem;display:block}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#020305bd;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line-strong);width:min(640px,100%);max-height:88vh;box-shadow:var(--shadow);background:#0d1015;border-radius:16px;padding:24px;position:relative;overflow-y:auto}.modal.wide{width:min(900px,100%)}.modal-close{position:absolute;top:14px;right:14px}.tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:18px;display:flex;overflow-x:auto}.tab{color:var(--faint);white-space:nowrap;background:0 0;border:0;border-bottom:1px solid #0000;margin-bottom:-1px;padding:9px 13px;font-size:.73rem}.tab.active{color:var(--silver);border-bottom-color:var(--red-bright)}.notice{color:#cbb693;background:#c29b680e;border:1px solid #c29b6838;border-radius:9px;padding:11px 13px;font-size:.73rem;line-height:1.6}.notice.red{color:#d5a6ae;background:#9d1c3112;border-color:#c42b433d}.notice.green{color:#a8c8b4;background:#7eab910e;border-color:#7eab9138}.public-page{z-index:1;min-height:100vh;position:relative;overflow:hidden}.public-bg{pointer-events:none;background:radial-gradient(800px 520px at 75% 10%,#80162838,#0000 67%),radial-gradient(600px 500px at 10% 90%,#12303933,#0000 70%);position:fixed;inset:0}.public-nav{z-index:2;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:25px clamp(20px,5vw,70px);display:flex;position:relative}.landing{z-index:2;grid-template-columns:minmax(0,1.15fr) minmax(320px,.75fr);align-items:center;gap:7vw;max-width:1320px;min-height:78vh;margin:0 auto;padding:8vh clamp(20px,5vw,70px) 70px;display:grid;position:relative}.landing-kicker{color:#c78f98;letter-spacing:.28em;text-transform:uppercase;margin-bottom:22px;font-size:.65rem}.landing-title{letter-spacing:-.035em;font-size:clamp(3.4rem,7.5vw,7.3rem);line-height:.92}.landing-title span{display:block}.landing-title .outline{color:#0000;-webkit-text-stroke:1px #d9dde573;font-style:italic}.landing-sub{color:#979eaa;max-width:590px;margin:27px 0;font-size:1rem;line-height:1.8}.landing-actions{flex-wrap:wrap;gap:10px;display:flex}.landing-foot{color:var(--faint);flex-wrap:wrap;gap:24px;margin-top:46px;font-size:.67rem;display:flex}.landing-foot span{align-items:center;gap:6px;display:flex}.hero-sigil{place-items:center;min-height:460px;display:grid;position:relative}.hero-sigil:before{content:"";aspect-ratio:1;border:1px solid #d9dde514;border-radius:50%;width:min(440px,36vw);position:absolute}.hero-sigil:after{content:"";aspect-ratio:1;border:1px solid #c42b4324;border-radius:50%;width:min(330px,29vw);position:absolute;transform:rotate(23deg)}.hero-sigil .sigil{filter:drop-shadow(0 0 60px #8a172a42);width:min(300px,28vw);height:auto}.orbit-label{letter-spacing:.2em;color:var(--faint);text-transform:uppercase;font-size:.56rem;position:absolute}.orbit-1{top:12%;left:11%}.orbit-2{bottom:14%;right:8%}.orbit-3{bottom:24%;left:5%}.landing-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);max-width:1320px;margin:0 auto;display:grid}.landing-feature{border-right:1px solid var(--line);padding:23px 22px}.landing-feature:last-child{border-right:0}.landing-feature h3{margin:8px 0 5px;font-size:.92rem}.landing-feature p{color:var(--faint);margin:0;font-size:.68rem;line-height:1.6}.landing-feature svg{color:var(--red-bright);width:16px;height:16px}.auth-wrap{z-index:2;place-items:center;min-height:calc(100vh - 90px);padding:46px 20px 80px;display:grid;position:relative}.auth-card{width:min(460px,100%)}.auth-title{margin-bottom:8px;font-size:2.2rem}.auth-sub{color:var(--muted);margin-bottom:25px;font-size:.82rem}.auth-switch{color:var(--muted);text-align:center;margin-top:18px;font-size:.75rem}.auth-aside{max-width:340px;display:none;position:fixed;top:50%;left:5vw;transform:translateY(-50%)}@media (min-width:1200px){.auth-aside{display:block}}.auth-aside blockquote{font-family:var(--serif);color:#cfd3db;margin:0 0 14px;font-size:1.55rem;font-style:italic;line-height:1.5}.auth-aside cite{color:var(--faint);font-size:.62rem;font-style:normal}.mode-pure .companion-only,.mode-pure .immersive-only,.mode-light .immersive-only{display:none!important}.mode-pure .hero-card{background:linear-gradient(130deg,#16191ff0,#090b0ff5)}.mode-pure .hero-ornament,.mode-pure .card-glow{display:none}.mode-pure body{background:var(--bg)}.mode-immersive .immersive-only{display:block}.mode-immersive .hero-card{border-color:#c42b4333}.mode-immersive .page:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(closest-side,#8614271a,#0000);width:34vw;height:65vh;position:fixed;top:0;right:0}.mode-light .mode-label,.mode-pure .mode-label{display:none}@media (max-width:1180px){:root{--sidebar:236px}.page{padding-left:28px;padding-right:28px}.grid-4,.quick-grid{grid-template-columns:repeat(2,1fr)}.split-2-1,.split-1-2,.reader-layout{grid-template-columns:minmax(0,1fr)}.reader-sticky{position:static}}@media (max-width:900px){.shell{display:block}.sidebar{display:none}.mobile-topbar{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#080a0eeb;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.mobile-topbar .brand-name{font-size:1rem}.mobile-topbar .sigil{width:29px;height:29px}.page{padding:24px 18px 102px}.page-head{flex-direction:column;align-items:flex-start;gap:15px}.page-actions{width:100%}.stat-strip{grid-template-columns:repeat(2,1fr)}.grid-3,.grid-2{grid-template-columns:minmax(0,1fr)}.hero-card{min-height:0;padding:23px 20px}.hero-ornament{opacity:.25;width:240px;height:240px}.hero-quote{font-size:.85rem}.quick-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .field+.field{margin-top:0}.word-detail{grid-template-columns:1fr}.eval-grid{grid-template-columns:repeat(2,1fr)}.landing{grid-template-columns:1fr;gap:40px;padding-top:7vh}.hero-sigil{order:-1;min-height:340px}.hero-sigil:before{width:min(310px,72vw)}.hero-sigil:after{width:min(235px,55vw)}.hero-sigil .sigil{width:min(210px,50vw)}.landing-title{font-size:clamp(3.1rem,15vw,5rem)}.landing-band{grid-template-columns:repeat(2,1fr)}.landing-feature:nth-child(2){border-right:0}.landing-feature:nth-child(-n+2){border-bottom:1px solid var(--line)}.landing-foot{gap:13px;margin-top:30px}.mobile-bottom-nav{display:flex}.chat-layout{grid-template-columns:1fr!important}.chat-sidebar{display:none!important}.editor{min-height:260px}}@media (max-width:560px){.page{padding-left:14px;padding-right:14px}.page-title{font-size:1.9rem}.hero-title{font-size:2rem}.stat-strip,.quick-grid,.mode-grid{grid-template-columns:repeat(2,1fr)}.rating-row{grid-template-columns:1fr}.reader-layout{gap:10px}.passage{font-size:.97rem}.word-stage{min-height:390px;padding:25px 12px}.landing-band{grid-template-columns:1fr}.landing-feature{border-right:0;border-bottom:1px solid var(--line)}.landing-feature:last-child{border-bottom:0}.auth-aside{display:none}.card{padding:17px}.toast{max-width:none;bottom:84px;left:14px;right:14px}}@keyframes pulse{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border:2px solid var(--bg);background:#242a33;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#353d49}.word-token{color:inherit;font:inherit;line-height:inherit;cursor:help;background:0 0;border:0;border-radius:2px;margin:0;padding:0}.word-token:hover{color:#f3e4e6;background:#c42b4324;box-shadow:0 0 0 1px #c42b431a}.word-token.known{border-bottom:1px dotted #b9a27b59}.reading-mobile-tabs{display:none}body[data-accent=silver]{--red:#7b8799;--red-bright:#c8d1df;--red-deep:#2c333e;--red-ghost:#a0afc21a}body[data-accent=ocean]{--red:#1e6577;--red-bright:#58bacd;--red-deep:#0c3540;--red-ghost:#2e7e8f1f}body[data-theme=deep-ocean]{--bg:#04090c;--bg-raised:#071116;--panel:#081419d1;--panel-solid:#071319;background:radial-gradient(1200px 700px at 75% -10%, #1448542e, transparent 60%), radial-gradient(900px 700px at 5% 100%, #0c2a3533, transparent 58%), var(--bg)}body[data-theme=black-rose]{--bg:#0a0608;--red:#8c1429;--red-bright:#d4445c;background:radial-gradient(1100px 680px at 80% -10%, #690e1f47, transparent 63%), radial-gradient(900px 700px at 0% 100%, #280e1633, transparent 60%), var(--bg)}body[data-mode=pure]{background:var(--bg)}body[data-mode=pure] .hero-card{background:linear-gradient(130deg,#16191ff0,#090b0ff5)}body[data-mode=pure] .hero-ornament,body[data-mode=pure] .card-glow,body[data-mode=light] .hero-quote,body[data-mode=pure] .hero-quote{display:none}body[data-animation=off] *,body[data-animation=off] :before,body[data-animation=off] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:900px){.reading-mobile-tabs{border:1px solid var(--line);z-index:25;background:#0003;border-radius:9px;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:14px;padding:3px;display:grid;position:sticky;top:62px}.reading-mobile-tabs button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:9px 8px;font-size:.76rem}.reading-mobile-tabs button.active{color:var(--silver);background:#ffffff0f}.reading-mobile-tabs span{color:var(--faint);font-size:.6rem}.reading-article-pane.mobile-hidden,.reading-question-pane.mobile-hidden{display:none!important}.reading-question-pane.mobile-visible{flex-direction:column;display:flex}.word-pop{width:min(280px,100vw - 20px)}}.mobile-bottom-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);z-index:45;background:#090b0ff2;height:64px;padding:5px 7px 7px;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{color:var(--faint);background:0 0;border:0;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:.57rem;display:flex}.mobile-nav-item.active{color:#e7d8da;background:#9d1c3117}.mobile-nav-item svg{width:18px;height:18px}@media (max-width:700px){.word-table-desktop{display:none!important}.word-mobile-list{gap:8px;display:grid}}@media (max-width:900px){.mobile-bottom-nav{display:flex}}.ambient-atmosphere{z-index:0;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.ambient-glow{filter:blur(60px);opacity:.38;will-change:transform, opacity;border-radius:50%;position:absolute}.ambient-glow-one{background:radial-gradient(circle,#7b142621,#0000 68%);width:42vw;height:42vw;animation:18s ease-in-out infinite alternate ambient-breathe;top:12vh;right:-12vw}.ambient-glow-two{background:radial-gradient(circle,#2147501f,#0000 70%);width:35vw;height:35vw;animation:24s ease-in-out -9s infinite alternate-reverse ambient-breathe;bottom:-8vh;left:-10vw}.ambient-particles{opacity:.8;position:absolute;inset:0}.ambient-particles i{width:var(--size);height:var(--size);opacity:0;animation:ambient-drift var(--duration) linear var(--delay) infinite;will-change:transform, opacity;background:#b62a3f;border-radius:50%;display:block;position:absolute;box-shadow:0 0 8px 1px #b62a3f66}.ambient-vignette{background:radial-gradient(at 50% 40%,#0000 45%,#0203053d 100%);position:absolute;inset:0}.is-static .ambient-particles i,.is-static .ambient-glow{animation:none}.is-static .ambient-particles i{opacity:.12}@keyframes ambient-breathe{0%{opacity:.28;transform:translate(0,0)scale(1)}to{opacity:.44;transform:translate(-2vw,2vh)scale(1.08)}}@keyframes ambient-drift{0%{opacity:0;transform:translateY(18px)}15%{opacity:var(--opacity)}55%{opacity:calc(var(--opacity) * .55)}to{transform:translate3d(var(--dx), var(--dy), 0);opacity:0}}.crimson-feather{z-index:30;width:66px;height:100px;color:var(--silver);cursor:pointer;isolation:isolate;filter:drop-shadow(0 0 13px #9d1c312e);-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;transition:filter .42s;position:fixed;top:42%;right:12px}.crimson-feather:hover{filter:drop-shadow(0 0 22px #c42b4357)}.crimson-feather:focus-visible{outline-offset:5px;border-radius:50%;outline:1px solid #e1a6b0cc}.feather-visual{width:100%;height:100%;transition:transform .42s cubic-bezier(.2,.75,.2,1);animation:10s ease-in-out infinite feather-idle;display:block;position:relative}.crimson-feather:hover .feather-visual{transform:translateY(-4px)rotate(-2.5deg)scale(1.025)}.crimson-feather:active .feather-visual{transform:scale(.94)rotate(-2deg)}.feather-svg{z-index:2;width:100%;height:100%;transition:transform .42s;position:relative}.crimson-feather:hover .feather-svg{transform:rotate(-2.5deg)scale(1.025)}.feather-halo{z-index:0;opacity:.6;filter:blur(9px);background:radial-gradient(#9d1c3133,#0000 67%);border-radius:50%;transition:opacity .42s,transform .42s;position:absolute;inset:8px 4px 14px}.crimson-feather:hover .feather-halo{opacity:1;transform:scale(1.2)}.feather-particles{z-index:1;pointer-events:none;position:absolute;inset:0}.feather-particles i{opacity:0;width:2px;height:2px;transform:rotate(calc(var(--i) * 45deg)) translateY(-12px);animation:feather-mote 5.6s ease-in-out calc(var(--i) * -.7s) infinite;background:#ce4055;border-radius:50%;position:absolute;top:48%;left:50%;box-shadow:0 0 6px 1px #ce405573}.crimson-feather:hover .feather-particles i{animation-duration:3.8s}.crimson-feather.is-burst .feather-svg,.crimson-feather-inline.is-burst .feather-svg{animation:.38s cubic-bezier(.2,.8,.2,1) feather-click}.crimson-feather.is-burst .feather-halo,.crimson-feather-inline.is-burst .feather-halo{animation:.48s ease-out feather-wave}.crimson-feather.is-burst .feather-particles i,.crimson-feather-inline.is-burst .feather-particles i{animation:.62s ease-out both feather-scatter;animation-delay:calc(var(--i) * 18ms)}.mobile-feather-wrap{display:none}.crimson-feather-inline{width:44px;height:66px;color:var(--silver);cursor:pointer;filter:drop-shadow(0 0 12px #9d1c3133);-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;padding:0;display:none;position:relative}.crimson-feather-inline .feather-visual{animation:10s ease-in-out infinite feather-idle}.crimson-feather-inline:active .feather-visual{transform:scale(.94)rotate(-2deg)}.crimson-feather-inline .feather-svg{z-index:2;width:100%;height:100%;position:relative}.crimson-feather-inline:focus-visible{outline-offset:4px;border-radius:50%;outline:1px solid #e1a6b0cc}.crimson-feather-inline .feather-particles i{opacity:0;width:2px;height:2px;transform:rotate(calc(var(--i) * 45deg)) translateY(-12px);animation:feather-mote 5.6s ease-in-out calc(var(--i) * -.7s) infinite;background:#ce4055;border-radius:50%;position:absolute;top:48%;left:50%;box-shadow:0 0 6px 1px #ce405573}.crimson-feather-inline .feather-halo{z-index:0;opacity:.6;filter:blur(9px);background:radial-gradient(#9d1c3133,#0000 67%);border-radius:50%;position:absolute;inset:6px 2px 10px}@keyframes feather-idle{0%,to{translate:0;rotate:0deg}35%{translate:0 -8px;rotate:1.2deg}68%{translate:0 3px;rotate:-1deg}}@keyframes feather-mote{0%,to{opacity:0;transform:rotate(calc(var(--i) * 45deg)) translateY(-8px) scale(.7)}35%{opacity:.46}65%{opacity:0;transform:rotate(calc(var(--i) * 45deg + 10deg)) translateY(-38px) scale(1)}}@keyframes feather-click{0%{transform:scale(1)rotate(0)}38%{transform:scale(.9)rotate(-7deg)}to{transform:scale(1)rotate(0)}}@keyframes feather-wave{0%{opacity:.8;transform:scale(.7);box-shadow:0 0 #c42b4347}to{opacity:0;transform:scale(2.4);box-shadow:0 0 0 18px #c42b4300}}@keyframes feather-scatter{0%{opacity:.8;transform:rotate(calc(var(--i) * 45deg)) translateY(-10px) scale(1)}to{opacity:0;transform:rotate(calc(var(--i) * 45deg + 28deg)) translateY(-78px) scale(.2)}}.page{animation:.46s cubic-bezier(.2,.75,.2,1) both page-reveal}.card{transition:border-color .26s,transform .26s,box-shadow .26s,background .26s}@media (hover:hover) and (pointer:fine){.card:not(.flat):hover{border-color:#c42b4338;transform:translateY(-2px);box-shadow:0 20px 45px #0000002e}}.btn{transition:color .14s,background .18s,border-color .18s,box-shadow .18s,transform .14s}.btn:hover{box-shadow:0 0 0 1px #c42b430f,0 4px 18px #0000002e}.btn:active{transform:scale(.985)}.icon-button{transition:color .15s,border-color .15s,background .15s,transform .15s}.icon-button:active{transform:scale(.93)}.option{animation:.18s both option-in}.option.correct{animation:.5s ease-out correct-bloom}.option.wrong{animation:.42s ease-out incorrect-bloom}.word-stage.feedback-correct:after,.word-stage.feedback-incorrect:after{content:"";pointer-events:none;z-index:0;animation:.72s ease-out both stage-bloom;position:absolute;inset:0}.word-stage.feedback-correct:after{background:radial-gradient(at 50% 52%,#96404824,#0000 65%)}.word-stage.feedback-incorrect:after{background:radial-gradient(at 50% 52%,#5b19271a,#0000 68%)}.word-stage>*{z-index:1;position:relative}.toast{border-color:#c42b4338;animation:.26s cubic-bezier(.2,.75,.2,1) both toast-rise}@keyframes page-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes option-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes correct-bloom{0%{box-shadow:0 0 #7eab9133}55%{box-shadow:0 0 0 4px #7eab9100}to{box-shadow:0 0 #7eab9100}}@keyframes incorrect-bloom{0%{box-shadow:0 0 #c42b4324}to{box-shadow:0 0 #c42b4300}}@keyframes stage-bloom{0%{opacity:0;transform:scale(.97)}30%{opacity:1}to{opacity:0;transform:scale(1.02)}}@keyframes toast-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.level-up-overlay{z-index:90;pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#140b0ff5,#090b10f2);border:1px solid #c42b4338;border-radius:14px;align-items:center;gap:14px;width:min(440px,100vw - 28px);padding:14px 20px;animation:3.25s cubic-bezier(.2,.75,.2,1) both levelup-banner;display:flex;position:fixed;top:clamp(68px,9vh,108px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 18px 60px #0006,0 0 32px #9d1c3114}.level-up-aura{border:1px solid #c42b432e;border-radius:50%;width:190px;height:190px;animation:3.2s ease-out both levelup-aura;position:absolute;top:-70px;left:-70px;box-shadow:inset 0 0 60px #9d1c311a}.level-up-sigil{flex:none;width:54px;height:54px;animation:3.2s both levelup-sigil;position:relative}.level-up-sigil span{border:1px solid #d9dde526;border-radius:50%;position:absolute;inset:0}.level-up-sigil span:nth-child(2){border-color:#c42b433d;inset:10px}.level-up-sigil span:nth-child(3){border-color:#d9dde51a;inset:21px}.level-up-copy{text-align:left;animation:3.1s both levelup-copy;position:relative}.level-up-kicker{letter-spacing:.22em;text-transform:uppercase;color:#c47e89;font-size:.54rem}.level-up-title{font-family:var(--serif);color:#f1e5e7;text-shadow:0 0 28px #c42b4333;margin-top:5px;font-size:1.75rem;line-height:1}.level-up-sub{font-family:var(--serif);color:#a9aeb8;margin-top:4px;font-size:.78rem;font-style:italic}.task-burst{z-index:88;pointer-events:none;width:1px;height:1px;position:fixed;top:62%;left:50%}.task-burst i{opacity:0;width:3px;height:3px;animation:.9s cubic-bezier(.2,.7,.2,1) both task-dot;animation-delay:calc(var(--i) * 12ms);background:#c4475a;border-radius:50%;position:absolute;top:0;left:0;box-shadow:0 0 9px 1px #c4475a61}@keyframes task-dot{0%{opacity:.8;transform:rotate(calc(var(--i) * 25.7deg)) translateY(-8px) scale(1)}to{opacity:0;transform:rotate(calc(var(--i) * 25.7deg + 22deg)) translateY(-128px) scale(.2)}}@keyframes levelup-overlay{0%{opacity:0}12%{opacity:1}78%{opacity:1}to{opacity:0}}@keyframes levelup-banner{0%{opacity:0;transform:translate(-50%,-10px)}11%{opacity:1;transform:translate(-50%)}82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}@keyframes levelup-aura{0%{opacity:0;transform:scale(.72)}18%{opacity:1}70%{opacity:.5;transform:scale(1.06)}to{opacity:0;transform:scale(1.2)}}@keyframes levelup-sigil{0%{opacity:0;transform:rotate(-24deg)scale(.85)}20%{opacity:.8}to{opacity:.5;transform:rotate(18deg)scale(1.04)}}@keyframes levelup-copy{0%{opacity:0;transform:translateY(6px)}18%{opacity:1;transform:translateY(0)}82%{opacity:1}to{opacity:0;transform:translateY(-3px)}}.sound-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sound-preview{border:1px solid var(--line);text-align:left;background:#ffffff05;border-radius:8px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px;transition:border-color .16s,background .16s;display:flex}.sound-preview:hover{background:#9d1c310f;border-color:#c42b4347}.sound-preview span{color:var(--faint);font-size:.66rem}.sound-preview strong{color:var(--silver);font-size:.72rem;font-weight:500}.volume-row{grid-template-columns:1fr 1fr;align-items:end;gap:15px;display:grid}.volume-value{font-family:var(--mono);color:var(--muted);font-size:.66rem}@media (max-width:900px){.crimson-feather{display:none}.mobile-feather-wrap{border:1px solid var(--line);background:linear-gradient(135deg,#9d1c3112,#ffffff04);border-radius:10px;align-items:center;gap:10px;margin:0 0 10px;padding:8px 10px;display:flex}.crimson-feather-inline{display:block}.mobile-topbar .crimson-feather-inline{width:31px;height:44px}.mobile-topbar .crimson-feather-inline .feather-halo{filter:blur(6px);inset:4px 0 7px}.mobile-topbar .crimson-feather-inline .feather-particles{display:none}.sound-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.volume-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.ambient-particles i,.ambient-glow,.feather-visual,.feather-particles i,.page,.option,.toast,.level-up-overlay,.level-up-aura,.level-up-sigil,.level-up-copy,.task-burst i{animation:none!important}.task-burst i{display:none}.crimson-feather:hover .feather-visual{transform:none}}body[data-reduced-motion=true] .ambient-particles i,body[data-reduced-motion=true] .ambient-glow,body[data-reduced-motion=true] .crimson-feather,body[data-reduced-motion=true] .crimson-feather-inline,body[data-reduced-motion=true] .feather-visual,body[data-reduced-motion=true] .feather-particles i,body[data-reduced-motion=true] .page,body[data-reduced-motion=true] .option,body[data-reduced-motion=true] .toast,body[data-reduced-motion=true] .level-up-overlay,body[data-reduced-motion=true] .level-up-aura,body[data-reduced-motion=true] .level-up-sigil,body[data-reduced-motion=true] .level-up-copy{animation:none!important}body[data-reduced-motion=true] .task-burst i{display:none;animation:none!important}body[data-animation=off] .ambient-particles i,body[data-animation=off] .ambient-glow,body[data-animation=off] .crimson-feather,body[data-animation=off] .crimson-feather-inline,body[data-animation=off] .feather-visual,body[data-animation=off] .feather-particles i,body[data-animation=off] .page,body[data-animation=off] .option,body[data-animation=off] .toast,body[data-animation=off] .level-up-overlay,body[data-animation=off] .level-up-aura,body[data-animation=off] .level-up-sigil,body[data-animation=off] .level-up-copy{animation:none!important}body[data-animation=off] .task-burst i{display:none;animation:none!important}body[data-particles=off] .ambient-particles,body[data-feather=off] .crimson-feather{display:none}@media (prefers-reduced-transparency:reduce){.card,.sidebar,.mobile-topbar,.modal,.toast{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:var(--panel-solid)!important}.ambient-atmosphere{display:none}}@media (max-width:900px){.btn{min-height:44px}.btn.sm{min-height:44px;padding:8px 12px}.btn.lg{min-height:48px}.icon-button{width:44px;height:44px}.chip{min-height:44px;padding:8px 13px}.tab{min-height:44px;padding-top:11px;padding-bottom:11px}.nav-link,.input,.select,.check-line{min-height:44px}.check-line input{width:20px;height:20px}.option{min-height:48px}.play-button{width:44px;height:44px}.mobile-topbar{padding-top:max(12px, env(safe-area-inset-top))}.mobile-topbar>a{align-items:center;min-height:44px;display:inline-flex}.mobile-topbar .icon-button{width:44px;height:44px}.mobile-topbar .crimson-feather-inline{width:44px;min-width:44px}.mobile-bottom-nav{height:auto;min-height:64px;padding-bottom:max(7px, env(safe-area-inset-bottom))}.page{padding-bottom:calc(102px + env(safe-area-inset-bottom))}.focus-style-btn,.focus-direction button{min-height:44px}.focus-icon-btn{width:44px;height:44px}.focus-transport-btn{min-height:44px}.focus-character-chip{min-height:64px}.focus-setup-grid,.focus-setup-card,.focus-setup-grid>*{min-width:0}}@media (max-width:430px){.mobile-topbar{padding-left:12px;padding-right:12px}.mobile-nav-item{min-height:52px}}@media (max-width:900px){.chip,.btn.sm{min-width:44px}.focus-admin-filters button{min-width:44px;min-height:44px;padding:8px 10px}.focus-switch{align-items:center;min-height:44px}.task-check{background:0 0;border:0;width:44px;height:44px;position:relative}.task-check:before{content:"";border:1px solid var(--line-strong);background:0 0;border-radius:50%;width:20px;height:20px;transition:all .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.task-check:hover:before{border-color:var(--red-bright)}.task-check.done:before{background:#7eab9124;border-color:#7eab9173}.task-check svg{z-index:1;position:relative}.task-check.done{background:0 0;border-color:#0000}.focus-admin-form select,.focus-admin-form input:not([type=range]):not([type=checkbox]),.focus-admin-form textarea,.focus-upload input[type=file],.focus-upload input[type=text],.focus-upload input:not([type]){min-height:44px}.focus-admin-form textarea{min-height:72px}.focus-check{min-height:44px}.focus-sound-row button.badge,.focus-sound-row .badge{justify-content:center;min-width:44px;min-height:44px;padding:8px 10px}.focus-sound-row .focus-sound-toggle{min-width:44px;min-height:44px}.chat-composer .play-button{width:44px;height:44px}}.qb-mobile-cards{display:none}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:16px;display:flex}.pagination .btn{min-width:44px}@media (max-width:700px){.qb-table-desktop{display:none!important}.qb-mobile-cards{gap:10px;display:grid}.qb-toolbar{flex-direction:column;align-items:stretch}.qb-toolbar>div{width:100%}.qb-toolbar>div:first-child{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.qb-toolbar>div:first-child>div{width:100%;min-width:0!important}.qb-toolbar .select,.qb-toolbar .input{width:100%!important}.qb-toolbar>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.qb-toolbar>div:last-child .btn{width:100%}.qb-mobile-card{border:1px solid var(--line);background:#ffffff05;border-radius:12px;min-width:0;padding:14px}.qb-mobile-stem{color:var(--silver);overflow-wrap:break-word;word-break:normal;margin-top:11px;font-size:.9rem;line-height:1.55}.qb-mobile-options{gap:6px;margin:11px 0;padding:0;list-style:none;display:grid}.qb-mobile-options li{color:var(--muted);overflow-wrap:break-word;border:1px solid #d9dde514;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;padding:8px 9px;font-size:.78rem;line-height:1.5;display:grid}.qb-mobile-options li>span{width:22px;height:22px;color:var(--faint);font-family:var(--mono);background:#ffffff0a;border-radius:50%;place-items:center;font-size:.62rem;display:inline-grid}.qb-mobile-options li.correct{color:var(--silver);background:#7eab9114;border-color:#7eab9173}.qb-mobile-options li.correct>span{color:var(--green);background:#7eab912e}.qb-mobile-answer{border-top:1px solid #d9dde514;margin:10px 0;padding-top:8px}.qb-mobile-answer summary{cursor:pointer;min-height:44px;color:var(--muted);align-items:center;font-size:.75rem;display:flex}.word-mobile-list{grid-template-columns:minmax(0,1fr)}}.pwa-install{justify-content:space-between;align-items:center;gap:14px;display:flex}.pwa-install-copy{min-width:0}.pwa-install-hint{text-align:right;max-width:260px}@media (max-width:700px){.pwa-install{flex-direction:column;align-items:flex-start}.pwa-install-hint{text-align:left;max-width:none}}
.focus-stage{z-index:120;color:var(--silver);isolation:isolate;background:#050608;position:fixed;inset:0;overflow:hidden}.focus-stage-wallpaper{z-index:-3;background-image:var(--focus-wallpaper);filter:saturate(.88)contrast(1.03);background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.015)}.focus-stage-wash{z-index:-2;background:radial-gradient(at 50% 48%,#0405083d 0%,#0405086b 34%,#040508e6 100%),linear-gradient(#04050861,#04050814 45%,#040508ad);position:absolute;inset:0}.focus-stage:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 50% 52%,#0000 18%,#05060957 72%,#050609b8);position:absolute;inset:0}.focus-stage-top{z-index:6;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px clamp(18px,3vw,42px);display:flex;position:absolute;top:0;left:0;right:0}.focus-stage-id{text-shadow:0 2px 22px #000c;flex-direction:column;gap:4px;display:flex}.focus-stage-mark{letter-spacing:.32em;color:#e4a6b0;font-size:.56rem}.focus-stage-label{font-family:var(--serif);color:#f2e7e9;text-overflow:ellipsis;white-space:nowrap;max-width:46vw;font-size:clamp(1rem,1.6vw,1.35rem);overflow:hidden}.focus-stage-mode{letter-spacing:.14em;text-transform:uppercase;color:#e2e0e480;font-size:.57rem}.focus-stage-actions{gap:7px;display:flex}.focus-icon-btn{color:#d9dce2;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090b108f;border:1px solid #e2e0e429;border-radius:50%;place-items:center;width:37px;height:37px;transition:background .16s,border-color .16s,color .16s;display:inline-grid}.focus-icon-btn:hover{color:#fff;background:#9d1c3138;border-color:#dc5f7473}.focus-icon-btn.danger{color:#d98b98}.focus-icon-btn.danger:hover{color:#fff;background:#9d1c3161}.focus-center{z-index:2;pointer-events:none;place-items:center;padding:0;display:grid;position:absolute;inset:0}.focus-center:before{content:"";z-index:-1;pointer-events:none;filter:blur(18px);background:radial-gradient(#05060961,#05060929 48%,#0000 72%);border-radius:50%;width:min(780px,82vw);height:min(640px,72vh);position:absolute}.focus-clock{flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.focus-clock-caption{letter-spacing:.25em;text-transform:uppercase;color:#eddde18f;margin-top:13px;font-size:.55rem}.focus-clock-flip{flex-direction:row;align-items:center;gap:clamp(6px,1.1vw,16px)}.flip-group{gap:clamp(5px,.7vw,10px);display:flex}.flip-digit{perspective:1000px;display:inline-block}.flip-card{width:clamp(62px,7.3vw,114px);height:clamp(96px,11.7vw,180px);transform-style:preserve-3d;background:linear-gradient(#1e1e26d6,#0b0c10e6);border:1px solid #d9dde529;border-radius:10px;animation:.52s cubic-bezier(.2,.75,.2,1) both flip-card;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 22px 48px #00000059,0 0 34px #9d1c3114}.flip-face{font-family:var(--serif);color:#f5edef;font-variant-numeric:tabular-nums;text-shadow:0 0 28px #c42b4324;place-items:center;font-size:clamp(3rem,6.8vw,6.2rem);line-height:.8;display:grid;position:absolute;inset:0}.flip-top{clip-path:inset(0 0 50%);background:linear-gradient(#ffffff0b,#0000 80%)}.flip-bottom{clip-path:inset(50% 0 0);background:linear-gradient(#0000 25%,#ffffff06)}.flip-card:after{content:"";z-index:3;background:#d9dde52e;height:1px;position:absolute;top:50%;left:0;right:0}.flip-shine{z-index:2;pointer-events:none;background:linear-gradient(115deg,#0000 32%,#ffffff0f 50%,#0000 62%);position:absolute;inset:0}.flip-colon{color:#d25a6c;width:9px;height:44px;display:block;position:relative}.flip-colon:before,.flip-colon:after{content:"";background:#d25a6c;border-radius:50%;width:5px;height:5px;margin-left:-2.5px;animation:2s ease-in-out infinite colon-pulse;position:absolute;left:50%;box-shadow:0 0 9px #d25a6c8c}.flip-colon:before{top:31%}.flip-colon:after{top:61%}.focus-clock-flip .focus-clock-caption{text-align:center;margin:0;position:absolute;bottom:-30px;left:0;right:0}.focus-clock-circle{aspect-ratio:1;width:clamp(300px,38vw,520px)}.focus-ring{width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.focus-ring-track{fill:none;stroke:#d9dde51c;stroke-width:1.2px}.focus-ring-fill{fill:none;stroke:#c4475a;stroke-width:2.4px;stroke-linecap:round;filter:drop-shadow(0 0 5px #c4475aa6);transition:stroke-dashoffset .36s linear}.focus-ring-inner{fill:#07090d61;stroke:#d9dde514;stroke-width:.5px}.focus-ring-time{flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex;position:absolute;inset:0}.focus-time-text{font-family:var(--serif);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:#f7eef0;text-shadow:0 0 32px #c42b4338;font-size:clamp(3rem,7vw,6.6rem)}.focus-ring-time .focus-clock-caption{margin-top:2px}.focus-clock-minimal{gap:0}.minimal-time{font-family:var(--serif);letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:#f3e9eb;text-shadow:0 0 60px #9d1c3133,0 10px 45px #0000008c;font-size:clamp(5.2rem,14vw,12rem);line-height:.78;animation:.32s both minimal-in}.minimal-rule{background:linear-gradient(90deg,#0000,#c4475a99,#0000);width:min(250px,45vw);height:1px;position:absolute;top:calc(50% + 5.7rem);left:50%;transform:translate(-50%)}.focus-clock-minimal .focus-clock-caption{text-align:center;margin:0;position:absolute;top:calc(50% + 6.3rem);left:0;right:0}.focus-clock-dial{aspect-ratio:1;width:clamp(320px,39vw,520px)}.focus-dial{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dial-progress-track{fill:#05070b8c;stroke:#d9dde51a;stroke-width:.5px}.dial-progress{fill:none;stroke:#c4475a59;stroke-width:.9px;stroke-linecap:round;transform-origin:60px 60px;transition:stroke-dashoffset .4s linear;transform:rotate(-90deg)}.dial-tick{stroke:#e0e2e838;stroke-width:.45px}.dial-tick.major{stroke:#e8d5d99e;stroke-width:.9px}.dial-hand{stroke-linecap:round;transform-origin:60px 60px}.dial-hand.hour{stroke:#ece0e2;stroke-width:2.3px}.dial-hand.minute{stroke:#f4eaec;stroke-width:1.45px}.dial-hand.second{stroke:#df5a6d;stroke-width:.95px;filter:drop-shadow(0 0 3px #c4475ae6)}.dial-pin{fill:#c4475a;stroke:#f0dfe2;stroke-width:.5px}.dial-time{text-align:center;font-family:var(--mono);letter-spacing:.1em;color:#f4e7eac7;font-size:clamp(.8rem,1.4vw,1.05rem);position:absolute;bottom:11%;left:0;right:0}.focus-clock-dial .focus-clock-caption{text-align:center;margin:0;position:absolute;bottom:5.5%;left:0;right:0}.focus-stage-bottom{left:0;right:0;bottom:max(16px, env(safe-area-inset-bottom));z-index:7;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute}.focus-transport,.focus-style-rail{pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080a0f99;border:1px solid #e1dee424;border-radius:13px;align-items:center;gap:4px;padding:5px;display:flex;box-shadow:0 16px 50px #00000052}.focus-transport-btn{color:#d8d6dc;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:9px 13px;font-size:.68rem;display:inline-flex}.focus-transport-btn:hover{color:#fff;background:#ffffff12}.focus-transport-btn.primary{color:#fff;background:#9d1c3180}.focus-transport-btn.subtle{color:#a7a6af}.focus-style-rail{gap:2px;padding:4px}.focus-style-btn{color:#a29fa8;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;min-width:82px;padding:7px 10px;display:flex}.focus-style-btn span{color:#d5d1d7;font-size:.66rem}.focus-style-btn small{letter-spacing:.02em;color:#777781;font-size:.52rem}.focus-style-btn.active{background:#9d1c312e;border-color:#c4475a61}.focus-style-btn.active span{color:#f0dfe2}.focus-stage-message{z-index:12;color:#e2d7da;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0a0ee6;border:1px solid #c4475a4d;border-radius:9px;align-items:center;gap:10px;max-width:min(520px,88vw);padding:10px 14px;font-size:.72rem;display:flex;position:absolute;bottom:112px;left:50%;transform:translate(-50%)}.focus-stage-message button{color:#cda5ad;cursor:pointer;background:0 0;border:0;font-size:1rem}.focus-scene-panel{z-index:10;background:linear-gradient(#0a0b10f7,#08090dfa);border-left:1px solid #d9dde51f;width:min(400px,94vw);padding:22px 18px 28px;animation:.24s cubic-bezier(.2,.75,.2,1) both focus-panel-in;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-20px 0 60px #0000005c}.focus-panel-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.focus-panel-head h2{font-family:var(--serif);color:#f0e7e9;margin-top:3px;font-size:1.5rem}.focus-panel-section{border-top:1px solid #d9dde517;margin-top:17px;padding-top:17px}.focus-panel-title{letter-spacing:.16em;text-transform:uppercase;color:#d5cdd0;align-items:center;gap:7px;margin-bottom:10px;font-size:.63rem;display:flex}.focus-panel-title span{color:#77727b;letter-spacing:0}.focus-wallpaper-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.focus-wallpaper-card{cursor:pointer;text-align:left;background:#111218;border:1px solid #d9dde51f;border-radius:8px;padding:0;position:relative;overflow:hidden}.focus-wallpaper-card img{aspect-ratio:16/9;object-fit:cover;opacity:.8;width:100%;transition:opacity .18s,transform .26s;display:block}.focus-wallpaper-card:hover img{opacity:1;transform:scale(1.04)}.focus-wallpaper-card span{color:#abb0ba;white-space:nowrap;text-overflow:ellipsis;padding:6px 7px;font-size:.55rem;display:block;overflow:hidden}.focus-wallpaper-card.active{border-color:#d15266b3;box-shadow:0 0 0 1px #d1526633}.focus-wallpaper-card.active span{color:#f1dce0}.focus-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.focus-character-card{cursor:pointer;text-align:left;background:#ffffff04;border:1px solid #d9dde51a;border-radius:8px;padding:5px}.focus-character-card img{aspect-ratio:3/4;object-fit:cover;object-position:center top;background:#0a0b10;border-radius:5px;width:100%;display:block}.focus-character-card span{color:#ded3d6;margin-top:5px;font-size:.58rem;display:block}.focus-character-card small{color:#77747d;margin-top:1px;font-size:.5rem;display:block}.focus-character-card.active{background:#9d1c3117;border-color:#d15266ad}.focus-toggles{flex-direction:column;gap:11px;display:flex}.focus-switch,.focus-range{color:#c7c1c5;justify-content:space-between;align-items:center;gap:12px;font-size:.69rem;display:flex}.focus-switch span,.focus-range span{align-items:center;gap:7px;display:inline-flex}.focus-switch input{accent-color:var(--red-bright)}.focus-range{flex-direction:column;align-items:stretch;gap:7px}.focus-range span{justify-content:space-between}.focus-range b{color:#d7a8b0;font-weight:500}.focus-range input[type=range],.focus-sound-row input[type=range]{width:100%;accent-color:var(--red-bright)}.focus-panel-note{color:#817c85;border-top:1px solid #d9dde514;margin-top:17px;padding-top:12px;font-size:.61rem;line-height:1.65}.q-companion-wrap{z-index:4;width:clamp(170px,22vw,310px);position:absolute;bottom:clamp(92px,10vh,138px);right:clamp(8px,2.8vw,46px)}.q-companion{cursor:pointer;width:100%;height:clamp(240px,41vh,450px);color:var(--silver);-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:block;position:relative}.q-companion:focus-visible{outline-offset:4px;border-radius:16px;outline:1px solid #e1a6b0cc}.q-companion-glow{filter:blur(26px);opacity:.7;background:radial-gradient(#b4263c4d,#0000 70%);border-radius:50%;height:35%;position:absolute;bottom:4%;left:4%;right:4%}.q-model-host{display:block;position:absolute;inset:0}.q-model-host canvas{display:block;width:100%!important;height:100%!important}.q-fallback{object-fit:contain;object-position:center bottom;width:92%;height:77%;position:absolute;inset:7% 4% 16%}.q-loading{letter-spacing:.2em;text-transform:uppercase;color:#b79ba3;font-size:.58rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.q-companion-caption{opacity:.78;text-shadow:0 2px 12px #000;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;bottom:0;left:0;right:0}.q-companion-caption span{font-family:var(--serif);color:#f0e2e5;font-size:.85rem}.q-companion-caption small{letter-spacing:.17em;text-transform:uppercase;color:#e1d2d78c;font-size:.48rem}.q-bubble{color:#eadde0;z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#140d12f2,#0a0c11eb);border:1px solid #d1526657;border-radius:13px 13px 3px;width:min(265px,31vw);padding:12px 28px 12px 14px;animation:.32s cubic-bezier(.2,.75,.2,1) both q-bubble-in;position:absolute;bottom:57%;right:calc(100% - 16px);box-shadow:0 20px 50px #00000059,0 0 30px #9d1c3114}.q-bubble p{font-family:var(--serif);margin:0;font-size:1rem;line-height:1.55}.q-bubble span{letter-spacing:.01em;color:#a9a1aa;margin-top:6px;font-size:.59rem;line-height:1.5;display:block}.q-bubble:after{content:"";border-top:11px solid #140d12f2;border-left:12px solid #0000;width:0;height:0;position:absolute;bottom:-10px;right:0}.q-bubble-close{color:#b58e96;cursor:pointer;background:0 0;border:0;font-size:1rem;position:absolute;top:4px;right:6px}.q-companion-wrap.has-bubble{z-index:6}.focus-setup-hero{background-position:50%;background-size:cover;border:1px solid #d9dde51f;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:center;min-height:410px;margin-bottom:18px;padding:clamp(24px,3vw,42px);display:grid;position:relative;overflow:hidden}.focus-setup-hero:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0506094d);position:absolute;inset:0}.focus-setup-copy{z-index:1;max-width:560px;position:relative}.focus-setup-copy h2{font-family:var(--serif);color:#f2e8ea;margin:11px 0 10px;font-size:clamp(2.1rem,3.6vw,3.4rem);line-height:1.02}.focus-setup-copy p{color:#b1a8ad;max-width:470px;font-size:.85rem;line-height:1.75}.focus-setup-badges{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.focus-setup-badges span{letter-spacing:.04em;color:#d1c2c7;background:#0a0c1173;border:1px solid #e1dbdf24;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:.58rem;display:inline-flex}.focus-setup-quote{font-family:var(--serif);color:#d9c6cb;border-left:1px solid #c4475a73;max-width:460px;margin-top:20px;padding-left:13px;font-size:.93rem;font-style:italic}.focus-setup-quote span{font-family:var(--sans);color:#8d858e;margin-top:5px;font-size:.61rem;font-style:normal;display:block}.focus-setup-preview{z-index:1;opacity:.9;place-items:center;min-height:300px;display:grid;position:relative;overflow:visible}.focus-setup-preview .focus-clock{transform-origin:50%;transform:scale(.55)}.focus-setup-preview .focus-clock-flip .focus-clock-caption{display:none}.focus-setup-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px;min-width:0;display:grid}.focus-setup-card{border:1px solid var(--line);background:linear-gradient(145deg,#ffffff06,#ffffff02);border-radius:14px;min-width:0;padding:22px}.focus-setup-card h3{font-family:var(--serif);color:#e9dfe2;margin:4px 0 15px;font-size:1.45rem}.focus-inline-field{margin-top:14px}.focus-inline-field label{letter-spacing:.08em;text-transform:uppercase;color:#8f8991;margin-bottom:6px;font-size:.62rem;display:block}.focus-direction{background:#ffffff04;border:1px solid #d9dde51c;border-radius:8px;gap:2px;margin:14px 0 12px;padding:3px;display:inline-flex}.focus-direction button{color:#928c95;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:6px 11px;font-size:.62rem}.focus-direction button.active{color:#f0dfe2;background:#9d1c314d}.focus-style-rail-setup{justify-content:stretch;width:100%;margin-bottom:14px;overflow-x:auto}.focus-style-rail-setup .focus-style-btn{flex:1;min-width:74px}.focus-begin{justify-content:center;width:100%;margin-top:16px}.focus-admin-link{justify-content:center;width:100%;margin-top:14px}.focus-wallpaper-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.focus-character-strip{gap:7px;margin-top:13px;padding:3px 0 8px;display:flex;overflow-x:auto}.focus-character-chip{cursor:pointer;background:#ffffff04;border:1px solid #d9dde51a;border-radius:8px;flex:0 0 58px;padding:3px}.focus-character-chip img{aspect-ratio:3/4;object-fit:cover;background:#090a0e;border-radius:5px;width:100%;display:block}.focus-character-chip span{text-align:center;color:#969098;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:.47rem;display:block;overflow:hidden}.focus-character-chip.active{border-color:#d1526699}.focus-done{background-position:50%;background-size:cover;place-items:center;min-height:500px;display:grid;overflow:hidden}.focus-done-inner{text-align:center;max-width:580px;padding:34px}.focus-done-inner h2{font-family:var(--serif);color:#f4eaec;font-size:clamp(2.3rem,4vw,3.6rem)}.focus-done-line{text-align:left;background:#080a0e94;border:1px solid #d9dde51f;border-radius:10px;align-items:center;gap:13px;max-width:480px;margin:22px auto;padding:12px;display:flex}.focus-done-avatar img{object-fit:cover;border-radius:6px;width:54px;height:74px}.focus-done-line p{font-family:var(--serif);margin:0;font-size:1rem}.focus-done-line small{color:#9d959e;margin-top:4px;font-size:.67rem;display:block}.focus-admin-stats{flex-wrap:wrap;gap:7px;margin-bottom:16px;display:flex}.focus-admin-stats span{border:1px solid var(--line);color:#9d969e;background:#ffffff04;border-radius:6px;padding:7px 10px;font-size:.62rem}.focus-admin-stats b{color:#e2d3d6;font-weight:500}.focus-admin-message{justify-content:space-between;align-items:center;display:flex}.focus-admin-message button{color:var(--red-bright);cursor:pointer;background:0 0;border:0}.focus-admin-layout{grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);align-items:start;gap:18px;display:grid}.focus-admin-toolbar{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:11px;display:flex}.focus-admin-toolbar h2{font-family:var(--serif);margin-top:3px;font-size:1.55rem}.focus-admin-filters{flex-wrap:wrap;gap:4px;margin-bottom:11px;display:flex}.focus-admin-filters button{border:1px solid var(--line);color:#918b94;cursor:pointer;background:0 0;border-radius:5px;padding:4px 7px;font-size:.58rem}.focus-admin-filters button.active{color:#efdce0;background:#9d1c3129;border-color:#c4475a6b}.focus-line-list{flex-direction:column;gap:8px;max-height:calc(100vh - 240px);padding-right:4px;display:flex;overflow-y:auto}.focus-line-card{border:1px solid var(--line);background:#ffffff05;border-radius:9px;padding:12px 13px}.focus-line-card.editing{background:#9d1c3114;border-color:#c4475a73}.focus-line-card.disabled{opacity:.55}.focus-line-top{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.focus-line-trigger{letter-spacing:.1em;text-transform:uppercase;color:#d195a0;font-size:.53rem}.focus-line-character{color:#8f8791;font-size:.56rem}.focus-line-card>p{font-family:var(--serif);color:#e3d8db;margin:8px 0 7px;font-size:.94rem;line-height:1.55}.focus-line-meta{color:#77717a;flex-wrap:wrap;gap:7px 12px;font-size:.52rem;display:flex}.focus-line-actions{flex-wrap:wrap;gap:4px;margin-top:9px;display:flex}.focus-admin-preview{border:1px solid var(--line);background:radial-gradient(circle at 50% 40%,#251016,#07080c 70%);border-radius:14px;height:460px;margin-bottom:14px;position:relative;overflow:hidden}.focus-admin-preview-bg{background:radial-gradient(at 50% 75%,#9d1c3133,#0000 60%);position:absolute;inset:0}.focus-admin-preview .q-companion-wrap{width:220px;bottom:42px;right:50%;transform:translate(50%)}.focus-admin-preview .q-companion{height:330px}.focus-admin-preview .q-bubble{width:auto;margin:0;inset:10px 10px auto}.focus-admin-preview .q-bubble:after{display:none}.focus-admin-preview-tools{justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.focus-admin-preview-tools span{font-family:var(--mono);color:#7e7580;font-size:.54rem}.focus-admin-form,.focus-admin-sounds{border:1px solid var(--line);background:#ffffff05;border-radius:12px;margin-bottom:14px;padding:17px}.focus-admin-form-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.focus-admin-form-head h2{font-family:var(--serif);margin-top:2px;font-size:1.3rem}.focus-form-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.focus-form-grid label,.focus-form-full{letter-spacing:.06em;text-transform:uppercase;color:#857e87;flex-direction:column;gap:4px;font-size:.55rem;display:flex}.focus-form-grid select,.focus-form-grid input,.focus-form-full textarea,.focus-admin-form input,.focus-admin-form textarea{width:100%}.focus-form-full{margin-top:9px}.focus-form-grid.numbers{grid-template-columns:repeat(3,1fr);margin-top:9px}.focus-form-grid.numbers label{text-transform:none;letter-spacing:0}.focus-check{align-items:center;padding-top:15px;text-transform:none!important;letter-spacing:0!important;flex-direction:row!important;gap:6px!important}.focus-admin-save{gap:6px;margin-top:13px;display:flex}.focus-upload{border-bottom:1px solid #d9dde514;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:10px;padding-bottom:11px;display:flex}.focus-upload input[type=file]{color:#aaa2aa;max-width:170px;font-size:.56rem}.focus-upload input[type=text],.focus-upload input:not([type]){width:130px}.focus-sound-list{flex-direction:column;gap:6px;display:flex}.focus-sound-row{border-bottom:1px solid #d9dde50f;grid-template-columns:auto minmax(0,1fr) 90px auto auto;align-items:center;gap:7px;padding:6px 0;display:grid}.focus-sound-row.disabled{opacity:.5}.focus-sound-row b{color:#d8cdd0;font-size:.64rem;font-weight:500;display:block}.focus-sound-row small{color:#817a83;font-size:.5rem;display:block}.focus-asset-notice{color:#998b90;border:1px solid #c4475a2e;border-radius:8px;align-items:flex-start;gap:8px;margin-top:16px;padding:11px 13px;font-size:.59rem;line-height:1.6;display:flex}.focus-asset-notice svg{color:#bd6a79;flex:none;margin-top:2px}@keyframes flip-card{0%{filter:brightness(.55);transform:rotateX(-92deg)}to{filter:brightness();transform:rotateX(0)}}@keyframes colon-pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes minimal-in{0%{opacity:0;filter:blur(3px);transform:translateY(7px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes focus-panel-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes q-bubble-in{0%{opacity:0;transform:translateY(5px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:1100px){.focus-admin-layout{grid-template-columns:minmax(0,1fr)}.focus-admin-preview{height:430px}.q-companion-wrap{width:clamp(160px,24vw,230px)}.flip-card{width:clamp(58px,7vw,92px);height:clamp(88px,10.5vw,142px)}.focus-setup-hero{grid-template-columns:1fr;min-height:0}.focus-setup-preview{display:none}}@media (max-width:900px){.focus-stage-top{padding:16px 15px}.focus-stage-label{max-width:40vw;font-size:1rem}.focus-stage-mode{display:none}.focus-center{padding:0}.focus-clock-flip{gap:4px}.flip-card{border-radius:7px;width:clamp(45px,11vw,72px);height:clamp(70px,17vw,110px)}.flip-face{font-size:clamp(2.2rem,9vw,4rem)}.flip-colon{width:8px;height:36px}.flip-colon:before,.flip-colon:after{width:4px;height:4px;margin-left:-2px}.focus-clock-circle,.focus-clock-dial{width:min(74vw,350px)}.focus-time-text{font-size:clamp(2.5rem,10vw,4.2rem)}.minimal-time{font-size:clamp(3.6rem,18vw,7rem)}.dial-time{font-size:.7rem}.focus-stage-bottom{gap:6px;bottom:12px}.focus-transport{padding:4px}.focus-transport-btn{padding:7px 8px;font-size:.58rem}.focus-transport-btn.subtle{display:none}.focus-style-rail{max-width:calc(100vw - 20px);overflow-x:auto}.focus-style-btn{min-width:66px;padding:5px 7px}.focus-style-btn span{font-size:.58rem}.focus-style-btn small{font-size:.44rem}.q-companion-wrap{width:150px;bottom:108px;right:-2px}.q-companion{height:138px}.q-companion-caption span{font-size:.68rem}.q-companion-caption small{display:none}.q-bubble{width:auto;font-size:.9rem;position:fixed;inset:74px 14px auto}.q-bubble p{font-size:.85rem}.q-bubble:after{display:none}.focus-scene-panel{border-top:1px solid #d9dde51f;border-left:0;border-radius:16px 16px 0 0;width:100%;height:74vh;animation:.24s cubic-bezier(.2,.75,.2,1) both focus-panel-up;top:auto}.focus-setup-grid{grid-template-columns:minmax(0,1fr)}.focus-wallpaper-grid.compact{grid-template-columns:repeat(3,1fr)}.focus-admin-layout{grid-template-columns:1fr}.focus-line-list{max-height:none;overflow:visible}.focus-admin-preview{height:390px}.focus-admin-preview .q-companion-wrap{width:180px}.focus-admin-preview .q-companion{height:280px}.focus-form-grid{grid-template-columns:1fr}.focus-form-grid.numbers{grid-template-columns:repeat(3,1fr)}.focus-sound-row{grid-template-columns:auto minmax(0,1fr) auto auto}.focus-sound-row input[type=range]{display:none}}@media (max-width:560px){.focus-stage-top{padding:12px}.focus-stage-mark{font-size:.48rem}.focus-stage-label{max-width:35vw;font-size:.88rem}.focus-stage-actions{gap:4px}.focus-icon-btn{width:32px;height:32px}.focus-center{padding:0}.flip-card{width:clamp(39px,10.5vw,53px);height:clamp(62px,16vw,82px)}.flip-face{font-size:clamp(1.9rem,8.5vw,2.5rem)}.flip-colon{width:7px;height:32px}.flip-colon:before,.flip-colon:after{width:4px;height:4px;margin-left:-2px}.focus-clock-flip .focus-clock-caption{font-size:.44rem;bottom:-21px}.focus-clock-circle,.focus-clock-dial{width:min(82vw,320px)}.focus-time-text{font-size:clamp(2.2rem,11vw,3.2rem)}.minimal-time{font-size:clamp(3.2rem,19vw,5.4rem)}.focus-clock-caption{font-size:.47rem}.q-companion-wrap{width:116px;bottom:108px}.q-companion{height:124px}.q-bubble{width:auto;padding:10px 24px 10px 11px;inset:70px 12px auto}.q-bubble p{font-size:.77rem}.q-bubble span{font-size:.52rem}.focus-style-btn{min-width:58px;padding:4px 5px}.focus-style-btn small{display:none}.focus-transport-btn{gap:4px;padding:7px}.focus-stage-message{bottom:154px}.focus-setup-hero{padding:20px}.focus-wallpaper-grid.compact{grid-template-columns:repeat(2,1fr)}.focus-setup-card{padding:16px}.focus-admin-layout{display:block}.focus-admin-preview{height:350px}.focus-admin-preview .q-companion-wrap{width:150px;bottom:30px}.focus-admin-preview .q-companion{height:250px}.focus-admin-preview-tools{flex-direction:column;align-items:flex-start}}@keyframes focus-panel-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}body[data-reduced-motion=true] .flip-card,body[data-reduced-motion=true] .minimal-time,body[data-reduced-motion=true] .focus-scene-panel,body[data-reduced-motion=true] .q-bubble,body[data-reduced-motion=true] .focus-stage-wallpaper,body[data-animation=off] .flip-card,body[data-animation=off] .minimal-time,body[data-animation=off] .focus-scene-panel,body[data-animation=off] .q-bubble{animation:none!important}@media (prefers-reduced-motion:reduce){.flip-card,.minimal-time,.focus-scene-panel,.q-bubble,.focus-stage-wallpaper{animation:none!important}}
