:root{--primary:#2563eb;--primary-ink:#fff;--bg:#f3f4f6;--panel:#fff;--panel-2:#f9fafb;--ink:#111827;--ink-2:#4b5563;--ink-3:#6b7280;--line:#e5e7eb;--ok:#15803d;--warn:#b45309;--bad:#b91c1c;--info:#036796;--gap-ink:#92400e;--gap-bg:#fef3c7;--reading-size:18px;--ui-size:18px;--icon-size:22px;--left-col:340px;--radius:12px;--shadow:0 1px 2px #0000000f, 0 8px 24px #0000000f}@media (prefers-color-scheme:dark){:root{--primary:#2563eb;--bg:#0b1220;--panel:#131c2b;--panel-2:#0f1725;--ink:#f3f4f6;--ink-2:#b6bfcc;--ink-3:#8b95a5;--line:#26324a;--gap-ink:#fcd34d;--gap-bg:#3b2f0b;--ok:#4ade80;--warn:#fbbf24;--bad:#f87171;--info:#7dd3fc;--shadow:0 1px 2px #0006, 0 8px 24px #0006}}*{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior:none;height:100%;overflow:hidden}body{font-size:var(--ui-size);background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5}button,select,.tap{min-block-size:44px;min-inline-size:44px}input,select,textarea{color:var(--ink);background-color:var(--panel-2);border:1px solid var(--line);border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:16px}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);background-position:right 18px center,right 12px center;background-repeat:no-repeat;background-size:6px 6px,6px 6px;block-size:48px;min-block-size:48px;padding-inline-end:36px}input[type=range]{appearance:none;background:0 0;border:none;block-size:44px;min-block-size:44px;padding:0}input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:3px;block-size:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);border:2px solid var(--panel);border-radius:50%;block-size:28px;inline-size:28px;margin-block-start:-11px}input[type=range]::-moz-range-track{background:var(--line);border-radius:3px;block-size:6px}input[type=range]::-moz-range-thumb{background:var(--primary);border:2px solid var(--panel);border-radius:50%;block-size:28px;inline-size:28px}input::placeholder,textarea::placeholder{color:var(--ink-3);opacity:1}textarea{resize:vertical;min-height:120px;line-height:1.5}.icon-btn{font-size:var(--icon-size);line-height:1}button{font:inherit;cursor:pointer;background:var(--panel-2);color:var(--ink);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}button:disabled{cursor:not-allowed;background:var(--line);color:var(--ink-3);border-color:var(--line)}.btn-primary{background:var(--primary);color:var(--primary-ink);font-weight:650}.btn-danger{background:var(--bad);color:#fff;font-weight:650}.btn-quiet{border-color:var(--line);color:var(--ink-2);background:0 0}.btn-link{color:var(--primary);background:0 0;border:none;padding:10px 4px}.app-shell{background:var(--bg);grid-template-rows:auto auto auto minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr);height:100dvh;display:grid;position:fixed;inset:0;overflow:hidden}.app-shell>*{min-width:0;max-width:100%;min-height:0}.top-bar{min-width:0;padding:6px 10px;padding-top:calc(6px + env(safe-area-inset-top));background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex}.top-bar .brand{flex:0 auto;align-items:center;gap:6px;min-width:0;display:flex}.top-bar .brand img{height:calc(var(--ui-size) + 10px);width:auto}.top-bar .brand span{min-width:0;font-weight:700;font-size:var(--ui-size);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;overflow:hidden}.top-bar .spacer{flex:auto;min-width:0}.status-chip{background:var(--panel-2);border:1px solid var(--line);font-size:calc(var(--ui-size) - 1px);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex:0 auto;align-items:center;gap:6px;min-block-size:44px;min-inline-size:44px;padding:6px 10px;font-weight:600;display:inline-flex;overflow:hidden}.status-chip>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.dot{background:var(--ink-3);border-radius:50%;flex:0 0 10px;width:10px;height:10px}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}.dot.info{background:var(--info)}.dot.live{animation:2s infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.35}to{opacity:1}}@media (width<=480px){.top-bar .brand span{display:none}.status-chip{gap:4px;padding:6px 8px}}@media (width<=400px){.top-bar{padding-top:calc(4px + env(safe-area-inset-top));padding-bottom:4px}.context-bar{padding-block:4px}.dock{gap:6px;padding-top:6px}}.context-bar{background:var(--panel);border-bottom:1px solid var(--line);gap:8px;min-width:0;padding:6px 10px;display:flex}.context-bar button{min-width:0;border:1px solid var(--line);background:var(--panel-2);min-block-size:44px;font-size:var(--ui-size);flex:auto;justify-content:flex-start;gap:6px;padding:6px 10px;font-weight:600}.context-bar .chip-name{white-space:nowrap;flex:none}.context-bar .chip-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-2);flex:0 auto;font-weight:500;overflow:hidden}.context-bar .chip-sep{color:var(--ink-3);flex:none}.context-bar .caret{color:var(--ink-3);flex:none;margin-left:auto;font-size:.7rem}.context-bar .chip-value,.context-bar .chip-sep,.context-bar .chip-name-full,.context-bar .chip-lang .chip-name{display:none}.context-bar .chip-lang .chip-value{flex:none;display:inline}@media (width>=700px){.context-bar .chip{flex:1 1 0}.context-bar .chip-value,.context-bar .chip-sep,.context-bar .chip-name-full,.context-bar .chip-lang .chip-name{display:inline}.context-bar .chip-name-short{display:none}}.chip-select{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);min-block-size:44px;font-size:var(--ui-size);flex:auto;justify-content:flex-start;align-items:center;gap:6px;padding:6px 10px;font-weight:600;display:flex;position:relative;overflow:hidden}.chip-select-hit{position:absolute;inset:0;overflow:hidden}.chip-select select{opacity:0;appearance:none;box-sizing:border-box;width:100%;min-width:0;height:100%;min-height:0;font:inherit;cursor:pointer;border:0;margin:0;padding:0;position:absolute;inset:0}.chip-select:focus-within{outline:2px solid var(--primary);outline-offset:2px}.strip{background:var(--panel-2);border-bottom:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.strip-head{width:100%;min-width:0;text-align:left;background:0 0;border:none;border-radius:0;justify-content:flex-start;align-items:center;gap:8px;min-block-size:44px;padding:6px 10px;display:flex}.strip-head .caret{color:var(--ink-2);text-align:center;flex:none;width:18px;font-size:1.05rem;line-height:1}.strip-head .peek{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--ui-size);color:var(--ink-2);flex:auto;overflow:hidden}.strip-body{overscroll-behavior:contain;max-height:35dvh;font-size:calc(var(--reading-size) * .9);color:var(--ink-2);padding:0 12px 10px;overflow-y:auto}.strip-body p{margin-bottom:6px}.stream{overscroll-behavior:contain;min-height:0;font-size:var(--reading-size);padding:12px 14px 20px;position:relative;overflow-y:auto}.stream .translation{white-space:pre-wrap;word-break:break-word;margin-bottom:14px}.stream .translation[data-failed=true]{color:var(--ink-2);border-inline-start:2px solid var(--warn);padding-inline-start:10px;font-style:italic}.stream .placeholder{color:var(--ink-2);font-size:max(14px, calc(var(--reading-size) * .85));text-align:center;margin-top:24px}.gap-marker{background:var(--gap-bg);color:var(--gap-ink);font-size:max(12px, calc(var(--reading-size) * .72));text-align:center;border-radius:8px;margin:14px 0;padding:8px 10px;font-weight:600;display:block}.jump-latest{background:var(--primary);width:fit-content;color:var(--primary-ink);font-size:max(13px, calc(var(--ui-size) - 1px));box-shadow:var(--shadow);border-radius:999px;margin:0 auto;padding:8px 14px;display:block;position:sticky;bottom:4px}.dock{background:var(--panel);border-top:1px solid var(--line);padding:8px 10px;padding-bottom:max(10px, env(safe-area-inset-bottom));flex-direction:column;gap:8px;min-height:76px;display:flex}.dock-status{font-size:var(--ui-size);color:var(--ink-2);align-items:center;gap:8px;font-weight:600;line-height:1.3;display:flex}.dock button{min-width:0}.dock-row{align-items:stretch;gap:8px;min-width:0;display:flex}.dock-row .primary{min-width:0;min-block-size:52px;font-size:max(16px, calc(var(--ui-size) + 1px));flex:auto}.dock-row .aux{background:var(--panel-2);border:1px solid var(--line);min-block-size:56px;min-inline-size:56px;font-size:var(--icon-size);flex:0 0 56px;line-height:1}.scrim{z-index:40;background:#0006;border:none;border-radius:0;min-block-size:0;min-inline-size:0;position:fixed;inset:0}.sheet{z-index:50;background:var(--panel);box-shadow:var(--shadow);max-block-size:85dvh;padding-bottom:env(safe-area-inset-bottom);border-top-left-radius:16px;border-top-right-radius:16px;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-width:0;padding:10px 12px;display:flex}.sheet-head h2{font-size:calc(var(--ui-size) + 2px);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.sheet-body{overscroll-behavior:contain;flex-direction:column;gap:14px;padding:12px;display:flex;overflow-y:auto}.sheet-body>*{flex-shrink:0}.sheet-actions-top{z-index:2;background:var(--panel);border-bottom:1px solid var(--line);padding-block:8px;position:sticky;top:0}.field{flex-direction:column;gap:6px;display:flex}.field>label{font-size:max(13px, calc(var(--ui-size) - 1px));color:var(--ink-2);text-transform:uppercase;letter-spacing:.02em;font-weight:700}.hint{font-size:max(13px, calc(var(--ui-size) - 1px));color:var(--ink-2);text-transform:none;letter-spacing:0;font-weight:400;line-height:1.45}.field input[type=text],.field input[type=password]{min-block-size:48px}.group{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);flex-direction:column;gap:12px;padding:12px;display:flex}.group>h3{font-size:max(13px, calc(var(--ui-size) - 1px));text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3)}.row{flex-wrap:wrap;gap:8px;display:flex}.row>*{flex:140px;min-width:0}.switch-row{justify-content:space-between;align-items:center;gap:12px;min-block-size:44px;display:flex}.switch-row span{font-size:var(--ui-size)}.switch{background:var(--line);width:52px;height:44px;border:none;border-radius:999px;flex:0 0 52px;min-block-size:44px;min-inline-size:52px;padding:0;position:relative}.switch[data-on=true]{background:var(--primary)}.switch:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .15s;position:absolute;top:9px;left:3px}.switch[data-on=true]:after{transform:translate(20px)}.app-banner{grid-area:banner;margin:0 10px 8px}.banner{font-size:max(13px, var(--ui-size));border-radius:10px;align-items:center;gap:8px;padding:10px 12px;display:flex}.banner[data-kind=error]{color:var(--bad);background:#dc26261f}.banner[data-kind=info]{color:var(--info);background:#0284c71f}.banner p{flex:auto;min-width:0}.kv{font-size:var(--ui-size);grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;display:grid}.kv dt{color:var(--ink-3);text-overflow:ellipsis;overflow:hidden}.kv dd{text-align:right;font-variant-numeric:tabular-nums}.term-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.log-stream{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:max(12px, calc(var(--ui-size) - 2px));background:var(--panel-2);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;border-radius:8px;block-size:45dvh;min-block-size:220px;padding:8px;overflow:auto}.validation{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:max(12px, calc(var(--ui-size) - 2px));color:var(--bad);white-space:pre-wrap;word-break:break-word;background:#dc26261a;border-radius:8px;max-height:30dvh;padding:8px;overflow:auto}.preset-row{text-align:left;width:100%;background:var(--panel-2);border:1px solid var(--line);justify-content:flex-start;align-items:center;gap:10px;min-block-size:56px;display:flex}.preset-row[data-active=true]{border-color:var(--primary)}.preset-row .meta{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.preset-row .name{text-overflow:ellipsis;white-space:nowrap;font-weight:650;display:block;overflow:hidden}.preset-row .sub{font-size:max(12px, calc(var(--ui-size) - 2px));color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.login-wrap{justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;flex-direction:column;gap:14px;width:100%;max-width:460px;padding:28px 22px;display:flex}.login-card img{width:70%;max-width:220px;margin:0 auto}.login-card h1{font-size:1.1rem}.login-card p{color:var(--ink-2);font-size:.9rem}.health-line{font-size:max(13px, calc(var(--ui-size) - 1px));color:var(--ink-2);justify-content:center;align-items:center;gap:6px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=1025px){.app-shell{grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-template-columns:var(--left-col) minmax(0, 1fr);grid-template-areas:"top top""ctx ctx""left main""banner banner""dock dock"}.app-shell:not([data-sheet=none]){grid-template-columns:var(--left-col) minmax(0, 1fr) 380px;grid-template-areas:"top top top""ctx ctx ctx""left main right""banner banner banner""dock dock dock"}.strip{position:relative}.col-resizer{cursor:col-resize;z-index:5;width:11px;touch-action:none;background:0 0;border:none;border-radius:0;min-block-size:0;min-inline-size:0;padding:0;position:absolute;top:0;bottom:0;right:-5px}.col-resizer:after{content:"";background:var(--line);width:1px;transition:background .15s;position:absolute;top:0;bottom:0;left:5px}.col-resizer:hover:after,.col-resizer:focus-visible:after,.col-resizer[data-dragging=true]:after{background:var(--primary);width:3px;left:4px}.top-bar{grid-area:top}.context-bar{grid-area:ctx;justify-content:flex-start}.context-bar button{flex:0 300px}.strip{border-right:1px solid var(--line);border-bottom:none;grid-area:left}.strip-body{flex:auto;max-height:none}.stream{grid-area:main}.dock{flex-direction:row;grid-area:dock;align-items:center;gap:16px}.dock-status{flex:auto}.dock-row{flex:none}.dock-row .primary{min-inline-size:200px}.scrim{display:none}.col-resizer{display:block}.sheet{border-left:1px solid var(--line);max-block-size:none;box-shadow:none;border-radius:0;grid-area:right;position:static}}@media (width<=1024px){.col-resizer{display:none}}
