:root{--font-ui:system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;--font-mono:"Cascadia Code", "Consolas", "SFMono-Regular", "Menlo", "BIZ UDGothic", "MS Gothic", monospace;--radius:6px;--radius-lg:10px;--bg:#f3f4f7;--surface:#fff;--surface-2:#f6f7fa;--surface-3:#eceef3;--border:#d9dce4;--border-strong:#b8bdca;--fg:#1d2330;--fg-muted:#5a6274;--fg-subtle:#7c8496;--accent:#2f5bd3;--accent-hover:#2449ad;--accent-fg:#fff;--accent-soft:#e6edfc;--focus:#2f5bd3;--danger:#c4302b;--danger-soft:#fdecea;--warning:#9a6200;--warning-soft:#fff4dc;--success:#1e7c3d;--success-soft:#e5f5ea;--info:#2f5bd3;--shadow:0 6px 24px #141c3029;--editor-bg:#fff;--editor-fg:#1d2330;--editor-caret:#1d2330;--editor-selection:#cfdcfb;--editor-active-line:#f3f6fd;--editor-gutter-bg:#f8f9fb;--editor-gutter-fg:#8b92a3;--editor-search-match:#ffe39b;--editor-search-current:#ffc845;--editor-selection-match:#e2e8f7;--editor-bracket:#dfe7fb;--editor-bracket-border:#9fb4ee;--syn-keyword:#8a2be2;--syn-string:#0b7a3b;--syn-number:#b35900;--syn-comment:#6b7385;--syn-function:#1658c9;--syn-definition:#0d4f8b;--syn-type:#a0306d;--syn-property:#1d6f8a;--syn-tag:#b8261d;--syn-punctuation:#4d5566;--syn-meta:#6b5aa6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#15181f;--surface:#1c2029;--surface-2:#222733;--surface-3:#2a303d;--border:#343b4a;--border-strong:#4a5266;--fg:#e3e6ee;--fg-muted:#a6adbd;--fg-subtle:#858ca0;--accent:#6f95ff;--accent-hover:#8eabff;--accent-fg:#0d1222;--accent-soft:#24304d;--focus:#8eabff;--danger:#ff7b72;--danger-soft:#3b2224;--warning:#e3b341;--warning-soft:#3a3020;--success:#56d364;--success-soft:#1d3324;--info:#6f95ff;--shadow:0 6px 24px #00000080;--editor-bg:#1a1e26;--editor-fg:#dfe3ec;--editor-caret:#e3e6ee;--editor-selection:#2f4677;--editor-active-line:#212734;--editor-gutter-bg:#1a1e26;--editor-gutter-fg:#6d7488;--editor-search-match:#5e4b10;--editor-search-current:#8a6c12;--editor-selection-match:#2b3346;--editor-bracket:#2c3a5c;--editor-bracket-border:#5b75b8;--syn-keyword:#c792ea;--syn-string:#a5d6a7;--syn-number:#f7a35c;--syn-comment:#7f879b;--syn-function:#82aaff;--syn-definition:#89ddff;--syn-type:#f78fb3;--syn-property:#80cbc4;--syn-tag:#ff8a80;--syn-punctuation:#a6adbd;--syn-meta:#b39ddb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.btn{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;min-height:30px;padding:4px 12px;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--danger{color:var(--danger);border-color:var(--danger)}.btn--danger.btn--primary{background:var(--danger);color:#fff}.btn--small{min-height:26px;padding:2px 8px;font-size:12.5px}.btn--ghost{background:0 0;border-color:#0000}.icon-btn{border-radius:var(--radius);width:26px;height:26px;color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--fg)}.icon-btn:disabled{opacity:.4}.field{color:var(--fg-muted);flex-direction:column;gap:4px;min-width:0;margin-bottom:10px;font-size:12.5px;display:flex}.field input:not([type=color]):not([type=checkbox]),.field select,.field textarea,.text-input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--fg);padding:6px 8px;font-size:13.5px}.field textarea{resize:vertical}.field input[type=color]{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;height:32px;padding:2px}.field-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field--inline{flex-direction:row;align-items:center;gap:8px}.field__error{color:var(--danger);font-size:12px}.ide{--sidebar-w:248px;--output-w:42%;grid-template-rows:auto 1fr auto;height:100%;display:grid}.ide-main{grid-template-columns:var(--sidebar-w) 5px minmax(240px, 1fr) 5px minmax(280px, var(--output-w));min-height:0;display:grid;overflow:hidden}.splitter{background:var(--border);cursor:col-resize;touch-action:none;position:relative}.splitter:hover,.splitter:focus-visible,.splitter--active{background:var(--accent)}.splitter--horizontal{cursor:row-resize}.menubar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:4px;height:40px;padding:0 8px;display:flex}.menubar__brand{white-space:nowrap;align-items:center;gap:6px;margin-right:8px;font-weight:700;display:flex}.menubar__brand img{width:20px;height:20px}.menubar__menus{gap:2px;display:flex}.menu{position:relative}.menu__button{border-radius:var(--radius);cursor:pointer;background:0 0;border:none;padding:4px 10px}.menu__button:hover,.menu__button[aria-expanded=true]{background:var(--surface-3)}.menu__list{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:260px;box-shadow:var(--shadow);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0}.menu__item{border-radius:var(--radius);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;gap:24px;width:100%;padding:6px 10px;display:flex}.menu__item:hover:not(:disabled),.menu__item:focus-visible{background:var(--accent-soft);outline:none}.menu__item:disabled{opacity:.45;cursor:default}.menu__item[aria-checked=true]:before{content:"✓";margin-left:-4px;margin-right:-14px}.menu__shortcut{color:var(--fg-subtle);font-size:12px}.menu__separator{background:var(--border);height:1px;margin:4px 6px}.menubar__spacer{flex:1}.menubar__actions{align-items:center;gap:6px;display:flex}.toggle{color:var(--fg-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.mode-select{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);padding:4px 6px;font-size:12.5px}.sidebar{background:var(--surface-2);flex-direction:column;min-width:0;min-height:0;display:flex}.sidebar__tabs{border-bottom:1px solid var(--border);display:flex}.sidebar__tab{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 4px;font-size:13px}.sidebar__tab[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}.sidebar__body{flex:1;min-height:0;overflow:auto}.section{border-bottom:1px solid var(--border)}.section__header{letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted);justify-content:space-between;align-items:center;gap:4px;padding:6px 8px 6px 12px;font-size:11.5px;font-weight:700;display:flex}.section__body{padding:0 8px 8px}.project-bar{gap:4px;padding:0 8px 8px;display:flex}.project-bar select{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);flex:1;min-width:0;padding:5px 6px}.tree,.tree ul{margin:0;padding:0;list-style:none}.tree__row{border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;align-items:center;gap:4px;min-height:26px;padding:0 4px;display:flex}.tree__row:hover{background:var(--surface-3)}.tree__row:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.tree__row--active{background:var(--accent-soft);color:var(--fg)}.tree__icon{text-align:center;flex:none;width:18px;font-size:12px}.tree__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree__badge{color:var(--accent);font-size:10.5px}.tree__dirty{background:var(--fg-muted);border-radius:50%;width:7px;height:7px}.tree__actions{display:none}.tree__row:hover .tree__actions,.tree__row:focus-within .tree__actions,.tree__row--active .tree__actions{display:flex}.empty-note{color:var(--fg-subtle);padding:8px 12px;font-size:12.5px}.palette{grid-template-columns:1fr 1fr;gap:6px;display:grid}.palette__item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:8px;display:flex}.palette__item:hover{border-color:var(--accent)}.palette__item small{color:var(--fg-subtle);font-size:11px}.editor-area{background:var(--editor-bg);flex-direction:column;min-width:0;min-height:0;display:flex}.tabs{background:var(--surface-2);border-bottom:1px solid var(--border);scrollbar-width:thin;display:flex;overflow-x:auto}.tab{border-right:1px solid var(--border);max-width:220px;height:34px;color:var(--fg-muted);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:0 4px 0 12px;display:flex}.tab[aria-selected=true]{background:var(--editor-bg);color:var(--fg);box-shadow:inset 0 2px 0 var(--accent)}.tab__label{text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;padding:0;overflow:hidden}.tab__dirty{background:var(--fg-muted);border-radius:50%;width:7px;height:7px}.editor-toolbar{border-bottom:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--fg-muted);align-items:center;gap:8px;padding:2px 10px;font-size:12.5px;display:flex}.editor-toolbar__path{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);cursor:pointer;border:none;padding:2px 10px;font-size:12.5px}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-fg)}.editor-host{flex:1;min-height:0;position:relative}.editor-mount{position:absolute;inset:0;overflow:hidden}.editor-mount .cm-editor{height:100%}.editor-banner{border-bottom:1px solid var(--border);background:var(--warning-soft);color:var(--fg);padding:6px 12px;font-size:12.5px}.welcome{flex:1;padding:32px;overflow:auto}.welcome h1{margin:0 0 8px;font-size:22px}.welcome__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:20px;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left;cursor:pointer;padding:14px}.card:hover,.card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card h3{margin:0 0 4px;font-size:14.5px}.card p{color:var(--fg-muted);margin:0;font-size:12.5px}.card__badge{background:var(--success-soft);color:var(--success);border-radius:999px;margin-top:8px;padding:1px 6px;font-size:11px;display:inline-block}.output{--result-h:58%;grid-template-rows:minmax(120px, var(--result-h)) 5px minmax(100px, 1fr);background:var(--surface);min-width:0;min-height:0;display:grid}.result{flex-direction:column;min-height:0;display:flex}.result__header{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:6px;min-height:36px;padding:2px 8px;display:flex}.result__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.result__title small{color:var(--fg-muted);font-weight:400}.status-pill{white-space:nowrap;background:var(--surface-3);color:var(--fg-muted);border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11.5px;display:inline-flex}.status-pill--running,.status-pill--scheduled{background:var(--accent-soft);color:var(--accent)}.status-pill--success{background:var(--success-soft);color:var(--success)}.status-pill--error,.status-pill--timeout,.status-pill--crashed,.status-pill--output-limit,.status-pill--unavailable{background:var(--danger-soft);color:var(--danger)}.status-pill--cancelled{background:var(--warning-soft);color:var(--warning)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:10px;height:10px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.result__banner{border-bottom:1px solid var(--border);padding:6px 10px;font-size:12.5px}.result__banner--stale,.result__banner--error{background:var(--danger-soft)}.result__banner--info{background:var(--accent-soft)}.result__area{background:var(--surface);flex:1;min-height:0;position:relative}.web-surface{background:#fff;position:absolute;inset:0}.web-surface[hidden]{display:none}.preview-frame{background:#fff;border:none;width:100%;height:100%;position:absolute;inset:0}.web-surface[data-viewport]:not([data-viewport=auto]){background:var(--surface-3);overflow:auto}.web-surface[data-viewport="375"] .preview-frame,.web-surface[data-viewport="768"] .preview-frame,.web-surface[data-viewport="1280"] .preview-frame{box-shadow:0 0 0 1px var(--border-strong);margin:0 auto;left:0;right:0}.web-surface[data-viewport="375"] .preview-frame{width:375px}.web-surface[data-viewport="768"] .preview-frame{width:768px}.web-surface[data-viewport="1280"] .preview-frame{width:1280px}.viewport-select{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);padding:2px 4px;font-size:12px}.preview-frame--pending{visibility:hidden}.sandbox-runner-frame{visibility:hidden;border:0;width:0;height:0;position:absolute}.preview-host{position:absolute;inset:0;overflow:auto}.preview-host[hidden]{display:none}.result-view{min-height:100%}.result-empty{height:100%;min-height:120px;color:var(--fg-subtle);text-align:center;place-items:center;padding:16px;display:grid}.result-stdout{min-height:100%;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:0;padding:10px 12px;font-size:13px;line-height:1.55}.result-note{color:var(--fg-subtle);font-size:12px}.sql-result{border-bottom:1px solid var(--border);padding:10px 12px}.sql-result__caption{font-size:12.5px;font-weight:600}.sql-result__sql{color:var(--fg-muted);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 6px;font-size:12px;display:block;overflow:hidden}.sql-result__scroll{border:1px solid var(--border);border-radius:var(--radius);max-height:320px;overflow:auto}.sql-table{border-collapse:collapse;width:100%;font-size:12.5px;font-family:var(--font-mono)}.sql-table th,.sql-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:4px 8px}.sql-table th{background:var(--surface-3);position:sticky;top:0}.sql-number{text-align:right!important}.sql-null{color:var(--fg-subtle);font-style:italic}.data-summary{padding:14px}.data-summary__status{margin-bottom:10px;font-size:15px;font-weight:700}.data-summary__status--ok{color:var(--success)}.data-summary__status--ng{color:var(--danger)}.data-summary__list{grid-template-columns:auto 1fr;gap:4px 16px;margin:0;font-size:13px;display:grid}.data-summary__list dt{color:var(--fg-muted)}.data-summary__list dd{margin:0}.data-summary__error{color:var(--danger)}.stdin-box{border-top:1px solid var(--border);background:var(--surface-2);padding:6px 8px}.stdin-box summary{cursor:pointer;color:var(--fg-muted);font-size:12.5px}.stdin-box textarea{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;min-height:52px;font-family:var(--font-mono);resize:vertical;margin-top:6px;padding:6px;font-size:12.5px}.logs{flex-direction:column;min-height:0;display:flex}.logs__tabs{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:2px;padding:0 4px;display:flex}.logs__tab{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:5px;padding:7px 10px;font-size:12.5px;display:inline-flex}.logs__tab[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}.count-badge{background:var(--surface-3);text-align:center;border-radius:999px;min-width:18px;padding:0 5px;font-size:11px}.count-badge--error{background:var(--danger);color:#fff}.count-badge--warning{background:var(--warning);color:#fff}.logs__spacer{flex:1}.logs__body{min-height:0;font-family:var(--font-mono);flex:1;font-size:12.5px;overflow:auto}.log{border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);content-visibility:auto;contain-intrinsic-size:auto 22px;align-items:flex-start;gap:6px;padding:2px 10px;display:flex}.log__icon{text-align:center;flex:none;width:14px}.log__text{white-space:pre-wrap;word-break:break-word;flex:1;min-width:0}.log__meta{color:var(--fg-subtle);flex:none;font-size:11.5px}.log__link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;flex:none;padding:0;font-size:11.5px;text-decoration:underline}.log__repeat{background:var(--surface-3);border-radius:999px;flex:none;padding:0 5px;font-size:11px}.log--error,.log--stderr{background:var(--danger-soft);color:var(--danger)}.log--warn{background:var(--warning-soft)}.log--info .log__text,.log--debug .log__text{color:var(--fg-muted)}.log--separator{color:var(--fg-subtle)}.logs__dropped{color:var(--fg-subtle);padding:4px 10px;font-size:11.5px}.problem{border:none;border-bottom:1px solid var(--border);text-align:left;width:100%;font-family:var(--font-ui);cursor:pointer;background:0 0;padding:6px 10px;font-size:13px;display:block}.problem:hover{background:var(--surface-2)}.problem__head{align-items:baseline;gap:6px;display:flex}.problem__loc{color:var(--fg-subtle);white-space:nowrap;font-size:12px}.problem__hint{border-radius:var(--radius);background:var(--accent-soft);margin:4px 0 0 20px;padding:6px 8px;font-size:12.5px}.problem__hint button{margin-left:6px}.statusbar{border-top:1px solid var(--border);background:var(--surface-2);height:26px;color:var(--fg-muted);align-items:center;gap:2px;padding:0 6px;font-size:12px;display:flex;overflow:hidden}.statusbar__item{white-space:nowrap;height:100%;color:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0 8px;display:inline-flex}button.statusbar__item{cursor:pointer}button.statusbar__item:hover{background:var(--surface-3)}.statusbar__item--ok{color:var(--success)}.statusbar__item--warn{color:var(--warning)}.statusbar__item--error{color:var(--danger);font-weight:600}.statusbar__spacer{flex:1}.dict{flex-direction:column;height:100%;display:flex}.dict__search{border-bottom:1px solid var(--border);padding:8px}.dict__cats{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:999px;padding:1px 8px;font-size:11.5px}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.dict__results{margin:0;padding:4px;list-style:none;overflow:auto}.dict__result{border-radius:var(--radius);text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:6px 8px;display:block}.dict__result:hover{background:var(--surface-3)}.dict__result small{color:var(--fg-subtle);font-size:11.5px;display:block}.dict-entry{padding:10px 12px;overflow:auto}.dict-entry h2{margin:4px 0 0;font-size:18px}.dict-entry__reading{color:var(--fg-subtle);font-size:12px}.dict-entry h3{color:var(--fg-muted);margin:14px 0 4px;font-size:12.5px}.dict-entry p{margin:0;line-height:1.7}.dict-entry pre{border-radius:var(--radius);background:var(--surface-3);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:4px 0;padding:8px;font-size:12px}.dict-entry ul{margin:0;padding-left:18px}.dict-entry__nav{justify-content:space-between;gap:4px;display:flex}.link-btn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.dict__tabs{border-bottom:1px solid var(--border);background:var(--surface);display:flex}.dict__tabs [role=tab]{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:6px 4px;font-size:12px}.dict__tabs [role=tab][aria-selected=true]{border-bottom-color:var(--accent);color:var(--fg);font-weight:700}.dict__body{flex:1;min-height:0;overflow:auto}.dict__hint,.dict__count{color:var(--fg-subtle);margin:8px 10px;font-size:12px;line-height:1.6}.dict__term{align-items:baseline;gap:6px;font-weight:600;display:flex}.dict__term code{font-family:var(--font-mono);color:var(--fg-muted);font-size:11.5px;font-weight:400}.dict__cat{color:var(--fg-subtle);white-space:nowrap;margin-left:auto;font-size:10.5px;font-weight:400}.dict__field{color:var(--fg-muted)}.dict__result mark{background:var(--warning-soft);color:inherit;border-radius:2px}.dict__related h3,.dict__cathead h3{margin:10px 10px 2px;font-size:12.5px}.dict__related>p,.dict__cathead p{margin:8px 10px 0;font-size:12.5px}.dict__cathead{border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;display:flex}.dict__cathead p,.dict__cathead h3{margin:0}.dict__catlist{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;margin:0;padding:8px;list-style:none;display:grid}.dict__catcard{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;gap:2px;width:100%;height:100%;padding:8px;display:flex}.dict__catcard:hover,.dict__catcard:focus-visible{border-color:var(--accent)}.dict__catcard span{color:var(--accent);font-size:11.5px}.dict__catcard small{color:var(--fg-subtle);font-size:11px}.dict__bookmark,.dict__fileterm{align-items:center;gap:4px;display:flex}.dict__about{padding:4px 12px 16px;font-size:12.5px;line-height:1.7}.dict__about h3{margin:12px 0 2px;font-size:13px}.dict__about p{margin:0}.dict__about ul{margin:4px 0;padding-left:18px}.dict-entry__meta{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.dict-badge{border:1px solid var(--border-strong);color:var(--fg-muted);border-radius:999px;padding:0 8px;font-size:11px;line-height:18px}.dict-badge--draft{border-color:var(--warning);background:var(--warning-soft);color:var(--fg)}.dict-badge--reviewed{border-color:var(--success,#2f7d4f);color:var(--success,#2f7d4f)}.dict-entry__reading{flex-wrap:wrap;display:flex}.dict-entry__tokens{list-style:none;padding-left:0!important}.dict-entry__tokens li{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:2px;font-size:12px;display:flex}.dict-entry__tokens code{background:var(--surface-3);font-family:var(--font-mono);border-radius:3px;padding:0 4px;font-size:11.5px}.dict-entry__example small{color:var(--fg-muted);font-size:11.5px}.dict-entry pre.dict-entry__output{border-left:3px solid var(--accent);background:var(--surface-2)}.dict-entry pre.dict-entry__output:before{content:"実行結果";color:var(--fg-subtle);font-family:var(--font-sans,inherit);margin-bottom:2px;font-size:10.5px;display:block}.dict-quote{border-left:3px solid var(--border-strong);border-radius:0 var(--radius) var(--radius) 0;background:var(--surface-2);margin:6px 0;padding:6px 10px}.dict-quote blockquote{margin:0;line-height:1.7}.dict-quote figcaption{color:var(--fg-subtle);margin-top:4px;font-size:11px;line-height:1.5}.dict-entry__related{flex-wrap:wrap;gap:4px;display:flex}.dict-entry__further{margin-top:6px;font-size:12.5px}.dict-entry__further small{color:var(--fg-subtle)}.dict-entry__source{color:var(--fg-muted);font-size:12px}.help{padding:10px 12px;font-size:13px;line-height:1.7}.help h3{margin:14px 0 4px;font-size:13.5px}.help ol,.help ul{margin:0;padding-left:20px}kbd{border:1px solid var(--border-strong);background:var(--surface);font-family:var(--font-mono);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:11.5px}dialog.modal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--fg);box-shadow:var(--shadow);padding:0}dialog.modal--wide{width:min(820px,100vw - 32px)}dialog.modal::backdrop{background:#0a0e1873}.modal__form{flex-direction:column;max-height:calc(100vh - 50px);display:flex}.modal__header{padding:14px 18px 8px}.modal__header h2{margin:0;font-size:16px}.modal__body{padding:4px 18px 12px;line-height:1.6;overflow:auto}.modal__footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:10px 18px 14px;display:flex}.check-list{margin:0;padding:0;list-style:none}.check-list li{border-bottom:1px solid var(--border);gap:8px;padding:6px 0;display:flex}.check-list small{color:var(--fg-muted);display:block}.check-ok{color:var(--success)}.check-ng{color:var(--danger)}.settings-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.toasts{z-index:100;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:40px;right:16px}.toast{border:1px solid var(--border);border-left:4px solid var(--info);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;display:flex}.toast--success{border-left-color:var(--success)}.toast--warning{border-left-color:var(--warning)}.toast--error{border-left-color:var(--danger)}.toast__text{flex:1}.app-error{max-width:640px;margin:10vh auto;padding:24px;line-height:1.7}.boot{height:100%;color:var(--fg-muted);place-items:center;display:grid}.vui{background:var(--surface-2);flex-direction:column;height:100%;display:flex}.vui-toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.vui-toolbar__group{border-right:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;padding-right:8px;display:flex}.vui-palette-btn{cursor:grab}.vui-toolbar__note{color:var(--fg-subtle);margin-left:auto;font-size:11.5px}.vui-body{flex:1;grid-template-columns:minmax(0,1fr) 290px;min-height:0;display:grid}.vui-canvas-wrap{padding:20px;overflow:auto}.vui-device{max-width:100%;margin:0 auto;transition:width .15s}.vui-device--tablet,.vui-device--mobile{border:8px solid var(--surface-3);border-radius:18px}@media (prefers-reduced-motion:reduce){.vui-device{transition:none}}.vui-canvas{border-radius:var(--radius-lg);outline:none;min-height:360px;font-size:16px;overflow:hidden;box-shadow:0 1px 6px #0000001f}.vui-canvas *,.vui-canvas :before,.vui-canvas :after{box-sizing:border-box}.vui-canvas:focus-visible{box-shadow:0 0 0 2px var(--focus)}.vui-canvas--drop .vui-page{outline:2px dashed var(--accent);outline-offset:-4px}.vui-page{min-height:360px}.vui-canvas__empty{color:#888;text-align:center;border:2px dashed #ccc;border-radius:10px;padding:40px 12px}.vui-item{cursor:pointer;outline-offset:2px;outline:1px dashed #0000}.vui-item:hover{outline-color:#9fb4ee}.vui-item--selected,.vui-item--selected:hover{outline-offset:2px;outline:2px solid #2f5bd3}.vui-item--hidden{opacity:.35}.vui-item--dragging{opacity:.4}.vui-item__tag{z-index:2;color:#fff;font:10.5px/18px var(--font-ui);white-space:nowrap;pointer-events:none;background:#2f5bd3;border-radius:4px;padding:0 6px;display:none;position:absolute;top:-20px;left:-2px}.vui-item--selected>.vui-item__tag,.vui-item:hover>.vui-item__tag{display:block}.vui-el-button{color:#000;text-align:center;background:#e9e9ed;padding:1px 6px;display:inline-block}.vui-input__field{color:#888;background:#fff;border:1px solid #999;border-radius:6px;min-height:2.6em;padding:8px 10px;font-size:1rem;display:block}.vui-input__field--textarea{min-height:6em}.vui-image-empty{color:#777;border:1px dashed #999;place-items:center;min-height:120px;font-size:.9rem;display:grid}.vui-container{outline-offset:-1px;outline:1px dashed #2f5bd359;min-height:48px}.vui-container--drop{outline:2px solid var(--accent);background-color:#2f5bd314}.vui-container__empty{color:#8a94a8;text-align:center;flex:1;padding:10px;font-size:12.5px}.vui-drop-line{z-index:3;background:var(--accent);pointer-events:none;border-radius:2px;height:4px;position:absolute;left:0;right:0}.vui-drop-line--before{top:-6px}.vui-drop-line--after{bottom:-6px}.vui-drop-line--vertical{width:4px;height:auto;top:0;bottom:0}.vui-drop-line--vertical.vui-drop-line--before{left:-6px;right:auto}.vui-drop-line--vertical.vui-drop-line--after{left:auto;right:-6px}.vui-resize{z-index:3;cursor:nwse-resize;touch-action:none;background:#2f5bd3;border:2px solid #fff;border-radius:2px;width:12px;height:12px;position:absolute;bottom:-7px;right:-7px}.vui-props{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;min-height:0;display:flex}.vui-props__tabs{border-bottom:1px solid var(--border);display:flex}.vui-props__tabs button{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:7px}.vui-props__tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}.vui-props__body{flex:1;padding:10px 12px;overflow:auto}.vui-props__title{margin:0 0 10px;font-size:13.5px}.vui-section{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 10px;padding:8px 10px 2px}.vui-section legend{color:var(--fg-muted);padding:0 4px;font-size:12px;font-weight:700}.color-field{align-items:center;gap:6px;display:flex}.color-field input[type=color]{flex:1}.field__hint{color:var(--fg-subtle);font-size:11.5px}.field__hint--warn{color:var(--warning);margin:-6px 0 8px;display:block}.vui-props__actions{flex-wrap:wrap;gap:6px;padding-bottom:8px;display:flex}.vui-props__hint{color:var(--fg-subtle);font-size:12px}.vui-outline{margin:0;padding:0;list-style:none}.vui-outline__row{border-radius:var(--radius);text-align:left;cursor:pointer;background:0 0;border:none;gap:6px;width:100%;padding:4px 8px;font-size:12.5px;display:flex}.vui-outline__row:hover{background:var(--surface-3)}.vui-outline__row--selected{background:var(--accent-soft)}.vui-outline__type{white-space:nowrap;font-weight:600}.vui-outline__summary{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vui-error{padding:24px}.binary-view{height:100%;color:var(--fg-muted);flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex;overflow:auto}.binary-view img{background:repeating-conic-gradient(#d9dce4 0% 25%,#fff 0% 50%) 50%/16px 16px;max-width:100%;max-height:70%;box-shadow:0 1px 6px #0000001f}.lg{--lg-var:#2f7d4f;--lg-io:#2f5bd3;--lg-control:#b26a00;--lg-loop:#8a3fb8;--lg-func:#c2185b;--lg-comment:#6b7385;--lg-raw:#4d5566;background:var(--surface-2);flex-direction:column;height:100%;display:flex}:root[data-theme=dark] .lg{--lg-var:#56c27e;--lg-io:#7aa2ff;--lg-control:#f0a840;--lg-loop:#c58af0;--lg-func:#f27aa7;--lg-comment:#9aa1b2;--lg-raw:#a6adbd}.lg-toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.lg-toolbar__group{border-right:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;padding-right:8px;display:flex}.lg-toolbar__label{color:var(--fg-subtle);font-size:11px}.lg-toolbar__target{color:var(--fg-subtle);margin-left:auto;font-size:11.5px}.lg-palette-btn{cursor:grab;border-left-width:4px}.lg-palette-btn--var{border-left-color:var(--lg-var)}.lg-palette-btn--io{border-left-color:var(--lg-io)}.lg-palette-btn--control{border-left-color:var(--lg-control)}.lg-palette-btn--func{border-left-color:var(--lg-func)}.lg-tracebar{border-bottom:1px solid var(--border);background:var(--accent-soft);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;display:flex}.lg-tracebar input[type=range]{width:180px}.lg-tracebar__note{color:var(--danger)}.lg-body{flex:1;grid-template-columns:minmax(0,1fr) 320px;min-height:0;display:grid}.lg-canvas{outline:none;padding:16px 20px 40px;overflow:auto}.lg-canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.lg-section{margin-bottom:24px}.lg-section__title{margin:0 0 6px;font-size:13.5px}.lg-terminal{border:1px solid var(--border-strong);background:var(--surface);color:var(--fg-muted);border-radius:999px;margin-left:12px;padding:2px 14px;font-size:12px;display:inline-block}.lg-block{border:1px solid var(--border);border-left:4px solid var(--lg-io);border-radius:var(--radius-lg);background:var(--surface);margin:0 0 12px;padding:8px 10px}.lg-block--function{border-left-color:var(--lg-func)}.lg-block--selected{box-shadow:0 0 0 2px var(--accent)}.lg-block__head{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:4px 0;font-weight:700;display:block}.lg-flow{flex-direction:column;align-items:stretch;max-width:720px;display:flex}.lg-connector{align-items:center;min-height:22px;padding-left:12px;display:flex;position:relative}.lg-connector__line{background:var(--border-strong);width:2px;position:absolute;top:0;bottom:0;left:22px}.lg-connector__line:after{content:"";border:5px solid #0000;border-top-color:var(--border-strong);position:absolute;bottom:-1px;left:-4px}.lg-connector--last .lg-connector__line:after{display:none}.lg-connector__add{z-index:1;color:var(--fg-subtle);cursor:pointer;opacity:.35;background:0 0;border:1px dashed #0000;border-radius:999px;margin-left:2px;padding:0 6px;font-size:12px;line-height:18px;position:relative}.lg-connector:hover .lg-connector__add,.lg-connector__add:focus-visible,.lg-connector__add[aria-expanded=true],.lg-connector--empty .lg-connector__add{opacity:1;border-color:var(--border-strong);background:var(--surface)}.lg-connector--empty{min-height:34px}.lg-connector--drop{min-height:30px}.lg-connector--drop:before{content:"";background:var(--accent);border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:50%;left:12px;right:0}.lg-add-menu{z-index:20;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(440px,80vw);box-shadow:var(--shadow);grid-template-columns:1fr 1fr;gap:4px;padding:6px;display:grid;position:absolute;top:100%;left:24px}.lg-add-menu__item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.lg-add-menu__item:hover,.lg-add-menu__item:focus-visible{border-color:var(--accent)}.lg-add-menu__item small{color:var(--fg-subtle);font-size:11px}.lg-node{border:1px solid var(--border);border-left:5px solid var(--lg-io);border-radius:var(--radius);background:var(--surface);cursor:pointer;padding:6px 10px;position:relative}.lg-node:hover{border-color:var(--border-strong)}.lg-node--var{border-left-color:var(--lg-var)}.lg-node--io{border-left-color:var(--lg-io)}.lg-node--control{border-left-color:var(--lg-control)}.lg-node--loop{border-left-color:var(--lg-loop)}.lg-node--func{border-left-color:var(--lg-func)}.lg-node--comment{border-left-color:var(--lg-comment);background:var(--surface-2);font-style:italic}.lg-node--raw{border-left-color:var(--lg-raw);border-style:dashed}.lg-node--selected{box-shadow:0 0 0 2px var(--accent)}.lg-node--current{box-shadow:0 0 0 3px var(--warning)}.lg-node--unvisited{opacity:.55}.lg-node--dragging{opacity:.4}.lg-node__head{color:var(--fg-muted);align-items:center;gap:6px;font-size:11.5px;display:flex}.lg-node__title{font-weight:700}.lg-node__text{font-family:var(--font-mono);word-break:break-word;margin-top:2px;font-size:13px}.lg-node__code{background:var(--surface-3);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;border-radius:4px;margin:4px 0 0;padding:4px 6px;font-size:12px}.lg-badge{border-radius:999px;padding:0 6px;font-size:11px;font-weight:700}.lg-badge--error{background:var(--danger);color:#fff}.lg-badge--warning{background:var(--warning);color:#fff}.lg-badge--trace{background:var(--warning-soft);color:var(--warning);margin-left:auto}.lg-lanes{flex-direction:column;gap:6px;margin:6px 0 2px;display:flex}.lg-lane{border-left:3px solid var(--border-strong);cursor:default;border-radius:0 0 0 6px;padding:4px 0 2px 8px}.lg-lane--yes{border-left-color:var(--lg-var)}.lg-lane--no{border-left-color:var(--danger)}.lg-lane--loop{border-left-color:var(--lg-loop);border-left-style:double;border-left-width:4px}.lg-lane__title{color:var(--fg-muted);font-size:11.5px;font-weight:700}.lg-side .vui-props__body{padding-bottom:24px}.lg-inspector .lg-arg{align-items:flex-start;gap:4px;display:flex}.lg-inspector .lg-arg>.field{flex:1}.lg-expr__input{font-family:var(--font-mono)}.lg-expr__input--error{border-color:var(--danger)!important}.lg-chips{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.lg-chip{border:1px solid var(--border-strong);background:var(--surface-2);font-family:var(--font-mono);cursor:pointer;border-radius:4px;padding:0 6px;font-size:11.5px;line-height:20px}.lg-chip--var{border-color:var(--lg-var);color:var(--lg-var)}.lg-raw{font-family:var(--font-mono);font-size:12.5px}.lg-issues{margin:0 0 10px;padding:0;list-style:none}.lg-issue{border-radius:var(--radius);background:var(--surface-2);text-align:left;border:none;flex-direction:column;gap:2px;width:100%;margin-bottom:4px;padding:6px 8px;font-size:12.5px;display:flex}button.lg-issue{cursor:pointer}.lg-issue small{color:var(--fg-subtle)}.lg-issue--error{background:var(--danger-soft)}.lg-issue--warning{background:var(--warning-soft)}.lg-code__lines{font-family:var(--font-mono);margin:0;padding:0;font-size:12px;line-height:1.6;list-style:none;overflow-x:auto}.lg-code__line{cursor:pointer;white-space:pre;gap:8px;padding:0 4px;display:flex}.lg-code__line:hover{background:var(--surface-3)}.lg-code__line--selected{background:var(--accent-soft)}.lg-code__line--current{background:var(--warning-soft)}.lg-code__no{width:2.5em;color:var(--fg-subtle);text-align:right;-webkit-user-select:none;user-select:none;flex:none}.lg-vars__table{border-collapse:collapse;width:100%;font-size:12.5px}.lg-vars__table th,.lg-vars__table td{border-bottom:1px solid var(--border);text-align:left;padding:4px}.lg-vars__table input{width:100%}.lg-vars__add{gap:4px;margin-top:10px;display:flex}.lg-vars__add input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);flex:1;min-width:0;padding:4px 6px}@media (max-width:900px){.lg-body{grid-template-rows:1fr auto;grid-template-columns:1fr}.lg-side{max-height:45vh}}.ide[data-mode=rookie] .pro-only,.ide[data-mode=creator] .pro-only,.ide:not([data-mode=rookie]) .rookie-only{display:none!important}.mobile-nav{display:none}@media (max-width:900px){.ide{grid-template-rows:auto 1fr auto auto}.ide-main{grid-template-columns:1fr}.ide-main>.splitter{display:none}.ide-main>.sidebar,.ide-main>.editor-area,.ide-main>.output{grid-area:1/1}.ide[data-mobile-pane=sidebar] .editor-area,.ide[data-mobile-pane=sidebar] .output,.ide[data-mobile-pane=editor] .sidebar,.ide[data-mobile-pane=editor] .output,.ide[data-mobile-pane=output] .sidebar,.ide[data-mobile-pane=output] .editor-area{visibility:hidden;pointer-events:none}.menubar__menus .menu:nth-child(n+4),.menubar__brand span,.toggle__text{display:none}.mobile-nav{border-top:1px solid var(--border);background:var(--surface);display:flex}.mobile-nav button{color:var(--fg-muted);background:0 0;border:none;flex:1;padding:10px 4px}.mobile-nav button[aria-pressed=true]{color:var(--accent);box-shadow:inset 0 2px 0 var(--accent);font-weight:700}.statusbar .statusbar__item--optional{display:none}.vui-body{grid-template-rows:1fr auto;grid-template-columns:1fr}.vui-props{border-left:none;border-top:1px solid var(--border);max-height:40vh}.settings-grid{grid-template-columns:1fr}}
