.mascot-sprite{position:relative;display:inline-block;width:100%;height:100%;will-change:transform}.mascot-sprite__layer{position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:no-repeat;background-position-y:center;background-image:url(/icons/mascot-sprite.png);background-image:image-set(url(/icons/mascot-sprite.webp) type("image/webp"),url(/icons/mascot-sprite.png) type("image/png"));background-image:-webkit-image-set(url(/icons/mascot-sprite.webp) 1x);filter:drop-shadow(0 12px 18px rgba(0,40,104,.28));transition:opacity .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1));pointer-events:none}.mascot-motion-float{animation:mascotFloat 3s ease-in-out infinite}.mascot-motion-bounce{animation:mascotBounce .6s ease-in-out infinite}.mascot-motion-jump{animation:mascotJump 1.1s ease-in-out infinite}.mascot-motion-wiggle{animation:mascotWiggle 1s ease-in-out infinite}.mascot-motion-nod{animation:mascotNod 1.4s ease-in-out infinite}.mascot-motion-tada{animation:mascotTada .9s ease-in-out 2}.mascot-motion-peek{animation:mascotPeek 2.4s ease-in-out infinite}.mascot-motion-walk{animation:mascotWalk .9s ease-in-out infinite}.mascot-motion-talk{animation:mascotTalk .42s ease-in-out infinite}.mascot-motion-none{animation:none}.mascot-enter-pop{animation:mascotPopIn .42s cubic-bezier(.34,1.56,.64,1) both}.mascot-enter-left{animation:mascotSlideL .46s cubic-bezier(.22,1,.36,1) both}.mascot-enter-up{animation:mascotSlideUp .46s cubic-bezier(.22,1,.36,1) both}@keyframes mascotFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6%)}}@keyframes mascotBounce{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes mascotJump{0%,to{transform:translateY(0) scaleY(1)}30%{transform:translateY(-12%) scaleY(1.04)}55%{transform:translateY(0) scaleY(.97)}70%{transform:translateY(-4%)}}@keyframes mascotWiggle{0%,to{transform:rotate(-3.5deg)}50%{transform:rotate(3.5deg)}}@keyframes mascotNod{0%,to{transform:rotate(0) translateY(0)}35%{transform:rotate(6deg) translateY(3%)}70%{transform:rotate(-2deg) translateY(0)}}@keyframes mascotTada{0%{transform:scale(1) rotate(0)}15%{transform:scale(1.14) rotate(-6deg)}35%{transform:scale(1.14) rotate(6deg)}55%{transform:scale(1.1) rotate(-4deg)}75%{transform:scale(1.06) rotate(3deg)}to{transform:scale(1) rotate(0)}}@keyframes mascotPeek{0%,to{transform:translateY(18%) rotate(-4deg)}50%{transform:translateY(6%) rotate(4deg)}}@keyframes mascotWalk{0%,to{transform:translate(-2%) rotate(-2deg)}50%{transform:translate(2%,-5%) rotate(2deg)}}@keyframes mascotTalk{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes mascotPopIn{0%{transform:scale(.4) translateY(12%);opacity:0}70%{transform:scale(1.08) translateY(-4%);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}@keyframes mascotSlideL{0%{transform:translate(-42%) rotate(-10deg);opacity:0}to{transform:translate(0) rotate(0);opacity:1}}@keyframes mascotSlideUp{0%{transform:translateY(46%) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.mascot-sprite{animation:none!important;opacity:1!important;transform:none!important}.mascot-sprite__layer{transition:none}}[class*=mascot-enter-]{display:inline-block}[class*=mascot-enter-]>.mascot-sprite{width:100%;height:100%}.welcome-slides{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:9999;transition:background .5s var(--ease-out, cubic-bezier(.22, 1, .36, 1));overflow:hidden}.btn-skip{position:absolute;top:max(20px,env(safe-area-inset-top,20px));right:20px;padding:10px 20px;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:25px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1));z-index:10}.btn-skip:hover{background:#ffffff4d;transform:scale(1.05)}.slide-content{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px 16px;max-width:500px;transition:opacity .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1)),transform .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.slide-content.animating{opacity:.5;transform:scale(.95)}.slide-character-stage{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center;margin-bottom:32px;isolation:isolate}.slide-character{width:100%;height:100%;object-fit:contain;border-radius:50%;background:#ffffff2e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 24px 60px #00000047,inset 0 2px 10px #ffffff59;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.character-glow{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:radial-gradient(circle,rgba(255,255,255,.35) 0%,transparent 65%);border-radius:50%;z-index:-1;animation:characterPulse 3.4s ease-in-out infinite}.character-accessory{position:absolute;top:-8px;right:-10px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;font-size:36px;background:var(--surf-white, white);border-radius:50%;box-shadow:0 12px 28px #00000047;animation:accessoryPop .5s cubic-bezier(.22,1,.36,1) both,accessoryWiggle 2.6s ease-in-out .5s infinite;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}@keyframes characterPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes accessoryPop{0%{opacity:0;transform:scale(.4) rotate(-30deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes accessoryWiggle{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(8deg) translateY(-3px)}75%{transform:rotate(-6deg) translateY(2px)}}.slide-character-stage.bounce{animation:stageBounce 2.4s ease-in-out infinite}.slide-character-stage.pulse{animation:stagePulse 2.4s ease-in-out infinite}.slide-character-stage.shake{animation:stageShake 2.4s ease-in-out infinite}.slide-character-stage.spin{animation:stageSpin 3.2s ease-in-out infinite}.slide-character-stage.rocket{animation:stageRocket 2.4s ease-in-out infinite}.slide-character-stage.wave{animation:stageWave 3s ease-in-out infinite}@keyframes stageBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}@keyframes stagePulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes stageShake{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes stageSpin{0%{transform:rotate(0)}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}to{transform:rotate(0)}}@keyframes stageRocket{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-22px) rotate(-6deg)}}@keyframes stageWave{0%,to{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-6px)}}.slide-speech-bubble{position:relative;margin-top:6px;background:#fffffff7;border-radius:20px;padding:16px 22px;max-width:460px;box-shadow:0 18px 44px #00000038;animation:bubbleIn .4s cubic-bezier(.22,1,.36,1) both}.slide-speech-bubble:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%) rotate(45deg);width:18px;height:18px;background:#fffffff7;border-radius:4px}.slide-speech-bubble .slide-description{color:var(--ink-1f2937, #1F2937);text-shadow:none;font-weight:500;margin:0}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.slide-title{font-size:30px;font-weight:800;color:#fff;margin:0 0 16px;text-shadow:0 4px 20px rgba(0,0,0,.3);line-height:1.3}.slide-title-logo{display:flex;flex-direction:column;align-items:center;margin:0 0 16px;text-align:center}.slide-logo-text{height:120px;width:auto;margin-bottom:8px;object-fit:contain;filter:drop-shadow(0 4px 20px rgba(0,0,0,.3))}.slide-title-small{font-size:14px;font-weight:600;color:#ffffffe6;text-shadow:0 2px 10px rgba(0,0,0,.3);letter-spacing:-.3px}.slide-subtitle{display:block;font-size:20px;font-weight:500;opacity:.9;margin-top:8px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.slide-description{font-size:18px;color:#ffffffe6;line-height:1.6;margin:0;white-space:pre-line;text-shadow:0 2px 10px rgba(0,0,0,.2)}.slide-navigation{position:relative;width:100%;flex:none;display:flex;flex-direction:column;align-items:center;gap:18px;padding:8px 20px max(28px,calc(env(safe-area-inset-bottom,0px) + 24px))}.slide-indicators{display:flex;gap:10px}.indicator{width:12px;height:12px;border-radius:50%;background:#ffffff4d;border:2px solid rgba(255,255,255,.5);cursor:pointer;transition:all .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1));padding:0}.indicator:hover{background:#ffffff80;transform:scale(1.2)}.indicator.active{background:var(--surf-white, white);border-color:#fff;transform:scale(1.2)}.slide-buttons{display:flex;gap:16px}.btn-nav{padding:16px 32px;border:none;border-radius:30px;font-size:18px;font-weight:700;cursor:pointer;transition:all .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.btn-prev{background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:16px 24px}.btn-prev:hover{background:#ffffff4d;transform:translate(-3px)}.btn-next{background:var(--surf-white, white);color:var(--ink-333, #1f2937);display:flex;align-items:center;gap:8px;box-shadow:0 10px 30px #0003}.btn-next:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 15px 40px #0000004d}.btn-next .arrow{font-size:20px;transition:transform .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.btn-next:hover .arrow{transform:translate(5px)}.slide-decorations{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.decoration{position:absolute;border-radius:50%;background:#ffffff1a}.decoration-1{width:300px;height:300px;top:-100px;left:-100px;animation:float1 8s ease-in-out infinite}.decoration-2{width:200px;height:200px;bottom:20%;right:-50px;animation:float2 10s ease-in-out infinite}.decoration-3{width:150px;height:150px;bottom:-50px;left:20%;animation:float3 12s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,30px) scale(1.1)}}@keyframes float2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-20px,-20px) scale(.9)}}@keyframes float3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,-10px) scale(1.05)}}@media (max-width: 719px){.slide-character-stage{width:168px;height:168px;margin-bottom:26px}.character-accessory{width:54px;height:54px;font-size:30px;top:-4px;right:-6px}.slide-logo-text{height:100px}.slide-title-small{font-size:14px}.slide-title{font-size:24px}.slide-subtitle{font-size:18px}.slide-description{font-size:16px}.slide-navigation{gap:20px}.btn-nav{padding:14px 28px;font-size:16px}}@media (max-width: 480px){.btn-skip{top:max(16px,env(safe-area-inset-top,16px));right:16px;padding:8px 16px;font-size:14px}.slide-content{padding:30px 16px}.slide-character-stage{width:140px;height:140px;margin-bottom:22px}.character-accessory{width:46px;height:46px;font-size:24px}.slide-logo-text{height:80px}.slide-title-small{font-size:12px}.slide-title{font-size:24px}.slide-subtitle,.slide-description{font-size:16px}.slide-navigation{gap:14px;padding-bottom:max(20px,calc(env(safe-area-inset-bottom,0px) + 16px))}.indicator{width:10px;height:10px}.btn-nav{padding:12px 24px;font-size:16px}.btn-prev{padding:12px 20px}}@media (max-height: 640px) and (orientation: portrait){.slide-content{padding-top:20px}.slide-character-stage{width:120px;height:120px;margin-bottom:14px}.character-accessory{width:40px;height:40px;font-size:24px}.slide-logo-text{height:60px}.slide-title{font-size:20px;margin-bottom:10px}.slide-title-logo{margin-bottom:10px}.slide-speech-bubble{padding:12px 18px}.slide-navigation{gap:12px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}}@media (max-height: 500px) and (orientation: landscape){.slide-content{flex-direction:row;gap:30px;padding:20px}.slide-character-stage{width:110px;height:110px;margin-bottom:0;flex-shrink:0}.character-accessory{width:38px;height:38px;font-size:24px}.slide-title{font-size:20px;text-align:left}.slide-subtitle{font-size:14px}.slide-description{font-size:14px;text-align:left}.slide-navigation{flex-direction:row;justify-content:space-between;padding:8px 30px max(12px,env(safe-area-inset-bottom,0px))}.slide-buttons{gap:12px}.btn-nav{padding:10px 20px;font-size:14px}}@media (prefers-reduced-motion: reduce){.slide-character-stage,.slide-character-stage.bounce,.slide-character-stage.pulse,.slide-character-stage.shake,.slide-character-stage.spin,.slide-character-stage.rocket,.slide-character-stage.wave,.character-glow,.character-accessory{animation:none}.decoration,.slide-content,.slide-speech-bubble{animation:none;transition:none}.btn-skip:hover,.btn-nav:hover,.indicator:hover{transform:none}}:root[data-theme=dark] .slide-character{background:#ffffff1f}:root[data-theme=dark] .btn-skip{background:#0000004d;border-color:#fff3}:root[data-theme=dark] .btn-prev{background:#0000004d}:root[data-theme=dark] .btn-next{background:#fffffff2}:root[data-theme=dark] .decoration{background:#ffffff0d}.pin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-backdrop, rgba(15, 23, 42, .55));display:flex;align-items:flex-start;justify-content:center;z-index:9999;padding:20px;overflow-y:auto;animation:fadeIn .2s ease}.pin-modal{background:var(--surface, #fff);border:var(--card-border, 1px solid var(--edge-eaeef5, #EAEEF5));border-radius:var(--modal-radius, 20px);padding:32px;max-width:380px;width:100%;margin:auto;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;position:relative;text-align:center;box-shadow:var(--modal-shadow, var(--shadow-xl));animation:slideUp var(--duration-slow, .3s) var(--ease-out)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pin-modal.shake{animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.pin-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:var(--surf-f0f0f0, #f0f0f0);border-radius:50%;cursor:pointer;font-size:20px;color:var(--color-text-secondary, #6B7280);display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.pin-modal-close:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:inherit}.pin-modal-close:hover{background:#e0e0e0;color:var(--color-text-primary, #1F2937)}.pin-modal-close:focus-visible{outline:2px solid var(--focus-ring-color, #002868);outline-offset:2px}.pin-modal-icon{font-size:48px;margin-bottom:16px}.pin-modal-title{font-size:20px;font-weight:700;color:var(--color-text-primary, #1F2937);margin:0 0 8px}.pin-modal-description{font-size:14px;color:var(--color-text-secondary, #6B7280);margin:0 0 24px;line-height:1.5}.pin-input-container{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.pin-input{width:56px;height:64px;border:2px solid var(--vapor-border, #CBD5E1);border-radius:12px;font-size:24px;font-weight:700;text-align:center;background:var(--surf-fafafa, #fafafa);color:var(--color-text-primary, #1F2937);transition:all .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1));-webkit-text-security:disc}.pin-input:focus{border-color:var(--brand-fill, var(--vapor-primary, #002868));background:var(--surface, #fff);outline:none;box-shadow:0 0 0 3px #00286833}.pin-input.filled{border-color:var(--brand-fill, var(--vapor-primary, #002868));background:var(--surface, #fff)}.pin-input:disabled{background:var(--surf-f0f0f0, #f0f0f0);cursor:not-allowed}.pin-error{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:var(--surface-muted, #F7F9FC);color:var(--color-danger, #DC2626);border-radius:8px;font-size:14px;margin-bottom:20px}.pin-error span{width:18px;height:18px;background:var(--color-danger, #DC2626);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.pin-math-challenge{font-size:30px;font-weight:700;color:var(--color-text-primary, #1F2937);letter-spacing:.02em;margin-bottom:16px}.pin-math-input{width:140px;height:56px;border:2px solid var(--vapor-border, #CBD5E1);border-radius:12px;font-size:24px;font-weight:700;text-align:center;background:var(--surf-fafafa, #fafafa);color:var(--color-text-primary, #1F2937);margin:0 auto 20px;display:block;transition:all .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.pin-math-input:focus{border-color:var(--brand-fill, var(--vapor-primary, #002868));background:var(--surface, #fff);outline:none;box-shadow:0 0 0 3px #00286833}.pin-math-notice{display:flex;flex-direction:column;align-items:center;gap:16px;padding:8px 0 4px}.pin-math-notice-body{font-size:14px;color:var(--color-text-secondary, #6B7280);line-height:1.6;margin:0;word-break:normal;overflow-wrap:anywhere;align-self:stretch}.pin-lockout{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px}.lockout-icon{font-size:48px}.lockout-text{font-size:16px;color:var(--color-text-secondary, #6B7280);font-weight:500}.pin-modal-actions{display:flex;gap:12px;justify-content:center}.pin-btn-back,.pin-btn-submit{padding:14px 28px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1));border:none}.pin-btn-back{background:var(--surf-f0f0f0, #f0f0f0);color:var(--color-text-secondary, #6B7280)}.pin-btn-back:hover{background:#e0e0e0}.pin-btn-submit{background:linear-gradient(135deg,var(--brand-fill, var(--vapor-primary, #002868)) 0%,var(--accent-500, #1E40AF) 100%);color:#fff;min-width:120px}.pin-btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00286866}.pin-btn-submit:disabled{background:#ccc;cursor:not-allowed;transform:none}.pin-btn-back:focus-visible,.pin-btn-submit:focus-visible{outline:2px solid var(--focus-ring-color, #002868);outline-offset:2px}.pin-loading{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.pin-help-text{font-size:12px;color:var(--color-text-muted, #9CA3AF);margin-top:20px}.pin-progress{display:flex;gap:8px;justify-content:center;margin-top:20px}.progress-dot{width:8px;height:8px;border-radius:50%;background:#e0e0e0;transition:all .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.progress-dot.active{background:var(--brand-fill, var(--vapor-primary, #002868));transform:scale(1.2)}.progress-dot.completed{background:var(--color-success, #16A34A)}:root[data-theme=dark] .pin-modal{background:#1e1e1e}:root[data-theme=dark] .pin-modal-title{color:#f0f0f0}:root[data-theme=dark] .pin-modal-description{color:#9ca3af}:root[data-theme=dark] .pin-modal-close{background:#333;color:#9ca3af}:root[data-theme=dark] .pin-modal-close:hover{background:#444;color:#fff}:root[data-theme=dark] .pin-input{background:#2a2a2a;border-color:var(--ink-444, #444);color:#f0f0f0}:root[data-theme=dark] .pin-input:focus{background:#333;border-color:var(--brand-fill, var(--vapor-primary, #002868))}:root[data-theme=dark] .pin-input.filled{background:#333}:root[data-theme=dark] .pin-math-challenge{color:#f0f0f0}:root[data-theme=dark] .pin-math-input{background:#2a2a2a;border-color:var(--ink-444, #444);color:#f0f0f0}:root[data-theme=dark] .pin-math-notice-body{color:#9ca3af}:root[data-theme=dark] .pin-btn-back{background:#333;color:#9ca3af}:root[data-theme=dark] .pin-btn-back:hover{background:#444}@media (prefers-contrast: more),(prefers-contrast: high){.pin-modal{border:2px solid currentColor}.pin-input{border-width:3px}}@media (prefers-reduced-motion: reduce){.pin-modal,.pin-modal-overlay,.pin-modal.shake{animation:none}.pin-loading{animation:none;border-top-color:currentColor}}@media (max-width: 400px){.pin-modal{padding:24px 16px;margin:10px}.pin-input-container{gap:8px}.pin-input{width:48px;height:56px;font-size:20px}.pin-btn-back,.pin-btn-submit{padding:12px 20px;font-size:14px}}.pin-forgot-link{background:none;border:none;padding:4px 6px;color:var(--vapor-primary, #002868);font-size:.875rem;font-weight:600;text-decoration:underline;cursor:pointer;min-height:32px}.pin-reset{display:grid;gap:10px;margin-top:12px;padding:14px;border-radius:12px;background:var(--surface-muted, #F1F5F9)}.pin-reset-desc{margin:0;font-size:.875rem;line-height:1.45;color:var(--color-text-secondary, #6B7280);text-align:center}.pin-reset-input{width:100%;padding:10px 12px;border:1px solid var(--surface-border, #EAEEF5);border-radius:10px;background:var(--surface, #fff);color:var(--color-text-primary, #1F2937);font-size:1rem}.pin-reset-error{margin:0;font-size:.875rem;line-height:1.4;color:var(--vapor-danger, #DC2626);text-align:center}:root{--bottom-nav-h: 64px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;align-items:stretch;height:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#fffffff7;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(0,40,104,.1);box-shadow:0 -4px 20px #00286814}.bottom-nav-tab{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:none;padding:5px 2px;cursor:pointer;color:var(--ink-64748b, #6b7280);-webkit-tap-highlight-color:transparent;transition:color .12s var(--ease-out, cubic-bezier(.22, 1, .36, 1)),transform .12s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.bottom-nav-tab:active{transform:scale(.9)}.bottom-nav-icon-wrap{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:13px;transition:background .12s var(--ease-out, cubic-bezier(.22, 1, .36, 1)),transform .12s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.bottom-nav-icon{width:28px;height:28px;filter:grayscale(.25) opacity(.82);transition:filter var(--duration-base) var(--ease-out)}.bottom-nav-label{font-size:var(--text-xs, 12px);font-weight:700;line-height:1;white-space:nowrap}.bottom-nav-tab.active{color:var(--brand-500, #002868)}.bottom-nav-tab.active .bottom-nav-label{font-weight:800}.bottom-nav-tab.active .bottom-nav-icon-wrap{background:#00286824;transform:translateY(-2px) scale(1.06);box-shadow:0 4px 12px #0028682e}.bottom-nav-tab.active .bottom-nav-icon{filter:none}@media (max-width: 719px){body.app-locked.has-bottom-nav main{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + 10px)!important}}@media (min-width: 720px){.bottom-nav{display:none}}.time-alert-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-backdrop, rgba(15, 23, 42, .55));display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.time-alert-popup{background:var(--surf-white, white);border-radius:var(--modal-radius, 20px);padding:32px;text-align:center;max-width:320px;width:90%;box-shadow:var(--modal-shadow, var(--shadow-xl));animation:popIn .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.time-alert-emoji{font-size:72px;margin-bottom:16px;animation:bounce 1s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.time-alert-title{font-size:24px;font-weight:700;color:var(--ink-333, #1f2937);margin:0 0 12px}.time-alert-desc{font-size:16px;color:var(--ink-666, #666);margin:0 0 24px}.time-alert-actions{display:flex;flex-direction:column;gap:12px}.btn-take-break{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;padding:16px 32px;font-size:18px;font-weight:700;cursor:pointer;transition:transform .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1)),box-shadow .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.btn-take-break:hover{transform:scale(1.05);box-shadow:0 4px 15px #667eea66}.btn-continue{background:transparent;color:var(--ink-999, #999);border:none;padding:12px;font-size:14px;cursor:pointer}.btn-continue:hover{color:var(--ink-666, #666)}.btn-ok{background:linear-gradient(135deg,#4ecdc4,#45b7d1);color:#fff;border:none;border-radius:16px;padding:16px 32px;font-size:18px;font-weight:700;cursor:pointer;transition:transform .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.btn-ok:hover{transform:scale(1.05)}.update-toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 84px);transform:translate(-50%);z-index:9400;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 14px;max-width:calc(100vw - 32px);background:var(--surface, #fff);border:1px solid var(--surface-border, #EAEEF5);border-radius:var(--radius-full, 9999px);box-shadow:var(--shadow-lg, 0 12px 32px rgba(20, 40, 80, .12));animation:updateToastIn var(--duration-slow, .35s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.update-toast__icon{width:1.4rem;height:1.4rem;object-fit:contain;flex-shrink:0}.update-toast__text{font-size:.875rem;font-weight:700;color:var(--color-text-primary, #1F2937)}.update-toast__apply{flex-shrink:0;padding:8px 14px;border:none;border-radius:var(--radius-full, 9999px);background:var(--brand-fill, var(--brand-500, #002868));color:#fff;font-size:.875rem;font-weight:800;cursor:pointer;min-height:var(--min-touch-target, 44px)}.update-toast__close{flex-shrink:0;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--color-text-secondary, #6B7280);font-size:.875rem;cursor:pointer}@keyframes updateToastIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.update-toast{animation:none}}@media (max-width: 420px){.update-toast{border-radius:18px;flex-wrap:wrap;justify-content:center}.update-toast__text{flex:1 1 100%;text-align:center}}.ls-demo{position:relative;width:clamp(180px,42vw,240px);aspect-ratio:1;background:var(--surf-fdfefe, #fdfefe);border:2px solid var(--surface-border, #e3e8f0);border-radius:20px;box-shadow:0 8px 24px #1018280f}.ls-demo-svg{position:absolute;top:8%;right:8%;bottom:8%;left:8%;width:84%;height:84%;overflow:visible}.ls-guide{fill:none;stroke:#78849847;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.ls-ink{fill:none;stroke:#2b3a67;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.ls-drawing{animation:lsDraw linear forwards}@keyframes lsDraw{to{stroke-dashoffset:0}}.ls-start{fill:#2563eb;stroke:#fff;stroke-width:2;animation:lsPulse 1.2s ease-in-out infinite}@keyframes lsPulse{0%,to{opacity:1;r:5}50%{opacity:.65;r:6}}.ls-demo-badge{position:absolute;right:10px;bottom:8px;min-width:34px;text-align:center;padding:2px 8px;border-radius:999px;background:var(--surf-eff6ff, #eff6ff);color:#1d4ed8;font-size:.875rem;font-weight:800}.ls-demo-badge.done{background:var(--surf-dcfce7, #dcfce7);color:#15803d;animation:lsPop .32s ease}@keyframes lsPop{0%{transform:scale(.5)}60%{transform:scale(1.25)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.ls-drawing{animation:none;stroke-dashoffset:0!important}.ls-start,.ls-demo-badge.done{animation:none}}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out, cubic-bezier(.22, 1, .36, 1)),transform .7s var(--ease-out, cubic-bezier(.22, 1, .36, 1));will-change:opacity,transform}[data-reveal].is-visible{opacity:1;transform:translateY(0)}[data-reveal=left]{transform:translate(-24px)}[data-reveal=left].is-visible{transform:translate(0)}[data-reveal=right]{transform:translate(24px)}[data-reveal=right].is-visible{transform:translate(0)}[data-reveal-delay="1"],[data-reveal-delay="2"]{transition-delay:.12s}[data-reveal-delay="3"]{transition-delay:.2s}[data-reveal-delay="4"],[data-reveal-delay="5"]{transition-delay:.35s}@media (prefers-reduced-motion: reduce){[data-reveal],[data-reveal=left],[data-reveal=right]{opacity:1;transform:none;transition:none}}.landing-hero{isolation:isolate;background-color:var(--surf-f8faff, #F8FAFF)}.landing-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#f8fafffa,#f8faffe6 42%,#f8faff59 72%,#f8faff1f)}.landing-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.landing-hero-bg picture,.landing-hero-bg img{display:block;width:100%;height:100%}.landing-hero-bg img{object-fit:cover;object-position:center right}.landing-final-cta{background-color:#001a4d;background-image:linear-gradient(90deg,#001a4deb,#002868b8,#001a4de6),url(/images/brand/rogers-cta-mural.webp);background-size:cover;background-position:center;background-repeat:no-repeat}@media (max-width: 719px){.landing-hero:after{background:linear-gradient(180deg,#f8fafffa,#f8faffed 56%,#f8faffc2)}.landing-hero-bg img{object-position:64% center;opacity:.58}.landing-final-cta{background-image:linear-gradient(180deg,#001a4df0,#002868d1),url(/images/brand/rogers-cta-mural.webp)}}.sticky-cta{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;gap:8px;padding:10px 12px;background:#fffffff5;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:16px;box-shadow:0 12px 32px #0000002e;transform:translateY(160%);transition:transform .35s cubic-bezier(.22,1,.36,1)}.sticky-cta.is-visible{transform:translateY(0)}.sticky-cta .label{flex:1;font-weight:600;color:var(--ink-1f2937, #1F2937);align-self:center;font-size:14px;min-width:0;overflow:hidden;white-space:normal;word-break:keep-all;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (min-width: 720px){.sticky-cta{display:none}}body.has-sticky-cta{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}@media (min-width: 720px){body.has-sticky-cta{padding-bottom:0}}.marquee{overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.marquee__track{display:flex;gap:48px;width:max-content;animation:marquee 28s linear infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.marquee__track{animation:none}}.category-marquee{padding:8px 0}.category-marquee__track{gap:14px;animation-duration:32s}.category-marquee:hover .category-marquee__track{animation-play-state:paused}@media (max-width: 719px){.category-marquee__track{gap:10px;animation-duration:26s}}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;border-radius:999px;background:var(--surf-eef2ff, #EEF2FF);color:var(--ink-1e40af, #1E40AF)}:root{--brand-navy: #002868;--brand-blue: #1E40AF;--brand-sky: #3B82F6;--accent-coral: #F43F5E;--accent-amber: #F59E0B;--accent-mint: #10B981;--ink-900: #0F172A;--ink-700: #334155;--ink-500: #64748B;--ink-200: #E2E8F0;--paper: #F8FAFC}.gradient-text{background:linear-gradient(120deg,#002868,#1e40af,#3b82f6 70%,#f43f5e);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:gradient-shift 8s ease-in-out infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media (prefers-reduced-motion: reduce){.gradient-text{animation:none}}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-blue)}.eyebrow:before{content:"";display:inline-block;width:28px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--brand-navy),var(--accent-coral))}.lift-card{background:var(--surf-fff, #fff);border-radius:24px;border:1px solid rgba(15,23,42,.06);box-shadow:0 1px 2px #0f172a0a,0 6px 16px -8px #0f172a14;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1),border-color .25s var(--ease-out, cubic-bezier(.22, 1, .36, 1));position:relative;overflow:hidden}.lift-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#3b82f60d,#f43f5e0a);opacity:0;transition:opacity .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1));pointer-events:none}.lift-card:hover{transform:translateY(-6px);border-color:#1e40af2e;box-shadow:0 1px 2px #0f172a0f,0 20px 40px -16px #0f172a2e}.lift-card:hover:before{opacity:1}@media (hover: none){.lift-card:hover{transform:none}.lift-card:hover:before{opacity:0}}.icon-halo{position:relative;display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:22px;background:linear-gradient(135deg,#eff6ff,#fce7f3);margin-bottom:16px}.icon-halo:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:28px;background:radial-gradient(circle at 30% 30%,rgba(59,130,246,.18),transparent 65%);filter:blur(10px);opacity:.7;z-index:-1}.section-divider{height:1px;background:linear-gradient(90deg,transparent 0%,rgba(15,23,42,.08) 20%,rgba(15,23,42,.08) 80%,transparent 100%);margin:0 auto;max-width:1100px}.popular-badge{background:linear-gradient(120deg,var(--brand-navy),#be123c);color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px;box-shadow:0 8px 20px -6px #f43f5e73;white-space:nowrap}.dot-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(0,40,104,.06) 1px,transparent 1px);background-size:22px 22px;mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 30%,transparent 75%);pointer-events:none}.cta-shadow{box-shadow:0 1px #fff3 inset,0 12px 24px -10px #00286880;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1)}.cta-shadow:hover{transform:translateY(-2px);box-shadow:0 1px #ffffff40 inset,0 18px 32px -10px #0028688c}@media (hover: none){.cta-shadow:hover{transform:none}}:root{--color-primary: #002868;--color-primary-light: #1E40AF;--color-primary-dark: #001a4d;--color-secondary: #BF0A30;--color-secondary-light: #EF4444;--color-success: #16A34A;--color-success-strong: #15803D;--color-warning: #D97706;--color-danger: #DC2626;--color-info: #0284C7;--color-text-primary: #1F2937;--color-text-secondary: #4B5563;--color-text-muted: #6B7280;--color-text-inverse: #FFFFFF;--color-text-disabled: #9CA3AF;--ink-888: #6B7280;--ink-999: #6B7280;--color-bg-primary: #FFFFFF;--color-bg-secondary: #F3F4F6;--color-bg-tertiary: #E5E7EB;--color-border: #D1D5DB;--color-border-focus: #002868;--focus-ring-color: var(--ink-002868, #002868);--focus-ring-width: 3px;--focus-ring-offset: 2px;--min-touch-target: 44px;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-4-5: 18px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--vapor-primary: #002868;--vapor-secondary: #BF0A30;--vapor-border: #CBD5E1;--vapor-light: #F0F4F8;--vapor-danger: #DC2626;--brand-500: #002868;--brand-600: #001F50;--brand-on-dark: #7FB3FF;--accent-500: #1E40AF;--color-danger-strong: #B91C1C;--bp-tablet-min: 720px;--bp-desktop-min: 1024px;--bp-touch-tablet-max: 1366px;--bp-wide-min: 1440px;--container-mobile: 100%;--container-tablet: 720px;--container-touch-tablet: 980px;--container-desktop: 1100px;--container-wide: 1400px;--gutter-mobile: 12px;--gutter-tablet: 20px;--gutter-desktop: 24px;--header-height-mobile: 56px;--header-height-tablet: 64px;--header-height-desktop: 72px;--font-display: "Fredoka", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--app-bg: #F6F8FC;--app-bg-gradient: linear-gradient(180deg, #F7F9FC 0%, #EEF3FB 100%);--surface: #FFFFFF;--surface-muted: #F7F9FC;--surface-border: #EAEEF5;--surface-border-strong: #DCE3EF;--shadow-xs: 0 1px 2px rgba(20, 40, 80, .04);--shadow-sm: 0 2px 8px rgba(20, 40, 80, .06);--shadow-md: 0 4px 20px rgba(20, 40, 80, .08);--shadow-lg: 0 12px 32px rgba(20, 40, 80, .12);--shadow-xl: 0 20px 48px rgba(20, 40, 80, .16);--shadow-brand: 0 8px 22px rgba(0, 40, 104, .22);--shadow-inset-top: inset 0 1px 0 rgba(255, 255, 255, .65);--shadow-focus: 0 0 0 4px rgba(30, 64, 175, .28);--text-3xl: 30px;--text-4xl: 36px;--text-5xl: 48px;--text-6xl: 64px;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.65;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extra: 800;--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-normal: 0;--tracking-wide: .02em;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .12s;--duration-base: .2s;--duration-slow: .35s;--gradient-brand: linear-gradient(135deg, #002868 0%, #1E40AF 100%);--gradient-hero: linear-gradient(135deg, #BF0A30 0%, #002868 100%);--gradient-danger: linear-gradient(135deg, #BF0A30 0%, #EF4444 100%);--gradient-primary: var(--gradient-brand);--gradient-secondary: var(--gradient-danger);--accent-purple: #7C3AED;--accent-teal: #14B8A6;--accent-gold: #F5A623;--accent-pink: #EC4899;--card-bg: var(--surface, #FFFFFF);--card-border: 1px solid var(--surface-border, #EAEEF5);--card-radius: 18px;--card-radius-sm: 14px;--card-shadow: var(--shadow-sm);--card-shadow-hover: var(--shadow-md);--modal-backdrop: rgba(15, 23, 42, .55);--modal-radius: 20px;--modal-shadow: var(--shadow-xl);--modal-max-width: 440px}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--gutter-mobile);padding-right:var(--gutter-mobile);max-width:var(--container-mobile)}@media (min-width: 720px){.container{max-width:var(--container-tablet);padding-left:var(--gutter-tablet);padding-right:var(--gutter-tablet)}}@media (min-width: 1024px){.container{max-width:var(--container-desktop);padding-left:var(--gutter-desktop);padding-right:var(--gutter-desktop)}}@media (min-width: 1440px){.container{max-width:var(--container-wide)}}.responsive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--grid-min, 140px),1fr));gap:var(--gutter-mobile)}@media (min-width: 720px){.responsive-grid{gap:var(--gutter-tablet)}}@media (min-width: 1024px){.responsive-grid{gap:var(--gutter-desktop)}}.hide-mobile{display:revert}.show-mobile-only{display:none}.hide-tablet{display:revert}.show-tablet-only{display:none}.hide-desktop{display:revert}.show-desktop-only{display:none}@media (max-width: 719px){.hide-mobile{display:none!important}.show-mobile-only{display:revert}}@media (min-width: 720px) and (max-width: 1023px){.hide-tablet{display:none!important}.show-tablet-only{display:revert}}@media (min-width: 1024px){.hide-desktop{display:none!important}.show-desktop-only{display:revert}}@media (min-width: 1024px) and (max-width: 1366px) and (hover: none) and (pointer: coarse){.hide-tablet{display:none!important}.show-tablet-only,.hide-desktop{display:revert}.show-desktop-only{display:none!important}}@media (hover: hover) and (pointer: fine){.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.hover-scale:hover{transform:scale(1.03)}}@media (min-width: 720px) and (max-width: 1023px) and (orientation: portrait){.tablet-portrait-stack{flex-direction:column!important}}.wide-center{margin-left:auto;margin-right:auto}@media (min-width: 1440px){.wide-center{max-width:var(--container-wide)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-to-main{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-weight:600;z-index:10001;transition:top .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.skip-to-main:focus{top:var(--space-4)}.focus-visible-only{opacity:0;pointer-events:none}.focus-visible-only:focus{opacity:1;pointer-events:auto}.touch-target{min-width:var(--min-touch-target);min-height:var(--min-touch-target)}.chakra-select__valueText{line-height:normal}@media (hover: none) and (pointer: coarse){button:not(.no-touch-target),[role=button]:not(.no-touch-target),input[type=button]:not(.no-touch-target),input[type=submit]:not(.no-touch-target),input[type=reset]:not(.no-touch-target){min-height:var(--min-touch-target);min-width:var(--min-touch-target)}.icon-btn,.btn-icon,:where(button[aria-label]:not(.no-touch-target)){position:relative}.icon-btn:before,.btn-icon:before,button[aria-label]:not(.no-touch-target):before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:var(--min-touch-target);min-height:var(--min-touch-target);width:100%;height:100%}input[type=checkbox],input[type=radio]{min-width:20px;min-height:20px}input[type=checkbox]+label,input[type=radio]+label{min-height:var(--min-touch-target);display:inline-flex;align-items:center;padding-top:10px;padding-bottom:10px}.toggle,.switch,[role=switch]{min-height:var(--min-touch-target)}.close-btn,.btn-close,button[aria-label*=닫기],button[aria-label*=close]{min-width:var(--min-touch-target);min-height:var(--min-touch-target)}nav a,.nav-link,.tab-btn{min-height:var(--min-touch-target);display:inline-flex;align-items:center}.dropdown-item,.menu-item,[role=menuitem],[role=option]{min-height:var(--min-touch-target);padding-top:10px;padding-bottom:10px}li[onclick],li[role=button],.clickable-list-item{min-height:var(--min-touch-target)}}.touch-target-warning{outline:2px dashed orange!important}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--min-touch-target);min-height:var(--min-touch-target);padding:var(--space-2);border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);transition:background-color .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1)),transform .12s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.icon-btn:hover{background-color:#0000000d}.icon-btn:active{transform:scale(.95)}.icon-btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}[aria-hidden=true]{pointer-events:none}.live-region{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}html{min-height:100%}body{width:100%;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--app-bg, #F6F8FC);color:var(--color-text-primary, #1F2937);line-height:var(--leading-normal, 1.5);font-weight:var(--weight-normal, 400)}h1,h2,h3,h4,h5,h6,.btn,button{font-family:var(--font-display);letter-spacing:var(--tracking-snug, -.01em)}h1,h2,h3,h4,h5,h6{line-height:var(--leading-tight, 1.15);font-weight:var(--weight-bold, 700)}.card{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.card--interactive{transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}@media (hover: hover) and (pointer: fine){.card--interactive:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:var(--space-4, 16px);background:var(--modal-backdrop);animation:fadeIn var(--duration-base) var(--ease-out)}.modal-panel{width:100%;max-width:var(--modal-max-width);max-height:90vh;overflow-y:auto;background:var(--surface, #fff);border:var(--card-border, 1px solid var(--edge-eaeef5, #EAEEF5));border-radius:var(--modal-radius);box-shadow:var(--modal-shadow);animation:fadeInScale var(--duration-slow) var(--ease-out)}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}body.app-locked{height:100%;height:-webkit-fill-available;min-height:-webkit-fill-available;background:var(--app-bg-gradient, linear-gradient(180deg, #F7F9FC 0%, #EEF3FB 100%));background-attachment:fixed;overflow:hidden;position:fixed;top:0;left:0;right:0;bottom:0}body.app-locked #root{height:100%;overflow:hidden;box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body.zoom-locked #root{touch-action:manipulation}body.app-locked #main-content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}html,body{overscroll-behavior-y:none}html:has(body.app-locked){height:100%;height:-webkit-fill-available}html{overflow-x:clip}h1,h2,h3,h4,h5,h6,p,span,li,label,button{word-break:keep-all;word-wrap:break-word;overflow-wrap:break-word}:lang(ja) h1,:lang(ja) h2,:lang(ja) h3,:lang(ja) h4,:lang(ja) h5,:lang(ja) h6,:lang(ja) p,:lang(ja) span,:lang(ja) li,:lang(ja) label,:lang(ja) button,:lang(zh) h1,:lang(zh) h2,:lang(zh) h3,:lang(zh) h4,:lang(zh) h5,:lang(zh) h6,:lang(zh) p,:lang(zh) span,:lang(zh) li,:lang(zh) label,:lang(zh) button{word-break:normal;line-break:strict}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surf-f1f1f1, #f1f1f1)}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.btn{padding:var(--space-3, 12px) var(--space-6, 24px);border:none;border-radius:var(--radius-lg, 12px);font-size:var(--text-base, 16px);font-weight:var(--weight-semibold, 600);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),background-color var(--duration-base) var(--ease-out);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2, 8px);text-decoration:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;box-sizing:border-box}.btn:disabled{opacity:.55;color:var(--color-text-secondary, #6B7280);cursor:not-allowed}.btn-primary{background:var(--gradient-primary, linear-gradient(135deg, #002868 0%, #1E40AF 100%));color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-brand, 0 8px 22px rgba(0, 40, 104, .22))}.btn-secondary{background:var(--surf-white, white);color:var(--vapor-primary, #002868);border:2px solid var(--vapor-primary, #002868)}.btn-secondary:hover:not(:disabled){background:var(--vapor-light, #F0F4F8)}.btn-danger{background:var(--gradient-secondary, linear-gradient(135deg, #BF0A30 0%, #EF4444 100%));color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #bf0a3066}.btn-small{padding:var(--space-2, 8px) var(--space-4, 16px);font-size:var(--text-md, 14px);min-height:var(--btn-height-sm, 36px);border-radius:var(--radius-md, 8px)}.btn-block{width:100%}.btn-voice{background:var(--gradient-hero, linear-gradient(135deg, #BF0A30 0%, #002868 100%));color:#fff;padding:var(--space-4, 16px) var(--space-8, 32px);font-size:var(--text-lg, 18px);min-height:var(--btn-height-lg, 56px);border-radius:var(--radius-full, 9999px);width:100%;margin:var(--space-4, 16px) 0}.btn-voice:hover:not(:disabled){transform:scale(1.02);box-shadow:0 6px 16px #bf0a3066}.btn-voice.btn-listening{animation:pulse 1.5s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #bf0a3099}50%{box-shadow:0 0 0 8px #bf0a3000}}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin .8s linear infinite}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4, 16px);padding:var(--space-10, 40px);color:#fff}.error-message{background:var(--vapor-danger, #DC2626);color:#fff;padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius-md, 8px);margin:var(--space-4, 16px) 0;font-size:var(--text-md, 14px);font-weight:500}input,textarea,select{font-size:16px}body.app-locked input,body.app-locked textarea,body.app-locked select{width:100%;padding:var(--space-3, 12px);border:2px solid var(--vapor-border, #CBD5E1);border-radius:var(--radius-md, 8px);font-size:var(--text-base, 16px);transition:border-color .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1)),box-shadow .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}body.app-locked input:focus,body.app-locked textarea:focus,body.app-locked select:focus{outline:none;border-color:var(--brand-fill, var(--vapor-primary, #002868));box-shadow:0 0 0 3px #0028681a}body.app-locked input:disabled,body.app-locked textarea:disabled,body.app-locked select:disabled{background:var(--vapor-light, #F0F4F8);cursor:not-allowed;opacity:.7}@media (max-width: 719px){.btn-voice{padding:var(--space-4, 16px) var(--space-6, 24px);font-size:var(--text-lg, 18px);height:52px}}@media (max-width: 480px){.btn-voice{padding:var(--space-3, 12px) var(--space-6, 24px);font-size:var(--text-base, 16px);height:48px}input,textarea,select{font-size:16px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn .3s ease}.animate-fadeInUp{animation:fadeInUp .4s ease}.animate-fadeInScale{animation:fadeInScale .3s ease}.animate-bounce{animation:bounce .6s ease infinite}.touch-feedback{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.touch-feedback:active{transform:scale(.97);transition:transform .12s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}.skeleton-text{height:16px;margin-bottom:8px;width:80%}.skeleton-text.short{width:40%}.skeleton-text.medium{width:60%}.skeleton-image{width:100%;aspect-ratio:1;border-radius:12px}.skeleton-button{height:44px;width:120px;border-radius:22px}:focus-visible{outline:3px solid var(--vapor-primary, #002868);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--vapor-primary, #002868);outline-offset:2px}.skip-link{position:absolute;top:-100px;left:0;background:var(--brand-fill, var(--vapor-primary, #002868));color:#fff;padding:12px 24px;z-index:10000;text-decoration:none;font-weight:600}.skip-link:focus{top:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: more),(prefers-contrast: high){:root{--color-primary: #000080;--color-secondary: #8B0000;--color-text-primary: #000000;--color-text-secondary: #000000;--color-bg-primary: #FFFFFF;--color-bg-secondary: #FFFFFF;--color-border: #000000;--color-border-focus: #0000FF;--focus-ring-color: #0000FF;--focus-ring-width: 4px;--vapor-border: #000}.btn{border:3px solid currentColor;background:var(--surf-ffffff, #FFFFFF);color:#000}.btn-primary{background:navy;color:#fff;border-color:navy}.btn-secondary{background:var(--surf-ffffff, #FFFFFF);color:#000;border-color:#000}.btn-danger{background:#8b0000;color:#fff;border-color:#8b0000}:focus-visible{outline:4px solid #0000FF!important;outline-offset:2px!important}a{color:#00e;text-decoration:underline}a:visited{color:#551a8b}input,textarea,select{border:2px solid #000000;background:var(--surf-ffffff, #FFFFFF);color:#000}.error-message{background:#8b0000;color:#fff;border:2px solid #000000}.toast{border:2px solid #000000}.card-shadow{border:2px solid #000000;box-shadow:none}[data-color]{border:2px solid #000000}}@media (forced-colors: active){.btn{border:2px solid ButtonText}.btn:focus-visible{outline:3px solid Highlight}:focus-visible{outline:3px solid Highlight;outline-offset:2px}.icon-btn{forced-color-adjust:none}}.colorblind-pattern-success{background-image:repeating-linear-gradient(45deg,transparent,transparent 2px,currentColor 2px,currentColor 4px)}.colorblind-pattern-warning{background-image:repeating-linear-gradient(-45deg,transparent,transparent 2px,currentColor 2px,currentColor 4px)}.colorblind-pattern-danger{background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,currentColor 2px,currentColor 4px)}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.toast-container{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;background:#000000e6;color:#fff;padding:14px 20px;border-radius:12px;font-size:14px;font-weight:500;animation:fadeInUp .3s ease;box-shadow:0 4px 20px #0000004d;pointer-events:auto;max-width:320px}.toast-icon{font-size:16px;font-weight:700;flex-shrink:0}.toast-message{flex:1;word-break:keep-all}.toast.success{background:linear-gradient(135deg,#16a34a,#22c55e)}.toast.success .toast-icon{color:#dcfce7}.toast.error{background:linear-gradient(135deg,#dc2626,#ef4444)}.toast.error .toast-icon{color:#fee2e2}.toast.info{background:linear-gradient(135deg,#002868,#1e40af)}.toast.info .toast-icon{color:#dbeafe}.toast.warning{background:linear-gradient(135deg,#d97706,#f59e0b)}.toast.warning .toast-icon{color:#fef3c7}@media (max-width: 480px){.toast-container{width:calc(100% - 32px)}.toast{max-width:100%}}.card-shadow{box-shadow:0 2px 8px #00000014,0 4px 16px #0000000f;transition:box-shadow .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1)),transform .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.card-shadow:hover{box-shadow:0 4px 12px #0000001f,0 8px 24px #0000001a;transform:translateY(-2px)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,16px)}.safe-area-top{padding-top:env(safe-area-inset-top,16px)}.error-boundary{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#002868,#1e40af,#002868);padding:24px}.error-boundary-content{background:var(--surf-white, white);border-radius:24px;padding:40px 32px;max-width:400px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:fadeInScale .4s ease}.error-mascot{width:160px;height:160px;object-fit:contain;margin:0 auto 12px;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.error-boundary h1{font-size:24px;color:var(--ink-333, #1f2937);margin-bottom:12px}.error-boundary p{font-size:16px;color:var(--ink-666, #666);margin-bottom:24px;line-height:1.5}.error-actions{display:flex;flex-direction:column;gap:12px}.error-actions .btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-size:16px;font-weight:600;border-radius:12px}.error-details{margin-top:24px;text-align:left;background:var(--surf-f5f5f5, #f5f5f5);border-radius:8px;padding:12px}.error-details summary{cursor:pointer;font-weight:600;color:var(--ink-666, #666);margin-bottom:8px}.error-details pre{font-size:12px;color:#dc2626;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.notification-prompt{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:9999;width:calc(100% - 32px);max-width:400px;animation:fadeInUp .3s ease}.notification-prompt-content{background:var(--surf-white, white);border-radius:16px;padding:20px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;gap:16px}.notification-prompt-icon{font-size:40px;text-align:center}.notification-prompt-text{text-align:center}.notification-prompt-text h3{font-size:18px;font-weight:700;color:var(--ink-333, #1f2937);margin-bottom:8px}.notification-prompt-text p{font-size:14px;color:var(--ink-666, #666);line-height:1.5}.notification-prompt-actions{display:flex;gap:12px}.notification-prompt-actions .btn{flex:1}html.dark .notification-prompt-content{background:var(--dark-surface)}html.dark .notification-prompt-text h3{color:var(--dark-text)}html.dark .notification-prompt-text p{color:var(--dark-text-secondary)}.notification-settings{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.notification-settings-label{display:flex;align-items:center;gap:12px;font-weight:500}.notification-icon{font-size:20px}.notification-status{font-size:12px;color:var(--ink-999, #999)}.notification-status.blocked{color:#dc2626}.notification-status.disabled{color:var(--ink-999, #999)}.toggle-switch{position:relative;width:50px;height:28px;background:#e0e0e0;border:none;border-radius:14px;cursor:pointer;transition:background .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.toggle-switch.active{background:var(--brand-fill, var(--vapor-primary, #002868))}.toggle-slider{position:absolute;top:2px;left:2px;width:24px;height:24px;background:var(--surf-white, white);border-radius:50%;transition:transform .35s var(--ease-out, cubic-bezier(.22, 1, .36, 1));box-shadow:0 2px 4px #0003}.toggle-switch.active .toggle-slider{transform:translate(22px)}.offline-indicator{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;z-index:9998;animation:slideInUp .3s ease}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.offline-indicator-icon{font-size:18px}.offline-indicator.online{background:linear-gradient(135deg,#10b981,#059669);animation:fadeOut 2s ease forwards;animation-delay:2s}.offline-indicator.offline{background:linear-gradient(135deg,#f59e0b,#d97706)}.offline-indicator.syncing{background:linear-gradient(135deg,#3b82f6,#2563eb)}.offline-indicator.syncing .offline-indicator-icon{animation:spin 1s linear infinite}.offline-indicator.synced{background:linear-gradient(135deg,#10b981,#059669);animation:fadeOut 2s ease forwards;animation-delay:2s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeOut{to{opacity:0;visibility:hidden}}body.rtl{direction:rtl;text-align:right}body.rtl .app-header__content,body.rtl .app-header__right,body.rtl .artwork-actions,body.rtl .btn,body.rtl .modal-actions{flex-direction:row-reverse}body.rtl .btn-icon{margin-left:8px;margin-right:0}body.rtl .artwork-info{text-align:right}body.rtl .completed-badge{right:auto;left:12px}body.rtl .shared-badge{left:auto;right:12px}body.rtl .artwork-card:hover{transform:translateY(-4px)}body.rtl .modal-close{right:auto;left:16px}body.rtl input,body.rtl textarea,body.rtl select{text-align:right}body.rtl input::placeholder,body.rtl textarea::placeholder{text-align:right}body.rtl .voice-input-text{direction:rtl;text-align:right}body.rtl .gallery-grid{direction:rtl}body.rtl .back-button{transform:scaleX(-1)}body.rtl .comment-item{text-align:right}body.rtl .comment-author{flex-direction:row-reverse}body.rtl .progress-bar{transform-origin:right center}body.rtl .tool-picker{flex-direction:row-reverse}body.rtl .color-palette{direction:rtl}body.rtl ::-webkit-scrollbar{left:0;right:auto}.language-selector{display:flex;flex-direction:column;gap:8px}.language-selector-label{font-size:14px;font-weight:600;color:var(--ink-333, #1f2937)}.language-selector .select,.language-selector .language-select{min-width:180px;padding:10px 36px 10px 16px;font-size:14px;border-radius:10px;border:2px solid var(--vapor-border, #CBD5E1);background:var(--surf-white, white);color:var(--ink-333, #1f2937);cursor:pointer;transition:all .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1));-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.language-selector .select:hover,.language-selector .language-select:hover{border-color:var(--brand-fill, var(--vapor-primary, #002868))}.language-selector .select:focus,.language-selector .language-select:focus{outline:none;border-color:var(--brand-fill, var(--vapor-primary, #002868));box-shadow:0 0 0 3px #0028681a}.language-selector-compact{display:flex;flex-direction:column;gap:8px}.language-selector-compact label{font-size:14px;font-weight:600;color:var(--ink-333, #1f2937)}.language-selector-compact .select,.language-selector-compact .language-select{width:100%;padding:12px 44px 12px 16px;font-size:16px;border-radius:12px;border:2px solid var(--vapor-border, #CBD5E1);background:var(--surf-white, white);color:var(--ink-333, #1f2937);cursor:pointer;transition:all .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1));-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.language-selector-compact .select:hover,.language-selector-compact .language-select:hover{border-color:var(--brand-fill, var(--vapor-primary, #002868))}.language-selector-compact .select:focus,.language-selector-compact .language-select:focus{outline:none;border-color:var(--brand-fill, var(--vapor-primary, #002868));box-shadow:0 0 0 3px #0028681a}.language-dropdown{min-width:160px;padding:8px 32px 8px 14px;font-size:14px;border-radius:8px;border:1px solid rgba(255,255,255,.3);background:#ffffff26;color:#fff;cursor:pointer;transition:all .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1));-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.language-dropdown:hover{background:#ffffff40}.language-dropdown:focus{outline:none;background:#ffffff40;box-shadow:0 0 0 2px #ffffff4d}.language-dropdown option{background:var(--surf-white, white);color:var(--ink-333, #1f2937);padding:8px}body.rtl .language-selector .select,body.rtl .language-selector .language-select,body.rtl .language-selector-compact .select,body.rtl .language-selector-compact .language-select,body.rtl .language-dropdown{background-position:left 12px center;padding-right:16px;padding-left:36px;text-align:right}@media (max-width: 479px){body.app-locked{--space-1: 3px;--space-2: 5px;--space-3: 6px;--space-4: 10px;--space-5: 13px;--space-6: 14px;--space-8: 19px;--space-10: 26px;--gutter-mobile: 10px;--gutter-tablet: 10px;--gutter-desktop: 10px;--min-touch-target: 36px}}@media (max-width: 479px){body.app-locked{--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 20px;--text-3xl: 25px;--text-4xl: 30px;font-size:var(--text-base)}}.route-loading-fallback{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--app-bg-gradient, linear-gradient(180deg, #F7F9FC 0%, #EEF3FB 100%));z-index:9000;animation:fadeIn .18s ease both}.route-loading-spinner{width:44px;height:44px;border:4px solid rgba(0,40,104,.14);border-top-color:var(--brand-600, #002868);border-radius:50%;animation:spin .8s linear infinite}@media (prefers-reduced-motion: reduce){.route-loading-fallback,.route-loading-spinner{animation:none}}@media (max-width: 480px){:is(body.app-locked,body) :is(.btn,.btn-primary,.btn-secondary,.btn-danger,.btn-warning,.btn-small,.btn-large,.btn-md,.btn-voice,.btn-action,.btn-back,.btn-banner-dismiss,.btn-banner-enable,.btn-cancel,.btn-clear,.btn-community,.btn-complete,.btn-continue,.btn-copy,.btn-create,.btn-delete,.btn-edit,.btn-enable-notifications,.btn-got-it,.btn-home,.btn-home-secondary,.btn-like,.btn-like-large,.btn-load-more,.btn-lock,.btn-logout,.btn-nav,.btn-next,.btn-ok,.btn-parent-info,.btn-parent-settings,.btn-pin-change,.btn-pin-remove,.btn-pin-setup,.btn-prev,.btn-purchase,.btn-refresh,.btn-reset,.btn-reset-data,.btn-reset-tutorial,.btn-retry,.btn-select-package,.btn-series-create,.btn-share,.btn-share-large,.btn-share-settings,.btn-skip,.btn-submit,.btn-submit-comment,.btn-switch-mode,.btn-take-break,.btn-test-notification,.btn-theme-browse,.btn-try-app,.btn-use-large,.btn-use-template,.btn-video,.btn-video-confirm,.btn-view,.action-btn,.admin-btn,.cancel-login-btn,.category-btn,.color-mixer-btn,.comment-delete-btn,.custom-color-btn,.daily-claim-btn,.daily-retry-btn,.export-btn,.google-login-btn,.google-login-button,.input-action-btn,.input-action-button,.language-btn,.magic-option-btn,.preview-retry-btn,.print-action-btn,.rating-btn,.rating-button,.retry-button,.save-btn,.sort-btn,.sync-now-btn,.tab-btn,.theme-back-btn,.together-create-btn,.tutorial-btn,.use-btn,.variation-btn,.view-all-btn){padding:4px 13px!important}}.route-loading-symbol{animation:routeLoadPulse 1.6s ease-in-out infinite}@keyframes routeLoadPulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.06);opacity:1}}@media (prefers-reduced-motion: reduce){.route-loading-symbol{animation:none}}.quiz-mascot{flex:0 0 auto}:root{--hairline-w: 1px;--ios-r-chip: 8px;--ios-r-control: 10px;--ios-r-card: 14px;--ios-r-card-lg: 20px;--ios-r-sheet: 28px;color-scheme:light;--ios-spring: cubic-bezier(.32, .72, 0, 1);--ios-dur: .34s}@media (min-resolution: 2dppx),(-webkit-min-device-pixel-ratio: 2){:root{--hairline-w: .5px}}@media (min-resolution: 3dppx),(-webkit-min-device-pixel-ratio: 3){:root{--hairline-w: .33px}}:root header,:root .app-header,:root .canvas-header,:root .site-header,:root .bottom-nav,:root .bottom-nav-bar{border-bottom-width:var(--hairline-w);border-top-width:var(--hairline-w)}:root .list-row+.list-row,:root .settings-row+.settings-row,:root .folder-list-item+.folder-list-item{border-top-width:var(--hairline-w)}:root .bottom-nav-icon-wrap{border-radius:var(--ios-r-control)}:root .feature-tile,:root .ach-card,:root .ach-next__badge,:root .streak-nudge,:root .welcome-bonus-card,:root .credits-display-card{border-radius:var(--ios-r-card-lg)}:root{--shadow-brand: 0 6px 16px rgba(0, 40, 104, .1);--shadow-lg: 0 8px 24px rgba(20, 40, 80, .08);--shadow-xl: 0 16px 40px rgba(20, 40, 80, .1)}:root .today-cta{box-shadow:0 6px 16px #4f46e529}:root .today-cta:hover{box-shadow:0 10px 22px #4f46e533}@media (hover: none){button:not(:disabled):active,[role=button]:not([aria-disabled=true]):active,a[href]:active,.artwork-card:active,.letter-card:active,.nl-cell:active{transform:scale(.97);opacity:.88}button,[role=button],a[href],.artwork-card,.letter-card,.nl-cell{transition:transform .12s var(--ease-out, cubic-bezier(.22, 1, .36, 1)),opacity .12s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.color-swatch:active,.demo-filter:active{transform:none;opacity:.75}}*{-webkit-tap-highlight-color:transparent}.modal-content,.sheet,.bottom-sheet,.pin-modal,.share-modal{transition-timing-function:var(--ios-spring);transition-duration:var(--ios-dur)}.app-scroll,#main-content,.gallery-content,.learn-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}h1,.page-title,.home-hero-title{letter-spacing:-.021em}h2,.section-title{letter-spacing:-.015em}:root header,:root .app-header,:root .site-header{border-bottom-color:transparent;transition:border-bottom-color .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1)),box-shadow .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}:root[data-scrolled] header,:root[data-scrolled] .app-header,:root[data-scrolled] .site-header{border-bottom-color:var(--surface-border, #EAEEF5);box-shadow:0 1px #1428500a}.ios-segmented{display:inline-flex;padding:2px;gap:2px;border-radius:var(--ios-r-control);background:#7676801f;border:none}.ios-segmented>button{border:none;background:transparent;border-radius:calc(var(--ios-r-control) - 2px);box-shadow:none;font-weight:600;transition:background .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1)),box-shadow .2s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.ios-segmented>button[aria-pressed=true],.ios-segmented>button[data-selected]{background:var(--surf-fff, #fff);color:var(--vapor-primary, #002868);box-shadow:0 1px 3px #0000001a,0 0 0 var(--hairline-w) #00000008}.ios-segmented>button:not([aria-pressed=true]){color:var(--text-secondary, #4b5563)}.sheet-grabber{width:36px;height:5px;border-radius:999px;background:#3c3c434d;margin:8px auto 4px;flex:none}@media (hover: none) and (pointer: coarse){:root body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}:root input,:root textarea,:root select,:root [contenteditable=true],:root [data-selectable],:root .selectable-text{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}:root img{-webkit-user-drag:none;user-drag:none}:root canvas{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}:root .diary-textbox,:root .artwork-description{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}}.auth-app-icon,.brand-icon,.app-symbol{border-radius:22.37%;overflow:hidden;box-shadow:0 1px 3px #14285029,inset 0 0 0 var(--hairline-w) #0000000f;background:var(--surf-fff, #fff);flex:none}:root[data-theme=dark] .auth-app-icon,:root[data-theme=dark] .brand-icon,:root[data-theme=dark] .app-symbol{box-shadow:0 1px 3px #0006,inset 0 0 0 var(--hairline-w) #ffffff1f;background:#19212f}.is-pressed{transform:scale(.965);opacity:.88;transition:transform .12s var(--ease-out, cubic-bezier(.22, 1, .36, 1)),opacity .12s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}@media (prefers-reduced-motion: reduce){.is-pressed{transform:none}}:root[data-reading=easier] body{letter-spacing:.045em;word-spacing:.14em;line-height:1.75}:root[data-reading=easier] p,:root[data-reading=easier] li{text-align:left;max-width:62ch}:root[data-reading=easier] .note-cell,:root[data-reading=easier] .letter-canvas-wrap,:root[data-reading=easier] .worksheet-sheet,:root[data-reading=easier] .worksheet-sheet *{letter-spacing:normal;word-spacing:normal}@font-face{font-family:OpenDyslexic;src:url(/fonts/opendyslexic-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2122}@font-face{font-family:OpenDyslexic;src:url(/fonts/opendyslexic-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2122}:root[data-font=dyslexic] body,:root[data-font=dyslexic] button,:root[data-font=dyslexic] input,:root[data-font=dyslexic] textarea,:root[data-font=dyslexic] select{font-family:OpenDyslexic,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif}:root[data-font=dyslexic] .note-cell,:root[data-font=dyslexic] .note-cell *,:root[data-font=dyslexic] .letter-canvas-wrap,:root[data-font=dyslexic] .letter-canvas-wrap *,:root[data-font=dyslexic] .letter-card,:root[data-font=dyslexic] .letter-card *,:root[data-font=dyslexic] .worksheet-sheet,:root[data-font=dyslexic] .worksheet-sheet *,:root[data-font=dyslexic] .nl-cell,:root[data-font=dyslexic] .wwp-word{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif}:root[data-theme=dark] .goal-coach{background:linear-gradient(135deg,#1b2441,#211b41)}:root[data-theme=dark] .photo2col-pick--camera{background:linear-gradient(135deg,#3e3619,#3a3318)}:root[data-theme=dark] .photo2col-pick--gallery{background:linear-gradient(135deg,#19293e,#192a3e)}:root[data-theme=dark] .recognition-result{background:linear-gradient(135deg,#3e3b19,#3e3619)}:root[data-theme=dark] .letter-card.completed{background:linear-gradient(135deg,#213623,#213522)}:root[data-theme=dark] .letter-learning{background:var(--app-bg-gradient, linear-gradient(180deg, hsl(216 28% 18%) 0%, hsl(217 38% 18%) 100%))}:root[data-theme=dark] .word-dex-milestone{background:linear-gradient(180deg,#41381b,#3e3419)}:root[data-theme=dark] .letter-node.completed{background:linear-gradient(135deg,#213623,#213522)}:root[data-theme=dark] .pronunciation-result{background:linear-gradient(135deg,#213623,#213522)}:root[data-theme=dark] .ach-summary{background:linear-gradient(135deg,#2e2e2e,#1c2a3f)}:root[data-theme=dark] .ach-card.earned{background:linear-gradient(180deg,#41341b,#2e2e2e 60%)}:root[data-theme=dark] .ach-card__reward{background:linear-gradient(135deg,#3e3619,#3a3318)}:root[data-theme=dark] .ach-next{background:linear-gradient(135deg,#2e2e2e,#2d3824)}:root[data-theme=dark] .achievement-popup-content{background:linear-gradient(135deg,#332e15,#332815)}:root[data-theme=dark] .category-btn.active{background:linear-gradient(135deg,#332e15,#332815)}:root[data-theme=dark] .achievement-card.unlocked{background:linear-gradient(135deg,#41381b,#2e2e2e)}:root[data-theme=dark] .achievement-card .achievement-points{background:linear-gradient(135deg,#332e15,#332815)}:root[data-theme=dark] .artwork-move-btn{background:linear-gradient(135deg,#2e2e2e,#2e2e2e)}:root[data-theme=dark] .artwork-move-btn:hover{background:linear-gradient(135deg,#2e2e2e,#2e2e2e)}:root[data-theme=dark] .canvas-lock-btn.is-locked{background:linear-gradient(135deg,#362e16,#332615)}:root[data-theme=dark] .celebration-message{background:linear-gradient(145deg,#2e2e2e,#2e2e2e)}:root[data-theme=dark] .mixed-result{background:linear-gradient(135deg,#2e2e2e,#2e2e2e)}:root[data-theme=dark] .community-card-placeholder{background:linear-gradient(135deg,#2e2e2e,#2b2b2b)}:root[data-theme=dark] .community-container{background:linear-gradient(135deg,#242c38,#242933)}:root[data-theme=dark] .checkin-card{background:linear-gradient(160deg,#2e2e2e,#1b2741)}:root[data-theme=dark] .checkin-card.is-milestone{background:linear-gradient(160deg,#41361b,#3e2f19)}:root[data-theme=dark] .mission-item{background:linear-gradient(135deg,#2e2e2e,#2a2d32)}:root[data-theme=dark] .mission-item.completed{background:linear-gradient(135deg,#1b412f,#193e2b)}:root[data-theme=dark] .mission-item.claimed{background:linear-gradient(135deg,#2e2e2e,#282a2f)}:root[data-theme=dark] .reward-preview{background:linear-gradient(135deg,#3e3619,#3a3318)}:root[data-theme=dark] .daily-quest--skeleton{background:linear-gradient(180deg,#1d283f,#212c3b)}:root[data-theme=dark] .dq-letter{background:linear-gradient(180deg,#212b3b,#1c2a3f)}:root[data-theme=dark] .dq-step.cta{background:linear-gradient(180deg,#41381b,#3e3419)}:root[data-theme=dark] .daily-preview{background:linear-gradient(145deg,#2e2e2e,#2e2e2e)}:root[data-theme=dark] .daily-preview-error{background:linear-gradient(135deg,#3e3619,#3a3318)}:root[data-theme=dark] .daily-template-card.claimed .daily-preview{background:linear-gradient(145deg,#2e2e2e,#1b2641)}:root[data-theme=dark] .daily-claimed-info{background:linear-gradient(135deg,#1b2441,#1b2441)}:root[data-theme=dark] .diary-textarea{background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,hsl(217 25% 17%) 39px,hsl(217 25% 17%) 40px)}:root[data-theme=dark] .diary-new-card{background:linear-gradient(135deg,#2e2e2e,#1c2a3f)}:root[data-theme=dark] .export-pill.checked{background:linear-gradient(135deg,#19293e,#1b2441)}:root[data-theme=dark] .frame-preview.golden{background:linear-gradient(135deg,#322b15,#3a3418,#322b15)}:root[data-theme=dark] .loading-more-indicator{background:linear-gradient(135deg,#2e2e2e,#2e2e2e)}:root[data-theme=dark] body.app-locked{background:var(--app-bg-gradient, linear-gradient(180deg, hsl(216 28% 18%) 0%, hsl(217 38% 18%) 100%))}:root[data-theme=dark] .skeleton{background:linear-gradient(90deg,#2e2e2e 25%,#2b2b2b,#2e2e2e 75%)}:root[data-theme=dark] .route-loading-fallback{background:var(--app-bg-gradient, linear-gradient(180deg, hsl(216 28% 18%) 0%, hsl(217 38% 18%) 100%))}:root[data-theme=dark] .home-container{background:var(--app-bg-gradient, linear-gradient(180deg, hsl(216 28% 18%) 0%, hsl(217 38% 18%) 100%))}:root[data-theme=dark] .loading-overlay{background:var(--app-bg-gradient, linear-gradient(180deg, hsl(216 28% 18%) 0%, hsl(217 38% 18%) 100%))}:root[data-theme=dark] .pencil-body{background:linear-gradient(180deg,#3a3418,#363016 20%,#332b15 80%,#332a15)}:root[data-theme=dark] .pencil-body:before{background:linear-gradient(180deg,#2e2e2e,#2e2e2e)}:root[data-theme=dark] .create-mode-tab.active{background:linear-gradient(145deg,#2e2e2e,#2e2e2e)}:root[data-theme=dark] .series-count-buttons .count-btn:hover:not(:disabled){background:linear-gradient(135deg,#2e2e2e,#2a2d32)}:root[data-theme=dark] .series-count-buttons .count-btn.active{background:linear-gradient(135deg,#1b2441,#1b2441)}:root[data-theme=dark] .series-variation-buttons .variation-btn:hover:not(:disabled){background:linear-gradient(135deg,#2e2e2e,#2a2d32)}:root[data-theme=dark] .series-variation-buttons .variation-btn.active{background:linear-gradient(135deg,#1b2441,#1b2441)}:root[data-theme=dark] .landing-hero:after{background:linear-gradient(180deg,#1b2641,#1b2641 56%,#1b2641)}:root[data-theme=dark] .icon-halo{background:linear-gradient(135deg,#1b2b41,#411b30)}:root[data-theme=dark] .lazy-image-placeholder{background:linear-gradient(135deg,#2e2e2e,#2b2b2b)}:root[data-theme=dark] .lr-card{background:linear-gradient(135deg,#292e32,#2e2e2e)}:root[data-theme=dark] .mode-menu{background:linear-gradient(145deg,#2e2e2e,#2e2e2e)}:root[data-theme=dark] .mode-menu-header{background:linear-gradient(135deg,#1b2641,#232e38)}:root[data-theme=dark] .menu-action:hover{background:linear-gradient(135deg,#1b2641,#232e38)}:root[data-theme=dark] .menu-action.pin-setup{background:linear-gradient(135deg,#41381b,#3e3419)}:root[data-theme=dark] .menu-action.pin-setup:hover{background:linear-gradient(135deg,#3e3419,#3a3118)}:root[data-theme=dark] .menu-action.pin-setup .action-icon{background:linear-gradient(135deg,#362f16,#332b15)}:root[data-theme=dark] .menu-action.pin-change{background:linear-gradient(135deg,#292e32,#232e38)}:root[data-theme=dark] .menu-action.pin-change:hover{background:linear-gradient(135deg,#272b30,#232e38)}:root[data-theme=dark] .action-icon{background:linear-gradient(135deg,#292e32,#272b30)}:root[data-theme=dark] .parent-mode-floating-badge button:hover{background:linear-gradient(135deg,#2e2e2e,#2e2e2e)}:root[data-theme=dark] .my-dex{background:var(--app-bg-gradient, linear-gradient(180deg, hsl(216 28% 18%) 0%, hsl(217 38% 18%) 100%))}:root[data-theme=dark] .stat-card{background:linear-gradient(135deg,#292e32,#2e2e2e)}:root[data-theme=dark] .dashboard-tabs{background:linear-gradient(90deg,#2e2e2e 40%,#2e2e2e) left / 28px 100% no-repeat local,linear-gradient(270deg,#2e2e2e 40%,#2e2e2e) right / 28px 100% no-repeat local,linear-gradient(90deg,hsl(220 37% 12%),transparent) left / 16px 100% no-repeat scroll,linear-gradient(270deg,hsl(220 37% 12%),transparent) right / 16px 100% no-repeat scroll}:root[data-theme=dark] .parent-modal-message{background:linear-gradient(135deg,#41321b,#3e2f19)}:root[data-theme=dark] .score-summary{background:linear-gradient(135deg,#292e32,#272b30)}:root[data-theme=dark] .artwork-placeholder{background:linear-gradient(135deg,#2b2b2b,#2e2e2e)}:root[data-theme=dark] .unlock-btn.can-unlock{background:linear-gradient(135deg,#332e15,#332815)}:root[data-theme=dark] .star-popup{background:linear-gradient(135deg,#332e15,#332815)}:root[data-theme=dark] .series-count-btn.selected{background:linear-gradient(135deg,#1b2441,#1b2441)}:root[data-theme=dark] .series-variation-btn.selected{background:linear-gradient(135deg,#1b2441,#1b2441)}:root[data-theme=dark] .series-credits-info{background:linear-gradient(135deg,#3e3619,#3a3318)}:root[data-theme=dark] .series-preview-item{background:linear-gradient(135deg,#1b2441,#1b2441)}:root[data-theme=dark] .shared-view-container{background:linear-gradient(135deg,#242c38,#242933)}:root[data-theme=dark] .streak-nudge{background:linear-gradient(135deg,#41361b,#3e2f19)}:root[data-theme=dark] .subhero--light:after{background:linear-gradient(180deg,#1b2641,#1b2641 56%,#1b2641)}:root[data-theme=dark] .template-card.free{background:linear-gradient(135deg,#1b412f,#193e2b)}:root[data-theme=dark] .template-cost{background:linear-gradient(135deg,#3e3619,#3a3318)}:root[data-theme=dark] .theme-credits{background:linear-gradient(135deg,#3e3619,#3a3318)}:root[data-theme=dark] .together-page{background:linear-gradient(160deg,#1b2441,#222e39 60%)}:root[data-theme=dark] .welcome-bonus-character{background:linear-gradient(135deg,#19293e,#1b2441)}:root[data-theme=dark] .welcome-bonus-action-icon{background:linear-gradient(135deg,#19293e,#1b2441)}:root[data-theme=dark] .accent-amber .welcome-bonus-action-icon{background:linear-gradient(135deg,#3e3619,#3a3318)}:root[data-theme=dark] .accent-pink .welcome-bonus-action-icon{background:linear-gradient(135deg,#411b30,#3e192e)}:root[data-theme=dark] .accent-purple .welcome-bonus-action-icon{background:linear-gradient(135deg,#221b41,#20193e)}:root[data-theme=dark] .accent-green .welcome-bonus-action-icon{background:linear-gradient(135deg,#193e2b,#183a2a)}:root[data-theme=dark]{color-scheme:dark;--app-bg: #0E1420;--app-bg-gradient: linear-gradient(180deg, #0E1420 0%, #131A28 100%);--surface: #19212F;--surface-muted: #141B27;--surface-border: #2A3444;--surface-border-strong: #3A465A;--color-bg-primary: #19212F;--color-bg-secondary: #141B27;--color-bg-tertiary: #232D3E;--color-border: #2A3444;--vapor-border: #2A3444;--color-text-primary: #E9EDF5;--color-text-secondary: #A8B3C7;--color-text-muted: #8B97AC;--color-text-inverse: #0E1420;--color-success-on-dark: #86EFAC;--color-primary: #7FA8FF;--color-primary-light: #A3C0FF;--color-primary-dark: #5B8AE6;--vapor-primary: #7FA8FF;--color-border-focus: #7FA8FF;--focus-ring-color: #7FA8FF;--color-secondary: #FF6B81;--color-secondary-light: #FF8A9B;--color-success: #4ADE80;--color-warning: #FBBF24;--color-danger: #F87171;--color-danger-strong: #EF4444;--color-info: #38BDF8;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .34);--shadow-md: 0 4px 16px rgba(0, 0, 0, .38);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .44);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .5);--shadow-brand: 0 6px 16px rgba(0, 0, 0, .4);--shadow-inset-top: inset 0 1px 0 rgba(255, 255, 255, .06);--shadow-focus: 0 0 0 4px rgba(127, 168, 255, .3)}:root[data-theme=dark] body{background:var(--app-bg);color:var(--color-text-primary)}:root[data-theme=dark] .ios-segmented{background:#ffffff14}:root[data-theme=dark] .ios-segmented>button[aria-pressed=true]{background:#39445a;color:#fff;box-shadow:0 1px 3px #0006}:root[data-theme=dark] .ios-segmented>button:not([aria-pressed=true]){color:var(--color-text-secondary)}:root[data-theme=dark] .sheet-grabber{background:#ebf0fa47}:root[data-theme=dark] .letter-card,:root[data-theme=dark] .ach-card,:root[data-theme=dark] .recommendation-item,:root[data-theme=dark] .artwork-card,:root[data-theme=dark] .feature-tile,:root[data-theme=dark] .community-card{background:var(--surface);border-color:var(--surface-border);color:var(--color-text-primary)}:root[data-theme=dark] .bottom-nav{background:#19212ff0;border-color:var(--surface-border)}:root[data-theme=dark]{--ink-002868: hsl(217 38% 85%);--ink-111827: hsl(221 38% 92%);--ink-1e293b: hsl(217 33% 87%);--ink-1e40af: hsl(226 38% 71%);--ink-1f2937: hsl(215 28% 88%);--ink-333: hsl(0 0% 86%);--ink-334155: hsl(215 25% 81%);--ink-374151: hsl(217 19% 81%);--ink-4338ca: hsl(245 38% 64%);--ink-444: hsl(0 0% 81%);--ink-475569: hsl(215 19% 75%);--ink-4b5563: hsl(215 14% 75%);--ink-555: hsl(0 0% 76%);--ink-64748b: hsl(215 16% 66%);--ink-666: hsl(0 0% 71%);--ink-6b7280: hsl(220 9% 67%);--ink-888: hsl(0 0% 62%);--ink-999: hsl(0 0% 62%)}:root[data-theme=dark] .daily-preview,:root[data-theme=dark] .mission-item,:root[data-theme=dark] .ach-summary,:root[data-theme=dark] .ach-next{background:var(--surface);border-color:var(--surface-border);color:var(--color-text-primary)}:root[data-theme=dark] .credits-count,:root[data-theme=dark] .dq-badge,:root[data-theme=dark] .weekly-challenge__name,:root[data-theme=dark] .weekly-challenge__reward,:root[data-theme=dark] .ach-next__eyebrow,:root[data-theme=dark] .ach-next__name,:root[data-theme=dark] .ach-category__title,:root[data-theme=dark] .ach-card__reward,:root[data-theme=dark] .ach-card__progress-text{color:var(--color-text-primary)}:root[data-theme=dark] .daily-preview strong,:root[data-theme=dark] .mission-item strong,:root[data-theme=dark] .ach-summary strong,:root[data-theme=dark] .ach-next strong,:root[data-theme=dark] .daily-preview small,:root[data-theme=dark] .mission-item small{color:inherit}:root[data-theme=dark] .weekly-challenge__header h3,:root[data-theme=dark] .weekly-challenge__header h2,:root[data-theme=dark] h1.chakra-heading,:root[data-theme=dark] h2.chakra-heading{color:var(--color-text-primary)}:root[data-theme=dark] .ach-chip{background:#ffffff1a;color:var(--color-text-primary);border-color:var(--surface-border)}:root[data-theme=dark] .recent-artwork-item,:root[data-theme=dark] .folder-chip{background:var(--surface);border-color:var(--surface-border);color:var(--color-text-primary)}:root[data-theme=dark] .artwork-thumbnail,:root[data-theme=dark] .artwork-image{background:var(--surface-muted)}:root[data-theme=dark] .ach-card__progress-text{color:var(--color-text-primary)}:root[data-theme=dark] .rec-new{background:#4ade8038;color:#86efac}:root[data-theme=dark] .ach-card__progress{background:#ffffff1a}:root[data-theme=dark]{--edge-6ee7b7: #2A3444;--edge-c3d2ea: #2A3444;--edge-ccc: #2A3444;--edge-cdebd6: #2A3444;--edge-cfc: #2A3444;--edge-d1d5db: #2A3444;--edge-d3dcea: #2A3444;--edge-d8e0ec: #2A3444;--edge-dbe2f5: #2A3444;--edge-dbeafe: #2A3444;--edge-ddd: #2A3444;--edge-ddd6fe: #2A3444;--edge-e0e0e0: #2A3444;--edge-e0e7f1: #2A3444;--edge-e2e8f0: #2A3444;--edge-e5e7eb: #2A3444;--edge-e6eaf2: #2A3444;--edge-e6ecf6: #2A3444;--edge-eaeef5: #2A3444;--edge-eee: #2A3444;--edge-eef0f3: #2A3444;--edge-eef1f6: #2A3444;--edge-eef2f8: #2A3444;--edge-f0f0f0: #2A3444;--edge-f1f5f9: #2A3444;--edge-f4d58a: #2A3444;--edge-f4e2b0: #2A3444;--edge-fbbf24: #2A3444;--edge-fcc: #2A3444;--edge-fecaca: #2A3444;--edge-fed7aa: #2A3444;--edge-fed7d7: #2A3444;--edge-ffcdd2: #2A3444;--edge-ffd700: #2A3444;--edge-ffe1a0: #2A3444;--edge-fff: #2A3444}:root[data-theme=dark] .feature-tile-lock,:root[data-theme=dark] .summary-progress,:root[data-theme=dark] .completed-badge,:root[data-theme=dark] .artwork-move-btn,:root[data-theme=dark] .glass-chip{border-color:#ffffff1a}:root[data-theme=dark] .daily-template-card,:root[data-theme=dark] .daily-preview,:root[data-theme=dark] .mission-item{box-shadow:var(--shadow-sm),inset 0 1px #ffffff0d}:root[data-theme=dark] .chakra-button[data-variant=outline],:root[data-theme=dark] button.chakra-button[class*=outline]{border-color:var(--surface-border)}:root[data-theme=dark]{--border-color: #2A3444;--card-border-color: #2A3444;--fw-color: #E9EDF5;--bg-secondary: #141B27;--bg-primary: #19212F;--bg-app: #0E1420;--surface-page: #0E1420;--color-surface: #19212F;--track-bg: rgba(255, 255, 255, .1);--success-200: rgba(74, 222, 128, .28)}:root[data-theme=dark] .summary-progress,:root[data-theme=dark] .completed-badge,:root[data-theme=dark] .artwork-move-btn{box-shadow:0 2px 8px #00000052}:root[data-theme=dark]{--surf-d1fae5: var(--surface);--surf-dcfce7: var(--surface);--surf-e6f4ea: var(--surface);--surf-e8f0ff: var(--surface);--surf-e8f5e9: var(--surface);--surf-e8f7ee: var(--surface);--surf-eaf0fb: var(--surface);--surf-eceff5: var(--surface);--surf-eef2f8: var(--surface);--surf-eef2fb: var(--surface);--surf-eef2ff: var(--surface);--surf-eef3fb: var(--surface);--surf-eef3ff: var(--surface);--surf-eef4ff: var(--surface);--surf-eefaf1: var(--surface);--surf-efe: var(--surface);--surf-eff6ff: var(--surface);--surf-f0f0f0: var(--surface);--surf-f0f4ff: var(--surface);--surf-f0f9ff: var(--surface);--surf-f1f1f1: var(--surface);--surf-f1f3f4: var(--surface);--surf-f1f3f8: var(--surface);--surf-f1f5f9: var(--surface);--surf-f1f5fb: var(--surface);--surf-f1fbf4: var(--surface);--surf-f2f3f5: var(--surface);--surf-f2f5ff: var(--surface);--surf-f3f4f6: var(--surface);--surf-f4f4ff: var(--surface);--surf-f5f3ff: var(--surface);--surf-f5f5f5: var(--surface);--surf-f5f7fa: var(--surface);--surf-f6f8fc: var(--surface);--surf-f7f9fc: var(--surface);--surf-f7f9ff: var(--surface);--surf-f8f8f8: var(--surface);--surf-f8f9fa: var(--surface);--surf-f8fafc: var(--surface);--surf-f8faff: var(--surface);--surf-f9f9f9: var(--surface);--surf-f9fafb: var(--surface);--surf-fafafa: var(--surface);--surf-fafbfe: var(--surface);--surf-fbfbfd: var(--surface);--surf-fdecec: var(--surface);--surf-fdfefe: var(--surface);--surf-fee: var(--surface);--surf-fef2f2: var(--surface);--surf-ffebee: var(--surface);--surf-ffedd5: var(--surface);--surf-fff: var(--surface);--surf-fff0f0: var(--surface);--surf-fff3e0: var(--surface);--surf-fff4e5: var(--surface);--surf-fff5f5: var(--surface);--surf-fff7e6: var(--surface);--surf-fff7ed: var(--surface);--surf-fff8e1: var(--surface);--surf-fff8e5: var(--surface);--surf-fffbeb: var(--surface);--surf-ffffff: var(--surface);--surf-white: var(--surface)}:root[data-theme=dark] .tutorial-step-card,:root[data-theme=dark] .community-type-badge,:root[data-theme=dark] .community-report-btn,:root[data-theme=dark] .mascot-accessory{background:var(--surface);color:var(--color-text-primary);border-color:var(--surface-border)}:root[data-theme=dark] .tutorial-title,:root[data-theme=dark] .tutorial-message,:root[data-theme=dark] .tutorial-btn-skip{color:var(--color-text-primary)}:root[data-theme=dark]{--ink-475569: hsl(215 19% 75%);--ink-999: hsl(0 0% 62%);--accent-600: hsl(29 40% 78%);--color-text: hsl(215 28% 78%);--gray-500: hsl(220 9% 78%);--gray-600: hsl(215 14% 78%);--node-color: hsl(142 40% 78%);--score-color: hsl(142 40% 78%);--success-600: hsl(142 40% 78%);--text-primary: hsl(240 28% 78%);--text-secondary: hsl(208 7% 78%);--text-strong: hsl(247 24% 78%)}:root[data-theme=dark]{--brand-50: #16233A;--brand-100: #1C2E4A;--brand-200: #2A3F63;--brand-500: #7FA8FF;--brand-600: #A3C0FF;--accent-500: #8FB6FF;--gradient-brand: linear-gradient(135deg, #2E5BB8 0%, #3F6FD1 100%);--gradient-primary: var(--gradient-brand);--gradient-hero: linear-gradient(135deg, #8E2340 0%, #2E5BB8 100%)}:root[data-theme=dark] .btn:disabled,:root[data-theme=dark] button:disabled.btn-primary{background:#2a3444!important;background-image:none!important;color:var(--color-text-muted)!important}:root[data-theme=dark] .diary-new-card{border-color:var(--surface-border)}:root[data-theme=dark] .tutorial-step-card{box-shadow:0 20px 60px #00000080}:root[data-theme=dark] .daily-preview{background:linear-gradient(180deg,#1c2534,#19212f);color:var(--color-text-primary)}:root[data-theme=dark] .sort-btn.active{background:#39445a;color:var(--color-text-primary);border-color:var(--surface-border)}:root[data-theme=dark]{--brand-fill: #2E5BB8}:root[data-theme=dark]{--hint-chip-bg: #E7EDF9;--hint-chip-fg: #14213A}:root[data-theme=dark] .streak-nudge__main strong{color:#ffb765}:root[data-theme=dark] .streak-nudge__main small{color:#e3c08a}:root[data-theme=dark] .streak-nudge__next-top small{color:#e0c89c}:root[data-theme=dark] .reward-preview{box-shadow:0 2px 8px #00000059,inset 0 1px #ffffff1f}:root[data-theme=dark]{--paper: #F7F9FC;--paper-raised: #FFFFFF;--paper-edge: rgba(0, 0, 0, .16)}:root[data-theme=dark] .note-cell,:root[data-theme=dark] .note-cell.has-strokes,:root[data-theme=dark] .letter-canvas-wrap,:root[data-theme=dark] .letter-canvas,:root[data-theme=dark] .diary-draw__canvas-wrap,:root[data-theme=dark] .tracing-note__sheet,:root[data-theme=dark] .note-sheet{background:var(--paper-raised);border-color:var(--paper-edge)}:root[data-theme=dark] .tracing-note,:root[data-theme=dark] .note-grid{background:var(--surface-page)}:root[data-theme=dark] .note-cell *,:root[data-theme=dark] .letter-canvas-wrap *{color:#1f2a52}:root[data-theme=dark] .note-row-label{background:#eef3fb;border-color:var(--paper-edge)}:root[data-theme=dark] .note-row-label:hover{background:#e3ebf8}:root[data-theme=dark] .note-row-char,:root[data-theme=dark] .note-row-phonetic{color:#1f2a52}:root[data-theme=dark] .note-row{border-bottom-color:#00000014}:root[data-theme=dark] .gradient-text{background:linear-gradient(120deg,#a3c0ff,#7ea6ff,#8fc0ff 70%,#ff8fa6);background-size:200% 100%;-webkit-background-clip:text;background-clip:text}:root[data-theme=dark] .sticky-cta{background:#141b27f0;border-color:var(--surface-border)}:root[data-theme=dark] .teacher-intro,:root[data-theme=dark] .teacher-empty{color:var(--color-text-secondary, #A8B3C7)}:root[data-theme=dark] .teacher-card{border-color:var(--surface-border)}:root[data-theme=dark] .teacher-page h2{color:var(--color-text-primary, #f0f0f0)}:root[data-theme=dark] .teacher-page input,:root[data-theme=dark] .teacher-page select,:root[data-theme=dark] .teacher-page textarea{background:var(--surface-muted);color:var(--color-text-primary, #f0f0f0);border-color:var(--surface-border)}:root[data-theme=dark] .lt-intro-sub,:root[data-theme=dark] .lt-pick-hint,:root[data-theme=dark] .journey-label,:root[data-theme=dark] .ml-hint{color:#c2cde0}:root[data-theme=dark] .lt-btn-ghost{color:#cbd6e8}:root[data-theme=dark] .diary-head{border-bottom-color:var(--surface-border)}:root[data-theme=dark]{--brand-blue: #8FB4FF}:root[data-theme=dark] .ls-demo-badge{background:#23304a;color:#a3c0ff;border-color:var(--surface-border)}:root[data-theme=dark] .btn:disabled,:root[data-theme=dark] button:disabled{color:#9ca3af;opacity:.75}:root[data-theme=dark] .landing-hero:after{background:linear-gradient(90deg,#0a1220f5,#0a1220e6 42%,#0a12208c 72%,#0a12204d)}:root[data-theme=dark] .subhero--light{background-color:var(--surface-page, #0E1420)}:root[data-theme=dark] .subhero--light:after{background:linear-gradient(90deg,#0a1220f5,#0a1220e6 42%,#0a12208c 72%,#0a12204d)}@media (max-width: 719px){:root[data-theme=dark] .landing-hero:after,:root[data-theme=dark] .subhero--light:after{background:linear-gradient(180deg,#0a1220f5,#0a1220eb 56%,#0a1220c7)}}:root[data-theme=dark] .plan-icon-tile,:root[data-theme=dark] .feature-icon-tile{filter:saturate(.8) brightness(.55)}:root[data-theme=dark] .streak-nudge{background:linear-gradient(135deg,#4e3818eb,#3c2b14e6);border-color:#ff9f1c57}:root[data-theme=dark] .today-cta{background:linear-gradient(135deg,#2c2f6b,#6b4a12);color:#fff}:root[data-theme=dark] .today-cta-title,:root[data-theme=dark] .today-cta-sub{color:#fff}:root[data-theme=dark] .completed-badge{background:linear-gradient(135deg,#3e4c94f5,#482c68f0)}:root[data-theme=dark] .btn-home{background:linear-gradient(135deg,#21407f,#1b3168)}:root[data-theme=dark] .route-loading-spinner{border-color:#ffffff24;border-top-color:#a3c0ff}:root[data-theme=dark] .folder-select-item{background:var(--surface-muted);border-color:var(--surface-border)}:root[data-theme=dark] .folder-select-item:hover{background:#202b3d}:root[data-theme=dark] .folder-select-item.selected,:root[data-theme=dark] .folder-select-item.current{background:#26334a}:root[data-theme=dark] .folder-name{color:var(--color-text-primary, #f0f0f0)}:root[data-theme=dark] .folder-count{color:var(--color-text-secondary, #A8B3C7)}:root[data-theme=dark] .parent-modal-close:hover,:root[data-theme=dark] .pin-modal-close:hover,:root[data-theme=dark] .report-modal-close:hover,:root[data-theme=dark] .badge-popup-close:hover{background:#2a3444;color:var(--color-text-primary, #f0f0f0)}:root[data-theme=dark] .community-detail-modal .modal-close-btn{background:#19212fe6;color:var(--color-text-primary, #f0f0f0)}:root[data-theme=dark] .detail-type-badge.template,:root[data-theme=dark] .action-text,:root[data-theme=dark] .comment-parent-notice{color:#d2dcec}:root[data-theme=dark] .dq-locked-hint{color:#c6d1e4}@media print{:root[data-theme=dark],:root[data-theme=dark] body,:root[data-theme=dark] .worksheet-sheet,:root[data-theme=dark] .worksheet-sheet *,:root[data-theme=dark] .workbook-sheet,:root[data-theme=dark] .workbook-sheet *{background-color:#fff!important;color:#000!important;border-color:#999!important;box-shadow:none!important}:root[data-theme=dark] .worksheet-glyph.guide-lines,:root[data-theme=dark] .worksheet-glyph.guide-square{-webkit-print-color-adjust:exact;print-color-adjust:exact}:root[data-theme=dark] .worksheet-glyph.is-model,:root[data-theme=dark] .worksheet-guide{color:#bbb!important}}:root[data-theme=dark] .color-progress{background:linear-gradient(180deg,#232744,#1e2138);border-color:#a855f738;box-shadow:0 6px 18px #00000059,0 1px #ffffff0f inset}:root[data-theme=dark] .color-progress-bar-container{background:linear-gradient(180deg,#171a2e,#1e2138);box-shadow:inset 0 2px 4px #00000073,inset 0 -1px #ffffff0d}:root[data-theme=dark] .progress-label{color:#c4b5de}:root[data-theme=dark] .summary-progress{background:#ffffff14;color:#d8deea}:root[data-theme=dark] .mode-label{color:#f0f0f0}:root[data-theme=dark] .dq-step-num{background:#55607a;color:#fff}:root[data-theme=dark] .dq-step.done .dq-step-num,:root[data-theme=dark] .dq-step.cta .dq-step-num{color:#10141c}:root[data-theme=dark] .lr-nextplan-text{color:#ebd9a8}:root[data-theme=dark] .community-type-badge.artwork{color:#ff9b9b}:root[data-theme=dark] .community-type-badge.template{color:#9cc4f5}:root[data-theme=dark] .btn-use-template{background:#78aaff24;color:#9cc4f5}
