:root{--paper:#f5f1e7;--card:#fffdf8;--ink:#183b3f;--teal:#146b62;--muted:#718079;--line:#d9ded1;--gold:#dbb152}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;min-height:100%;background:var(--paper);color:var(--ink);font-family:ui-rounded,'Avenir Next',system-ui,sans-serif;overscroll-behavior:none}body{touch-action:manipulation}.shell{max-width:1050px;margin:auto;height:100vh;height:100dvh;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:12px}header{height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-size:15px}.brand>b{width:40px;height:40px;border-radius:12px;background:var(--ink);color:var(--paper);font:34px/38px Georgia,serif;position:relative;padding-left:8px}.brand>b>span{position:absolute;right:3px;top:1px;color:var(--gold);font-size:17px}.icon-btn{width:48px;padding:0;font-size:28px}button{font:inherit;border:1px solid var(--line);border-radius:14px;min-height:48px;padding:12px 18px;background:var(--card);color:var(--ink);font-weight:750;cursor:pointer;touch-action:manipulation}button:active{transform:scale(.97)}button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.35;cursor:default;transform:none}.primary{background:var(--teal);border-color:var(--teal);color:#fff}.soft{background:#e5eadf;border-color:transparent}#app{flex:1;min-height:0;display:flex;flex-direction:column}.setup{max-width:580px;width:100%;margin:auto;background:var(--card);border:1px solid var(--line);border-radius:28px;padding:clamp(24px,5vw,44px);display:flex;flex-direction:column;gap:24px}.label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1.7px;display:block;margin-bottom:11px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choices button{min-height:77px;font-size:39px;border:2px solid var(--line);border-radius:18px}.choices button.selected{border-color:var(--teal);background:#e0ede4;color:var(--teal)}.choices.time button{font-size:24px;min-height:61px}.start-buttons{display:flex;gap:10px}.start-buttons button{flex:1;font-size:20px;min-height:62px}.game{flex:1;min-height:0;display:grid;grid-template-rows:48px minmax(130px,1fr) minmax(225px,1.05fr);gap:12px}.game-bar{display:flex;align-items:center;gap:10px}.game-bar .counter{font-size:14px;letter-spacing:1px;font-weight:800;white-space:nowrap}.game-bar .badge{background:#e4e8dc;border-radius:12px;font-size:14px;font-weight:800;min-width:56px;text-align:center;padding:12px}.game-bar .pause{margin-left:auto;min-width:83px;padding:10px 14px;font-size:13px}.question{background:var(--card);border:1px solid var(--line);border-radius:25px;padding:20px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;position:relative;overflow:hidden}.timer-track{height:7px;width:calc(100% - 36px);background:#e7eadf;border-radius:20px;overflow:hidden;position:absolute;top:17px}.timer-fill{width:100%;height:100%;background:var(--teal);transform-origin:left;border-radius:20px}.timer-fill.urgent{background:#c57d36}.timer-label{position:absolute;right:23px;top:31px;font-size:12px;font-variant-numeric:tabular-nums;font-weight:750;color:var(--muted)}.expression{font-size:clamp(39px,7vw,83px);line-height:1.15;font-weight:850;letter-spacing:-1px;white-space:nowrap}.answer{min-width:115px;min-height:61px;font-size:clamp(33px,6vw,59px);font-weight:850;text-align:center;color:var(--teal);margin-top:9px;border-bottom:3px solid #b4c6b7;line-height:1.05;padding:3px 14px}.result{font-size:clamp(39px,8vw,68px);font-weight:850;text-align:center;color:var(--teal)}.result.wrong{color:#ad5d40}.answer-line{font-size:clamp(25px,4vw,42px);font-weight:800;margin-top:10px}.paused-label{font-size:clamp(31px,5vw,48px);font-weight:800;margin-bottom:22px}.question>.primary{min-width:160px}.pad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:10px;min-height:0}.pad button{font-size:clamp(26px,4vw,43px);padding:5px;border-radius:18px;min-height:48px;user-select:none;-webkit-user-select:none}.pad button.action{font-size:24px}.summary{margin:auto;width:100%;max-width:560px;border:1px solid var(--line);border-radius:28px;background:var(--card);padding:35px 25px;display:flex;flex-direction:column;gap:25px;text-align:center}.summary-score{font-size:clamp(58px,10vw,96px);line-height:1;font-weight:850;color:var(--teal)}.summary-score small{font-size:28px;color:var(--muted)}.summary-detail{display:flex;justify-content:center;gap:22px}.summary-detail span{font-size:14px;color:var(--muted)}.summary-detail strong{font-size:25px;color:var(--ink);display:block;margin-top:4px}.summary-actions{display:flex;gap:10px}.summary-actions button{flex:1;min-height:60px;font-size:19px}
.toast{font-size:13px;color:#a65b38;text-align:center;min-height:17px;margin-top:5px}.small-info{font-size:12px;color:var(--muted);text-align:center}.feedback .pad{opacity:.45}@media(min-width:700px) and (min-height:850px){.shell{padding-top:22px;padding-bottom:26px;gap:20px}.game{gap:20px;grid-template-rows:48px minmax(230px,1fr) minmax(360px,1.2fr)}.pad{gap:15px}.question{border-radius:30px}.pad button{border-radius:24px}.expression{font-size:84px}.answer{font-size:65px}}@media(min-width:850px) and (max-height:850px){.game{grid-template-columns:1fr 1fr;grid-template-rows:48px 1fr;gap:18px}.game-bar{grid-column:1/-1}.question{grid-column:1}.pad{grid-column:2;grid-row:2;gap:14px}.expression{font-size:60px}.answer{font-size:58px}}@media(max-height:710px) and (orientation:portrait){.shell{gap:8px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(9px,env(safe-area-inset-bottom))}header{height:48px}.brand>b{width:36px;height:36px;font-size:30px;line-height:34px}.game{gap:9px;grid-template-rows:48px minmax(125px,.8fr) minmax(220px,1fr)}.question{padding:28px 15px 12px}.expression{font-size:40px}.answer{font-size:38px;min-height:45px;margin-top:5px}.timer-label{top:28px}.pad{gap:8px}.pad button{font-size:29px}.setup{gap:20px;padding:24px}.choices button{min-height:69px}}@media(max-height:500px) and (orientation:landscape){.shell{gap:5px;padding-top:max(5px,env(safe-area-inset-top));padding-bottom:max(6px,env(safe-area-inset-bottom));max-width:1000px}header{height:48px}.brand>b{width:30px;height:30px;font-size:25px;line-height:29px}.brand{font-size:13px}.icon-btn{min-height:48px;height:48px;width:48px;font-size:24px}.game{grid-template-columns:1fr 1fr;grid-template-rows:48px minmax(200px,1fr);gap:7px 14px}.game-bar{grid-column:1/-1}.game-bar .pause{min-height:48px}.question{grid-column:1;padding:30px 10px 10px}.pad{grid-column:2;grid-row:2;gap:6px}.pad button{border-radius:12px;font-size:25px;min-height:48px}.expression{font-size:38px}.answer{font-size:38px;min-height:42px;margin-top:10px}.timer-label{top:29px}.setup{padding:16px 22px;gap:12px;display:grid;grid-template-columns:1fr 1fr;max-width:740px}.setup .start-buttons{grid-column:1/-1}.choices button{min-height:58px;font-size:31px}.choices.time button{min-height:58px;font-size:21px}.label{margin-bottom:6px}.start-buttons button{min-height:49px}.summary{padding:15px 25px;gap:12px;max-width:550px}.summary-score{font-size:61px}.summary-actions button{min-height:50px}}@media(prefers-reduced-motion:reduce){button:active{transform:none}}#app{overflow:auto;scrollbar-width:thin}.setup{gap:17px;padding:23px;flex-shrink:0}.setup>.start-buttons{grid-column:1/-1}.choices button{min-height:66px}.choices.time button{min-height:52px;font-size:22px}.choices.levels button{min-height:61px;font-size:14px;padding:8px 5px}.choices.levels small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.choices.counts{grid-template-columns:repeat(5,1fr);gap:7px}.choices.counts button{min-height:50px;font-size:14px;padding:8px 3px;border-radius:12px}.choices.counts button[data-action="count:custom"]{font-size:12px}.choices.counts button[data-action="count:unlimited"]{font-size:23px}.custom-row,.limit-row{display:flex;align-items:center;gap:12px;margin-top:11px;font-size:13px;color:var(--muted)}input,select{font:inherit;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);height:48px;min-width:80px;padding:8px 14px;font-weight:750;font-size:18px}input{width:130px;min-width:0}select{flex:1}input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.start-buttons button{min-height:56px}.game{flex-shrink:0;height:100%}.game-bar .finish{margin-left:auto;font-size:13px;padding:10px 12px}.game-bar .finish+.pause{margin-left:0}.game-bar .badge{min-width:52px;padding:12px 9px}.master{font-size:32px;line-height:1.1;color:var(--teal);font-weight:850}.summary{gap:19px;flex-shrink:0}.summary-score{font-size:clamp(48px,9vw,88px);overflow-wrap:anywhere}.summary-score small{font-size:24px}.notes{text-align:left;max-height:27dvh;min-height:0;overflow:auto;border-top:1px solid var(--line);padding-top:15px}.notes>.label{margin-bottom:6px}.note-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line);font-size:18px}.note-row>span{display:flex;align-items:center;gap:12px}.miss{color:#ad5d40}.correct{color:var(--teal)}.note-arrow{color:var(--muted)}@media(max-height:500px) and (orientation:landscape){.setup{max-width:740px;padding:17px;gap:14px;grid-template-columns:1fr 1fr}.setup>.difficulty,.setup>.count-section{grid-column:auto}.setup>.small-info{grid-column:1/-1}.choices.levels button{min-height:56px}.summary{gap:12px;padding:17px 25px}.notes{max-height:23dvh}.master{font-size:27px}}@media(max-height:710px) and (orientation:portrait){.setup{padding:20px;gap:15px}.choices button{min-height:60px}.choices.levels button{min-height:56px}
.choices.counts button{min-height:50px}.summary{padding:24px 21px;gap:17px}.summary-score{font-size:56px}.master{font-size:28px}.game-bar{gap:8px}.game-bar .counter{font-size:13px}.game-bar .pause{min-width:72px;padding:10px 12px}}