:root{--bg: #fff8f0;--surface: #ffffff;--primary: #ff6b35;--primary-dark: #e55a2b;--accent: #ffd166;--success: #00b894;--error: #d63031;--text: #2d3436;--text-muted: #636e72;--shadow: 0 8px 32px rgba(255, 107, 53, .15);--gold: #f9ca24;font-family:"M PLUS Rounded 1c",system-ui,sans-serif;line-height:1.6;color:var(--text);background:var(--bg)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;min-height:100dvh;-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;min-height:100dvh}.page{max-width:480px;margin:0 auto;padding:max(1.5rem,env(safe-area-inset-top)) max(1.5rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left));min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:1.5rem}.home-topbar,.play-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.home-mute{display:flex;justify-content:flex-end}.home-topbar .eyebrow{margin-bottom:0}.play-header-row{width:100%}.play-header-row h1{flex:1;min-width:0;line-height:1.25}@media(max-width:380px){.play-header-row h1{font-size:1.05rem}.play-header-actions{gap:.25rem}.play-header-actions .difficulty-stars-value{font-size:.7rem}}.play-header-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.play-header-actions .difficulty-stars{flex-direction:column;align-items:center;gap:.05rem}.play-header-actions .difficulty-stars-label{font-size:.58rem;line-height:1}.play-header-actions .difficulty-stars-value{font-size:.78rem;letter-spacing:-.04em}.home-page{position:relative;gap:.75rem;overflow:hidden}.home-page .site-footer{position:absolute;left:0;right:0;bottom:max(.5rem,env(safe-area-inset-bottom));margin:0;padding:0 1rem;border-top:none;z-index:2}.home-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;min-height:0;padding-bottom:2rem}.home-brand{text-align:center;margin-bottom:.15rem}.home-brand h1{font-size:clamp(1.6rem,7vw,2rem);line-height:1.25;margin-bottom:.35rem}.home-brand .tagline{margin:0;color:#5f6b73;font-size:clamp(.95rem,3.8vw,1.05rem);font-weight:700;line-height:1.5}.home-stage .mode-nav,.home-stage .home-mode-nav{width:100%;margin-top:.5rem}.home-mode-nav{display:flex;flex-direction:column;gap:1.25rem}.mode-group{display:flex;flex-direction:column;gap:.6rem}.mode-group-title{margin:0;font-size:.85rem;font-weight:800;color:var(--text-muted);letter-spacing:.04em}.mode-group-links{display:flex;flex-direction:column;gap:.65rem}.mode-card{display:flex;flex-direction:column;gap:.2rem;padding:.95rem 1rem;border-radius:.9rem;text-decoration:none;color:inherit;border:2px solid transparent;box-shadow:0 2px 10px #0000000f;transition:transform .15s ease,box-shadow .15s ease}.mode-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000001a}.mode-card-label{font-size:1.05rem;font-weight:800}.mode-card-desc{font-size:.82rem;font-weight:600;line-height:1.4;opacity:.9}.mode-card-study{background:linear-gradient(135deg,#ff6b35,#ff8f5a);color:#fff}.mode-card-study:hover{border-color:#ffffff59}.mode-card-battle{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff}.mode-card-battle:hover{border-color:#ffffff59}.home-stage .clock-character.hero{gap:.65rem}.home-stage .clock-character.hero .character-name{font-size:1.3rem}.home-stage .clock-character.hero .btn-stats-toggle{margin-top:.15rem}.eyebrow{font-size:.75rem;font-weight:700;color:var(--primary);letter-spacing:.1em;margin-bottom:.25rem}h1{font-size:1.75rem;font-weight:800;color:var(--primary)}.tagline{color:var(--text-muted);font-size:.95rem;margin-top:.35rem}.home-seo-intro{margin:-.35rem auto 0;max-width:19rem;padding:0 .5rem;color:var(--text-muted);font-size:.76rem;font-weight:500;line-height:1.65;text-align:center;opacity:.88}.loading-text{text-align:center;color:var(--text-muted)}.status-error{color:var(--error);text-align:center;font-size:.9rem}.btn-primary,.btn-secondary,.choice-btn,.mute-btn{font-family:inherit;font-weight:700;border:none;border-radius:14px;cursor:pointer;transition:transform .15s,box-shadow .15s;touch-action:manipulation;min-height:48px;min-width:48px}.btn-primary{background:var(--primary);color:#fff;padding:.85rem 1.5rem;box-shadow:var(--shadow)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);background:var(--primary-dark)}.btn-secondary{background:var(--surface);color:var(--text-muted);padding:.85rem 1.5rem;border:2px solid #dfe6e9}.btn-danger{background:#d63031;color:#fff;padding:.85rem 1.5rem;box-shadow:var(--shadow);font-family:inherit;font-weight:700;border:none;border-radius:14px;cursor:pointer;transition:transform .15s,box-shadow .15s;touch-action:manipulation;min-height:48px;width:100%}.btn-danger:hover:not(:disabled){transform:translateY(-2px);background:#b71c1c}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.55;cursor:not-allowed;transform:none}.admin-page{gap:1rem}.admin-panel{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:22rem;margin:0 auto;padding:1.25rem;background:var(--surface);border-radius:1rem;box-shadow:0 4px 16px #0000000f}.admin-note{margin:0;color:var(--text-muted);line-height:1.5;font-size:.9rem;text-align:center}.admin-token-form,.admin-reset{display:flex;flex-direction:column;gap:.75rem}.admin-stats{margin:0;display:flex;flex-direction:column;gap:.5rem}.admin-stat-row{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .75rem;border-radius:.75rem;background:#f8fafc}.admin-stat-row dt{margin:0;color:var(--text-muted);font-size:.85rem}.admin-stat-row dd{margin:0;font-weight:800}.admin-success{margin:0;color:#00b894;font-size:.9rem;line-height:1.5;text-align:center}.btn-large{display:block;width:100%;text-align:center;text-decoration:none;font-size:1.05rem}button:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.mode-nav{display:flex;flex-direction:column;gap:.75rem}.btn-battle{background:linear-gradient(135deg,#6c5ce7,#a29bfe)}.battle-page{gap:1.25rem}.nickname-setup,.battle-ready{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:22rem;margin:0 auto;padding:1.25rem;background:var(--surface);border-radius:1rem;box-shadow:0 4px 16px #0000000f}.nickname-setup h2,.battle-ready-name{font-size:1.2rem;font-weight:800;text-align:center}.nickname-setup-hint,.battle-ready-note{color:var(--text-muted);text-align:center;line-height:1.5}.nickname-form{display:flex;flex-direction:column;gap:.75rem;width:100%}.nickname-form-actions{display:flex;flex-direction:column;gap:.75rem}.nickname-label{font-size:.85rem;font-weight:700;color:var(--text-muted)}.nickname-input{width:100%;padding:.75rem .9rem;border:2px solid #dfe6e9;border-radius:.75rem;font:inherit;font-size:1rem}.nickname-input:focus{outline:none;border-color:var(--primary)}.battle-ready-actions{display:flex;flex-direction:column;gap:.75rem;width:100%}.battle-ready-actions .btn-primary,.battle-ready-actions .btn-secondary{font-size:1.1rem;font-weight:800;padding:1rem 1.5rem}.battle-ready-actions .btn-secondary{text-align:center;text-decoration:none}.battle-speed-control{width:100%;margin:0;padding:0;border:0}.battle-speed-control legend{width:100%;margin-bottom:.45rem;text-align:center;color:var(--text-muted);font-size:.82rem;font-weight:700}.battle-speed-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.battle-speed-btn{padding:.5rem .35rem;border:2px solid #dfe6e9;border-radius:999px;background:var(--surface);color:var(--text-muted);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.battle-speed-btn.active{border-color:#6c5ce7;background:#6c5ce7;color:#fff}.battle-tab-nav{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%;max-width:22rem;margin:0 auto}.battle-tab-btn{padding:.65rem .75rem;border:2px solid #dfe6e9;border-radius:999px;background:var(--surface);color:var(--text-muted);font:inherit;font-size:.9rem;font-weight:800;cursor:pointer}.battle-tab-btn.active{border-color:#6c5ce7;background:#6c5ce7;color:#fff}.battle-ranking{display:flex;flex-direction:column;gap:.85rem;width:100%;max-width:22rem;margin:0 auto;padding:1rem;background:var(--surface);border-radius:1rem;box-shadow:0 4px 16px #0000000f}.battle-ranking-note,.battle-ranking-mine{margin:0;text-align:center;color:var(--text-muted);line-height:1.5;font-size:.85rem}.battle-ranking-mine{font-weight:800;color:#6c5ce7}.battle-ranking-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.battle-ranking-item{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border-radius:.8rem;background:#f8fafc;border:1px solid #e2e8f0}.battle-ranking-item.mine{border-color:#6c5ce7;background:#f3f0ff}.battle-ranking-rank{width:2rem;text-align:center;font-size:1.1rem;font-weight:800;color:var(--primary);flex-shrink:0}.battle-ranking-body{min-width:0}.battle-ranking-name{margin:0;font-weight:800;font-size:.95rem}.battle-ranking-meta{margin:.15rem 0 0;color:var(--text-muted);font-size:.78rem}.battle-preview{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:22rem;margin:0 auto}.battle-self-card{display:flex;flex-direction:column;align-items:center;gap:.65rem;width:100%;padding:1rem;background:var(--surface);border-radius:1rem;border:2px solid rgba(255,107,53,.2)}.battle-fighter-portrait{display:flex;justify-content:center}.battle-portrait-avatar{position:relative;flex-shrink:0;overflow:visible;margin:0;padding:0;gap:0}.battle-portrait-avatar.tiny{width:44px;height:44px}.battle-portrait-avatar.medium{width:120px;height:120px}.battle-portrait-avatar .character-body{position:absolute;left:50%;top:50%;transform-origin:center center}.battle-portrait-avatar.tiny .character-body{transform:translate(-50%,-50%) scale(.28)}.battle-portrait-avatar.medium .character-body{transform:translate(-50%,-50%) scale(.72)}.battle-ready .clock-character{margin-bottom:.15rem}.battle-opponent-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;padding:1rem;background:#eef2f7;border-radius:1rem;border:2px solid #cbd5e1}.battle-opponent-title{font-weight:800;color:var(--primary)}.battle-arena{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:24rem;margin:0 auto;padding:1rem;background:var(--surface);border-radius:1rem;box-shadow:0 4px 16px #0000000f}.battle-hp-bar{display:flex;flex-direction:column;gap:.35rem}.battle-hp-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700}.battle-hp-identity{display:flex;align-items:center;gap:.4rem;min-width:0}.battle-hp-label{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.battle-hp-value{color:var(--text-muted);font-variant-numeric:tabular-nums}.battle-hp-track{height:.75rem;border-radius:999px;background:#e9ecef;overflow:hidden}.battle-hp-fill{height:100%;border-radius:inherit;transition:width .35s ease}.battle-hp-bar.player .battle-hp-fill{background:linear-gradient(90deg,#00b894,#55efc4)}.battle-hp-bar.opponent .battle-hp-fill{background:linear-gradient(90deg,#e17055,#fab1a0)}.battle-turn-message{text-align:center;font-weight:800;color:var(--primary)}.battle-turn-log{margin:0;padding-left:1.1rem;color:var(--text-muted);font-size:.85rem;line-height:1.5}.battle-result-card{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:22rem;margin:0 auto;padding:1.25rem;background:var(--surface);border-radius:1rem;box-shadow:0 4px 16px #0000000f}.battle-result-title{font-size:1.8rem;font-weight:800}.battle-result-title.win{color:var(--success)}.battle-result-title.lose{color:var(--error)}.battle-result-title.draw{color:var(--primary)}.battle-result-summary,.battle-result-note{text-align:center;color:var(--text-muted);line-height:1.5}.clock-character{display:flex;flex-direction:column;align-items:center;gap:.5rem}.clock-character.compact{flex-direction:row;align-items:center;justify-content:center;gap:.85rem;width:100%;padding:.65rem .85rem;background:var(--surface);border-radius:16px;box-shadow:0 4px 16px #ff6b351f;border:2px solid rgba(255,107,53,.2)}.clock-character.compact .character-info{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0;flex:0 1 auto}.clock-character.compact .character-name{font-size:1rem}.clock-character.compact .character-stats{justify-content:flex-start;font-size:.75rem;gap:.35rem .65rem}.clock-character.compact .character-body{flex-shrink:0}.clock-character.compact.level-3 .muscle,.clock-character.compact.level-4 .muscle,.clock-character.compact.level-5 .muscle,.clock-character.compact.level-6 .muscle,.clock-character.compact.level-7 .muscle{width:10px;height:20px}.clock-character.compact .arm-left{left:-4px}.clock-character.compact .arm-right{right:-4px}.clock-character.compact .weak-arm{width:4px;height:16px}.clock-character.compact .sweat-drop{width:6px;height:8px;top:4%;right:2%}.clock-character.compact .spark{width:5px;height:5px}.clock-character.compact .aura{inset:-6px;border-width:2px}.clock-character.bar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:52px;padding:.2rem 0 .45rem;background:none;border:none;box-shadow:none}.character-bar-left{display:flex;flex-direction:row;align-items:center;gap:.55rem;min-width:0;flex:1}.character-bar-avatar{position:relative;width:52px;height:52px;flex-shrink:0;overflow:visible}.clock-character.bar .character-body{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.36);transform-origin:center center}.clock-character.bar .character-name{margin:0;font-size:.92rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clock-character.bar .btn-stats-toggle{flex-shrink:0;padding:.35rem .7rem;font-size:.75rem}.difficulty-stars{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;margin:0;line-height:1.1}.difficulty-stars-btn{appearance:none;border:none;background:transparent;padding:.15rem .2rem;margin:0;border-radius:.4rem;cursor:pointer;transition:background .15s ease}.difficulty-stars-btn:hover{background:#0000000d}.difficulty-stars-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.difficulty-stars-label{font-size:.65rem;font-weight:700;color:var(--text-muted)}.difficulty-stars-value{display:inline-flex;align-items:center;font-size:.85rem;font-weight:800;letter-spacing:.02em;color:#f39c12}.difficulty-star{display:inline-block}.difficulty-star.locked{color:#0003}.difficulty-star.filled{color:#f39c12}.play-header .clock-character.bar{transform:none!important}.play-header{display:flex;flex-direction:column;gap:.25rem;padding-bottom:.35rem;border-bottom:1px solid rgba(0,0,0,.06)}.character-body{position:relative;display:flex;align-items:center;justify-content:center}.character-info{display:flex;flex-direction:column;align-items:center;gap:.35rem}.character-name{font-weight:800;font-size:1.15rem}.character-stats{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center;font-size:.8rem;color:var(--text-muted)}.streak{color:var(--primary);font-weight:700}.wrong-streak{color:var(--error);font-weight:700}.to-next{color:var(--text-muted)}.character-rpg-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;width:100%;max-width:18rem;margin-top:.35rem;padding:.55rem .7rem;border-radius:.75rem;background:#ffffffb8;border:1px solid rgba(0,0,0,.06)}.character-stats-toggle{display:flex;flex-direction:column;align-items:center;width:100%}.btn-stats-toggle{padding:.4rem .8rem;border:1px solid rgba(0,0,0,.1);border-radius:999px;background:#ffffffd9;color:var(--text-muted);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.btn-stats-toggle:hover{color:var(--primary);border-color:var(--primary)}.stats-modal-overlay{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73}.stats-modal{display:flex;flex-direction:column;align-items:center;gap:.9rem;width:min(100%,20rem);padding:1.25rem;border-radius:1rem;background:var(--surface);box-shadow:0 12px 40px #0000002e}.stats-modal-title{margin:0;font-size:1.15rem;font-weight:800}.stats-modal-progress{margin:0;text-align:center;color:var(--text-muted);font-size:.9rem;font-weight:700;line-height:1.5}.stats-modal .character-rpg-stats{margin-top:0;max-width:none;width:100%}.character-rpg-stats.compact{max-width:14rem;gap:.25rem .5rem;padding:.4rem .55rem;font-size:.72rem}.rpg-stat{display:flex;justify-content:space-between;align-items:baseline;gap:.35rem}.rpg-stat-label{color:var(--text-muted);font-weight:600}.rpg-stat-value{font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.stat-changes{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.25rem}.stat-changes li{font-weight:700;font-size:.95rem}.stat-changes .stat-up{color:var(--success)}.stat-changes .stat-down{color:var(--error)}.clock-character.level-1 .character-clock-wrap{filter:saturate(.75) brightness(1.02)}.clock-character.level-1 .character-name{color:var(--text-muted);font-size:1.05rem}.clock-character.level-2 .character-clock-wrap{filter:drop-shadow(0 3px 10px rgba(255,107,53,.22))}.clock-character.level-2 .character-name{color:var(--primary)}.clock-character.level-2 .analog-clock{transform:scale(1.04);transform-origin:center}.clock-character .weak-arm{position:absolute;width:6px;height:28px;background:#ffb089;border-radius:999px;top:52%;opacity:.85}.clock-character .sweat-drop{position:absolute;top:8%;right:6%;width:10px;height:14px;background:#74b9ff;border-radius:50% 50% 50% 0;transform:rotate(-35deg);opacity:.9;animation:sweat-bounce 1.6s ease-in-out infinite}.clock-character .spark{position:absolute;width:8px;height:8px;background:var(--accent);border-radius:2px;transform:rotate(45deg);box-shadow:0 0 0 2px #ffd16659}.clock-character .spark-a{top:10%;left:8%;animation:spark-twinkle 1.4s ease-in-out infinite}.clock-character .spark-b{top:18%;right:4%;width:6px;height:6px;animation:spark-twinkle 1.4s ease-in-out .5s infinite}@keyframes sweat-bounce{0%,to{transform:rotate(-35deg) translateY(0);opacity:.85}50%{transform:rotate(-35deg) translateY(3px);opacity:1}}@keyframes spark-twinkle{0%,to{opacity:.35;transform:rotate(45deg) scale(.85)}50%{opacity:1;transform:rotate(45deg) scale(1.15)}}.clock-character.level-3 .analog-clock,.clock-character.level-4 .analog-clock,.clock-character.level-5 .analog-clock,.clock-character.level-6 .analog-clock,.clock-character.level-7 .analog-clock{filter:drop-shadow(0 4px 8px rgba(255,107,53,.3))}.clock-character.level-3 .muscle,.clock-character.level-4 .muscle,.clock-character.level-5 .muscle,.clock-character.level-6 .muscle,.clock-character.level-7 .muscle{position:absolute;width:18px;height:36px;background:var(--primary);border-radius:10px;top:50%}.clock-character .arm-left{left:-8px;transform:rotate(25deg)}.clock-character .arm-right{right:-8px;transform:rotate(-25deg)}.clock-character.level-5 .muscle,.clock-character.level-6 .muscle,.clock-character.level-7 .muscle{width:24px;height:44px}.clock-character.level-6 .analog-clock circle,.clock-character.level-7 .analog-clock circle{stroke:var(--gold);stroke-width:5}.clock-character.level-6 .aura,.clock-character.level-7 .aura{position:absolute;inset:-12px;border-radius:50%;border:3px dashed var(--gold);animation:spin 8s linear infinite;opacity:.6}.clock-character.level-7 .aura{border-style:solid;box-shadow:0 0 20px #f9ca24a6}.legend-crown{position:absolute;top:-28px;left:50%;z-index:2;color:var(--gold);font-size:1.6rem;transform:translate(-50%);text-shadow:0 2px 6px rgba(249,202,36,.6)}.mute-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:2px solid #dfe6e9;color:var(--primary);padding:.5rem;border-radius:50%;line-height:1;flex-shrink:0}.mute-btn-icon{display:block;flex-shrink:0}.level-up{position:relative;overflow:visible;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-radius:12px;padding:.75rem;margin-bottom:1rem}.evolution-burst{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.level-up-label{font-weight:800;color:var(--primary);font-size:1.1rem}.level-up-name{font-weight:700;font-size:1rem}.progress-milestone{position:relative;overflow:visible;background:linear-gradient(135deg,#fff3cd,#ffeaa7 55%,#e8f4ff);border-radius:12px;padding:.75rem;margin-bottom:1rem}.progress-milestone-label{font-weight:800;color:var(--primary);font-size:1.1rem}.progress-milestone-name{font-weight:700;font-size:1rem;margin-bottom:.35rem}.progress-milestone-stars{font-size:1.1rem;letter-spacing:.06em;color:#1e6bb8;font-weight:700}.progress-milestone-hint{font-size:.9rem;color:var(--text-muted);margin-top:.35rem}.difficulty-up{position:relative;overflow:visible;background:linear-gradient(135deg,#e8f4ff,#cfe8ff);border-radius:12px;padding:.75rem;margin-bottom:1rem}.difficulty-up-label{font-weight:800;color:#1e6bb8;font-size:1.1rem}.difficulty-up-stars{font-size:1.35rem;letter-spacing:.08em;margin:.25rem 0}.difficulty-up-hint{font-size:.95rem;color:var(--text-muted)}.level-down{background:#f1f2f6;border-radius:12px;padding:.75rem;margin-bottom:1rem}.level-down-label{color:var(--text-muted);font-size:1.1rem;font-weight:800}.level-down-name{font-weight:700}.level-down-hint{color:var(--text-muted);font-size:.8rem;margin-top:.25rem}.burst-particle{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--gold)}@keyframes spin{to{transform:rotate(360deg)}}.analog-clock .hand{transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.back-link{color:var(--text-muted);text-decoration:none;font-size:.85rem}.play-header h1{font-size:1.25rem}.question-section{display:flex;flex-direction:column;gap:1rem}.question-prompt{text-align:center;font-size:clamp(1.05rem,4.5vw,1.2rem);font-weight:700;line-height:1.5}.answer-choices{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.choice-btn{background:var(--surface);color:var(--text);padding:1rem .75rem;font-size:clamp(.95rem,4vw,1.05rem);border:2px solid #dfe6e9;box-shadow:0 2px 8px #0000000d}.choice-btn:hover:not(:disabled){border-color:var(--primary);transform:translateY(-2px)}.choice-btn:active:not(:disabled){transform:scale(.97)}.read-clock-scene,.time-calc-scene{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:.5rem;width:100%;padding:1rem .75rem;background:#eef2f7;border-radius:18px;border:2px solid #cbd5e1}.play-page.time-mode,.play-page.problem-mode{gap:1rem}.play-page.time-mode .question-section,.play-page.problem-mode .question-section{flex:1;padding-top:.5rem}.time-pair{display:flex;align-items:center;gap:.75rem}.time-block{display:flex;flex-direction:column;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-muted);font-weight:700}.time-arrow{font-size:1.25rem;color:var(--primary);font-weight:800}.duration-hint{font-size:.9rem;color:var(--text-muted);font-weight:700}.result-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100;animation:fadeIn .2s ease}.result-card{background:var(--surface);border-radius:20px;padding:2rem 1.5rem;text-align:center;max-width:320px;width:100%;box-shadow:0 16px 48px #0003;animation:popIn .35s cubic-bezier(.34,1.56,.64,1)}.result-card.correct{border:3px solid var(--success)}.result-card.incorrect{border:3px solid var(--accent)}.result-title{font-size:2rem;font-weight:800;color:var(--primary)}.result-sub{margin:.5rem 0 .35rem;color:var(--text-muted)}.result-streak{margin:0 0 1rem;font-size:.95rem;font-weight:700}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.analog-clock .hand{transition:none}}@media(max-width:380px){.answer-choices{grid-template-columns:1fr}.time-pair{flex-direction:column}.time-arrow{transform:rotate(90deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.site-footer{margin-top:1.5rem;padding-top:.75rem;border-top:1px solid #eceff1}.legal-page .site-footer{max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0}.site-footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem .75rem}.site-footer-link{font-size:.68rem;color:#b2bec3;text-decoration:none}.site-footer-link:hover{color:var(--text-muted);text-decoration:underline}.legal-page{gap:1rem;padding-bottom:.5rem}.legal-header h1{font-size:1.35rem;margin-top:.25rem}.legal-body{font-size:.88rem;color:var(--text);line-height:1.75}.legal-body h2{font-size:.95rem;font-weight:800;color:var(--text);margin:1.25rem 0 .5rem}.legal-body p{margin-bottom:.75rem}.legal-body ul{margin:0 0 .75rem 1.1rem}.legal-body li{margin-bottom:.35rem}.legal-body a{color:var(--primary)}.legal-updated{font-size:.8rem;color:var(--text-muted)}.legal-contact{font-size:1rem;font-weight:700}.legal-operator{margin-top:1.5rem;font-size:.8rem;color:var(--text-muted)}
