:root{--editor-padding: 14px;--editor-font: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--page-bg: #f6f5f2;--surface-bg: #ffffff;--muted-surface-bg: #efede8;--hover-surface-bg: #e6eef1;--text: #1a1c1e;--muted-text: #5a6064;--subtle-text: #767b80;--link-text: #2a4e58;--accent: #205c6d;--accent-hover: #174856;--accent-contrast: #ffffff;--error-text: #993f33;--border: #d9d6cf;--soft-border: #e6e3dc;--control-border: #c4bfb6;--selection-bg: rgba(32, 92, 109, .18);--spinner-track: rgba(255, 255, 255, .5);--spinner-head: #ffffff;--loading-text: #767b80;--code-text: #1a3540;--code-bg: #ecebe5;--scrollbar-thumb: rgba(26, 28, 30, .18);--scrollbar-thumb-hover: rgba(26, 28, 30, .34);--tok-comment: #8a8e8e;--tok-function: #2e7d5f;--tok-type: #205c6d;--tok-type-parameter: #6b5fb4;--tok-namespace: #6f6960;--tok-parameter: #5d4b8f;--tok-keyword: #993053;--tok-string: #7a5489;--tok-number: #4f61b6;--tok-operator: #993053;--tok-delimiter: #8b8579;--tok-colon: #993053;--tok-property: #205c6d;--tok-pattern: #5d4b8f;color:var(--text);color-scheme:light;background:var(--page-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}:root[data-resolved-theme=dark]{--page-bg: #121319;--surface-bg: #181a21;--muted-surface-bg: #1f2129;--hover-surface-bg: #232838;--text: #e8e9ec;--muted-text: #a6a8b0;--subtle-text: #bfc1c8;--link-text: #87c5d4;--accent: #4f9eb2;--accent-hover: #6ab5c8;--accent-contrast: #0c1c20;--error-text: #e88a7d;--border: #2b2d36;--soft-border: #23252d;--control-border: #3d404a;--selection-bg: rgba(106, 181, 200, .24);--spinner-track: rgba(12, 28, 32, .35);--spinner-head: #0c1c20;--loading-text: #a6a8b0;--code-text: #e9ece8;--code-bg: #1d1f27;--scrollbar-thumb: rgba(232, 233, 236, .18);--scrollbar-thumb-hover: rgba(232, 233, 236, .34);--tok-comment: #6e7076;--tok-function: #88c5a3;--tok-type: #6ab5c8;--tok-type-parameter: #b294c8;--tok-namespace: #c8c9d0;--tok-parameter: #d8a878;--tok-keyword: #d18b9e;--tok-string: #d4c585;--tok-number: #b294c8;--tok-operator: #d18b9e;--tok-colon: #d18b9e;--tok-property: #6ab5c8;--tok-pattern: #d8a878;--tok-delimiter: #6e7076;color-scheme:dark}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:8px;background-color:var(--scrollbar-thumb);background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}*::-webkit-scrollbar-corner{background:transparent}body{margin:0;min-width:320px;min-height:100vh}button,textarea{font:inherit}.app{min-height:100vh;padding:24px}.site-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:1320px;margin:0 auto 16px}.site-copy{max-width:720px}.site-copy h1{margin:0;font-size:32px;font-weight:760;line-height:1.05}.site-copy p:last-child{max-width:620px;margin:7px 0 0;color:var(--muted-text);font-size:15px}.site-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.site-nav a{display:inline-flex;align-items:center;min-height:34px;padding:5px 12px;border:1px solid var(--control-border);border-radius:4px;color:var(--link-text);background:var(--surface-bg);font-size:13px;font-weight:650;text-decoration:none}.site-nav a:hover{border-color:var(--accent);color:var(--accent);background:var(--hover-surface-bg)}.install-strip{max-width:1320px;margin:0 auto 16px;padding:9px 0;border-top:1px solid var(--soft-border);border-bottom:1px solid var(--soft-border)}.install-strip summary{display:flex;align-items:center;gap:6px;width:fit-content;color:var(--muted-text);font-size:13px;font-weight:650;cursor:pointer;list-style:none}.install-strip summary::-webkit-details-marker{display:none}.install-strip summary:before{color:var(--subtle-text);content:"›";font-size:18px;line-height:1;transform:rotate(0);transition:transform .12s ease}.install-strip[open] summary{margin-bottom:10px}.install-strip[open] summary:before{transform:rotate(90deg)}.install-strip summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.install-strip-content{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);align-items:center;gap:12px}.install-copy{min-width:0}.install-copy strong{display:block;font-size:13px;font-weight:720}.install-copy span{display:block;margin-top:2px;color:var(--muted-text);font-size:12px}.install-command-list{display:grid;gap:6px;min-width:0}.install-command-list p{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:8px;margin:0;min-width:0}.install-command-list span{color:var(--subtle-text);font-size:11px;font-weight:700;text-transform:uppercase}.install-command-list code{display:block;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:16px;max-width:1320px;margin:0 auto}.editor-pane,.output-pane{border:1px solid var(--border);border-radius:6px;background:var(--surface-bg)}.editor-pane{height:calc(100vh - 156px);min-height:520px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(320px,1fr);overflow:hidden}.pane-head{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border)}h1,h2{margin:0;color:var(--text);letter-spacing:0}h1{font-size:18px;font-weight:650}h2{padding:12px 14px 0;font-size:13px;font-weight:650}.pane-actions{display:flex;align-items:center;gap:8px}.language-switch,.theme-switch{display:inline-flex;align-items:center;padding:2px;border:1px solid var(--control-border);border-radius:4px;background:var(--muted-surface-bg)}.language-button,.theme-button{min-width:56px;height:26px;padding:0 9px;border:0;border-radius:3px;color:var(--link-text);background:transparent;font-size:12px;font-weight:650;cursor:pointer}.language-button{min-width:72px}.language-button:hover,.theme-button:hover{color:var(--accent);background:var(--hover-surface-bg)}.language-button.is-active,.theme-button.is-active{color:var(--accent-contrast);background:var(--accent)}html[data-lang=ja] .lang-en,html[data-lang=en] .lang-ja{display:none}#run-button{height:32px;padding:0 14px;border:1px solid var(--accent);border-radius:4px;color:var(--accent-contrast);background:var(--accent);font-weight:650;cursor:pointer}#run-button:hover{background:var(--accent-hover)}#run-button:disabled{cursor:progress;opacity:.82}#run-button.is-loading{position:relative;padding-left:32px}#run-button.is-loading:before{position:absolute;top:50%;left:12px;width:12px;height:12px;margin-top:-7px;border:2px solid var(--spinner-track);border-top-color:var(--spinner-head);border-radius:50%;content:"";animation:spin .8s linear infinite}.example-picker{border-bottom:1px solid var(--border);background:var(--muted-surface-bg)}.example-search{display:block;width:calc(100% - 28px);height:30px;margin:8px 14px 6px;padding:0 9px;border:1px solid var(--control-border);border-radius:4px;color:var(--text);background:var(--surface-bg);font-size:13px}.example-search::placeholder{color:var(--subtle-text)}.example-search:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.example-category-buttons{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px}.example-category-button{min-height:26px;padding:2px 9px;border:1px solid var(--control-border);border-radius:4px;color:var(--link-text);background:var(--surface-bg);font-size:12px;font-weight:650;cursor:pointer}.example-category-button:hover{border-color:var(--accent);color:var(--accent);background:var(--hover-surface-bg)}.example-category-button.is-active{border-color:var(--accent);color:var(--accent-contrast);background:var(--accent)}.example-buttons{display:flex;gap:6px;min-width:0;padding:0 14px 8px;overflow-x:auto}.example-button{flex:0 0 auto;min-height:28px;padding:3px 10px;border:1px solid var(--control-border);border-radius:4px;color:var(--link-text);background:var(--surface-bg);font-size:13px;font-weight:600;cursor:pointer}.example-button:hover{border-color:var(--accent);color:var(--accent);background:var(--hover-surface-bg)}.example-button.is-active{border-color:var(--accent);color:var(--accent-contrast);background:var(--accent)}.example-empty{margin:0;padding:0 14px 10px;color:var(--muted-text);font-size:12px}.editor-surface{position:relative;min-height:0;overflow:auto}#editor-highlight,#source{display:block;width:100%;min-height:100%;margin:0;padding:var(--editor-padding);border:0;color:var(--text);background:transparent;font-family:var(--editor-font);font-size:14px;font-weight:400;line-height:21px;letter-spacing:0;tab-size:2;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0;resize:none;outline:none;overflow:hidden;white-space:pre;overflow-wrap:normal;word-break:normal;-webkit-font-smoothing:auto;text-rendering:geometricPrecision}#editor-highlight{position:relative;pointer-events:none;z-index:0;scrollbar-width:none}#editor-highlight::-webkit-scrollbar{display:none}#editor-highlight-content{display:block;min-width:max-content;padding:0;color:inherit;background:transparent;font:inherit;line-height:inherit;white-space:inherit;tab-size:inherit}#source{position:absolute;top:0;left:0;appearance:none;color:transparent;caret-color:var(--text);-webkit-text-fill-color:transparent}#source::selection{color:transparent;background:var(--selection-bg)}.side-pane{display:grid;grid-template-rows:minmax(150px,auto) minmax(120px,auto);gap:16px}.output-pane{overflow:hidden}#result,#types{width:100%;margin:0;padding:14px;border:0;color:var(--text);background:transparent;font-family:monospace;font-size:14px;line-height:21px;letter-spacing:0;tab-size:2;overflow:auto;white-space:pre-wrap}#result.is-error{border-inline-start:3px solid var(--error-text);color:var(--text)}#types.is-error{color:var(--error-text)}.diagnostic{display:block;white-space:normal}.diagnostic+.diagnostic{margin-top:16px;padding-top:16px;border-top:1px solid var(--soft-border)}.diagnostic-header{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.diagnostic-severity,.diagnostic-code{display:inline-flex;align-items:center;min-height:20px;padding:1px 6px;border:1px solid var(--control-border);border-radius:4px;background:var(--muted-surface-bg);font-size:11px;font-weight:750;line-height:16px;letter-spacing:.04em}.diagnostic-severity{border-color:var(--error-text);color:var(--error-text);text-transform:uppercase}.diagnostic-code{color:var(--code-text);background:var(--code-bg)}.diagnostic-message{display:block;margin-top:7px;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:520;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.diagnostic-label{color:var(--error-text);font-weight:720}.diagnostic-source-frame{display:grid;grid-template-columns:max-content minmax(0,1fr);margin-top:9px;border:1px solid var(--soft-border);border-radius:4px;color:var(--code-text);background:var(--code-bg);font-family:var(--editor-font);font-size:13px;line-height:19px;padding-bottom:7px;overflow-x:auto;tab-size:2;white-space:pre}.diagnostic-source-row{display:contents}.diagnostic-source-gutter{display:block;grid-column:1;min-width:3ch;padding:6px 9px 0 8px;border-inline-end:1px solid var(--soft-border);color:var(--subtle-text);text-align:end;user-select:none}.diagnostic-source-text{display:block;grid-column:2;min-width:max-content;padding:6px 10px 0;color:inherit;background:transparent;font:inherit;white-space:pre}.diagnostic-source-truncation-row .diagnostic-source-gutter{padding-top:0}.diagnostic-source-range{text-decoration:underline wavy;text-decoration-color:var(--error-text);text-decoration-skip-ink:none;text-decoration-thickness:1px;text-underline-offset:3px}.diagnostic-source-truncation{display:block;grid-column:2;min-width:max-content;padding:0 10px;color:var(--muted-text);font-size:12px;font-style:italic}.diagnostic-hint{display:block;margin-top:9px;color:var(--muted-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.diagnostic-hint-label{color:var(--accent);font-weight:720}.diagnostic-related{display:block;margin-top:12px}.diagnostic-related-heading{display:block;margin-bottom:6px;color:var(--subtle-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.diagnostic-related-item{display:block;padding-inline-start:10px;border-inline-start:2px solid var(--control-border)}.diagnostic-related-item+.diagnostic-related-item{margin-top:11px}.diagnostic-related-description{display:block;color:var(--muted-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.diagnostic-related-message{color:var(--text);font-weight:600}.diagnostic-related-origin{color:var(--subtle-text);font-size:12px}.diagnostic-related-item .diagnostic-source-frame{margin-top:6px}#result.is-loading,#types.is-loading{color:var(--loading-text)}#result.is-loading:after,#types.is-loading:after{content:"";animation:loading-dots 1s steps(4,end) infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loading-dots{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}.tok-comment{color:var(--tok-comment)}.tok-function{color:var(--tok-function)}.tok-type{color:var(--tok-type)}.tok-type-parameter{color:var(--tok-type-parameter)}.tok-namespace{color:var(--tok-namespace)}.tok-parameter{color:var(--tok-parameter)}.tok-keyword{color:var(--tok-keyword)}.tok-string{color:var(--tok-string)}.tok-number{color:var(--tok-number)}.tok-operator{color:var(--tok-operator)}.tok-delimiter{color:var(--tok-delimiter)}.tok-colon{color:var(--tok-colon)}.tok-property{color:var(--tok-property)}.tok-pattern{color:var(--tok-pattern)}code{padding:1px 4px;border-radius:3px;color:var(--code-text);background:var(--code-bg);font-family:monospace;font-size:.95em}@media(max-width:860px){.app{padding:12px}.site-intro{display:block;margin-bottom:12px}.site-copy h1{font-size:28px}.site-nav{justify-content:flex-start;margin-top:12px}.install-strip{margin-bottom:12px}.install-strip-content{grid-template-columns:1fr}.install-command-list p{grid-template-columns:1fr;gap:3px}.workspace{grid-template-columns:1fr}.editor-pane{height:520px;min-height:520px}.pane-head{align-items:flex-start}.pane-actions{flex-wrap:wrap;justify-content:flex-end}}
