@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-cyrillic-ext-wght-normal.10yjhutwdm9hx.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-cyrillic-wght-normal.3iik4h93_86zh.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-vietnamese-wght-normal.43reimf7x86lj.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-latin-ext-wght-normal.19c5fcu0u1_l8.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-latin-wght-normal.43ritpld78jne.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#233f37;--ink-soft:#496153;--paper:#fff9e9;--paper-deep:#eee6ce;--teal:#245d52;--teal-dark:#174b40;--raspberry:#a4425c;--lime:#ddea9c;--line:#dbdfcc;--font-body:"Nunito Variable", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);font-synthesis:none}*{box-sizing:border-box}html,body{width:100%;min-height:100%;color:var(--ink);background:#cadcc4;margin:0}body{overscroll-behavior:none}button,input{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--raspberry);outline-offset:3px}button svg{flex-shrink:0}input{min-width:0;caret-color:var(--raspberry)}::selection{background:var(--lime);color:var(--ink)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#9bae97;border-radius:10px}::-webkit-scrollbar-track{background:0 0}p,h1,h2,h3{margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.story-shell{background:var(--paper);flex-direction:column;width:100%;max-width:560px;height:100dvh;margin:0 auto;display:flex;overflow:hidden}.story-loading{color:var(--ink-soft);justify-content:center;align-items:center}.brand{letter-spacing:-.8px;font-size:23px;font-weight:950}.brand>span{color:var(--raspberry)}.primary-button{width:100%;min-height:56px;color:var(--paper);background:var(--teal);border-radius:16px;justify-content:center;align-items:center;gap:12px;padding:14px 24px;font-size:19px;font-weight:850;display:flex}.primary-button:hover{background:var(--teal-dark)}.start-screen{padding:calc(28px + env(safe-area-inset-top)) 28px calc(24px + env(safe-area-inset-bottom));align-items:center;overflow-y:auto}.start-screen>.brand{align-self:flex-start}.piazza-window{width:218px;height:240px;color:var(--teal);background:#e8eccf;border:6px solid #f0e7d0;border-radius:110px 110px 12px 12px;flex-direction:column;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;margin:auto 0 30px;padding:30px;display:flex;position:relative;overflow:hidden}.piazza-window>svg{position:relative}.piazza-window>span{font-size:13px;font-weight:800}.piazza-sun{background:#e8bb65;border-radius:50%;width:38px;height:38px;position:absolute;top:34px;right:34px}.piazza-awning{background:repeating-linear-gradient(90deg, var(--teal) 0 24px, var(--paper) 24px 48px);border-bottom:5px solid #e0d4b8;height:26px;position:absolute;top:84px;left:0;right:0}.start-copy{width:100%;max-width:390px}.start-copy h1{letter-spacing:-1px;text-align:center;text-wrap:balance;max-width:310px;margin:0 auto;font-size:39px;font-weight:900;line-height:1.08}.start-copy>p{text-align:center;color:var(--ink-soft);margin:18px 0 22px;font-size:17px;line-height:1.6}.start-invitation{color:var(--ink-soft);justify-content:center;align-items:center;gap:11px;margin-bottom:27px;font-size:14px;line-height:1.55;display:flex}.start-invitation>svg{color:var(--teal)}.start-footnote{color:var(--ink-soft);align-items:center;gap:6px;margin:20px 0 auto;padding-top:4px;font-size:12px;display:flex}.story-header{padding:calc(16px + env(safe-area-inset-top)) 22px 16px;border-bottom:1px solid var(--line);background:var(--paper);flex-shrink:0}.header-top,.scene-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.header-top{margin-bottom:17px}.header-top .brand{font-size:20px}.scene-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12px;font-weight:750}.scene-heading h1{letter-spacing:-.5px;font-size:25px;font-weight:900;line-height:1.15}.progress-dots{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:5px;max-width:42%;display:flex}.progress-dots>span{background:#d8d9c5;border-radius:50%;width:7px;height:7px}.progress-dots>.visited{background:var(--teal)}.scene-place{color:var(--ink-soft);align-items:flex-start;gap:5px;margin-top:7px;font-size:12px;line-height:1.4;display:flex}.scene-place svg{flex-shrink:0;margin-top:1px}.scene-goal{color:var(--teal);margin-top:11px;font-size:14px;line-height:1.45}.scene-goal strong{font-weight:850}.chat-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:18px 18px 24px;scroll-padding:18px;overflow-y:auto}.chat-log{flex-direction:column;gap:20px;display:flex}.scene-card{text-align:center;max-width:90%;color:var(--ink-soft);background:#f0ecd9;border-radius:10px;flex-direction:column;align-self:center;gap:4px;margin:4px 0 2px;padding:9px 16px;display:flex}.scene-card>span{font-size:13px;font-weight:850}.scene-card small{font-size:11px;line-height:1.45}.character-message{align-items:flex-start;gap:9px;display:flex}.character-avatar{background:#e8eccf;border-radius:13px;flex-shrink:0;place-items:center;width:35px;height:35px;margin-top:20px;font-size:21px;display:grid}.character-line{min-width:0;max-width:calc(100% - 44px)}.character-name{color:var(--ink-soft);margin:0 0 5px 3px;font-size:12px;font-weight:850;display:block}.character-bubble{border:1px solid var(--line);text-align:left;overflow-wrap:anywhere;background:#fffdf5;border-radius:4px 19px 19px;padding:13px 16px;font-size:17px;line-height:1.55;display:block}.character-bubble:hover{border-color:#9bae97}.bubble-translation{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:10px;padding-top:10px;font-size:14px;line-height:1.5;display:block}.learner-message{background:var(--teal);max-width:84%;color:var(--paper);overflow-wrap:anywhere;border-radius:18px 4px 18px 18px;align-self:flex-end;padding:12px 16px;font-size:17px;line-height:1.5}.typing-bubble{width:96px;color:var(--ink-soft);background:#e8eccf;border-radius:4px 17px 17px;padding:12px 16px;font-size:15px}.story-controls{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);flex-direction:column;flex-shrink:0;display:flex;position:relative}.choices-hint{color:var(--ink-soft);margin:0 0 8px 3px;font-size:12px;font-weight:800}.choice-list{flex-direction:column;gap:7px;display:flex}.choice-card{text-align:left;background:#f0f2df;border:1px solid #d4dcc3;border-radius:12px;width:100%;min-height:66px;padding:9px 12px;display:block}.choice-card:hover:not(:disabled){background:#e7eccb;border-color:#9bae97}.choice-line{justify-content:space-between;align-items:center;gap:8px;display:flex}.choice-line strong{font-size:15px;font-weight:800;line-height:1.4}.choice-line svg{color:var(--teal)}.choice-details{color:var(--ink-soft);margin-top:3px;font-size:11px;line-height:1.5;display:block}.choice-details>span:first-child{font-weight:800}.choice-details>span+span:before{content:" · "}.choices-steer .choices-hint{color:var(--teal);font-size:14px}.choices-steer .choice-card{background:#e6edbd;border-color:#78965b}.conversation-help{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-height:39px;padding-inline:3px;display:flex}.conversation-help>span{color:var(--ink-soft);font-size:11px}.phrase-help summary{min-height:36px;color:var(--teal);cursor:pointer;align-items:center;gap:6px;padding:5px;font-size:12px;font-weight:850;list-style:none;display:flex}.phrase-help summary::-webkit-details-marker{display:none}.phrase-help[open] .phrase-chevron{transform:rotate(180deg)}.phrase-panel{z-index:2;background:#fffdf5;border:1px solid #b4c3a6;border-radius:18px;max-height:min(360px,48dvh);padding:20px;position:absolute;bottom:104px;left:16px;right:16px;overflow-y:auto;box-shadow:0 8px 30px #233f3726}.phrase-panel>p{font-size:15px;font-weight:850}.phrase-panel ul{margin:14px 0;padding:0;list-style:none}.phrase-panel li{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:3px 12px;padding:9px 0;font-size:14px;display:grid}.phrase-panel li small{color:var(--ink-soft);grid-column:1/-1;font-size:12px}.sound-note{color:var(--ink-soft);font-size:11px}.composer{background:#fffdf5;border:1px solid #b4c3a6;border-radius:17px;flex-shrink:0;align-items:center;gap:4px;width:100%;min-height:54px;padding:4px 5px 4px 12px;display:flex}.composer input{outline-offset:0;background:0 0;border:0;flex:1;width:0;min-height:42px;font-size:16px}.composer input::placeholder{color:var(--ink-soft);opacity:1;font-size:13px}.mic-button,.send-button{border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.mic-button{color:var(--teal);background:0 0}.mic-button:disabled{opacity:.55}.mic-button.mic-live{background:var(--teal);color:#fff}.audio-unlock{color:var(--teal);font-size:12px;font-weight:700;text-decoration:underline}.send-button{background:var(--teal);color:var(--paper)}.send-button:hover:not(:disabled){background:var(--teal-dark)}.ending-card{border:1px solid var(--line);text-align:center;background:#f0f2df;border-radius:22px;margin-top:24px;padding:24px 20px}.ending-avatar{background:#e0e9ba;border-radius:19px;place-items:center;width:52px;height:52px;margin-bottom:12px;font-size:29px;display:inline-grid}.ending-card h2{letter-spacing:-.5px;font-size:27px;font-weight:900}.ending-card>p{color:var(--ink-soft);margin-top:10px;font-size:14px;line-height:1.6}.path-summary{margin:20px 0 12px}.path-summary h3{font-size:13px;font-weight:850}.path-summary p{color:var(--teal);margin-top:6px;font-size:14px;line-height:1.65}.ending-decisions{text-align:left;margin:0 0 18px;padding:0;list-style:none}.ending-decisions li{border-top:1px solid #d4dcc3;justify-content:space-between;gap:12px;padding:9px 0;font-size:12px;line-height:1.4;display:flex}.ending-decisions li>span{color:var(--ink-soft)}.ending-decisions strong{text-align:right;font-size:13px;font-weight:800}.ending-card .ending-keepsakes{margin:0 0 18px;font-size:12px}.ending-card .primary-button{min-height:50px;font-size:17px}@media (min-width:600px){.story-shell{border:1px solid #b4c3a6;border-radius:26px;height:calc(100dvh - 40px);margin-block:20px;box-shadow:0 12px 38px #183e3420}.story-header{padding-inline:28px}.chat-scroll{padding-inline:26px}.story-controls{padding-inline:24px}.start-screen{padding-inline:40px}.choice-line strong{font-size:16px}}@media (max-height:700px){.start-screen{padding-top:18px}.piazza-window{width:150px;height:166px;margin:20px 0;padding:16px}.piazza-window svg{width:40px;height:40px}.piazza-window>span{font-size:11px}.piazza-awning{height:20px;top:56px}.piazza-sun{width:25px;height:25px;top:16px}.start-copy h1{font-size:32px}.start-copy>p{margin-block:12px;font-size:15px}.start-invitation{margin-bottom:16px}.header-top{margin-bottom:9px}.story-header{padding-block:12px}.scene-place{display:none}.scene-goal{margin-top:7px;font-size:12px}.story-controls{max-height:56dvh}.choices{min-height:0;overflow-y:auto}.choice-card{min-height:54px;padding-block:7px}.choice-line strong{font-size:13px}.choice-details{font-size:10px}}@media (prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}.typing-bubble{animation:1.2s ease-in-out infinite alternate typing}@keyframes typing{to{background:#dfe7bb}}}
