:root{--teal:#0fb8b8;--teal-soft:#0fb8b829;--teal-line:#0fb8b857;--navy:#051022;--navy-2:#0a1a35;--yellow:#ffc857;--yellow-soft:#ffc85729;--red:#ff6b6b;--red-soft:#ff6b6b2e;--white:#fff;--muted:#dcf0f08c;--shadow-soft:0 10px 40px #00000059}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;color:var(--teal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Noto Sans JP,Source Han Sans,sans-serif;overflow-x:hidden}html{background:var(--navy)}body,#root{background:0 0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}button:focus-visible,a:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:4px}.app{min-height:100dvh;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left);justify-content:center;align-items:stretch;display:flex}.screen{width:100%;max-width:520px;padding:max(60px, calc(28px + env(safe-area-inset-top))) 22px 40px;flex-direction:column;gap:22px;margin:0 auto;display:flex;position:relative}.muted{color:var(--muted)}.matrix-bg{z-index:0;opacity:.5;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.app,.screen,.name-input,.splash{z-index:1;position:relative}.splash{-webkit-backdrop-filter:blur(2px);z-index:1000;background:#051022c7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.splash-body{flex-direction:column;align-items:center;gap:12px;animation:.6s ease-out splash-fade-in;display:flex}.splash-wordmark{letter-spacing:.03em;color:var(--teal);font-family:Jost,Futura,Helvetica Neue,sans-serif;font-size:64px;font-weight:700;line-height:1}.splash-wordmark .dot{color:var(--yellow)}.splash-tagline{color:var(--muted);letter-spacing:.06em;margin-top:4px;font-size:15px}.splash-flash{opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.splash.flash .splash-flash{animation:.7s ease-in forwards splash-flash}.splash.flash .splash-body{animation:.5s ease-in forwards splash-body-out}@keyframes splash-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes splash-flash{0%{opacity:0}60%{opacity:1}to{opacity:1}}@keyframes splash-body-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}@media (width>=480px){.splash-wordmark{font-size:80px}.splash-tagline{font-size:17px}}.name-input{width:100%;max-width:520px;height:100dvh;min-height:100dvh;padding:calc(20px + env(safe-area-inset-top)) 20px calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;margin:0 auto;display:flex}.name-stream{flex-direction:column;flex:1;justify-content:flex-end;gap:6px;padding-bottom:4px;display:flex;overflow-y:auto}.name-compose{margin-bottom:calc(env(safe-area-inset-bottom) + 12px);background:#0fb8b814;border:1px solid #0fb8b838;border-radius:14px;gap:8px;padding:10px;display:flex}.name-input-field{background:var(--navy);color:var(--white);border:1px solid #0fb8b847;border-radius:10px;outline:none;flex:1;padding:12px 14px;font-family:inherit;font-size:16px}.name-input-field:focus{border-color:var(--teal)}.name-input-field::placeholder{color:var(--muted)}.name-send-btn{background:var(--teal);color:var(--navy);cursor:pointer;border:none;border-radius:10px;padding:0 18px;font-size:14px;font-weight:700;transition:opacity .2s}.name-send-btn:disabled{opacity:.4;cursor:not-allowed}.brand{flex-direction:column;align-items:center;gap:0;margin-bottom:-10px;padding-top:4px;display:flex}.becky-avatar{pointer-events:none;filter:drop-shadow(0 8px 24px #0fb8b859);width:200px;max-width:70%;height:auto;margin:-20px auto -8px;animation:4s ease-in-out infinite becky-breathe;display:block}@keyframes becky-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.becky-avatar,.becky-avatar-side,.becky-avatar-mini{animation:none}}@media (width>=480px){.becky-avatar{width:240px}}.becky-avatar-mini{pointer-events:none;filter:drop-shadow(0 4px 12px #ffc85759);width:110px;height:auto;margin:0 auto 8px;animation:.6s ease-out becky-celebrate;display:block}@keyframes becky-celebrate{0%{opacity:0;transform:scale(.6)rotate(-8deg)}60%{opacity:1;transform:scale(1.1)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}.becky-dock{flex-direction:row-reverse;justify-content:flex-end;align-items:flex-end;gap:10px;margin-top:2px;padding:0 4px;display:flex}.screen.unit .becky-dock{bottom:calc(70px + env(safe-area-inset-bottom));z-index:4;background:linear-gradient(#05102200 0%,#051022e0 30%,#051022eb 100%);padding-top:8px;padding-bottom:4px;position:sticky}.becky-dock .becky-bubble{flex:1;max-width:calc(100% - 62px)}.becky-bubble{color:var(--white);word-break:break-word;background:#0fb8b81f;border:1px solid #0fb8b852;border-radius:16px 16px 16px 4px;align-items:center;min-height:44px;padding:11px 14px;font-size:14px;line-height:1.55;animation:.35s ease-out bubble-pop;display:flex;position:relative}.becky-bubble:after{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-right:8px solid #0fb8b852;width:0;height:0;position:absolute;bottom:6px;left:-7px}.becky-bubble:before{content:"";z-index:1;filter:brightness(1.04);border-top:5px solid #0000;border-bottom:5px solid #0000;border-right:7px solid #0fb8b81a;width:0;height:0;position:absolute;bottom:7px;left:-5px}.becky-bubble.joy{color:var(--white);background:#ffc8571f;border-color:#ffc85761}.becky-bubble.joy:after{border-right-color:#ffc85761}.becky-bubble.joy:before{border-right-color:#ffc8571f}.becky-bubble.sad{color:var(--teal);opacity:.95;background:#0fb8b80f;border-color:#0fb8b838}.becky-bubble.sad:after{border-right-color:#0fb8b838}.becky-bubble.sad:before{border-right-color:#0fb8b80f}@keyframes bubble-pop{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.becky-dock-btn{background:var(--navy-2);cursor:pointer;border:2px solid #0fb8b866;border-radius:50%;flex-shrink:0;justify-content:center;align-items:flex-start;width:52px;height:52px;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 10px #0fb8b833}.becky-dock-btn:disabled{cursor:pointer}.becky-dock-btn img{filter:drop-shadow(0 2px 4px #0fb8b840);transform-origin:50%;pointer-events:none;width:160%;height:auto;margin-top:-26px;transition:filter .3s,transform .2s;animation:5s ease-in-out infinite becky-breathe}@media (hover:hover){.becky-dock-btn:hover img{filter:drop-shadow(0 6px 18px #ffc85773);animation:5s ease-in-out infinite becky-breathe,1.6s ease-in-out infinite becky-wiggle}}@keyframes becky-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}.becky-dock-btn:active img{animation:.9s ease-out becky-bounce}@keyframes becky-bounce{0%{transform:translateY(0)scale(1)}35%{transform:translateY(-10px)scale(1.04)}70%{transform:translateY(2px)scale(.97)}to{transform:translateY(0)scale(1)}}.becky-dock-btn.tappable{cursor:pointer}.becky-dock-btn.tappable:after{content:"👆";font-size:14px;animation:1.8s ease-in-out infinite hint-pulse;position:absolute;top:-6px;right:-6px}.becky-dock-btn.tappable.hint-on:after{display:none}.becky-dock-btn.tappable:active img{transform:scale(.95)}@keyframes hint-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@media (width>=480px){.becky-dock-btn{width:60px;height:60px}.becky-bubble{font-size:15px}}.wordmark{letter-spacing:.03em;color:var(--teal);font-family:Jost,Futura,Helvetica Neue,sans-serif;font-size:38px;font-weight:700;line-height:1}.wordmark:after{content:".";color:var(--yellow)}.tagline{color:var(--muted);letter-spacing:.04em;font-size:13px}.status{background:var(--navy-2);border:1px solid var(--teal-line);border-radius:18px;flex-direction:column;gap:14px;padding:18px 18px 16px;display:flex}.status-row{gap:14px;display:flex}.status-cell{flex-direction:column;flex:1;gap:4px;display:flex}.status-label{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-family:Jost,Futura,sans-serif;font-size:11px}.status-value{color:var(--white);font-size:18px;font-weight:700}.status-value .unit{color:var(--muted);margin-left:4px;font-size:12px;font-weight:500}.progress{flex-direction:column;gap:8px;display:flex}.progress-bar{background:#ffffff0f;border-radius:999px;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--teal), var(--yellow));height:100%;transition:width .6s}.progress-text{color:var(--white);letter-spacing:.04em;font-family:Jost,Futura,sans-serif;font-size:12px}.hero-line{padding:8px 2px}.hero-line p{color:var(--white);font-size:22px;font-weight:500;line-height:1.55}.hero-line strong{color:var(--yellow);font-weight:700}.cta{background:var(--teal);width:100%;min-height:56px;color:var(--navy);letter-spacing:.02em;border-radius:14px;font-size:16px;font-weight:700;transition:transform 80ms,box-shadow 80ms,opacity .2s;display:block;box-shadow:0 6px #0fb8b859}.cta:hover{transform:translateY(-1px);box-shadow:0 7px #0fb8b859}.cta:active{transform:translateY(3px);box-shadow:0 2px #0fb8b859}.cta:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.cta-review{color:var(--teal);box-shadow:none;background:0 0;border:1.5px solid #0fb8b873;flex-direction:column;align-items:center;gap:4px;margin-top:8px;padding:14px 18px;font-size:15px;font-weight:600;display:flex}.cta-review:hover{border-color:var(--teal);color:var(--white);box-shadow:none;background:#0fb8b814;transform:none}.cta-review-count{color:var(--muted);letter-spacing:.05em;font-size:11px;font-weight:400}.cta-row{gap:10px;width:100%;display:flex}.cta-row .cta-primary{flex:1;margin-top:0}.cta-row.with-review .cta-primary{flex:2}.cta-review-small{color:var(--teal);min-height:56px;box-shadow:none;background:0 0;border:1.5px solid #0fb8b873;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;margin-top:0;padding:12px 10px;font-size:14px;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s;display:flex}.cta-review-small:hover{border-color:var(--teal);color:var(--white);box-shadow:none;background:#0fb8b814;transform:none}.cta-review-label{letter-spacing:.02em;font-size:14px;font-weight:600}.cta-review-small .cta-review-count{color:var(--muted);letter-spacing:.04em;font-size:10px;font-weight:500}.link{color:var(--muted);text-underline-offset:3px;background:0 0;font-size:13px;text-decoration:underline}.link.big{text-align:center;padding:14px;font-size:14px;display:block}.screen.home{padding-top:max(60px, calc(14px + env(safe-area-inset-top)));gap:10px}.game-header{border:1px solid var(--teal-line);background:linear-gradient(#0fb8b81a 0%,#0fb8b808 100%);border-radius:16px;flex-direction:column;gap:8px;padding:10px 14px;display:flex}.game-header-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.game-name-block{flex-direction:column;gap:2px;display:flex}.game-name-greet{letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-family:Jost,sans-serif;font-size:10px}.game-name{color:var(--white);letter-spacing:.01em;font-size:20px;font-weight:700}.game-streak{background:#ffc8571f;border:1px solid #ffc85759;border-radius:999px;align-items:baseline;gap:4px;padding:6px 12px;display:inline-flex}.game-streak-flame{font-size:16px;line-height:1}.game-streak-num{color:var(--yellow);font-family:Jost,sans-serif;font-size:20px;font-weight:700;line-height:1}.game-streak-unit{color:var(--muted);font-size:11px}.game-progress{flex-direction:column;gap:6px;display:flex}.game-progress-bar{background:#ffffff12;border-radius:999px;height:8px;overflow:hidden}.game-progress-fill{background:linear-gradient(90deg, var(--teal), var(--yellow));height:100%;transition:width .6s}.game-progress-text{color:var(--white);letter-spacing:.03em;font-family:Jost,sans-serif;font-size:11px}.home-stage{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-height:0;margin:0 0 -8px;display:flex;position:relative}.home-stage:before{content:"";opacity:.7;z-index:0;pointer-events:none;background-image:url(/home-bg.png);background-position:bottom;background-repeat:no-repeat;background-size:cover;border-radius:22px;width:92%;max-width:360px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#0000 0%,#000 18% 82%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 18% 82%,#0000 100%)}.home-stage>*{z-index:1;position:relative}.home-bubble-row{z-index:2;justify-content:center;width:100%;padding:0 12px;display:flex}.home-bubble{color:var(--white);text-align:center;cursor:pointer;background:#0fb8b824;border:1px solid #0fb8b861;border-radius:18px;max-width:92%;padding:12px 16px;font-family:inherit;font-size:14px;line-height:1.55;transition:background .2s,border-color .2s,transform .1s;animation:.4s ease-out bubble-pop;position:relative}.home-bubble:hover{border-color:var(--teal);background:#0fb8b833}.home-bubble:active{transform:scale(.97)}.home-bubble:after{content:"";border-top:10px solid #0fb8b861;border-left:9px solid #0000;border-right:9px solid #0000;width:0;height:0;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.home-bubble:before{content:"";z-index:1;border-top:9px solid #051022;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.home-becky{object-fit:contain;filter:drop-shadow(0 16px 36px #0fb8b86b);pointer-events:none;width:60%;max-width:280px;height:auto;max-height:38dvh;transition:filter .4s}.home-stage.is-joy .home-becky.joy{filter:drop-shadow(0 16px 36px #0fb8b86b)drop-shadow(0 0 36px #ffc8578c);animation:5.5s ease-in-out infinite joy-breathe}.home-stage.joy-entering .home-becky.joy{animation:.8s cubic-bezier(.34,1.56,.64,1) joy-enter,5.5s ease-in-out .8s infinite joy-breathe}@keyframes joy-enter{0%{opacity:.7;transform:scale(.92)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes joy-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.home-bubble.joy{cursor:default;background:#ffc85724;border-color:#ffc85780;flex-direction:column;gap:4px;display:flex}.home-bubble.joy:after{border-top-color:#ffc85780}.home-bubble.joy .home-bubble-main{color:var(--yellow);letter-spacing:.02em;font-size:15px;font-weight:700}.home-bubble.joy .home-bubble-sub{color:var(--muted);font-size:12px;font-weight:400}.home-sparkles{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.home-sparkles .sparkle{opacity:0;text-shadow:0 0 8px #ffc857b3;font-size:18px;animation:1.2s ease-out forwards sparkle-fall;position:absolute;top:-8%}.home-sparkles .s1{animation-delay:0s;left:24%}.home-sparkles .s2{font-size:22px;animation-delay:.2s;left:52%}.home-sparkles .s3{font-size:16px;animation-delay:.4s;left:76%}@keyframes sparkle-fall{0%{opacity:0;transform:translateY(-12px)rotate(-10deg)}30%{opacity:1}to{opacity:0;transform:translateY(40vh)rotate(20deg)}}@media (prefers-reduced-motion:reduce){.home-stage.joy-entering .home-becky.joy,.home-stage.is-joy .home-becky.joy{animation:none}.home-sparkles .sparkle{opacity:0;animation:none}}@media (width<=380px){.home-becky{width:54%}}@media (height<=600px){.daily-goal.done .daily-goal-sub{display:none}}.home-footer{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.meta{letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-family:Jost,Futura,sans-serif;font-size:11px}.meta .dot{color:var(--yellow);margin:0 6px}.unit{gap:18px}.screen.chat{gap:14px;animation:.42s cubic-bezier(.4,0,.2,1) chat-enter}.screen.chat.is-sending{animation:.42s cubic-bezier(.4,0,.2,1) forwards screen-shupon}@keyframes chat-enter{0%{opacity:.35;transform:translateY(36vh)}to{opacity:1;transform:translateY(0)}}.chat-stream{flex-direction:column;gap:6px;padding:0 2px;display:flex}.chat-row{align-items:flex-end;gap:10px;animation:.32s cubic-bezier(.4,0,.2,1) backwards msg-pop;display:flex}.chat-row.cont{margin-top:-2px}.chat-row .becky-bubble{flex:1;max-width:calc(100% - 62px)}.chat-row.cont .becky-bubble{border-bottom-left-radius:16px}.chat-row.cont .becky-bubble:before,.chat-row.cont .becky-bubble:after{display:none}.avatar-spacer{flex-shrink:0;width:52px;height:1px}@media (width>=480px){.avatar-spacer{width:60px}}@keyframes msg-pop{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.becky-bubble.bubble-image{padding:10px 14px}.msg-image{font-size:38px;line-height:1;display:block}.becky-bubble.bubble-head{flex-direction:column;align-items:flex-start;padding:12px 16px}.msg-head{flex-direction:column;gap:4px;display:flex}.msg-en{color:var(--white);letter-spacing:.02em;font-family:Jost,Futura,sans-serif;font-size:22px;font-weight:700;line-height:1.2}.msg-pron{color:var(--teal);opacity:.85;letter-spacing:.02em;font-size:13px}.becky-bubble.bubble-kata{padding:11px 14px}.msg-kata{color:var(--white);font-size:15px}.msg-kata strong{color:var(--yellow);margin:0 2px;font-size:17px;font-weight:700}.becky-bubble.bubble-scene{background:#ffc85714;border-color:#ffc85752;flex-direction:column;align-items:flex-start;padding:11px 14px}.becky-bubble.bubble-scene:after{border-right-color:#ffc85752}.becky-bubble.bubble-scene:before{border-right-color:#ffc85714}.becky-bubble.bubble-scene .scene-label{margin-bottom:4px}.becky-bubble.bubble-scene p{color:var(--white);font-size:14px;line-height:1.6}.becky-bubble.bubble-title{padding:12px 16px}.msg-title{color:var(--white);font-size:17px;font-weight:700;line-height:1.4}.becky-bubble.bubble-code{flex-direction:column;align-items:flex-start;padding:11px 14px}.becky-bubble .scene-label{letter-spacing:.14em;color:var(--yellow);text-transform:uppercase;margin-bottom:4px;font-family:Jost,Futura,sans-serif;font-size:10px;display:block}.becky-bubble p{color:var(--white);font-size:14px;line-height:1.6}.msg-code{color:var(--teal);word-break:break-word;background:#0fb8b814;border-radius:8px;margin-top:2px;padding:8px 10px;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.reaction-bubble{color:var(--white);background:#ffc85724;border-color:#ffc85766;font-style:italic;animation:2.4s ease-out forwards reaction-fade}@keyframes reaction-fade{0%{opacity:0;transform:translateY(6px)}10%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0;transform:translateY(-4px)}}.user-dock{justify-content:flex-end;margin-top:2px;padding:0 4px;display:flex}.user-dock.sent{animation:.32s cubic-bezier(.4,0,.2,1) msg-pop}.compose-bar{left:0;right:0;bottom:calc(70px + env(safe-area-inset-bottom));z-index:50;pointer-events:auto;width:100%;max-width:520px;height:60px;margin:0 auto;position:fixed;overflow:hidden}.compose-bar img{object-fit:cover;object-position:center;pointer-events:none;width:100%;height:100%;display:block;-webkit-mask-image:radial-gradient(circle at 91%,#0000 0% 18%,#000 30%);mask-image:radial-gradient(circle at 91%,#0000 0% 18%,#000 30%)}.compose-input-text{color:#ffffffeb;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;font-family:Hiragino Sans,Noto Sans JP,sans-serif;font-size:14px;font-weight:400;animation:.28s ease-out msg-pop;position:absolute;top:50%;left:38%;right:22%;overflow:hidden;transform:translateY(-50%)}.compose-send-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:18%;transition:background .15s,opacity .18s,filter .18s;display:flex;position:absolute;top:0;bottom:0;right:0}.compose-send-btn .compose-send-icon{width:26px;height:26px;color:var(--teal);filter:drop-shadow(0 1px 2px #00000059);pointer-events:none;transition:color .18s,transform .12s,filter .18s}.compose-send-btn:hover:not(:disabled){background:#0fb8b81f}.compose-send-btn:hover:not(:disabled) .compose-send-icon{color:var(--yellow);transform:translate(1px,-1px)}.compose-send-btn:active:not(:disabled){background:#0fb8b83d}.compose-send-btn:active:not(:disabled) .compose-send-icon{transform:translate(2px,-2px)scale(.96)}.compose-send-btn:disabled{cursor:not-allowed}.compose-bar.is-empty img{opacity:.45}.compose-bar.is-empty .compose-send-btn .compose-send-icon{color:#ffffff73;filter:grayscale()drop-shadow(0 1px 2px #0000004d)}.user-bubble{color:#0a2418;letter-spacing:.01em;cursor:pointer;background:linear-gradient(135deg,#8be99c 0%,#6ddc7f 100%);border:none;border-radius:18px 18px 4px;max-width:80%;padding:13px 20px;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .12s,opacity .2s;animation:.3s ease-out bubble-pop;position:relative;box-shadow:0 4px 12px #6ddc7f52}.user-bubble:after{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:8px solid #6ddc7f;width:0;height:0;position:absolute;bottom:6px;right:-7px}.user-bubble:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #6ddc7f6b}.user-bubble:active:not(:disabled){transform:scale(.96)}.user-bubble:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;background:linear-gradient(135deg,#5a8a64 0%,#4a7553 100%)}.user-bubble:disabled:after{border-left-color:#4a7553}.screen.unit:not(.is-sending){animation:.42s cubic-bezier(.4,0,.2,1) chat-enter}.screen.unit.is-sending{animation:.42s cubic-bezier(.4,0,.2,1) forwards screen-shupon}@keyframes screen-shupon{0%{opacity:1;transform:translateY(0)}30%{opacity:1;transform:translateY(-12px)}to{opacity:0;transform:translateY(-36vh)}}@media (prefers-reduced-motion:reduce){.screen.unit.is-sending{opacity:0;transition:opacity .2s;animation:none}}.topbar{flex-direction:column;gap:10px;display:flex}.topbar-progress{background:#ffffff0f;border-radius:999px;height:8px;overflow:hidden}.topbar-fill{background:var(--teal);border-radius:999px;height:100%;transition:width .4s}.topbar-meta{align-items:center;gap:10px;display:flex}.tag{background:var(--teal-soft);color:var(--teal);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;padding:4px 10px;font-family:Jost,Futura,sans-serif;font-size:11px;display:inline-flex}.tag.accent{background:var(--yellow-soft);color:var(--yellow)}.tag.warn{color:var(--yellow);background:#ffc85729}.task{color:var(--muted);letter-spacing:.08em;font-family:Jost,Futura,sans-serif;font-size:11px}.lang-toggle{letter-spacing:.08em;color:var(--yellow);border:1px solid var(--yellow);background:0 0;border-radius:999px;margin-left:auto;padding:4px 10px;font-family:Jost,Futura,sans-serif;font-size:11px}.lang-toggle[aria-pressed=true]{background:var(--yellow);color:var(--navy)}.card{background:var(--navy-2);border:1px solid var(--teal-line);box-shadow:var(--shadow-soft);border-radius:20px;flex-direction:column;gap:16px;padding:28px 22px;display:flex}.word-image{text-align:center;filter:drop-shadow(0 4px 12px #0fb8b840);padding:8px 0 0;font-size:60px;line-height:1}.word-en{text-align:center;letter-spacing:.04em;color:var(--white);font-family:Jost,Futura,sans-serif;font-size:32px;font-weight:700;line-height:1.2}.word-pronunciation{text-align:center;color:var(--teal);opacity:.85;letter-spacing:.02em;margin-top:6px;font-size:16px;font-weight:500;line-height:1.3}.word-katakana{text-align:center;color:var(--yellow);margin-top:10px;font-size:18px;font-weight:600;line-height:1.4}.word-body{flex-direction:column;gap:14px;margin-top:6px;display:flex}.word-oneliner{color:var(--white);font-size:16px;line-height:1.7}.word-scene{border-left:3px solid var(--teal);background:#0fb8b812;border-radius:0 12px 12px 0;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.scene-label{letter-spacing:.16em;color:var(--yellow);text-transform:uppercase;font-family:Jost,Futura,sans-serif;font-size:10px}.word-scene p{color:var(--white);font-size:14px;line-height:1.7}.fn-title{color:var(--white);font-size:22px;font-weight:700;line-height:1.45}.fn-row{border-top:1px dashed #0fb8b833;flex-direction:column;gap:6px;padding:12px 0;display:flex}.fn-row:first-of-type{border-top:none;padding-top:4px}.fn-label{letter-spacing:.16em;color:var(--yellow);text-transform:uppercase;font-family:Jost,Futura,sans-serif;font-size:10px}.fn-row p{color:var(--white);font-size:15px;line-height:1.7}.fn-row.example p{color:var(--teal);word-break:break-word;background:#0fb8b80f;border-radius:8px;padding:10px 12px;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:1.6}.quiz{gap:14px}.quiz-source{letter-spacing:.16em;color:var(--yellow);text-transform:uppercase;font-family:Jost,Futura,sans-serif;font-size:10px}.quiz-question.en{color:var(--white);font-family:Jost,Futura,sans-serif;font-size:clamp(15px,4vw,18px);font-weight:500;line-height:1.65}.quiz-question.ja{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.7}.quiz-options{flex-direction:column;gap:10px;margin-top:6px;display:flex}.quiz-option{text-align:left;color:var(--white);background:0 0;border:1.5px solid #0fb8b847;border-radius:14px;align-items:flex-start;gap:12px;min-height:56px;padding:14px;font-size:14px;line-height:1.6;transition:background .15s,border-color .15s,transform 80ms;display:flex}.quiz-option:hover:not(:disabled){background:var(--teal-soft);border-color:var(--teal)}.quiz-option:active:not(:disabled){transform:scale(.99)}.opt-id{background:var(--teal-soft);width:28px;height:28px;color:var(--teal);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-family:Jost,Futura,sans-serif;font-size:13px;font-weight:700;display:inline-flex}.opt-text{flex-direction:column;gap:4px;display:flex}.opt-text .en{font-size:12px;font-style:italic}.quiz-option.state-correct{border-color:var(--teal);background:var(--teal-soft)}.quiz-option.state-correct .opt-id{background:var(--teal);color:var(--navy)}.quiz-option.state-wrong{border-color:var(--red);background:var(--red-soft)}.quiz-option.state-wrong .opt-id{background:var(--red);color:var(--white)}.quiz-option.state-dim{opacity:.45}.quiz-feedback{border:1px solid var(--teal-line);border-radius:14px;flex-direction:column;gap:10px;margin-top:8px;padding:16px;display:flex}.quiz-feedback.ok{background:var(--teal-soft);border-color:var(--teal)}.quiz-feedback.ng{background:var(--yellow-soft);border-color:var(--yellow)}.feedback-badge{background:var(--navy);color:var(--yellow);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:4px 10px;font-family:Jost,Futura,sans-serif;font-size:11px;display:inline-flex}.quiz-feedback.ok .feedback-badge{color:var(--teal)}.feedback-becky{color:var(--white);font-size:14px;line-height:1.75}.result{text-align:center;align-items:center;gap:18px;padding-top:60px}.result-becky{filter:drop-shadow(0 8px 24px #0fb8b859);width:180px;height:auto;animation:4s ease-in-out infinite becky-breathe}.result-title{color:var(--white);font-size:26px;font-weight:700}.result-sub{color:var(--muted);max-width:380px;font-size:14px;line-height:1.7}.result-stats{gap:10px;width:100%;margin:6px 0 14px;display:flex}.stat{background:var(--navy-2);border:1px solid var(--teal-line);border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:14px 8px;display:flex}.stat-num{color:var(--white);font-family:Jost,Futura,sans-serif;font-size:26px;font-weight:700}.stat-num .muted{margin-left:4px;font-size:14px}.stat-num .unit{color:var(--muted);margin-left:2px;font-size:12px}.stat-label{color:var(--muted);letter-spacing:.06em;font-size:11px}@media (width<=380px){.screen{padding:22px 16px 32px}.wordmark{font-size:32px}.hero-line p{font-size:19px}.word-en{font-size:38px}.word-pronunciation{font-size:17px}.word-katakana,.fn-title{font-size:19px}}@media (width>=720px){.app{padding-top:40px}}.app.has-footer{flex-direction:column;padding-bottom:0}.app.has-footer .screen{padding-bottom:calc(146px + env(safe-area-inset-bottom))}.footer-nav{-webkit-backdrop-filter:blur(12px);padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:100;background:#051022eb;border-top:1px solid #0fb8b82e;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.footer-tab{color:var(--muted);letter-spacing:.05em;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:6px 4px;font-size:10px;transition:color .2s;display:flex}.footer-tab:hover,.footer-tab.active{color:var(--teal)}.footer-tab.active .footer-icon{filter:drop-shadow(0 0 8px #0fb8b873);transform:translateY(-1px)}.footer-icon{justify-content:center;align-items:center;width:28px;height:28px;font-size:22px;line-height:1;transition:transform .2s,filter .2s;display:flex}.footer-icon img{object-fit:contain;opacity:.65;width:100%;height:100%;transition:opacity .2s,filter .2s}.footer-tab.active .footer-icon img{opacity:1}.footer-label{font-family:Noto Sans JP,sans-serif;font-weight:500}.reference{max-width:520px}.ref-header{flex-direction:column;gap:4px;padding:8px 4px 4px;display:flex}.ref-title{color:var(--teal);letter-spacing:.02em;font-family:Jost,Futura,sans-serif;font-size:28px;font-weight:700}.ref-sub{color:var(--muted);font-size:13px}.ref-task{background:var(--navy-2);border:1px solid #0fb8b82e;border-radius:14px;flex-direction:column;padding:0;transition:border-color .2s;display:flex}.ref-task.is-open{border-color:var(--teal-line)}.ref-task-head{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:16px;display:flex}.ref-task-head:hover{background:#0fb8b80a}.ref-task-title{letter-spacing:.08em;color:var(--yellow);text-transform:uppercase;flex:1;font-family:Jost,sans-serif;font-size:14px;font-weight:700}.ref-task-count{color:var(--muted);letter-spacing:.04em;font-family:Jost,sans-serif;font-size:11px}.ref-task-chevron{color:var(--teal);font-size:14px;transition:transform .2s;display:inline-block}.ref-task-chevron.open{transform:rotate(180deg)}.ref-task-body{flex-direction:column;gap:12px;padding:0 16px 16px;animation:.24s ease-out ref-body-slide;display:flex}@keyframes ref-body-slide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ref-section{flex-direction:column;gap:8px;display:flex}.ref-section-label{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;padding-left:2px;font-size:11px;font-weight:600}.ref-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ref-item{background:#0fb8b80d;border:1px solid #0fb8b826;border-radius:10px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.ref-item-image{flex-shrink:0;font-size:28px;line-height:1}.ref-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ref-item-en{color:var(--white);letter-spacing:.01em;font-family:Jost,sans-serif;font-size:16px;font-weight:700}.ref-item-pronunciation{color:var(--teal);opacity:.7;font-size:11px}.ref-item-katakana{color:var(--yellow);margin-top:2px;font-size:13px;font-weight:600}.ref-item-line{color:var(--teal);opacity:.85;margin:4px 0 0;font-size:12px;line-height:1.55}.ref-fn-title{color:var(--white);font-size:14px;font-weight:700}.settings{max-width:520px}.settings-header{padding:8px 4px}.settings-title{color:var(--white);font-size:24px;font-weight:700}.settings-section{background:var(--navy-2);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.settings-section-title{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;font-size:12px;font-weight:700}.settings-action{cursor:pointer;border:none;border-radius:10px;padding:12px 16px;font-family:inherit;font-size:15px;font-weight:600}.settings-action.danger{color:#ff8a8a;background:#ff5a5a1a;border:1px solid #ff5a5a59}.settings-action.danger:hover{color:#ffb0b0;background:#ff5a5a2e}.settings-note{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.settings-toggle{cursor:pointer;color:var(--white);background:#0fb8b80f;border:1px solid #0fb8b84d;border-radius:10px;justify-content:space-between;align-items:center;padding:14px 16px;font-family:inherit;font-size:15px;transition:background .2s,border-color .2s;display:flex}.settings-toggle:hover{background:#0fb8b81f}.settings-toggle .toggle-label{font-weight:500}.settings-toggle .toggle-state{letter-spacing:.1em;border-radius:6px;padding:4px 10px;font-family:Jost,sans-serif;font-size:13px;font-weight:700}.settings-toggle.on .toggle-state{color:var(--yellow);background:#ffc8572e}.settings-toggle.off .toggle-state{color:var(--muted);background:#ffffff14}.settings-stats{flex-direction:column;gap:8px;margin:0;display:flex}.settings-stats>div{border-bottom:1px solid #0fb8b81a;justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.settings-stats>div:last-child{border-bottom:none}.settings-stats dt{color:var(--muted)}.settings-stats dd{color:var(--white);margin:0;font-weight:600}.settings-footer{color:var(--muted);flex-direction:column;align-items:center;gap:4px;padding:24px 0 8px;display:flex}.settings-brand{color:var(--teal);letter-spacing:.02em;font-family:Jost,Futura,sans-serif;font-size:20px;font-weight:700}.settings-brand .brand-dot{color:var(--yellow)}.settings-meta{align-items:center;gap:6px;font-size:12px;display:flex}.settings-meta .dot{opacity:.5}.settings-copyright{opacity:.5;letter-spacing:.05em;font-size:10px}.placeholder{text-align:center;align-items:center;padding-top:80px}.placeholder-title{color:var(--white);font-size:28px;font-weight:700}.placeholder-sub{color:var(--muted);font-size:14px}.map-screen{gap:18px;max-width:520px}.map-header{flex-direction:column;gap:4px;padding:8px 4px 4px;display:flex}.map-title{color:var(--teal);letter-spacing:.02em;font-family:Jost,Futura,sans-serif;font-size:28px;font-weight:700}.map-sub{color:var(--muted);font-size:13px;line-height:1.6}.map-path{flex-direction:column;gap:0;margin:0;padding:4px 0 0;list-style:none;display:flex}.map-node-row{grid-template-columns:36px 1fr;align-items:stretch;gap:12px;display:grid;position:relative}.map-rail{flex-direction:column;align-items:center;display:flex;position:relative}.map-dot{letter-spacing:.02em;z-index:2;border:2px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:14px;font-family:Jost,Futura,sans-serif;font-size:13px;font-weight:700;display:inline-flex}.map-dot.status-perfect{background:var(--yellow);color:var(--navy);border-color:var(--yellow);box-shadow:0 0 14px #ffc8578c}.map-dot.status-in-progress{background:var(--teal);color:var(--navy);border-color:var(--teal);box-shadow:0 0 12px #0fb8b880}.map-dot.status-untouched{background:var(--navy-2);color:var(--muted);border-color:#dcf0f040}.map-line{flex:1;width:2px;min-height:36px;margin-top:4px;margin-bottom:4px}.map-line.solid{background:linear-gradient(#0fb8b88c 0%,#0fb8b82e 100%)}.map-line.dashed{background-image:linear-gradient(#dcf0f047 50%,#0000 50%);background-repeat:repeat-y;background-size:2px 8px}.map-node-main{flex-direction:column;gap:8px;padding-bottom:18px;display:flex}.map-node-card{text-align:left;background:var(--navy-2);border:1px solid var(--teal-line);border-radius:16px;grid-template-columns:56px 1fr;align-items:center;gap:14px;width:100%;min-height:88px;padding:14px 16px;transition:transform .12s,border-color .2s,background .2s,box-shadow .2s;display:grid;position:relative}.map-node-card:active{transform:scale(.985)}.map-node-card.status-perfect{background:linear-gradient(180deg, #ffc8571a 0%, var(--navy-2) 100%);border-color:#ffc8578c;box-shadow:0 4px 18px #ffc8571a}.map-node-card.status-in-progress{border-color:var(--teal);background:linear-gradient(180deg, #0fb8b814 0%, var(--navy-2) 100%)}.map-node-card.status-untouched{opacity:.78;background:#0a1a358c;border-style:dashed;border-color:#dcf0f038}.map-node-card.is-open{border-color:var(--yellow);box-shadow:0 0 0 1px #ffc85752}.map-node-emoji{background:#0fb8b81a;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:34px;line-height:1;display:flex}.map-node-card.status-perfect .map-node-emoji{background:#ffc85724}.map-node-card.status-untouched .map-node-emoji{filter:grayscale(.4);background:#dcf0f00f}.map-node-body{flex-direction:column;gap:4px;min-width:0;display:flex}.map-node-meta{align-items:center;gap:8px;display:flex}.map-node-id{letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-family:Jost,Futura,sans-serif;font-size:11px}.map-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;padding:2px 8px;font-family:Jost,Futura,sans-serif;font-size:10px;font-weight:700;display:inline-flex}.map-badge.perfect{background:var(--yellow-soft);color:var(--yellow)}.map-badge.in-progress{background:var(--teal-soft);color:var(--teal)}.map-badge.untouched{color:var(--muted);background:#dcf0f014}.map-node-title{color:var(--white);letter-spacing:.01em;font-size:16px;font-weight:700;line-height:1.3}.map-node-card.status-untouched .map-node-title{color:#ffffffc7}.map-node-progress{flex-direction:column;gap:4px;margin-top:2px;display:flex}.map-mini-bar{background:#ffffff14;border-radius:999px;height:4px;overflow:hidden}.map-mini-fill{background:linear-gradient(90deg, var(--teal), var(--yellow));height:100%;transition:width .6s}.map-node-counts{letter-spacing:.04em;color:var(--white);flex-wrap:wrap;gap:6px;font-family:Jost,Futura,sans-serif;font-size:11px;display:flex}.map-becky{pointer-events:none;z-index:3;width:64px;height:64px;position:absolute;top:-22px;right:-8px}.map-becky-img{filter:drop-shadow(0 6px 14px #0fb8b873)drop-shadow(0 2px 4px #00000073);transform-origin:bottom;width:100%;height:auto;animation:4s ease-in-out infinite becky-breathe}@media (width>=480px){.map-becky{width:80px;height:80px;top:-28px;right:-10px}}.map-node-row.becky-here .map-node-card{border-color:var(--teal);box-shadow:0 0 0 1px #0fb8b859,0 8px 24px #0fb8b82e}.map-node-row.becky-here.status-perfect .map-node-card,.map-node-row.becky-here .map-node-card.status-perfect{border-color:var(--yellow);box-shadow:0 0 0 1px #ffc85766,0 8px 24px #ffc8572e}.map-bubble{color:var(--white);background:#0fb8b81a;border:1px solid #0fb8b852;border-radius:14px;margin:4px 4px 0;padding:12px 14px;font-size:14px;line-height:1.6;animation:.28s ease-out bubble-pop;position:relative}.map-bubble:before{content:"";background:#0fb8b81a;border-top:1px solid #0fb8b852;border-left:1px solid #0fb8b852;width:12px;height:12px;position:absolute;top:-7px;left:24px;transform:rotate(45deg)}.map-bubble.status-perfect{background:#ffc8571a;border-color:#ffc85766}.map-bubble.status-perfect:before{background:#ffc8571a;border-top-color:#ffc85766;border-left-color:#ffc85766}.map-bubble.status-untouched{color:#ffffffd9;background:#dcf0f00f;border-color:#dcf0f02e}.map-bubble.status-untouched:before{background:#dcf0f00f;border-top-color:#dcf0f02e;border-left-color:#dcf0f02e}.map-bubble-text{display:block}.map-bubble-cta{color:var(--teal);letter-spacing:.02em;cursor:pointer;background:0 0;border:1.5px solid #0fb8b88c;border-radius:12px;margin-top:10px;padding:9px 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.map-bubble-cta:hover{border-color:var(--teal);color:var(--white);background:#0fb8b81f}.map-bubble-cta:active{transform:translateY(1px)}.map-bubble.status-untouched .map-bubble-cta{color:#dcf0f0e6;border-color:#dcf0f059}.map-bubble.status-untouched .map-bubble-cta:hover{color:var(--white);background:#dcf0f014;border-color:#dcf0f099}@media (width<=380px){.map-node-card{grid-template-columns:48px 1fr;gap:12px;padding:12px 14px}.map-node-emoji{width:48px;height:48px;font-size:28px}.map-node-title{font-size:15px}.map-becky{width:56px;height:56px;top:-18px;right:-6px}}.quest-screen{gap:28px;max-width:520px}.quest-section-header{flex-direction:column;gap:4px;padding:4px 4px 0;display:flex}.quest-section-title{color:var(--teal);letter-spacing:.02em;font-family:Jost,Futura,sans-serif;font-size:22px;font-weight:700}.quest-section-sub{color:var(--muted);font-size:12px;line-height:1.6}.quest-today{flex-direction:column;gap:14px;display:flex}.quest-becky-dock{flex-direction:row-reverse;justify-content:flex-end;align-items:flex-end;gap:10px;padding:4px 4px 0;display:flex}.quest-becky-dock .becky-bubble{flex:1;max-width:calc(100% - 62px)}.quest-card{background:var(--navy-2);border:1px solid var(--teal-line);border-radius:16px;flex-direction:column;gap:10px;padding:18px 18px 16px;transition:border-color .25s,box-shadow .25s,background .25s;display:flex}.quest-card.is-done{background:linear-gradient(180deg, #ffc8571f 0%, var(--navy-2) 100%);border-color:#ffc8578c;box-shadow:0 6px 22px #ffc85724}.quest-card-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.quest-card-label{letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-family:Jost,Futura,sans-serif;font-size:11px}.quest-card-status{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#dcf0f014;border-radius:999px;padding:3px 10px;font-family:Jost,Futura,sans-serif;font-size:11px;font-weight:700}.quest-card-status.done{background:var(--yellow-soft);color:var(--yellow)}.quest-card-title{color:var(--white);letter-spacing:.005em;font-size:17px;font-weight:700;line-height:1.45}.quest-card-hint{color:var(--muted);font-size:12.5px;line-height:1.65}.quest-card-cta{color:var(--teal);letter-spacing:.02em;cursor:pointer;background:0 0;border:1.5px solid #0fb8b88c;border-radius:12px;align-self:flex-start;margin-top:6px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.quest-card-cta:hover{border-color:var(--teal);color:var(--white);background:#0fb8b81f}.quest-card-cta:active{transform:translateY(1px)}.quest-milestones{flex-direction:column;gap:12px;display:flex}.milestone-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.milestone-row{background:var(--navy-2);border:1px solid var(--teal-line);border-radius:14px;grid-template-columns:36px 1fr;align-items:start;gap:12px;padding:14px 14px 12px;transition:border-color .2s,background .2s;display:grid}.milestone-row.locked{opacity:.82;background:#0a1a358c;border-style:dashed;border-color:#dcf0f02e}.milestone-row.achieved{background:linear-gradient(180deg, #ffc85717 0%, var(--navy-2) 100%);border-color:#ffc85780}.milestone-mark{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:2px;font-family:Jost,Futura,sans-serif;font-size:14px;font-weight:700;display:inline-flex}.milestone-row.achieved .milestone-mark{background:var(--yellow);color:var(--navy);box-shadow:0 0 12px #ffc85773}.milestone-row.locked .milestone-mark{color:var(--muted);background:#dcf0f014;border:1px dashed #dcf0f047}.milestone-body{flex-direction:column;gap:4px;min-width:0;display:flex}.milestone-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.milestone-title{color:var(--white);font-size:15px;font-weight:700;line-height:1.3}.milestone-row.locked .milestone-title{color:#ffffffb8}.milestone-state{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:#dcf0f014;border-radius:999px;padding:2px 8px;font-family:Jost,Futura,sans-serif;font-size:10px}.milestone-row.achieved .milestone-state{background:var(--yellow-soft);color:var(--yellow)}.milestone-desc{color:var(--muted);font-size:12.5px;line-height:1.55}.milestone-progress{align-items:center;gap:10px;margin-top:4px;display:flex}.milestone-mini-bar{background:#ffffff14;border-radius:999px;flex:1;height:4px;overflow:hidden}.milestone-mini-fill{background:linear-gradient(90deg, var(--teal), var(--yellow));height:100%;transition:width .6s}.milestone-progress-text{letter-spacing:.04em;color:var(--white);flex-shrink:0;font-family:Jost,Futura,sans-serif;font-size:11px}.milestone-comment{color:var(--white);opacity:.88;margin-top:4px;font-size:12.5px;line-height:1.6}.milestone-row.locked .milestone-comment{color:#ffffffb8}@media (width<=380px){.quest-card-title{font-size:16px}.milestone-row{grid-template-columns:30px 1fr;gap:10px;padding:12px 12px 10px}.milestone-mark{width:28px;height:28px;font-size:13px}}.goal-choices{padding:4px 4px calc(env(safe-area-inset-bottom) + 12px);flex-direction:column;gap:10px;display:flex}.goal-choice{text-align:left;color:var(--white);cursor:pointer;background:#0fb8b814;border:1px solid #0fb8b852;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;font-family:inherit;transition:background .15s,border-color .15s,transform .12s;display:flex}.goal-choice:hover{border-color:var(--teal);background:#0fb8b829}.goal-choice:active{transform:scale(.985)}.goal-choice-main{align-items:baseline;gap:10px;width:100%;display:flex}.goal-choice-label{letter-spacing:.02em;color:var(--white);font-size:17px;font-weight:700}.goal-choice-minutes{color:var(--yellow);letter-spacing:.04em;margin-left:auto;font-family:Jost,sans-serif;font-size:13px;font-weight:700}.goal-choice-sub{color:var(--muted);letter-spacing:.02em;font-size:12px}.daily-goal{flex-direction:column;gap:4px;margin-top:6px;display:flex}.daily-goal-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.daily-goal-title{letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-family:Jost,sans-serif;font-size:11px}.daily-goal-count{color:var(--white);letter-spacing:.02em;font-family:Jost,sans-serif;font-size:18px;font-weight:700;line-height:1}.daily-goal-count .denom{color:var(--muted);font-size:14px;font-weight:600}.daily-goal-bar{background:#ffffff12;border-radius:999px;height:6px;overflow:hidden}.daily-goal-fill{background:linear-gradient(90deg, var(--teal), var(--yellow));height:100%;transition:width .5s}.daily-goal-sub{color:var(--muted);font-size:11px}.daily-goal.done .daily-goal-count{color:var(--yellow)}.daily-goal-done{color:var(--yellow);letter-spacing:.02em;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.settings-goal-row{gap:8px;display:flex}.settings-goal-chip{color:var(--white);cursor:pointer;background:#0fb8b80f;border:1px solid #0fb8b847;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 8px;font-family:inherit;transition:background .15s,border-color .15s;display:flex}.settings-goal-chip:hover{background:#0fb8b81f}.settings-goal-chip.active{background:#ffc85724;border-color:#ffc8578c}.settings-goal-chip-label{font-size:14px;font-weight:700}.settings-goal-chip-min{color:var(--muted);letter-spacing:.04em;font-family:Jost,sans-serif;font-size:11px}.settings-goal-chip.active .settings-goal-chip-min{color:var(--yellow)}.settings-goal-current{color:var(--muted);font-size:13px}.settings-goal-current strong{color:var(--white);font-weight:700}
