@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-ext-wght-normal-7w74d1lj.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 Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-wght-normal-B9hoeQUC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-vietnamese-wght-normal-BhFYcaJr.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 Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-ext-wght-normal-DMEAsnHD.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 Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-wght-normal-BWQ3gi2K.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{--tint:#1e3366;--page:#f5f3ee;--paper:#fff;--ink:#16181d;--text:#33373f;--secondary:#676c78;--faint:#a2a6af;--line:#e5e1d8;--separator:#3c3c432e;--sans:-apple-system, BlinkMacSystemFont, "Inter Variable", "Segoe UI", Roboto, sans-serif;--title-font:var(--sans);--large-title:600 32px/1.15 var(--title-font);--inline-title:600 17px/1.25 var(--title-font);--glass:#ffffffa3;--glass-edge:#00000012;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{height:100%;margin:0}body{background:var(--page);color:var(--ink);font:400 17px/1.29 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100%}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0}button:disabled{cursor:default}input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2.5px solid color-mix(in srgb, var(--tint) 70%, transparent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.ios-screen{isolation:isolate;flex-direction:column;min-height:100dvh;display:flex;position:relative}.ios-screen>.ios-bg{z-index:-1;pointer-events:none;position:fixed;inset:0}.ios-content{width:100%;max-width:var(--column,640px);flex:1;margin:0 auto}.ios-nav{z-index:30;padding-top:calc(var(--safe-top) + 6px);padding-inline:max(16px, env(safe-area-inset-left,0px)) max(16px, env(safe-area-inset-right,0px));position:sticky;top:0}.ios-nav:before{content:"";background:linear-gradient(var(--page) 30%, color-mix(in srgb, var(--page) 0%, transparent));opacity:var(--bar-fade,0);pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.ios-nav-row{height:50px;max-width:var(--column,640px);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:0 auto;display:grid;position:relative}.ios-nav-row>.lead{justify-self:start;gap:8px;display:flex}.ios-nav-row>.trail{justify-self:end;gap:8px;display:flex}.ios-nav-title{font:var(--inline-title);color:var(--ink);text-align:center;white-space:nowrap;text-overflow:ellipsis;transition:opacity .15s;overflow:hidden}.ios-large-title{font:var(--large-title);color:var(--ink);letter-spacing:.002em;text-wrap:balance;margin:0;padding:2px 20px 10px}.glass{min-width:44px;height:44px;color:var(--tint);font:400 17px/1 var(--sans);background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);box-shadow:0 0 0 .5px var(--glass-edge), 0 3px 14px #00000012, inset 0 1px .5px #ffffffe6;border-radius:22px;justify-content:center;align-items:center;gap:6px;padding:0 16px;transition:transform .18s cubic-bezier(.3,.7,.4,1.4),background .2s;display:inline-flex}.glass:active{background:#ffffffd9;transform:scale(1.08)}.glass.round{width:44px;padding:0}.glass.bold{font-weight:600}.prominent{background:var(--tint);color:#fff;width:100%;height:52px;font:600 17px/1 var(--sans);border-radius:26px;justify-content:center;align-items:center;transition:opacity .15s,transform .15s;display:flex}.prominent:active{opacity:.88;transform:scale(.98)}.prominent:disabled{background:color-mix(in srgb, var(--tint) 50%, var(--page));color:#ffffff8c}.ios-list{gap:0;padding:0 16px 24px;display:grid}.ios-section{margin-top:20px}.ios-section-header{font:600 13px/1.3 var(--sans);color:var(--secondary);text-transform:uppercase;letter-spacing:.02em;padding:0 16px 7px}.ios-section-body{background:var(--paper);border-radius:26px;overflow:hidden}.ios-section-footer{font:400 13px/1.38 var(--sans);color:var(--secondary);padding:7px 16px 0}.ios-row{text-align:left;width:100%;min-height:52px;color:var(--ink);font:400 17px/1.29 var(--sans);align-items:center;gap:12px;padding:11px 16px;display:flex;position:relative}.ios-row+.ios-row:before{content:"";top:0;left:var(--sep-inset,16px);background:var(--separator);height:.5px;position:absolute;right:0}button.ios-row:active,a.ios-row:active{background:#0000000f}.ios-row .detail{color:var(--secondary);margin-left:auto}.ios-row.destructive{color:#d93025}.ios-row.tinted{color:var(--tint)}.ios-sheet-shade{z-index:100;background:#00000038;justify-content:center;align-items:flex-end;animation:.25s ease-out shade-in;display:flex;position:fixed;inset:0}.ios-sheet{width:100%;max-height:calc(100dvh - var(--safe-top) - 10px);overscroll-behavior:contain;background:var(--page);padding-bottom:var(--safe-bottom);border-radius:38px 38px 0 0;animation:.38s cubic-bezier(.2,.9,.25,1) sheet-up;position:relative;overflow:auto;box-shadow:0 -2px 30px #0000001f}@media (width>=700px){.ios-sheet-shade{align-items:center}.ios-sheet{border-radius:38px;width:min(560px,100% - 48px);max-height:min(760px,100dvh - 48px);animation:.3s cubic-bezier(.2,.9,.25,1) sheet-pop}}@keyframes shade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-pop{0%{opacity:0;transform:translateY(24px)scale(.97)}}.ios-field{background:var(--paper);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:14px;outline:none;padding:14px;font-size:20px}.ios-field::placeholder{color:var(--faint)}.ios-field:focus{border-color:color-mix(in srgb, var(--tint) 45%, var(--line))}.push-in{animation:.36s cubic-bezier(.2,.9,.25,1) push-in}.pop-in{animation:.3s cubic-bezier(.2,.9,.25,1) pop-in}@keyframes push-in{0%{opacity:0;transform:translate(40px)}}@keyframes pop-in{0%{opacity:0;transform:translate(-30px)}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (hover:hover) and (pointer:fine){.glass:hover{background:#ffffffd1}.prominent:not(:disabled):hover{filter:brightness(1.12)}button.ios-row:hover,a.ios-row:hover{background:#00000009}.text-button:not(:disabled):hover{text-underline-offset:3px;text-decoration:underline}}@font-face{font-family:Fredoka;src:url(/assets/Fredoka-DOQG_Jwn.woff2)format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Nunito;src:url(/assets/Nunito-CjueodBP.woff2)format("woff2");font-weight:200 1000;font-display:swap}:root{--k-sky:#bfe6ff;--k-sky-light:#dff1ff;--k-ink:#1f2a44;--k-sub:#24476e;--k-muted:#3f5878;--k-edge:#8fc4e8;--k-edge-light:#a9cdeb;--k-blue:#2f7fd1;--k-blue-edge:#1f5fa3;--k-green:#3e9a2e;--k-green-edge:#2b7420;--k-orange:#d85a15;--k-orange-edge:#a9430b;--k-pink:#c93d73;--k-pink-edge:#9b2a55;--k-yellow:#ffc83d;--k-yellow-edge:#e0a21c;--k-yellow-deep:#f0a91e;--k-check:#2e8a22;--k-grass:#8ed26b;--k-grass-dark:#6dbe4c;--k-cream:#fff6d6;--k-wrong:#e5484d;--k-wrong-wash:#ffe4e4;--fredoka:Fredoka, ui-rounded, "Arial Rounded MT Bold", system-ui, sans-serif;--nunito:Nunito, ui-rounded, system-ui, sans-serif;--page:#f5f3ee;--paper:#fff;--ink:#16181d;--text:#33373f;--secondary:#676c78;--faint:#a2a6af;--line:#e5e1d8;--blue:#1e3366;--blue-wash:#e6eaf3;--record:#b8402e;--record-wash:#f8e9e5;--tint:var(--blue);--title-font:var(--sans);--large-title:700 34px/1.12 var(--sans)}.town{--k-sky:#f1e8d6;--k-sky-light:#f7f1e4;--k-sub:#3b4a52;--k-muted:#4f5d64;--k-edge:#d3bf98;--k-edge-light:#decdae;--k-blue:#2c7a7b;--k-blue-edge:#1d5859;--k-yellow:#f2b83a;--k-yellow-edge:#c98f1a;--k-yellow-deep:#d99a1e;--fredoka:"Avenir Next", "Nunito", system-ui, sans-serif;--nunito:"Avenir Next", "Nunito", system-ui, sans-serif}body{background:var(--k-sky);color:var(--k-ink)}.chunky{--fill:#fff;--edge:var(--k-edge);--depth:6px;--radius:22px;--ink:#fff;width:100%;color:var(--ink);background:var(--fill);border-radius:var(--radius);box-shadow:0 var(--depth) 0 var(--edge);margin-bottom:var(--depth);font-family:var(--fredoka);justify-content:center;align-items:center;gap:10px;transition:transform .12s,box-shadow .12s;display:flex;position:relative}.chunky:active{transform:translateY(var(--depth));box-shadow:0 0 0 var(--edge)}.chunky.yellow{--fill:var(--k-yellow);--edge:var(--k-yellow-edge);--ink:var(--k-ink)}.chunky.blue{--fill:var(--k-blue);--edge:var(--k-blue-edge)}.chunky.green{--fill:var(--k-green);--edge:var(--k-green-edge)}.chunky.white{--fill:#fff;--ink:var(--k-ink)}.kid-card{box-shadow:0 4px 0 var(--k-edge);background:#fff;border-radius:22px;margin-bottom:4px}.fredoka{font-family:var(--fredoka)}.nunito{font-family:var(--nunito);font-weight:800}@media (hover:hover) and (pointer:fine){.chunky:hover{filter:brightness(1.05);box-shadow:0 calc(var(--depth) + 1px) 0 var(--edge);transform:translateY(-1px)}.chunky:active{transform:translateY(var(--depth));box-shadow:0 0 0 var(--edge)}}.kw{text-align:center;min-height:100dvh;padding-top:var(--safe-top);flex-direction:column;align-items:center;display:flex}.kw-hero{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;padding-top:20px;display:flex}.kw-title{font:700 44px/1.1 var(--fredoka);color:var(--k-ink);margin:8px 0 0}.kw-sub{color:var(--k-sub);margin:6px 30px 0;font-size:18px}.kw-bottom{flex-direction:column;flex:1;justify-content:flex-end;width:100%;max-width:560px;padding:20px 20px 150px;display:flex}.kw-hint{color:var(--k-sub);margin:0 0 12px;font-size:15px}.kw-button{--radius:24px;height:72px;font:600 24px/1 var(--fredoka)}.kw-grownups{color:var(--k-ink);font:700 17px/1 var(--nunito,sans-serif);background:#ffffffd9;border-radius:22px;justify-content:center;align-self:center;align-items:center;gap:8px;margin-top:14px;padding:10px 18px;display:inline-flex}@media (orientation:landscape) and (height<=520px){.kw{flex-direction:row;justify-content:center;gap:24px;padding:12px 24px 0}.kw-hero{flex:0 380px;justify-content:center;min-width:0;padding:0 0 70px}.kw-sub{margin:6px 0 0;font-size:16px}.kw-hero svg{width:170px;height:170px}.kw-title{font-size:36px}.kw-bottom{flex:0 360px;justify-content:center;min-width:0;padding:0 0 70px}}.onb-account{background:var(--page);flex-direction:column;flex:1;min-height:0;display:flex}.onb-account .onb-scroll{flex-direction:column;flex:1;gap:18px;min-height:0;padding:24px 24px 12px;display:flex;overflow-y:auto}.onb-account .onb-scroll>*{flex:none}.onb-account .onb-bottom{width:100%;padding:0 24px calc(12px + env(safe-area-inset-bottom,0px));gap:12px;display:grid}.onb-account-title{color:var(--ink);margin:0;font-size:30px;font-weight:600;line-height:1.15}.onb-account-title.kids{font:700 30px/1.15 var(--sans)}.onb-account .problem{color:var(--record);background:var(--record-wash);border-radius:12px;padding:12px;font-size:13px}.onb-account .board-card{border:1px solid var(--line);background:#fff;border-radius:20px}.onb-why{color:var(--secondary);margin:0;font-size:17px;line-height:1.35}.onb-points{gap:12px;margin-top:4px;padding:18px;display:grid}.onb-point{color:var(--text);align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.apple-button{color:#fff;height:54px;font:500 19px/1 var(--sans);letter-spacing:-.2px;background:#000;border-radius:27px;justify-content:center;align-items:center;gap:6px;display:flex}.apple-button:disabled{opacity:.6}.onb-notnow{color:var(--secondary);justify-self:center;padding:6px 0;font-size:16px;font-weight:600}.onb-email{gap:12px;display:grid}.onb-email .segmented{background:#7676801f;border-radius:999px;padding:3px;display:flex}.onb-email .segmented button{color:var(--ink);border-radius:999px;flex:1;padding:8px 10px;font-size:15px;font-weight:500;transition:background .2s,box-shadow .2s}.onb-email .segmented button.on{background:#fff;font-weight:600;box-shadow:0 2px 6px #0000001a}.onb-fields{display:grid;overflow:hidden}.onb-fields label{align-items:center;gap:12px;min-height:52px;padding:0 16px;display:flex}.onb-fields label+label{border-top:.5px solid #3c3c432e}.onb-fields span{width:84px;color:var(--ink);flex:none;font-size:16px;font-weight:600}.onb-fields input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:14px 0;font-size:17px}.onb-fields input::placeholder{color:#a2a6af}.onb-fields:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1e33662e}.onb-email .board-button{border-radius:26px;height:52px}.onb-email .board-button:disabled{opacity:.6}.onb-fine{color:var(--secondary);margin:0;font-size:14px;line-height:1.4}.onb-fine a{color:var(--blue);font-weight:600}.onb-social{gap:10px;display:grid}.google-button{color:#1f1f1f;height:54px;font:500 18px/1 var(--sans);background:#fff;border-radius:27px;justify-content:center;align-items:center;gap:10px;display:flex;box-shadow:inset 0 0 0 1px #747775}.google-button:disabled,.onb-social .apple-button:disabled{opacity:.6}.onb-or{color:var(--secondary);align-items:center;gap:12px;margin:6px 0 2px;font-size:14px;display:flex}.onb-or:before,.onb-or:after{content:"";background:var(--line);flex:1;height:1px}@media (hover:hover) and (pointer:fine){.google-button:hover:not(:disabled){background:#f8f9fa}.onb-social .apple-button:hover:not(:disabled){background:#1d1d1f}}.google-box{justify-content:center;align-items:center;min-height:44px;display:flex}.google-box>div{margin:0 auto}.onb-email .board-button{width:100%;height:52px;font:600 17px/1 var(--sans);background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:26px;justify-content:center;align-items:center;display:flex}.onb-social{justify-items:center}.onb-social .apple-button,.onb-social .google-button,.onb-social .google-box{width:100%;max-width:400px}.onb-social .apple-button,.onb-social .google-button{border-radius:22px;height:44px;font-size:17px}.onb-social .onb-or{width:100%}.town{--town-font:"Avenir Next", "Nunito Sans Variable", "Nunito Sans", system-ui, sans-serif;font-family:var(--town-font);color:var(--k-ink)}.t-home{background:var(--k-sky);min-height:100dvh}.t-home.wide{grid-template-columns:92px minmax(0,1fr) min(400px,34vw);height:100dvh;display:grid;overflow:hidden}.t-column{box-sizing:border-box;max-width:700px;padding:calc(8px + var(--safe-top)) 16px 60px;flex-direction:column;gap:16px;margin:0 auto;display:flex}.t-header{align-items:center;gap:10px;display:flex}@media (width<=400px){.t-header{gap:7px}.t-header .t-stars{padding:0 11px}}.t-hi{flex:1;min-width:0}.t-hi h1,.t-greet h1{font:700 28px/1.15 var(--town-font);margin:0}.t-greet h1{flex:1;min-width:0;font-size:30px}.t-hi small{color:var(--k-muted);font-size:14px;font-weight:500}.t-stars{height:44px;font:600 21px/1 var(--town-font);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.t-round.chunky{--radius:22px;--depth:4px;flex:none;width:44px;height:44px}.t-map-card{border:2px solid var(--k-edge);box-sizing:content-box;background:#f1e8d6;border-radius:24px;align-self:center;position:relative;overflow:hidden}.t-map{position:relative}.t-roads{position:absolute;inset:0}.t-spot{padding:0;transition:transform .15s;display:block;position:absolute}.t-spot:active{transform:scale(.94)}@media (hover:hover) and (pointer:fine){.t-spot:hover{transform:translateY(-2px)}}.t-plate{white-space:nowrap;color:var(--k-ink);pointer-events:none;background:#fff;border-radius:6px;align-items:center;gap:4px;padding:3px 7px;font-weight:700;line-height:1.1;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1.5px #1f2a4424}.t-plate.today{color:#17394a;background:#f2b83a}.t-new-ring{pointer-events:none;box-sizing:border-box;border:solid #f2b83a;position:absolute}.t-new{white-space:nowrap;color:#17394a;pointer-events:none;background:#f2b83a;border-radius:6px;padding:3px 7px;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.t-me{pointer-events:none;filter:drop-shadow(0 1px 2px #0000002e);position:absolute;transform:translate(-50%,-50%)}.t-sunny{align-items:flex-end;gap:8px;display:flex}.t-sunny-btn{flex:none}.t-bubble{font:600 16px/1.3 var(--town-font);color:var(--k-ink);background:#f7f3ea;border-radius:16px;margin:0;padding:12px 14px}.t-today{flex-direction:column;gap:12px;display:flex}.t-today h2{font:700 22px/1.2 var(--town-font);margin:0}.t-list{flex-direction:column;gap:10px;display:flex}.chunky.t-row,.chunky.t-library{--fill:#f7f3ea;--edge:#e2d6be;--radius:18px;--depth:4px;--ink:var(--k-ink);text-align:left;height:84px;font-family:var(--town-font);justify-content:flex-start;gap:12px;padding:10px}.chunky.t-library{--fill:#fff;--edge:var(--k-edge);height:70px;padding:0 14px}.t-thumb{background:#f7f3ea;border-radius:12px;flex:none;width:60px;height:60px;overflow:hidden}.t-thumb img{object-fit:cover;width:60px;height:60px;display:block}.t-thumb-art{box-sizing:border-box;background:#f7f3ea;width:100%;height:100%;padding:4px;display:block}.t-lib-art{flex:none;width:44px;height:44px}.t-row-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.t-row-text b{color:var(--k-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:17px;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.t-library .t-row-text b{font-size:18px}.t-row-text small{color:var(--k-muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.t-library .t-row-text small{font-size:14px}.t-play{color:#fff;background:#2c7a7b;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;display:grid}.t-play.done{color:#2e8b57;background:#ddf0e4}.t-happening{color:#17394a;font:600 16px/1.3 var(--town-font);background:#f6dfa3;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.t-week{flex-direction:column;gap:8px;display:flex}.t-week b{font-size:17px;font-weight:700}.t-week-bars{gap:6px;display:flex}.t-week-bars span{background:#e9e2d4;border-radius:7px;flex:1;height:14px}.t-week-bars span.on{background:#2c7a7b}.t-week small{color:var(--k-muted);font-size:13px;font-weight:500}.t-rail{background:#17394a;flex-direction:column;align-items:center;gap:10px;padding:28px 0 18px;display:flex}.t-rail-btn{color:#cfe3ea;width:74px;height:78px;font:500 13px/1 var(--town-font);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.t-rail-btn.on{color:#17394a;background:#f2b83a}.t-rail-lock{color:#cfe3ea;place-items:center;width:64px;height:56px;display:grid}@media (hover:hover) and (pointer:fine){.t-rail-btn:not(.on):hover,.t-rail-lock:hover{background:#ffffff14;border-radius:18px}}.t-map-area{place-items:center;min-width:0;display:grid;overflow:hidden}.t-panel{background:#fff;flex-direction:column;gap:16px;padding:24px;display:flex;overflow-y:auto}.t-greet{align-items:center;gap:10px;display:flex}.t-sub{color:var(--k-muted);margin:-10px 0 0;font-size:16px;font-weight:500}.g-screen{min-height:100dvh;font-family:var(--fredoka);color:var(--k-ink)}.g-screen.town{--fredoka:var(--town-font)}.g-col{box-sizing:border-box;max-width:640px;min-height:100dvh;padding:calc(8px + var(--safe-top)) 20px calc(12px + var(--safe-bottom));flex-direction:column;margin:0 auto;display:flex}.g-col.wide{max-width:1120px}.g-bar{align-items:center;gap:12px;display:flex}.g-round.chunky{--radius:22px;--depth:4px;--edge:var(--k-edge-light);flex:none;width:44px;height:44px}.g-track{background:#fff;border-radius:10px;flex:1;height:20px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #c6e0f5}.town .g-track{box-shadow:inset 0 0 0 2px #e2d6be}.g-track span{background:var(--k-yellow);box-shadow:inset 0 -5px 0 var(--k-yellow-deep);border-radius:10px;transition:width .3s;position:absolute;inset:0 auto 0 0}.g-stars{height:44px;font:600 21px/1 var(--fredoka);font-variant-numeric:tabular-nums;box-shadow:0 4px 0 var(--k-edge-light);flex:none;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.g-prompt{align-items:flex-start;gap:6px;display:flex}.g-sunny{flex:none;margin-left:-8px}.g-prompt-words{flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding-top:12px;display:flex}.g-bubble{font:600 23px/1.2 var(--fredoka);box-shadow:0 4px 0 var(--k-edge-light);margin:0;padding:12px 16px}.chunky.g-again{--radius:25px;--depth:5px;width:auto;height:55px;font:600 19px/1 var(--fredoka);padding:0 18px}.g-hintcheck{gap:12px;height:70px;display:flex}.chunky.g-hint{--edge:#4e9a34;width:120px;font:600 21px/1 var(--fredoka);flex:none;gap:6px}.chunky.g-check{--fill:var(--k-check);--edge:#1e6416;font:600 25px/1 var(--fredoka)}.chunky.g-check:disabled{opacity:.55;cursor:default}.chunky:disabled:active{box-shadow:0 var(--depth) 0 var(--edge);transform:none}.g-sticker{font-family:var(--fredoka);border-radius:50%;flex:none;place-items:center;display:grid}.g-party{min-height:100dvh;font-family:var(--fredoka);color:var(--k-ink);position:relative;overflow:hidden}.g-confetti{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.g-confetti .bob{transform-box:fill-box;animation:2.4s ease-in-out infinite alternate bob}@keyframes bob{to{translate:0 8px}}.g-party-col{box-sizing:border-box;max-width:560px;min-height:100dvh;padding:calc(24px + var(--safe-top)) 20px calc(24px + var(--safe-bottom));text-align:center;flex-direction:column;align-items:center;margin:0 auto;display:flex;position:relative}.g-party-col h1{font:700 42px/1.1 var(--fredoka);margin:0}.g-party-col>p{color:var(--k-sub);margin:8px 0 0;font-size:19px}.g-burst{flex:none;place-items:center;width:300px;height:300px;margin-top:24px;display:grid;position:relative}.g-rays{width:300px;height:300px;animation:60s linear infinite spin;position:absolute;inset:0}@keyframes spin{to{rotate:360deg}}.g-grass{background:var(--k-grass);border-radius:50%;width:260px;height:48px;position:absolute;top:calc(50% + 110px)}.g-burst>svg:last-child{position:relative}.g-cards{grid-template-columns:1fr 1.3fr;gap:12px;width:100%;margin-top:20px;display:grid}.g-starcard,.g-stickercard{text-align:left;height:92px;box-shadow:0 5px 0 var(--k-edge);align-items:center;gap:10px;padding:0 14px;display:flex}.g-starcard{justify-content:center}.g-starcard b{font:700 34px/1 var(--fredoka);display:block}.g-stickercard b{font:600 20px/1.2 var(--fredoka);display:block}.g-starcard small,.g-stickercard small{font:800 14px/1.2 var(--nunito);color:var(--k-muted)}.chunky.g-keep{--radius:24px;height:72px;font:600 26px/1 var(--fredoka);margin-top:auto}.g-party-col .g-keep{margin-top:24px}@media (prefers-reduced-motion:reduce){.g-rays,.g-confetti .bob{animation:none}}.shop-item{box-shadow:0 4px 0 var(--k-edge-light);border-radius:24px;align-items:center;gap:14px;padding:14px;display:flex}.shop-art{flex:none;width:78px;height:78px}.shop-item b{font:600 24px/1.2 var(--fredoka);display:block}.shop-price{background:var(--k-yellow);color:#17394a;font:700 40px/1.2 var(--fredoka);font-variant-numeric:tabular-nums;border-radius:10px;margin-top:2px;padding:0 12px;display:inline-block}.shop-counter{box-shadow:inset 0 0 0 2px var(--k-edge-light);background:#f7f3ea;border-radius:20px;padding:14px}.shop-counter.shake{animation:.4s ease-in-out shake}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.shop-counter-head{justify-content:space-between;align-items:center;display:flex}.shop-counter-head small{font:800 15px/1 var(--nunito);color:var(--k-muted)}.shop-counter-head b{font:700 26px/1 var(--fredoka);font-variant-numeric:tabular-nums}.shop-empty{min-height:48px;font:800 15px/1.3 var(--nunito);color:var(--k-sub);align-items:center;margin:8px 0 0;display:flex}.shop-tray{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.shop-coins{box-shadow:0 4px 0 var(--k-edge-light);border-radius:22px;padding:10px 0;display:flex}.shop-coins button{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.shop-coins small{font:800 13px/1 var(--nunito);color:var(--k-ink)}.coin-box{place-items:center;display:grid}.coin{color:#3f4a54;font-family:var(--fredoka);box-sizing:border-box;background:#dde1e6;border:solid #9aa3ad;border-radius:50%;place-items:center;font-weight:700;display:grid}.coin.copper{color:#6b3e17;background:#d9a066;border-color:#a86f3a}.coin.bill{color:#1f4a1c;font-family:var(--fredoka);background:#8cc084;place-items:center;font-weight:700;display:grid;box-shadow:inset 0 0 0 3px #3e7a3a}@media (hover:hover) and (pointer:fine){.shop-coins button:not(:disabled):hover .coin,.shop-tray button:hover .coin{filter:brightness(1.06);transform:translateY(-2px)}}.shop-wide{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;padding:20px 0;display:grid}.shop-col{flex-direction:column;gap:18px;display:flex}@media (prefers-reduced-motion:reduce){.shop-counter.shake{animation:none}}.g-party.town{--fredoka:var(--town-font)}.g-col{overflow-x:clip}.g-col.fixed{height:100dvh;min-height:0}.chunky.g-answer{--radius:22px;--edge:var(--k-edge-light);--ink:var(--k-ink);font-family:var(--fredoka);font-variant-numeric:tabular-nums;white-space:nowrap;gap:10px;height:96px;padding:0 8px;font-weight:700}.chunky.g-answer.right{--fill:var(--k-check);--edge:#1e6416;--ink:#fff}.chunky.g-answer.missed{--fill:#d3e7f7;--edge:transparent;--ink:#7f9ab5;--depth:0px}.town .chunky.g-answer.missed{--fill:#eae3d5;--ink:#a99b83}.g-answer kbd{font:700 14px/1 var(--nunito);background:var(--k-sky-light);color:var(--k-muted);border-radius:6px;padding:3px 7px}.g-wide{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;padding:20px 0;display:grid}.g-wide-col{flex-direction:column;gap:18px;min-width:0;display:flex}.clock-wrap{flex-direction:column;align-items:center;gap:8px;margin-top:4px;display:flex}.clock-target{background:var(--k-yellow);color:#17394a;font:700 40px/1.15 var(--fredoka);font-variant-numeric:tabular-nums;border-radius:12px;padding:4px 18px}.clock .hand{transition:transform .25s cubic-bezier(.3,.7,.4,1.2)}.clock-shake{animation:.4s ease-in-out shake}.clock-picks{gap:12px;padding-bottom:28px;display:flex}.g-wide .clock-picks{flex-direction:column;padding:0}.clock-picks .g-answer{flex:1}.clock-setters{flex-direction:column;gap:10px;padding-bottom:14px;display:flex}.clock-steppers{gap:10px;display:flex}.clock-stepper{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.clock-stepper small{font:800 15px/1 var(--nunito);color:var(--k-muted)}.clock-stepper>div{gap:8px;width:100%;height:64px;display:flex}.clock-stepper .chunky{--radius:18px;--depth:5px;--edge:var(--k-edge-light)}.chunky.clock-check{flex:none;height:70px}@media (prefers-reduced-motion:reduce){.clock .hand{transition:none}.clock-shake{animation:none}}.fact-head{align-items:center;gap:12px;display:flex}.fact-time{font:700 34px/1.1 var(--fredoka);font-variant-numeric:tabular-nums;display:block}.fact-head small{font:800 15px/1.2 var(--nunito);color:var(--k-muted)}.fact-card{text-align:center;font:700 68px/1.1 var(--fredoka);font-variant-numeric:tabular-nums;box-shadow:0 5px 0 var(--k-edge-light);border-radius:28px;margin-top:14px;padding:22px 0;animation:.25s ease-out r-in}.fact-grid{grid-template-columns:1fr 1fr;gap:14px;padding-bottom:24px;display:grid}.fact-grid .g-answer{height:100px}.g-wide .fact-grid{padding:0}.g-wide .clock-picks .g-answer{flex:none}.kites{grid-template-columns:1fr 1fr;gap:48px 16px;padding-bottom:40px;display:grid}.kite{animation:3.9s ease-in-out infinite alternate kite-bob;position:relative}.kite .chunky{--radius:26px;--ink:#fff;height:104px;font:700 34px/1 var(--fredoka);gap:10px;padding:0 10px}.kite .chunky kbd{font:700 14px/1 var(--nunito);color:#fff;background:#ffffff40;border-radius:6px;padding:3px 7px}.kite-tail{pointer-events:none;position:absolute;bottom:-30px;left:50%;transform:translate(-50%)}.kite.missed .chunky{--ink:#a99b83;--depth:0px;--fill:#eae3d5!important;--edge:transparent!important}.kite.missed .kite-tail{opacity:.3}.kite.caught{animation:.7s ease-in forwards kite-away}.kite.caught .chunky{--fill:var(--k-check)!important;--edge:#1e6416!important}@keyframes kite-bob{0%{transform:translateY(-8px)}to{transform:translateY(8px)}}@keyframes kite-away{to{opacity:0;transform:translateY(-260px)}}@media (prefers-reduced-motion:reduce){.kite{animation:none}.kite.caught{opacity:.4;animation:none}}@media (orientation:landscape) and (height<=520px){.g-wide,.shop-wide{gap:24px;padding:8px 0}.g-wide-col{gap:10px}.g-prompt{min-height:0!important}.g-bubble{padding:8px 12px;font-size:19px}.chunky.g-again{height:44px;font-size:16px}.g-wide .chunky.g-answer,.g-wide .fact-grid .g-answer{height:64px}.g-wide .kites{row-gap:36px;padding-bottom:30px}.g-wide .kite .chunky{height:72px;font-size:28px}.g-wide .fact-card{margin-top:4px;padding:10px 0;font-size:48px}.shop-wide .shop-item{padding:8px}.shop-wide .shop-price{font-size:30px}.shop-wide .shop-art{width:56px;height:56px}.g-wide .clock-target{padding:2px 12px;font-size:28px}.g-wide .g-hintcheck,.shop-wide .g-hintcheck,.g-wide .chunky.clock-check{height:56px}.g-wide .clock-stepper>div{height:52px}.shop-wide .shop-coins .coin-box{transform:scale(.85)}.shop-wide .shop-coins{padding:4px 0}.shop-wide .shop-counter{padding:8px 12px}.shop-wide .shop-empty{min-height:30px;margin-top:4px}.shop-wide .shop-col{gap:10px}.g-wide .clock-wrap{margin-top:0}.g-col{padding-top:calc(4px + var(--safe-top));padding-bottom:calc(6px + var(--safe-bottom))}.g-wide .chunky.g-answer{height:54px}.g-wide .clock-picks{gap:8px}.g-wide .g-prompt-words,.shop-wide .g-prompt-words{gap:6px;padding-top:0}.chunky.g-again{--depth:4px;height:40px}.g-wide .g-hintcheck,.shop-wide .g-hintcheck{height:50px}.shop-wide .shop-empty,.shop-wide .shop-coins small{display:none}}.po-sentence{box-shadow:0 4px 0 var(--k-edge-light);text-align:center;font:500 23px/1.4 var(--fredoka);border-radius:22px;margin:0;padding:16px 18px}.po-sentence b{color:var(--k-blue)}.po-slots{justify-content:center;gap:7px;display:flex}.po-shake{animation:.4s ease-in-out shake}.po-slot{border:3px dashed var(--k-edge-light);width:min(42px,10vw - 8px);height:54px;font:500 30px/1 var(--fredoka);color:var(--k-ink);background:#fff9;border-radius:14px;place-items:center;display:grid}.g-wide .po-slot{width:52px;height:62px}.po-slot.current{background:var(--k-cream);border-color:var(--k-yellow-deep)}.po-slot.filled{border-style:solid;border-color:var(--k-blue);background:#fff}.po-slot.bad{background:var(--k-wrong-wash);border-style:solid;border-color:var(--k-wrong)}.po-slot.good{border-style:solid;border-color:var(--k-check);background:#e5f1e8}.po-tiles{grid-template-columns:repeat(4,1fr);gap:14px;padding:0 10px;display:grid}.chunky.po-tile{--radius:20px;--edge:var(--k-edge-light);--ink:var(--k-ink);height:78px;font:500 34px/1 var(--fredoka)}.chunky.po-tile.used{--fill:#d3e7f7;--edge:transparent;--ink:#7f9ab5;--depth:0px;height:72px}.town .chunky.po-tile.used{--fill:#eae3d5;--ink:#a99b83}@media (orientation:landscape) and (height<=520px){.g-wide .po-slot{width:40px;height:46px;font-size:24px}.g-wide .po-tiles{gap:8px}.g-wide .chunky.po-tile{height:52px;font-size:26px}.g-wide .chunky.po-tile.used{height:48px}.g-wide .po-sentence{padding:10px 12px;font-size:18px}}@media (prefers-reduced-motion:reduce){.po-shake{animation:none}}.th-card{box-shadow:0 5px 0 var(--k-edge-light);border-radius:26px;flex-direction:column;gap:10px;padding:18px;display:flex}.th-card small{font:900 12px/1 var(--nunito);letter-spacing:.6px;text-transform:uppercase;color:var(--k-muted)}.th-line{flex-wrap:wrap;gap:10px 8px;margin:0;display:flex}.th-word{font:700 30px/1.2 var(--fredoka);color:var(--k-ink);border-radius:8px;padding:2px 6px;transition:background .15s,color .15s}.th-word.lit{background:var(--k-blue);color:#fff}.th-word:disabled{cursor:default}.th-foot{flex-direction:column;gap:10px;padding-bottom:20px;display:flex}.th-foot p,.th-listen{text-align:center;color:var(--k-sub);margin:0;font-size:16px}.th-listen{padding-bottom:100px}.g-wide .th-listen{padding-bottom:0}.chunky.th-done{flex:none;height:70px}@media (orientation:landscape) and (height<=520px){.g-wide .th-word{font-size:22px}.g-wide .chunky.th-done{height:52px}.g-wide .th-foot{padding-bottom:0}}.r-card{overscroll-behavior:contain;min-height:0;box-shadow:0 5px 0 var(--k-edge-light);border-radius:28px;flex-direction:column;flex:1;gap:16px;margin:14px 0 10px;padding:20px;animation:.3s ease-out r-in;display:flex;overflow-y:auto}@keyframes r-in{0%{opacity:0;transform:translate(24px)}}.r-title small{font:800 14px/1 var(--nunito);text-transform:uppercase;letter-spacing:.04em;color:var(--k-muted)}.r-title h1{font-weight:700;line-height:1.12;font-family:var(--fredoka);margin:4px 0 0}.r-card-pic{object-fit:contain;border-radius:20px;width:100%;max-height:320px}.r-words{font-family:var(--fredoka);color:var(--k-ink);margin:0;font-weight:500;line-height:1.45}.r-word{font:inherit;color:inherit;cursor:pointer;border-radius:6px;padding:0}@media (hover:hover) and (pointer:fine){.r-word:hover{background:var(--k-sky-light)}}.r-controls{flex:none;gap:12px;height:70px;display:flex}.chunky.r-turn{--radius:22px;flex:none;width:72px}.chunky.white.r-turn{--edge:#4e9a34}.chunky.green.r-turn{--fill:var(--k-check);--edge:#1e6416}.chunky.r-read{--radius:22px;font:600 20px/1 var(--fredoka);gap:8px}.r-book{min-height:0;box-shadow:0 5px 0 var(--k-edge-light);border-radius:28px;flex:1;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);max-height:640px;margin:18px 0 14px;animation:.3s ease-out r-in;display:grid;overflow:hidden}.r-book-pic{border-right:2px solid var(--k-sky-light);background:#fff;place-items:center;min-height:0;padding:20px;display:grid}.r-book-pic img{object-fit:contain;border-radius:20px;width:100%;height:100%;max-height:600px}.r-book-words{flex-direction:column;gap:14px;padding:36px 40px;display:flex;overflow-y:auto}.r-book-words .r-words{max-width:30ch}.r-book-foot{flex-direction:column;align-items:center;gap:8px;display:flex}.r-book-foot .r-controls{width:min(560px,100%)}.r-keys{font:600 14px/1.2 var(--nunito);color:var(--k-muted);margin:0}.r-evidence{box-shadow:0 4px 0 var(--k-edge-light);border-radius:20px;margin-top:14px;padding:16px}.r-evidence small{font:800 14px/1 var(--nunito);color:var(--k-muted)}.r-evidence p{font:500 20px/1.35 var(--fredoka);margin:4px 0 0}.r-options{flex-direction:column;gap:14px;margin-top:18px;display:flex}.chunky.r-option{--radius:22px;--edge:var(--k-edge-light);--ink:var(--k-ink);height:70px;font:600 24px/1 var(--fredoka);gap:12px;padding:0 16px}.chunky.r-option.right{--fill:var(--k-check);--edge:#1e6416;--ink:#fff}.chunky.r-option.missed{--fill:#d3e7f7;--edge:transparent;--ink:#7f9ab5;--depth:0px;height:64px}.r-option kbd{font:700 14px/1 var(--nunito);background:var(--k-sky-light);color:var(--k-muted);border-radius:6px;padding:3px 7px}@media (prefers-reduced-motion:reduce){.r-card,.r-book{animation:none}}
