:root{--canvas:#11110f;--canvas-soft:#181815;--text:#f2eee3;--muted:#9c9a91;--quiet:#73716b;--line:#f2eee321;--line-strong:#f2eee33d;--surface-a:#242420f0;--surface-b:#171714f5;--control:#ffffff09;--field:#0000002e;--violet:#9b8cff;--memory:#d7ff64;--primary:#d7ff64;--primary-text:#191a12;--active:#f2eee3;--active-text:#11110f;--danger:#ff6f6f;--danger-soft:#ff6f6f1a;--shadow:0 30px 90px #00000047;--pi-font-brand:15px;--pi-font-kicker:11px;--pi-font-heading:clamp(30px,3.8vw,48px);--pi-font-lead:14px;--pi-font-mode:16px;--pi-font-mode-number:10px;--pi-font-meta:10px;--pi-font-header-action:13px}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);min-width:320px;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}button,input{font:inherit}button{color:inherit}.app-shell[data-pi-theme=light]{--canvas:#f4f0e6;--canvas-soft:#faf8f1;--text:#24231f;--muted:#777268;--quiet:#8a857a;--line:#312e2721;--line-strong:#312e2738;--surface-a:#fffefafa;--surface-b:#f5f1e7f5;--control:#fffdf7b8;--field:#ffffffbd;--violet:#745fe0;--memory:#66791d;--primary:#29271f;--primary-text:#f8f4ea;--active:#29271f;--active-text:#f8f4ea;--danger:#b93f46;--danger-soft:#b93f4614;--shadow:0 28px 80px #40392b1f}html[data-theme=light],html[data-theme=light] body{background:#f4f0e6}.app-shell{min-height:100svh;color:var(--text);background:linear-gradient(color-mix(in srgb,var(--text) 3.5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 3.5%,transparent) 1px,transparent 1px),radial-gradient(circle at 48% 0%,color-mix(in srgb,var(--violet) 13%,transparent),transparent 31%),var(--canvas);background-size:56px 56px,56px 56px,auto;transition:background-color .25s,color .25s;position:relative;overflow:hidden}.app-shell:before{content:"";z-index:0;border:1px solid color-mix(in srgb,var(--violet) 9%,transparent);pointer-events:none;border-radius:50%;width:520px;height:520px;position:absolute;top:280px;right:-260px}.topbar{border-bottom:1px solid var(--line);z-index:4;justify-content:space-between;align-items:center;height:82px;padding:0 max(22px,50vw - 560px);display:flex;position:relative}.brand{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.brand-mark{border:1px solid var(--line-strong);width:42px;height:42px;color:var(--violet);letter-spacing:-.05em;border-radius:13px;place-items:center;font:700 14px/1 Segoe UI,sans-serif;display:grid}.brand>span:last-child{flex-direction:column;display:flex}.brand strong{font-size:var(--pi-font-brand);letter-spacing:.04em;text-transform:uppercase;line-height:1.25}.brand small{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin-top:3px;font-size:8px}.topbar-actions{align-items:center;gap:8px;display:flex}.offline-status{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;margin-right:10px;font-size:9px;display:flex}.offline-status i{background:var(--memory);width:6px;height:6px;box-shadow:0 0 12px color-mix(in srgb,var(--memory) 44%,transparent);border-radius:50%}.quiet-button,.icon-button,.install-button,.finish-button{border:1px solid var(--line);background:var(--control);cursor:pointer;border-radius:12px;min-height:40px}.quiet-button{color:var(--muted);font-size:var(--pi-font-header-action);padding:0 12px}.quiet-button span{color:var(--violet);margin-right:5px}.icon-button{place-items:center;width:40px;display:grid}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;width:17px;height:17px}.install-button{border-color:color-mix(in srgb,var(--memory) 28%,var(--line));color:var(--memory);font-size:var(--pi-font-header-action);align-items:center;gap:7px;padding:0 14px;font-weight:650;display:flex}.topbar button:hover{border-color:var(--line-strong)}.workspace{z-index:1;width:min(1120px,100% - 40px);margin:0 auto;position:relative}.start-workspace{padding:clamp(34px,6vh,68px) 0 36px}.intro{grid-template-columns:1.25fr .75fr;align-items:end;gap:60px;margin-bottom:28px;display:grid}.kicker{color:var(--memory);font-size:var(--pi-font-kicker);letter-spacing:.18em;text-transform:uppercase;font-weight:750;line-height:1;display:block}.intro h1,.session-head h1,.complete-card h1{letter-spacing:-.04em;margin:13px 0 0;font-family:Segoe UI Variable Display,Segoe UI,sans-serif;font-weight:500}.intro h1{font-size:var(--pi-font-heading);line-height:1.1}.intro>p{max-width:520px;color:var(--muted);font-size:var(--pi-font-lead);margin:0 0 5px;line-height:1.55}.start-panel,.trainer-card,.complete-card{border:1px solid var(--line);background:linear-gradient(145deg,var(--surface-a),var(--surface-b));box-shadow:var(--shadow),inset 0 1px #ffffff09;border-radius:26px}.start-panel{padding:clamp(22px,3vw,34px)}.section-heading{align-items:flex-start;gap:13px;margin-bottom:16px;display:flex}.section-heading>span{color:var(--violet);padding-top:5px;font-size:10px;font-weight:750}.section-heading h2{margin:0;font-size:16px;font-weight:650}.section-heading p{color:var(--muted);margin:4px 0 0;font-size:10px}.section-heading.compact{margin:0}.mode-switcher{border:1px solid var(--line);background:var(--control);border-radius:16px;grid-template-columns:repeat(3,1fr);margin-bottom:28px;display:grid;overflow:hidden}.mode-switcher button{border:0;border-right:1px solid var(--line);min-height:68px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:14px;padding:0 22px;display:flex}.mode-switcher button:last-child{border-right:0}.mode-switcher button>span{font-size:var(--pi-font-mode-number);opacity:.65;font-weight:750}.mode-switcher button strong{font-size:var(--pi-font-mode)}.mode-switcher button[aria-pressed=true]{background:var(--active);color:var(--active-text)}.mode-switcher button[aria-pressed=true]>span{color:var(--violet);opacity:1}.setup-row{grid-template-columns:1fr 260px;align-items:stretch;gap:28px;display:grid}.range-block{border:1px solid var(--line);background:var(--control);border-radius:17px;justify-content:space-between;align-items:center;gap:24px;min-height:150px;padding:20px;display:flex}.range-inputs{align-items:end;gap:12px;display:flex}.range-inputs>span{height:54px;color:var(--quiet);place-items:center;display:grid}.range-inputs label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;flex-direction:column;gap:6px;font-size:9px;display:flex}.range-inputs input{border:1px solid var(--line-strong);background:var(--field);width:88px;height:54px;color:var(--text);text-align:center;font-variant-numeric:tabular-nums;border-radius:13px;outline:0;font:650 22px/1 Segoe UI,sans-serif}.range-inputs input:focus{border-color:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb,var(--violet) 10%,transparent)}.error-summary{border:1px solid var(--line);border-radius:17px;grid-template-columns:1fr auto;align-content:center;min-height:150px;padding:18px 20px;display:grid}.error-label{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:9px}.error-summary>strong{letter-spacing:-.06em;color:var(--violet);grid-area:1/2/3;font:500 46px/1 Segoe UI Variable Display,Segoe UI,sans-serif}.error-summary p{color:var(--muted);margin:6px 0 14px;font-size:10px}.clear-button{border:0;border-bottom:1px solid var(--line-strong);color:var(--muted);cursor:pointer;background:0 0;grid-column:1/-1;justify-self:start;padding:0 0 3px;font-size:10px}.clear-button:hover{color:var(--danger);border-color:var(--danger)}.clear-button:disabled{opacity:.35;cursor:default}.start-actions{justify-content:flex-end;align-items:center;gap:20px;min-height:68px;margin-top:24px;display:flex}.start-actions p{color:var(--muted);margin:0;font-size:11px}.primary-button{border:1px solid var(--primary);background:var(--primary);min-height:52px;color:var(--primary-text);cursor:pointer;border-radius:13px;padding:0 22px;font-size:13px;font-weight:700}.primary-button span{margin-left:18px}.primary-button:hover{transform:translateY(-1px)}.primary-button:disabled{opacity:.35;cursor:default;transform:none}.training-workspace{max-width:860px;padding:clamp(30px,5vh,54px) 0 36px}.session-head{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.session-head h1{font-size:var(--pi-font-heading);line-height:1.1}.finish-button{color:var(--muted);padding:0 16px;font-size:11px}.finish-button:hover{color:var(--text);border-color:var(--line-strong)}.trainer-card{padding:clamp(20px,3vw,32px)}.card-topline{color:var(--muted);font-size:var(--pi-font-meta);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;display:flex}.progress-track{background:color-mix(in srgb,var(--text) 6%,transparent);height:2px;margin-top:13px;overflow:hidden}.progress-track span{background:linear-gradient(90deg,var(--violet),var(--memory));height:100%;transition:width .3s;display:block}.jump-card-form{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 12px;width:min(480px,100%);margin:15px auto -3px;display:flex}.jump-card-form label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.jump-card-form>div{align-items:center;display:flex}.jump-card-form input{border:1px solid var(--line-strong);background:var(--field);width:66px;height:40px;color:var(--text);text-align:center;font-variant-numeric:tabular-nums;border-radius:11px 0 0 11px;outline:0;padding:0 8px;font:650 16px/1 Segoe UI,sans-serif}.jump-card-form input:focus{border-color:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb,var(--violet) 10%,transparent);position:relative}.jump-card-form button{border:1px solid var(--violet);background:var(--violet);color:#17141f;cursor:pointer;border-radius:0 11px 11px 0;height:40px;padding:0 12px;font-size:10px;font-weight:700}.jump-card-form small{color:var(--quiet);font-size:9px}.flip-card{width:min(480px,100%);height:clamp(280px,42vh,360px);color:inherit;text-align:inherit;cursor:pointer;perspective:1200px;background:0 0;border:0;margin:24px auto 22px;padding:0;display:block}.flip-card:focus-visible{outline:3px solid color-mix(in srgb,var(--violet) 55%,transparent);outline-offset:4px;border-radius:24px}.flip-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .28s cubic-bezier(.2,.75,.25,1);display:block;position:relative}.flip-card.is-flipped .flip-card-inner{transform:rotateY(180deg)}.card-face{border:1px solid var(--line-strong);-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-a) 90%,var(--violet) 10%),var(--surface-b));border-radius:24px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:0 22px 60px #00000024,inset 0 1px #ffffff0a}.card-face:before,.card-face:after{content:"";border-color:var(--violet);opacity:.45;width:18px;height:18px;position:absolute}.card-face:before{border-top:1px solid;border-left:1px solid;top:18px;left:18px}.card-face:after{border-bottom:1px solid;border-right:1px solid;bottom:18px;right:18px}.card-caption{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:9px}.card-face strong{letter-spacing:-.09em;font-variant-numeric:tabular-nums;margin:22px 0 17px;font:600 clamp(96px,18vw,156px)/.8 Segoe UI Variable Display,Segoe UI,sans-serif}.card-face small{color:var(--quiet);letter-spacing:.16em;text-transform:uppercase;font-size:9px}.card-back{background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--violet) 12%,transparent),transparent 42%),linear-gradient(145deg,var(--surface-a),var(--surface-b));transform:rotateY(180deg)}.card-back strong{max-width:90%;color:var(--memory);text-align:center;letter-spacing:-.05em;margin:24px 0 18px;font-size:clamp(34px,7vw,64px);line-height:1}.answer-actions{grid-template-columns:1fr 1fr;gap:12px;width:min(480px,100%);margin:0 auto;display:grid}.answer-button{cursor:pointer;background:0 0;border:1px solid;border-radius:15px;justify-content:center;align-items:center;gap:10px;min-height:62px;font-weight:700;display:flex}.answer-button svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.yes-button{border-color:color-mix(in srgb,var(--memory) 45%,var(--line));color:var(--memory);background:color-mix(in srgb,var(--memory) 7%,transparent)}.yes-button:hover{background:color-mix(in srgb,var(--memory) 12%,transparent)}.no-button{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger);background:var(--danger-soft)}.no-button:hover{background:color-mix(in srgb,var(--danger) 14%,transparent)}.answer-button:disabled{opacity:.25;cursor:default}.answer-hint{text-align:center;color:var(--quiet);font-size:var(--pi-font-meta);margin:13px 0 0}.complete-workspace{place-items:center;min-height:calc(100svh - 182px);padding:44px 0;display:grid}.complete-card{text-align:center;width:min(660px,100%);padding:clamp(34px,7vw,68px)}.complete-mark{background:color-mix(in srgb,var(--memory) 12%,transparent);width:54px;height:54px;color:var(--memory);border-radius:17px;place-items:center;margin:0 auto 24px;display:grid}.complete-mark svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:28px}.complete-card h1{font-size:var(--pi-font-heading);line-height:1.1}.complete-card p{max-width:470px;color:var(--muted);margin:18px auto 26px;font-size:13px;line-height:1.7}.dialog-backdrop{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050504b8;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.help-dialog{border:1px solid var(--line-strong);background:linear-gradient(145deg,var(--surface-a),var(--surface-b));border-radius:26px;width:min(700px,100%);max-height:calc(100svh - 48px);padding:clamp(24px,4vw,38px);overflow:auto;box-shadow:0 40px 120px #00000080}.dialog-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.dialog-head h2{letter-spacing:-.035em;margin:10px 0 0;font:550 clamp(26px,4vw,38px)/1.1 Segoe UI Variable Display,Segoe UI,sans-serif}.dialog-head button{border:1px solid var(--line);background:var(--control);width:38px;height:38px;color:var(--muted);cursor:pointer;border-radius:11px;font-size:22px}.help-lead{max-width:590px;color:var(--muted);margin:17px 0 22px;font-size:12px;line-height:1.65}.help-grid{gap:9px;display:grid}.help-grid article{border:1px solid var(--line);background:var(--control);border-radius:15px;grid-template-columns:34px 1fr;gap:12px;padding:14px;display:grid}.help-grid article>span{color:var(--violet);font-size:10px;font-weight:750}.help-grid h3{margin:0 0 4px;font-size:13px}.help-grid p,.offline-note p{color:var(--muted);margin:0;font-size:10px;line-height:1.55}.offline-note{border:1px solid var(--line);border-radius:15px;margin-top:10px;padding:14px}.offline-note strong{margin-bottom:5px;font-size:12px;display:block}.dialog-done{margin:18px 0 0 auto;display:block}.install-toast{z-index:30;border:1px solid var(--line-strong);background:var(--canvas-soft);width:min(390px,100% - 48px);box-shadow:var(--shadow);border-radius:16px;justify-content:space-between;gap:12px;padding:17px;display:flex;position:fixed;bottom:24px;right:24px}.install-toast div{flex-direction:column;gap:5px;display:flex}.install-toast strong{font-size:12px}.install-toast span{color:var(--muted);font-size:10px}.install-toast button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:20px}footer{border-top:1px solid var(--line);width:min(1120px,100% - 40px);min-height:100px;color:var(--quiet);text-transform:uppercase;letter-spacing:.12em;z-index:1;grid-template-columns:1fr auto 1fr;align-items:center;margin:0 auto;font-size:9px;display:grid;position:relative}footer span:first-child{color:var(--muted);font-weight:700}footer span:last-child{justify-self:end}@media (max-width:760px){:root{--pi-font-brand:12px;--pi-font-heading:clamp(20px,5.8vw,28px);--pi-font-lead:clamp(7px,2.2vw,9px);--pi-font-mode:10px;--pi-font-mode-number:10px;--pi-font-meta:9px;--pi-font-header-action:10px}.app-shell:before{display:none}.topbar{height:70px;padding:0 14px}.brand-mark{border-radius:11px;width:36px;height:36px}.brand strong{font-size:var(--pi-font-brand)}.brand small{font-size:6px}.offline-status{display:none}.help-button{width:36px;padding:0;font-size:0}.help-button span{margin:0;font-size:14px}.icon-button{width:36px;min-height:36px}.install-button{justify-content:center;width:36px;min-height:36px;padding:0}.install-button span:last-child{display:none}.workspace{width:min(100% - 24px,620px)}.start-workspace{padding:26px 0}.intro{grid-template-columns:1fr;gap:14px;margin-bottom:20px}.intro h1{font-size:var(--pi-font-heading);line-height:1.1}.intro>p{font-size:var(--pi-font-lead);letter-spacing:-.01em;white-space:nowrap;line-height:1.35}.start-panel,.trainer-card,.complete-card{border-radius:20px}.start-panel{padding:18px 12px}.mode-switcher{margin-bottom:18px}.mode-switcher button{text-align:center;flex-direction:column;justify-content:center;gap:6px;min-height:72px;padding:8px 4px}.mode-switcher button strong{font-size:var(--pi-font-mode);line-height:1.2}.setup-row{grid-template-columns:1fr;gap:10px}.range-block{align-items:flex-end;min-height:0;padding:16px 12px}.section-heading.compact p{max-width:100px}.range-inputs{gap:6px}.range-inputs input{width:68px;height:48px;font-size:19px}.range-inputs>span{height:48px}.error-summary{min-height:120px}.start-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:14px}.start-actions p{text-align:center}.primary-button{width:100%}.training-workspace{padding:26px 0}.session-head{margin-bottom:16px}.session-head h1{font-size:var(--pi-font-heading)}.finish-button{min-height:38px}.trainer-card{padding:16px 12px}.jump-card-form{gap:6px 8px;margin-top:13px}.jump-card-form label,.jump-card-form small{text-align:center;flex:0 0 100%}.flip-card{height:min(48vh,330px);margin:18px auto}.card-face{border-radius:19px}.card-face strong{font-size:clamp(86px,34vw,136px)}.card-back strong{font-size:clamp(34px,12vw,52px)}.answer-button{min-height:58px}.complete-workspace{min-height:calc(100svh - 152px);padding:26px 0}.complete-card{padding:34px 18px}.dialog-backdrop{align-items:end;padding:12px}.help-dialog{border-radius:22px;max-height:calc(100svh - 24px);padding:22px 16px 18px}.dialog-done{width:100%}footer{grid-template-columns:auto 1fr;min-height:82px}footer p{display:none}footer span:last-child{font-size:8px}}@media (max-width:380px){.brand small{display:none}.topbar-actions{gap:5px}.range-block{flex-direction:column;align-items:flex-start}.section-heading.compact p{max-width:none}.range-inputs{justify-content:center;align-self:stretch}.answer-actions{gap:8px}.answer-button{min-height:54px}.card-caption{font-size:8px}}@media (min-width:761px) and (max-height:900px){:root{--pi-font-heading:clamp(28px,3.2vw,42px)}.topbar{height:70px}.start-workspace,.training-workspace{padding:24px 0}.intro{margin-bottom:20px}.intro h1{font-size:var(--pi-font-heading)}.start-panel{padding:24px}.mode-switcher{margin-bottom:20px}.range-block,.error-summary{min-height:130px}.flip-card{height:300px;margin:18px auto}.answer-button{min-height:56px}footer{min-height:70px}}@media (display-mode:standalone){.install-button{display:none}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important;transition:none!important}.flip-card-inner{transition:none}}
