.activity-stage{--act-bg:#eef6ff;--act-bg-warm:#fff7df;--act-bg-mint:#e9fff6;--act-surface:var(--clr-surface,#fff);--act-surface-soft:#f6f9ff;--act-surface-strong:#e8f0ff;--act-border:#bfd8ff;--act-border-strong:#77b5ff;--act-text:var(--clr-text,#0a0f1e);--act-muted:var(--clr-text-muted,#4b5680);--act-brand:var(--clr-brand,#2563eb);--act-brand-dark:var(--clr-brand-dark,#1d4ed8);--act-brand-soft:#dbeafe;--act-cyan:#0891b2;--act-cyan-dark:#0e7490;--act-cyan-soft:#cffafe;--act-success:#15803d;--act-success-soft:#dcfce7;--act-warning:#d97706;--act-warning-soft:#fde68a;--act-danger:#dc2626;--act-danger-soft:#fee2e2;--act-shadow:0 22px 50px #2563eb21, 0 8px 18px #0a0f1e14;background:linear-gradient(135deg, #eff6fff5, #e8fff6e6 58%, #fff7dfd1), var(--act-bg);border-top:1px solid var(--act-border);border-bottom:1px solid var(--act-border);touch-action:none;-webkit-user-select:none;user-select:none;width:100vw;max-width:100vw;height:clamp(420px,100vh - 190px,900px);margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.activity-stage__game{position:absolute;inset:0}.activity-stage__hint{z-index:4;border:1px solid var(--act-border);max-width:calc(100vw - 2rem);color:var(--act-muted);text-align:center;white-space:normal;pointer-events:none;background:#fffffff5;border-radius:999px;padding:8px 18px;font-size:1rem;font-weight:700;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #2563eb1a}.school-puzzle-activity{touch-action:pan-y;background:linear-gradient(135deg, #eff6fff5, #e8fff6eb 58%, #fff7dfd1), var(--act-bg);place-items:center;padding:clamp(1rem,3vw,2rem) clamp(1rem,4vw,3rem) 4.5rem;display:grid;position:absolute;inset:0;overflow:auto}.school-puzzle-activity .pz{width:min(100%,42rem)}.school-puzzle-activity .pz-card{border:1px solid var(--act-border);box-shadow:var(--act-shadow)}.mc-root{touch-action:pan-y;background:linear-gradient(135deg, #eff6fff5, #e8fff6eb 58%, #fff7dfd1), var(--act-bg);place-items:center;padding:clamp(.9rem,3vw,2rem) clamp(.9rem,4vw,3rem) 4.5rem;display:grid;position:absolute;inset:0;overflow:auto}.mc-card{border:1px solid var(--act-border);border-radius:var(--r-xl,1.25rem);background:var(--act-surface);width:min(100%,46rem);box-shadow:var(--act-shadow);padding:clamp(1rem,3vw,1.5rem)}.mc-top,.mc-options,.mc-legend{flex-wrap:wrap;gap:.6rem;display:flex}.mc-top{color:var(--act-muted);justify-content:space-between;margin-bottom:.7rem;font-weight:800}.mc-step,.mc-score,.mc-prompt,.mc-feedback{margin:0}.mc-title{color:var(--act-text);margin:0 0 .45rem;font-size:clamp(1.3rem,3vw,1.8rem);line-height:1.15}.mc-prompt{color:var(--act-muted);font-size:1.05rem}.mc-display{border-radius:var(--r-lg,1rem);background:var(--act-surface-soft);border:1px solid var(--act-border);justify-content:center;align-items:center;gap:.55rem;min-height:5.5rem;margin:1rem 0;padding:1rem;display:flex}.mc-display--text{letter-spacing:0;color:var(--track-inf-dark,#115e59);text-align:center;overflow-wrap:anywhere;font-size:clamp(1.8rem,7vw,3.25rem);font-weight:800}.mc-chip{border-radius:var(--r-md,.75rem);background:var(--act-cyan-soft);border:1px solid #67e8f9;justify-content:center;align-items:center;min-width:3rem;min-height:3rem;padding:.35rem .65rem;font-size:clamp(1.75rem,6vw,3rem);line-height:1;display:inline-flex}.mc-display--binary{flex-wrap:wrap}.mc-display--cipher{flex-wrap:wrap;align-content:center}.mc-code-token{border-radius:var(--r-md,.75rem);min-width:3rem;min-height:3rem;color:var(--track-inf-dark,#115e59);background:#fff;border:2px solid #8dd3cf;place-items:center;padding:.35rem .6rem;font-size:clamp(1.35rem,4.5vw,2.35rem);font-weight:900;line-height:1;display:inline-grid;box-shadow:0 4px #0d94882e}.mc-display--key{flex-direction:column;align-items:stretch;gap:.85rem}.mc-key-examples{gap:.45rem;display:grid}.mc-key-row,.mc-key-challenge{grid-template-columns:minmax(0,1fr) 1.5rem minmax(4.5rem,.55fr);align-items:center;gap:.45rem;display:grid}.mc-key-row{border-bottom:1px solid var(--act-border);padding:.45rem .6rem}.mc-key-challenge{border-radius:var(--r-md,.75rem);background:#ecfdf5;border:2px solid #0d9488;padding:.75rem .6rem}.mc-key-code{flex-wrap:wrap;justify-content:flex-end;gap:.3rem;min-width:0;display:flex}.mc-key-token{color:#115e59;background:#fff;border:1px solid #8dd3cf;border-radius:6px;place-items:center;min-width:2.1rem;min-height:2.1rem;padding:.2rem .35rem;font-size:1.15rem;font-weight:900;line-height:1;display:inline-grid}.mc-key-equals,.mc-key-plain,.mc-key-unknown{color:var(--act-text);text-align:center;font-size:1.05rem}.mc-key-unknown{color:#0f766e;font-size:1.55rem}.mc-lamp{aspect-ratio:1;background:var(--act-surface-strong);color:#263653;border:2px solid #8aa9cf;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:.18rem;width:clamp(3.1rem,13vw,4.4rem);font-weight:800;display:inline-flex}.mc-lamp--on{background:var(--act-warning-soft);border-color:var(--act-warning);color:#713f12;box-shadow:0 0 0 4px #d9770629}.mc-lamp__bit{font-size:1.3rem;line-height:1}.mc-lamp__weight{font-size:.8rem;line-height:1}.mc-display--pixels{grid-template-columns:repeat(var(--mc-size), minmax(1.9rem, 2.7rem));justify-content:center;display:grid}.mc-pixel{aspect-ratio:1;background:#fff;border:1px solid #b9c9e4;border-radius:8px}.mc-pixel--on{background:var(--track-inf,#0d9488);border-color:var(--track-inf-dark,#115e59)}.mc-legend{margin-bottom:1rem}.mc-legend__item{border-radius:var(--r-md,.75rem);background:var(--act-surface-strong);color:var(--act-muted);padding:.35rem .55rem;font-size:.95rem;font-weight:700}.mc-options{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mc-option{min-height:var(--kid-tap,3.5rem);border-radius:var(--r-md,.75rem);background:var(--act-cyan-soft);color:#134e4a;font:inherit;cursor:pointer;overflow-wrap:anywhere;border:1px solid #67e8f9;padding:.65rem .75rem;font-weight:800}.mc-option:hover,.mc-option:focus-visible{background:#a7f3d0;outline:3px solid #2563eb38}.mc-feedback{color:#92400e;min-height:1.4rem;margin-top:.75rem;font-weight:800}.mc-feedback--show{animation:.25s mc-nudge}@keyframes mc-nudge{0%,to{transform:translate(0)}35%{transform:translate(-5px)}70%{transform:translate(5px)}}@media (width<=620px){.mc-options{grid-template-columns:1fr}.mc-display--pixels{grid-template-columns:repeat(var(--mc-size), minmax(1.65rem, 2.25rem))}.mc-key-row,.mc-key-challenge{grid-template-columns:minmax(0,1fr) 1rem minmax(3.6rem,.45fr);padding-inline:.35rem}.mc-key-challenge{grid-template-columns:1fr auto}.mc-key-challenge .mc-key-code{grid-column:1/-1;justify-content:center;gap:.2rem}.mc-key-challenge .mc-key-equals{justify-self:end}.mc-key-challenge .mc-key-unknown{justify-self:start}.mc-key-token{min-width:1.75rem;min-height:1.9rem;font-size:1rem}}@media (prefers-reduced-motion:reduce){.mc-feedback--show{animation:none}}.ss-root{touch-action:pan-y;background:linear-gradient(135deg, #eff6fff5, #e8fff6eb 58%, #fff7dfd1), var(--act-bg);place-items:center;padding:clamp(.8rem,3vw,1.6rem) clamp(.8rem,4vw,2.4rem) 4.5rem;display:grid;position:absolute;inset:0;overflow:auto}.ss-shell{border:1px solid var(--act-border);border-radius:var(--r-xl,1.25rem);background:var(--act-surface);width:min(100%,56rem);box-shadow:var(--act-shadow);padding:clamp(.9rem,2.6vw,1.35rem)}.ss-top{color:var(--act-muted);justify-content:space-between;gap:.75rem;margin-bottom:.65rem;font-weight:800;display:flex}.ss-progress,.ss-score,.ss-instruction,.ss-card__label,.ss-feedback{margin:0}.ss-title{color:var(--act-text);margin:0 0 .35rem;font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.15}.ss-instruction{color:var(--act-muted);font-size:1.05rem}.ss-card{border-radius:var(--r-lg,1rem);background:var(--act-surface-soft);border:1px solid var(--act-border);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.85rem;margin:.9rem 0;padding:.85rem;display:grid}.ss-card__visual{aspect-ratio:1;border-radius:var(--r-md,.75rem);background:#fff;border:1px solid #b9c9e4;place-items:center;width:clamp(4.2rem,14vw,6.2rem);display:grid}.ss-card__label{color:var(--act-text);font-size:clamp(1.05rem,2.4vw,1.35rem);font-weight:800;line-height:1.2}.ss-emoji{font-size:clamp(2.2rem,9vw,4rem);line-height:1}.ss-shape{aspect-ratio:1;background:var(--act-danger);border:3px solid #0f172a29;width:68%;display:block;box-shadow:0 6px 14px #0f172a29}.ss-shape--circle{border-radius:999px}.ss-shape--square{border-radius:var(--r-sm,.5rem)}.ss-shape--diamond{border-radius:var(--r-sm,.5rem);transform:rotate(45deg)scale(.82)}.ss-shape--triangle{aspect-ratio:auto;width:0;height:0;box-shadow:none;border:0;border-left:2.15rem solid #0000;border-right:2.15rem solid #0000;border-bottom:4rem solid var(--act-danger);background:0 0}.ss-shape--red{background:var(--act-danger)}.ss-shape--blue{background:var(--act-brand)}.ss-shape--green{background:#16a34a}.ss-shape--yellow{background:#facc15}.ss-shape--triangle.ss-shape--red{border-bottom-color:var(--act-danger)}.ss-shape--triangle.ss-shape--blue{border-bottom-color:var(--act-brand)}.ss-shape--triangle.ss-shape--green{border-bottom-color:#16a34a}.ss-shape--triangle.ss-shape--yellow{border-bottom-color:#facc15}.ss-grid{grid-template-columns:minmax(5rem, .75fr) repeat(var(--ss-cols), minmax(6.8rem, 1fr));gap:.45rem;display:grid}.ss-corner,.ss-axis,.ss-bin{border-radius:var(--r-md,.75rem);text-align:center;place-items:center;min-height:3.15rem;padding:.55rem;line-height:1.15;display:grid}.ss-corner,.ss-axis{background:var(--act-surface-strong);color:var(--act-muted);font-weight:800}.ss-axis--col{background:var(--act-brand-soft);color:var(--act-brand-dark)}.ss-axis--row{background:var(--act-success-soft);color:#166534}.ss-bin{border:1px solid var(--act-border);color:var(--act-text);font:inherit;cursor:pointer;overflow-wrap:anywhere;background:#fff;font-size:1rem;font-weight:800}.ss-bin:hover,.ss-bin:focus-visible{background:var(--act-cyan-soft);outline:3px solid #2563eb38}.ss-feedback{color:#92400e;min-height:1.4rem;margin-top:.75rem;font-weight:800}.ss-feedback--show{animation:.25s ss-nudge}@keyframes ss-nudge{0%,to{transform:translate(0)}35%{transform:translate(-5px)}70%{transform:translate(5px)}}@media (width<=720px){.ss-card{text-align:center;grid-template-columns:1fr}.ss-card__visual{justify-self:center}.ss-grid{grid-template-columns:1fr}.ss-corner,.ss-axis--col{display:none}}@media (prefers-reduced-motion:reduce){.ss-feedback--show{animation:none}}.activity-desktop-only{text-align:center;padding:2rem 1.5rem}.activity-desktop-only__icon{margin-bottom:.75rem;font-size:2.5rem;line-height:1}.kp-root{--kp-key-bg:#fff;--kp-accent:var(--act-cyan);--kp-accent-shadow:var(--act-cyan-dark);--kp-board-bg:#d9fbff;--kp-board-border:#38bdf8;--kp-legend:#64748b;background:radial-gradient(#0ea5e957 1.4px,#0000 1.4px) 0 0/24px 24px,linear-gradient(135deg,#eff6fff5,#e8fff6e6);position:absolute;inset:0}.kp-board{transform:translate(-50%, -50%) scale(var(--kp-scale,1));z-index:2;border-radius:var(--r-xl,1.75rem);background:var(--kp-board-bg);border:3px solid var(--kp-board-border);box-shadow:var(--act-shadow);padding:12px 20px;position:absolute;top:50%;left:50%}.kp-board__inner{border-radius:var(--r-lg,1rem);background:#ffffff7a;flex-direction:column;gap:6px;padding:10px;display:flex}.kp-row{justify-content:center;gap:5px;display:flex}.kp-key{border-radius:var(--r-sm,.5rem);background:var(--kp-key-bg);border:2px solid var(--kp-board-border);height:52px;box-shadow:0 4px 0 var(--kp-accent-shadow);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.kp-key--func{color:var(--kp-legend);background:var(--act-surface-soft);border-color:#b9c9e4;font-size:.88rem;font-weight:700;box-shadow:0 4px #8aa9cf}.kp-key__top{color:var(--kp-legend);font-size:.72rem;line-height:1;position:absolute;top:3px;left:5px}.kp-key__bottom{color:var(--kp-accent);font-size:1.05rem;font-weight:800;line-height:1;position:absolute;bottom:3px;right:5px}.kp-slot{box-shadow:none;background:0 0;border:2.5px dashed #0f172a2e}.kp-level-easy .kp-slot:before,.kp-level-medium .kp-slot:before{content:attr(data-hint-bottom);font-size:1.05rem;font-weight:700;line-height:1;position:absolute;bottom:3px;right:5px}.kp-level-easy .kp-slot:after,.kp-level-medium .kp-slot:after{content:attr(data-hint-top);font-size:.72rem;line-height:1;position:absolute;top:3px;left:5px}.kp-level-easy .kp-slot:before{color:#0f172a3d}.kp-level-easy .kp-slot:after{color:#0f172a33}.kp-level-medium .kp-slot:before,.kp-level-medium .kp-slot:after{color:#0000;transition:color .2s}.kp-level-medium .kp-slot--over:before{color:#0f172a5c}.kp-level-medium .kp-slot--over:after{color:#0f172a47}.kp-slot--over{border-style:solid;border-color:var(--kp-accent);background:#2563eb1a;box-shadow:0 0 0 3px #2563eb33}.kp-key--just-placed{animation:.45s cubic-bezier(.175,.885,.32,1.275) kp-pop}.kp-slot--wrong{animation:.4s kp-shake}@keyframes kp-pop{0%{background:var(--act-success-soft);border-color:#4ade80;transform:scale(1.28)}60%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes kp-shake{0%,to{transform:translate(0)}20%{background:var(--act-danger-soft);border-color:#fca5a5;transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.kp-pieces{z-index:3;pointer-events:none;position:absolute;inset:0}.kp-piece{border-radius:var(--r-sm,.5rem);background:var(--kp-key-bg);border:2.5px solid var(--kp-accent);width:56px;height:56px;box-shadow:0 5px 0 var(--kp-accent-shadow), 0 8px 18px #0f172a24;cursor:grab;pointer-events:all;touch-action:none;transition:transform .12s,box-shadow .12s;position:absolute}.kp-piece:hover{box-shadow:0 8px 0 var(--kp-accent-shadow), 0 12px 24px #2563eb38}.kp-piece--dragging{cursor:grabbing;pointer-events:none;z-index:10;transition:none;transform:scale(1.12)rotate(3deg)!important;box-shadow:0 14px 32px #0f172a4d!important}.kp-piece--returning{transition:left .35s cubic-bezier(.175,.885,.32,1.275),top .35s cubic-bezier(.175,.885,.32,1.275)}.kp-piece--landing{opacity:0;pointer-events:none;transition:left .22s,top .22s,opacity .22s,transform .22s;transform:scale(1.35)!important}.kp-piece .kp-key__bottom{font-size:1.1rem}@media (prefers-reduced-motion:reduce){.kp-key--just-placed,.kp-slot--wrong{animation:none}.kp-piece,.kp-piece--returning,.kp-piece--landing{transition:none}}.mz-root{background:linear-gradient(135deg, #eff6fff5, #e8fff6e6), var(--act-bg);flex-direction:column;gap:.5rem;padding:.75rem;display:flex;position:absolute;inset:0}.mz-hud{color:var(--act-muted);flex-wrap:wrap;justify-content:center;gap:1.25rem;font-weight:800;display:flex}.mz-hud__item{border:1px solid var(--act-border);white-space:nowrap;background:#fffffff5;border-radius:999px;padding:5px 16px;font-size:1rem;box-shadow:0 8px 20px #2563eb14}.mz-board{flex:auto;justify-content:center;align-items:center;min-height:0;display:flex}.mz-canvas{border-radius:var(--r-lg,1rem);background:var(--act-surface-soft);box-shadow:var(--act-shadow);touch-action:none;cursor:grab}.mz-canvas:active{cursor:grabbing}.mz-board--shake{animation:.45s mz-shake}@keyframes mz-shake{10%,90%{transform:translate(-3px)}20%,80%{transform:translate(5px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}.mz-toast{color:#fff;white-space:nowrap;pointer-events:none;background:#172554;border-radius:999px;margin:0;padding:8px 18px;font-size:.95rem;font-weight:800;transition:opacity .2s;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.mz-toast--hidden{opacity:0}.mz-error{text-align:center;color:var(--act-danger);padding:2rem;font-weight:600}@media (prefers-reduced-motion:reduce){.mz-board--shake{animation:none}.mz-toast{transition:none}}.wn-root{background:radial-gradient(circle at 18% 20%,#60a5fa33,#0000 32%),radial-gradient(circle at 82% 72%,#2dd4bf24,#0000 34%),linear-gradient(160deg,#1e40af,#172554 58%,#111827);flex-direction:column;display:flex;position:absolute;inset:0}.wn-hud{color:#f8fbff;justify-content:center;gap:1.25rem;padding:.6rem;font-weight:800;display:flex}.wn-hud__item{white-space:nowrap;background:#ffffff29;border-radius:999px;padding:5px 16px;font-size:1rem;box-shadow:0 8px 20px #02061729}.wn-timebar{background:#ffffff38;border-radius:999px;height:6px;margin:0 .75rem;overflow:hidden}.wn-timebar__fill{background:linear-gradient(90deg,#22c55e,#facc15,#fb7185);border-radius:999px;width:100%;height:100%}.wn-hud__time{font-variant-numeric:tabular-nums}.wn-desktop{border-radius:var(--r-lg,1rem);background:radial-gradient(circle at 20% 25%,#ffffff14,#0000 45%),radial-gradient(circle at 80% 70%,#ffffff12,#0000 40%),#0f172a29;flex:auto;min-height:0;margin:.75rem;position:relative;overflow:hidden}.wn-window{border-radius:var(--r-md,.75rem);background:#fff;flex-direction:column;width:420px;height:320px;transition:transform .4s,opacity .4s;display:flex;position:absolute;overflow:hidden;box-shadow:0 18px 45px #02061761}.wn-window__header{background:var(--wn-app,#334155);color:#fff;cursor:grab;touch-action:none;justify-content:space-between;align-items:center;gap:.5rem;padding:9px 11px;display:flex}.wn-window__header:active{cursor:grabbing}.wn-window__title{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;min-width:0;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.wn-window__controls{flex-shrink:0;gap:6px;display:flex}.wn-control{border-radius:var(--r-sm,.5rem);color:#fff;width:30px;height:26px;font:inherit;cursor:pointer;background:#ffffff47;border:0;font-size:.9rem;line-height:1;transition:background .15s,transform .15s}.wn-control:hover{background:#ffffff7a;transform:translateY(-1px)}.wn-control--close:hover{background:var(--act-danger)}.wn-window__body{background:color-mix(in srgb, var(--wn-app,#334155) 8%, #fff);flex-direction:column;flex:auto;gap:.75rem;padding:1rem;display:flex}.wn-window__hello{color:var(--act-muted);margin:0;font-size:1rem}.wn-window__task{border-radius:var(--r-md,.75rem);background:#fff;margin-top:auto;padding:.85rem 1rem;box-shadow:0 2px 10px #0f172a1f}.wn-window__task-label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin:0 0 4px;font-size:.75rem;font-weight:700}.wn-window__task-text{color:var(--wn-app,#1e293b);margin:0;font-size:1.15rem;font-weight:800}.wn-window--closing{opacity:0;transform:scale(0)rotate(12deg)}.wn-window--minimizing{opacity:0;transform:translateY(120%)scale(.4)}.wn-window--maximizing{width:auto;height:auto;inset:0}.wn-window--wrong{animation:.4s wn-shake}@keyframes wn-shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}50%{transform:translate(10px)}75%{transform:translate(-6px)}}.wn-toast{white-space:nowrap;pointer-events:none;border-radius:999px;margin:0;padding:7px 20px;font-size:.95rem;font-weight:700;transition:opacity .2s;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.wn-toast--ok{background:var(--act-success-soft);color:#166534}.wn-toast--miss{background:var(--act-danger-soft);color:#991b1b}.wn-toast--hidden{opacity:0}.wn-error{text-align:center;color:#fecaca;padding:2rem;font-weight:600}@media (prefers-reduced-motion:reduce){.wn-window,.wn-toast{transition:none}.wn-window--wrong{animation:none}}.mb-root{color:#f8fbff;background:radial-gradient(circle at 18% 18%,#60a5fa2e,#0000 32%),radial-gradient(circle at 84% 68%,#2dd4bf1f,#0000 34%),linear-gradient(160deg,#172554,#111827);flex-direction:column;gap:.5rem;padding:.6rem;display:flex;position:absolute;inset:0}.mb-hud{flex-wrap:wrap;justify-content:center;gap:1rem;font-weight:800;display:flex}.mb-hud__item{white-space:nowrap;font-variant-numeric:tabular-nums;background:#ffffff29;border-radius:999px;padding:5px 16px;font-size:1rem;box-shadow:0 8px 20px #02061729}.mb-stage{flex:auto;justify-content:center;align-items:stretch;gap:1.25rem;min-height:0;display:flex}.mb-road{border-radius:var(--r-lg,1rem);cursor:crosshair;touch-action:none;background:#3b4d66;flex:0 520px;min-width:0;position:relative;overflow:hidden;box-shadow:inset 0 0 42px #0f172a57,0 18px 42px #0206172e}.mb-road__stripes{opacity:.26;background-image:repeating-linear-gradient(#fff 0 34px,#0000 34px 74px);background-position:33.333% 0,66.666% 0;background-repeat:repeat-y;background-size:6px 74px;animation:.9s linear infinite mb-scroll;position:absolute;inset:0}@keyframes mb-scroll{0%{background-position-y:0}to{background-position-y:74px}}.mb-objects{pointer-events:none;position:absolute;inset:0}.mb-object{filter:drop-shadow(0 4px 6px #00000080);justify-content:center;align-items:center;width:64px;height:64px;font-size:2.4rem;line-height:1;display:flex;position:absolute;top:0;transform:translate(-50%,-64px)}.mb-car{filter:drop-shadow(0 6px 8px #0000008c);justify-content:center;align-items:center;width:64px;height:64px;margin-left:-32px;font-size:2.6rem;line-height:1;transition:left .12s;display:flex;position:absolute;bottom:18px}.mb-car--invulnerable{animation:.24s steps(2,end) infinite mb-blink}@keyframes mb-blink{0%{opacity:1}to{opacity:.35}}.mb-flash{background:var(--act-danger);opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.mb-flash--active{opacity:.35}.mb-road--shake{animation:.42s mb-shake}@keyframes mb-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}50%{transform:translate(8px)}75%{transform:translate(-5px)}}.mb-pop{pointer-events:none;font-size:1.5rem;font-weight:800;animation:.5s ease-out forwards mb-pop;position:absolute;transform:translate(-50%)}@keyframes mb-pop{0%{opacity:1}to{opacity:0;transform:translate(-50%,-40px)}}.mb-slowmo,.mb-toast{white-space:nowrap;pointer-events:none;border-radius:999px;margin:0;padding:7px 16px;font-size:.95rem;font-weight:800;transition:opacity .2s;position:absolute;left:50%;transform:translate(-50%)}.mb-slowmo{background:var(--track-think,#7c3aed);color:#fff;top:12px}.mb-toast{color:#0f172a;background:#f8fafc;bottom:12px}.mb-slowmo--hidden,.mb-toast--hidden{opacity:0}.mb-mouse{border-radius:var(--r-lg,1rem);background:#ffffff1f;flex-direction:column;flex:none;align-self:center;align-items:center;gap:.5rem;padding:.9rem;display:flex;box-shadow:0 12px 28px #0206172e}.mb-mouse__hint{letter-spacing:.06em;text-transform:uppercase;color:#bfdbfe;margin:0;font-size:.8rem;font-weight:700}.mb-mouse__body{background:#dbeafe;border:4px solid #60738f;border-radius:34px 34px 22px 22px;width:68px;height:96px;display:flex;position:relative;overflow:hidden}.mb-mouse__btn{background:#f8fbff;width:50%;height:42px;transition:background .1s}.mb-mouse__btn--left{border-right:2px solid #8aa9cf}.mb-mouse__btn--active{background:#22d3ee}.mb-mouse__wheel{background:#40516b;border-radius:999px;width:6px;height:16px;margin-left:-3px;position:absolute;top:20px;left:50%}.mb-mouse__labels{color:#bfdbfe;justify-content:space-between;width:100%;font-size:.75rem;font-weight:700;display:flex}.mb-help{text-align:center;color:#bfdbfe;margin:0;font-size:.95rem}.mb-error{text-align:center;color:#fecaca;padding:2rem;font-weight:600}.pc-root{background:radial-gradient(circle at 50% 35%,#fff 0,#e9fff6 42%,#dbeafe 100%);place-items:center;padding:clamp(.75rem,2vw,1.5rem) 1rem 4.25rem;display:grid;position:absolute;inset:0}.pc-shell{gap:.75rem;width:min(100%,42rem);display:grid}.pc-hud{color:var(--act-text);justify-content:space-between;align-items:center;gap:.75rem;font-weight:800;display:flex}.pc-stage{color:var(--act-brand-dark)}.pc-progress,.pc-score{white-space:nowrap}.pc-time{background:#dbeafe;border-radius:999px;height:.55rem;overflow:hidden}.pc-time__fill{border-radius:inherit;background:linear-gradient(90deg,#22c55e,#facc15,#fb7185);width:100%;height:100%}.pc-time__fill--run{animation:pc-countdown var(--pc-target-ms) linear forwards}@keyframes pc-countdown{0%{width:100%}to{width:0%}}.pc-board{aspect-ratio:1;grid-template-columns:repeat(var(--pc-size,4), 1fr);border:2px solid var(--act-border);width:min(68vh,100%,34rem);box-shadow:var(--act-shadow);background:#ffffffe0;border-radius:1.4rem;gap:clamp(.25rem,.8vw,.55rem);margin-inline:auto;padding:clamp(.55rem,1.4vw,.9rem);display:grid}.pc-cell{cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:clamp(.35rem,.8vw,.75rem);min-width:0;min-height:0}.pc-cell:hover{background:#e0f2fe}.pc-cell--target{background:radial-gradient(circle,#fff 0 12%,#67e8f9 14% 48%,#0ea5e9 50% 100%);border-color:#0284c7;animation:.7s ease-in-out infinite alternate pc-pulse;box-shadow:0 0 0 4px #0ea5e92e,0 0 24px #22d3eeb3}.pc-cell--wrong{background:#fee2e2;animation:.3s pc-shake}@keyframes pc-pulse{to{transform:scale(.92)}}@keyframes pc-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.pc-message{text-align:center;min-height:1.5rem;color:var(--act-muted);margin:0;font-weight:800}.pc-message--ok{color:var(--act-success)}.pc-message--miss{color:var(--act-danger)}.pc-break{color:var(--act-brand-dark);grid-column:1/-1;place-items:center;font-size:1.35rem;font-weight:900;display:grid}.pc-break--done{color:var(--act-success)}.fo-activity-root{touch-action:pan-y;background:linear-gradient(135deg,#eff6ff,#f0fdf4 58%,#fff7ed);place-items:center;padding:clamp(1rem,3vw,2rem) clamp(1rem,4vw,3rem) 4.5rem;display:grid;position:absolute;inset:0;overflow:auto}.fo-activity-root .fo{border:1px solid var(--act-border);border-radius:var(--r-xl,1.25rem);background:var(--act-surface);width:min(100%,44rem);box-shadow:var(--act-shadow);padding:clamp(1rem,3vw,1.5rem)}.fo-activity-error{color:var(--act-danger);font-size:1.1rem;font-weight:800}.tg-root{touch-action:none;background:linear-gradient(135deg,#fdf4ff,#eff6ff 55%,#ecfdf5);padding:.65rem .75rem 4.2rem;position:absolute;inset:0;overflow:auto}.tg-shell{width:min(100%,74rem);margin-inline:auto}.tg-hud{justify-content:space-between;align-items:center;gap:.75rem;min-height:2rem;font-weight:800;display:flex}.tg-title{color:#7e22ce}.tg-progress,.tg-help-count{white-space:nowrap;color:var(--act-muted)}.tg-board{box-shadow:var(--act-shadow);background:#ffffffc7;border:1px solid #c4b5fd;border-radius:1.15rem;overflow:hidden}.tg-svg{touch-action:none;width:100%;height:min(62vh,32rem);display:block}.tg-target{fill:#27324a;stroke:none}.tg-target--hint{fill:#7c3aed;stroke:#facc15;stroke-width:8px;animation:.45s ease-in-out infinite alternate tg-hint}@keyframes tg-hint{to{opacity:.58}}.tg-piece{cursor:grab;stroke:#0f172a47;stroke-width:2px;filter:drop-shadow(0 5px 5px #0f172a2e)}.tg-piece--selected{stroke:#fff;stroke-width:5px;filter:drop-shadow(0 0 10px #7c3aedbf)}.tg-piece--placed{cursor:default;stroke-width:1px;filter:none}.tg-controls{flex-wrap:wrap;justify-content:center;gap:.55rem;padding-top:.65rem;display:flex}.tg-control{color:#5b21b6;cursor:pointer;background:#fff;border:1px solid #a78bfa;border-radius:.8rem;min-height:2.7rem;padding:.45rem .9rem;font-weight:900}.tg-control:hover:not(:disabled),.tg-control:focus-visible{background:#f3e8ff;transform:translateY(-1px)}.tg-control:disabled{opacity:.4;cursor:default}.tg-message{text-align:center;min-height:1.5rem;color:var(--act-muted);margin:.45rem 0 0;font-weight:800}.tg-message--ok{color:var(--act-success)}.tg-message--miss{color:var(--act-danger)}.ff-root{background:#071426;position:absolute;inset:0;overflow:hidden}.ff-field{background:radial-gradient(circle at 50% 85%,#164e3d 0,#0f2d35 28%,#071426 68%);position:absolute;inset:0;overflow:hidden}.ff-sky{color:#ffffffa6;justify-content:space-around;font-size:1.4rem;display:flex;position:absolute;inset:0 0 45%}.ff-trees{color:#061c1a;letter-spacing:-2.5rem;white-space:nowrap;opacity:.9;font-size:clamp(7rem,15vw,13rem);position:absolute;inset:auto 0 -2rem}.ff-hud{z-index:5;color:#fef9c3;background:#071426d1;border:1px solid #fde04773;border-radius:999px;align-items:baseline;gap:.55rem;padding:.65rem 1rem;display:flex;position:absolute;top:1rem;left:1rem}.ff-count{color:#fde047;font-size:1.35rem}.ff-message{z-index:5;color:#0f172a;text-align:center;background:#ffffffeb;border-radius:999px;margin:0;padding:.65rem 1.1rem;font-weight:900;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.ff-message--ok{color:#166534}.ff-message--miss{color:#b91c1c}.ff-message--done{color:#854d0e}.ff-firefly{z-index:4;width:4.25rem;height:3rem;color:var(--ff-color);cursor:grab;touch-action:none;filter:drop-shadow(0 0 9px var(--ff-color));background:0 0;border:0;align-items:center;gap:.08rem;font-size:1.35rem;display:flex;position:absolute}.ff-firefly__body{text-shadow:0 0 15px var(--ff-color);font-size:1.1rem}.ff-firefly__wing{color:#ffffffb8}.ff-firefly--float-0{animation:3.6s ease-in-out infinite alternate ff-float-a}.ff-firefly--float-1{animation:4.2s ease-in-out infinite alternate ff-float-b}.ff-firefly--float-2{animation:3.1s ease-in-out infinite alternate ff-float-c}.ff-firefly--dragging{z-index:20;cursor:grabbing;transform:scale(1.25)}.ff-firefly--returning{transition:left .32s,top .32s}@keyframes ff-float-a{to{transform:translate(24px,-16px)}}@keyframes ff-float-b{to{transform:translate(-18px,22px)}}@keyframes ff-float-c{to{transform:translate(16px,14px)}}.ff-jar{z-index:3;width:clamp(7rem,14vw,10rem);height:clamp(9rem,21vh,13rem);transition:filter .18s,transform .18s;position:absolute;bottom:4.5rem;left:50%;transform:translate(-50%)}.ff-jar__lid{z-index:2;background:#64748b;border-radius:.35rem;width:110%;height:1.1rem;position:absolute;top:-.8rem;left:-5%;box-shadow:0 3px 5px #00000073}.ff-jar__glass{background:#ffffff17;border:3px solid #ffffff80;border-top:0;border-radius:0 0 1.3rem 1.3rem;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 20px #ffffff1f}.ff-jar__label{color:#ffffff75;text-align:center;letter-spacing:.12em;font-size:.75rem;font-weight:900;position:absolute;inset:1rem 0 auto}.ff-jar__caught{position:absolute;inset:0}.ff-jar__dot{background:var(--ff-color);width:.55rem;height:.55rem;box-shadow:0 0 10px 3px var(--ff-color);border-radius:50%;position:absolute}.ff-jar--over{filter:drop-shadow(0 0 24px #fde047);transform:translate(-50%)scale(1.06)}.ff-jar--catch{animation:.32s ff-jar-pop}.ff-jar--complete{filter:drop-shadow(0 0 38px #fde047)}@keyframes ff-jar-pop{50%{transform:translate(-50%)scale(1.1)}}@media (width<=680px){.tg-hud{font-size:.82rem}.tg-svg{height:min(58vh,28rem)}.tg-control{min-height:2.4rem;padding:.35rem .65rem;font-size:.82rem}.ff-message{width:max-content;max-width:calc(100% - 2rem);top:4.8rem}}@media (prefers-reduced-motion:reduce){.pc-cell--target,.pc-cell--wrong,.tg-target--hint,.ff-firefly,.ff-jar--catch,.mb-road__stripes{animation:none}.mb-car--invulnerable{opacity:.6;animation:none}.mb-road--shake{animation:none}.mb-pop{opacity:0;animation:none}}.tk-root{position:absolute;inset:0}.tk-stage{outline:none;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.5rem,1.4vh,1rem);height:100%;padding:clamp(.5rem,2vh,1.25rem) 1rem 3.25rem;display:flex}.tk-task{text-align:center}.tk-task__caption{color:var(--act-muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .35rem;font-size:.85rem;font-weight:700}.tk-target{border:2px solid var(--act-border-strong);background:var(--act-surface);min-width:clamp(4.5rem,9vh,7rem);height:clamp(4.5rem,9vh,7rem);box-shadow:var(--act-shadow);color:var(--act-text);border-radius:1.25rem;place-items:center;padding:0 1rem;font-size:clamp(2.2rem,5vh,3.4rem);font-weight:900;line-height:1;transition:transform .15s,border-color .15s,background .15s;display:grid}.tk-target--word{font-size:clamp(1rem,2.4vh,1.5rem)}.tk-target.is-correct{border-color:var(--act-success);background:var(--act-success-soft);color:var(--act-success);transform:scale(1.05)}.tk-target.is-error{border-color:var(--act-danger);background:var(--act-danger-soft);animation:.3s tk-shake}@keyframes tk-shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.tk-combo{min-height:1.2em;color:var(--act-brand-dark);margin:.4rem 0 0;font-size:.9rem;font-weight:700}.tk-feedback{min-height:1.4em;color:var(--act-muted);margin:0;font-size:1rem;font-weight:700}.tk-feedback.is-success{color:var(--act-success)}.tk-feedback.is-error{color:var(--act-danger)}.tk-layout-warning{border:1px solid var(--act-warning);background:var(--act-warning-soft);max-width:34rem;color:var(--act-text);text-align:center;border-radius:999px;margin:0;padding:.5rem 1rem;font-size:.9rem;font-weight:700}.tk-layout-warning[hidden]{display:none}.tk-toggle{color:var(--act-muted);cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;display:inline-flex}.virtual-keyboard{--key-width:clamp(30px, 3.9vw, 52px);--key-height:clamp(30px, 3.2vh, 46px);--key-gap:5px;--finger-color:var(--act-border-strong);align-items:center;gap:var(--key-gap);border:1px solid var(--act-border-strong);background:linear-gradient(155deg, var(--act-surface-soft), var(--act-surface-strong));width:fit-content;max-width:100%;box-shadow:var(--act-shadow);border-radius:16px;flex-direction:column;padding:11px 12px 15px;display:flex}.keyboard-row{justify-content:center;gap:var(--key-gap);display:flex}.keyboard-key{width:var(--key-width);height:var(--key-height);border:1px solid var(--act-border);border-bottom:4px solid var(--finger-color);background:var(--act-surface);color:var(--act-text);border-radius:8px;flex:none;place-items:center;font-weight:850;transition:transform .12s,background .12s,border-color .12s,opacity .12s;display:grid;position:relative}.keyboard-key--medium{width:calc(var(--key-width) * 1.35)}.keyboard-key--wide{width:calc(var(--key-width) * 1.7)}.keyboard-key--xwide{width:calc(var(--key-width) * 2.1)}.keyboard-key--space{width:calc(var(--key-width) * 6.6)}.keyboard-key[data-code=KeyF]:after,.keyboard-key[data-code=KeyJ]:after{content:"";opacity:.72;background:currentColor;border-radius:2px;width:12px;height:2px;position:absolute;bottom:3px;right:9px}.keyboard-key--muted{background:var(--act-surface-soft)}.keyboard-key--muted .key-legend{color:var(--act-muted)}.keyboard-key.is-unavailable{opacity:.34}.keyboard-key[data-finger=pinky]{--finger-color:#e11d63}.keyboard-key[data-finger=ring]{--finger-color:#7c3aed}.keyboard-key[data-finger=middle]{--finger-color:#d97706}.keyboard-key[data-finger=index]{--finger-color:#2563eb}.keyboard-key[data-finger=thumb]{--finger-color:#0d9488}.key-legend{pointer-events:none;line-height:1;position:absolute}.key-legend--secondary{color:var(--act-muted);font-size:.62rem;font-weight:700;top:5px;left:6px}.key-legend--primary{color:var(--act-text);font-size:.92rem;font-weight:900;bottom:5px;right:6px}.key-legend--single{color:var(--act-muted);white-space:nowrap;font-size:.66rem;font-weight:800;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.virtual-keyboard.has-hint .keyboard-key.is-target{z-index:2;border-color:var(--act-brand);background:var(--act-brand-soft);opacity:1;transform:translateY(-3px)scale(1.06);box-shadow:0 0 0 3px #2563eb52}.virtual-keyboard.has-hint .keyboard-key.is-modifier-target{border-color:var(--act-cyan);background:var(--act-cyan-soft);opacity:1;box-shadow:0 0 0 2px #0891b247}.keyboard-key.is-pressed-correct{border-color:var(--act-success);background:var(--act-success-soft);color:var(--act-success);opacity:1}.keyboard-key.is-pressed-error{border-color:var(--act-danger);background:var(--act-danger-soft);color:var(--act-danger);opacity:1}@media (width<=1000px){.virtual-keyboard{--key-gap:4px;--key-width:clamp(28px, 3.6vw, 44px)}}@media (prefers-reduced-motion:reduce){.tk-target.is-error{animation:none}.virtual-keyboard.has-hint .keyboard-key.is-target{transform:none}}.tw-root{position:absolute;inset:0}.tw-stage{outline:none;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.4rem,1.2vh,.85rem);height:100%;padding:clamp(.5rem,2vh,1.25rem) 1rem 3.25rem;display:flex}.tw-caption{color:var(--act-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:700}.tw-target{border:2px solid var(--act-border-strong);background:var(--act-surface);max-width:min(56rem,92vw);box-shadow:var(--act-shadow);letter-spacing:.02em;text-align:center;overflow-wrap:anywhere;border-radius:1rem;margin:0;padding:clamp(.6rem,1.6vh,1.1rem) 1.25rem;font-size:clamp(1.4rem,3.4vh,2.4rem);font-weight:800;line-height:1.35}.tw-target--sentence{font-size:clamp(1.05rem,2.4vh,1.6rem);font-weight:700}.tw-target__done{color:var(--act-success)}.tw-target__todo{color:var(--act-muted)}.tw-target__current{background:var(--act-brand-soft);color:var(--act-brand-dark);box-shadow:0 2px 0 var(--act-brand);border-radius:.35rem;padding:0 .15em}.tw-next{color:var(--act-muted);letter-spacing:.08em;text-align:center;margin:0;font-size:.95rem;font-weight:600}.tw-feedback{min-height:1.4em;color:var(--act-muted);margin:0;font-size:.95rem;font-weight:700}.tw-feedback.is-success{color:var(--act-success)}.tw-feedback.is-error{color:var(--act-danger)}.tw-layout-warning,.ts-layout-warning{border:1px solid var(--act-warning);background:var(--act-warning-soft);max-width:34rem;color:var(--act-text);text-align:center;border-radius:999px;margin:0;padding:.5rem 1rem;font-size:.9rem;font-weight:700}.tw-layout-warning[hidden],.ts-layout-warning[hidden]{display:none}.ts-root{position:absolute;inset:0}.ts-stage{outline:none;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.4rem,1.2vh,.85rem);height:100%;padding:clamp(.5rem,2vh,1.25rem) 1rem 3.25rem;display:flex}.ts-hud{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.ts-hud__item{border:1px solid var(--act-border);background:var(--act-surface);border-radius:999px;align-items:baseline;gap:.4rem;padding:.3rem .75rem;display:flex}.ts-hud__item small{color:var(--act-muted);text-transform:uppercase;font-size:.66rem;font-weight:800}.ts-hud__item strong{font-variant-numeric:tabular-nums;font-size:1.1rem}.ts-field{border:1px solid var(--act-border);background:linear-gradient(180deg, var(--act-surface-strong), var(--act-surface));border-radius:1rem;width:min(60rem,94vw);height:clamp(110px,22vh,190px);position:relative;overflow:hidden}.ts-field:after{background:repeating-linear-gradient(180deg, var(--act-danger) 0 8px, transparent 8px 16px);content:"";opacity:.45;border-radius:3px;width:3px;position:absolute;top:0;bottom:0;right:16px}.ts-target{border:2px solid var(--act-brand);background:var(--act-surface);white-space:nowrap;border-radius:.7rem;padding:.35rem .8rem;font-size:clamp(1.2rem,3vh,2rem);font-weight:900;line-height:1.1;position:absolute;box-shadow:0 6px 16px #2563eb2e}.ts-target[hidden]{display:none}.ts-target--words{font-size:clamp(1rem,2.4vh,1.5rem)}.ts-target--combos{font-size:clamp(1.1rem,2.7vh,1.7rem)}.ts-target__done{color:var(--act-success)}.ts-target__todo{color:var(--act-muted)}.ts-target__current{color:var(--act-brand-dark)}.ts-target.is-hit{border-color:var(--act-success);background:var(--act-success-soft);opacity:0;transition:transform .15s,opacity .15s;transform:scale(1.1)}.ts-target.is-missed{border-color:var(--act-danger);background:var(--act-danger-soft);opacity:0;transition:opacity .2s}.ts-feedback{min-height:1.4em;color:var(--act-muted);margin:0;font-size:.95rem;font-weight:700}.ts-feedback.is-good{color:var(--act-success)}.ts-feedback.is-error{color:var(--act-danger)}@media (prefers-reduced-motion:reduce){.ts-target.is-hit{transform:none}}.tl-root{position:absolute;inset:0}.tl-stage{outline:none;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.35rem,1.1vh,.75rem);height:100%;padding:clamp(.5rem,2vh,1.25rem) 1rem 3.25rem;display:flex}.tl-caption{color:var(--act-muted);flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0;font-size:.85rem;font-weight:700;display:flex}.tl-series{text-transform:uppercase;letter-spacing:.04em}.tl-lesson{color:var(--act-brand-dark)}.tl-text{border:2px solid var(--act-border-strong);background:var(--act-surface);width:min(62rem,94vw);box-shadow:var(--act-shadow);text-align:left;white-space:pre;border-radius:1rem;margin:0;padding:clamp(.6rem,1.6vh,1.1rem) 1.25rem;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:clamp(.95rem,2.2vh,1.5rem);line-height:1.6;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.tl-text__done{color:var(--act-success)}.tl-text__todo{color:var(--act-muted)}.tl-text__current{background:var(--act-brand-soft);color:var(--act-brand-dark);box-shadow:0 2px 0 var(--act-brand);border-radius:.3rem;padding:0 .1em}.tl-text__current.is-space{background:var(--act-warning-soft);box-shadow:0 2px 0 var(--act-warning)}.tl-finger{border:1px solid var(--act-border);background:var(--act-surface);color:var(--act-text);border-radius:999px;margin:0;padding:.3rem .9rem;font-size:.9rem;font-weight:700}.tl-finger[hidden]{display:none}.tl-combo{color:var(--act-brand-dark);margin:0;font-size:.9rem;font-weight:700}.tl-combo[hidden]{display:none}.tl-feedback{min-height:1.4em;color:var(--act-muted);margin:0;font-size:.95rem;font-weight:700}.tl-feedback.is-success{color:var(--act-success)}.tl-feedback.is-error{color:var(--act-danger)}.tl-layout-warning{border:1px solid var(--act-warning);background:var(--act-warning-soft);max-width:34rem;color:var(--act-text);text-align:center;border-radius:999px;margin:0;padding:.5rem 1rem;font-size:.9rem;font-weight:700}.tl-layout-warning[hidden]{display:none}.tl-actions{align-items:center;gap:.65rem;display:flex}.tl-finish{border:1px solid var(--act-border-strong);background:var(--act-surface);color:var(--act-text);font:inherit;cursor:pointer;border-radius:.7rem;padding:.48rem .85rem;font-size:.82rem;font-weight:800}.tl-finish:hover:not(:disabled),.tl-finish:focus-visible{border-color:var(--act-brand)}.tl-finish:disabled{cursor:not-allowed;opacity:.48}.tl-finish-note{color:var(--act-muted);font-size:.76rem}.tl-guide{justify-content:center;align-items:center;gap:clamp(.5rem,1.5vw,1.25rem);display:flex}.tl-hand{flex-direction:column;flex:none;align-items:center;display:flex}.tl-hand__label{color:var(--act-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-size:.6rem;font-weight:850}.tl-hand__visual{width:clamp(74px,9vh,120px);height:clamp(74px,9vh,120px);position:relative}.tl-hand__image{width:100%;height:100%;fill:var(--act-muted);opacity:.5}.tl-hand--left .tl-hand__image{transform:scaleX(-1)}.tl-marker{opacity:.22;border:2px solid #0000;border-radius:999px;transition:opacity .14s,filter .14s,transform .14s;position:absolute}.tl-hand--right .tl-marker--index{width:14%;height:35%;top:9.54%;left:33.13%}.tl-hand--right .tl-marker--middle{width:14%;height:41%;top:3.71%;left:48.13%}.tl-hand--right .tl-marker--ring{width:14%;height:35%;top:10.13%;left:63.13%}.tl-hand--right .tl-marker--pinky{width:14%;height:31%;top:22.29%;left:77%}.tl-hand--right .tl-marker--thumb{width:26%;height:26%;top:32.98%;left:2.27%;transform:rotate(-34deg)}.tl-hand--left .tl-marker--index{width:14%;height:35%;top:10.13%;left:53.13%}.tl-hand--left .tl-marker--middle{width:14%;height:41%;top:4.13%;left:38.13%}.tl-hand--left .tl-marker--ring{width:14%;height:35%;top:8.86%;left:22.54%}.tl-hand--left .tl-marker--pinky{width:14%;height:31%;top:23.86%;left:8%}.tl-hand--left .tl-marker--thumb{width:26%;height:26%;top:33%;left:71.43%;transform:rotate(34deg)}.tl-marker--pinky{color:#e11d63;background:#e11d6361;border-color:#e11d63c7}.tl-marker--ring{color:#7c3aed;background:#7c3aed5c;border-color:#7c3aedc7}.tl-marker--middle{color:#d97706;background:#d9770661;border-color:#d97706cc}.tl-marker--index{color:#2563eb;background:#2563eb5c;border-color:#2563ebc7}.tl-marker--thumb{color:#0d9488;background:#0d94885c;border-color:#0d9488c7}.tl-marker.is-active{opacity:.98;filter:drop-shadow(0 0 7px);transform:scale(1.07)}.tl-hand--right .tl-marker--thumb.is-active{transform:rotate(-34deg)scale(1.07)}.tl-hand--left .tl-marker--thumb.is-active{transform:rotate(34deg)scale(1.07)}@media (width<=1100px){.tl-hand{display:none}}@media (prefers-reduced-motion:reduce){.tl-marker.is-active{transform:none}.tl-hand--right .tl-marker--thumb.is-active{transform:rotate(-34deg)}.tl-hand--left .tl-marker--thumb.is-active{transform:rotate(34deg)}}
