:root{--ink:#122e62;--blue:#194fde;--blue-soft:#edf3ff;--lime:#e3f67b;--muted:#64718a;--line:#e0e6f0;--bg:#f2f5fa;--white:#fff;--red:#bb2f43;--green:#157856;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:default}button:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button,summary{touch-action:manipulation}[hidden]{display:none!important}.site-header{max-width:1140px;margin:auto;padding:29px 30px 26px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:13px;align-items:center;font-weight:800;font-size:21px;letter-spacing:.04em}.brand-mark{width:48px;height:48px;display:grid;place-items:center;background:var(--ink);color:var(--lime);font-size:31px;border-radius:15px;font-weight:500;box-shadow:0 3px 0 #0b2048}.brand small{display:block;font-size:12px;font-weight:500;letter-spacing:.06em;margin-top:3px;color:var(--muted)}.icon-button{width:36px;height:36px;border:1px solid #ced7e5;background:transparent;border-radius:50%;font-weight:700;font-size:18px;flex-shrink:0}.layout{max-width:1140px;margin:auto;padding:0 30px;display:grid;grid-template-columns:minmax(0,680px) minmax(265px,1fr);gap:26px;align-items:start}.section-eyebrow{font-size:12px;letter-spacing:.13em;font-weight:750;display:flex;align-items:center;justify-content:space-between;margin:1px 0 14px;color:#556985}.section-eyebrow span{letter-spacing:.03em;font-weight:500;font-size:13px}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mode{position:relative;background:#fff;text-align:left;border:1px solid var(--line);padding:13px 14px 15px;border-radius:14px;transition:background .15s,box-shadow .15s}.mode>span{font-size:12px;font-weight:750;color:#8391aa;display:block;margin-bottom:5px;letter-spacing:.06em}.mode strong{font-size:17px;display:block;white-space:nowrap}.mode small{font-size:12px;margin-top:6px;display:block;color:var(--muted);white-space:nowrap}.mode.active{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 4px 10px #102c6410}.mode.active>span{color:var(--lime)}.mode.active small{color:#ccd8ee}.input-options{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 2px 13px}.input-switch{display:flex;gap:3px;background:#e6ebf4;padding:3px;border-radius:9px}.input-switch button{font-size:13px;background:transparent;padding:8px 12px;border-radius:7px;font-weight:600;white-space:nowrap;color:var(--muted)}.input-switch button.active{background:white;color:var(--ink);box-shadow:0 2px 4px #102e6210}.switch{display:inline-flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap;cursor:pointer;position:relative}.switch input{position:absolute;width:1px;height:1px;opacity:0}.switch-track{display:block;width:30px;height:18px;border-radius:12px;background:#b8c3d3;position:relative;transition:background .2s}.switch-track:before{content:"";position:absolute;width:12px;height:12px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.switch input:checked+.switch-track{background:var(--blue)}.switch input:checked+.switch-track:before{transform:translateX(12px)}.switch input:focus-visible+.switch-track{outline:3px solid var(--blue);outline-offset:3px}.training-panel{position:relative;background:white;border:1px solid var(--line);border-radius:22px;padding:19px 23px 19px;overflow:hidden}.session-top{display:flex;justify-content:space-between;align-items:center}.phase-label{font-size:13px;color:var(--muted);font-weight:650}.timer{display:flex;align-items:center;gap:6px;font-size:21px;font-variant-numeric:tabular-nums;font-weight:750}.timer svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.timer.urgent{color:var(--red)}.time-track{height:3px;background:#edf1f7;border-radius:4px;margin-top:11px;overflow:hidden}.time-track span{display:block;width:100%;height:100%;background:var(--blue);transition:width .3s linear}.prompt-area{min-height:178px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 0 6px}.prompt-area>p{font-size:12px;color:var(--muted);margin:0 0 6px;letter-spacing:.07em}.target{font-size:72px;font-weight:700;line-height:1.25;letter-spacing:.08em;min-height:90px;display:flex;align-items:center;justify-content:center}.target.word{font-size:57px;gap:4px}.target span{position:relative;padding:0 2px}.target span.current{color:var(--blue)}.target span.current:after{content:"";height:4px;position:absolute;bottom:0;left:12%;right:12%;border-radius:2px;background:var(--lime)}.target span.done{color:#7baa9d}.target span.future{color:#b4becd}.hint-line{height:30px;display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);margin:6px 0 2px}.hint-line b{font-weight:700;color:var(--blue)}.hint-line .dir{display:inline-grid;place-items:center;width:24px;height:24px;background:var(--blue-soft);border-radius:6px;color:var(--blue);font-size:15px}.feedback{text-align:center;min-height:30px;font-size:13px;line-height:1.5;color:var(--muted);padding:2px 0 7px}.feedback.error{color:var(--red);font-weight:650}.feedback.success{color:var(--green)}.feedback.pending{color:var(--blue);font-weight:650}.session-metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:13px 0 14px;border-top:1px solid #e9edf4;gap:8px}.session-metrics>div{text-align:center;border-right:1px solid #e9edf4}.session-metrics>div:last-child{border:0}.session-metrics strong{display:block;font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums}.session-metrics strong small{font-size:13px;margin-left:2px;font-weight:500}.session-metrics span{font-size:12px;display:block;margin-top:5px;color:var(--muted)}.session-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.primary-button{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--blue);color:#fff;min-height:45px;padding:12px 18px;font-weight:650;font-size:15px;border-radius:11px;transition:background .15s}.primary-button:hover{background:#1344c6}.primary-button svg{width:18px;height:18px;fill:currentColor}#startBtn{flex:1}.secondary-button{min-height:45px;border:1px solid #cbd6e8;background:white;padding:10px 15px;border-radius:11px;font-size:14px;font-weight:600}.text-button{background:transparent;color:var(--muted);font-size:13px;padding:8px;min-height:38px}.keypad-section{margin-top:15px;padding:0 4px;position:relative}.keypad-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:0 2px 9px;gap:8px}.keypad-caption>span:first-child{font-weight:700;color:var(--ink)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative;touch-action:none;user-select:none;-webkit-user-select:none}.kana-key{height:61px;border-radius:11px;border:1px solid #d6deeb;background:#fff;position:relative;box-shadow:0 3px 0 #dce3ee;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.kana-key .key-main{font-size:25px;font-weight:650;line-height:1.12}.kana-key .key-letters{font-size:10px;color:#7f8ca3;letter-spacing:.13em;margin-top:4px}.kana-key.special{background:#e8eef8}.kana-key.special .key-main{font-size:19px;letter-spacing:.02em}.kana-key.special .key-letters{font-size:10px;letter-spacing:.02em}.kana-key:disabled{opacity:.65}.kana-key.active{background:var(--blue);color:white;box-shadow:0 3px 0 #1341bb;border-color:var(--blue)}.kana-key.active .key-letters{color:#fff}.kana-key.hint-key:not(.active){border-color:#7599ed;box-shadow:0 3px 0 #bacaf0;background:#f6f9ff}.flick-popup{position:fixed;z-index:20;width:150px;height:150px;pointer-events:none;display:grid;grid-template-columns:repeat(3,50px);grid-template-rows:repeat(3,50px);filter:drop-shadow(0 4px 8px #102e6230)}.flick-popup .option{display:grid;place-items:center;font-size:25px;font-weight:700;background:#fff;border:1px solid #ccdbf5;color:var(--ink);border-radius:9px}.flick-popup .option.selected{background:var(--blue);color:#fff;border-color:var(--blue)}.flick-popup .option.center{grid-column:2;grid-row:2}.flick-popup .option.left{grid-column:1;grid-row:2}.flick-popup .option.up{grid-column:2;grid-row:1}.flick-popup .option.right{grid-column:3;grid-row:2}.flick-popup .option.down{grid-column:2;grid-row:3}.keypad-note{font-size:11px;line-height:1.6;color:var(--muted);text-align:center;margin:11px 0 0}.practice-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:16px 4px 0}.practice-footer>span{font-size:12px;color:var(--muted);text-align:right}.sidebar{display:flex;flex-direction:column;gap:18px;padding-top:0}.daily-card,.compass-card,.records-card{border-radius:19px;background:#fff;border:1px solid var(--line);padding:20px}.daily-card{background:var(--ink);color:#fff;border-color:var(--ink)}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.card-heading h2{font-size:15px;margin:0;font-weight:700}.card-heading>span{font-size:12px;color:var(--muted);white-space:nowrap}.daily-card .card-heading>span{color:#bbcae6}.daily-total{display:flex;gap:16px;align-items:center;margin:22px 0 18px}.daily-total>strong{font-size:51px;font-weight:650;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em;white-space:nowrap}.daily-total>strong small{font-size:16px;font-weight:500;margin-left:6px;letter-spacing:0}.daily-total>span{font-size:12px;line-height:1.9;color:#c5d3ec}.daily-track{height:5px;background:#344b76;border-radius:5px;overflow:hidden}.daily-track span{height:100%;background:var(--lime);display:block;width:0;transition:width .3s}.daily-details{display:flex;justify-content:space-between;font-size:12px;color:#c5d3ec;margin:12px 0 22px}.daily-details b{color:#fff;font-weight:600}.week-head{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #3e5379;padding-top:17px;margin-bottom:13px}.week-head h3{font-size:12px;margin:0;font-weight:550}.week-head>span{font-size:11px;color:#a9bbdb}.week-chart{display:flex;gap:9px;align-items:flex-end;height:85px;justify-content:space-between}.day-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.day-bar .bar-track{height:56px;width:100%;display:flex;align-items:flex-end;justify-content:center}.day-bar .bar-fill{background:#486490;border-radius:4px 4px 2px 2px;width:18px;min-height:4px;max-width:100%}.day-bar.today .bar-fill{background:var(--lime)}.day-bar small{font-size:11px;color:#c5d3ec}.day-bar.today small{color:var(--lime);font-weight:650}.private-note{font-size:11px;color:#a9bbdb;line-height:1.7;margin:17px 0 0}.small-badge{background:var(--blue-soft);color:var(--blue)!important;padding:4px 7px;border-radius:5px;font-size:11px!important}.compass{display:grid;grid-template-columns:repeat(3,60px);grid-template-rows:repeat(3,54px);justify-content:center;margin:15px 0 12px;gap:3px}.compass>div{display:flex;align-items:center;justify-content:center;flex-direction:column}.compass b{font-size:23px;line-height:1.2;font-weight:650}.compass small{font-size:10px;color:var(--muted);margin-top:2px}.compass-up{grid-column:2;grid-row:1}.compass-left{grid-column:1;grid-row:2}.compass-center{grid-column:2;grid-row:2;background:var(--blue-soft);border:1px solid #c9d8fa;border-radius:13px;color:var(--blue)}.compass-right{grid-column:3;grid-row:2}.compass-down{grid-column:2;grid-row:3}.compass-card>p{font-size:12px;line-height:1.8;color:var(--muted);text-align:center;margin:0}.history{list-style:none;margin:15px 0 0;padding:0;max-height:260px;overflow:auto}.history li{padding:11px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}.history li:last-child{border-bottom:0}.history .record-info strong{display:block;font-size:12px;font-weight:600}.history .record-info small{font-size:10px;display:block;color:var(--muted);margin-top:4px}.history .record-score{text-align:right}.history .record-score b{font-size:16px}.history .record-score small{font-size:10px;display:block;color:var(--muted);margin-top:3px}.history .empty-history{display:block;color:var(--muted);font-size:13px;line-height:1.8;background:#f5f7fb;border-radius:10px;padding:16px;margin-top:3px;text-align:center}.best-score{display:none;background:var(--blue-soft);padding:10px 12px;margin-top:15px;border-radius:9px;font-size:12px;line-height:1.6}.best-score.visible{display:block}.best-score b{font-size:18px;color:var(--blue);margin:0 3px}.record-method{font-size:10px;color:var(--muted);line-height:1.9;margin:15px 0 0}.site-footer{max-width:1140px;margin:32px auto 0;padding:20px 30px 28px;font-size:12px;color:#7a889f;display:flex;justify-content:space-between;border-top:1px solid var(--line);gap:12px}.native-area{margin:2px 0 15px}.native-area label{font-size:12px;display:block;color:var(--muted);margin-bottom:7px}.native-area input{width:100%;border:1px solid #b7c9ed;border-radius:10px;padding:12px 13px;font-size:20px;min-height:52px;color:var(--ink);background:#f5f8ff}.native-area input:disabled{background:#f2f4f8}.native-area small{font-size:11px;color:var(--muted);display:block;line-height:1.6;margin-top:6px}.native-mode .prompt-area{min-height:165px}.native-mode .practice-footer{display:none}dialog{border:1px solid var(--line);border-radius:23px;padding:23px;color:var(--ink);max-width:460px;width:calc(100% - 32px);box-shadow:0 25px 100px #09265638;max-height:calc(100dvh - 40px)}dialog::backdrop{background:#091d44a1;backdrop-filter:blur(4px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-header h2{font-size:20px;margin:0}.dialog-header .section-eyebrow{margin:0}dialog>.primary-button{width:100%;margin-top:19px}.help-body{max-height:calc(100dvh - 230px);overflow:auto;padding-right:3px}.help-body section{display:flex;gap:13px;margin-bottom:22px}.step-number{font-size:12px;letter-spacing:.04em;font-weight:750;background:var(--lime);border-radius:8px;display:grid;place-items:center;width:30px;height:30px;flex-shrink:0}.help-body h3{font-size:15px;margin:5px 0 8px}.help-body p{font-size:14px;line-height:1.9;margin:0;color:var(--muted)}.help-note{background:#f1f5fc;border-radius:13px;padding:15px}.help-note b{font-size:13px}.help-note p{font-size:12px;margin-top:9px}#resultDialog{text-align:center;padding:25px}.result-icon{width:68px;height:68px;border-radius:21px;background:var(--lime);font-size:39px;margin:15px auto 18px;display:grid;place-items:center}.result-values{display:grid;grid-template-columns:repeat(2,1fr);margin:25px 0;gap:10px}.result-values strong{display:block;font-size:43px;font-weight:700}.result-values strong small{font-size:18px;margin-left:4px}.result-values span{font-size:12px;color:var(--muted)}#resultTitle{font-size:25px;margin:0 0 10px}#resultDescription{font-size:13px;color:var(--muted);margin:0}.result-detail{background:#f3f6fc;padding:12px;border-radius:10px;font-size:13px}#resultTip{font-size:13px;line-height:1.8;color:var(--muted);margin:18px 0 0}#doneBtn{margin-top:6px}#confirmDialog p{font-size:14px;line-height:1.9;color:var(--muted)}.confirm-actions{display:flex;gap:10px;margin-top:20px}.confirm-actions button{flex:1}.pulse-wrong{animation:wrong .22s ease}.pulse-correct{animation:correct .18s ease}@keyframes wrong{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes correct{50%{transform:scale(1.025)}}@media(min-width:1200px){.layout{padding-top:3px}.training-panel{padding:21px 26px}.prompt-area{min-height:185px}.kana-key{height:63px}}@media(max-width:850px){.layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px;padding:0 20px}.site-header{padding:22px 20px}.mode{padding:12px 10px}.mode strong{font-size:14px}.mode small{font-size:10px}.daily-card,.compass-card,.records-card{padding:17px}.input-switch button{padding:8px 8px;font-size:12px}.training-panel{padding:17px}.practice-footer{flex-direction:column;align-items:flex-start;gap:9px}.target.word{font-size:48px}}@media(max-width:690px){.site-header{padding:19px 17px 22px}.brand{font-size:19px;gap:11px}.brand-mark{width:41px;height:41px;border-radius:12px;font-size:28px}.brand small{font-size:10px;margin-top:3px}.layout{display:block;padding:0 14px;max-width:510px}.section-eyebrow{font-size:10px;margin:0 3px 10px}.section-eyebrow span{font-size:11px}.modes{gap:6px}.mode{padding:11px 9px 12px;border-radius:12px}.mode>span{font-size:10px;margin-bottom:5px}.mode strong{font-size:14px;letter-spacing:-.025em}.mode small{font-size:10px;margin-top:5px;letter-spacing:-.025em}.input-options{padding:12px 0 10px;gap:8px}.input-switch{gap:1px;padding:3px}.input-switch button{font-size:11px;padding:7px 9px}.switch{font-size:11px;gap:5px}.training-panel{border-radius:18px;padding:14px 16px 15px}.phase-label{font-size:11px}.timer{font-size:19px}.timer svg{width:16px;height:16px}.time-track{margin-top:8px}.prompt-area{min-height:143px;padding:10px 0 3px}.prompt-area>p{font-size:10px;margin-bottom:3px}.target{font-size:62px;min-height:72px;line-height:1.2}.target.word{font-size:46px;min-height:67px}.hint-line{font-size:11px;gap:5px;height:24px;margin:7px 0 0}.hint-line .dir{width:21px;height:21px;font-size:13px}.feedback{font-size:11px;min-height:24px;padding:2px 0 6px}.session-metrics{padding:11px 0 12px}.session-metrics strong{font-size:21px}.session-metrics span{font-size:10px;margin-top:4px}.session-metrics strong small{font-size:11px}.primary-button{min-height:42px;padding:10px 13px;font-size:13px;border-radius:10px}.secondary-button{min-height:42px;font-size:11px;padding:9px 10px;border-radius:10px}.text-button{font-size:11px;min-height:34px;padding:7px 5px}.session-controls{gap:7px}.keypad-section{margin-top:13px;padding:0 2px}.keypad-caption{font-size:10px;margin-bottom:7px}.keypad{gap:7px}.kana-key{height:56px;border-radius:10px;box-shadow:0 2px 0 #dce3ee}.kana-key .key-main{font-size:24px}.kana-key .key-letters{font-size:9px;margin-top:3px}.keypad-note{font-size:9px;margin:9px 0 0}.practice-footer{flex-direction:row;align-items:center;margin:13px 2px 0;gap:6px}.practice-footer>span{font-size:10px}.sidebar{margin-top:27px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.daily-card{grid-column:1/-1;padding:20px}.daily-total{margin:18px 0 15px}.daily-total>strong{font-size:47px}.daily-total>span{font-size:12px}.daily-details{margin-bottom:16px}.week-chart{height:76px}.day-bar .bar-track{height:49px}.day-bar .bar-fill{width:26px}.private-note{font-size:10px;margin-top:14px}.compass-card{padding:15px;grid-column:1/-1}.compass{grid-template-columns:repeat(3,60px);grid-template-rows:repeat(3,49px);margin:12px auto 9px}.compass-card>p{font-size:12px}.card-heading h2{font-size:14px}.records-card{grid-column:1/-1;padding:18px}.history{max-height:240px}.history .record-info strong{font-size:13px}.history .record-info small,.history .record-score small{font-size:11px}.record-method{font-size:11px}.site-footer{margin-top:25px;padding:17px 18px 26px;font-size:10px}.native-mode .prompt-area{min-height:130px}.native-area input{font-size:18px}.native-area label{font-size:11px}.native-area small{font-size:10px}.native-mode .sidebar{margin-top:23px}dialog{padding:20px}.dialog-header h2{font-size:18px}.help-body h3{font-size:14px}.help-body p{font-size:13px}.help-note p{font-size:12px}}@media(max-width:360px){.layout{padding:0 10px}.site-header{padding:16px 13px 20px}.mode strong{font-size:12px}.mode small{font-size:9px}.input-switch button{font-size:10px;padding:7px}.training-panel{padding:12px}.target.word{font-size:42px}.session-controls{gap:5px}.primary-button{padding:10px;font-size:12px}.practice-footer{flex-wrap:wrap}.kana-key{height:53px}.hint-line{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Readable action labels on compact touch screens. */
.input-switch button{font-size:14px}.switch{font-size:14px}.keypad-note{font-size:12px}.keypad-caption{font-size:12px}.practice-footer>span{font-size:12px}.native-area label{font-size:14px}.native-area small{font-size:12px}.record-method{font-size:12px}.private-note{font-size:12px}
@media(max-width:850px){.input-switch button{font-size:12px}.switch{font-size:12px}.practice-footer>span{font-size:12px}}
@media(max-width:690px){.input-switch button{font-size:12px;padding:8px}.switch{font-size:12px}.phase-label,.feedback,.hint-line{font-size:12px}.primary-button{font-size:14px}.session-metrics span{font-size:12px}.secondary-button{font-size:12px}.keypad-caption{font-size:12px}.keypad-note{font-size:12px;line-height:1.7}.practice-footer{flex-wrap:wrap}.practice-footer>span{font-size:12px}.native-area label{font-size:14px}.native-area small{font-size:12px}.brand small{font-size:12px}.mode small{font-size:11px}.private-note{font-size:12px}}
@media(max-width:380px){.input-options{flex-wrap:wrap}.input-switch{flex:1}.input-switch button{flex:1}.input-options .switch{margin-left:auto}.session-controls .text-button{flex-basis:100%}.mode small{font-size:10px}}
/* Keep the mode grid within narrow viewports without shrinking its labels. */
@media(max-width:380px){.modes{grid-template-columns:repeat(3,minmax(0,1fr))}.mode{min-width:0;padding-left:8px;padding-right:8px}.mode strong,.mode small{white-space:normal}}
.single-options{margin-top:14px}.drill-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;background:#e6ebf4;border-radius:12px}.drill-switch button{min-height:44px;padding:8px 4px;border-radius:8px;background:transparent;font-size:14px;font-weight:700}.drill-switch button.active{background:var(--ink);color:#fff}.single-options p{font-size:13px;line-height:1.7;margin:9px 2px 0}.single-options #drillModifierNote{color:var(--muted);font-size:12px}.row-mode .kana-key[data-key="wa"]{grid-column:2}.direction-section{margin-top:16px}.direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:". up ." "left center right" ". down .";gap:8px;max-width:330px;margin:auto}.direction-grid button{min-height:64px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:26px;touch-action:none;user-select:none;-webkit-user-select:none}.direction-grid button small{display:block;font-size:12px;margin-top:3px}.direction-grid button:disabled{opacity:.5}.direction-grid .hint-key{border-color:var(--blue);background:var(--blue-soft)}.direction-grid .active{background:var(--lime)}.direction-up{grid-area:up}.direction-left{grid-area:left}.direction-center{grid-area:center}.direction-right{grid-area:right}.direction-down{grid-area:down}.session-top{gap:10px}.phase-label{min-width:0;line-height:1.6}.timer{flex-shrink:0}
