:root{color:#f6f1df;font-synthesis:none;text-rendering:geometricprecision;background:#111312;font-family:Avenir Next,Avenir,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}.hidden{display:none!important}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px}#app{background:#111312;position:relative}#game-canvas{touch-action:none;width:100vw;height:100dvh;display:block}#hud{padding:.6rem 1rem;padding-top:calc(.6rem + env(safe-area-inset-top,0px));pointer-events:none;background:linear-gradient(#111312eb,#1113128c 70%,#0000);align-items:center;gap:.75rem;display:flex;position:fixed;top:0;left:0;right:0}.hud-metric{white-space:nowrap;background:#181b19db;border:1px solid #f6f1df24;border-radius:9999px;align-items:center;gap:.4rem;padding:.32rem .85rem;font-size:.85rem;display:flex}.hud-metric span{color:#f6f1df99;letter-spacing:.04em;font-size:.72rem}.hud-metric strong{color:#f5ba49;font-variant-numeric:tabular-nums}.hud-crystal strong{color:#48baa7;font-size:.78rem}#hp-bar{background:#f6f1df1f;border-radius:9999px;width:86px;height:8px;overflow:hidden}#hp-fill{transform-origin:0;background:linear-gradient(90deg,#3d9b7d,#5bc8a8);border-radius:9999px;width:100%;height:100%;transition:transform .25s;transform:scaleX(1)}#hp-fill.danger{background:linear-gradient(90deg,#d94f35,#e8825f)}#status-line{color:#f6f1dfbf;white-space:nowrap;text-overflow:ellipsis;background:#181b19b3;border-left:3px solid #f5ba49;border-radius:0 9999px 9999px 0;max-width:46vw;margin-left:auto;padding:.3rem .7rem;font-size:.78rem;overflow:hidden}#camera-toggle{top:calc(3.4rem + env(safe-area-inset-top,0px));z-index:15;font:inherit;color:#f6f1dfd9;cursor:pointer;touch-action:manipulation;background:#181b19c7;border:1px solid #f5ba4966;border-radius:9999px;align-items:center;gap:.35rem;padding:.32rem .75rem;font-size:.74rem;transition:border-color .15s,background .15s;display:flex;position:fixed;right:.8rem}#camera-toggle:hover{background:#282c29e6;border-color:#f5ba49}#camera-toggle[aria-pressed=true]{color:#9fe3d5;border-color:#48baa7}#camera-toggle-icon{font-size:.9rem;line-height:1}#camera-toggle:disabled{opacity:.45;cursor:default}#camera-reset{top:calc(5.7rem + env(safe-area-inset-top,0px));z-index:15;font:inherit;color:#f6f1dfd9;cursor:pointer;touch-action:manipulation;background:#181b19c7;border:1px solid #48baa766;border-radius:9999px;align-items:center;gap:.35rem;padding:.32rem .75rem;font-size:.74rem;transition:border-color .15s,background .15s;display:flex;position:fixed;right:.8rem}#camera-reset:hover{background:#282c29e6;border-color:#48baa7}#camera-reset-icon{font-size:.9rem;line-height:1}@media (width<=480px),(orientation:portrait) and (width<=760px){#camera-toggle{top:calc(3.1rem + env(safe-area-inset-top,0px));padding:.3rem .5rem}#camera-toggle-label{display:none}#camera-reset{top:calc(5.3rem + env(safe-area-inset-top,0px));padding:.3rem .5rem}#audio-toggle{top:calc(7.4rem + env(safe-area-inset-top,0px));padding:.3rem .5rem}#audio-box{top:calc(9rem + env(safe-area-inset-top,0px))}}#audio-toggle{top:calc(8rem + env(safe-area-inset-top,0px));z-index:15;font:inherit;color:#f6f1dfd9;cursor:pointer;touch-action:manipulation;background:#181b19c7;border:1px solid #f6f1df40;border-radius:9999px;align-items:center;gap:.3rem;padding:.32rem .6rem;font-size:.74rem;transition:border-color .15s,background .15s;display:flex;position:fixed;right:.8rem}#audio-toggle:hover,#audio-toggle[aria-pressed=true]{background:#282c29e6;border-color:#f5ba49}#audio-icon{font-size:.9rem;line-height:1}#audio-box{top:calc(9.6rem + env(safe-area-inset-top,0px));z-index:15;background:#181b19f2;border:1px solid #f5ba4959;border-radius:10px;padding:.45rem .7rem;position:fixed;right:.8rem;box-shadow:0 6px 22px #00000059}#audio-volume{accent-color:#f5ba49;cursor:pointer;touch-action:manipulation;width:9.2rem}#upgrade-panel{top:calc(6.4rem + env(safe-area-inset-top,0px));z-index:16;color:#f6f1dfe6;background:#181b19f2;border:1px solid #f5ba4966;border-radius:12px;width:min(86vw,300px);padding:.7rem .9rem .9rem;position:fixed;right:.8rem;box-shadow:0 14px 44px #00000080}#upgrade-head{justify-content:space-between;align-items:center;margin-bottom:.55rem;display:flex}#upgrade-title{letter-spacing:.04em;color:#f5ba49;font-size:.9rem;font-weight:700}#upgrade-close{font:inherit;color:#f6f1df99;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.1rem .3rem;font-size:1.1rem;line-height:1}#upgrade-close:hover{color:#f6f1df;background:#ffffff14}#upgrade-meter{gap:.4rem;margin-bottom:.6rem;display:flex}.lvl-dot{color:#0000;background:#f6f1df2e;border-radius:9999px;flex:1;height:2px;font-size:0;position:relative}.lvl-dot.on{background:linear-gradient(90deg,#f8c96a,#f0a83c)}.lvl-dot.on:after{content:attr(data-lvl);color:#f5ba49;font-size:.68rem;position:absolute;top:.35rem;left:.2rem}#upgrade-info{margin-bottom:.55rem}.upgrade-kv{justify-content:space-between;align-items:baseline;font-size:.82rem;line-height:1.7;display:flex}.upgrade-kv-name{color:#f6f1df9e}.upgrade-kv-val{color:#f6f1df;font-variant-numeric:tabular-nums}#upgrade-cost{color:#9fe3d5;font-variant-numeric:tabular-nums;margin-bottom:.5rem;font-size:.8rem}#upgrade-btn{width:100%;font:inherit;letter-spacing:.06em;color:#171410;cursor:pointer;background:linear-gradient(#f8c96a,#f0a83c);border:none;border-radius:9999px;padding:.55rem;font-size:.88rem;font-weight:700;transition:transform .12s,opacity .12s}#upgrade-btn:active{transform:scale(.97)}#upgrade-btn:disabled{opacity:.5;cursor:default;transform:none}#upgrade-feedback{text-align:center;min-height:1.1rem;margin-top:.4rem;font-size:.78rem}#upgrade-feedback.ok{color:#5bc8a8}#upgrade-feedback.err{color:#f08a7a}@media (width<=480px){#upgrade-panel{top:calc(5.9rem + env(safe-area-inset-top,0px));width:min(78vw,280px)}}#overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20;background:#0d0f0ed1;place-items:center;display:grid;position:fixed;inset:0}#overlay-card{text-align:center;background:#181b19f5;border:1px solid #f5ba4959;border-radius:14px;flex-direction:column;width:min(92vw,460px);max-height:min(90vh,90dvh,720px);padding:1.5rem 1.6rem 1.4rem;display:flex;box-shadow:0 18px 60px #0000008c}#overlay-title{letter-spacing:.03em;color:#f5ba49;flex-shrink:0;margin:0 0 .9rem;font-size:1.5rem}#level-picker{flex-shrink:0;margin:0 0 1.1rem}#level-picker-label{letter-spacing:.12em;color:#f6f1df99;text-align:center;margin-bottom:.6rem;font-size:.8rem}#level-picker-options{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.level-chip{font:inherit;color:#f6f1dfd9;cursor:pointer;background:#ffffff0f;border:1px solid #f5ba494d;border-radius:9999px;padding:.4rem 1rem;font-size:.88rem;font-weight:600;transition:background .12s,color .12s,border-color .12s}.level-chip:hover{border-color:#f5ba49b3}.level-chip.active{color:#171410;background:linear-gradient(#f8c96a,#f0a83c);border-color:#f0a83c}#memory-panel{border-top:1px solid #f6f1df1a;flex-direction:column;flex-shrink:1;min-height:0;margin-bottom:1.1rem;padding-top:.85rem;display:flex}#memory-panel-label{letter-spacing:.12em;color:#f6f1df99;text-align:center;margin-bottom:.6rem;font-size:.8rem}#memory-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#48baa766 transparent;flex-direction:column;gap:.45rem;max-height:34vh;display:flex;overflow-y:auto}.memory-item{width:100%;font:inherit;text-align:left;color:#f6f1dfe0;cursor:pointer;background:#ffffff0d;border:1px solid #48baa752;border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem .6rem .5rem .8rem;transition:background .12s,border-color .12s;display:flex}.memory-item:hover{background:#48baa71f;border-color:#48baa799}.memory-info{flex-direction:column;gap:.12rem;min-width:0;display:flex}.memory-name{color:#9fe3d5;font-size:.88rem;font-weight:700}.memory-detail{color:#f6f1dfb3;white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.memory-when{color:#f6f1df6b;font-size:.66rem}.memory-del{font:inherit;color:#f6f1df99;cursor:pointer;background:#ffffff0f;border:1px solid #f6f1df24;border-radius:9999px;flex-shrink:0;width:1.5rem;height:1.5rem;font-size:.72rem;line-height:1;transition:background .12s,color .12s,border-color .12s}.memory-del:hover{color:#ff8b6b;background:#d94f352e;border-color:#d94f3599}#overlay-body{overscroll-behavior:contain;color:#f6f1dfe0;text-align:left;scrollbar-width:thin;scrollbar-color:#f5ba4966 transparent;flex:auto;min-height:0;margin-bottom:1.2rem;padding-right:.3rem;font-size:.92rem;line-height:1.75;overflow-y:auto}#overlay-body .overlay-hint{color:#f6f1df8c;font-size:.82rem}.wrong-words{margin:.6rem 0 0;padding-left:1.2rem;font-size:.85rem;line-height:1.9}.wrong-words b{color:#f5ba49}#overlay-button{font:inherit;letter-spacing:.08em;color:#171410;cursor:pointer;background:linear-gradient(#f8c96a,#f0a83c);border:none;border-radius:9999px;flex-shrink:0;padding:.72rem 2.4rem;font-size:1rem;font-weight:700;transition:transform .12s;box-shadow:0 6px 18px #f0a83c59}#overlay-button:active{transform:scale(.96)}#question-panel{width:min(96vw,640px);padding-bottom:calc(.8rem + env(safe-area-inset-bottom,0px));z-index:10;position:fixed;bottom:0;left:50%;transform:translate(-50%)}#question-head{align-items:center;gap:.7rem;margin-bottom:.55rem;display:flex}#question-combo{color:#5bc8a8;letter-spacing:.05em;min-width:4.5rem;font-size:.8rem;font-weight:700}#question-timer-bar{background:#f6f1df24;border-radius:9999px;flex:1;height:5px;overflow:hidden}#question-timer-fill{transform-origin:0;background:linear-gradient(90deg,#3d9b7d,#5bc8a8);border-radius:9999px;width:100%;height:100%}#question-timer-fill.danger{background:linear-gradient(90deg,#d94f35,#e8825f)}#question-word{justify-content:center;align-items:center;gap:.7rem;margin-bottom:.6rem;display:flex}#question-text{letter-spacing:.04em;color:#f6f1df;text-shadow:0 2px 10px #0009;font-size:1.75rem;font-weight:800}#question-phonetic{color:#f6f1df8c;font-size:.95rem}#question-audio-btn{font:inherit;color:#f6f1df;cursor:pointer;touch-action:manipulation;background:#181b19d9;border:1px solid #f6f1df33;border-radius:9999px;width:2.1rem;height:2.1rem;font-size:.95rem}#question-audio-btn:active{transform:scale(.92)}#question-options{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.question-option{font:inherit;color:#f6f1df;cursor:pointer;text-align:left;touch-action:manipulation;background:#181b19eb;border:1px solid #f6f1df2e;border-radius:10px;min-height:3rem;padding:.68rem .8rem;font-size:.88rem;line-height:1.35;transition:border-color .15s,background .15s}.question-option:not(:disabled):hover{background:#262a26f2;border-color:#f5ba49a6}.question-option.correct{background:#235c50d9;border-color:#48baa7}.question-option.wrong{background:#703021d9;border-color:#d94f35}.question-option:disabled{cursor:default}@media (width<=480px),(orientation:portrait) and (width<=760px){#question-options{grid-template-columns:1fr}#question-text{font-size:1.4rem}.hud-metric{padding:.28rem .6rem;font-size:.78rem}#status-line{display:none}}
