@property --m{syntax: "<number>"; inherits: true; initial-value: 0;}@property --lst{syntax: "<number>"; inherits: true; initial-value: 0;}.eco{--m: 0;--lst: 1;--row0: 15%;--row-step: 12.3%;--card-w: 44%;--card-h: calc(var(--row-step) - 1.4%);--k: 1;--eco-head: 76px;position:relative;background:var(--ink-surface);color:var(--on-surface);isolation:isolate;overflow-x:clip}.eco:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 50% at 72% 40%,color-mix(in srgb,var(--band-2) 32%,transparent),transparent 70%),radial-gradient(40% 40% at 10% 90%,color-mix(in srgb,var(--band-4) 14%,transparent),transparent 70%)}.eco .eyebrow{color:var(--band-4)}.eco h2{color:var(--on-surface);margin-bottom:20px}.eco-stage{padding:88px 0 32px}.eco-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px;align-items:center}.eco-captions{display:grid;min-height:190px}.eco-caption{grid-area:1 / 1;opacity:0;transform:translateY(14px);transition:opacity .36s var(--ease-standard),transform .36s var(--ease-standard);pointer-events:none}.eco-caption.is-active{opacity:1;transform:none;pointer-events:auto}.eco-caption strong{display:block;font-size:1.3rem;line-height:1.25;margin-bottom:10px;color:var(--band-4)}.eco-caption p{color:var(--on-surface-soft);margin:0;font-size:1.02rem;line-height:1.6}.eco-progress{margin-top:28px;height:3px;border-radius:3px;background:var(--on-surface-line);overflow:hidden}.eco-progress span{display:block;height:100%;width:calc(var(--p, 0) * 100%);background:linear-gradient(90deg,var(--band-2),var(--band-4));border-radius:inherit}.eco-skip{display:inline-block;margin-top:16px;font-size:.85rem;color:var(--on-surface-soft);text-decoration:none;border-bottom:1px dashed var(--on-surface-line)}.eco-skip:hover{color:var(--on-surface)}.eco-canvas{position:relative;aspect-ratio:16 / 11;width:100%}.eco-chaos{position:absolute;inset:0;pointer-events:none;z-index:3;transform:translate(calc(var(--m) * 22%)) scale(calc(1 - .25 * var(--m)))}.eco-tile{position:absolute;left:calc((50% + var(--x)) * (1 - var(--lst)) + 1% * var(--lst));top:calc((50% + var(--y)) * (1 - var(--lst)) + (var(--row0) + var(--i) * var(--row-step)) * var(--lst));box-sizing:border-box;display:flex;align-items:center;gap:10px;width:var(--card-w);height:var(--card-h);padding:6px 14px 6px 8px;border-radius:14px;background:color-mix(in srgb,#FFFFFF calc((1 - var(--lst)) * 100%),#EDE5CF);color:color-mix(in srgb,#123B2E calc((1 - var(--lst) * .45) * 100%),#7A6F58);box-shadow:0 calc(14px - 10px * var(--lst)) calc(30px - 22px * var(--lst)) #00000047;font-size:.86rem;font-weight:700;line-height:1.22;transform:translate(calc(-50% * (1 - var(--lst))),-50%) rotate(calc(var(--r) * (1 - var(--lst))));opacity:clamp(0,calc(1 - var(--m) * 2.4),1);animation:eco-float 5.5s ease-in-out infinite;animation-delay:var(--d)}.eco-tile i{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#efeadb}.eco-tile svg,.eco-nav svg,.eco-meet svg,.eco-hw-ico svg,.eco-board-tools svg,.eco-meet-btn svg,.eco-toast svg,.eco-cursor svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.eco-tile:after{content:"";position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;background:#e5484d;border:2px solid #FFFFFF;opacity:calc(1 - var(--lst))}.eco-tile--note{background:color-mix(in srgb,var(--band-4) calc((1 - var(--lst)) * 100%),#EDE5CF);font-style:italic}.eco-tile--note i{background:#ffffff73}.eco-tile--note:after{display:none}@keyframes eco-float{50%{translate:0 calc(-10px * (1 - var(--lst)))}}.eco-compare{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:clamp(0,calc(1 - var(--m) * 2.4),1);transform:translate(calc(var(--m) * -22%)) scale(calc(1 - .25 * var(--m)))}.eco-col{position:absolute;top:4%;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.eco-col--old{left:1%;color:#cfc4a6;opacity:clamp(0,calc(var(--lst) * 2 - 1),1)}.eco-col--new{left:55%;color:var(--band-4);opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease-standard),transform .4s var(--ease-standard)}.eco-new{position:absolute;left:55%;top:calc(var(--row0) + var(--i) * var(--row-step));box-sizing:border-box;display:flex;align-items:center;gap:10px;width:var(--card-w);height:var(--card-h);padding:6px 14px 6px 8px;border-radius:14px;background:linear-gradient(135deg,var(--band-2),#2F8661);color:#fff;box-shadow:0 10px 26px color-mix(in srgb,var(--band-2) 45%,transparent);font-size:.86rem;font-weight:700;line-height:1.22;opacity:0;transform:translate(-28px,-50%) scale(.94);transition:opacity .45s var(--ease-standard),transform .55s cubic-bezier(.2,1.3,.4,1);transition-delay:calc(var(--i) * 70ms)}.eco-new i{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--band-4);color:#123b2e}.eco-new svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.eco-new--one{background:linear-gradient(135deg,var(--band-4),#FFC94A);color:#123b2e;box-shadow:0 10px 26px #f0b42966}.eco-new--one i{background:#123b2e;color:var(--band-4)}.eco-new:before{content:"→";position:absolute;right:109%;top:50%;transform:translateY(-50%);color:#cfc4a6;font-weight:800}.eco.is-axioma .eco-col--new{opacity:1;transform:none}.eco.is-axioma .eco-new{opacity:1;transform:translateY(-50%)}.eco-window{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 40px 90px #00000073,0 0 0 1px #ffffff14;overflow:hidden;opacity:clamp(0,calc(var(--m) * 2 - .75),1);transform:scale(calc(.8 + .2 * var(--m))) translateY(calc((1 - var(--m)) * 24px));pointer-events:none}.eco.is-live .eco-window{pointer-events:auto}.eco-bar{display:flex;align-items:center;gap:14px;height:42px;padding:0 16px;flex:none;background:var(--header-bg);border-bottom:1px solid var(--line);font-size:.8rem}.eco-dots{display:flex;gap:6px}.eco-dots i{width:10px;height:10px;border-radius:50%;background:var(--line)}.eco-dots i:nth-child(1){background:#e5484d}.eco-dots i:nth-child(2){background:var(--band-4)}.eco-dots i:nth-child(3){background:var(--band-2)}.eco-url{display:inline-flex;align-items:center;gap:8px;margin:0 auto;padding:5px 14px;border-radius:999px;background:var(--paper-soft);color:var(--ink-soft);font-weight:600}.eco-live{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft)}.eco-live i{width:8px;height:8px;border-radius:50%;background:var(--band-2);box-shadow:0 0 color-mix(in srgb,var(--band-2) 60%,transparent);animation:eco-ping 2s ease-out infinite}@keyframes eco-ping{70%,to{box-shadow:0 0 0 8px transparent}}.eco-body{flex:1;display:grid;grid-template-columns:148px minmax(0,1fr);min-height:0}.eco-nav{display:flex;flex-direction:column;gap:3px;padding:12px 8px;background:var(--paper-soft);border-right:1px solid var(--line)}.eco-tab{display:flex;align-items:center;gap:9px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink-soft);font:inherit;font-size:.82rem;font-weight:600;text-align:left;cursor:pointer;transition:background var(--transition),color var(--transition)}.eco-tab:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.eco-tab[aria-selected=true]{background:var(--accent);color:var(--on-accent)}.eco-tab:focus-visible{outline:2px solid var(--band-4);outline-offset:2px}.eco-screens{position:relative;overflow:hidden}.eco-screen{position:absolute;inset:0;padding:18px 20px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .32s var(--ease-standard),transform .32s var(--ease-standard),visibility 0s .32s}.eco-screen.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .32s var(--ease-standard),transform .32s var(--ease-standard),visibility 0s}.eco-card{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;background:var(--paper-card);border:1px solid var(--line);font-size:.8rem;color:var(--ink-soft);min-width:0}.eco-card small{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.eco-card strong{font-size:.98rem;color:var(--ink);line-height:1.25}.eco-card--accent{background:var(--accent);border-color:transparent;color:color-mix(in srgb,var(--on-accent) 80%,transparent)}.eco-card--accent strong{color:var(--on-accent)}.eco-card--wide{grid-column:1 / -1}.eco-meter{display:block;height:6px;border-radius:6px;background:var(--line);overflow:hidden}.eco-meter i{display:block;height:100%;width:var(--w, 50%);border-radius:inherit;background:var(--band-2)}.is-active .eco-meter i{animation:eco-grow 1s var(--ease-standard) .5s backwards}@keyframes eco-grow{0%{width:0}}.eco-rate{display:inline-flex;gap:4px}.eco-rate i{width:10px;height:10px;border-radius:50%;background:var(--band-4)}.eco-rate i.off{background:var(--line)}.eco-cube{display:inline-block;width:13px;height:13px;vertical-align:-1px;border-radius:3px;transform:rotate(45deg) scale(.9);background:linear-gradient(135deg,#FFD66B,var(--band-4) 55%,#C98B0F);box-shadow:inset 0 0 0 1px #00000014}.eco-meet-btn{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin-top:4px;padding:7px 12px;border-radius:999px;background:#fff3;color:var(--on-accent);font-size:.78rem;font-weight:700}.eco-meet-btn--soft{background:var(--accent);color:var(--on-accent)}.eco-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--paper-card);border:1px solid var(--line);font-size:.82rem;font-weight:700}.is-active .eco-pop{animation:eco-pop .52s var(--ease-standard) backwards}.is-active .eco-pop:nth-child(2){animation-delay:90ms}.is-active .eco-pop:nth-child(3){animation-delay:.18s}.is-active .eco-pop:nth-child(4){animation-delay:.27s}@keyframes eco-pop{0%{opacity:0;transform:translateY(12px) scale(.97)}}.eco-roles{position:absolute;top:16px;right:18px;z-index:2;display:inline-flex;padding:3px;border-radius:999px;background:var(--paper-soft);border:1px solid var(--line)}.eco-roles button{border:0;background:transparent;color:var(--ink-soft);padding:5px 11px;border-radius:999px;font:inherit;font-size:.74rem;font-weight:700;cursor:pointer}.eco-roles button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.eco-roles button:focus-visible{outline:2px solid var(--band-4);outline-offset:1px}.eco-desk-view{display:none}.eco-desk[data-role=student] [data-view=student],.eco-desk[data-role=parent] [data-view=parent],.eco-desk[data-role=teacher] [data-view=teacher]{display:block}.eco-hello{margin:4px 0 16px;font-size:1.15rem;font-weight:800;line-height:1.3;padding-right:250px}.eco-hello em{display:block;font-style:normal;font-weight:500;font-size:.8rem;color:var(--ink-soft)}.eco-desk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.eco-fire{display:flex;gap:5px}.eco-fire i{width:14px;height:14px;border-radius:4px;background:var(--band-4)}.eco-fire i:nth-child(n+6){background:var(--line)}.is-active .eco-fire i{animation:eco-pop .38s var(--ease-standard) backwards}.is-active .eco-fire i:nth-child(1){animation-delay:.5s}.is-active .eco-fire i:nth-child(2){animation-delay:.6s}.is-active .eco-fire i:nth-child(3){animation-delay:.7s}.is-active .eco-fire i:nth-child(4){animation-delay:.8s}.is-active .eco-fire i:nth-child(5){animation-delay:.9s}.eco-slots{display:flex;gap:8px;flex-wrap:wrap}.eco-slots b{padding:6px 12px;border-radius:10px;background:var(--paper-soft);color:var(--ink);font-size:.85rem}.eco-slots b.now{background:var(--accent);color:var(--on-accent);animation:eco-glow 2s ease-in-out infinite}@keyframes eco-glow{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 25%,transparent)}}.eco-board{background-color:var(--paper-card);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px}[data-theme=dark] .eco-board{background-image:linear-gradient(rgba(241,246,236,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(241,246,236,.07) 1px,transparent 1px)}.eco-board-tools{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:14px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-tight)}.eco-board-tools i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--ink-soft)}.eco-board-tools i.on{background:var(--accent);color:var(--on-accent)}.eco-board-people{position:absolute;top:14px;right:16px;display:flex;align-items:center;gap:0;font-size:.74rem;color:var(--ink-soft);font-weight:600}.eco-board-people i{display:grid;place-items:center;width:26px;height:26px;margin-right:-6px;border-radius:50%;border:2px solid var(--paper-card);background:var(--band-2);color:#fff;font-style:normal;font-size:.72rem;font-weight:800}.eco-board-people i+i{background:var(--band-4);color:#123b2e}.eco-board-people span{margin-left:14px}.eco-board-svg{position:absolute;inset:34px 16px 10px 64px;width:calc(100% - 80px);height:calc(100% - 44px);overflow:visible}.eco-board-svg text{font-family:var(--font-body);font-size:25px;font-weight:500;fill:var(--ink);stroke:var(--ink);stroke-width:.6}.is-active .eco-ink text{animation:eco-write 1.1s ease-out backwards,eco-ink-fill .5s ease-out backwards}.is-active .eco-ink--1 text{animation-delay:.2s,1.1s}.is-active .eco-ink--2 text{animation-delay:1.3s,2.2s}.is-active .eco-ink--3 text{animation-delay:2.4s,3.3s}@keyframes eco-write{0%{stroke-dasharray:700;stroke-dashoffset:700;stroke-width:1.2;fill-opacity:0}to{stroke-dasharray:700;stroke-dashoffset:0;fill-opacity:0}}@keyframes eco-ink-fill{0%{fill-opacity:0}}.eco-wobble,.eco-true,.eco-arrow{fill:none;stroke-width:3.5;stroke-linecap:round}.eco-wobble{stroke:var(--band-4);opacity:0}.eco-true{stroke:var(--band-4);transform-box:fill-box;transform-origin:center}.eco-arrow{stroke:var(--band-2);stroke-width:5}.is-active .eco-wobble{animation:eco-wobble 1.6s ease-in-out 3.6s backwards}@keyframes eco-wobble{0%{opacity:1;stroke-dasharray:1;stroke-dashoffset:1}60%{opacity:1;stroke-dasharray:1;stroke-dashoffset:0}80%{opacity:1}to{opacity:0;stroke-dasharray:1;stroke-dashoffset:0}}.is-active .eco-true{animation:eco-snap .5s var(--ease-standard) 4.6s backwards}@keyframes eco-snap{0%{opacity:0;transform:scale(1.08,1.2) rotate(-3deg)}}.is-active .eco-arrow{animation:eco-draw .6s ease-out 5.2s backwards}@keyframes eco-draw{0%{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}.eco-snap-note{position:absolute;left:30%;bottom:22px;padding:6px 12px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.76rem;font-weight:700}.is-active .eco-snap-note{animation:eco-pop .45s var(--ease-standard) 4.8s backwards}.eco-cursor{--cur: var(--band-2);position:absolute;display:inline-flex;align-items:flex-start;gap:2px;pointer-events:none;color:var(--cur)}.eco-cursor svg{fill:currentColor;stroke:none;width:16px;height:16px}.eco-cursor b{margin-top:12px;padding:2px 7px;border-radius:6px;background:var(--cur);color:#fff;font-size:.68rem;white-space:nowrap}.eco-cursor--t{left:62%;top:24%}.eco-cursor--s{left:30%;top:74%;--cur: #C98B0F}.is-active .eco-cursor--t{animation:eco-cur-t 3.6s ease-in-out .2s backwards}.is-active .eco-cursor--s{animation:eco-cur-s 2.2s ease-in-out 3.4s backwards}@keyframes eco-cur-t{0%{left:16%;top:22%}30%{left:60%;top:22%}34%{left:16%;top:40%}62%{left:60%;top:40%}66%{left:16%;top:60%}to{left:62%;top:24%}}@keyframes eco-cur-s{0%{left:14%;top:64%}25%{left:30%;top:50%}50%{left:58%;top:56%}75%{left:44%;top:80%}to{left:30%;top:74%}}.eco-hw{display:flex;flex-direction:column;gap:14px}.eco-hw-list{display:flex;flex-direction:column;gap:10px}.eco-hw-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--paper-card);border:1px solid var(--line)}.eco-hw-row strong{display:block;font-size:.92rem}.eco-hw-row small{color:var(--ink-soft);font-size:.76rem}.eco-hw-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--paper-soft);color:var(--accent)}.eco-status{font-style:normal;font-size:.74rem;font-weight:800;white-space:nowrap;padding:5px 10px;border-radius:999px;background:var(--paper-soft);color:var(--ink-soft)}.eco-status--flip{display:grid;background:var(--band-2);color:#fff}.eco-status--flip span{grid-area:1 / 1}.eco-status--flip span:first-child{opacity:0}.is-active .eco-status--flip span:first-child{animation:eco-flip-out 1.6s linear backwards}.is-active .eco-status--flip span:last-child{animation:eco-flip-in .35s var(--ease-standard) 1.5s backwards}@keyframes eco-flip-out{0%,90%{opacity:1}to{opacity:0}}@keyframes eco-flip-in{0%{opacity:0;transform:translateY(6px)}}.is-active .eco-status--flip{animation:eco-status-bg 1.6s steps(1) backwards}@keyframes eco-status-bg{0%{background:var(--paper-soft);color:var(--ink-soft)}}.eco-status--wait{background:color-mix(in srgb,var(--band-4) 30%,transparent);color:var(--ink)}.eco-status--new{background:var(--accent);color:var(--on-accent)}.eco-bubble{display:flex;gap:10px;align-items:flex-start;align-self:flex-end;max-width:78%;padding:12px 14px;border-radius:16px 16px 4px;background:color-mix(in srgb,var(--band-1) 55%,var(--paper-card));color:#123b2e;font-size:.85rem}[data-theme=dark] .eco-bubble{background:color-mix(in srgb,var(--band-2) 30%,var(--paper-card));color:var(--ink)}.eco-bubble p{margin:0;line-height:1.45}.eco-bubble i{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--band-2);color:#fff;font-style:normal;font-weight:800;font-size:.72rem}.is-active .eco-bubble{animation-delay:2s}.eco-prac{display:flex;flex-direction:column;gap:14px}.eco-prac-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.eco-lvl{display:flex;align-items:center;gap:10px;flex:1;max-width:300px;font-size:.85rem}.eco-lvl .eco-meter{flex:1;height:8px}.eco-xp{--w: 72%;background:linear-gradient(90deg,var(--band-2),var(--band-4))!important}.is-active .eco-xp{animation:eco-xp 1.4s var(--ease-standard) 1.3s backwards!important}@keyframes eco-xp{0%{width:40%}}.eco-trainer{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border-radius:18px;padding:16px;background:linear-gradient(160deg,var(--band-3),#0B2A20);color:#f1f6ec}.eco-trainer small{color:var(--band-1);font-weight:700;letter-spacing:.04em}.eco-q{font-size:2.6rem;font-weight:800;line-height:1}.eco-opts{display:grid;grid-template-columns:repeat(4,64px);gap:10px}.eco-opts span{display:grid;place-items:center;height:48px;border-radius:12px;background:#ffffff1a;font-weight:800;font-size:1.1rem;box-shadow:inset 0 -3px #00000040}.eco-opts .ok{background:var(--band-2)}.is-active .eco-opts .ok{animation:eco-right .5s var(--ease-standard) 1s backwards}@keyframes eco-right{0%{background:#ffffff1a;transform:none}50%{transform:scale(1.12)}}.eco-plus{position:absolute;left:50%;top:58%;font-weight:800;color:var(--band-4);font-size:1.1rem;opacity:0}.is-active .eco-plus{animation:eco-plus 1.1s ease-out 1.3s}@keyframes eco-plus{0%{opacity:0;transform:translate(-50%)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-70px)}}.eco-trainers-row{display:flex;gap:8px;overflow:hidden;mask-image:linear-gradient(90deg,#000 80%,transparent)}.eco-trainers-row span{flex:none;padding:7px 12px;border-radius:999px;background:var(--paper-card);border:1px solid var(--line);font-size:.78rem;font-weight:700}.eco-lib{display:flex;flex-direction:column;gap:16px}.eco-shelf{display:flex;align-items:flex-end;gap:10px;padding:0 12px;height:128px;border-bottom:6px solid var(--band-5)}.eco-book{display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:46px;height:108px;padding:10px 0 8px;border-radius:4px 6px 6px 4px;background:var(--c);color:#123b2e;box-shadow:inset -4px 0 #0000001f,0 4px 10px #0000001f;font-size:.68rem;font-weight:800}.eco-book:nth-child(2){height:118px;color:#f1f6ec}.eco-book:nth-child(3){height:96px}.eco-book:nth-child(4){height:112px}.eco-book:nth-child(5){height:100px;width:40px}.eco-book b{writing-mode:vertical-rl;transform:rotate(180deg)}.eco-book i{font-style:normal;opacity:.8}.eco-book--pick{transform:translateY(-14px) rotate(-4deg)}.is-active .eco-book{animation:eco-pop .45s var(--ease-standard) backwards}.is-active .eco-book:nth-child(2){animation:eco-pick 1s var(--ease-standard) .2s backwards}.is-active .eco-book:nth-child(3){animation-delay:.1s}.is-active .eco-book:nth-child(4){animation-delay:.2s}.is-active .eco-book:nth-child(5){animation-delay:.3s}@keyframes eco-pick{0%,40%{transform:none}}.eco-reader{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center;padding:16px;border-radius:16px;background:var(--paper-card);border:1px solid var(--line)}.is-active .eco-reader{animation:eco-pop .6s var(--ease-standard) .9s backwards}.eco-page{display:flex;flex-direction:column;gap:9px;padding:14px;border-radius:8px;background:var(--paper);box-shadow:var(--shadow-tight)}.eco-page b{height:12px;width:60%;border-radius:4px;background:var(--ink);opacity:.8;margin-bottom:4px}.eco-page i{height:7px;border-radius:4px;background:var(--line)}.eco-page i.s{width:70%}.eco-reader-side{display:flex;flex-direction:column;gap:6px;justify-content:center}.eco-reader-side strong{font-size:1rem;line-height:1.3}.eco-reader-side small{color:var(--ink-soft)}.eco-test{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:18px;align-items:start}.eco-variant{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:18px;border-radius:14px;overflow:hidden;aspect-ratio:3 / 4;background:#123b2e;color:#f1f6ec;box-shadow:var(--shadow-soft)}.eco-variant-bands{position:absolute;left:0;right:0;top:0;display:flex;height:30%}.eco-variant-bands i{flex:1}.eco-variant-bands i:nth-child(1){background:var(--band-1)}.eco-variant-bands i:nth-child(2){background:var(--band-2)}.eco-variant-bands i:nth-child(3){background:#0b2a20}.eco-variant-bands i:nth-child(4){background:var(--band-4)}.eco-variant-bands i:nth-child(5){background:var(--band-5)}.eco-variant b{color:var(--band-4);font-size:.8rem;letter-spacing:.08em}.eco-variant strong{font-size:1.3rem}.eco-variant em{font-style:normal;opacity:.75;font-size:.85rem}.is-active .eco-variant{animation:eco-pop .5s var(--ease-standard) backwards}.eco-sheet{display:flex;flex-direction:column;gap:10px}.eco-sheet small{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--ink-soft)}.eco-cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.eco-cells span{position:relative;display:grid;place-items:center;height:42px;border-radius:9px;background:var(--paper-card);border:1.5px solid var(--band-2);font-weight:800;font-size:.92rem}.eco-cells span.bad{border-color:#e5484d;color:#e5484d}.eco-cells i{position:absolute;top:2px;left:5px;font-style:normal;font-size:.6rem;color:var(--ink-soft);font-weight:600}.is-active .eco-cells span{animation:eco-cell .3s ease-out backwards;animation-delay:calc(.4s + var(--i) * .16s)}@keyframes eco-cell{0%{color:transparent;border-color:var(--line)}}.eco-score{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--ink-soft)}.eco-score strong{color:var(--ink);font-size:1.1rem;white-space:nowrap}.eco-ring svg{width:36px;height:36px;transform:rotate(-90deg)}.eco-ring circle{fill:none;stroke:var(--line);stroke-width:4}.eco-ring .v{stroke:var(--band-2);stroke-dasharray:83 100;stroke-linecap:round}.is-active .eco-ring .v{animation:eco-ring 1s var(--ease-standard) 2.4s backwards}@keyframes eco-ring{0%{stroke-dasharray:0 100}}.is-active .eco-score{animation:eco-pop .4s var(--ease-standard) 2.3s backwards}.eco-rep{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:center}.eco-report{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:16px;background:var(--paper-card);border:1px solid var(--line);box-shadow:var(--shadow-tight)}.eco-report small{color:var(--ink-soft);font-size:.76rem;font-weight:600}.eco-report strong{font-size:1.1rem;margin-bottom:4px}.eco-rp-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.84rem;padding-top:8px;border-top:1px solid var(--line)}.eco-rp-row b{color:var(--accent)}.eco-toasts{display:flex;flex-direction:column;gap:10px}.eco-toast{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--paper-card);border:1px solid var(--line);box-shadow:var(--shadow-tight);font-size:.8rem;font-weight:600;line-height:1.3}.eco-toast i{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--paper-soft);color:var(--accent)}.eco-toast i.tg{background:#2aabee;color:#fff}.is-active .eco-toast{animation:eco-toast .55s var(--ease-standard) backwards;animation-delay:calc(.7s + var(--i) * .5s)}@keyframes eco-toast{0%{opacity:0;transform:translate(40px)}}.eco-meet{position:absolute;z-index:4;left:28px;bottom:-48px;opacity:clamp(0,calc(var(--m) * 2 - 1),1);transform:translateY(calc((1 - var(--m)) * 20px))}.eco-meet-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;border-radius:16px;background:var(--ink-surface);color:var(--on-surface);border:1.5px dashed color-mix(in srgb,var(--band-4) 70%,transparent);box-shadow:0 14px 30px #00000059;animation:eco-float 6s ease-in-out infinite}.eco-meet-chip svg{color:var(--band-4);width:22px;height:22px}.eco-meet-chip b{display:block;font-size:.86rem}.eco-meet-chip small{color:var(--on-surface-soft);font-size:.74rem}.eco-meet-line{display:none}.eco-after{padding-top:80px;padding-bottom:88px}.eco-modules{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.eco-modules li{position:relative;display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--on-surface) 6%,transparent);border:1px solid var(--on-surface-line)}.eco-modules b{font-size:.98rem}.eco-modules span{font-size:.84rem;color:var(--on-surface-soft)}.eco-modules .eco-soon{border-style:dashed;border-color:color-mix(in srgb,var(--band-4) 60%,transparent)}.eco-modules em,.plat-soon{position:absolute;top:12px;right:12px;padding:2px 9px;border-radius:999px;background:var(--band-4);color:#123b2e;font-style:normal;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.eco-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:36px;padding-top:28px;border-top:1px solid var(--on-surface-line)}.eco-cta p{margin:0;max-width:560px;font-size:1.1rem;font-weight:600;color:var(--on-surface)}.eco-cta-actions{display:flex;gap:12px;flex-wrap:wrap}.eco .btn--ghost{border-color:var(--on-surface-line);color:var(--on-surface)}.eco .btn--ghost:hover{border-color:var(--band-4);color:var(--band-4)}.eco .btn--primary{background:var(--band-4);color:#123b2e}.eco .btn--primary:hover{background:#ffc94a;color:#123b2e}.eco--scroll .eco-track{height:calc(100vh - var(--eco-head) + 150vh)}.eco--scroll .eco-stage{position:sticky;top:var(--eco-head);height:calc(100vh - var(--eco-head));padding:0;display:flex;align-items:center}.eco--scroll .eco-stage>.container{width:100%}.eco--scroll .eco-after{position:relative;z-index:1;margin-top:calc(-1 * var(--eco-tail, 0px));padding-top:40px}.eco--scroll .eco-canvas{max-height:calc(100vh - var(--eco-head) - 140px);margin-inline:auto;margin-bottom:30px}@media(max-height:760px){.eco--scroll .eco-canvas{aspect-ratio:16 / 10}}.eco:not(.eco--scroll){--m: 0;transition:--m 1.4s var(--ease-standard)}.eco:not(.eco--scroll).is-merged{--m: 1}.eco:not(.eco--scroll) .eco-progress{display:none}.eco:not(.eco--scroll) .eco-skip{display:none}@media(max-width:1100px){.eco-grid{gap:40px}.eco-body{grid-template-columns:128px minmax(0,1fr)}}@media(max-width:959px){.eco{--k: .5}.eco-grid{grid-template-columns:minmax(0,1fr);gap:28px}.eco-captions{min-height:150px}.eco-canvas{aspect-ratio:auto;height:520px}.eco-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.eco-nav{flex-direction:row;overflow-x:auto;gap:4px;padding:8px;border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none}.eco-nav::-webkit-scrollbar{display:none}.eco-tab{flex:none;padding:7px 11px}.eco-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.eco-meet{left:12px;bottom:-44px}}@media(max-width:640px){.eco-stage{padding-top:64px}.eco-canvas{height:560px}.eco-tile,.eco-new{font-size:.7rem;line-height:1.18;padding:4px 7px 4px 5px;gap:6px;border-radius:11px}.eco-tile i,.eco-new i{width:26px;height:26px;border-radius:8px}.eco-tile svg,.eco-new svg{width:15px;height:15px}.eco{--card-w: 45%}.eco-new,.eco-col--new{left:54%}.eco-col{font-size:.66rem}.eco-new:before{right:104%;font-size:.7rem}.eco-url span{display:none}.eco-screen{padding:14px}.eco-roles{position:static;margin-bottom:12px}.eco-hello{padding-right:0;font-size:1.02rem}.eco-desk-grid{gap:8px}.eco-card{padding:11px}.eco-card strong{font-size:.88rem}.eco-board-svg{left:50px;width:calc(100% - 56px)}.eco-board-tools{left:8px}.eco-opts{grid-template-columns:repeat(2,72px)}.eco-test,.eco-rep{grid-template-columns:minmax(0,1fr);gap:12px;align-content:start}.eco-variant{min-height:104px;aspect-ratio:auto}.eco-variant-bands{height:26%}.eco-cells span{height:34px}.eco-reader{grid-template-columns:minmax(0,1fr)}.eco-page{display:none}.eco-shelf{height:112px}.eco-hw-row{grid-template-columns:32px minmax(0,1fr)}.eco-hw-ico{width:32px;height:32px}.eco-status{grid-column:2;justify-self:start}.eco-bubble{max-width:100%}.eco-modules{grid-template-columns:minmax(0,1fr)}.eco-cta p{font-size:1rem}}@media(prefers-reduced-motion:reduce){.eco *,.eco *:before,.eco *:after{animation:none!important}.eco:not(.eco--scroll){transition:none}.eco .eco-wobble,.eco .eco-plus,.eco .eco-status--flip span:first-child{opacity:0}}.eco-card--row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.eco-card--row>span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}.eco-go{flex:none;padding:7px 14px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.78rem;font-weight:700}.is-active .eco-pop:nth-child(5){animation-delay:.36s}.eco-page u{display:block;height:46px;margin:4px 0;border-radius:6px;background:color-mix(in srgb,var(--band-1) 55%,transparent)}.plat-hero{position:relative;overflow:hidden;padding:96px 0 88px;background:var(--ink-surface);color:var(--on-surface);isolation:isolate}.plat-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 78% 50%,color-mix(in srgb,var(--band-2) 34%,transparent),transparent 70%)}.plat-hero .eyebrow{color:var(--band-4)}.plat-hero h1{color:var(--on-surface)}.plat-hero .lede{color:var(--on-surface-soft);max-width:560px}.plat-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}.plat-facts{list-style:none;padding:0;margin:24px 0 28px;display:flex;flex-wrap:wrap;gap:8px}.plat-facts li{position:relative;padding:7px 14px 7px 30px;border-radius:999px;background:color-mix(in srgb,var(--on-surface) 8%,transparent);border:1px solid var(--on-surface-line);font-size:.88rem;font-weight:600}.plat-facts li:before{content:"";position:absolute;left:12px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--band-4)}.plat-hero .btn--primary{background:var(--band-4);color:#123b2e}.plat-hero .btn--primary:hover{background:#ffc94a;color:#123b2e}.plat-ghost{border-color:var(--on-surface-line);color:var(--on-surface)}.plat-orbit{--r1: 140px;--r2: 230px;position:relative;width:min(100%,500px);aspect-ratio:1;margin-inline:auto}.plat-ring{position:absolute;border-radius:50%;border:1.5px dashed var(--on-surface-line)}.plat-ring--1{inset:22%}.plat-ring--2{inset:4%}.plat-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:34%;aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--band-3) 70%,#000);box-shadow:0 0 0 10px color-mix(in srgb,var(--band-2) 18%,transparent),0 20px 60px #0006}.plat-spin{position:absolute;inset:0;z-index:1;animation:plat-spin 60s linear infinite}.plat-spin--2{animation-duration:90s;animation-direction:reverse}.plat-sat{position:absolute;left:50%;top:50%}.plat-spin--1 .plat-sat{transform:rotate(var(--a)) translateY(calc(-1 * var(--r1))) rotate(calc(-1 * var(--a)))}.plat-spin--2 .plat-sat{transform:rotate(var(--a)) translateY(calc(-1 * var(--r2))) rotate(calc(-1 * var(--a)))}.plat-sat b{display:block;translate:-50% -50%;padding:8px 14px;border-radius:12px;white-space:nowrap;background:var(--paper-card);color:var(--ink);font-size:.86rem;box-shadow:0 10px 24px #0000004d;animation:plat-spin 60s linear infinite reverse}.plat-spin--2 .plat-sat b{animation-duration:90s;animation-direction:normal}.plat-sat--soon b{background:var(--ink-surface);color:var(--band-4);border:1.5px dashed var(--band-4);box-shadow:none}.plat-outside{position:absolute;right:-16%;top:-11%;z-index:0;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:14px;border:1.5px dashed color-mix(in srgb,var(--band-4) 70%,transparent);background:var(--ink-surface);font-size:.82rem;font-weight:700}.plat-outside svg{width:20px;height:20px;fill:none;stroke:var(--band-4);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@keyframes plat-spin{to{rotate:360deg}}.plat-vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.plat-vs-card{padding:28px;border-radius:var(--radius-xl);border:1px solid var(--line);background:var(--paper-card)}.plat-vs-card strong{display:block;font-size:1.15rem;margin-bottom:16px}.plat-vs-card ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.plat-vs-card li{position:relative;padding-left:30px;line-height:1.45}.plat-vs-card li:before{position:absolute;left:0;top:1px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:.72rem;font-weight:800}.plat-vs-card--old{color:var(--ink-soft);background:transparent;border-style:dashed}.plat-vs-card--old li{text-decoration:line-through;text-decoration-color:color-mix(in srgb,#E5484D 55%,transparent)}.plat-vs-card--old li:before{content:"×";background:color-mix(in srgb,#E5484D 16%,transparent);color:#e5484d}.plat-vs-card--new{background:var(--ink-surface);color:var(--on-surface);border-color:transparent;box-shadow:var(--shadow-soft)}.plat-vs-card--new strong{color:var(--band-4)}.plat-vs-card--new li:before{content:"✓";background:var(--band-2);color:#fff}.plat-split{align-items:center;gap:56px}.plat-split--flip>:first-child{order:2}.plat-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}.plat-list li{position:relative;padding-left:26px;line-height:1.5}.plat-list li:before{content:"";position:absolute;left:4px;top:.5em;width:10px;height:10px;border-radius:3px;transform:rotate(45deg);background:var(--band-4)}.plat-note{color:var(--ink-soft);font-size:.92rem}.plat-sketch{position:relative;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--paper-card);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:28px 28px;border:1px solid var(--line);box-shadow:var(--shadow-soft)}[data-theme=dark] .plat-sketch{background-image:linear-gradient(rgba(241,246,236,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(241,246,236,.07) 1px,transparent 1px)}.plat-sketch-top{position:absolute;left:14px;right:14px;top:14px;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:10px;pointer-events:none}.plat-sketch-hint{display:grid;padding:7px 14px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.84rem;font-weight:700;transition:background .3s}.plat-sketch-hint>span{grid-area:1 / 1;transition:opacity .3s}.plat-sketch-ok{opacity:0}.plat-sketch-hint.is-done{background:var(--accent);color:var(--on-accent)}.plat-sketch-hint.is-done .plat-sketch-try{opacity:0}.plat-sketch-hint.is-done .plat-sketch-ok{opacity:1}.plat-sketch-clear{pointer-events:auto;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:6px 12px;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.plat-sketch svg{display:block;width:100%;height:auto;aspect-ratio:600 / 380;touch-action:none;cursor:crosshair}.sketch-ink{fill:none;stroke:var(--ink);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;transition:opacity .4s}.sketch-ink.is-snapped{opacity:0}.sketch-snap{fill:none;stroke:var(--band-4);stroke-width:5;stroke-linecap:round;transform-box:fill-box;transform-origin:center;animation:eco-snap .45s var(--ease-standard)}.plat-drill{display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:var(--radius-xl);background:linear-gradient(160deg,var(--band-3),#0B2A20);color:#f1f6ec;box-shadow:var(--shadow-soft)}.plat-drill .eco-chip{background:#ffffff1a;border-color:#ffffff29;color:#f1f6ec}.plat-drill-head{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.92rem}.plat-drill-head b[data-drill-time]{color:var(--band-4);font-variant-numeric:tabular-nums}.plat-drill-bar{height:6px;border-radius:6px;background:#ffffff1f;overflow:hidden}.plat-drill-bar span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--band-2),var(--band-4));border-radius:inherit}.plat-drill-body{position:relative;display:grid;place-items:center;min-height:230px;text-align:center}.plat-drill-body>*{grid-area:1 / 1}.plat-drill-idle,.plat-drill-done{display:none;flex-direction:column;gap:8px;max-width:340px}.plat-drill-idle strong,.plat-drill-done strong{font-size:1.3rem}.plat-drill-idle span,.plat-drill-done span{color:#f1f6ecb8;font-size:.92rem}.plat-drill-done b{color:var(--band-4)}.plat-drill-q{font-size:3.2rem;font-weight:800;line-height:1;align-self:start;margin-top:30px}.plat-drill-opts{align-self:end;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;max-width:380px}.drill-opt{height:58px;border:0;border-radius:14px;cursor:pointer;background:#ffffff1a;color:#f1f6ec;font:inherit;font-size:1.3rem;font-weight:800;box-shadow:inset 0 -4px #00000040;transition:transform .12s,background .15s}.drill-opt:hover:not(:disabled){background:#ffffff2e}.drill-opt:active:not(:disabled){transform:translateY(2px)}.drill-opt:focus-visible{outline:2px solid var(--band-4);outline-offset:2px}.drill-opt.is-right{background:var(--band-2)}.drill-opt.is-wrong{background:#c8403f;animation:plat-shake .3s}@keyframes plat-shake{25%{translate:-5px 0}75%{translate:5px 0}}.plat-drill[data-state=idle] .plat-drill-idle,.plat-drill[data-state=done] .plat-drill-done{display:flex}.plat-drill[data-state=idle] .plat-drill-q,.plat-drill[data-state=idle] .plat-drill-opts,.plat-drill[data-state=done] .plat-drill-q,.plat-drill[data-state=done] .plat-drill-opts,.plat-drill[data-state=run] .plat-drill-start{visibility:hidden}.plat-drill .plat-drill-start{align-self:center;background:var(--band-4);color:#123b2e}.plat-drill .plat-drill-start:hover{background:#ffc94a;color:#123b2e}.plat-drill-again,.plat-drill[data-state=done] .plat-drill-go{display:none}.plat-drill[data-state=done] .plat-drill-again{display:inline}.plat-drill.is-bump .eco-chip{animation:eco-pop .35s var(--ease-standard)}.plat-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.plat-panel{display:flex;flex-direction:column;padding:28px;border-radius:var(--radius-xl);background:var(--paper-card);border:1px solid var(--line)}.plat-panel h3{margin:20px 0 8px}.plat-panel p{margin:0;color:var(--ink-soft)}.plat-link{margin-top:auto;padding-top:18px;font-weight:700;color:var(--accent);text-decoration:none}.plat-link:hover{text-decoration:underline}.plat-panel-art{height:120px;border-radius:var(--radius-md);background:var(--paper-soft);display:flex;align-items:flex-end;gap:8px;padding:0 20px}.plat-panel-art--shelf{border-bottom:6px solid var(--band-5);border-radius:var(--radius-md) var(--radius-md) 4px 4px}.plat-panel-art--shelf span{width:30px;height:86px;border-radius:3px 5px 5px 3px;background:var(--c);box-shadow:inset -4px 0 #0000001f;transition:transform .3s var(--ease-standard)}.plat-panel-art--shelf span:nth-child(2){height:96px}.plat-panel-art--shelf span:nth-child(3){height:74px}.plat-panel-art--shelf span:nth-child(5){height:80px}.plat-panel:hover .plat-panel-art--shelf span:nth-child(2){transform:translateY(-10px) rotate(-4deg)}.plat-panel-art--sheet{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;align-content:center;padding:16px 20px}.plat-panel-art--sheet span{height:36px;border-radius:8px;border:1.5px solid var(--band-2);background:var(--paper-card)}.plat-panel-art--sheet span.bad{border-color:#e5484d}.plat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plat-tile{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:var(--radius-lg);background:var(--paper-card);border:1px solid var(--line)}.plat-tile i{display:grid;place-items:center;width:44px;height:44px;margin-bottom:8px;border-radius:13px;background:var(--paper-soft);color:var(--accent)}.plat-tile svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.plat-tile strong{font-size:1.05rem}.plat-tile span{color:var(--ink-soft);font-size:.94rem;line-height:1.5}.plat-flip-wrap{position:relative;display:grid;place-items:center;padding:36px 0 28px;isolation:isolate}.plat-flip-wrap .plat-soon{top:0;right:auto;left:50%;translate:-50% 0;z-index:2}.plat-flip{width:min(100%,360px);aspect-ratio:3 / 2;padding:0;border:0;background:none;cursor:pointer;perspective:1000px;font:inherit;color:inherit}.plat-flip-inner{position:relative;display:block;width:100%;height:100%;transition:transform .6s var(--ease-standard);transform-style:preserve-3d}.plat-flip.is-flipped .plat-flip-inner{transform:rotateY(180deg)}.plat-flip-face{position:absolute;inset:0;backface-visibility:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-soft)}.plat-flip-front{background:var(--paper-card);border:1.5px dashed color-mix(in srgb,var(--band-4) 80%,transparent)}.plat-flip-back{background:var(--ink-surface);color:var(--on-surface);transform:rotateY(180deg)}.plat-flip-face small{text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.72rem;color:var(--accent)}.plat-flip-back small{color:var(--band-4)}.plat-flip-face strong{font-size:1.35rem;line-height:1.3}.plat-flip-face em{font-style:normal;font-size:.82rem;color:var(--ink-soft)}.plat-flip:focus-visible{outline:3px solid var(--band-4);outline-offset:6px;border-radius:var(--radius-lg)}.plat-flip-wrap:before,.plat-flip-wrap:after{content:"";position:absolute;width:min(100%,360px);aspect-ratio:3 / 2;border-radius:var(--radius-lg);background:var(--paper-card);border:1px solid var(--line);transform:rotate(-5deg) translate(-10px,8px);z-index:-1}.plat-flip-wrap:after{transform:rotate(4deg) translate(12px,6px)}.plat-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plat-role{padding:26px;border-radius:var(--radius-xl);background:var(--paper-card);border:1px solid var(--line);border-top:5px solid var(--band-2)}.plat-role:nth-child(2){border-top-color:var(--band-4)}.plat-role:nth-child(3){border-top-color:var(--band-3)}[data-theme=dark] .plat-role:nth-child(3){border-top-color:var(--band-1)}.plat-role strong{font-size:1.2rem}.plat-role p{margin:8px 0 0;color:var(--ink-soft)}.plat-honest{display:flex;gap:28px;align-items:flex-start;max-width:900px}.plat-honest-icon{flex:none;display:grid;place-items:center;width:72px;height:72px;border-radius:22px;border:2px dashed var(--band-4);color:var(--accent)}.plat-honest-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.plat-honest h2{margin-top:0}.plat-honest p{margin:0;color:var(--ink-soft);font-size:1.05rem;line-height:1.6}@media(max-width:900px){.plat-hero-grid{grid-template-columns:minmax(0,1fr)}.plat-orbit{width:min(100%,420px);--r1: 118px;--r2: 192px}.plat-vs,.plat-pair{grid-template-columns:minmax(0,1fr)}.plat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plat-roles{grid-template-columns:minmax(0,1fr)}.plat-split--flip>:first-child{order:0}}@media(max-width:560px){.plat-hero{padding:64px 0 56px}.plat-orbit{width:100%;max-width:340px;--r1: 92px;--r2: 150px}.plat-sat b{font-size:.74rem;padding:6px 10px}.plat-orbit{margin-bottom:56px}.plat-outside{inset:auto auto -60px 50%;translate:-50% 0;white-space:nowrap}.plat-core>span{transform:scale(.72)}.plat-grid{grid-template-columns:minmax(0,1fr)}.plat-drill-opts{grid-template-columns:repeat(2,minmax(0,1fr))}.plat-drill-body{min-height:260px}.plat-honest{flex-direction:column;gap:16px}}@media(prefers-reduced-motion:reduce){.plat-spin,.plat-sat b,.sketch-snap,.drill-opt{animation:none!important}.plat-flip-inner{transition:none}}.eco-legend{display:flex;gap:14px;font-size:.74rem;font-weight:700}.eco-legend .ok{color:var(--band-2)}.eco-legend .bad{color:#e5484d}.plat-panel .eco-legend{margin-top:12px}.eco-cells span:after,.plat-panel-art--sheet span:after{content:"✓";position:absolute;right:5px;top:2px;font-size:.62rem;font-weight:800;color:var(--band-2)}.eco-cells span.bad:after,.plat-panel-art--sheet span.bad:after{content:"✗";color:#e5484d}.plat-panel-art--sheet span{position:relative;display:grid;place-items:center;font-weight:800;font-size:.9rem;color:var(--ink)}.plat-panel-art--sheet span.bad{color:#e5484d}button.eco-book{border:0;font:inherit;font-size:.68rem;font-weight:800;cursor:pointer;transition:transform .2s var(--ease-standard)}.eco.is-live button.eco-book:hover{transform:translateY(-8px)}button.eco-book:focus-visible{outline:2px solid var(--band-4);outline-offset:2px}.eco-book:nth-child(6){height:104px}.eco-book:nth-child(7){height:92px;width:40px;color:#fff}.eco-book:nth-child(5){color:#f1f6ec}.plat-panel-art--shelf{position:relative}.plat-panel-art--shelf button{width:30px;height:86px;padding:0;border:0;cursor:pointer;border-radius:3px 5px 5px 3px;background:var(--c);box-shadow:inset -4px 0 #0000001f;transition:transform .25s var(--ease-standard)}.plat-panel-art--shelf button:nth-child(2){height:96px}.plat-panel-art--shelf button:nth-child(3){height:74px}.plat-panel-art--shelf button:nth-child(5){height:80px}.plat-panel-art--shelf button:nth-child(6){height:90px}.plat-panel-art--shelf button:nth-child(7){height:70px}.plat-panel-art--shelf button:hover{transform:translateY(-10px) rotate(-4deg)}.plat-panel-art--shelf button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.plat-panel-art--shelf .plat-shelf-tip{position:absolute;right:16px;top:10px;width:auto;height:auto;border-radius:0;background:none;box-shadow:none;transform:none;white-space:nowrap;line-height:1.2;font-size:.78rem;font-weight:700;color:var(--ink-soft)}.lib-pop{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:16px;background:#061a1699;backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease}.lib-pop.is-open{opacity:1}.lib-pop-book{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);width:min(100%,720px);min-height:400px;border-radius:10px 18px 18px 10px;overflow:hidden;box-shadow:0 40px 90px #00000080;perspective:1600px}.lib-pop-cover{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:28px;background:var(--c);color:#f1f6ec;box-shadow:inset -14px 0 24px #0000002e}.lib-pop-cover small{font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.85}.lib-pop-cover strong{font-size:1.5rem;line-height:1.2}.lib-pop-cover i{position:absolute;top:18px;left:24px;font-style:normal;font-size:5rem;font-weight:800;line-height:1;opacity:.25}.lib-pop-cover--light{color:#123b2e}.lib-pop-cover--light small{opacity:.75}.lib-pop-cover--light i{opacity:.18}.lib-pop-page{background:linear-gradient(90deg,rgba(0,0,0,.08),transparent 22px),var(--paper-card);color:var(--ink);transform-origin:left center}.lib-pop.is-open .lib-pop-page{animation:lib-page .6s var(--ease-standard) both}@keyframes lib-page{0%{transform:rotateY(-80deg);opacity:.4}}.lib-pop-body{display:flex;flex-direction:column;gap:10px;height:100%;padding:32px 30px 28px 38px}.lib-pop-body h3{margin:0;font-size:1.25rem}.lib-pop-meta{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.5}.lib-pop-body p{margin:0;line-height:1.5}.lib-pop-loading{color:var(--ink-soft)}.lib-pop-tags{display:flex;flex-wrap:wrap;gap:6px}.lib-pop-tags span{padding:3px 10px;border-radius:999px;background:var(--paper-soft);font-size:.78rem;font-weight:700}.lib-pop-lines{display:flex;flex-direction:column;gap:10px;margin-top:8px}.lib-pop-lines i{height:8px;border-radius:4px;background:var(--line)}.lib-pop-lines i.s{width:64%}.lib-pop-open{align-self:flex-start;margin-top:auto}.lib-pop-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;background:var(--paper-card);color:var(--ink);font-size:1.6rem;line-height:1}.lib-pop-close:focus-visible{outline:3px solid var(--band-4);outline-offset:2px}@media(max-width:640px){.lib-pop-book{grid-template-columns:minmax(0,1fr);min-height:0}.lib-pop-cover{min-height:150px;padding:22px}.lib-pop-cover i{font-size:3.4rem}.lib-pop-body{padding:22px}.plat-shelf-tip{display:none}}@media(prefers-reduced-motion:reduce){.lib-pop.is-open .lib-pop-page{animation:none}}.pc-topics{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 20px;padding:0;list-style:none}.pc-topics li{padding:6px 12px;border-radius:999px;font-size:.86rem;font-weight:600;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}.pc-topics li:first-child{background:color-mix(in srgb,var(--band-4) 22%,transparent);border-color:color-mix(in srgb,var(--band-4) 55%,transparent)}.pc-topics .pc-topics-more{background:none;border-style:dashed;color:var(--ink-soft)}.pc-deck{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;min-width:0}.pc-stack{position:relative;display:grid;width:min(100%,390px);padding:0 0 34px;touch-action:pan-y;user-select:none;-webkit-user-select:none;isolation:isolate}.pc-card{--pos: 0;--drag: 0;grid-area:1 / 1;position:relative;display:grid;min-height:300px;perspective:1200px;cursor:grab;outline:none;border-radius:var(--radius-xl);z-index:calc(10 - var(--pos));transform-origin:50% 100%;transform:translateY(calc(var(--pos) * 13px)) scale(calc(1 - var(--pos) * .045));opacity:clamp(0,calc(3 - var(--pos)),1);transition:transform .42s var(--ease-standard),opacity .3s ease;-webkit-tap-highlight-color:transparent}.pc-card:not(.is-top){pointer-events:none}.pc-card.is-gone{opacity:0;visibility:hidden;transition:none}.pc-card.is-dragging{transition:none;cursor:grabbing}.pc-card.is-leaving{transition:transform .42s cubic-bezier(.2,.7,.3,1),opacity .42s ease;opacity:0;z-index:30;pointer-events:none}.pc-card.is-returning{transition:none}.pc-card:focus-visible .pc-face{outline:3px solid var(--band-4);outline-offset:4px}.pc-inner{display:grid;position:relative;transform-style:preserve-3d;transition:transform .62s cubic-bezier(.3,1.25,.4,1)}.pc-card.is-flipped .pc-inner{transform:rotateY(180deg)}.pc-face{grid-area:1 / 1;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:26px 24px 24px;text-align:center;border-radius:var(--radius-xl);min-width:0;background:var(--paper-card);color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 50px -28px #0a1e188c,var(--shadow-tight);overflow-wrap:anywhere}.pc-back{transform:rotateY(180deg);background:linear-gradient(160deg,color-mix(in srgb,var(--band-2) 26%,var(--paper-card)),var(--paper-card) 70%)}.pc-card:not(.is-top) .pc-face{box-shadow:var(--shadow-tight)}.pc-face small{text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.72rem;color:var(--accent)}.pc-face strong{font-size:1.32rem;line-height:1.3;font-weight:700}.pc-face .pc-big{font-size:clamp(1.5rem,1.1rem + 1.4vw,1.9rem);letter-spacing:-.01em}.pc-face>span{color:var(--ink-soft);font-size:.98rem;line-height:1.45}.pc-face em{font-style:normal;font-size:.82rem;color:var(--ink-soft)}.pc-hanzi{font-size:clamp(3.4rem,2.6rem + 3vw,4.6rem)!important;line-height:1.1!important;font-weight:600!important;letter-spacing:.04em}.pc-gap{display:inline-block;min-width:2.6em;border-bottom:3px solid var(--band-4);color:transparent}.pc-face mark{background:color-mix(in srgb,var(--band-4) 38%,transparent);color:inherit;border-radius:6px;padding:0 .2em}.pc-pic{width:min(100%,190px);height:auto;color:var(--ink)}.pc-pic--sm{width:min(100%,170px)}.pc-pic--sq{width:92px}.pc-pic-fill{fill:color-mix(in srgb,var(--band-2) 22%,transparent)}.pc-pic-t{font:700 15px/1 var(--font-body);fill:currentColor}.pc-pic-t--accent{fill:var(--band-4)}.pc-pic-t--sm{font-size:12px;opacity:.7}.pc-say{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;cursor:pointer;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink);font:600 .9rem/1 var(--font-body);transition:transform .18s var(--ease-standard),background .2s ease}.pc-say svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pc-say:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.pc-say:active{transform:scale(.95)}.pc-say--big{width:84px;height:84px;padding:0;border-radius:50%;background:var(--band-4);border-color:transparent;color:#123b2e}.pc-say--big svg{width:34px;height:34px}.pc-say--big:hover{background:color-mix(in srgb,var(--band-4) 85%,#fff)}.pc-say.is-speaking svg path:last-child{animation:pc-wave 1s ease-in-out infinite}@keyframes pc-wave{50%{opacity:.25}}.pc-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:300px}.pc-opt{min-height:46px;border-radius:14px;cursor:pointer;font:700 1.05rem/1 var(--font-body);border:1.5px solid var(--line);background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--ink);transition:background .2s ease,border-color .2s ease,transform .18s var(--ease-standard)}.pc-opt:hover:not(:disabled){border-color:var(--accent)}.pc-opt:active:not(:disabled){transform:scale(.96)}.pc-opt:disabled{cursor:default}.pc-opt.is-right{background:color-mix(in srgb,var(--band-2) 30%,transparent);border-color:var(--band-2)}.pc-opt.is-wrong{background:color-mix(in srgb,#E8705A 26%,transparent);border-color:#e8705a}.pc-type{display:flex;gap:8px;width:100%;max-width:300px}.pc-type input{flex:1;min-width:0;height:46px;padding:0 14px;border-radius:14px;border:1.5px solid var(--line);background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--ink);font:600 1rem/1 var(--font-body)}.pc-type input:focus{outline:none;border-color:var(--band-4)}.pc-type button{flex:none;height:46px;padding:0 16px;border:0;border-radius:14px;cursor:pointer;background:var(--band-4);color:#123b2e;font:700 .92rem/1 var(--font-body)}.pc-card.is-right .pc-back small{color:var(--band-2)}.pc-card.is-wrong .pc-back small{color:#e8705a}.pc-card.is-again .pc-front:before{content:"";position:absolute;top:16px;right:16px;width:8px;height:8px;border-radius:50%;background:#e8705a;box-shadow:0 0 0 4px color-mix(in srgb,#E8705A 22%,transparent)}.pc-front{position:relative}.pc-stamp{position:absolute;top:50%;left:50%;z-index:5;pointer-events:none;white-space:nowrap;padding:10px 20px;border-radius:16px;border:3px solid currentColor;font:800 1.25rem/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb,var(--paper-card) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .15s ease,scale .15s ease}.pc-stamp--yes{color:var(--band-2);translate:-50% -50%;rotate:-8deg;opacity:clamp(0,var(--drag) * 1.6 - .15,1);scale:calc(.85 + clamp(0,var(--drag),1)*.15)}.pc-stamp--no{color:#e8705a;translate:-50% -50%;rotate:8deg;opacity:clamp(0,var(--drag) * -1.6 - .15,1);scale:calc(.85 + clamp(0,var(--drag) * -1,1)*.15)}.pc-card.is-dragging .pc-stamp{transition:none}.pc-card.is-dragging .pc-face,.pc-card.is-leaving .pc-face{box-shadow:0 0 0 2px color-mix(in srgb,var(--band-2) calc(max(var(--drag),0)*100%),transparent),0 0 0 2px color-mix(in srgb,#E8705A calc(max(var(--drag) * -1,0)*100%),transparent),0 30px 60px -28px #0a1e1899}.pc-done{grid-area:1 / 1;align-self:start;min-height:300px;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px 24px;text-align:center;border-radius:var(--radius-xl);background:var(--paper-card);border:1px dashed color-mix(in srgb,var(--band-2) 60%,transparent);animation:pc-done-in .5s var(--ease-standard)}.pc-done[hidden]{display:none}.pc-done svg{width:52px;height:52px;color:var(--band-2)}.pc-done strong{font-size:1.35rem}.pc-done p{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.5;max-width:300px}.pc-done-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}@keyframes pc-done-in{0%{opacity:0;transform:scale(.94) translateY(10px)}}.pc-progress{width:min(100%,390px);height:4px;border-radius:4px;background:var(--line);overflow:hidden;margin:4px 0 20px}.pc-progress i{display:block;height:100%;width:0;border-radius:inherit;background:var(--band-2);transition:width .45s var(--ease-standard)}.pc-controls{display:flex;align-items:center;justify-content:center;gap:12px;width:min(100%,390px)}.pc-ctl{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 16px;border-radius:999px;cursor:pointer;border:1px solid var(--line);background:var(--paper-card);color:var(--ink);font:700 .95rem/1 var(--font-body);white-space:nowrap;transition:transform .18s var(--ease-standard),border-color .2s ease,background .2s ease}.pc-ctl svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.pc-ctl kbd{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:7px;font:700 .74rem/1 var(--font-body);color:var(--ink-soft);background:color-mix(in srgb,var(--ink) 7%,transparent);border:1px solid var(--line)}.pc-ctl:active:not(:disabled){transform:scale(.96)}.pc-ctl:disabled{opacity:.4;cursor:default}.pc-ctl--no,.pc-ctl--yes{flex:1 1 0;min-width:0}.pc-ctl--no:hover:not(:disabled){border-color:#e8705a;color:#e8705a}.pc-ctl--yes{background:var(--band-2);border-color:transparent;color:#fff}.pc-ctl--yes kbd{color:#fff;background:#ffffff2e;border-color:#ffffff40}.pc-ctl--yes:hover:not(:disabled){background:color-mix(in srgb,var(--band-2) 88%,#000)}.pc-ctl--flip{flex:none;padding:0 14px}.pc-ctl--flip:hover:not(:disabled){border-color:var(--band-4)}.pc-score{margin:14px 0 0;font-size:.86rem;font-weight:600;color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:center}@media(max-width:520px){.pc-card,.pc-done{min-height:280px}.pc-face{padding:22px 18px 20px}.pc-ctl{padding:0 12px;gap:6px}.pc-ctl kbd{display:none}.pc-controls{gap:8px}}@media(hover:none){.pc-ctl kbd{display:none}}@media(prefers-reduced-motion:reduce){.pc-card,.pc-inner,.pc-progress i{transition:none}.pc-done{animation:none}}.eco-secret{all:unset;box-sizing:border-box;cursor:pointer;position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 16px;width:100%;margin-top:12px;padding:14px 18px;border-radius:var(--radius-md);border:1px dashed color-mix(in srgb,var(--band-4) 65%,transparent);background:color-mix(in srgb,var(--band-4) 6%,transparent);color:var(--on-surface);transition:background .25s,border-color .25s}.eco-secret:hover{background:color-mix(in srgb,var(--band-4) 11%,transparent);border-color:var(--band-4)}.eco-secret:focus-visible{outline:2px solid var(--band-4);outline-offset:3px}.eco-secret-ico{width:34px;height:34px;color:var(--band-4)}.eco-secret-text{display:grid;gap:2px;min-width:0}.eco-secret-text small{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--band-4)}.eco-secret-text b{font-size:.98rem}.eco-secret-text>span{font-size:.84rem;color:var(--on-surface-soft)}.eco-secret-btn{padding:6px 14px;border-radius:999px;border:1px solid var(--band-4);color:var(--band-4);font-size:.82rem;font-weight:700;white-space:nowrap}.eco-secret[aria-expanded=true] .eco-secret-btn{background:var(--band-4);color:#123b2e}.eco-secret-hint{grid-column:1 / -1;display:none;position:relative;padding:12px 14px;border-radius:6px;background:#0b0a06;font:600 .95rem/1.4 ui-monospace,PT Mono,Consolas,monospace;letter-spacing:.04em;text-transform:uppercase;color:#ffb000;text-shadow:0 0 6px rgba(255,176,0,.55)}.eco-secret-hint:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 1px,transparent 1px 3px)}.eco-secret-hint code{font:inherit;white-space:pre-wrap}.eco-secret-hint code:after{content:"";display:inline-block;width:.6em;height:1em;margin-left:2px;vertical-align:-2px;background:currentColor;animation:eco-blink 1s steps(1) infinite}.eco-secret[aria-expanded=true] .eco-secret-hint{display:block;animation:eco-crt-on .32s steps(5)}@keyframes eco-blink{50%{opacity:0}}@keyframes eco-crt-on{0%{clip-path:inset(48% 0 48% 0);filter:brightness(2.5)}60%{clip-path:inset(0);filter:brightness(1.6)}}@media(max-width:640px){.eco-secret{grid-template-columns:auto minmax(0,1fr)}.eco-secret-btn{grid-column:1 / -1;justify-self:start}}@media(prefers-reduced-motion:reduce){.eco-secret-hint code:after,.eco-secret[aria-expanded=true] .eco-secret-hint{animation:none}}
