:root{color:#17243b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface:#fff;--line:#dfe5ed;--muted:#58677d;--blue:#2457d6;--blue-hover:#1c43ac;--mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}body{min-width:0;margin:0;font-size:16px;line-height:1.7}button,input,textarea,select{font:inherit}button,summary,input[type=button]{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:disabled{cursor:wait}a{color:var(--blue);text-underline-offset:.2em}a:hover{color:var(--blue-hover)}:focus-visible{outline-offset:3px;outline:3px solid #3674e7}h1,h2,h3,h4,p,pre{margin:0}h1,h2,h3,h4{color:#17243b;overflow-wrap:anywhere;line-height:1.5}h1{letter-spacing:-.04em;font-size:clamp(1.6rem,3vw,2rem);font-weight:750}h2{letter-spacing:-.015em;font-size:1.125rem;font-weight:700}h3,h4{font-size:.9375rem;font-weight:650}code,pre,kbd{font-family:var(--mono)}p code,li code{color:#293b57;overflow-wrap:anywhere;background:#edf1f7;border-radius:4px;padding:.12em .3em;font-size:.9em}kbd{background:#fff;border:1px solid #d4dce7;border-radius:4px;padding:.12em .35em;font-size:.75rem}img{max-width:100%;height:auto}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell>main{flex:1;min-width:0}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.header-inner,.footer-inner,.playground,.about-page{width:min(100% - 48px,1280px);margin-inline:auto}.header-inner{align-items:center;gap:24px;min-height:76px;display:flex}.brand{color:#17243b;align-items:center;gap:11px;min-width:0;min-height:44px;text-decoration:none;display:inline-flex}.brand:hover{color:#17243b}.brand-mark{object-fit:contain;border-radius:9px;flex:0 0 36px;width:36px;height:36px;display:block}.brand-name{letter-spacing:.015em;overflow-wrap:anywhere;font-size:.875rem;font-weight:750;line-height:1.4}.site-nav{align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex}.nav-link{min-height:44px;color:var(--muted);text-align:center;border-radius:7px;justify-content:center;align-items:center;padding:8px 14px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.nav-link:hover{color:#17243b;background:#f5f7fa}.nav-link[aria-current=page],.nav-link.active{color:#204ebd;background:#edf3ff}.language-switch{border:1px solid var(--line);background:#f7f9fc;border-radius:8px;flex-shrink:0;gap:2px;padding:3px;display:flex}.language-switch button{min-width:48px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:5px 9px;font-size:.75rem;font-weight:600}.language-switch button[aria-pressed=true]{color:#1b49b3;background:#fff;box-shadow:0 1px 3px #18375c1a}.playground,.about-page{flex:1;padding-block:36px 64px}.page-heading{margin-bottom:24px}.page-heading p{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:.9375rem}.eyebrow{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px;font-size:.6875rem;font-weight:700;display:block}.panel{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:0;padding:24px;box-shadow:0 2px 4px #17243b03}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.problem-picker{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-width:0}.picker-summary{border-radius:10px;align-items:center;gap:16px;min-height:68px;padding:15px 22px;font-size:.875rem;font-weight:600;list-style:none;display:flex}.picker-summary::-webkit-details-marker{display:none}.picker-summary:after{content:"";border-bottom:2px solid #64748b;border-right:2px solid #64748b;flex:0 0 8px;width:8px;height:8px;margin-left:auto;transform:translateY(-2px)rotate(45deg)}.problem-picker[open]>.picker-summary:after{transform:translateY(2px)rotate(225deg)}.picker-summary:hover{background:#f9faff}.picker-current{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:.8125rem;font-weight:400}.category-tabs{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:18px 22px 12px;display:flex}.category-tab{border:1px solid var(--line);min-height:44px;color:var(--muted);background:#fff;border-radius:7px;padding:8px 16px;font-size:.8125rem;font-weight:600}.category-tab:hover{background:#f7f9fe;border-color:#9bb2df}.category-tab[aria-pressed=true],.category-tab[aria-selected=true]{color:#204ebd;background:#edf3ff;border-color:#a8bff2}.problem-list{scrollbar-gutter:stable;gap:3px;max-height:300px;margin:0;padding:4px 14px 14px;list-style:none;display:grid;overflow-y:auto}.problem-list>li{min-width:0}.problem-option{color:#263650;text-align:left;background:#fff;border:1px solid #0000;border-radius:6px;align-items:baseline;gap:16px;width:100%;min-width:0;min-height:48px;padding:10px 12px;display:flex}.problem-option:hover{background:#f3f6fc}.problem-option[aria-current=true],.problem-option[aria-selected=true]{background:#edf3ff;border-color:#d9e5fd}.problem-option-id{color:var(--muted);font-family:var(--mono);flex-shrink:0;font-size:.75rem}.problem-option-title{overflow-wrap:anywhere;min-width:0;font-size:.875rem}.workspace-grid,.problem-column,.workbench{align-items:start;gap:24px;min-width:0;display:grid}.problem-panel>h2{letter-spacing:-.03em;margin-block:12px 22px;font-size:1.375rem}.problem-meta,.result-meta{min-width:0;color:var(--muted);overflow-wrap:anywhere;flex-wrap:wrap;gap:5px 12px;font-size:.75rem;display:flex}.problem-meta{font-family:var(--mono);align-items:center}.problem-statement{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:28px;font-size:.9375rem;line-height:1.9}.io-block,.result-section{min-width:0;margin-top:24px}.io-label,.result-section>h3{margin-bottom:9px;font-size:.8125rem;font-weight:600;display:block}.code-output{color:#24344d;max-width:100%;font-family:var(--mono);tab-size:4;white-space:pre;overflow-wrap:normal;word-break:normal;background:#f7f9fc;border:1px solid #e3e8ef;border-radius:7px;padding:14px 16px;font-size:.8125rem;line-height:1.75;overflow-x:auto}.image-output{border:1px solid var(--line);border-radius:7px;max-width:100%;height:auto;margin-block:12px 0;display:block}.editor-toolbar{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:16px;display:flex}.editor-label{font-size:1rem;font-weight:700}.editor-surface{background:#142137;border:1px solid #21334e;border-radius:8px;overflow:hidden}.editor-caption{color:#a8bdd6;min-height:38px;font-family:var(--mono);letter-spacing:.025em;border-bottom:1px solid #2b3c55;align-items:center;gap:8px;padding:8px 16px;font-size:.6875rem;display:flex}.command-input{color:#eef5ff;caret-color:#9acbff;width:100%;min-width:0;max-width:100%;min-height:128px;font-family:var(--mono);tab-size:4;resize:vertical;background:0 0;border:0;border-radius:0;margin:0;padding:16px;font-size:16px;line-height:1.8;display:block}.command-input::placeholder{color:#a8bdd6;opacity:1}.command-input:focus-visible{outline-offset:-3px}.run-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-top:16px;display:flex}.char-count{color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.75rem}.char-count[data-over-limit=true]{color:#a72c3b;font-weight:600}.run-button,.primary-link{background:var(--blue);color:#fff;text-align:center;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:10px 20px;font-size:.875rem;font-weight:650;line-height:1.5;text-decoration:none;display:inline-flex}.run-button:hover,.primary-link:hover{background:var(--blue-hover);color:#fff}.run-button[aria-busy=true]{background:#3a4f72}.run-help{color:var(--muted);font-size:.75rem}.help-details{border-top:1px solid var(--line);color:var(--muted);overflow-wrap:anywhere;margin-top:20px;padding-top:6px;font-size:.8125rem}.help-details+.help-details{margin-top:0}.help-details>summary{color:#42536e;min-height:44px;padding-block:11px;font-weight:600}.help-details>p,.help-details>.code-output{margin-bottom:12px}.help-details ul,.help-details ol{padding-left:20px}.help-details li+li{margin-top:5px}.result-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.status-badge{color:#53647b;overflow-wrap:anywhere;background:#f4f6f9;border:1px solid #dfe5ed;border-radius:6px;align-items:center;gap:7px;max-width:100%;padding:5px 10px;font-size:.75rem;font-weight:650;line-height:1.5;display:inline-flex}.status-badge[data-tone=success]{color:#176940;background:#edf9f2;border-color:#bbdfcd}.status-badge[data-tone=danger]{color:#a12a3b;background:#fff1f2;border-color:#ecc8cd}.status-badge[data-tone=warning]{color:#845500;background:#fff8e8;border-color:#ead6af}.status-badge[data-tone=info]{color:#2453b8;background:#edf3ff;border-color:#c8d8f6}.result-meta{font-family:var(--mono);margin-top:12px}.result-empty{color:var(--muted);overflow-wrap:anywhere;padding-block:26px 8px;font-size:.875rem}.result-error{color:#754b11;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff8eb;border-left:3px solid #dc9f45;border-radius:0 6px 6px 0;margin-top:16px;padding:12px 14px;font-size:.8125rem}.about-page{max-width:1080px}.about-grid{align-items:start;gap:24px;display:grid}.about-section{overflow-wrap:anywhere;min-width:0}.about-section h2{margin-bottom:18px}.about-section h3{margin-block:24px 8px}.about-section p,.about-section li{color:#42536e;font-size:.9375rem}.about-section p+p{margin-top:12px}.about-section ul,.about-section ol{margin-block:12px 0;padding-left:22px}.about-section li+li{margin-top:8px}.about-section .primary-link{margin-block:18px 8px}.footer-links{flex-wrap:wrap;align-items:center;gap:4px 20px;margin:0;padding:0;list-style:none;display:flex}.footer-links a{align-items:center;min-height:44px;font-size:.8125rem;display:inline-flex}.about-section .link-list{gap:0;margin:12px 0 0;padding:0;list-style:none;display:grid}.about-section .link-list>li{min-width:0;padding-block:10px}.about-section .link-list>li+li{border-top:1px solid var(--line);margin-top:0}.about-section .link-list a{justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-size:1rem;font-weight:600;display:flex}.about-section .link-list a>span[aria-hidden]{flex-shrink:0}.about-section .link-list p{margin-top:2px}.social-tag{margin-top:18px}.site-footer{border-top:1px solid var(--line);background:#fff}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 28px;min-height:100px;padding-block:20px;display:flex}.footer-inner p{color:var(--muted);font-size:.75rem}.footer-inner a{color:#42536e}.muted{color:var(--muted);font-size:.8125rem}.version-label{color:var(--muted);font-family:var(--mono);white-space:nowrap;font-size:.6875rem}.sr-only,.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:10;color:var(--blue);background:#fff;border-radius:6px;padding:10px 16px;position:absolute;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}@media (width>=1024px){.workspace-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.header-inner,.footer-inner,.playground,.about-page{width:calc(100% - 32px)}.header-inner{flex-wrap:wrap;gap:4px 10px;padding-block:12px 8px}.brand{flex:160px}.brand-name{max-width:180px;font-size:.8125rem}.brand-mark{flex-basis:32px;width:32px;height:32px}.site-nav{order:1;gap:4px;width:100%;margin-left:0}.nav-link{padding:8px 12px;font-size:.8125rem}.language-switch button{min-width:44px;padding-inline:6px;font-size:.6875rem}.playground,.about-page{padding-block:26px 40px}.page-heading{margin-bottom:20px}.page-heading p{font-size:.875rem}.panel{border-radius:10px;padding:20px}.workspace-grid,.problem-column,.workbench,.about-grid{gap:18px}.picker-summary{gap:10px;padding:14px 16px}.category-tabs{gap:6px;padding:14px 16px 10px}.category-tab{flex:auto;padding-inline:10px}.problem-option{flex-direction:column;align-items:flex-start;gap:2px}.problem-list{padding-inline:8px}.problem-panel>h2{font-size:1.1875rem}.command-input{min-height:128px;padding:14px}.run-button{width:100%;min-height:48px}.run-help{display:none}.footer-inner{flex-direction:column;align-items:flex-start;gap:6px;padding-block:20px}}@media (width<=359px){.header-inner,.footer-inner,.playground,.about-page{width:calc(100% - 24px)}.panel{padding:16px}.brand{flex-basis:145px;gap:8px}.brand-name{font-size:.75rem}.picker-summary{flex-wrap:wrap}.picker-current{order:1;width:100%}}@media (prefers-reduced-motion:no-preference){.run-button,.primary-link,.nav-link,.category-tab,.problem-option,.language-switch button{transition:background-color .12s,color .12s,border-color .12s}}
