@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/fonts/PretendardVariable-ksx.woff2) format("woff2-variations")}@font-face{font-family:Cafe24 Ssurround;font-weight:100 900;font-style:normal;font-display:swap;src:url(/fonts/Cafe24Ssurround-ksx.woff2) format("woff2")}:root{--bg-color: #fbf8f1;--on-accent: #fff;--text-color: #1f1b2e;--text-secondary: #7a7590;--border-color: #e6e1d6;--tile-bg: #ffffff;--syllable-bg: #f3eee2;--input-bg: #ffffff;--accent-color: #6c5ce7;--correct-color: #22c55e;--correct-bg: rgba(34, 197, 94, .14);--present-color: #f59e0b;--present-bg: rgba(245, 158, 11, .14);--absent-color: #d6d2c9;--absent-bg: rgba(214, 210, 201, .3);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--tile-face: linear-gradient(180deg, #ffffff, #f3eee2);--tile-edge: #d9d2c2;--tile-ring: #ebe6da;--slot-bg: #f3eee2;--stage-bg: #ffffff;--stage-border: #ebe6da;--stage-shadow: 0 12px 30px -12px rgba(31, 27, 46, .2);--dot: #d6d2c9;--card-bg: #ffffff;--card-edge: #e6e1d6;--accent-edge: #4b3fc2;--accent-soft: #efeafd;--hint-bg: #ffe8a3;--hint-text: #7a5200;--hint-edge: #e2c46a;--danger: #e0564b;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--tabbar-h: 62px;--tabbar-gap: max(12px, var(--safe-area-inset-bottom));--ad-h: 50px;--glass-bg: rgba(255, 255, 255, .94);--glass-blur: blur(16px) saturate(140%);--glass-border: #e6e1d6;--glass-shadow: 0 6px 0 #e6e1d6, 0 14px 30px rgba(31, 27, 46, .12);--chip-bg: #ffffff;--chip-bg-hover: #f3eee2;--seg-thumb: #ffffff;--font-body: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display: "Cafe24 Ssurround", "Pretendard Variable", "Pretendard", -apple-system, system-ui, sans-serif;font-family:var(--font-body);word-break:keep-all;overflow-wrap:break-word;line-height:1.5;font-weight:400;color:var(--text-color);background-color:var(--bg-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--bg-color: #1b1830;--text-color: #f4f1ff;--text-secondary: #a39fbf;--border-color: #332e4f;--tile-bg: #342f52;--syllable-bg: #262240;--input-bg: #262240;--accent-color: #a89cff;--on-accent: #17141f;--correct-color: #34d399;--correct-bg: rgba(52, 211, 153, .18);--present-color: #fbbf24;--present-bg: rgba(251, 191, 36, .18);--absent-color: #4a4568;--absent-bg: rgba(74, 69, 104, .35);--tile-face: linear-gradient(180deg, #3d3760, #2f2a4d);--tile-edge: #15122a;--tile-ring: transparent;--slot-bg: #221e38;--stage-bg: #262240;--stage-border: #332e4f;--stage-shadow: 0 12px 30px -12px rgba(0, 0, 0, .6);--dot: #3f3a5c;--card-bg: #262240;--card-edge: #15122a;--accent-edge: #6f62d6;--accent-soft: rgba(168, 156, 255, .16);--hint-bg: #fbbf24;--hint-text: #3b2a00;--hint-edge: #b45309;--danger: #f87171;--glass-bg: rgba(38, 34, 64, .96);--glass-border: #332e4f;--glass-shadow: 0 6px 0 #15122a, 0 14px 30px rgba(0, 0, 0, .5);--chip-bg: #262240;--chip-bg-hover: #342f52;--seg-thumb: #342f52}[data-contrast=high],[data-contrast=high][data-theme=dark]{--correct-color: #f5793a;--correct-bg: rgba(245, 121, 58, .16);--present-color: #85c0f9;--present-bg: rgba(133, 192, 249, .18)}.app[data-mode=story]{--accent-color: #22a06b;--accent-edge: #15804f;--accent-soft: rgba(34, 160, 107, .14)}.app[data-mode=timeattack]{--accent-color: #f97316;--accent-edge: #c2410c;--accent-soft: rgba(249, 115, 22, .14)}[data-theme=dark] .app[data-mode=story]{--accent-color: #34d399;--accent-edge: #15804f}[data-theme=dark] .app[data-mode=timeattack]{--accent-color: #fb923c;--accent-edge: #c2410c}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font-family:inherit}html,body{overscroll-behavior:none}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg-color)}#root{min-height:100vh;min-height:100dvh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.modal-overlay{animation:fadeIn .2s ease-out}.modal-content{animation:slideUp .3s ease-out}button,a,input,textarea,select{transition:all .2s ease}@media(hover:hover){button:hover{transform:translateY(-1px)}}button:active{transform:translateY(0)}@media(max-width:480px){.modal-content{max-width:90vw!important;max-height:90vh!important;max-height:calc(90dvh - var(--safe-area-inset-top))!important;padding:24px 16px!important}button,a,input[type=button],input[type=submit]{min-height:44px}body{font-size:16px}}@media(pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{font-size:max(16px,1rem)!important}}.fx-overlay{--fx: #f59e0b;position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--fx) 32%,transparent) 0%,transparent 55%),#0f0c1ebd;animation:fadeIn .2s ease;transition:opacity .3s}.fx-overlay.closing{opacity:0}.fx-rays{position:absolute;width:640px;height:640px;left:50%;top:50%;margin:-320px 0 0 -320px;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--fx) 32%,transparent) 0deg 9deg,transparent 9deg 18deg);-webkit-mask:radial-gradient(circle,#000 12%,transparent 62%);mask:radial-gradient(circle,#000 12%,transparent 62%);animation:fx-spin 9s linear infinite;pointer-events:none}@keyframes fx-spin{to{transform:rotate(360deg)}}.fx-card{position:relative;width:min(310px,calc(100vw - 48px));padding:26px 20px 20px;border-radius:26px;text-align:center;color:var(--text-color);background:var(--card-bg);border:1px solid var(--card-edge);box-shadow:0 8px 0 var(--card-edge),0 30px 70px #00000073;animation:fx-pop .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes fx-pop{0%{transform:scale(.4) rotate(-6deg);opacity:0}to{transform:none;opacity:1}}.fx-kicker{display:inline-block;font-size:.72rem;font-weight:900;letter-spacing:.06em;color:#fff;background:var(--fx);border-radius:999px;padding:3px 11px}.fx-btn{width:100%;min-height:48px;margin-top:16px;border:none;border-radius:var(--radius-md);background:var(--accent-color);color:var(--on-accent);font-size:1rem;font-weight:900;box-shadow:0 5px 0 var(--accent-edge);cursor:pointer;transition:transform .12s,box-shadow .12s}.fx-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--accent-edge)}.fx-burst{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:3}.fx-burst span{position:absolute;width:9px;height:9px;margin:-4.5px;border-radius:3px;background:var(--fx, #f59e0b);opacity:0;transform:rotate(calc(var(--i) * 360deg / var(--n))) translateY(0);animation:fx-burst .85s .05s cubic-bezier(.2,.8,.3,1) forwards}.fx-burst span:nth-child(3n){background:#fbbf24;border-radius:50%}.fx-burst span:nth-child(4n){background:var(--accent-color)}@keyframes fx-burst{0%{opacity:1;transform:rotate(calc(var(--i) * 360deg / var(--n))) translateY(0) scale(1)}to{opacity:0;transform:rotate(calc(var(--i) * 360deg / var(--n))) translateY(calc(var(--d, 110px) * -1)) scale(.4)}}.fx-coin-line{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:1.5rem;font-weight:900;color:#d97706;font-variant-numeric:tabular-nums}.fx-coin-line .game-icon{width:30px;height:30px}@media(prefers-reduced-motion:reduce){.fx-rays{animation:none}}h1,h2,h3,h4,.header-title,.coin-value,.level-chip-label,.streak-chip-count,.bp-header-level,.mode-segment-btn,.bottom-tab-label,.today-title,.today-chip,.action-btn,.next-btn,.fx-btn,.fx-kicker,.fx-coin-line,.coin-toast,.help-option-name,.help-option-count,.help-option-icon,.def-reveal-label,.achievement-kicker,.achievement-text strong,.achievement-reward,.attendance-title,.attendance-day-label,.levelup-num,.levelup-title,.reward-coins,.reward-xp-level,.reward-levelup,.success-word,.stat-value,.result-head,.result-streak,.share-primary,.share-btn,.streak-milestone-text b,.journey-title,.journey-stars,.journey-continue,.journey-node-name,.journey-node-count,.journey-stage-num,.journey-stage-badge,.journey-unlocked-banner b,.ta-timer,.ta-score,.ta-bonus,.ta-start-btn,.ta-result-score,.ta-result-kicker,.ta-result-coins,.ta-record-score,.ta-share-btn,.ta-lb-rank,.stats-value,.countdown-time,.shop-coin-amount,.shop-item-name,.shop-buy-btn,.shop-tab,.cosmetic-subtab,.cosmetic-equip-btn,.lottery-tier-name,.lottery-pull-label,.lottery-pull-price,.lottery-ticket-q,.lottery-ticket-name,.lottery-result-tier,.lottery-result-badge,.lottery-result-label,.lottery-again,.lottery-result-close,.shop-coin-delta,.shop-buy-fx-label,.lb-tab,.lb-level,.lb-sheet-title,.lb-me-badge,.lb-sheet-btn,.more-sheet-title,.more-sheet-item-label,.bp-level-badge,.bp-premium-btn,.bp-claim-btn,.weekly-claim-btn,.tutorial-step-title,.tutorial-coach-step,.quiz-banner-label,.quiz-submit-btn,.post-submit-btn,.feedback-submit-btn,.changelog-version,.wordbook-rank-badge{font-family:var(--font-display)}.game-icon{display:inline-block;width:1.25em;height:1.25em;object-fit:contain;vertical-align:-.25em;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.modal-overlay{position:fixed;inset:0;background:#1814286b;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:950;padding:20px}.modal-content{background:var(--bg-color);border:1px solid var(--card-edge);border-radius:24px;padding:26px 22px 22px;max-width:420px;width:100%;max-height:80vh;max-height:calc(80dvh - var(--safe-area-inset-top));overflow-y:auto;position:relative;color:var(--text-color);box-shadow:0 6px 0 var(--card-edge),0 28px 60px -14px #18142861}[data-theme=dark] .modal-content{box-shadow:0 6px 0 var(--card-edge),0 28px 60px -14px #000000a6}.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;min-height:34px;padding:0;border:1px solid var(--card-edge);background:var(--card-bg);box-shadow:0 2px 0 var(--card-edge);font-size:0;cursor:pointer;color:var(--text-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .12s;z-index:2}@media(hover:hover){.modal-close:hover{background:var(--chip-bg-hover)}}.modal-content h2{margin:0 0 18px;font-size:1.3rem;font-weight:900;letter-spacing:-.03em}.modal-content h3{margin:20px 0 8px;font-size:1rem;font-weight:700}.modal-content p,.modal-content li{font-size:.88rem;line-height:1.6;color:var(--text-secondary)}.modal-content ol,.modal-content ul{padding-left:20px}.help-colors{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:.88rem;color:var(--text-secondary)}.help-color{display:inline-block;width:28px;height:28px;border-radius:6px;color:#fff;font-size:.65rem;font-weight:700;text-align:center;line-height:28px}.help-color.correct{background:var(--correct-color)}.help-color.present{background:var(--present-color)}.help-color.absent{background:var(--absent-color)}.modal-close:before{content:"";width:12px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5l14 14M19 5L5 19' stroke='black' stroke-width='3.4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5l14 14M19 5L5 19' stroke='black' stroke-width='3.4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat}.modal-close:active{transform:translateY(2px);box-shadow:none}.help-modal h2{font-family:var(--font-display)}.help-modal section h3{font-family:var(--font-display);margin:18px 0 8px}.help-lead{margin:-6px 0 4px;word-break:keep-all}.help-note{margin:6px 0 0;font-size:.8rem!important;word-break:keep-all}.help-tile{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding-bottom:2px;box-sizing:border-box;border-radius:9px;background:var(--tile-face);box-shadow:inset 0 -2px 0 var(--tile-edge),0 0 0 1px var(--card-edge);color:var(--text-color);font-size:.95rem;font-weight:900;line-height:1;flex-shrink:0}.help-tile.correct,.help-tile.present,.help-tile.absent{box-shadow:none;padding-bottom:0;color:#fff}.help-tile.correct{background:var(--correct-color)}.help-tile.present{background-color:var(--present-color);background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.13) 0 3px,transparent 3px 8px)}.help-tile.absent{background:var(--absent-color);color:var(--text-color)}.help-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.help-step{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:10px;border-radius:14px;background:var(--card-bg);border:1px solid var(--card-edge);box-shadow:0 3px 0 var(--card-edge)}.help-step-icon{grid-row:span 2;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--accent-soft);color:var(--accent-color)}.help-step b{font-family:var(--font-display);font-size:.86rem;color:var(--text-color)}.help-step span:not(.help-step-icon){font-size:.74rem;color:var(--text-secondary)}.help-rules{display:flex;flex-direction:column;gap:6px}.help-rules.two{display:grid;grid-template-columns:repeat(2,1fr)}.help-rule{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:12px;background:var(--slot-bg);font-size:.8rem;color:var(--text-secondary)}.help-rule>span:last-child:not(.help-tile){margin-left:auto;white-space:nowrap}.help-chain{display:inline-flex;align-items:center;gap:3px}.help-chev{color:var(--text-secondary);opacity:.7}.help-loop{color:var(--accent-color);margin-left:2px}.help-eq{font-weight:900;color:var(--text-secondary);margin:0 1px}.help-colors-grid{display:flex;flex-direction:column;gap:6px}.help-color-row{display:flex;align-items:center;gap:10px;font-size:.84rem;color:var(--text-secondary)}.help-color-row b{color:var(--text-color);margin-right:4px}.help-modes{list-style:none;padding:0!important;margin:0;display:flex;flex-direction:column;gap:4px}.help-modes li{font-size:.84rem}.help-modes b{display:inline-block;min-width:64px;font-family:var(--font-display);color:var(--text-color)}.help-modal section{animation:help-sec-in .35s cubic-bezier(.2,.8,.2,1) both}.help-modal section:nth-of-type(2){animation-delay:60ms}.help-modal section:nth-of-type(3){animation-delay:.12s}.help-modal section:nth-of-type(4){animation-delay:.18s}.help-modal section:nth-of-type(5){animation-delay:.24s}@keyframes help-sec-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.help-modal section{animation:none}}@media(max-width:380px){.help-steps{grid-template-columns:1fr}}.filter-chip-wrap{position:relative}.filter-chip{position:relative;display:inline-flex;align-items:center;height:36px;min-height:36px;padding:0 12px;gap:6px;border-radius:999px;border:1px solid var(--glass-border);background:var(--chip-bg);font-size:.8rem;color:var(--text-color);cursor:pointer;transition:transform .12s,background .18s,color .18s,border-color .18s;-webkit-tap-highlight-color:transparent}.filter-chip:before{content:"";position:absolute;inset:-4px}.filter-chip:active{transform:scale(.96)}@media(hover:hover){.filter-chip:hover{background:var(--chip-bg-hover)}}.filter-chip.is-set{background:color-mix(in srgb,var(--accent-color) 12%,transparent);border-color:color-mix(in srgb,var(--accent-color) 30%,transparent);color:var(--accent-color)}.filter-chip-name{font-weight:600;color:var(--text-secondary)}.filter-chip-value{font-weight:800}.filter-chip-chevron{transition:transform .18s}.filter-chip.is-open .filter-chip-chevron{transform:rotate(180deg)}.filter-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:160px;padding:6px;border-radius:16px;background:var(--bg-color);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);z-index:700;transform-origin:top center;animation:filter-menu-in .16s ease-out}@keyframes filter-menu-in{0%{opacity:0;transform:translate(-50%) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}.filter-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;height:40px;min-height:40px;padding:0 12px;border:none;border-radius:10px;background:transparent;font-size:.9rem;font-weight:600;color:var(--text-color);cursor:pointer;-webkit-tap-highlight-color:transparent}.filter-menu-item.selected{color:var(--accent-color);font-weight:800}.filter-menu-item:active{background:var(--chip-bg)}@media(hover:hover){.filter-menu-item:hover{background:var(--chip-bg)}}@media(prefers-reduced-motion:reduce){.filter-menu{animation:none}.filter-chip,.filter-chip-chevron{transition:none}}.header{display:flex;flex-direction:column;padding:calc(10px + var(--safe-area-inset-top)) 16px 0;position:relative}.header:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,var(--border-color) 20%,var(--border-color) 80%,transparent)}.header-top{display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:8px}body.tab-nav .mode-tabs,body.tab-nav .nav-row-btns,body.tab-nav .header-nav .nav-row{display:none}body.tab-nav .header{padding-bottom:4px}body.tab-nav .header:after{display:none}body.tab-nav .header-title{position:static;transform:none;flex:1;min-width:0;text-align:center;overflow:hidden;white-space:nowrap}body.tab-nav .header-left,body.tab-nav .header-stats{flex-shrink:0}@media(max-width:440px){body.tab-nav .header-title{visibility:hidden}}@media(max-width:440px){body.tab-nav .header-left .bgm-btn{display:none}}@media(max-width:400px){body.tab-nav .header-left{gap:6px}body.tab-nav .header-stats{gap:5px}body.tab-nav .streak-chip{padding:0 9px 0 7px}}@media(max-width:360px){body.tab-nav .header-stats{gap:3px}body.tab-nav .streak-chip{padding:0 7px 0 5px}}@media(max-width:340px){body.tab-nav .level-chip{padding:0 7px}body.tab-nav .level-chip-label{display:none}body.tab-nav .header-top{gap:4px}body.tab-nav .header-btn{width:34px;height:34px;min-height:34px}}body.tab-nav .leaderboard-btn,body.tab-nav .stats-btn{display:none}.header-title{font-size:1.6rem;font-weight:900;margin:0;letter-spacing:-.05em;color:var(--text-color);position:absolute;left:50%;transform:translate(-50%)}.header-nav{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 10px}.nav-row{display:flex;align-items:center;justify-content:center;gap:4px;width:100%}.nav-row-btns{display:flex;align-items:center;gap:4px;flex-shrink:0}.mode-tabs{display:flex;gap:2px;background:var(--syllable-bg, #f1f1f1);border-radius:6px;padding:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:1;min-width:0}.mode-tabs::-webkit-scrollbar{display:none}.mode-tab{padding:3px 8px;font-size:.7rem;font-weight:600;border:none;border-radius:4px;background:transparent;white-space:nowrap;flex-shrink:0;color:var(--text-secondary);cursor:pointer;transition:background .2s,color .2s}.mode-tab.active{background:var(--tile-bg, #fff);color:var(--accent-color);box-shadow:0 1px 2px #00000014}.header-btn,.streak-chip{height:40px;min-height:40px;border-radius:999px;border:1px solid var(--card-edge);background:var(--chip-bg);box-shadow:0 2px 0 var(--card-edge);color:var(--text-color);display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-btn{position:relative;width:40px;padding:0;cursor:pointer;transition:background .18s,transform .12s}.header-btn:before{content:"";position:absolute;inset:-2px}.header-btn:active{transform:scale(.92)}@media(hover:hover){.header-btn:hover{background:var(--chip-bg-hover)}}.header-stats{display:flex;align-items:center;gap:8px}.wordbook-btn{display:flex;align-items:center;padding:2px 6px;border:1px solid var(--border-color);border-radius:12px;background:transparent;cursor:pointer;transition:background .2s;flex-shrink:0}@media(hover:hover){.wordbook-btn:hover{background:var(--syllable-bg)}}.wordbook-icon{font-size:.85rem;line-height:1}.bp-header-btn{display:flex;align-items:center;gap:3px;padding:2px 6px 2px 2px;border:1px solid transparent;border-radius:12px;background:var(--accent-soft);cursor:pointer;transition:background .2s;flex-shrink:0}@media(hover:hover){.bp-header-btn:hover{background:color-mix(in srgb,var(--accent-color) 22%,transparent)}}.bp-header-icon{font-size:.75rem;line-height:1;margin-left:2px}.bp-header-level{font-size:.65rem;font-weight:800;color:var(--accent-color)}.coin-btn{display:flex;align-items:center;gap:3px;padding:2px 6px 2px 2px;border:1px solid rgba(245,158,11,.3);border-radius:12px;background:#f59e0b14;cursor:pointer;transition:background .2s;flex-shrink:0}@media(hover:hover){.coin-btn:hover{background:#f59e0b29}}.coin-badge{font-size:.5rem;font-weight:900;color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.coin-value{font-size:.65rem;font-weight:800;color:#d97706}[data-theme=dark] .coin-value{color:#fbbf24}.settings-badge{position:absolute;top:2px;right:2px;width:8px;height:8px;background:#ef4444;border-radius:50%;border:1.5px solid var(--bg-color, #fff)}.streak-chip{gap:4px;padding:0 12px 0 10px;color:var(--text-secondary)}.coin-chip{cursor:pointer;padding:0 12px 0 8px;color:var(--text-color);font:inherit}.coin-chip .game-icon{width:20px;height:20px}.coin-chip.bump{animation:coin-chip-bump .6s cubic-bezier(.2,.9,.3,1.4)}.coin-chip.bump .streak-chip-count{color:#d97706}[data-theme=dark] .coin-chip.bump .streak-chip-count{color:#fbbf24}@keyframes coin-chip-bump{0%{transform:scale(1)}30%{transform:scale(1.18) rotate(-3deg)}60%{transform:scale(.96)}to{transform:scale(1)}}.coin-chip:active{transform:translateY(2px);box-shadow:none}@media(prefers-reduced-motion:reduce){.coin-chip.bump{animation:none}}.streak-chip.has-tier{color:var(--streak-color);background:color-mix(in srgb,var(--streak-color) 12%,transparent);border-color:color-mix(in srgb,var(--streak-color) 30%,transparent)}.streak-chip .game-icon{width:22px;height:22px;vertical-align:middle}.streak-chip .game-icon.is-muted{filter:grayscale(1);opacity:.55}.level-chip{color:var(--accent-color);background:var(--accent-soft);border-color:transparent;box-shadow:0 2px color-mix(in srgb,var(--accent-color) 35%,transparent);padding:0 11px}.level-chip-label{font-size:.7rem;font-weight:800;letter-spacing:.02em}.streak-chip-count{font-size:.9rem;font-weight:800;color:var(--text-color);font-variant-numeric:tabular-nums}.story-stars-badge{font-size:.7rem;font-weight:700;color:#f59e0b;background:#f59e0b1f;padding:2px 10px;border-radius:10px}@media(max-width:480px){.header-title{font-size:1.1rem}}.mode-segment{position:relative;display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,360px);height:44px;margin:8px auto 0;padding:4px;border-radius:999px;background:var(--chip-bg);border:1px solid var(--glass-border)}.mode-segment-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / 3);border-radius:999px;background:var(--seg-thumb);box-shadow:0 1px 3px #0000001f,0 1px 1px #0000000a;transform:translate(calc(var(--seg-index, 0) * 100%));transition:transform .28s cubic-bezier(.2,.8,.2,1);pointer-events:none}.mode-segment-btn{position:relative;z-index:1;min-height:0;height:100%;border:none;background:transparent;border-radius:999px;font-size:.9rem;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:color .18s;-webkit-tap-highlight-color:transparent}.mode-segment-btn.active{color:var(--text-color);font-weight:800}@media(prefers-reduced-motion:reduce){.mode-segment-thumb{transition:none}}.filter-chips{display:flex;justify-content:center;gap:8px;margin-top:10px}.bottom-tab-bar{display:none}body.tab-nav .bottom-tab-bar{display:flex;align-items:stretch;position:fixed;left:12px;right:12px;bottom:var(--tabbar-gap);height:var(--tabbar-h);max-width:496px;margin:0 auto;padding:0 4px;z-index:850;border-radius:24px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}body.tab-nav.keyboard-open .bottom-tab-bar{display:none}.bottom-tab-indicator{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--tab-count, 5));background:var(--accent-soft);border-radius:18px;transform:translate(calc(var(--active-index) * 100%));transition:transform .28s cubic-bezier(.2,.8,.2,1);pointer-events:none;z-index:0}@media(prefers-reduced-motion:reduce){.bottom-tab-indicator{transition:none}}.bottom-tab{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:44px;padding:0;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:color .18s,transform .12s;-webkit-tap-highlight-color:transparent}.bottom-tab.active{color:var(--accent-color)}.bottom-tab:active{transform:scale(.92)}.bottom-tab-icon{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.bottom-tab-dot{position:absolute;top:1px;right:-1px;width:8px;height:8px;border-radius:50%;background:var(--danger, #ef4444);box-shadow:0 0 0 2px var(--card-bg)}.bottom-tab-label{font-size:.68rem;font-weight:800;line-height:1}body.tab-nav .app{padding-bottom:calc(var(--tabbar-gap) + var(--tabbar-h) + 16px)}body.tab-nav:not(.is-native) .app{padding-bottom:calc(var(--tabbar-gap) + var(--tabbar-h) + var(--ad-h) + 24px)}.bottom-tab.active .bottom-tab-icon{animation:tab-icon-bounce .42s cubic-bezier(.2,.9,.3,1.5)}.bottom-tab:active .bottom-tab-icon{transform:scale(.88)}@keyframes tab-icon-bounce{0%{transform:scale(.8) translateY(2px)}55%{transform:scale(1.15) translateY(-3px)}to{transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.bottom-tab.active .bottom-tab-icon{animation:none}}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-fade-in{0%{opacity:0}to{opacity:1}}.more-sheet-overlay{position:fixed;inset:0;background:#1814286b;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:980;animation:sheet-fade-in .18s ease-out}.more-sheet{width:100%;max-width:520px;background:var(--bg-color);border-radius:24px 24px 0 0;padding:12px 20px calc(24px + var(--safe-area-inset-bottom));box-shadow:0 -12px 40px -8px #0003;animation:sheet-slide-up .28s cubic-bezier(.32,.72,.32,1);color:var(--text-color)}.more-sheet-handle{width:38px;height:4px;background:var(--border-color);border-radius:2px;margin:0 auto 12px}.more-sheet-title{font-size:1rem;font-weight:800;margin:0 0 16px;text-align:center;letter-spacing:-.02em}.more-sheet-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:8px}.more-sheet-item{display:flex;align-items:center;gap:10px;padding:14px;border-radius:16px;color:var(--text-color);cursor:pointer;transition:transform .12s,box-shadow .12s;text-align:left;background:var(--card-bg);border:1px solid var(--card-edge);box-shadow:0 4px 0 var(--card-edge)}.more-sheet-item:active{transform:translateY(3px);box-shadow:0 1px 0 var(--card-edge)}.more-sheet-item.highlight{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent-color) 35%,var(--card-edge));box-shadow:0 4px color-mix(in srgb,var(--accent-color) 30%,var(--card-edge))}[data-theme=dark] .more-sheet-item{background:var(--card-bg)}.more-sheet-item-icon{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:12px;background:var(--accent-soft);color:var(--accent-color)}.more-sheet-item-text{display:flex;flex-direction:column;gap:2px;min-width:0}.more-sheet-item-label{font-size:.9rem;font-weight:800;letter-spacing:-.02em}.more-sheet-item-sub{font-size:.7rem;color:var(--text-secondary);font-weight:600}.more-sheet-dot{position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:50%;background:var(--danger, #ef4444);box-shadow:0 0 0 2px var(--card-bg)}@keyframes pool-pop-in{0%{scale:0;opacity:0}50%{scale:1.1}70%{scale:.95}to{scale:1;opacity:1}}.jamo-tile{width:48px;height:48px;border:none;border-radius:var(--radius-md);background:var(--tile-face);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;font-weight:900;color:var(--text-color);transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease,background .18s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:0 0 0 1px var(--tile-ring),0 5px 0 var(--tile-edge),0 10px 18px -8px #1f1b2e4d;touch-action:none;position:relative;animation:pool-pop-in .3s cubic-bezier(.34,1.56,.64,1) both}@media(hover:hover){.jamo-tile:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 0 var(--tile-edge),0 14px 22px -8px #1f1b2e59;z-index:10}}.jamo-tile:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 var(--tile-edge),0 4px 10px -6px #1f1b2e4d}.jamo-tile.fixed{background:var(--correct-color);color:#fff;opacity:1;box-shadow:0 5px color-mix(in srgb,var(--correct-color) 60%,#000),0 10px 18px -8px #1f1b2e4d}.fixed-badge{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;background:var(--text-color);color:var(--bg-color);font-size:.55rem;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.jamo-tile.solved{cursor:default;background:var(--correct-color);color:#fff;box-shadow:0 5px color-mix(in srgb,var(--correct-color) 60%,#000)}.jamo-char{display:inline-block;transition:transform .3s cubic-bezier(.34,1.56,.64,1);line-height:1}.press-ring{position:absolute;inset:-3px;border-radius:inherit;border:2px solid transparent;border-top-color:var(--accent-color);border-right-color:var(--accent-color);animation:press-spin .5s linear forwards;pointer-events:none}@keyframes press-spin{0%{clip-path:polygon(50% 50%,50% 0%,50% 0%);opacity:.6}25%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 50%)}50%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,50% 100%)}75%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%,0% 50%)}to{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%,0% 0%);opacity:1}}.jamo-tile.pressing{opacity:.8;box-shadow:0 0 0 2px var(--accent-color)}.jamo-tile.drag-source{opacity:.3;pointer-events:none}@media(max-width:480px){.jamo-tile{width:40px;height:40px;font-size:1.2rem}}.jamo-board{position:relative;margin:8px auto;border-radius:var(--radius-lg);width:100%;max-width:488px;touch-action:none}.guess-grid{display:flex;flex-direction:column;align-items:center;gap:8px;margin:8px auto;width:100%;max-width:488px;padding:14px 12px 12px;border-radius:var(--radius-lg);background:var(--stage-bg);border:1px solid var(--stage-border);box-shadow:var(--stage-shadow);container-type:inline-size;--row-gap: 10px;--syl-gap: 2px;--fit-cell: calc((100cqw - (var(--num-groups) - 1) * var(--row-gap) - (var(--total-slots) - var(--num-groups)) * var(--syl-gap)) / var(--total-slots))}.grid-row{display:flex;gap:var(--row-gap);justify-content:center;align-items:center;width:100%}.grid-syllable{display:flex;gap:var(--syl-gap);flex-shrink:1;min-width:0;align-items:center}.grid-cell{width:40px;min-width:20px;aspect-ratio:1;flex-shrink:1;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800;-webkit-user-select:none;user-select:none;transition:border-color .2s,background .25s,transform .15s}.grid-row.active .grid-cell{width:46px;width:min(46px,var(--fit-cell))}.grid-row.completed .grid-cell{width:34px;width:min(34px,var(--fit-cell));font-size:.95rem;border-radius:8px}.grid-row.completed .grid-cell{color:#fff}.grid-row.revealing .grid-cell{animation:cell-reveal .42s cubic-bezier(.2,.8,.2,1) both}@keyframes cell-reveal{0%{transform:rotateX(90deg) scale(.9);background:var(--tile-bg);color:var(--text-color)}55%{transform:rotateX(0) scale(1.12)}to{transform:rotateX(0) scale(1)}}.grid-cell.correct{background:var(--correct-color)}.grid-cell.present{background-color:var(--present-color);background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.13) 0 3px,transparent 3px 8px)}.grid-cell.absent{background:var(--absent-color);color:var(--text-color)}.grid-row.completed .grid-cell.absent{color:var(--text-color)}.grid-cell.slot{border:none;background:var(--slot-bg);box-shadow:inset 0 2px 4px #1f1b2e14;color:var(--text-color);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none;padding:0;min-height:0;font:inherit;font-weight:900}@media(hover:hover){.grid-cell.slot:hover{border-color:var(--accent-color)}}.grid-cell.slot.accepting{box-shadow:inset 0 0 0 2px var(--accent-color);background:var(--accent-soft)}.grid-cell.slot.filled{border:none;background:var(--tile-face);box-shadow:inset 0 -3px 0 var(--tile-edge);padding-bottom:3px;cursor:pointer}@media(hover:hover){.grid-cell.slot.filled:hover{box-shadow:inset 0 -3px 0 var(--tile-edge),0 0 0 2px var(--accent-soft)}}.grid-row.empty{gap:10px}.grid-row.empty .grid-syllable{gap:3px}.grid-cell.blank{width:9px;min-width:9px;border:none;border-radius:50%;background:var(--dot);opacity:1}.grid-cell.slot.rotated-warn{border-color:#f59e0b;background:#f59e0b14;position:relative}.rotated-badge{position:absolute;top:-5px;right:-5px;width:14px;height:14px;border-radius:50%;background:#f59e0b;color:#fff;font-size:.55rem;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.grid-cell.slot.hinted{box-shadow:inset 0 0 0 2px var(--accent-color);background:var(--accent-soft);position:relative;padding-bottom:0;cursor:default}.hint-badge{position:absolute;top:-6px;right:-6px;font-size:.6rem;line-height:1;pointer-events:none}@keyframes slot-pop-in{0%{scale:0;opacity:0}60%{scale:1.15;opacity:1}to{scale:1;opacity:1}}.cell-jamo{display:inline-block;line-height:1;transition:transform .3s cubic-bezier(.34,1.56,.64,1);animation:slot-pop-in .25s cubic-bezier(.34,1.56,.64,1) both}.grid-cell.slot.drag-source{opacity:.3}.grid-cell.slot.drop-target{border-color:var(--accent-color);transform:scale(1.08);background:var(--accent-soft)}@media(max-width:480px){.guess-grid{--row-gap: 7px;--syl-gap: 1px}.grid-cell{width:32px;min-width:18px;font-size:.85rem;border-radius:8px}}.achievement-toast{position:fixed;top:calc(16px + var(--safe-area-inset-top));left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;transition:opacity .3s,transform .3s}.achievement-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.achievement-toast.hide{opacity:0;transform:translate(-50%) translateY(-20px)}.achievement-item{display:flex;align-items:center;gap:10px;background:var(--card-bg);border:1px solid color-mix(in srgb,var(--accent-color) 45%,var(--card-edge));border-radius:16px;padding:10px 16px;box-shadow:0 4px 0 var(--accent-edge),0 14px 30px #1814282e;min-width:220px;animation:toast-pop .3s ease-out}@keyframes toast-pop{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.achievement-icon{font-size:1.5rem;flex-shrink:0}.achievement-text{display:flex;flex-direction:column;gap:2px}.achievement-text strong{font-size:.85rem;color:var(--text-color)}.achievement-text span{font-size:.7rem;color:var(--text-secondary)}.achievement-share-btn{padding:6px 16px;border:1px solid var(--accent-color);border-radius:8px;background:var(--card-bg);color:var(--accent-color);font-size:.75rem;font-weight:700;cursor:pointer;transition:background .2s;align-self:center}@media(hover:hover){.achievement-share-btn:hover:not(:disabled){background:var(--accent-soft)}}.achievement-share-btn:disabled{opacity:.6;cursor:default}.achievement-item{position:relative;overflow:hidden;min-width:260px;gap:12px}.achievement-item:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 48%,transparent 60%);background-size:260% 100%;animation:achievement-shine 1.2s .35s ease-out both;pointer-events:none}@keyframes achievement-shine{0%{background-position:130% 0}to{background-position:-130% 0}}.achievement-icon{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.achievement-icon .game-icon{width:40px;height:40px;animation:achievement-medal .6s .1s cubic-bezier(.34,1.56,.64,1) both}@keyframes achievement-medal{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(0)}}.achievement-kicker{font-size:.62rem!important;font-weight:900!important;letter-spacing:.06em;color:var(--accent-color)!important}.achievement-reward{flex-shrink:0;margin-left:auto;font-size:.8rem;font-weight:900;color:#fff;background:#f59e0b;box-shadow:0 2px #b45309;border-radius:999px;padding:4px 9px}.attendance-title{margin:10px 0 14px;font-size:1.35rem;font-weight:900;letter-spacing:-.03em}.attendance-title b{color:#f97316;font-size:1.7rem}.attendance-week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.attendance-day{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.attendance-day-label{font-size:.62rem;font-weight:800;color:var(--text-secondary)}.attendance-day-mark{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--slot-bg);box-shadow:inset 0 2px 4px #1f1b2e14}.attendance-day-mark .game-icon{width:24px;height:24px}.attendance-day.done .attendance-day-mark{background:#f9731629;box-shadow:none}.attendance-day.done .attendance-day-mark .game-icon{opacity:.7}.attendance-day.today .attendance-day-mark{background:var(--slot-bg)}.attendance-day.today .attendance-day-mark .game-icon{opacity:0}.attendance-day.today.stamped .attendance-day-mark{background:#f97316;box-shadow:0 3px #c2410c;animation:attendance-stamp .42s cubic-bezier(.2,.9,.3,1.3) both}.attendance-day.today.stamped .attendance-day-mark .game-icon{opacity:1;filter:brightness(1.15)}.attendance-day.today .attendance-day-label{color:#f97316}@keyframes attendance-stamp{0%{transform:scale(2.2) rotate(-18deg);opacity:0}60%{transform:scale(.88) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0)}}.countdown{display:flex;flex-direction:column;align-items:center;gap:4px}.countdown-label{font-size:.8rem;color:var(--text-secondary)}.countdown-time{font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent-color);letter-spacing:.05em}.story-map.journey{width:100%;max-width:488px;margin:0 auto;animation:fadeIn .25s ease}.journey-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 14px}.journey-title{font-size:1.35rem;font-weight:900;letter-spacing:-.03em;margin-right:8px}.journey-stars{font-size:.95rem;font-weight:800;color:#f59e0b}.journey-continue{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:none;border-radius:var(--radius-md);background:var(--accent-color);color:var(--on-accent);font-size:.85rem;font-weight:800;box-shadow:0 4px 0 var(--accent-edge);cursor:pointer;white-space:nowrap;transition:transform .12s,box-shadow .12s}.journey-continue:active{transform:translateY(3px);box-shadow:0 1px 0 var(--accent-edge)}.journey-trail{position:relative;padding-left:30px}.journey-trail:before{content:"";position:absolute;left:11px;top:28px;bottom:28px;border-left:3px dotted var(--dot)}.journey-chapter{position:relative;margin-bottom:10px}.journey-chapter:before{content:"";position:absolute;left:-25px;top:26px;width:13px;height:13px;border-radius:50%;background:var(--dot);box-shadow:0 0 0 3px var(--bg-color)}.journey-chapter.cleared:before{background:var(--correct-color)}.journey-chapter.current:before{background:var(--accent-color);box-shadow:0 0 0 3px var(--bg-color),0 0 0 6px var(--accent-soft)}.journey-node{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--card-edge);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:0 4px 0 var(--card-edge);color:var(--text-color);text-align:left;cursor:pointer;transition:transform .12s,box-shadow .12s}.journey-node:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 var(--card-edge)}.journey-chapter.expanded .journey-node{border-color:color-mix(in srgb,var(--accent-color) 45%,transparent);box-shadow:0 4px color-mix(in srgb,var(--accent-color) 35%,var(--card-edge))}.journey-node:disabled{cursor:default;opacity:.6}.journey-node-icon{position:relative;width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.journey-node-icon .game-icon{width:46px;height:46px}.journey-chapter.locked .journey-node-icon .game-icon{filter:grayscale(1);opacity:.6}.journey-node-lock{position:absolute;right:-4px;bottom:-4px;width:20px;height:20px;border-radius:50%;background:var(--text-color);color:var(--bg-color);display:flex;align-items:center;justify-content:center}.journey-node-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.journey-node-name{font-size:1rem;font-weight:900;letter-spacing:-.02em}.journey-node-meta{font-size:.72rem;font-weight:600;color:var(--text-secondary)}.journey-node-progress{display:flex;align-items:center;gap:8px;margin-top:2px}.journey-node-bar{flex:1;height:6px;border-radius:999px;background:var(--slot-bg);overflow:hidden}.journey-node-bar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f59e0b,#fbbf24)}.journey-node-count{font-size:.72rem;font-weight:800;color:#f59e0b;white-space:nowrap}.journey-stages{position:relative;margin:10px 6px 6px}.journey-path{position:absolute;inset:0;width:100%;height:100%;color:var(--dot)}.journey-stage{position:absolute;width:54px;height:54px;transform:translate(-50%,-50%);border:none;border-radius:50%;background:var(--card-bg);box-shadow:0 4px 0 var(--card-edge),0 0 0 1px var(--stage-border);color:var(--text-color);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s,box-shadow .12s}.journey-stage:active{transform:translate(-50%,-50%) translateY(3px);box-shadow:0 1px 0 var(--card-edge),0 0 0 1px var(--stage-border)}.journey-stage-num{font-size:1rem;font-weight:900;line-height:1}.journey-stage-stars{display:flex;gap:1px;font-size:.6rem;line-height:1;color:var(--dot);margin-top:3px}.journey-stage-stars .on{color:#f59e0b}.journey-stage.done{background:var(--accent-soft);box-shadow:0 4px color-mix(in srgb,var(--accent-color) 30%,var(--card-edge)),0 0 0 1px transparent}.journey-stage.next{background:var(--accent-color);color:var(--on-accent);box-shadow:0 5px 0 var(--accent-edge),0 0 0 6px var(--accent-soft);animation:journey-pulse 1.4s ease-in-out infinite}.journey-stage.next .journey-stage-stars{color:#ffffff73}.journey-stage-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);font-size:.6rem;font-weight:900;letter-spacing:.06em;background:var(--text-color);color:var(--bg-color);padding:2px 7px;border-radius:999px}@keyframes journey-pulse{0%,to{box-shadow:0 5px 0 var(--accent-edge),0 0 0 6px var(--accent-soft)}50%{box-shadow:0 5px 0 var(--accent-edge),0 0 0 11px color-mix(in srgb,var(--accent-color) 8%,transparent)}}@media(prefers-reduced-motion:reduce){.journey-stage.next{animation:none}}.journey-unlocked-banner{display:flex;align-items:center;gap:10px;margin:-4px 0 12px;padding:10px 14px;border-radius:var(--radius-md);background:var(--accent-color);color:var(--on-accent);font-size:.85rem;font-weight:700;box-shadow:0 4px 0 var(--accent-edge);animation:fx-pop .5s cubic-bezier(.34,1.56,.64,1) both}.journey-unlocked-banner .game-icon{width:30px;height:30px;flex-shrink:0}.journey-unlocked-banner b{font-weight:900}.journey-chapter.just-unlocked .journey-node{animation:journey-unlock .9s .2s cubic-bezier(.34,1.56,.64,1) both}.journey-chapter.just-unlocked .journey-node-icon .game-icon{animation:journey-unlock-icon .8s .25s cubic-bezier(.34,1.56,.64,1) both}@keyframes journey-unlock{0%{transform:scale(.92);filter:grayscale(1)}30%{transform:rotate(-2deg) scale(.96)}45%{transform:rotate(2deg) scale(.98)}70%{transform:scale(1.04);filter:none}to{transform:scale(1)}}@keyframes journey-unlock-icon{0%{transform:scale(.4) rotate(-20deg)}to{transform:scale(1) rotate(0)}}.adfit-dock{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;z-index:900;text-align:center;background:var(--bg-color);padding-bottom:var(--safe-area-inset-bottom)}body.tab-nav .adfit-dock{bottom:calc(var(--tabbar-gap) + var(--tabbar-h) + 8px);padding-bottom:0;background:transparent;pointer-events:none}body.tab-nav .adfit-dock>*{width:fit-content;margin-inline:auto;pointer-events:auto}.quiz-grid{display:flex;flex-direction:column;align-items:center;gap:6px;margin:8px auto;width:100%;max-width:488px;padding:14px 12px 12px;border-radius:var(--radius-lg);background:var(--stage-bg);border:1px solid var(--stage-border);box-shadow:var(--stage-shadow)}.quiz-grid-row{display:flex;gap:6px;justify-content:center}.quiz-grid-cell{width:48px;aspect-ratio:1;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;-webkit-user-select:none;user-select:none;transition:background .25s}.quiz-grid-row.revealing .quiz-grid-cell{animation:quiz-cell-reveal .44s cubic-bezier(.2,.8,.2,1) both}@keyframes quiz-cell-reveal{0%{transform:rotateX(90deg) scale(.9);background:var(--tile-face);color:var(--text-color)}55%{transform:rotateX(0) scale(1.12)}to{transform:rotateX(0) scale(1)}}.quiz-grid-row.miss{animation:quiz-row-shake .42s ease both}@keyframes quiz-row-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}.quiz-grid-row.next .quiz-grid-cell.blank{box-shadow:inset 0 0 0 2px var(--accent-soft),inset 0 2px 4px #1f1b2e14}@media(prefers-reduced-motion:reduce){.quiz-grid-row.revealing .quiz-grid-cell,.quiz-grid-row.miss{animation:none}}.quiz-grid-row.completed .quiz-grid-cell{color:#fff}.quiz-grid-cell.correct{background:var(--correct-color)}.quiz-grid-cell.present{background-color:var(--present-color);background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.13) 0 3px,transparent 3px 8px)}.quiz-grid-cell.absent{background:var(--absent-color);color:var(--text-color)}.quiz-grid-row.completed .quiz-grid-cell.absent{color:var(--text-color)}.quiz-grid-cell.blank{border:none;background:var(--slot-bg);box-shadow:inset 0 2px 4px #1f1b2e14;opacity:1}@media(max-width:480px){.quiz-grid-row{gap:4px}.quiz-grid-cell{width:40px;font-size:1.05rem;border-radius:8px}}.quiz-input-wrap{display:flex;gap:8px;justify-content:center;align-items:center;margin:12px auto;max-width:488px;width:100%;padding:0 8px;box-sizing:border-box}.quiz-input-spacer{display:none}body.is-native .quiz-input-spacer{display:block;height:70px}body.is-native .quiz-input-wrap{position:fixed;left:12px;right:12px;bottom:calc(var(--tabbar-gap) + var(--tabbar-h) + 8px);width:auto;margin:0 auto;max-width:496px;padding:8px;border-radius:20px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);z-index:800}body.is-native .quiz-input-wrap .quiz-input,body.is-native .quiz-input-wrap .quiz-submit-btn{height:44px;padding-block:0;border-radius:12px}body.is-native.keyboard-open .quiz-input-wrap{left:0;right:0;bottom:var(--kb-h, 0px);max-width:100%;padding:10px 16px;border-radius:0;background:color-mix(in srgb,var(--bg-color) 92%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:none;border-top:1px solid var(--border-color);box-shadow:none}.quiz-input{flex:1;min-width:0;padding:12px 16px;font-size:1.05rem;font-weight:700;border:2px solid var(--border-color);border-radius:12px;background:var(--tile-bg);color:var(--text-color);outline:none;transition:border-color .2s;text-align:center;letter-spacing:.15em}.quiz-input:focus{border-color:var(--accent-color)}.quiz-input:disabled{opacity:.5;cursor:not-allowed}.quiz-submit-btn{padding:10px 20px;font-size:1rem;font-weight:700;border:none;border-radius:10px;background:var(--accent-color);color:var(--on-accent);cursor:pointer;transition:opacity .2s,transform .15s;white-space:nowrap}@media(hover:hover){.quiz-submit-btn:hover:not(:disabled){opacity:.85}}.quiz-submit-btn:active:not(:disabled){transform:scale(.96)}.quiz-submit-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:480px){.quiz-input{padding:8px 10px;font-size:1rem}.quiz-submit-btn{padding:8px 14px;font-size:.9rem}}.quiz-input{border:2px solid var(--card-edge);border-radius:14px;background:var(--card-bg);box-shadow:0 3px 0 var(--card-edge);font-weight:800}.quiz-input:focus{border-color:var(--accent-color);box-shadow:0 3px 0 var(--accent-edge),0 0 0 4px var(--accent-soft)}.quiz-submit-btn{border-radius:14px;font-weight:900;box-shadow:0 3px 0 var(--accent-edge)}.quiz-submit-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--accent-edge)}.quiz-submit-btn:disabled{background:var(--slot-bg);color:var(--text-secondary);box-shadow:0 3px 0 var(--card-edge);opacity:1}.ta-container{width:100%;max-width:488px;margin:0 auto;padding:0 8px;box-sizing:border-box}.ta-timer-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:10px 16px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--card-edge);box-shadow:0 3px 0 var(--card-edge)}.ta-timer{font-size:1.4rem;font-weight:900;font-variant-numeric:tabular-nums;color:var(--text-color);min-width:70px}.ta-timer.warning{color:#ef4444;animation:ta-blink .5s ease-in-out infinite alternate}@keyframes ta-blink{0%{opacity:1}to{opacity:.4}}.ta-problem-num{font-size:.8rem;color:var(--text-secondary);font-weight:700}.ta-score{font-size:1.2rem;font-weight:900;color:var(--accent-color)}.ta-bonus{position:fixed;top:30%;left:50%;transform:translate(-50%);font-size:1.6rem;font-weight:800;color:#10b981;pointer-events:none;animation:ta-float-up .8s ease-out forwards;z-index:100}@keyframes ta-float-up{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-60px)}}.ta-paused{text-align:center;padding:48px 0}.ta-paused h2{font-size:1.4rem;font-weight:800;margin-bottom:20px;color:var(--text-color)}.ta-paused-info{display:flex;justify-content:center;gap:20px;font-size:1rem;font-weight:600;color:#888;margin-bottom:24px}.ta-idle{text-align:center;padding:8px 0 24px}.ta-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;padding:22px 16px 18px;margin-bottom:12px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--card-edge);box-shadow:0 5px 0 var(--card-edge);--fx: var(--accent-color)}.ta-hero>:not(.fx-rays){position:relative}.ta-hero-art{width:84px;height:84px;display:flex;align-items:center;justify-content:center;font-size:3.4rem;border-radius:50%;background:var(--accent-soft);box-shadow:inset 0 -4px color-mix(in srgb,var(--accent-color) 22%,transparent);animation:ta-hero-bob 2.4s ease-in-out infinite}.ta-hero-art .game-icon,.ta-hero-art img{width:62px;height:62px}@keyframes ta-hero-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-6px) rotate(4deg)}}.ta-hero-kicker{margin-top:12px;font-family:var(--font-display);font-size:.72rem;letter-spacing:.04em;color:var(--accent-color)}.ta-idle .ta-hero h2{font-size:1.7rem;font-weight:800;margin:2px 0;color:var(--text-color)}.ta-hero-sub{font-size:.86rem;color:var(--text-secondary)}.ta-rule-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.ta-rule-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:var(--radius-md);background:var(--card-bg);border:1px solid var(--card-edge);box-shadow:0 3px 0 var(--card-edge)}.ta-rule-chip b{font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:var(--accent-color)}.ta-rule-chip span{font-size:.72rem;color:var(--text-secondary)}.ta-rule-note{font-size:.78rem;color:var(--text-secondary);margin:4px 8px 16px;word-break:keep-all}.ta-start-btn{width:100%;padding:14px 32px;min-height:54px;font-family:var(--font-display);font-size:1.15rem;font-weight:900;border:none;border-radius:var(--radius-md);background:var(--accent-color);color:var(--on-accent);box-shadow:0 5px 0 var(--accent-edge);cursor:pointer;transition:transform .12s,box-shadow .12s,opacity .2s}.ta-start-btn.ready{animation:ta-start-breathe 1.8s ease-in-out infinite}@keyframes ta-start-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}.ta-start-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 var(--accent-edge);animation:none}.ta-start-btn:disabled{opacity:.45;cursor:not-allowed}.ta-countdown{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg-color) 70%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.ta-countdown-num{font-family:var(--font-display);font-size:7rem;line-height:1;color:var(--accent-color);text-shadow:0 6px 0 var(--accent-edge);animation:ta-count-pop .62s cubic-bezier(.2,.9,.3,1.3) both}.ta-countdown-num.go{font-size:4.2rem}@keyframes ta-count-pop{0%{transform:scale(2.2);opacity:0}35%{transform:scale(.92);opacity:1}60%{transform:scale(1.06)}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.ta-hero-art,.ta-start-btn.ready,.ta-countdown-num{animation:none}}.ta-today-record{margin-top:16px;padding:14px;background:var(--card-bg);border:1px solid var(--card-edge);box-shadow:0 3px 0 var(--card-edge);border-radius:var(--radius-md);text-align:center}.ta-today-record h3{font-size:.9rem;font-weight:700;color:var(--text-color);margin-bottom:6px}.ta-today-record .ta-record-score{font-size:1.5rem;font-weight:800;color:var(--accent-color)}.ta-finished{text-align:center;padding:20px 0}.ta-finished h2{font-size:1.3rem;font-weight:800;margin-bottom:12px;color:var(--text-color)}.ta-result-score{font-size:2rem;font-weight:800;color:var(--accent-color);margin-bottom:4px}.ta-result-coins{font-size:1rem;color:#888;margin-bottom:16px}.ta-word-list{text-align:left;padding:12px 16px;background:var(--syllable-bg, #f5f5f5);border-radius:10px;margin-bottom:16px;max-height:200px;overflow-y:auto}.ta-word-item{display:flex;align-items:baseline;gap:8px;padding:4px 0;font-size:.9rem;border-bottom:1px solid var(--border-color)}.ta-word-item:last-child{border-bottom:none}.ta-word-name{font-weight:700;color:var(--text-color);flex-shrink:0}.ta-word-def{color:#888;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ta-share-btn{padding:14px 32px;min-height:50px;font-size:1.05rem;font-weight:900;border:none;border-radius:var(--radius-md);background:var(--accent-color);color:var(--on-accent);box-shadow:0 5px 0 var(--accent-edge);cursor:pointer;transition:transform .12s,box-shadow .12s,opacity .2s}@media(hover:hover){.ta-share-btn:hover{opacity:.85}}.ta-skip-btn{padding:6px 10px;font-size:.85rem;font-weight:700;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .2s}@media(hover:hover){.ta-skip-btn:hover{color:var(--text-color)}}.ta-leaderboard{margin-top:20px;padding:14px;background:var(--syllable-bg, #f5f5f5);border:1px solid var(--border-color);border-radius:10px;text-align:left}.ta-leaderboard h3{font-size:.9rem;font-weight:700;color:var(--text-color);margin-bottom:10px;text-align:center}.ta-lb-list{display:flex;flex-direction:column;gap:4px}.ta-lb-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:.9rem}.ta-lb-row:nth-child(-n+3){background:var(--accent-soft)}.ta-lb-rank{font-weight:800;color:var(--accent-color);min-width:24px;text-align:center}.ta-lb-name{flex:1;font-weight:600;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ta-lb-score{font-weight:700;color:#888;flex-shrink:0}.ta-start-btn:active:not(:disabled),.ta-share-btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--accent-edge)}.ta-result-head{--fx: var(--accent-color);position:relative;overflow:hidden;margin:0 -8px 14px;padding:22px 12px 18px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--card-edge);box-shadow:0 4px 0 var(--card-edge)}.ta-result-rays{position:absolute;left:50%;top:55%;width:520px;height:520px;margin:-260px 0 0 -260px;background:repeating-conic-gradient(from 0deg,var(--accent-soft) 0deg 9deg,transparent 9deg 18deg);-webkit-mask:radial-gradient(circle,#000 10%,transparent 60%);mask:radial-gradient(circle,#000 10%,transparent 60%);animation:fx-spin 12s linear infinite;pointer-events:none}.ta-result-kicker{position:relative;font-size:.8rem;font-weight:900;color:var(--accent-color);letter-spacing:.04em}.ta-result-head .ta-result-score{position:relative;margin:4px 0 2px;font-size:1.1rem;font-weight:800}.ta-result-head .ta-result-score b{font-size:3.2rem;font-weight:900;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-right:4px}.ta-result-head .ta-result-score.done b{color:var(--accent-color);animation:fx-pop .45s cubic-bezier(.34,1.56,.64,1);display:inline-block}.ta-result-head .ta-result-coins{position:relative;font-size:1.1rem;font-weight:900;color:#d97706;font-variant-numeric:tabular-nums}.today-card{width:100%;max-width:488px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;margin:0 0 6px;border-radius:var(--radius-md);background:var(--card-bg);border:1px solid var(--card-edge);box-shadow:0 3px 0 var(--card-edge)}.today-main{display:flex;flex-direction:column;gap:1px;min-width:0}.today-title{font-size:.95rem;font-weight:900;letter-spacing:-.02em}.today-sub{font-size:.72rem;font-weight:600;color:var(--text-secondary)}.today-chips{display:flex;gap:6px;flex-shrink:0}.today-chip{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;font-weight:800;font-variant-numeric:tabular-nums;padding:4px 9px;border-radius:999px;background:var(--accent-soft);color:var(--text-color)}.today-chip.hot{color:#f97316;background:#f9731624}.levelup-badge{position:relative;width:120px;height:120px;margin:14px auto 6px;border-radius:34px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,color-mix(in srgb,var(--accent-color) 70%,#fff),var(--accent-color));box-shadow:0 7px 0 var(--accent-edge),0 18px 34px -10px color-mix(in srgb,var(--accent-color) 70%,transparent);animation:levelup-badge .7s .1s cubic-bezier(.34,1.56,.64,1) both}.levelup-badge .game-icon{position:absolute;top:-16px;right:-14px;width:44px;height:44px;animation:levelup-spark 1.6s ease-in-out infinite}.levelup-num{font-size:3.6rem;font-weight:900;color:#fff;letter-spacing:-.04em;text-shadow:0 4px 0 rgba(0,0,0,.18)}.levelup-title{font-size:1.25rem;font-weight:900;letter-spacing:-.03em}@keyframes levelup-badge{0%{transform:scale(0) rotate(-20deg)}70%{transform:scale(1.12) rotate(4deg)}to{transform:scale(1) rotate(0)}}@keyframes levelup-spark{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.18) rotate(12deg)}}.app{max-width:520px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden;padding-bottom:calc(62px + var(--safe-area-inset-bottom));-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.loading-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text)}.loading-tiles{display:flex;gap:6px}.loading-tile{width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;background:var(--tile-face);border:none;color:var(--accent-color);border-radius:10px;box-shadow:0 4px 0 var(--tile-edge);animation:tile-flip 1.8s ease-in-out infinite}@keyframes tile-flip{0%,to{transform:rotateY(0) scale(1);opacity:1}50%{transform:rotateY(180deg) scale(.9);opacity:.5}}.skeleton{background:linear-gradient(90deg,var(--tile-bg) 0%,var(--syllable-bg) 50%,var(--tile-bg) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin:8px 0}.skeleton-title{height:24px;width:60%;margin:12px auto}.skeleton-button{height:44px;margin:8px 0}.progress-bar-container{width:100%;height:4px;background:var(--border-color);border-radius:2px;overflow:hidden;position:relative}.progress-bar{height:100%;background:var(--accent-color);border-radius:2px;transition:width .3s ease}.progress-bar-indeterminate{height:100%;background:var(--accent-color);border-radius:2px;animation:progress-indeterminate 1.5s ease-in-out infinite;width:30%}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.game-area{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px 16px}.instruction{font-size:.74rem;font-weight:600;color:var(--text-secondary);margin:6px 0 2px;text-align:center;letter-spacing:.01em}.solved-area{display:flex;flex-direction:column;align-items:center;gap:10px}.solved-msg{color:var(--correct-color);font-weight:700;font-size:1.2rem}.solved-msg strong{font-size:1.5rem}.gameover-msg{color:var(--text-color);font-size:.95rem;font-weight:700}.gameover-msg strong{color:var(--accent-color);font-size:1.15rem}.gameover-area{animation:go-area-in .45s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:var(--go-delay, 0ms)}@keyframes go-area-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.gameover-card{width:100%;padding:14px 16px 12px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--card-edge);box-shadow:0 4px 0 var(--card-edge);text-align:center}.gameover-kicker{font-family:var(--font-display);font-size:.82rem;color:var(--text-secondary)}.gameover-word{display:flex;justify-content:center;gap:6px;margin:8px 0;perspective:400px}.gameover-word span{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--accent-color);color:var(--on-accent);font-family:var(--font-display);font-size:1.4rem;box-shadow:inset 0 -3px 0 var(--accent-edge);animation:go-letter .46s cubic-bezier(.2,.9,.3,1.4) both;animation-delay:calc(var(--go-delay, 0ms) + .18s + var(--i) * .11s)}@keyframes go-letter{0%{transform:rotateY(90deg) scale(.8);opacity:0}60%{transform:rotateY(0) scale(1.1);opacity:1}to{transform:none;opacity:1}}.gameover-card .word-def{display:block;text-align:left;padding:0;background:none;border:none;box-shadow:none}@media(prefers-reduced-motion:reduce){.gameover-area,.gameover-word span{animation:none}}.word-def{font-size:.9rem;line-height:1.5;color:var(--text-color);margin:0;padding:10px 14px;background:var(--card-bg);border:1px solid var(--card-edge);box-shadow:0 3px 0 var(--card-edge);border-radius:var(--radius-md);display:inline-block;max-width:100%}.gameover-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.story-stars-result{font-size:1.4rem;letter-spacing:2px;color:#f59e0b;margin:4px 0}.story-solved-actions{display:flex;gap:8px}.story-next-stage{background:var(--correct-color)!important;color:#fff!important;font-weight:700}.story-gameover-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.story-gameover-grid .next-btn{width:100%;margin:0;padding-inline:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.story-map-btn{background:var(--slot-bg)!important;color:var(--text-color)!important}.image-share-btn{color:var(--text-color)!important}@media(hover:hover){.image-share-btn:hover{background:var(--accent-soft)!important}}.next-btn{padding:10px 22px;min-height:44px;font-size:.92rem;font-weight:800;border:1px solid var(--card-edge);border-radius:var(--radius-md);background:var(--card-bg);color:var(--accent-color);box-shadow:0 3px 0 var(--card-edge);cursor:pointer;transition:background .2s,transform .12s,box-shadow .12s}@media(hover:hover){.next-btn:hover{background:var(--accent-soft)}}.next-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--card-edge)}.action-bar{display:flex;gap:8px;margin:18px 0 8px;width:100%;max-width:480px}.action-btn{flex:1;min-height:48px;padding:0 10px;font-size:.95rem;font-weight:800;white-space:nowrap;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .18s,transform .12s,box-shadow .12s,opacity .18s;color:var(--text-color);background:var(--card-bg);display:flex;align-items:center;justify-content:center;gap:6px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;box-shadow:0 4px 0 var(--card-edge)}.action-btn:disabled{opacity:.5;cursor:not-allowed}@media(hover:hover){.action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 0 var(--card-edge)}}.action-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--card-edge)}.action-btn.icon-btn{flex:0 0 54px;padding:0}.action-btn.icon-btn svg{width:22px;height:22px}.undo-btn{color:var(--text-secondary)}.hint-btn{color:var(--hint-text);background:var(--hint-bg);box-shadow:0 4px 0 var(--hint-edge)}@media(hover:hover){.hint-btn:hover:not(:disabled){box-shadow:0 5px 0 var(--hint-edge)}}.hint-btn:active:not(:disabled){box-shadow:0 1px 0 var(--hint-edge)}.help-dropdown-wrap{position:relative;flex:1;display:flex}.help-dropdown-wrap>.action-btn{flex:1}.help-dropdown{position:absolute;bottom:calc(100% + 8px);left:0;background:var(--card-bg);border:1px solid var(--card-edge);border-radius:var(--radius-md);padding:4px;min-width:230px;box-shadow:0 6px 0 var(--card-edge),0 -8px 22px #1f1b2e24;z-index:100;animation:dropdown-pop .15s ease}@keyframes dropdown-pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.help-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-color);font-size:.85rem;cursor:pointer;transition:background .15s;text-align:left}@media(hover:hover){.help-option:hover:not(:disabled){background:var(--tile-bg)}}.help-option:disabled{opacity:.35;cursor:not-allowed}.help-option-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--accent-soft);font-size:.8rem;font-weight:800;color:var(--accent-color);flex-shrink:0}.help-option-info{display:flex;flex-direction:column;flex:1;gap:1px}.help-option-name{font-weight:700;font-size:.82rem}.help-option-desc{font-size:.7rem;color:var(--text-secondary)}.help-option-count{font-size:.75rem;font-weight:700;color:var(--text-secondary);flex-shrink:0}.help-shop-link{border-top:1px solid var(--border-color);margin-top:2px;padding-top:10px}.shop-link-icon{background:linear-gradient(135deg,#f59e0b,#d97706)!important;color:#fff!important;font-size:.65rem!important}.reset-btn{color:var(--danger)}.extra-attempt-btn{background:var(--accent-color);color:var(--on-accent);border:none;box-shadow:0 3px 0 var(--accent-edge);margin-bottom:8px}.daily-retry-btn{background:transparent;color:var(--text-secondary);border:1px solid var(--card-edge);font-size:.8rem;padding:6px 14px;margin-top:4px}.daily-retry-btn:disabled{opacity:.5;cursor:default}.def-reveal-banner{animation:def-fade-in .3s ease}@keyframes def-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.coin-toast{position:fixed;top:calc(52px + var(--safe-area-inset-top));left:50%;transform:translate(-50%);background:#f59e0b;color:#fff;font-size:.88rem;font-weight:900;padding:7px 16px;border-radius:999px;z-index:900;pointer-events:none;animation:coin-pop 2s ease forwards;box-shadow:0 3px #b45309,0 10px 24px #f59e0b59}.coin-toast.under-ach{top:auto;bottom:calc(104px + var(--safe-area-inset-bottom, 0px))}@keyframes coin-pop{0%{opacity:0;transform:translate(-50%) translateY(8px)}15%{opacity:1;transform:translate(-50%) translateY(0)}75%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-10px)}}.coin-toast.coin-limit{top:calc(98px + var(--safe-area-inset-top));background:var(--card-bg);color:var(--text-color);border:1px solid var(--card-edge);box-shadow:0 3px 0 var(--card-edge),0 10px 24px #18142826;animation:coin-pop 2.5s ease forwards}.def-reveal-label{display:inline-block;font-size:.6rem;font-weight:800;background:#ffffff40;border-radius:4px;padding:1px 6px;margin-bottom:4px}.def-reveal-text{margin:0;font-size:.92rem;font-weight:700;line-height:1.4;word-break:keep-all}.register-btn{flex:1.7;font-size:1rem;color:var(--on-accent);background:var(--accent-color);box-shadow:0 5px 0 var(--accent-edge)}.register-btn.is-idle{opacity:.5}@media(hover:hover){.register-btn:hover:not(:disabled){box-shadow:0 6px 0 var(--accent-edge)}}.register-btn:active:not(:disabled){box-shadow:0 1px 0 var(--accent-edge)}.drag-ghost{position:fixed;z-index:1000;pointer-events:none;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:900;color:var(--text-color);background:var(--tile-face);border:none;border-radius:var(--radius-md);box-shadow:0 8px 0 var(--tile-edge),0 18px 30px #1814284d;transform:translate(-50%,-50%) scale(1.08)}.celebration-overlay{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}.confetti{position:absolute;top:-10px;left:var(--x);width:8px;height:8px;border-radius:2px;background:var(--color);animation:confetti-fall 1.5s ease-in var(--delay) forwards;opacity:0}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media(max-width:480px){.game-area{padding:12px 8px}.action-bar{gap:4px;margin:12px 0 6px}.action-btn{padding:8px 0;font-size:.72rem}.drag-ghost{width:40px;height:40px;font-size:1.2rem}}.share-result-btn{background:var(--accent-color)!important;color:var(--on-accent)!important;border:none!important;box-shadow:0 3px 0 var(--accent-edge)!important}@media(max-height:700px){.action-bar{margin-top:10px}.today-card{padding-top:7px!important;padding-bottom:7px!important}.guess-grid{padding-top:10px!important;padding-bottom:8px!important;margin-top:4px!important}}.quiz-banner{border-radius:var(--radius-lg);padding:12px 16px 14px;margin-bottom:10px;text-align:center;width:100%;max-width:488px;box-sizing:border-box;background:var(--card-bg);border:1px solid var(--card-edge);box-shadow:0 3px 0 var(--card-edge)}.quiz-banner-label{display:inline-block;font-size:.68rem;font-weight:900;letter-spacing:.04em;color:var(--accent-color);background:var(--accent-soft);border:none;border-radius:999px;padding:3px 10px;margin-bottom:6px}.quiz-banner-def{margin:0;font-size:.95rem;font-weight:600;color:var(--text-color);line-height:1.5;word-break:keep-all;overflow-wrap:break-word}
