:root{--sun:#ffb703;--sun-dark:#f08c00;--sky:#2ec4e6;--sky-dark:#0f9bc4;--grass:#52c98b;--grass-dark:#2ea96c;--bubble:#ff6fa5;--bubble-dark:#e0477f;--grape:#9d5cff;--grape-dark:#7b39d6;--mint:#b5f2c9;--paper:#fffdf6;--card:#fff;--ink:#2f3357;--ink-soft:#6b7194;--line:#e7e3d8;--grid-line:#b9c6d6;--ok:#23a06a;--ok-soft:#dcf6e8;--ko:#e5484d;--ko-soft:#ffe1e1;--radius-s:12px;--radius:20px;--radius-l:32px;--shadow-s:0 3px 0 #2f33571f;--shadow:0 6px 0 #2f335724;--shadow-l:0 14px 30px #2f33572e;--font:"Nunito", "Quicksand", "Ubuntu", "Comic Sans MS", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--step:clamp(1.5rem, 4.9vh, 3.2rem);--row-h:clamp(46px, 7.5vh, 74px);--cell-fs:clamp(1.15rem, 3.1vh, 2rem);--head-fs:clamp(.62rem, 1.6vh, .95rem);--card-pad:clamp(10px, 1.9vh, 26px);--gap-y:clamp(6px, 1.3vh, 14px);--app-pad:clamp(6px, 1.3vh, 20px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background-image:radial-gradient(circle at 12% 18%,#ffb70329,#0000 42%),radial-gradient(circle at 88% 12%,#2ec4e629,#0000 40%),radial-gradient(circle at 78% 88%,#9d5cff1f,#0000 45%),radial-gradient(circle at 20% 92%,#52c98b24,#0000 45%);background-attachment:fixed;font-size:18px;line-height:1.4;overflow-x:hidden}h1,h2,h3,p{margin:0}button{cursor:pointer;font-family:inherit}input{-webkit-user-select:text;user-select:text;font-family:inherit}.app{min-height:100dvh;padding:var(--app-pad) clamp(8px, 2vw, 20px);align-items:center;gap:var(--gap-y);flex-direction:column;display:flex}.screen{gap:var(--gap-y);flex-direction:column;flex:auto;width:min(1080px,100%);min-height:0;display:flex}.card{background:var(--card);border-radius:var(--radius-l);box-shadow:var(--shadow-l);padding:var(--card-pad)}.topbar{flex-wrap:wrap;flex:none;align-items:center;gap:clamp(6px,1.1vw,10px);width:min(1080px,100%);display:flex}.topbar .spacer{flex:1}.chip{border:3px solid var(--line);white-space:nowrap;box-shadow:var(--shadow-s);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:clamp(3px,.75vh,6px) clamp(8px,1.3vw,14px);font-size:clamp(.82rem,2vh,1.05rem);font-weight:800;display:inline-flex}.chip.points{background:#fff7e3;border-color:#ffe0a3}.chip.streak{background:#fff0f3;border-color:#ffd0d9}.chip.level{background:#eef8ff;border-color:#cfeaff}.chip.flame{animation:2.4s ease-in-out infinite flicker}.title-app{letter-spacing:-.02em;margin:0;font-size:clamp(1.15rem,3.2vh,1.9rem);font-weight:900;line-height:1.15}.title-screen{margin:0;font-size:clamp(1.25rem,3.4vh,2.2rem);font-weight:900;line-height:1.15}.btn{--btn-bg:#fff;--btn-fg:var(--ink);--btn-border:var(--line);border:4px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-fg);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:center;align-items:center;gap:10px;padding:clamp(9px,1.6vh,14px) clamp(14px,2.2vw,22px);font-size:clamp(1.05rem,2.35vh,1.25rem);font-weight:900;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex}.btn:hover{filter:brightness(1.03)}.btn:active{transform:translateY(4px);box-shadow:0 2px #2f335724}.btn:focus-visible{outline-offset:3px;outline:4px solid #1b1b3a}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.btn.small{border-radius:var(--radius-s);border-width:3px;padding:clamp(6px,1.15vh,10px) clamp(11px,1.6vw,16px);font-size:clamp(.95rem,1.95vh,1.05rem)}.btn.btn-nav{border-radius:999px;min-width:44px;padding:clamp(4px,.9vh,8px) clamp(10px,1.2vw,14px);font-size:clamp(1rem,2.2vh,1.15rem)}.btn.icon{padding:12px 16px;font-size:1.4rem}.btn.sun{--btn-bg:var(--sun);--btn-fg:#4a2f00;--btn-border:var(--sun-dark)}.btn.sky{--btn-bg:var(--sky);--btn-fg:#04303c;--btn-border:var(--sky-dark)}.btn.grass{--btn-bg:var(--grass);--btn-fg:#063b23;--btn-border:var(--grass-dark)}.btn.bubble{--btn-bg:var(--bubble);--btn-fg:#4a0a25;--btn-border:var(--bubble-dark)}.btn.grape{--btn-bg:var(--grape);--btn-fg:#f7f0ff;--btn-border:var(--grape-dark)}.btn.ghost{--btn-bg:#fff;--btn-border:var(--line)}.btn.hero{padding:clamp(13px,2.3vh,20px) clamp(20px,3vw,30px);font-size:clamp(1.15rem,2.95vh,1.7rem)}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(12px,2.5vw,20px);display:grid}.menu-btn{border:5px solid var(--btn-border);background:var(--btn-bg);min-height:clamp(150px,26vw,200px);color:var(--btn-fg);border-radius:var(--radius-l);box-shadow:var(--shadow);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:18px 14px;transition:transform .14s,box-shadow .14s;display:flex;position:relative}.menu-btn:active{transform:translateY(5px);box-shadow:0 2px #2f335729}.menu-btn .big-emoji{font-size:clamp(2.6rem,8vw,3.6rem);line-height:1}.menu-btn .label{letter-spacing:.02em;font-size:clamp(1.2rem,3.4vw,1.6rem);font-weight:900}.menu-btn .sub{opacity:.85;font-size:.98rem;font-weight:700}.menu-btn.add{--btn-bg:var(--sun);--btn-border:var(--sun-dark);--btn-fg:#4a2f00}.menu-btn.sub{--btn-bg:var(--sky);--btn-border:var(--sky-dark);--btn-fg:#04303c}.menu-btn.mul{--btn-bg:var(--grape);--btn-border:var(--grape-dark);--btn-fg:#f7f0ff}.badge-level{color:var(--ink);background:#ffffffe6;border-radius:999px;padding:4px 12px;font-size:.9rem;font-weight:900;position:absolute;top:10px;right:12px}.op-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.abn-grid .op-cell{padding:0}.abn-grid .op-inner{font-size:var(--step);letter-spacing:-.01em;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(6px,1.6vw,18px);font-weight:900;line-height:1.15;display:flex}.abn-grid .op-cell .num{border:4px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-s);background:#fff;padding:clamp(2px,.45vh,4px) clamp(10px,2.4vw,18px)}.abn-grid .op-cell .num.a{background:#fff8e8;border-color:#ffe0a3}.abn-grid .op-cell .num.b{background:#eff9ff;border-color:#cfeaff}.abn-grid .op-cell .num.question{border-style:dashed;border-color:var(--grape);color:var(--grape);text-align:center;min-width:2.2ch}.op-instruction{text-align:left;color:var(--ink-soft);flex:260px;margin:0;font-size:clamp(.9rem,2.2vh,1.25rem);font-weight:800}.op-layout{gap:var(--gap-y);flex-direction:column;min-height:0;display:flex}.op-main,.op-side{gap:var(--gap-y);flex-direction:column;min-width:0;display:flex}.op-feedback{align-items:center;min-height:clamp(52px,8.6vh,72px);display:flex}.op-feedback .feedback{width:100%}.tip-list{text-align:left;flex-direction:column;gap:8px;max-height:34vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.tip-list li{padding:2px 0}.op-summary{text-align:center;flex-wrap:wrap;justify-content:center;align-self:center;margin-top:auto}.keypad-details{border:3px dashed var(--line);border-radius:var(--radius);background:#fbfcff;padding:0 clamp(8px,1.4vw,14px)}.keypad-details>summary{cursor:pointer;color:var(--ink-soft);-webkit-user-select:none;user-select:none;align-items:center;min-height:44px;padding:clamp(4px,.9vh,8px) 0;font-size:clamp(.9rem,2.1vh,1.05rem);font-weight:800;list-style-position:inside;display:flex}.keypad-details>summary:hover{color:var(--ink)}.keypad-details[open]>summary{border-bottom:3px dashed var(--line);margin-bottom:10px}.keypad-details:focus-within{border-color:var(--sky)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.grid-wrap{-webkit-overflow-scrolling:touch;padding:4px 2px 8px;overflow-x:auto}.abn-grid{border-collapse:collapse;border:4px solid var(--grid-line);border-radius:var(--radius-s);table-layout:fixed;background:#fff;width:100%;min-width:460px;overflow:hidden}.abn-grid .op-row th{border:0;border-bottom:4px solid var(--grid-line);text-align:center;background:linear-gradient(#fffdf3,#fff6dd);padding:clamp(4px,.95vh,10px) 8px;font-weight:900}.abn-grid .op-cell .sign{color:var(--ink-soft)}.abn-grid .op-cell .sign.add{color:var(--grass-dark)}.abn-grid .op-cell .sign.rem{color:var(--bubble-dark)}.abn-grid .op-cell .num.question{color:var(--sun-dark)}.abn-grid .head-row th{font-size:var(--head-fs);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;border:0;border-bottom:4px solid var(--grid-line);text-align:center;vertical-align:bottom;background:#f4f7fb;padding:clamp(3px,.75vh,8px) 6px;font-weight:900;line-height:1.2}.abn-grid .head-row th:first-child{color:#14506b;border-right:4px solid var(--grid-line);background:#eef7ff}.abn-grid td{border:0;border-bottom:3px solid var(--grid-line);border-right:3px solid var(--grid-line);height:var(--row-h);vertical-align:middle;background:#fff;padding:0}.abn-grid td:nth-child(2){border-right:4px solid var(--grid-line)}.abn-grid tbody tr:last-child td{border-bottom:0}.abn-grid td:last-child{border-right:0}.abn-grid td.step-cell{border-right:4px solid var(--grid-line);background:#f4faff;position:relative}.abn-grid .start-row td{border-bottom:4px solid var(--grid-line);color:#4a2f00;text-align:center;background:linear-gradient(90deg,#fff6dd,#fffdf3);font-size:clamp(1.05rem,3.2vh,1.9rem);font-weight:900;line-height:1.2}.abn-grid .start-row td.start-step{color:#a79a72;background:#f0f0e8;font-weight:700}.abn-grid .start-row td.start-second{background:linear-gradient(90deg,#fffdf3,#fff6dd)}.grid-input{width:100%;height:100%;min-height:var(--row-h);color:var(--ink);font-size:var(--cell-fs);text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;padding:0 6px;font-weight:900}.grid-input::placeholder{color:#b9c9d8;font-size:.6em;font-weight:800}.grid-input:focus{box-shadow:inset 0 0 0 4px var(--sky);background:#fff;border-radius:6px}.abn-grid td.step-cell .grid-input{padding-left:1.5em}.abn-grid .input-second{text-align:right;padding-right:12px}.abn-grid .input-second:focus{box-shadow:inset 0 0 0 4px var(--grass)}.abn-grid tr.row-bad td{background:var(--ko-soft);animation:.4s shake}.abn-grid tr.row-bad .step-cell{background:#ffe2e3}.abn-grid tr.row-good td{background:var(--ok-soft);animation:.3s pop}.abn-grid tr.row-good .step-cell{background:#ddf6e8}.abn-grid tr.row-bad .grid-input,.abn-grid tr.row-good .grid-input{color:var(--ink)}.grid-input.cell-bad{box-shadow:inset 0 0 0 4px var(--ko);color:#8f1f22;background:#fff;border-radius:8px}.grid-input.cell-bad:focus{box-shadow:inset 0 0 0 4px var(--ko), 0 0 0 3px #fff}.step-sign{pointer-events:none;font-size:clamp(1.05rem,2.9vh,1.7rem);font-weight:900;line-height:1;position:absolute;top:50%;left:clamp(4px,.9vw,10px);transform:translateY(-50%)}.step-sign.move{color:var(--ink-soft)}.step-sign.minus{color:var(--bubble-dark)}.grid-add{border:3px dashed var(--grid-line);color:#14506b;cursor:pointer;white-space:nowrap;background:#f7fbff;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:clamp(5px,1vh,7px) clamp(10px,1.4vw,14px);font-size:clamp(.78rem,1.95vh,1rem);font-weight:800;transition:background .15s,border-color .15s;display:inline-flex}.grid-add:focus-visible{outline-offset:2px;outline:3px solid #1b1b3a}.grid-add:hover:not(:disabled){border-color:var(--sky);background:#eaf6ff}.grid-add:disabled{opacity:.45;cursor:not-allowed}.grid-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:clamp(2px,.6vh,6px);display:flex}.grid-footer .progress-note{flex:180px;margin:0}.op-meta{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.feedback{border-radius:var(--radius);align-items:center;gap:12px;min-height:clamp(50px,8vh,62px);padding:clamp(8px,1.5vh,14px) clamp(12px,1.8vw,18px);font-size:clamp(1rem,2.4vh,1.35rem);font-weight:900;animation:.3s pop;display:flex}.feedback.ok{background:var(--ok-soft);color:#14512f;border:4px solid #9ee0bd}.feedback.ko{background:var(--ko-soft);color:#8f1f22;border:4px solid #f5b3b4}.feedback.tip{color:#6a4a00;background:#fff8e3;border:4px solid #ffdd8f;font-size:clamp(.92rem,2.1vh,1.2rem);font-weight:800}.feedback .emoji{font-size:clamp(1.4rem,3vh,1.8rem)}.feedback-detail{opacity:.95;margin-top:2px;font-size:.82em;font-weight:800;display:block}.progress-note{text-align:center;color:var(--ink-soft);min-height:1.4em;font-size:clamp(.85rem,2vh,1.05rem);font-weight:800}.actions-row{flex-wrap:wrap;justify-content:center;gap:clamp(8px,1.2vw,12px);display:flex}.actions-row .grow{flex:200px}.celebrate{z-index:50;background:#2f335773;place-items:center;padding:20px;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.celebrate-box{border-radius:var(--radius-l);text-align:center;width:100%;max-width:520px;box-shadow:var(--shadow-l);border:6px solid var(--sun);background:#fff;padding:clamp(20px,4vw,34px);animation:.45s cubic-bezier(.2,1.4,.4,1) bounceIn}.celebrate-box .big{margin-bottom:6px;font-size:clamp(2.2rem,7vw,3.2rem);font-weight:900}.celebrate-box ul{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;font-size:1.2rem;font-weight:800;list-style:none;display:flex}.stars-row{letter-spacing:6px;margin:8px 0;font-size:2rem}.confetti-canvas{pointer-events:none;z-index:60;position:fixed;inset:0}.hero-title{text-align:center;letter-spacing:-.02em;margin-top:4px;font-size:clamp(1.8rem,6vw,3rem);font-weight:900}.hero-sub{text-align:center;color:var(--ink-soft);font-size:clamp(1rem,2.6vw,1.2rem);font-weight:800}.stats-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat-box{border-radius:var(--radius);border:4px solid var(--line);box-shadow:var(--shadow-s);text-align:left;background:#fff;align-items:center;gap:12px;padding:12px 14px;display:flex}.stat-box .ico{font-size:2rem;line-height:1}.stat-box .value{font-size:1.5rem;font-weight:900;line-height:1.1}.stat-box .label{color:var(--ink-soft);font-size:.92rem;font-weight:800}.stat-box.gold{background:#fffaeb;border-color:#ffd976}.stat-box.red{background:#fff2f5;border-color:pink}.stat-box.blue{background:#f1f9ff;border-color:#bfe3ff}.stat-box.green{background:#f3fdf7;border-color:#b6e9cd}.link-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tabs{border-radius:var(--radius);box-shadow:var(--shadow-s);background:#fff;flex-wrap:wrap;flex:none;justify-content:center;gap:10px;padding:clamp(4px,.9vh,8px);display:flex}.tab{border-radius:var(--radius-s);color:var(--ink-soft);background:0 0;border:3px solid #0000;padding:clamp(6px,1.3vh,10px) clamp(12px,1.8vw,18px);font-size:clamp(1rem,2.2vh,1.15rem);font-weight:900}.tab.active{background:var(--grape);color:#fff;border-color:var(--grape-dark)}.table-picker{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:10px;display:grid}.table-btn{aspect-ratio:1;border:4px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:var(--shadow-s);background:#fff;justify-content:center;align-items:center;font-size:clamp(1.5rem,5vw,2.2rem);font-weight:900;display:flex;position:relative}.table-btn.active{border-color:var(--grape);box-shadow:var(--shadow);background:#f6efff;transform:translateY(-3px)}.table-btn .mark{font-size:.85rem;position:absolute;bottom:4px;right:8px}.table-btn.mastered{border-color:#9ee0bd}.table-btn.weak{border-color:#f5b3b4}.multiplication-table{border-collapse:separate;border-spacing:6px;width:100%}.multiplication-table td{border-radius:var(--radius-s);text-align:center;color:#4b2a80;background:#f6f4ff;border:3px solid #e3dbff;padding:clamp(5px,1.1vh,8px) 10px;font-size:clamp(.95rem,2.4vh,1.35rem);font-weight:900}.multiplication-table td.strong{background:var(--grape);border-color:var(--grape-dark);color:#fff}.multiplication-table td.faded{color:#b9aede}.table-scroll{max-height:clamp(180px,36vh,460px);margin-top:clamp(6px,1.2vh,10px);padding-right:4px;overflow:auto}.title-table{margin-top:clamp(10px,2vh,20px);font-size:clamp(1.05rem,2.6vh,1.4rem)}.question-big{text-align:center;letter-spacing:-.01em;font-size:clamp(1.9rem,7.4vh,4rem);font-weight:900;line-height:1.15}.answer-input{border-radius:var(--radius);text-align:center;width:min(320px,100%);height:clamp(58px,12.5vh,92px);color:var(--ink);background:#f8f4ff;border:5px solid #d9ccff;outline:none;font-size:clamp(1.8rem,6.4vh,3rem);font-weight:900}.answer-input:focus{border-color:var(--grape);background:#fff;box-shadow:0 0 0 8px #9d5cff33}.answer-input.bad{border-color:var(--ko);background:var(--ko-soft);animation:.4s shake}.answer-input.good{border-color:var(--ok);background:var(--ok-soft)}.progress-dots{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.dot{background:#e2e6ef;border:2px solid #cfd6e4;border-radius:50%;width:16px;height:16px}.dot.done{background:var(--grass);border-color:var(--grass-dark)}.dot.miss{background:var(--bubble);border-color:var(--bubble-dark)}.dot.current{background:var(--sun);border-color:var(--sun-dark);transform:scale(1.25)}.section{flex-direction:column;gap:10px;display:flex}.section h2{align-items:center;gap:10px;font-size:clamp(1.2rem,3.4vw,1.5rem);font-weight:900;display:flex}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.metric{border-radius:var(--radius);background:#f8f9ff;border:3px solid #e6e8f5;padding:10px 12px}.metric .k{color:var(--ink-soft);font-size:.9rem;font-weight:800}.metric .v{font-size:1.6rem;font-weight:900}.bar{background:#e9ecf5;border:2px solid #dfe3ee;border-radius:999px;height:16px;overflow:hidden}.bar>span{background:linear-gradient(90deg, var(--grass), var(--sky));border-radius:999px;height:100%;transition:width .5s;display:block}.bar.sun>span{background:linear-gradient(90deg, var(--sun), var(--bubble))}.setting-row{border:3px solid var(--line);border-radius:var(--radius);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.setting-row .name{font-size:1.1rem;font-weight:900}.setting-row .desc{color:var(--ink-soft);font-size:.95rem;font-weight:700}.switch{border:4px solid var(--line);background:#eef0f6;border-radius:999px;min-width:108px;padding:8px 18px;font-size:1.05rem;font-weight:900;transition:background .15s,border-color .15s}.switch.on{background:var(--mint);border-color:var(--grass)}.table-checks{flex-wrap:wrap;gap:8px;display:flex}.table-check{border-radius:var(--radius-s);border:4px solid var(--line);width:54px;height:54px;color:var(--ink-soft);background:#fff;font-size:1.4rem;font-weight:900}.table-check.on{border-color:var(--grape);color:var(--grape-dark);background:#f6efff}.danger{--btn-bg:#fff2f2;--btn-border:#f5b3b4;--btn-fg:#8f1f22}.tag{color:var(--ink-soft);background:#f1f3fa;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.9rem;font-weight:800;display:inline-flex}.tag.ok{background:var(--ok-soft);color:#14512f}.tag.ko{background:var(--ko-soft);color:#8f1f22}.trophy-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.trophy{text-align:center;border:4px solid var(--line);border-radius:var(--radius);color:var(--ink-soft);background:#fff;padding:10px 8px;font-size:.88rem;font-weight:800}.trophy.won{color:var(--ink);background:#fffaeb;border-color:#ffd976}.trophy .ico{filter:grayscale();opacity:.4;font-size:2rem;display:block}.trophy.won .ico{filter:none;opacity:1}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;max-width:320px;margin:0 auto;display:grid}.keypad button{border:3px solid var(--line);border-radius:var(--radius-s);box-shadow:var(--shadow-s);color:var(--ink);background:#fff;padding:12px 0;font-size:1.6rem;font-weight:900}.keypad button:active{box-shadow:none;transform:translateY(3px)}.keypad button.wide{grid-column:span 2}.keypad button.clear{color:#8f1f22;background:#fff0f3;border-color:pink}.gap-top{margin-top:var(--gap-y)}.gap-top-s{margin-top:clamp(6px,1.2vh,12px)}.dot-row,.dots-row{margin-bottom:clamp(4px,1vh,10px)}.mode-row{margin-bottom:clamp(6px,1.4vh,12px)}.answer-row{margin-top:var(--gap-y);justify-content:center;display:flex}.round-tag{text-align:center;flex-wrap:wrap;justify-content:center;align-self:center;margin-top:clamp(6px,1.2vh,10px)}.feedback-slot{margin-top:var(--gap-y)}button:focus-visible,summary:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:4px solid #1b1b3a}.keypad-details>summary:focus-visible,.tab:focus-visible{border-radius:var(--radius-s);outline-offset:2px}@keyframes pop{0%{transform:scale(.92)}60%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.5)translateY(40px)}70%{opacity:1;transform:scale(1.06)translateY(-8px)}to{transform:scale(1)translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes flicker{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-70px)}}.floater{color:var(--sun-dark);text-shadow:0 2px #fff;pointer-events:none;z-index:70;font-size:2rem;font-weight:900;animation:1.1s ease-out forwards floatUp;position:fixed}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=560px){body{font-size:16px}.abn-grid{min-width:380px}.chip{padding:5px 10px;font-size:.95rem}}@media (width>=1000px){.op-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:stretch;gap:clamp(14px,1.8vw,20px);display:grid}}@media (height>=900px){.op-layout{gap:clamp(16px,2.2vw,24px)}}@media (height<=700px){:root{--card-pad:10px;--gap-y:6px;--app-pad:5px}.op-instruction{font-size:.86rem}.screen .card .section{gap:8px}}
