.bonus-box{margin:4px 0 12px;padding:12px 14px;border-radius:12px;background:#ffd1660f;border:1px solid rgba(255,209,102,.25);font-size:14px;line-height:1.5}.bonus-box p{margin:0}.bonus-box .bonus-main{color:var(--text)}.bonus-box .bonus-big{color:var(--gold);font-variant-numeric:tabular-nums}.bonus-box.bonus-box-plain{color:var(--muted);font-size:13px}.bonus-box details{margin-top:8px}.bonus-box summary{cursor:pointer;color:var(--accent2);font-size:13px;min-height:28px;display:flex;align-items:center}.bonus-box dl{margin:6px 0 8px;display:grid;gap:2px;font-size:13px}.bonus-box dl>div{display:flex;justify-content:space-between;gap:12px}.bonus-box dt{color:var(--muted)}.bonus-box dd{margin:0;font-weight:600;color:var(--gold);font-variant-numeric:tabular-nums}.bonus-box details p{font-size:13px;color:var(--muted)}.nowrap,.num{white-space:nowrap}.question{position:relative}.question h3{padding-right:3.2em}.lvl-dots{position:absolute;top:2px;right:0;display:inline-flex;gap:3px;align-items:center}.lvl-dots i{width:7px;height:7px;border-radius:50%;border:1px solid var(--muted);background:transparent}.lvl-dots i.on{background:var(--muted)}.qf .seg-label{font-size:12px;color:var(--muted);align-self:center}.level-panel .row{align-items:center}.daily-streak{color:var(--gold);font-size:13px}.daily-squares{display:flex;gap:6px;margin:4px 0 10px}.daily-squares span{width:28px;height:28px;border-radius:6px;border:1px solid var(--line-strong);background:#ffffff0a}.daily-squares span.ok{background:#2fa36b;border-color:var(--good)}.daily-squares span.no{background:#b3364f;border-color:var(--bad)}.daily-squares span.now{border-color:var(--accent2);box-shadow:0 0 0 2px #4ee1ff40}.daily-count{margin:0 0 6px}.daily-share{margin:8px 0;padding:10px 12px;border-radius:10px;background:#ffffff0d;border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;font:inherit;-webkit-user-select:all;user-select:all}@media (max-width: 480px){.daily-squares span{width:24px;height:24px}}.qf{display:grid;gap:8px;margin:10px 0}.qf .seg{flex-wrap:wrap}.qf .seg button{min-height:40px}.qf-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 12px}.qf-chips .chip-btn{min-height:36px}.small-note{font-size:13px;margin:0 0 6px}.hard-panel,.teacher-panel{margin-top:16px}.teacher-panel .btn,.hard-panel .btn{min-height:44px}.check{display:inline-flex;gap:8px;align-items:center;min-height:40px}.check input{width:20px;height:20px}.booklet-page{max-width:900px;margin:0 auto}.booklet-tools{display:grid;gap:10px;margin-bottom:18px}.booklet-tools h2{font-size:20px}.booklet{background:#fff;color:#111;border-radius:8px;padding:28px 32px;font:15px/1.45 Georgia,Times New Roman,serif;box-shadow:0 10px 40px #00000080}.booklet h1{font:700 24px/1.2 var(--display);margin-bottom:4px;color:#111}.booklet h2{font:700 20px/1.2 var(--display);margin:0 0 10px;color:#111}.booklet-sel{margin:0 0 14px;color:#444}.booklet-fields{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:18px}.booklet-fields span{flex:1 1 220px;display:flex;gap:6px;align-items:flex-end}.booklet-fields i{flex:1;border-bottom:1px solid #111;height:1.2em}.booklet-qs{padding-left:1.6em;margin:0;display:grid;gap:14px}.booklet-qs>li{break-inside:avoid;page-break-inside:avoid}.booklet .bq{margin:0 0 4px;font-weight:700}.booklet .bopts{list-style:none;padding:0;margin:0;display:grid;gap:2px}.booklet .bopts li{display:flex;gap:8px;align-items:baseline}.booklet .bbox{width:11px;height:11px;border:1.3px solid #111;border-radius:2px;flex:none;transform:translateY(1px)}.booklet-key{margin-top:32px;padding-top:18px;border-top:2px solid #111;break-before:page;page-break-before:always}.booklet-key ol{padding-left:1.8em;margin:0;display:grid;gap:5px;font-size:13.5px}.booklet-key li{break-inside:avoid}.booklet .bexp{color:#444}.projector{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;background:radial-gradient(ellipse at top,#151a38,#04050c 70%);color:var(--text);outline:none;padding:clamp(14px,3vw,40px);gap:clamp(10px,2vh,24px);overflow:auto}.proj-top,.proj-bottom{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap}.proj-count{font:700 clamp(20px,2.4vw,34px) var(--display);color:var(--gold)}.proj-sel{color:var(--muted);font-size:clamp(14px,1.6vw,22px);flex:1;text-align:center}.proj-main{flex:1;display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,3vh,36px);max-width:1400px;width:100%;margin:0 auto}.proj-q{font:700 clamp(26px,4.4vw,68px)/1.2 var(--display)}.proj-opts{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.6vw,22px)}.proj-opt{display:flex;gap:16px;align-items:center;padding:clamp(12px,2vw,26px);border-radius:18px;border:2px solid var(--line-strong);background:#ffffff0d;font-size:clamp(18px,2.6vw,40px);line-height:1.25;transition:.2s}.proj-key{flex:none;width:1.6em;height:1.6em;border-radius:12px;display:grid;place-items:center;background:#ffffff1a;font-weight:700}.proj-opt.right{border-color:var(--good);background:#63f2b02e}.proj-opt.dim{opacity:.45}.proj-exp{min-height:3em;font-size:clamp(16px,2vw,30px);line-height:1.4}.proj-exp p{margin:0}.proj-bottom .btn{min-height:52px;font-size:clamp(16px,1.8vw,24px);padding:8px 22px}.proj-top .btn{min-height:44px}.proj-keys{font-size:13px;flex:1;text-align:center}.proj-end{text-align:center;display:grid;gap:20px;justify-items:center}.proj-end h2{font-size:clamp(28px,4vw,56px)}@media (max-width: 700px){.proj-opts{grid-template-columns:1fr}.proj-keys{display:none}.booklet{padding:18px 16px}}.school-card{display:grid;gap:12px;max-width:640px}.school-card h2{font-size:22px}.school-card .eyebrow{margin:0}.school-fact{font-size:17px;line-height:1.6;margin:0}.school-img{width:100%;max-height:220px;object-fit:cover;border-radius:12px}.school-card .btn.big{margin-top:4px}@media print{@page{margin:14mm}html,body,#root{height:auto!important;overflow:visible!important;background:#fff!important}.app{display:block!important;height:auto!important;background:#fff!important}.app-bg,.topbar,.nav,.toasts,.quiz-pill,.quiz-pop,.banner,.modal-back,.projector,.no-print{display:none!important}.main{overflow:visible!important;position:static!important;height:auto!important}.page,.page.booklet-page{padding:0!important;max-width:none!important;margin:0!important}.booklet{box-shadow:none!important;border-radius:0!important;padding:0!important;font-size:12pt}.booklet *{color:#000!important}.booklet-key{break-before:page;page-break-before:always}}.start-class{display:grid;gap:8px;margin-top:12px;justify-items:start}.start-pick{display:grid;gap:4px}.start-class .btn{min-height:44px}.lessons-page .start-class{margin:12px 0}.count-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0}.count-picker .seg-label{padding:0 8px;align-self:center;color:var(--muted, #9aa);font-size:13px}.tree-root{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.tree-wrap{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.tree-wrap:active{cursor:grabbing}.tree{display:block}.tree-world{will-change:transform}.era-band{fill:#ffffff03}.era-band.odd{fill:#8b7bff08}.era-title{fill:var(--accent2);font:600 12px var(--font);letter-spacing:.14em;text-transform:uppercase}.era-name{fill:var(--text);font:700 18px var(--display)}.era-band.here{fill:#63f2b009}.lane-tint{fill:var(--c);fill-opacity:.045;pointer-events:none}.lane-line{stroke:var(--line);stroke-dasharray:4 8}.tree-lanes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.tree-lanes span{position:absolute;left:8px;top:0;padding:2px 8px;border-radius:10px;background:#05060db3;color:color-mix(in srgb,var(--c) 80%,#fff);font:600 12px var(--display);white-space:nowrap;will-change:transform}.edge{pointer-events:none;fill:none;stroke:#a0b4ff12;stroke-width:1.5}.edge.done{stroke:var(--c);stroke-opacity:.22;stroke-width:1.5}.edge.open{stroke:var(--c);stroke-opacity:.14;stroke-dasharray:5 7}.edge.old{stroke-opacity:.08}.edge.long{stroke-opacity:.035;stroke-width:1;stroke-dasharray:none}.edge.done.long,.edge.open.long{stroke-opacity:.035}.edge.front{stroke:var(--c);stroke-opacity:.9;stroke-width:3;stroke-dasharray:7 6;animation:dash 1.2s linear infinite}.edge.front.long{stroke-opacity:.3;stroke-width:1.8;animation:none}.edge.hov{stroke:var(--c);stroke-opacity:.95;stroke-width:3;stroke-dasharray:none}.edge.sel{stroke:#fff;stroke-opacity:.95;stroke-width:3.5;stroke-dasharray:none;animation:none}.edge.dim{stroke-opacity:.03}@keyframes dash{to{stroke-dashoffset:-26}}.tn{cursor:pointer}.tn .hit{fill:transparent;stroke:none}.tn .ring{fill:#0b0e1e;stroke:color-mix(in srgb,var(--c) 40%,transparent);stroke-width:2}.tn .halo{fill:none;stroke:none}.tn .emoji{font-size:22px}.tn .label{fill:var(--muted);font:500 12px var(--font);paint-order:stroke;stroke:#05060d;stroke-width:4px}.tn.locked{opacity:.5}.tn.locked image{filter:grayscale(1)}.tn.available .ring{stroke:color-mix(in srgb,var(--c) 70%,transparent);stroke-dasharray:4 3}.tn.affordable .ring{stroke:var(--good);stroke-width:3}.tn.affordable .halo{stroke:var(--good);stroke-width:2;opacity:.5;animation:halo 1.6s ease-in-out infinite}@keyframes halo{50%{opacity:.05}}.tn.has .ring,.tn.owned .ring{stroke:var(--c);stroke-width:3;filter:url(#glow)}.tn.has .label,.tn.owned .label,.tn.affordable .label,.tn.available .label{fill:var(--text)}.tn.sel .ring{stroke:#fff;stroke-width:4}.tn.dim{opacity:.22}.tn:hover .ring{stroke-width:4}.tn .lvl-bg{fill:var(--c)}.tn .lvl{fill:#05060d;font:700 10px var(--font)}.tn.fog circle{fill:#ffffff08;stroke:#ffffff14}.tn.fog text{fill:#fff3;font:700 13px var(--font)}.tn.far .ring{filter:none;fill:color-mix(in srgb,var(--c) 35%,#0b0e1e)}.tn.far.locked .ring{fill:#0b0e1e}.tn.far.has .ring,.tn.far.owned .ring{fill:var(--c)}.tn.far.affordable .ring{fill:var(--good)}.tree-wrap.moving .tn .ring{filter:none}.tree-wrap.moving .edge,.tree-wrap.moving .tn .halo{animation:none}.tree-bar{flex:none;display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);background:#060814d9}.tree-tools{flex:none;display:flex;gap:6px;padding:4px 12px 4px 0}.tree-tools .btn{background:var(--glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:44px;min-height:44px;font-size:18px}.tree-tools .btn.fit{font-size:14px}.tree-subjects{z-index:3;position:absolute;left:0;right:0;top:0;display:flex;gap:6px;padding:8px 12px;overflow-x:auto;scrollbar-width:none;touch-action:pan-x;background:linear-gradient(180deg,rgba(5,6,13,.85),transparent)}.tree-subjects::-webkit-scrollbar{display:none}.tree-chip{flex:none;min-height:40px;padding:0 12px;border-radius:20px;border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:var(--glass-strong);color:var(--text);font:500 13px var(--font);white-space:nowrap;cursor:pointer}.tree-chip[aria-pressed=true]{background:color-mix(in srgb,var(--c) 35%,#0b0e1e);border-color:var(--c)}.tree-front{z-index:3;position:absolute;left:50%;top:64px;transform:translate(-50%);min-height:44px;padding:0 16px;border-radius:22px;border:1px solid var(--good);background:var(--glass-strong);color:var(--good);font:600 14px var(--font);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:frontpulse 1.8s ease-in-out infinite}@keyframes frontpulse{50%{box-shadow:0 0 16px #63f2b080}}@media (max-width: 860px){.tree-bar{flex-wrap:wrap;gap:0}.tree-bar .tree-eras{flex:1 1 100%}.tree-tools{flex:1 1 100%;justify-content:center;gap:10px;padding:6px 8px;border-top:1px solid var(--line)}.tree-tools .btn{flex:1;max-width:90px}.tree-front{top:56px}}@media (max-height: 500px) and (orientation: landscape){.tree-bar{flex-wrap:nowrap}.tree-bar .tree-eras{flex:1 1 0;border-top:none}.tree-tools{flex:none;border-top:none;padding:2px 8px 2px 0;gap:4px}.tree-tools .btn{flex:none;max-width:none;min-height:40px;padding-inline:10px}.tree-front{top:52px}}.tn .glyph{color:var(--c);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--c) 60%,transparent))}.tn.locked .glyph,.tn.fog .glyph{opacity:.55}.tree-eras{flex:1 1 0;min-width:0;display:flex;gap:4px;padding:4px 0;overflow-x:auto;scrollbar-width:none;touch-action:pan-x}.tree-eras::-webkit-scrollbar{display:none}.tree-eras:before,.tree-eras:after{content:"";flex:0 0 calc(50% - 24px)}.tree-era{flex:none;min-width:40px;min-height:40px;border-radius:10px;border:1px solid var(--line);background:var(--glass-strong);color:var(--muted);font:600 13px var(--font);cursor:pointer}.tree-era.here{color:var(--text);border-color:var(--accent2);background:color-mix(in srgb,var(--accent2) 22%,#0b0e1e)}.tree-tools .btn.now{font-size:14px}@media (min-width: 861px){.tree-eras{margin-left:300px;border-radius:0}}.tree-tools .btn{white-space:nowrap}@media (max-width: 380px){.tree-tools{gap:6px;padding-inline:6px}.tree-tools .btn{padding-inline:6px;font-size:13px}}.tn .xmark circle{fill:#0b0e1e;stroke:var(--x);stroke-width:2}.tn .xmark circle.on{fill:var(--x)}.hover-edges .edge.hov{stroke-opacity:.95}.tree-erastrip{position:absolute;left:0;right:0;height:30px;overflow:hidden;pointer-events:none;z-index:1}.tree-erastrip span{position:absolute;left:0;top:0;height:30px;box-sizing:border-box;padding:0 8px;display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap;border-left:1px solid var(--line);background:#05060d99}.tree-erastrip b{font:700 13px var(--display);color:var(--accent2)}.tree-erastrip i{font:600 12px var(--display);font-style:normal;color:var(--text);overflow:hidden;text-overflow:ellipsis}.tree-erastrip span.here{background:color-mix(in srgb,var(--good) 14%,rgba(5,6,13,.7))}.tree-erastrip span.here b{color:var(--good)}.tree-eras{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%)}.tree-wrap>svg.tree{-webkit-mask-image:linear-gradient(90deg,transparent 24px,#000 64px,#000 calc(100% - 40px),transparent 100%);mask-image:linear-gradient(90deg,transparent 24px,#000 64px,#000 calc(100% - 40px),transparent 100%)}.tn .label{font-size:12px}.tree-xlegend{position:absolute;left:8px;bottom:6px;z-index:2;display:flex;align-items:center;gap:6px;max-width:min(420px,calc(100% - 16px));padding:3px 8px;border-radius:10px;background:#05060db8;color:var(--muted);font:500 11px/1.25 var(--font);pointer-events:none}.tree-xlegend svg{flex:none}.tree-xlegend circle{fill:#0b0e1e;stroke:var(--accent2);stroke-width:2}.tree-tools .btn.subj{font-size:13px}.chips-off .tree-subjects{display:none}.chips-off .tree-front{top:8px}@media (max-height: 500px),(max-width: 380px){.tree-subjects{overflow-x:auto}.tree-xlegend{font-size:10px;padding:2px 6px;bottom:4px}}.tree-eras{scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 14px,#000 52px,#000 calc(100% - 52px),rgba(0,0,0,.35) calc(100% - 14px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 14px,#000 52px,#000 calc(100% - 52px),rgba(0,0,0,.35) calc(100% - 14px),transparent 100%)}.tree-era{scroll-snap-align:center}.tm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;padding:0 8px 6px;box-sizing:border-box;background:var(--bg, #05060d);animation:tmfade .18s ease-out;cursor:default}@keyframes tmfade{0%{opacity:0}}.tm-grid{--lw: 150px;flex:1;min-height:0;display:grid;grid-template-columns:var(--lw) repeat(var(--ne),minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:minmax(22px,1fr);gap:3px;position:relative}.tm-row{display:contents}.tm-era{min-width:0;border:0;border-radius:6px;padding:3px 2px;background:#8b7bff12;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font:500 11px/1.15 var(--font);overflow:hidden}.tm-era b{font:700 14px var(--display);color:var(--text)}.tm-era i{font-size:10.5px;font-style:normal;text-align:center;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;word-break:normal;max-height:4.6em;overflow:hidden}.tm-era.here{background:color-mix(in srgb,var(--good) 18%,#0b0e1e);color:var(--text)}.tm-era:hover,.tm-era:focus-visible{background:color-mix(in srgb,var(--accent2) 28%,#0b0e1e)}.tm-lane{display:flex;align-items:center;gap:6px;min-width:0;padding:0 4px;color:color-mix(in srgb,var(--c) 80%,#fff);font:600 12px var(--display)}.tm-lane .icon{flex:none;width:16px;height:16px}.tm-lane em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tm-cell,.tm-empty{min-width:0;min-height:0;border-radius:5px}.tm-empty{background:repeating-linear-gradient(45deg,transparent 0 4px,rgba(255,255,255,.025) 4px 5px)}.tm-cell{position:relative;border:1px solid color-mix(in srgb,var(--c) 28%,transparent);padding:0;cursor:pointer;overflow:hidden;color:var(--text);background:linear-gradient(0deg,var(--c) 0 var(--o),var(--good) var(--o) var(--a),color-mix(in srgb,var(--c) 42%,transparent) var(--a) var(--v),transparent var(--v)),color-mix(in srgb,var(--c) 7%,#090c1a)}.tm-cell.has-aff{border-color:var(--good);box-shadow:0 0 0 1px var(--good)}.tm-cell:hover,.tm-cell:focus-visible{border-color:#fff;outline:none}.tm-n{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font:600 11px var(--font);text-shadow:0 0 3px #000,0 0 3px #000}.tm-cell.fut{opacity:.55}.tm-cell.fut .tm-n{display:none}.tm-here{position:absolute;border:1px dashed var(--good);border-radius:6px;pointer-events:none;opacity:.55}.tm-legend{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:6px 4px 0;color:var(--muted);font:500 12px var(--font)}.tm-legend span{display:inline-flex;align-items:center;gap:5px}.tm-legend .k{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid rgba(255,255,255,.3);background:#8b7bff;text-decoration:none}.tm-legend .k.aff{background:var(--good);border-color:var(--good)}.tm-legend .k.av{background:#8b7bff66}.tm-legend .k.lk{background:#090c1a}.tm-hint{margin-left:auto}@media (max-width: 860px){.tm-grid{--lw: 26px;gap:2px}.tm{padding-inline:4px}.tm-lane em,.tm-era i,.tm-n{display:none}.tm-lane{padding:0;justify-content:center}.tm-era b{font-size:11px}.tm-era{padding:3px 0}.tm-hint{margin-left:0;flex-basis:100%}.tm-legend{gap:2px 10px;font-size:11px}}@media (min-width: 861px) and (max-width: 1100px){.tm-grid{--lw: 120px}}@media (max-height: 520px),(max-width: 380px){.tm{padding-bottom:2px}.tm-grid{grid-auto-rows:minmax(9px,1fr);gap:1px}.tm-lane .icon{width:12px;height:12px}.tm-legend{flex-wrap:nowrap;gap:2px 10px;padding-top:3px;font-size:10px;white-space:nowrap;overflow:hidden}.tm-legend .k{width:9px;height:9px}.tm-hint{display:none!important}}.goals{padding:12px 14px}.goals .panel-head{margin-bottom:8px}.goals .panel-head h2{font-size:13px}.goals .panel-head small{font-size:11.5px}.goal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.goal{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:#ffffff08;transition:.2s}.goal.done{border-color:#63f2b073;background:#63f2b012}.goal-icon{flex:none;width:28px;text-align:center;font-size:18px}.goal-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.goal-body b{font-size:13.5px;font-weight:600;line-height:1.25}.goal-body .bar{height:4px}.goal-body small{color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.goal-claim{flex:none;min-height:36px;padding:0 12px;font-size:13px}.goal.done .goal-claim{background:linear-gradient(135deg,#2fd39a,#3fb8ff);border-color:transparent;color:#031;font-weight:700;animation:ready 1.8s ease-in-out infinite;--c: var(--good)}.goal-eta{margin:10px 2px 0;font-size:12.5px;color:var(--muted)}.goal-eta b{color:var(--accent2);font-weight:600}.scene-chip{display:inline-flex;align-items:baseline;gap:6px;margin-top:10px;padding:4px 12px;border-radius:999px;border:1px solid var(--line);background:#080a168c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:13px;color:var(--muted);letter-spacing:.02em}.scene-chip b{font-family:var(--display);font-size:15px;color:var(--accent2);font-weight:700;font-variant-numeric:tabular-nums}.world-side .node-row-text b{white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25}.world-side .next-gain{font-size:12px;color:var(--muted);line-height:1.35}.world-side .next-gain small{font-size:11.5px}.world-side .best-tag{font-style:normal;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;padding:0 6px;border-radius:999px;background:#63f2b026;color:var(--good);margin-right:2px}.world-swap{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;pointer-events:none;animation:world-swap 1.8s ease-out both}@keyframes world-swap{0%{opacity:1;filter:brightness(2.6) saturate(1.5);transform:scale(1.14)}to{opacity:0;filter:none;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.world-swap{display:none}}.cx-tools{display:grid;gap:10px;margin-bottom:14px}.cx-count{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cx-count b{font:700 18px var(--display)}.cx-count .bar{flex:1;min-width:120px}.cx-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cx-search,.cx-select{min-height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line-strong);background:#ffffff0d;color:inherit;font:inherit}.cx-search{flex:1;min-width:0}.cx-select{max-width:100%;min-width:0;flex:1 1 140px}.cx-select option{background:#12152a}.cx-tools .chip-btn,.cx-more{min-height:40px;display:inline-flex;align-items:center}.cx-era{position:sticky;top:0;z-index:2;font-size:18px;margin:22px 0 10px;padding:6px 0;background:linear-gradient(#0a0c18 70%,transparent);overflow-wrap:anywhere}.cx-grid{align-items:start;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.cx-card{border-radius:14px;border:1px solid var(--line);background:var(--glass);min-width:0;overflow:hidden}.cx-card.on{border-left:3px solid var(--c)}.cx-card.off{opacity:.82;border-style:dashed}.cx-head{background:none;border:0;color:inherit;display:flex;gap:12px;width:100%;text-align:left;padding:12px;min-height:40px;align-items:flex-start}.cx-head>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;align-items:flex-start}.cx-head b{overflow-wrap:anywhere}.cx-fact{font-size:13px;color:var(--muted)}.cx-card:not(.open) .cx-fact{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cx-head .cx-lock{width:64px;height:64px;flex:none;border-radius:14px;display:grid;place-items:center;font-size:24px;background:#ffffff0d}.cx-body{padding:0 12px 12px;display:grid;gap:10px}.cx-hero{width:100%;max-height:200px;object-fit:cover;border-radius:10px}.cx-q{border-top:1px solid var(--line);padding-top:8px;font-size:13.5px}.cx-q p{margin:2px 0}.cx-q .ans{color:var(--gold)}.cx-q .exp{color:var(--muted)}.cx-body .btn{min-height:40px;justify-self:start}.cx-more{margin:16px auto 0;display:flex;justify-content:center}.gn-era{font-size:18px;margin:22px 0 10px;overflow-wrap:anywhere}.gn-sub{color:var(--muted);font-size:13px;margin-left:8px;font-weight:400}.gn-from{font-size:12.5px}.gn-credit{font-size:11.5px;color:var(--muted);overflow-wrap:anywhere}.gn-credit a{color:inherit;text-decoration:underline}.genius-body{min-width:0}.genius.off .genius-portrait img{filter:grayscale(1) brightness(.45) blur(7px)}.genius-portrait .gn-init{font:700 26px var(--display);color:color-mix(in srgb,var(--c) 70%,#fff);text-shadow:0 0 12px var(--c)}.genius .btn.small{min-height:40px;align-self:flex-start;text-align:left}.era-bars{display:grid;gap:6px}.era-bar-row{display:grid;grid-template-columns:minmax(0,190px) 1fr 64px;gap:10px;align-items:center;min-height:28px;font-size:13px}.era-bar-row.cur{color:var(--gold);font-weight:600}.era-bar-row span:first-child{overflow-wrap:anywhere}.era-bar-row em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}@media (max-width: 640px){.cx-grid,.genius-grid{grid-template-columns:minmax(0,1fr)}.era-bar-row{grid-template-columns:1fr 64px;row-gap:3px;margin-bottom:4px}.era-bar-row .bar{grid-column:1 / -1;grid-row:2}}.seedtree{margin-top:16px}.seedtree .panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.seed-intro{margin:0 0 12px;font-size:13.5px}.seed-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.seed-opt{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#ffffff08;min-width:0}.seed-opt h3{font-size:14px}.seed-opt.save{border-color:#4ee1ff59;background:#4ee1ff0d}.seed-opt.spend{border-color:#ffd16666;background:#ffd1660d}.seed-big{font:700 24px var(--display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.seed-opt.save .seed-big{color:var(--accent2)}.seed-opt.spend .seed-big{color:var(--gold)}.seed-opt small{color:var(--muted);font-size:12px;line-height:1.4}.seed-sum{margin:10px 2px 4px;font-size:12.5px}.seed-sum b{color:var(--text);font-weight:600}.seed-branch{margin-top:16px}.seed-branch h3{font-size:15px}.seed-branch>p{margin:2px 0 8px;font-size:12.5px}.seed-branch ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.seed-up{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#ffffff08;text-align:left}.seed-up.can{border-color:#ffd16680}.seed-up.owned{border-color:#63f2b066;background:#63f2b00f}.seed-up.locked{opacity:.6}.seed-up-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.seed-up-body b{font-size:14px}.seed-up-body span{font-size:12.5px;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.seed-tag{align-self:flex-start;margin-top:2px;padding:1px 8px;border-radius:999px;background:#8b7bff2e;color:#c9c0ff;font-size:11px}.seed-tag.warn{background:#ff6b8b26;color:#ffb0c2}.seed-up-buy{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.seed-up-buy small{color:var(--muted);font-size:11px}.seedtree .btn.seed-buy{min-height:44px;min-width:110px;padding:0 12px;font-size:13px;white-space:nowrap}.seed-owned{color:var(--good);font-weight:600;font-size:13px;padding:0 6px}@media (max-width: 640px){.seed-choice{grid-template-columns:1fr}.seed-up{flex-direction:column;align-items:stretch}.seed-up-buy{flex-direction:row;align-items:center;justify-content:space-between}.seedtree .btn.seed-buy{flex:1}}.pf{display:grid;gap:10px}.pf h3{margin:8px 0 2px;font-size:15px}.pf-total{margin:0}.pf-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pf-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.pf-row{display:grid;grid-template-columns:minmax(0,150px) 1fr;grid-template-areas:"n b" ". m";gap:2px 10px;align-items:center;font-size:13px}.pf-row.has-go{grid-template-columns:minmax(0,150px) 1fr auto;grid-template-areas:"n b g" ". m g"}.pf-name{grid-area:n;overflow-wrap:anywhere;font-weight:600}.pf-bar{grid-area:b}.pf-bar .bar{height:10px}.pf-num{grid-area:m;color:var(--muted);font-variant-numeric:tabular-nums}.pf-num b{color:var(--text)}.pf-num em{font-style:normal}.pf-go{grid-area:g;align-self:center;min-height:44px;white-space:nowrap}.pf-era summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}.pf-era .pf-list{margin-top:6px}.pf-order{margin:0}.pf-panel .panel-head{flex-wrap:wrap;gap:8px}@media (max-width: 640px){.pf-two{grid-template-columns:1fr}.pf-row,.pf-row.has-go{grid-template-columns:1fr;grid-template-areas:"n" "b" "m" "g";gap:4px}.pf-go{justify-self:start}}.pf-proj-main{justify-content:flex-start}.pf-proj-title{font:700 clamp(24px,3vw,44px) var(--display)}.pf-big{gap:16px}.pf-big h3{font-size:clamp(20px,2.2vw,32px);margin-top:14px}.pf-big .pf-row{font-size:clamp(15px,1.6vw,24px);grid-template-columns:minmax(0,12em) 1fr;grid-template-areas:"n b" ". m"}.pf-big .pf-bar .bar{height:16px}.pf-big .pf-order,.pf-big .pf-total{font-size:clamp(16px,1.8vw,26px)}@media (max-width: 640px){.pf-big .pf-row{grid-template-columns:1fr;grid-template-areas:"n" "b" "m"}}.save-rescue{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:90;width:min(640px,calc(100% - 32px));display:grid;gap:10px;padding:14px 18px;border-radius:14px;border:1px solid var(--bad);background:var(--glass-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 12px 40px #0009}.save-rescue p{margin:0}.save-rescue .row{display:flex;gap:10px;flex-wrap:wrap}
