html,body{overflow-x:clip}@supports not (overflow-x:clip){html,body{overflow-x:hidden}}.site-header-material{background:var(--bg);border-bottom:1px solid color-mix(in srgb, var(--fg) 12%, transparent);box-shadow:0 1px 0 color-mix(in srgb, var(--bg) 50%, transparent);transition:transform .3s}.site-header-material.is-hidden{transform:translateY(-100%)}.site-header-material.is-hidden:focus-within{transform:none}.site-header-material a,.site-header-material nav{color:var(--fg)}.real-shot{object-fit:contain;object-position:center top;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.scroll-scrub{--scrub-y:0px}.tilt-wrap{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));will-change:transform;transition:transform .3s ease-out}.real-hero-scene{width:min(100%,480px);transform:translateY(var(--scrub-y));place-items:start center;display:grid;position:relative}.real-hero-frame{aspect-ratio:1046/1504;background:#fffaf2;border-radius:10px;width:min(78vw,410px);overflow:hidden;transform:rotate(-1.6deg);box-shadow:0 40px 100px #00000052,0 12px 32px #0b23473d}.real-hero-frame .real-shot{object-fit:cover;height:100%}.ink-sweep{clip-path:inset(0 round 10px);animation:1.1s cubic-bezier(.55,.06,.25,1) .12s backwards inkSweep}@keyframes inkSweep{0%{clip-path:inset(0 96% 0 0 round 10px)}to{clip-path:inset(0 round 10px)}}.hero-ambience{justify-content:center;width:100%;display:flex;position:relative}.hero-idle-float{animation:7.6s ease-in-out infinite heroIdleFloat;position:relative}.hero-idle-float:after{content:"";z-index:-1;filter:blur(8px);pointer-events:none;background:radial-gradient(closest-side,#0000004d,#0000 72%);border-radius:50%;width:62%;height:12%;animation:7.6s ease-in-out infinite heroShadowBreathe;position:absolute;bottom:2%;left:50%;transform:translate(-50%)}@keyframes heroIdleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes heroShadowBreathe{0%,to{opacity:.5;transform:translate(-50%)scale(1)}50%{opacity:.3;transform:translate(-50%)scale(.9)}}.hero-ambient-stroke{width:74px;height:24px;color:var(--fg);opacity:.13;pointer-events:none;animation:15s ease-in-out infinite heroStrokeDrift;animation-delay:var(--drift-delay,0s);position:absolute;overflow:visible}.hero-ambient-stroke path{stroke-width:2.2px}.hero-ambient-stroke--1{width:72px;top:4%;left:-2%}.hero-ambient-stroke--2{width:46px;height:46px;top:66%;left:-5%}.hero-ambient-stroke--3{width:64px;top:10%;right:-4%}.hero-ambient-stroke--4{width:62px;top:72%;right:-2%}@keyframes heroStrokeDrift{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(5px,-7px)rotate(3deg)}}@media (max-width:900px){.hero-ambient-stroke{display:none}}@media (prefers-reduced-motion:reduce){.hero-idle-float,.hero-idle-float:after,.hero-ambient-stroke{animation:none!important}}.paper-mode-stage{aspect-ratio:1046/1503;--p3:calc(var(--pin-progress,0) * 3);max-width:100%;height:min(72vh,620px);margin-inline:auto;position:relative}.paper-mode-layer{background:#f8f5f0;border:1px solid #0b23471f;border-radius:10px;margin:0;position:absolute;inset:0;overflow:hidden;box-shadow:0 36px 88px #0000004d,inset 0 1px #fff6}.paper-mode-layer .real-shot{object-fit:cover;width:100%;height:100%}.paper-mode-normal{opacity:1}.paper-mode-sepia{opacity:clamp(0, calc((var(--p3) - .5) * 2), 1)}.paper-mode-eclipse{opacity:clamp(0, calc((var(--p3) - 1.5) * 2), 1)}.paper-mode-label{color:#f8f5f0;letter-spacing:.04em;pointer-events:none;background:#0b2347e0;border-radius:999px;padding:.42rem .75rem;font-size:.72rem;font-weight:800;display:block;position:absolute;bottom:18px;left:18px;box-shadow:0 8px 22px #0003}.paper-mode-normal .paper-mode-label{opacity:clamp(0, calc((.9 - var(--p3)) * 10), 1)}.paper-mode-sepia .paper-mode-label{opacity:clamp(0, min(calc((var(--p3) - .9) * 10), calc((1.9 - var(--p3)) * 10)), 1)}.paper-mode-eclipse .paper-mode-label{opacity:clamp(0, calc((var(--p3) - 1.9) * 10), 1);color:#101722;background:#f8f5f0e6}.paper-progress-rail{background:color-mix(in srgb, var(--surface-fg) 14%, transparent);border-radius:999px;width:3px;height:140px;position:absolute;top:50%;right:-34px;translate:0 -50%}.paper-progress-tick{background:color-mix(in srgb, var(--surface-fg) 30%, transparent);border-radius:999px;width:5px;height:5px;position:absolute;left:50%;translate:-50% -50%}.paper-progress-tick:first-child{top:2px}.paper-progress-tick:nth-child(2){top:50%}.paper-progress-tick:nth-child(3){top:calc(100% - 2px)}.paper-progress-thumb{left:50%;top:calc(var(--pin-progress,0) * 116px);background:color-mix(in srgb, var(--surface-fg) 72%, transparent);border-radius:999px;width:7px;height:24px;position:absolute;translate:-50%;box-shadow:0 2px 8px #0000002e}@media (max-width:760px){.paper-mode-stage{height:min(52svh,480px)}.paper-progress-rail{height:110px;right:-16px}.paper-progress-thumb{top:calc(var(--pin-progress,0) * 86px)}}.writing-real-scene{transform:translateY(var(--scrub-y));place-items:center;display:grid;position:relative}.writing-real-scene .real-shot{border-radius:10px;width:min(88vw,400px);transform:rotate(-1deg);box-shadow:0 34px 84px #0000003d}.replay-real-scene{place-items:center;width:100%;display:grid;position:relative}.replay-device{background:#101722;border-radius:12px;width:min(100%,420px);padding:18px;box-shadow:0 40px 100px #00000057,inset 0 0 0 1px #ffffff14}.replay-caption{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:#f8f5f08c;margin-top:14px;font-size:.76rem;font-weight:700}.replay-stage-paper{aspect-ratio:1640/2360;background:#fdfbf6;border:1px solid #0b234724;border-radius:14px;width:auto;max-width:100%;height:min(58vh,520px);margin-inline:auto;position:relative;overflow:hidden;box-shadow:0 18px 44px #0b234729}@media (max-width:767px){.replay-stage-paper{height:min(58vh,520px,143.902vw - 120.878px)}}.replay-stage-frames{position:absolute;inset:0}.replay-stage-frame{opacity:0;position:absolute;inset:0}.replay-stage-frame:first-child{opacity:1}.replay-stage-sheen{pointer-events:none;mix-blend-mode:overlay;background:linear-gradient(115deg,#ffffff1f 0%,#fff0 28% 72%,#ffffff0f 100%);position:absolute;inset:0}.replay-audio-strip{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;width:100%;margin-top:14px;padding:13px 15px 11px}.replay-audio-head{letter-spacing:.07em;text-transform:uppercase;color:#f8f5f09e;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:.72rem;font-weight:700;display:flex}.replay-audio-time{font-variant-numeric:tabular-nums;color:#f8f5f066}.replay-audio-wave{color:#f8f5f038;height:44px;position:relative}.ink-scratch-card{background:#f3e9d6;border-radius:5px;width:min(100%,340px);margin-top:1.9rem;padding:20px 20px 15px;transition:transform .26s;position:relative;transform:rotate(-2deg);box-shadow:0 22px 46px #0b234729,0 1px #0b23470f}.ink-scratch-card:hover,.ink-scratch-card:focus-within{transform:rotate(-.6deg)translateY(-2px)}.ink-scratch-tape{background:color-mix(in srgb, var(--accent) 20%, #fff);opacity:.82;width:92px;height:26px;margin-left:-46px;position:absolute;top:-13px;left:50%;transform:rotate(-3deg);box-shadow:0 2px 5px #00000024}.ink-scratch-canvas{aspect-ratio:4/3;cursor:crosshair;touch-action:none;background:repeating-linear-gradient(#3d2f1f24 0 1px,#0000 1px 27px);border-radius:3px;width:100%;display:block}.ink-scratch-bar{justify-content:space-between;align-items:center;gap:1rem;margin-top:.85rem;display:flex}.ink-scratch-caption{color:#3d2f1f;margin:0;font-size:.82rem}.ink-scratch-actions{flex:none;gap:.85rem;display:flex}.ink-scratch-actions button{letter-spacing:.02em;color:#6b5642;text-underline-offset:3px;font-size:.78rem;font-weight:600;text-decoration:underline;transition:color .16s}.ink-scratch-actions button:hover,.ink-scratch-actions button:focus-visible{color:#3d2f1f}.flashcard-real-scene{grid-template-columns:.9fr 1fr;align-items:center;gap:28px;display:grid;position:relative}.study-source-sheet{aspect-ratio:1047/1503;width:min(100%,300px);transform:translateY(var(--scrub-y)) rotate(-3deg);border-radius:10px;justify-self:end;position:relative;overflow:hidden;box-shadow:0 28px 80px #0000003b}.study-source-sheet .real-shot{object-fit:cover;height:100%}.study-card-stack{min-height:430px;position:relative}.study-card{color:#0b2347;background:#fffaf2;border-radius:10px;width:min(100%,360px);padding:18px;position:absolute;box-shadow:0 28px 68px #00000038}.study-card span{letter-spacing:.12em;text-transform:uppercase;color:#0b23478a;margin-bottom:.75rem;font-size:.74rem;font-weight:800;display:block}.study-card .real-shot{border-radius:6px}.study-card-front{top:8px;left:0;transform:rotate(-2deg)}.study-card-back{transform:translateY(var(--scrub-y)) rotate(2deg);top:188px;left:42px}.study-grade-row{gap:8px;display:flex;position:absolute;bottom:0;left:58px}.study-grade-row span{color:#f8f5f0;background:#0b2347eb;border-radius:999px;padding:.52rem .68rem;font-size:.72rem;font-weight:800}@media (max-width:900px){.flashcard-real-scene{grid-template-columns:1fr;gap:24px}.study-source-sheet{justify-self:center;width:min(78vw,300px)}.study-card-stack{justify-self:center;width:min(100%,390px)}}@media (max-width:520px){.study-card{width:min(100%,300px)}.study-card-back{top:176px;left:24px}.study-grade-row{left:38px}}.library-real-scene{transform:translateY(var(--scrub-y));place-items:center;display:grid;position:relative}.library-sidebar-crop{aspect-ratio:5/9;background:#0d1117;border-radius:12px;width:min(74vw,340px);position:relative;overflow:hidden;box-shadow:0 34px 88px #00000042}.library-sidebar-crop .real-shot{width:282.8%;max-width:none;height:auto;margin-top:-14.7%}.accent-picker-scene{transform:translateY(var(--scrub-y));justify-items:center;gap:22px;display:grid}.accent-device-wrap{width:min(100%,440px);position:relative}.accent-glow{pointer-events:none;background:radial-gradient(closest-side, color-mix(in srgb, var(--pick,#a855f7) 34%, transparent), transparent 72%);border-radius:50%;transition:background .4s;position:absolute;inset:-14% -20%}.accent-device{aspect-ratio:1640/2360;background:#131a2c;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 32px 84px #00000052,inset 0 0 0 1px #ffffff0f}.accent-shot{object-fit:cover;object-position:center top;opacity:0;-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:opacity .4s;display:block;position:absolute;inset:0}.accent-shot.is-active{opacity:1}.accent-swatch-row{gap:14px;display:flex}.accent-swatch{background:var(--swatch);cursor:pointer;border-radius:999px;width:28px;height:28px;transition:transform .24s,box-shadow .24s;box-shadow:0 4px 12px #00000038}.accent-swatch:hover{transform:scale(1.1)}.accent-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--pick,#a855f7), 0 4px 12px #00000038;transform:scale(1.16)}.accent-swatch:focus-visible{outline:2px solid var(--pick,#a855f7);outline-offset:3px}@media (prefers-reduced-motion:reduce){.scroll-scrub,.scroll-scrub *,.tilt-wrap,.ink-sweep{transition:none!important;animation:none!important}.ink-sweep{clip-path:none}.tilt-wrap{transform:none}.accent-shot{transition:opacity .4s!important}}.audio-real-scene{transform:translateY(var(--scrub-y));place-items:center;display:grid}.audio-stage{width:min(100%,460px);position:relative}.audio-page-sliver{background-color:#fdfbf6;background-image:repeating-linear-gradient(#0b234714 0 1px,#0000 1px 25px);border:1px solid #0b23471f;border-radius:12px;width:84%;height:90%;position:absolute;bottom:-12%;right:-7%;transform:rotate(3.5deg);box-shadow:0 20px 46px #0b234729}.audio-card{color:#f8f5f0;background:#101722;border-radius:14px;width:100%;padding:22px 24px 20px;position:relative;transform:rotate(-1.4deg);box-shadow:0 34px 88px #00000047,inset 0 0 0 1px #ffffff14}.audio-card-meta{align-items:center;gap:.6rem;display:flex}.audio-rec-indicator{letter-spacing:.09em;text-transform:uppercase;color:#ff8a80;align-items:center;gap:.42rem;font-size:.72rem;font-weight:700;display:inline-flex}.audio-rec-dot{background:#ef4444;border-radius:999px;flex:none;width:8px;height:8px;animation:2.2s ease-in-out infinite ctaBreathe}.audio-rec-time{font-variant-numeric:tabular-nums;letter-spacing:.01em;color:#f8f5f0ad;margin-left:auto;font-size:.8rem}.audio-card-title{letter-spacing:-.01em;color:#f8f5f0;margin-top:11px;font-size:1.4rem;font-weight:600;display:block}.audio-wave{height:72px;color:var(--accent);margin-top:20px}.audio-caption{color:#f8f5f099;margin-top:16px;font-size:.85rem}.audio-wave-bars{width:100%;height:100%;position:relative}.audio-wave-bars-track,.audio-wave-bars-fill{position:absolute;inset:0}.audio-wave-bars-row{align-items:center;gap:2.5px;width:100%;height:100%;display:flex}.audio-wave-bar{background:currentColor;border-radius:999px;flex:1 1 0;min-width:1.5px;max-width:6px}.audio-wave-bars--idle .audio-wave-bars-track{animation:7s ease-in-out infinite alternate audioWaveDrift}@keyframes audioWaveDrift{0%{transform:translate(-2%)}to{transform:translate(2%)}}.audio-wave-bars-fill{color:var(--accent);clip-path:inset(0 100% 0 0)}.audio-wave-bars-playhead{background:var(--accent);width:2px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 65%, transparent);opacity:0;border-radius:999px;transition:opacity .2s;position:absolute;top:-4px;bottom:-4px;left:0;transform:translate(-1px)}.audio-transport-row{border-top:1px solid #ffffff17;justify-content:center;align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}.audio-transport-btn{color:#f8f5f0d1;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.audio-transport-btn--play{background:var(--accent);color:#0b2347;width:40px;height:40px;box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 45%, transparent);border-color:#0000}.audio-status-row{justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.audio-status-chip{letter-spacing:.02em;font-variant-numeric:tabular-nums;color:#f8f5f0b3;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;min-width:30px;padding:3px 9px;font-size:.68rem;font-weight:700;display:inline-flex}@media (prefers-reduced-motion:reduce){.audio-wave-bars--idle .audio-wave-bars-track,.audio-rec-dot{animation:none!important}}
