*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}:root{--color-text: #264b67;--color-preview-text: #5f8db0;--color-surface: #fcdf9a;--color-secondary: #9fd9f6;--color-background: #ffffe0;--color-modal-background: #fffff0;--color-modal-border: #dedede;--color-control: #f1f0cf;--color-command-detail-background: #ffffff;--color-border: #96ceea;--color-clear: #b85f24;--color-result-minimum: #287a45;--color-result-over: #b33a3a;--color-endpoint-label: #d4875f;--color-home-question: #ff9f1a;--color-home-clear: #ff7f17;--shadow-soft: 0 2px 0 rgb(38 75 103 / 8%);--shadow-raised: 0 4px 0 rgb(38 75 103 / 10%);--motion-fast: .1s;--motion-normal: .18s;--ease-out: cubic-bezier(.22, 1, .36, 1);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .5rem;--radius-control: .625rem;--radius-md: .75rem;--radius-panel: .875rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-pill: 999rem;--control-size: 2.75rem;--content-width-home: 50rem;--content-width-dialog: 38.75rem;--content-width-workspace: 86.25rem;color:var(--color-text);background:var(--color-background);font-family:var(--font-family-japanese);user-select:none;-webkit-user-select:none}:root.is-development-preview{user-select:text;-webkit-user-select:text}body{min-height:100vh;margin:0;color:var(--color-text);background:var(--color-background)}.step-count-minimum{color:var(--color-result-minimum)}.step-count-mismatch{color:var(--color-result-over)}button,a{-webkit-tap-highlight-color:transparent}.dialog-surface{border:1px solid var(--color-modal-border);border-radius:var(--radius-xl);color:var(--color-text);background:var(--color-modal-background);box-shadow:0 .25rem 1.25rem #264b671f}::selection{color:var(--color-text);background:var(--color-secondary)}.react-icons{vertical-align:-3px}.site-footer{padding:var(--space-5) max(var(--space-5),env(safe-area-inset-right,0rem)) max(var(--space-5),env(safe-area-inset-bottom,0rem)) max(var(--space-5),env(safe-area-inset-left,0rem));display:flex;align-items:center;flex-direction:column;justify-content:center;gap:var(--space-4);text-align:center}.site-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3) var(--space-8)}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-5)}.site-footer small,.site-footer a,.site-footer-link-button{font-size:.8125rem;font-weight:700;opacity:.7}.site-footer a{color:inherit}.site-footer a{text-underline-offset:.3em}.site-footer a[aria-disabled=true]{cursor:default;text-decoration:none}.app,.app *,.app *:before,.app *:after{box-sizing:border-box}.app{--workspace-gap: var(--space-8);--toolbar-height: 3.5rem;width:min(var(--content-width-workspace),100%);height:100vh;height:100dvh;margin:0 auto;padding:max(var(--space-5),env(safe-area-inset-top,0rem)) clamp(var(--space-5),3vw,var(--space-10)) max(var(--space-5),env(safe-area-inset-bottom,0rem));display:grid;grid-template:"toolbar toolbar" auto "commands flow" minmax(0,1fr) / minmax(16.875rem,18.75rem) minmax(0,1fr);gap:var(--space-2) var(--workspace-gap);overflow:hidden}.command-builder-header{grid-area:toolbar;min-width:0;min-height:0}.command-panel-slot{grid-area:commands;min-width:0;min-height:0}.command-flow-panel{grid-area:flow;min-width:0;min-height:0}.command-panel,.command-flow-panel{overscroll-behavior-y:auto}.app.is-dragging .command-panel,.app.is-dragging .command-flow-panel{overscroll-behavior-y:contain}.command-builder-header{overflow:hidden;display:grid;grid-template-areas:"toolbar toolbar" ". status";grid-template-columns:minmax(16.875rem,18.75rem) minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--workspace-gap);border-radius:var(--radius-md);background:var(--color-background)}.command-builder-toolbar-slot{grid-area:toolbar;width:100%;min-width:0}.command-builder-toolbar{width:100%;min-width:0;min-height:var(--toolbar-height);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:0;border-radius:0;background:var(--color-background)}.play-status-bar{grid-area:status;width:100%;min-height:1.75rem;margin:0 0 0 auto;padding:0 var(--space-3);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:var(--space-3);font-size:.875rem}.play-status-bar>div,.play-status-counts,.play-status-count{min-width:0;display:flex;align-items:center;gap:var(--space-1);text-align:left}.play-status-info-trigger{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;border:0;color:inherit;background:transparent;cursor:pointer;font:inherit}.play-status-info-trigger:focus-visible{outline:3px solid var(--color-text);outline-offset:2px}.play-status-cleared-item{justify-self:start}.play-status-visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.play-status-counts{justify-self:center;gap:var(--space-3)}.play-status-next-item{justify-self:end;color:#264b67ad;font-weight:700}.play-status-next-item a{color:var(--color-text);text-decoration:underline;text-underline-offset:.2em}.play-status-cleared{color:var(--color-home-question);font-weight:900}.play-status-label,.play-status-value{white-space:nowrap}.play-status-label{color:#264b67ad;font-weight:700}.play-status-value{font-weight:900}.toolbar-home-link,.command-builder-toolbar button{min-width:var(--control-size);min-height:var(--control-size);display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border:0;border-radius:var(--radius-control);color:var(--color-text);background:var(--color-secondary);font-size:1rem;font-weight:800;line-height:1;text-decoration:none;white-space:nowrap;transition:filter var(--motion-fast) ease,opacity var(--motion-fast) ease,box-shadow var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out)}.toolbar-home-link{min-width:auto;min-height:auto;padding:.375rem var(--space-1) .3125rem;border:0;border-radius:0;background:transparent;font-size:1.0625rem;font-weight:900;line-height:1.15;letter-spacing:.02em;text-decoration:none;transition:opacity var(--motion-fast) ease}.toolbar-home-logo{width:5.5rem;height:auto;display:block}.toolbar-home-link:focus-visible{outline:3px solid var(--color-text);outline-offset:2px}.command-builder-toolbar button{padding:var(--space-2) .875rem;cursor:pointer}.toolbar-actions,.history-navigation{display:flex;align-items:center;margin-left:auto}.toolbar-actions{min-width:0;gap:var(--space-2)}.persistent-toolbar-label{display:inline}.history-navigation{gap:var(--space-2)}.command-builder-toolbar button:disabled{cursor:default;opacity:.34;box-shadow:none}.command-builder-toolbar button:not(:disabled):active{transform:scale(.96)}.toolbar-home-link:active{opacity:.65}.reference-solution-backdrop{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:1.5rem;background:#264b6761;animation:modal-backdrop-in var(--motion-normal) ease both}.reference-solution-dialog{width:min(var(--content-width-dialog),100%);max-height:min(47.5rem,calc(100dvh - 3rem));overflow-y:auto;padding:var(--space-8);animation:modal-dialog-in .32s var(--ease-out) both}.reference-solution-dialog:focus{outline:none}.reference-solution-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5)}.reference-solution-dialog:not(.correct-result-dialog) .reference-solution-header>div{display:grid;gap:var(--space-3);padding:var(--space-1)}.reference-solution-kicker{display:inline-block;margin-bottom:.3125rem;padding-bottom:var(--space-1);border-bottom:2px solid var(--color-secondary);font-size:.8125rem;font-weight:850;letter-spacing:.08em}.reference-solution-dialog:not(.correct-result-dialog) .reference-solution-kicker{width:fit-content;margin-bottom:0}.reference-solution-header h2{margin:0;font-size:clamp(1.875rem,5vw,2.625rem);line-height:1.1}.correct-result-dialog .reference-solution-header h2{color:var(--color-home-question)}.reference-solution-dialog:not(.correct-result-dialog) .reference-solution-header h2{line-height:1.2}.reference-solution-close{flex:0 0 auto;width:var(--control-size);height:var(--control-size);display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius-pill);color:var(--color-text);background:var(--color-secondary);cursor:pointer;font-size:2.125rem;transition:filter var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out)}.reference-solution-confirmation-dialog{max-width:36rem}.reference-solution-confirmation-dialog .reference-solution-header h2{white-space:nowrap}.reference-solution-confirmation-message{margin:var(--space-5) 0 0;line-height:1.6}.reference-solution-confirmation-actions{margin-top:var(--space-6);display:flex;justify-content:flex-end;gap:var(--space-3)}.reference-solution-confirmation-actions button{min-height:var(--control-size);padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-control);color:var(--color-text);background:var(--color-surface);cursor:pointer;font-weight:800}.reference-solution-confirmation-actions .reference-solution-confirmation-submit{background:var(--color-secondary)}.reference-solution-minimum-steps{width:fit-content;margin:var(--space-5) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--color-secondary);font-size:.9375rem;font-weight:850}.reference-solution-flow{min-height:0;margin-top:var(--space-6);border:0;border-radius:var(--radius-panel)}.reference-solution-dialog:not(.correct-result-dialog) .reference-solution-flow{margin-top:var(--space-4)}.reference-solution-flow .flow-endpoint{min-height:7.25rem}.reference-solution-flow .flow-endpoint>strong{font-size:clamp(1.875rem,4vw,2.75rem)}.reference-solution-steps{margin:0;padding:0;list-style:none}.reference-solution-steps .answer-step-card{cursor:default}.social-post-info-dialog{max-width:44rem}.social-post-info-summary{margin:var(--space-5) 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.social-post-info-summary div,.social-post-info-lines{display:grid;gap:var(--space-1)}.social-post-info-summary dt,.social-post-info-section h3{font-weight:800}.social-post-info-summary dd{margin:0}.social-post-info-section{margin-top:var(--space-6)}.social-post-info-section h3{margin:0 0 var(--space-3)}.social-post-info-url{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.social-post-info-url code{overflow-wrap:anywhere}.social-post-info-url button{min-height:var(--control-size);padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-control);background:var(--color-secondary);cursor:pointer;font-weight:800}.social-post-info-image{width:100%;height:auto;display:block}.correct-result-summary{margin-top:var(--space-3);display:grid;justify-items:center;gap:var(--space-3);text-align:center}.correct-result-record{width:min(100%,20rem);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.correct-result-record>div{min-width:0;display:grid;gap:var(--space-1)}.correct-result-record dt,.correct-result-record dd{margin:0}.correct-result-record dt{font-size:.75rem;font-weight:750;opacity:.68}.correct-result-record dd{font-size:clamp(1.375rem,5vw,1.75rem);font-weight:900;line-height:1.2;white-space:nowrap}.correct-next-problem{margin-top:var(--space-5);text-align:center}.correct-next-problem h3,.correct-auto-advance p{margin:0}.correct-next-preview{margin:0 0 var(--space-3);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:var(--space-2)}.correct-next-preview strong{overflow-wrap:anywhere}.correct-auto-advance{display:grid;gap:var(--space-2);font-weight:800}.correct-auto-advance-track{width:min(100%,20rem);height:.375rem;display:block;margin:0 auto;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-control)}.correct-auto-advance-value{height:100%;display:block;background:var(--color-secondary);transition:width .1s linear}.correct-result-actions{margin-top:var(--space-4);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.correct-result-actions>button,.correct-result-actions>a{min-height:2.875rem;display:inline-grid;place-items:center;padding:.625rem 1.375rem;border:0;border-radius:var(--radius-control);color:var(--color-text);background:var(--color-secondary);font-weight:850;text-decoration:none;cursor:pointer}.correct-result-actions-single>*{width:100%}.correct-result-share{margin-top:var(--space-2);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.line-share-button,.x-share-button,.copy-share-button{min-height:2.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem .875rem;border:0;border-radius:var(--radius-control);color:#fff;background:#000;font-size:.875rem;font-weight:700;line-height:1;text-decoration:none;cursor:pointer}.native-share-button{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .75rem;border:0;border-radius:var(--radius-control);color:var(--color-text);background:transparent;font-size:.875rem;font-weight:700;line-height:1;cursor:pointer}.line-share-button{background:#06c755}.share-fallback{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.share-copy-status{flex-basis:100%;font-size:.8125rem;line-height:1.5;overflow-wrap:anywhere;text-align:center}.line-share-button:hover,.x-share-button:hover,.copy-share-button:hover{color:#fff;background:#272727}.native-share-button:hover{color:var(--color-text);background:var(--color-control)}.command-panel{width:100%;height:100%;min-height:0;overflow-y:auto;border-radius:var(--radius-lg);background:var(--color-surface);scrollbar-gutter:stable}.command-panel-content{padding:var(--space-8) var(--space-6)}.command-panel h1{margin:0;padding-bottom:1.062rem;border-bottom:1px solid var(--color-text);color:var(--color-text);font-size:1.562rem;font-weight:800;letter-spacing:.04em;text-align:center}.command-list{margin-top:var(--space-5);display:grid;gap:var(--space-4)}.command-candidate-tile{min-width:0;touch-action:manipulation}.candidate-flow-preview{display:none}.command-add-button{width:100%;min-height:4rem;padding:var(--space-3);border:0;border-radius:var(--radius-control);color:var(--color-text);background:var(--color-secondary);cursor:grab;font-size:1.125rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere;transition:filter var(--motion-fast) ease,box-shadow var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out)}.command-add-button:active{cursor:grabbing;transform:scale(.98)}.command-help{margin:1.125rem var(--space-1) 0;color:var(--color-text);font-size:.875rem;line-height:1.65;opacity:.82}.command-flow-panel{width:100%;height:100%;padding:0;overflow-y:auto;border-radius:var(--radius-lg);scroll-padding-block:var(--space-3);scrollbar-gutter:stable}.flow-stack{width:100%;min-height:100%;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.flow-endpoint{position:relative;min-height:100%;display:grid;place-items:center;align-content:center;gap:var(--space-2);padding:var(--space-6) var(--space-8);background:var(--color-surface);color:var(--color-text);text-align:center}.endpoint-label{font-size:.8125rem;font-weight:800;letter-spacing:.12em;line-height:1;opacity:.7}.endpoint-role-label{color:var(--color-endpoint-label);opacity:1}.flow-endpoint>strong{max-width:100%;font-size:clamp(2.25rem,4.5vw,3.625rem);font-weight:850;letter-spacing:.06em;line-height:1.2;overflow-wrap:anywhere}.answer-step-list{min-height:1px}.answer-step-card{width:100%;min-height:0;padding:var(--space-3) var(--space-2);border:0;border-bottom:1px solid var(--color-border);background:var(--color-secondary);color:var(--color-text);cursor:grab;scroll-margin-block:var(--space-3);transition:filter .16s ease,box-shadow .16s ease}.answer-step-card:active{cursor:grabbing}.answer-step-card.is-new-step{animation:new-step-highlight .48s var(--ease-out)}.answer-step-list>.command-candidate-tile .command-add-button{display:none}.answer-step-list>.command-candidate-tile .candidate-flow-preview{display:block;pointer-events:none}.sortable-drag{z-index:2147483647!important;opacity:.58;transition:none!important}.sortable-ghost{opacity:1;filter:brightness(1.08)}.sortable-chosen .command-add-button,.sortable-chosen.answer-step-card{cursor:grabbing}.step-card-header{min-height:0;display:grid;grid-template-columns:var(--control-size) minmax(0,1fr) var(--control-size);grid-template-rows:minmax(3rem,auto) minmax(3.375rem,auto);align-items:center;gap:.375rem .625rem;padding:0}.command-name{grid-column:2;grid-row:1;min-width:0;max-width:100%;font-size:clamp(1.25rem,2vw,1.688rem);font-weight:800;line-height:1.35;overflow-wrap:anywhere;text-align:center}.remove-button{position:static;grid-column:1;grid-row:1;justify-self:start;width:var(--control-size);height:var(--control-size);display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius-pill);color:var(--color-text);background:transparent;cursor:pointer;font-size:1.875rem;line-height:1}.move-command{position:static;grid-column:3;grid-row:1 / 3;align-self:stretch;display:grid;grid-template-rows:repeat(2,var(--control-size));align-content:center;gap:.375rem;transform:none}.move-command button{width:var(--control-size);height:var(--control-size);display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius-control);color:var(--color-text);background:var(--color-command-detail-background);cursor:pointer;font-size:1.438rem;line-height:1;transition:filter var(--motion-fast) ease,opacity var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out)}.remove-button:disabled,.move-command button:disabled{cursor:default;opacity:.28}.move-command button.is-move-confirmed{animation:move-button-confirm .46s var(--ease-out)}.move-command button:first-child.is-move-confirmed svg{animation:move-icon-up .42s var(--ease-out)}.move-command button:last-child.is-move-confirmed svg{animation:move-icon-down .42s var(--ease-out)}.step-result{position:relative;grid-column:1 / 3;grid-row:2;width:100%;min-width:0;min-height:3.375rem;margin:0;display:grid;place-items:center;border:1px solid var(--color-secondary);border-radius:var(--radius-control);background:var(--color-command-detail-background);color:var(--color-preview-text);font-size:clamp(1.375rem,2.3vw,1.875rem);line-height:1.2;overflow-wrap:anywhere;text-align:center}.step-result.is-pending{color:transparent}.step-result.is-pending strong{visibility:hidden}.step-result.is-pending:after{position:absolute;top:58%;left:50%;width:min(44%,13.75rem);height:.72em;border-radius:var(--radius-pill);background:var(--color-secondary);content:"";transform:translate(-50%,-50%)}.result-label{position:absolute;top:.4375rem;left:.75rem;color:var(--color-text);font-size:.6875rem;font-weight:800;line-height:1;opacity:.72}.answer-step-list>.empty-flow-message{min-height:7.25rem;display:grid;place-items:center}.answer-step-list>.empty-flow-message:not(:only-child){display:none}.empty-flow-message{padding:1.125rem var(--space-5);background:var(--color-secondary);color:var(--color-text);font-size:1.125rem;font-weight:700;line-height:1.5;text-align:center}.empty-flow-message-compact{display:none}.target-endpoint.is-correct{background:var(--color-surface)}.correct-message{margin-top:.4375rem;padding:var(--space-2) 1.062rem;border:2px solid var(--color-text);border-radius:var(--radius-pill);background:var(--color-background);color:var(--color-text);font-size:1.188rem;font-weight:850;line-height:1}@keyframes new-step-highlight{0%{filter:brightness(1.14);box-shadow:inset 0 0 0 3px var(--color-background);transform:translateY(.4375rem)}to{filter:none;box-shadow:none;transform:none}}@keyframes modal-backdrop-in{0%{opacity:0}}@keyframes modal-dialog-in{0%{opacity:0;transform:translateY(.875rem) scale(.98)}}@keyframes move-button-confirm{0%{background:var(--color-secondary);box-shadow:0 0 #264b6747,inset 0 0 0 2px var(--color-text);transform:scale(.9)}48%{box-shadow:0 0 0 6px #264b6700,inset 0 0 0 2px var(--color-text);transform:scale(1.08)}to{transform:none}}@keyframes move-icon-up{45%{transform:translateY(-.35em)}}@keyframes move-icon-down{45%{transform:translateY(.35em)}}.toolbar-home-link:focus-visible,.command-builder-toolbar button:focus-visible,.reference-solution-close:focus-visible,.correct-result-actions>*:focus-visible,.command-add-button:focus-visible,.remove-button:focus-visible,.move-command button:focus-visible{outline:3px solid var(--color-text);outline-offset:2px}@media(hover:hover){.command-builder-toolbar button:hover:not(:disabled),.reference-solution-close:hover,.command-add-button:hover,.move-command button:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-.0625rem)}.remove-button:hover:not(:disabled){filter:brightness(1.35)}.answer-step-card:hover{filter:brightness(1.02)}.correct-result-actions>*:hover{filter:brightness(1.04);transform:translateY(-.0625rem)}}.step-card-header{grid-template-rows:minmax(var(--control-size),auto) var(--control-size)}.step-result{grid-column:2 / 3;grid-row:2;height:var(--control-size);min-height:var(--control-size)}.move-command{grid-template-rows:minmax(var(--control-size),1fr) var(--control-size);align-content:stretch}.move-command button:first-child{align-self:start}.move-command button:last-child{align-self:end}.step-result>strong{width:calc(100% - 1.5rem);max-width:calc(100% - 1.5rem);overflow:hidden;white-space:nowrap;text-overflow:clip}.result-label{top:.375rem;left:.75rem}@media(max-width:768px){.app{--toolbar-height: 3.25rem;width:100%;height:100vh;height:100dvh;margin:0;padding:env(safe-area-inset-top,0rem) 0 0;grid-template:"toolbar" auto "flow" minmax(0,1fr) "commands" auto / minmax(0,1fr);gap:0;background-color:var(--color-surface)}.command-builder-toolbar{min-height:var(--toolbar-height);grid-template-columns:auto minmax(0,1fr);gap:var(--space-1);padding:var(--space-1) .375rem;border-radius:0}.command-builder-header{display:block;grid-template-areas:none;border-radius:0}.play-status-bar{min-height:1.75rem;font-size:.8125rem}.toolbar-home-link,.command-builder-toolbar button{width:var(--control-size);min-width:var(--control-size);height:var(--control-size);min-height:var(--control-size);padding:0;border-radius:var(--radius-sm);font-size:1.188rem}.toolbar-button-label{display:inline}.command-builder-toolbar button{width:auto;min-width:0;padding:0 .375rem;gap:.1875rem;font-size:.75rem}.command-builder-toolbar .reference-solution-button{width:auto;padding:0 var(--space-2);font-size:.8125rem}.persistent-toolbar-label{display:inline}.toolbar-home-link{width:auto;min-width:auto;height:auto;min-height:auto;padding:.375rem var(--space-1) .3125rem;border-radius:0;font-size:.9375rem}.toolbar-home-logo{width:4.75rem}.toolbar-actions,.history-navigation{gap:var(--space-1)}.reference-solution-backdrop{padding:var(--space-3)}.reference-solution-dialog{max-height:calc(100dvh - 1.5rem);padding:var(--space-5) var(--space-4);border-radius:var(--radius-panel)}.reference-solution-confirmation-dialog .reference-solution-header{gap:var(--space-3)}.reference-solution-confirmation-dialog .reference-solution-header h2{font-size:clamp(1.25rem,6.5vw,1.5rem)}.command-panel-slot{position:relative;z-index:20}.command-panel{height:auto;max-height:none;overflow:hidden;border-radius:0;scrollbar-gutter:auto;background-color:var(--color-background)}.command-panel-content{padding:.3125rem}.command-panel h1{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.command-list{margin:0;gap:var(--space-2);padding:0 .125rem .125rem;display:flex;flex-wrap:wrap;justify-content:center}.command-list::-webkit-scrollbar{display:none}.command-candidate-tile{scroll-snap-align:start}.command-add-button{width:auto;min-height:1.5rem;border-radius:.8125rem;cursor:pointer;font-size:clamp(.875rem,4vw,1rem);line-height:1.3;touch-action:manipulation}.command-help{display:none}.command-flow-panel{height:auto;overflow-y:auto;border-radius:0;scroll-padding-block:var(--space-2) var(--space-5);scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}.flow-stack{min-height:100%;margin:0 auto;border-radius:0}.flow-endpoint{min-height:100%;gap:.1875rem;padding:var(--space-3) var(--space-4)}.endpoint-label{font-size:.6875rem;letter-spacing:.1em}.flow-endpoint>strong{font-size:clamp(1.75rem,9vw,2.375rem);letter-spacing:.04em}.answer-step-card{min-height:0;cursor:default;touch-action:pan-y}.step-card-header{grid-template-columns:var(--control-size) minmax(0,1fr) var(--control-size);grid-template-rows:minmax(var(--control-size),auto) minmax(3rem,auto);gap:var(--space-1) var(--space-2)}.command-name{font-size:clamp(1.062rem,5.3vw,1.312rem);line-height:1.3}.remove-button{width:var(--control-size);height:var(--control-size);font-size:1.688rem}.move-command{grid-template-rows:repeat(2,var(--control-size));gap:var(--space-1)}.move-command button{width:var(--control-size);height:var(--control-size);border-radius:.625rem;font-size:1.25rem}.step-result{min-height:3rem;border-radius:var(--radius-sm);font-size:clamp(1.25rem,6.2vw,1.5rem)}.result-label{top:.375rem;left:.625rem;font-size:.625rem}.answer-step-list>.empty-flow-message{min-height:7.125rem}.empty-flow-message{padding:var(--space-5) var(--space-4);font-size:1rem}.empty-flow-message-wide{display:none}.empty-flow-message-compact{display:inline}.correct-message{margin-top:var(--space-1);padding:.4375rem .875rem;font-size:1rem}}@media(max-width:768px)and (max-height:600px){.command-panel-content{padding-top:.375rem}.command-add-button{min-height:1.5rem}.flow-endpoint{min-height:4.25rem;padding-block:var(--space-2)}.flow-endpoint>strong{font-size:clamp(1.562rem,8vw,2rem)}.answer-step-list>.empty-flow-message{min-height:6rem}}@media(prefers-reduced-motion:reduce){.app *,.reference-solution-backdrop,.reference-solution-dialog{scroll-behavior:auto!important;animation:none!important;transition:none!important}.move-command button.is-move-confirmed{background:var(--color-command-detail-background);box-shadow:inset 0 0 0 2px var(--color-text)}}@media(max-width:768px){.step-card-header{grid-template-rows:minmax(var(--control-size),auto) var(--control-size)}.move-command{grid-template-rows:minmax(var(--control-size),1fr) var(--control-size);gap:var(--space-1)}.step-result{height:var(--control-size);min-height:var(--control-size)}.step-result>strong{max-width:calc(100% - 1.25rem)}.result-label{top:.3125rem;left:.625rem}.reference-solution-backdrop{padding:1.5rem}.reference-solution-dialog{max-height:calc(100dvh - 3rem);padding:1.5rem;border-radius:var(--radius-xl)}.reference-solution-flow.flow-stack{min-height:0;margin:1.375rem 0 0;border-radius:var(--radius-panel)}.reference-solution-flow .flow-endpoint{min-height:7.25rem;gap:.3125rem;padding:var(--space-5) 1.375rem}.reference-solution-flow .flow-endpoint>strong{font-size:clamp(1.875rem,4vw,2.75rem);letter-spacing:.06em}.reference-solution-steps .answer-step-card{padding:.625rem .375rem;touch-action:auto}.reference-solution-steps .step-card-header{gap:.375rem .625rem}.reference-solution-steps .command-name{font-size:clamp(1.25rem,2vw,1.688rem);line-height:1.35}.reference-solution-steps .step-result{border-radius:var(--radius-control);font-size:clamp(1.375rem,2.3vw,1.875rem)}}.home-page,.not-found-page,.about-page,.privacy-page,.legal-page{width:min(var(--content-width-home),calc(100% - clamp(var(--space-6),5vw,var(--space-12))));margin:0 auto}.about-page,.privacy-page,.legal-page{padding:clamp(var(--space-8),6vw,var(--space-12)) 0 var(--space-12)}.about-page header,.privacy-page header,.legal-page header{margin-bottom:var(--space-10)}.about-page h1,.privacy-page h1,.legal-page h1{margin:var(--space-2) 0 var(--space-4);font-size:clamp(2rem,5vw,3rem)}.about-page h2,.privacy-page h2{margin:0 0 var(--space-3);font-size:1.25rem}.about-page p,.privacy-page p,.legal-page p{margin:0;line-height:1.8}.about-page section,.privacy-page section{margin-top:var(--space-8)}.about-page-kicker,.privacy-page-kicker,.legal-page-kicker{font-weight:850;letter-spacing:.08em}.privacy-page-date{margin-top:var(--space-10)!important;font-size:.875rem}.about-page-home-link,.privacy-page-home-link,.legal-page-home-link{min-height:3rem;width:fit-content;margin-top:var(--space-6);display:inline-grid;place-items:center;padding:var(--space-3) var(--space-6);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-secondary);font-weight:850;text-decoration:none}.license-list{margin:var(--space-10) 0 0;padding:0;display:grid;gap:var(--space-3);list-style:none}.license-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.license-list li>div{min-width:0;display:grid;gap:var(--space-1)}.license-list strong{overflow-wrap:anywhere}.license-list li>div span{font-size:.8125rem;opacity:.75}.license-list a{flex:0 0 auto;color:var(--color-text);font-weight:800}.license-page-note{margin-top:var(--space-8)!important;font-size:.875rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-page{padding:clamp(var(--space-4),6vw,var(--space-6)) 0 6rem}.home-complete-actions{margin-top:var(--space-5);display:flex;justify-content:center;gap:var(--space-3)}.home-header{position:relative;text-align:center}.home-header h1{margin:0}.home-logo{width:clamp(11rem,34vw,17rem);height:auto;display:block;margin:0 auto}.home-header p{margin:0 var(--space-3) 0 0;font-size:clamp(.9375rem,2.5vw,1.0625rem);font-weight:650;line-height:1.6;opacity:.78;text-wrap:balance}.home-header .home-question{color:var(--color-home-question);font-weight:800;opacity:1;margin-bottom:var(--space-4)}.home-progress{width:min(100%,32rem);margin:0 auto;display:grid;grid-template-columns:auto minmax(5rem,1fr);align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:transparent}.home-header .home-progress-label{margin:0;font-size:.9375rem;opacity:1;white-space:nowrap}.home-progress-track{height:.4375rem;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-control)}.home-progress-value{height:100%;display:block;border-radius:inherit;background:var(--color-secondary)}.difficulty-tabs{position:sticky;top:.5rem;z-index:10;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.375rem;padding:var(--space-2);border-radius:var(--radius-panel);background:transparent}.difficulty-tab{min-width:0;min-height:4.25rem;display:grid;grid-template-columns:1fr;grid-template-areas:"label" "count";align-items:center;justify-content:center;justify-items:center;row-gap:.125rem;padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-md);color:var(--color-text);background:var(--color-control);cursor:pointer}.difficulty-tab[aria-selected=true]{background:var(--color-secondary)}@media(hover:hover)and (pointer:fine){.difficulty-tab:not([aria-selected=true]):hover{background:#d8edf2}}.difficulty-tab:focus-visible{outline:3px solid var(--color-text);outline-offset:2px}.difficulty-tab-label{grid-area:label;font-size:clamp(.875rem,2.2vw,1.125rem);font-weight:850;white-space:nowrap}.difficulty-tab-count{grid-area:count;align-self:start;font-size:.8125rem;font-weight:700;opacity:.75}.problem-visibility-filter{width:fit-content;margin:0 0 var(--space-2) auto;display:flex;align-items:center;gap:var(--space-2);padding:0;color:var(--color-text);cursor:pointer;font-size:.875rem}.problem-visibility-filter input{width:1rem;height:1rem;margin:0;accent-color:var(--color-secondary)}.problem-visibility-filter:has(input:focus-visible){outline:3px solid var(--color-text);outline-offset:2px}.problem-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8)}.problem-list-empty{padding:clamp(var(--space-10),8vw,5rem) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);text-align:center}.problem-list-empty strong{font-size:clamp(1.5rem,4vw,2rem)}.problem-list-empty p{margin:var(--space-3) 0 0;line-height:1.7}.problem-list-load-sentinel{height:1px;margin-top:var(--space-8)}.problem-card{position:relative;display:grid;grid-template-rows:minmax(0,1fr) 3.25rem;gap:var(--space-4);padding:var(--space-5);border:1px solid rgb(38 75 103 / 7%);border-radius:var(--radius-lg);background:var(--color-surface);text-align:center;transition:box-shadow var(--motion-normal) var(--ease-out),transform var(--motion-normal) var(--ease-out)}.problem-card p{margin:0}.problem-card-minimum{position:absolute;top:var(--space-3);left:var(--space-4);font-size:.75rem;font-weight:700;line-height:1;opacity:.72}.problem-card-clear-status{min-height:2.75rem;display:grid;align-content:center;justify-items:center;gap:.125rem}.problem-card-status{font-size:clamp(1.312rem,3vw,1.5rem);font-weight:850;line-height:1.2;letter-spacing:.04em;color:var(--color-home-clear)}.problem-card-achievement{width:fit-content;padding:0 var(--space-2);border-radius:var(--radius-pill);color:var(--color-clear);background:var(--color-command-detail-background);font-size:.75rem;font-weight:800;line-height:1.35}.problem-card-content{display:grid;align-content:center;gap:var(--space-4)}.problem-card-goal{display:flex;align-items:center;justify-content:center;gap:var(--space-4);font-size:clamp(1.562rem,4vw,2.25rem)}.goal-flow .react-icons{transform:rotate(90deg);transition:transform var(--motion-normal) var(--ease-out)}.problem-card a,.not-found-page a{border:0;color:var(--color-text);background:var(--color-secondary);text-decoration:none;font-weight:800}.problem-card a{height:3.25rem;min-height:3.25rem;display:grid;place-items:center;padding:.625rem 1.125rem;border-radius:var(--radius-control);transition:filter var(--motion-fast) ease,box-shadow var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out)}.problem-card a:hover,.not-found-page a:hover{filter:brightness(1.08)}.problem-card a:active,.not-found-page a:active{transform:scale(.98)}.problem-card a:focus-visible,.not-found-page a:focus-visible{outline:3px solid var(--color-text);outline-offset:3px}.not-found-page{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:1.125rem;text-align:center}.not-found-page h1,.not-found-page p{margin:0}.not-found-mark{width:5rem;height:5rem;display:grid;place-items:center;border-radius:50%;background:var(--color-secondary);font-size:3rem;font-weight:850;box-shadow:var(--shadow-soft);animation:not-found-float 2.8s ease-in-out infinite}.not-found-page a{min-height:3rem;padding:var(--space-3) var(--space-5);border-radius:var(--radius-control)}.goal-flow{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-1);line-height:.8}@media(hover:hover){.problem-card:hover{box-shadow:var(--shadow-raised);transform:translateY(-.125rem)}.problem-card:hover .goal-flow .react-icons{transform:rotate(90deg) scale(1.06)}.problem-card a:hover,.not-found-page a:hover{transform:translateY(-.0625rem)}}@keyframes not-found-float{50%{transform:translateY(-.375rem) rotate(2deg)}}@media(max-width:768px){.difficulty-tab{min-height:4rem;padding:var(--space-2) var(--space-1)}.problem-card-list{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:var(--space-4)}.problem-card{grid-template-rows:minmax(0,1fr) 2.75rem;gap:var(--space-2)}.problem-card-content{gap:var(--space-1)}.problem-card-clear-status.is-minimum{margin-bottom:var(--space-1)}.problem-card-goal{gap:var(--space-2);font-size:clamp(1.5rem,7vw,2rem)}.problem-card a{height:2.75rem;min-height:2.75rem;padding:var(--space-2) var(--space-4)}}@media(prefers-reduced-motion:reduce){.home-page *,.not-found-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
