@font-face{font-family:Shippori Mincho;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/shippori-mincho-latin-600-normal-6Q85HP94.woff2)format("woff2"),url(/assets/shippori-mincho-latin-600-normal-BtWD08KL.woff)format("woff")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/zen-kaku-gothic-new-latin-400-normal-BEdayliK.woff2)format("woff2"),url(/assets/zen-kaku-gothic-new-latin-400-normal-CPSmNJAU.woff)format("woff")}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/zen-kaku-gothic-new-latin-700-normal-Dgv0FPyh.woff2)format("woff2"),url(/assets/zen-kaku-gothic-new-latin-700-normal-zPVyND5l.woff)format("woff")}:root{--paper:#f4ecd8;--sheet:#fbf7ee;--ink:#1f1b16;--ink-muted:#5e554a;--indigo:#22366e;--shu:#b8321f;--grid:#22366e14;--radius:4px;--font-body:"Zen Kaku Gothic New", system-ui, sans-serif;--font-title:"Shippori Mincho", Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1b1712;--sheet:#241f18;--ink:#ede3cf;--ink-muted:#b5a993;--indigo:#8fa6d6;--shu:#e0694f;--grid:#8fa6d61a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#1b1712;--sheet:#241f18;--ink:#ede3cf;--ink-muted:#b5a993;--indigo:#8fa6d6;--shu:#e0694f;--grid:#8fa6d61a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);font:400 1rem/1.6 var(--font-body);background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");margin:0}#app{max-width:960px;margin:0 auto;padding:16px}.masthead{border-bottom:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;min-height:calc(2.6rem + 77px);padding:8px 0 12px;display:flex}@media (width>=640px){.masthead{min-height:65px}}.brand{align-items:center;gap:12px;display:flex}h1{font:600 clamp(1.5rem, 4vw, 2.1rem) / 1.2 var(--font-title);letter-spacing:.01em;margin:0}.stamp{background:var(--shu);border-radius:6px;place-items:center;width:2.6rem;height:2.6rem;font-size:0;display:grid;position:relative;transform:rotate(-4deg);box-shadow:inset 0 0 0 2px #ffffff40}.stamp:before{content:"";background-color:var(--sheet);position:absolute;inset:0;-webkit-mask:url(/stamp-glyph.svg) 50%/72% no-repeat;mask:url(/stamp-glyph.svg) 50%/72% no-repeat}.locale,.theme{min-width:0;color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;display:flex}.masthead-controls{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}@media (width<=440px){.control-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.masthead-controls{flex-wrap:nowrap;min-width:0}.masthead-controls select{max-width:100%}}select{max-width:100%;min-height:44px;color:var(--ink);font:inherit;appearance:none;background:linear-gradient(45deg, transparent 50%, var(--ink) 50%) calc(100% - 18px) 50% / 6px 6px no-repeat, linear-gradient(135deg, var(--ink) 50%, transparent 50%) calc(100% - 12px) 50% / 6px 6px no-repeat, var(--sheet);border:1px solid var(--ink);border-radius:var(--radius);padding:0 36px 0 12px}select:focus-visible,input:focus-visible,summary:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}[tabindex="-1"]:focus{outline:none}.sheet{background-color:var(--sheet);background-image:linear-gradient(to right, transparent 27px, var(--shu) 27px, var(--shu) 28px, transparent 28px), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);border:1px solid var(--ink);border-radius:var(--radius);background-size:100% 100%,24px 24px,24px 24px;min-width:0;margin-top:16px;padding:24px 20px 24px 44px}.lede{margin:12px 0 0;font-size:1.05rem;line-height:1.4}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h2{font:600 1.4rem / 1.3 var(--font-title);margin:0 0 16px}h3{font:600 1.1rem / 1.3 var(--font-title);margin:24px 0 12px}.generator{gap:12px;padding-block:16px;display:grid}.generator h2{margin:0}fieldset{border:1px solid var(--ink);border-radius:var(--radius);min-inline-size:0;margin:0;padding:12px}#operations,.generator>fieldset{border:0;padding:0}.generator>fieldset>legend{margin-bottom:4px;padding:0}legend{padding:0 6px;font-weight:700}.options{grid-template-columns:repeat(auto-fit,minmax(min(6rem,100%),1fr));gap:6px;display:grid}.operation-options{grid-template-columns:repeat(auto-fit,minmax(3.25rem,1fr))}.operation-options label{gap:4px;padding:0 4px}.option{display:contents}.option label{overflow-wrap:break-word;background:var(--sheet);border:1px solid var(--ink-muted);border-radius:var(--radius);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:44px;padding:0 8px;font-weight:700;display:flex}.option label:has(input:checked){border-color:var(--indigo);box-shadow:inset 0 0 0 1px var(--indigo)}.option label:has(input:focus-visible){outline:2px solid var(--indigo);outline-offset:2px}.option .hint{order:1;grid-column:1/-1}.option .hint:empty{display:none}.symbol{font:600 1.3rem / 1 var(--font-title);white-space:nowrap;font-variant-numeric:tabular-nums}.operation-options .hint{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.level-options .option:not(:has(input:checked)) .hint{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}input[type=checkbox],input[type=radio]{width:1.2rem;height:1.2rem;accent-color:var(--indigo);flex-shrink:0;margin:0}.hint{overflow-wrap:break-word;color:var(--ink-muted);margin:0;font-size:.9rem;line-height:1.4}.error{color:var(--indigo);margin:0;font-weight:700}.error:empty{display:none}.params-fields{grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr));gap:12px;padding-top:8px;display:grid}.pair-note{margin-top:8px}.pair-digits{font-weight:600;display:block}.range-field{background:var(--sheet);border-color:var(--ink-muted);grid-template-columns:1fr auto;align-items:baseline;column-gap:12px;padding:10px 12px 6px;display:grid}.range-field[hidden]{display:none}.range-field>legend{float:inline-start;padding:0}.same-digits{grid-column:1/-1;padding-top:8px}.same-digits[hidden]{display:none}.same-digits label{cursor:pointer;touch-action:manipulation;align-items:center;gap:10px;min-height:44px;font-weight:600;display:flex}.same-digits label:has(input:focus-visible){outline:2px solid var(--indigo);outline-offset:2px;border-radius:var(--radius)}.range-value{color:var(--indigo);font:600 1.15rem / 1.2 var(--font-title);font-variant-numeric:tabular-nums;white-space:nowrap}.range-track{--thumb:44px;--lo:0%;--hi:100%;cursor:pointer;touch-action:none;grid-column:1/-1;height:44px;margin-top:4px;position:relative}.range-rail{inset-inline:calc(var(--thumb) / 2);background:linear-gradient(to right, var(--ink-muted) var(--lo), var(--indigo) var(--lo) var(--hi), var(--ink-muted) var(--hi));border-radius:2px;height:4px;position:absolute;top:calc(50% - 2px)}.range-blocks>span{top:calc(50% - 9px);left:calc(var(--thumb) / 2 + (100% - var(--thumb)) * var(--from));width:calc((100% - var(--thumb)) * (var(--to) - var(--from)));background:repeating-linear-gradient(-45deg, var(--ink-muted) 0 2px, transparent 2px 6px);opacity:.55;border-radius:2px;height:18px;position:absolute}.range-track input{appearance:none;pointer-events:none;background:0 0;width:100%;height:100%;margin:0;position:absolute;inset:0}.range-track input:focus-visible{outline:none}.range-track input::-webkit-slider-runnable-track{background:0 0;border:0;height:100%}.range-track input::-moz-range-track{background:0 0;border:0;height:100%}.range-track input::-webkit-slider-thumb{width:var(--thumb);height:var(--thumb);background:radial-gradient(closest-side, var(--ink) 94%, transparent) center / 38px 24px no-repeat;appearance:none;cursor:grab;border:0;border-radius:50%}.range-track input::-moz-range-thumb{width:var(--thumb);height:var(--thumb);background:radial-gradient(closest-side, var(--ink) 94%, transparent) center / 38px 24px no-repeat;cursor:grab;border:0;border-radius:50%}.range-track input:focus-visible::-webkit-slider-thumb{box-shadow:inset 0 0 0 2px var(--indigo)}.range-track input:focus-visible::-moz-range-thumb{box-shadow:inset 0 0 0 2px var(--indigo)}.range-track.is-overlap{cursor:ew-resize}.range-scale{padding-inline:calc(var(--thumb,44px) / 2 - .5ch);color:var(--ink-muted);font-variant-numeric:tabular-nums;grid-column:1/-1;justify-content:space-between;font-size:.8rem;line-height:1;display:flex}@media (forced-colors:active){.stamp{border:2px solid canvastext}.stamp:before{forced-color-adjust:none;background-color:canvastext}.range-track{forced-color-adjust:none}.range-rail{background:linear-gradient(to right, CanvasText var(--lo), Highlight var(--lo) var(--hi), CanvasText var(--hi))}.range-track input::-webkit-slider-thumb{background:radial-gradient(closest-side,buttontext 94%,#0000) 50%/38px 24px no-repeat}.range-track input::-moz-range-thumb{background:radial-gradient(closest-side,buttontext 94%,#0000) 50%/38px 24px no-repeat}.range-track input:focus-visible::-webkit-slider-thumb{box-shadow:inset 0 0 0 3px highlight}.range-track input:focus-visible::-moz-range-thumb{box-shadow:inset 0 0 0 3px highlight}}.field{gap:4px;display:grid}.field label{font-weight:700}#count{width:6rem;min-height:44px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:var(--sheet);border:1px solid var(--ink);border-radius:var(--radius);padding:0 12px}.submit{min-height:44px;color:var(--sheet);font:700 1rem / 1 var(--font-body);background:var(--indigo);border:1px solid var(--indigo);border-radius:var(--radius);cursor:pointer;touch-action:manipulation;padding:0 24px}.submit[aria-disabled=true]{background:var(--ink-muted);border-color:var(--ink-muted);cursor:not-allowed}.generate-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px 12px;display:flex}.count-field{grid-template-columns:auto auto;align-items:center;column-gap:8px}.count-field label{grid-column:1/-1}.generate-row .submit{flex:8rem;max-width:16rem}@media (width<=599px){.submit{width:100%}}@media (width>=900px){.generator{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px}.generator>*{grid-column:1/-1}.generator>fieldset{grid-column:auto;align-self:start}.generator .options{grid-template-columns:1fr;gap:4px}.operation-options label{justify-content:flex-start;gap:10px;padding:0 12px}.operation-options .symbol{min-width:1.6em}.operation-options label .visually-hidden{clip:auto;clip-path:none;white-space:normal;width:auto;height:auto;margin:0;font-weight:600;position:static;overflow:visible}.level-options label{justify-content:flex-start;padding:0 12px}.params-fields{grid-template-columns:1fr}.count-field{grid-template-columns:auto auto auto;column-gap:12px}.count-field label{grid-column:auto}}.exam h3:first-of-type{margin-top:8px}.questions{grid-template-columns:repeat(auto-fill,minmax(min(8.5rem,100%),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.question{background:var(--sheet);border:1px solid var(--ink);border-radius:var(--radius);flex-direction:column;padding:6px 10px 10px;display:flex;position:relative}.question>.answer{margin-top:auto}.question>.terms,.question>.pair{margin-bottom:4px}.question-number{color:var(--ink-muted);font-size:.8rem}.terms{font-variant-numeric:tabular-nums;text-align:right;margin:0;padding:0;font-size:1.25rem;line-height:1.5;list-style:none}.pair{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:1.25rem;line-height:1.5}.answer{--t:calc(var(--n,1) * 1ch);--w:min(calc(var(--t) + 2em), calc(100% + 16px));font:400 1.15rem / 1 var(--font-body);font-variant-numeric:tabular-nums;border-top:1px solid var(--ink);margin-top:4px;padding-top:6px;display:grid;position:relative}.answer>*{grid-area:1/1}.answer-input{width:100%;min-width:0;min-height:44px;color:var(--ink);font:400 1.15rem / 1 var(--font-body);font-variant-numeric:tabular-nums;text-align:right;background:var(--sheet);border:1px solid var(--ink);border-radius:var(--radius);padding:0 4px}.answer-input:read-only{border-color:#0000}.answer .hanamaru{stroke-width:3px;width:var(--w);height:52px;color:var(--shu);pointer-events:none;place-self:center end;margin:-4px -8px -4px 0}.correct .answer-input{padding-right:max(4px, calc(var(--w) / 2 - 8px - var(--t) / 2))}.answer .strike{width:min(100%, calc(var(--t) + 12px));height:20px;color:var(--indigo);pointer-events:none;place-self:center end}.answer .expected{color:var(--indigo);font-variant-numeric:tabular-nums;text-align:right;grid-area:2/1;padding-right:4px;font-size:1.15rem;font-weight:700}.verdict{text-align:right;margin:2px 0 6px;font-size:.85rem}.result{margin-bottom:8px}.timer{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.timer-button{align-items:center;gap:8px;display:inline-flex}.timer-icon{flex-shrink:0;width:1.1em;height:1.1em}.timer-clock{min-width:4ch;font:600 1.2rem / 1.3 var(--font-title);font-variant-numeric:tabular-nums;margin:0}.score{font:600 1.4rem / 1.3 var(--font-title);margin:0}.result-card{background:var(--sheet);border:1px solid var(--ink);border-radius:var(--radius);box-shadow:3px 3px 0 var(--grid);padding:16px 112px 16px 18px;position:relative}.result-stats{border-top:1px dashed var(--ink-muted);flex-wrap:wrap;gap:12px 28px;margin:12px 0 0;padding-top:12px;display:flex}.stat dt{color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem}.stat dd{font:600 1.5rem / 1.2 var(--font-title);font-variant-numeric:tabular-nums;margin:0}.seal{width:88px;height:88px;color:var(--shu);font:700 .66rem / 1 var(--font-title);letter-spacing:.02em;text-transform:uppercase;border:4px double var(--shu);outline:1px solid var(--shu);outline-offset:3px;opacity:.9;border-radius:50%;place-items:center;margin-top:-44px;display:grid;position:absolute;top:50%;right:16px;transform:rotate(-14deg)}.seal.failed{letter-spacing:0;color:var(--indigo);border-color:var(--indigo);outline-color:var(--indigo);font-size:.6rem}@media (width<=480px){.result-card{padding-top:92px;padding-right:18px}.seal{letter-spacing:.02em;width:76px;height:76px;margin-top:0;font-size:.62rem;top:12px}.seal.failed{letter-spacing:0;font-size:.54rem}}.section-scores{color:var(--ink-muted);flex-wrap:wrap;gap:0 20px;margin:4px 0 0;padding:0;list-style:none;display:flex}.section-scores a{min-height:44px;color:var(--indigo);text-underline-offset:3px;align-items:center;display:inline-flex}.exam-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.exam-actions .hint,#blank-confirm{flex-basis:100%}#blank-confirm{margin:0;font-weight:700}@media (width<=599px){.exam-actions>button{width:100%}}.just-graded .hanamaru{animation:.18s ease-out stamp}@keyframes stamp{0%{transform:scale(1.08)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.just-graded .hanamaru{animation:none}}@media (width<=320px){#app{padding:8px}.sheet{padding:16px 8px 16px 36px}fieldset{padding:8px 6px}.option{padding:0 6px 6px}}.button-secondary{min-height:44px;color:var(--ink);font:700 1rem / 1.2 var(--font-body);background:var(--sheet);border:1px solid var(--ink);border-radius:var(--radius);cursor:pointer;touch-action:manipulation;padding:0 16px}.button-secondary[aria-disabled=true]{color:var(--ink-muted);border-color:var(--ink-muted);cursor:progress}.button-secondary:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.exam-file{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.exam-file .hint,.exam-file .error{flex-basis:100%}.toggletip{align-self:center;display:inline-flex;position:relative}.toggletip-button{width:24px;height:24px;color:var(--ink-muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.toggletip-button>span{width:20px;height:20px;font:600 .8rem / 1 var(--font-body);border:1.5px solid;border-radius:50%;place-items:center;display:grid}.toggletip-button:hover,.toggletip-button[aria-expanded=true]{color:var(--indigo)}.toggletip-button:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.toggletip-bubble{z-index:20;width:max-content;max-width:min(32ch,100vw - 16px);color:var(--ink);background:var(--sheet);border:1px solid var(--ink-muted);border-radius:var(--radius);transform:translateX(var(--dx,0));padding:8px 12px;font-size:.9rem;line-height:1.45;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 14px #0000002e}.toggletip-bubble.is-above{top:auto;bottom:calc(100% + 6px)}.toggletip-bubble[hidden]{display:none}.abacus-section{background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:24px 24px,24px 24px;padding:24px 16px}.abacus-section>.hint{margin-bottom:16px}.abacus-toolbar,.abacus-number{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.abacus-value{font:600 1.25rem / 1.3 var(--font-title);font-variant-numeric:tabular-nums;flex-basis:100%;margin:0}.abacus-count,.abacus-hide{align-items:center;gap:8px;min-height:44px;font-weight:700;display:inline-flex}.abacus-hide{cursor:pointer}.abacus-number{margin-top:12px}.abacus-number label{font-weight:700}#abacus-number{width:10rem;max-width:100%;min-height:44px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:var(--sheet);border:1px solid var(--ink);border-radius:var(--radius);padding:0 12px}#abacus-number[aria-invalid=true]{border-color:var(--indigo);box-shadow:inset 0 0 0 1px var(--indigo)}.abacus-number .error{flex-basis:100%}.abacus-stage{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;width:100%;margin-top:16px;position:relative}.abacus-stage>svg,.abacus-stage>canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.abacus-rods{inset:var(--inset-top) var(--inset-x) var(--inset-bottom);grid-template-columns:repeat(var(--rods), 1fr);pointer-events:none;display:grid;position:absolute}.abacus-rod{border-radius:var(--radius);position:relative}.abacus-rod:focus-visible{outline:3px solid var(--indigo);outline-offset:-3px;box-shadow:inset 0 0 0 6px var(--sheet)}.abacus-rod.is-highlighted:after{content:"";pointer-events:none;border:3px dashed #b8321f;border-radius:4px;position:absolute;inset:10px;box-shadow:0 0 0 2px #f4ecd8,0 0 0 3px #2a1e17,inset 0 0 0 2px #f4ecd8,inset 0 0 0 3px #2a1e17}.abacus-bead{transition:transform .2s cubic-bezier(.33,1,.68,1)}@media (prefers-reduced-motion:reduce){.abacus-bead{transition:none}}.abacus-digits{grid-template-columns:repeat(var(--rods), 1fr);padding:6px var(--inset-x) 0;font-variant-numeric:tabular-nums;text-align:center;font-size:1.25rem;line-height:1.4;display:grid}.abacus-digits>.is-unit{font-weight:700;position:relative}.abacus-digits>.is-unit:after{content:attr(data-sep);position:absolute;right:-.15em}.abacus-digits[hidden]{display:none}#abacus-keys{margin-top:12px}#solution-title{scroll-margin-top:8px}.abacus-section.has-solution>.hint,.has-solution .solve-form,.has-solution .abacus-toolbar>:not(.abacus-value),.has-solution .abacus-number{display:none}.solve-form{gap:4px;margin-bottom:16px;display:grid}.solve-form label{font-weight:700}.solve-row{flex-wrap:wrap;gap:8px;display:flex}#solve-input{min-width:0;min-height:44px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:var(--sheet);border:1px solid var(--ink);border-radius:var(--radius);flex:10rem;padding:0 12px}#solve-input[aria-invalid=true]{border-color:var(--indigo);box-shadow:inset 0 0 0 1px var(--indigo)}.solve-row .submit{width:auto}.solution{background:var(--sheet);border:1px solid var(--ink);border-radius:4px;margin-bottom:8px;padding:8px 12px}.solution h3{margin:0 0 4px;font-size:1.1rem}.solution-terms{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 12px;margin:0 0 4px;padding:0;font-size:1.15rem;list-style:none;display:flex}.solution-terms.is-pair{column-gap:.4em}.solution-terms .is-current{-webkit-text-decoration:underline 2px var(--shu);text-decoration:underline 2px var(--shu);text-underline-offset:4px}.solution-step,.solution-note{color:var(--ink);font-size:1rem;line-height:1.4}.solution-step p{margin:0 0 4px}.solution-progress{color:var(--ink-muted);font-size:.9rem}.solution-step .solution-note{border-left:2px solid var(--indigo);padding:2px 0 2px 12px}.solution-step .solution-note.is-current{background:var(--grid);border-left-width:4px;padding-left:10px}.solution-done{font-weight:700}.solution-step .solution-readout{font-variant-numeric:tabular-nums;font-weight:600}.solution-status{color:var(--indigo);margin:0 0 4px;font-weight:700}.solution-status:empty{display:none}.solution-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.solution-controls .submit{width:auto}.solution-controls .button-secondary[aria-disabled=true]{cursor:not-allowed}.solution-speed{align-items:center;gap:8px;min-height:44px;font-weight:700;display:inline-flex}@media (width<=599px){.solution-controls{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.solution-controls>button{width:100%;padding:4px 6px;line-height:1.15}.solution-speed{grid-column:span 2}.solution-speed select{flex:1;min-width:0}}.solution-restore:empty{display:none}.solution-restore{margin-bottom:12px}@media (width<=320px){.solution-controls{grid-template-columns:minmax(0,1fr)}.solution-speed{flex-wrap:wrap;grid-column:auto}.solution-speed select{flex-basis:100%}.solution{padding:8px}}.solution-open{width:100%;min-height:44px;color:var(--indigo);font:inherit;text-align:right;text-underline-offset:3px;cursor:pointer;touch-action:manipulation;background:0 0;border:0;margin-bottom:4px;padding:0;font-size:.85rem;text-decoration:underline}@media (width<=320px){.abacus-section{padding:16px 8px}}.foreign-banner{color:var(--sheet);background:var(--shu);border-radius:var(--radius);margin-bottom:16px;padding:8px 12px;font-size:.9rem}.foreign-banner p{margin:0}.foreign-banner a{color:inherit;font-weight:700}.site-footer{color:var(--ink-muted);border-top:1px solid var(--ink);margin-top:32px;padding-top:16px;font-size:.85rem}.footer-rights{margin:0 0 4px}.footer-terms summary{min-height:44px;color:var(--indigo);cursor:pointer;touch-action:manipulation;align-items:center;font-weight:700;display:inline-flex}.footer-terms p{margin:8px 0 0;line-height:1.5}
