@kauakdev/kauak 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +186 -2
- package/bin/kauak.js +12 -0
- package/bridge/config.js +34 -0
- package/bridge/context_remote.py +344 -0
- package/bridge/diffs_remote.py +85 -0
- package/bridge/server.js +2387 -0
- package/cli/commands/serve.js +97 -0
- package/cli/errors.js +2 -0
- package/cli/main.js +101 -0
- package/dist/THIRD_PARTY_LICENSES.txt +183 -0
- package/dist/assets/BufferResource-CHYsmqd5.js +195 -0
- package/dist/assets/CanvasRenderer-DY1TnK1M.js +1 -0
- package/dist/assets/Filter-IrwvDh3w.js +1 -0
- package/dist/assets/RenderTargetSystem-CBR4meCp.js +184 -0
- package/dist/assets/WebGLRenderer-DprtkQRW.js +156 -0
- package/dist/assets/WebGPURenderer-ByQ-10KB.js +42 -0
- package/dist/assets/browserAll-B-9xDvMq.js +14 -0
- package/dist/assets/contours-DG3HeJNa.svg +68 -0
- package/dist/assets/demo-DyZsh87s.css +1 -0
- package/dist/assets/demo-mFndvU9t.js +5 -0
- package/dist/assets/index-BxvDL43s.css +32 -0
- package/dist/assets/index-Do5XwO_P.js +349 -0
- package/dist/assets/webworkerAll-gM2Z784I.js +83 -0
- package/dist/index.html +160 -0
- package/dist/kauak.png +0 -0
- package/package.json +24 -4
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
:root{color-scheme:dark;--bg: #171a26;--card: #0f1118;--card-2: #161a26;--line: #2a2e3f;--line-2: #3a3f55;--text: #e8e9f0;--muted: #9aa0b4;--accent: #ffd166;--working: #5ad87a;--idle: #8fb4ff;--blocked: #ff6b6b;--done: #ffd166;--unknown: #7a7f93;--ctx-ok: #7fd1b9;--ctx-warn: #ffb347;--ctx-full: #ff6b6b;--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--panel-w: var(--panel-custom, min(920px, 62vw));--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Inter, sans-serif;--mono: ui-monospace, "JetBrains Mono", Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);overflow:hidden;font-family:var(--font);color:var(--text);font-size:13px}#app{position:fixed;top:0;right:0;bottom:0;left:0}#app canvas{display:block}button{font:inherit;color:inherit}.card{background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--line);border-radius:12px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 24px #0006}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--unknown);flex:none}.ctx{display:inline-block;position:relative;width:28px;height:5px;border-radius:3px;background:#ffffff14;box-shadow:inset 0 0 0 1px var(--line-2);overflow:hidden;flex:none}.ctx i{position:absolute;left:0;top:0;bottom:0;min-width:2px;border-radius:3px;background:var(--ctx-ok)}.ctx.warn i{background:var(--ctx-warn)}.ctx.full i{background:var(--ctx-full)}.st-working .dot{background:var(--working)}.st-idle .dot{background:var(--idle)}.st-blocked .dot{background:var(--blocked);box-shadow:0 0 0 0 var(--blocked);animation:ping 1.4s infinite}.st-done .dot{background:var(--done)}.st-unknown .dot{background:var(--unknown)}@keyframes ping{0%{box-shadow:0 0 #ff6b6b99}to{box-shadow:0 0 0 7px #ff6b6b00}}@keyframes pulse{50%{opacity:.3}}.btn{background:var(--card-2);border:1px solid var(--line-2);border-radius:8px;padding:5px 9px;font-size:12px;cursor:pointer;line-height:1}.btn:hover{background:#2e3350}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn kbd{font:inherit;opacity:.55;margin-left:5px}#roster header,#feed header,#floors header,#radio header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}.btn.primary{background:#3b4470;border-color:#55609a}.btn:disabled{opacity:.5;cursor:default}#floor-banner{position:fixed;left:50%;top:calc(66px + var(--sat));transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:7px 16px 7px 8px;border-radius:999px;background:#0f1118e6;border:1px solid var(--line-2);font-size:14px;font-weight:600;pointer-events:none;opacity:0;z-index:6;white-space:nowrap;box-shadow:0 8px 24px #0006}#floor-banner b{color:#1a1a1a;background:var(--accent);border-radius:999px;padding:2px 9px;font-size:12px}#floor-banner.show{animation:banner 1.6s ease forwards}@keyframes banner{0%{opacity:0;transform:translate(-50%,-6px)}15%,70%{opacity:1;transform:translate(-50%)}to{opacity:0}}@media(max-width:900px){:root{--panel-w: 100vw}.btn kbd{display:none}}#btn-build[aria-pressed=true]{background:#ffd16626;border-color:#ffd16688;color:var(--accent)}#build-form{position:fixed;width:300px;z-index:7;display:flex;flex-direction:column}#build-form[hidden],#build-form [hidden]{display:none!important}#build-form header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 8px;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}#build-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#build-form .x{background:none;border:0;color:var(--muted);cursor:pointer;padding:2px 4px;font-size:12px}#build-form .x:hover{color:var(--text)}#build-form .body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}#build-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}#build-form .opt{opacity:.6}#build-form input:not([type=radio]),#build-form select{font:inherit;font-size:12px;color:var(--text);background:var(--card-2);border:1px solid var(--line-2);border-radius:6px;padding:6px 8px;min-width:0}#build-form input:focus,#build-form select:focus{outline:2px solid var(--accent);outline-offset:-1px}#build-form .kinds{display:flex;gap:4px;padding:3px;border-radius:8px;background:var(--card-2);border:1px solid var(--line-2)}#build-form .kinds label{flex:1;flex-direction:row;justify-content:center;align-items:center;gap:0;padding:5px 6px;border-radius:6px;cursor:pointer;font-size:12px;color:var(--muted)}#build-form .kinds input{position:absolute;opacity:0;pointer-events:none}#build-form .kinds label:has(input:checked){background:#3b4470;color:var(--text)}#build-form .kinds label:has(input:focus-visible){outline:2px solid var(--accent)}#build-form .pair{display:flex;gap:6px}#build-form .pair label{flex:1;min-width:0}#build-form .note{margin:0;font-size:11px;color:var(--muted);line-height:1.4}#build-form .err{margin:0;font-size:11px;color:var(--blocked);line-height:1.4;overflow-wrap:anywhere}#build-form .row{display:flex;gap:6px}#build-hint{display:none;position:fixed;bottom:calc(14px + var(--sab));left:50%;transform:translate(-50%);padding:5px 12px;border-radius:999px;font-size:11px;color:#1a1a1a;background:var(--accent);z-index:3;white-space:nowrap;pointer-events:none}body.building #build-hint{display:block}body.building #hint,body.panel-open #build-hint{display:none}#toast{position:fixed;left:50%;top:calc(66px + var(--sat));transform:translate(-50%);max-width:min(520px,calc(100vw - 24px));padding:9px 14px;font-size:12px;line-height:1.45;border-left:3px solid var(--blocked);z-index:9;cursor:pointer}#toast[hidden]{display:none}#tip[data-status=build]{border-left-color:var(--accent)}@media(max-width:900px){#build-hint{display:none!important}}#floors{position:fixed;right:calc(12px + var(--sar));top:calc(60px + var(--sat));width:250px;max-height:calc(100vh - 360px);min-height:0;display:flex;flex-direction:column;z-index:4;transition:right .18s ease}body.panel-open #floors{right:calc(var(--panel-w) + 12px)}body.panel-open #floors:not(.adding){width:auto}body.panel-open #floors:not(.adding) header>span,body.panel-open #floors:not(.adding) .floor .txt{display:none}body.panel-open #floors:not(.adding) header{justify-content:center;padding:6px}body.panel-open #floors:not(.adding) .floor .go{grid-template-columns:auto auto;gap:6px;padding:5px 6px}#floors header .mini,#radio header .mini{background:var(--card-2);border:1px solid var(--line-2);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text);cursor:pointer}#floors header .mini:hover,#radio header .mini:hover{background:#2e3350}#floors header .mini:focus-visible,#radio header .mini:focus-visible{outline:2px solid var(--accent)}#floors.adding header .mini{background:#ffd16622;border-color:#ffd16666}#floor-list{overflow:auto;padding:6px;display:flex;flex-direction:column;gap:3px}.floor{position:relative}.floor .go{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;text-align:left;padding:6px 8px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer}.floor .go:hover{background:#ffffff0a}.floor .go:focus-visible{outline:2px solid var(--accent)}.floor.current .go{background:#ffd16614;border-color:#ffd16655}.floor .fn{font-weight:800;font-size:12px;min-width:32px;text-align:center;padding:5px 0;border-radius:6px;background:#ffffff10;color:var(--muted);font-variant-numeric:tabular-nums}.floor.current .fn{background:var(--accent);color:#1a1a1a}.floor .txt{min-width:0;display:flex;flex-direction:column;gap:1px}.floor .name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floor .sub{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floor.conn-down .sub{color:var(--blocked)}.floor .badges{display:flex;align-items:center;gap:4px}.badge{font-size:10px;font-weight:700;min-width:17px;padding:1px 5px;border-radius:999px;text-align:center;color:#1a1a1a}.badge.st-blocked{background:var(--blocked)}.badge.st-done{background:var(--done)}.conn-dot{width:7px;height:7px;border-radius:50%;background:#666;flex:none}.conn-live .conn-dot{background:var(--working)}.conn-connecting .conn-dot{background:var(--done);animation:pulse 1s infinite}.conn-down .conn-dot{background:var(--blocked)}.floor .rm{position:absolute;right:-5px;top:-5px;width:18px;height:18px;padding:0;border-radius:50%;border:1px solid var(--line-2);background:var(--card-2);font-size:12px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s}.floor:hover .rm,.floor .rm:focus-visible{opacity:1}.floor .rm:hover{background:var(--blocked);color:#1a1a1a}@media(hover:none){.floor .rm{opacity:.8}}#floor-add{padding:10px 12px 12px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}#floor-add[hidden]{display:none}#floor-add label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}#floor-add .opt{opacity:.6}#floor-add input{font:inherit;font-size:12px;color:var(--text);background:var(--card-2);border:1px solid var(--line-2);border-radius:6px;padding:6px 8px}#floor-add input:focus{outline:2px solid var(--accent);outline-offset:-1px}#floor-add .note{margin:0;font-size:11px;color:var(--muted);line-height:1.4}#floor-add .err{margin:0;font-size:11px;color:var(--blocked);line-height:1.4}#floor-add .row{display:flex;gap:6px}@media(max-width:900px){body.panel-open #floors{display:none}#floors{width:auto;top:calc(56px + var(--sat));max-height:45vh}#floors header>span,#floors .floor .txt{display:none}#floors header{justify-content:center;padding:6px}#floors .floor .go{grid-template-columns:auto auto;gap:6px;padding:5px 6px}#floors.adding{width:min(300px,calc(100vw - 24px))}}#topbar{position:fixed;top:0;left:0;right:0;height:calc(52px + var(--sat));padding:var(--sat) calc(14px + var(--sar)) 0 calc(14px + var(--sal));display:flex;align-items:center;gap:14px;pointer-events:none;z-index:5;background:linear-gradient(to bottom,#171a26f0,#171a26b0 60%,#171a2600)}#topbar>*{pointer-events:auto}#brand{display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:.3px;font-size:14px}#brand img{width:38px;height:38px;object-fit:contain;background:#eef6ff;border-radius:8px}#conn{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:999px;border:1px solid var(--line-2);background:var(--card-2);font-size:11px;color:var(--muted)}#conn .dot{background:#666}#conn.ok .dot{background:var(--working)}#conn.bad .dot{background:var(--blocked);animation:pulse 1s infinite}#stats{display:flex;gap:6px;margin-left:auto;margin-right:auto;flex-wrap:wrap;justify-content:center}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--card-2);border:1px solid var(--line);font-size:12px;color:var(--muted);white-space:nowrap}.chip b{color:var(--text);font-weight:600}.chip.zero{opacity:.5}.chip.st-blocked:not(.zero){color:var(--blocked);border-color:#ff6b6b66;background:#ff6b6b14}.chip.st-working:not(.zero){color:var(--working)}#tools{display:flex;align-items:center;gap:6px}#clock{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px;margin-right:6px}#roster{position:fixed;left:calc(12px + var(--sal));top:calc(60px + var(--sat));bottom:calc(60px + var(--sab));width:280px;display:flex;flex-direction:column;z-index:4;transition:transform .2s ease,opacity .2s ease}body.roster-hidden #roster{transform:translate(-20px);opacity:0;pointer-events:none}#roster-body{overflow:auto;padding:6px;flex:1}#roster section+section{margin-top:8px}#roster h3{margin:6px 6px 4px;font-size:11px;font-weight:700;color:var(--accent);letter-spacing:.8px;text-transform:uppercase}#roster .room{display:flex;align-items:center;gap:6px;padding:4px 6px 2px;font-size:11px;color:var(--muted)}#roster .room em{color:var(--accent);font-style:normal;font-size:9px}#roster .pane{display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 8px;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer}#roster .pane:hover{background:#ffffff0a}#roster .pane:focus-visible{outline:2px solid var(--accent)}#roster .pane.selected{background:#ffd16614;border-color:#ffd16655}#roster .kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 5px;border-radius:4px;background:#ffffff14;color:var(--text)}#roster .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}#roster .age{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}#roster .floor-h{display:flex;align-items:center;gap:8px;margin:10px 4px 2px;padding:8px 4px 2px;border-top:1px solid var(--line);font-size:12px;font-weight:700}#roster .floor-h:first-child{border-top:0;margin-top:0;padding-top:4px}#roster .floor-h .fn{font-size:10px;padding:2px 6px;border-radius:5px;background:#ffffff14;color:var(--muted)}#roster .floor-h.current .fn{background:var(--accent);color:#1a1a1a}#roster .floor-h .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#roster .floor-h .state{margin-left:auto;font-size:10px;font-weight:400;color:var(--blocked);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}#roster .floor-h.conn-connecting .state{color:var(--muted)}#roster .floor-body.conn-down{opacity:.45}#feed{position:fixed;right:calc(12px + var(--sar));bottom:calc(12px + var(--sab));width:340px;max-height:260px;display:flex;flex-direction:column;z-index:4;transition:right .18s ease,transform .2s ease,opacity .2s ease}body.panel-open #feed{right:calc(var(--panel-w) + 12px)}body.feed-hidden #feed{transform:translateY(20px);opacity:0;pointer-events:none}#feed header .x{background:none;border:0;color:var(--muted);cursor:pointer;padding:0 2px;margin-left:8px;font-size:11px;line-height:1}#feed header .x:hover{color:var(--text)}#feed header .x:focus-visible{outline:2px solid var(--accent)}#feed-body{overflow:auto;padding:4px 6px 6px}#feed .ev{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;width:100%;text-align:left;padding:6px;border:0;border-radius:6px;background:transparent;cursor:pointer;font-size:12px;animation:slide .25s ease}#feed .ev:hover{background:#ffffff0a}#feed .ev span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#feed .ev .fl{font-size:10px;color:var(--muted);background:#ffffff10;border-radius:4px;padding:1px 4px;margin-right:6px}#feed .ev time{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}#feed .quiet{padding:10px 8px;color:var(--muted);font-size:12px}@keyframes slide{0%{opacity:0;transform:translateY(-4px)}}#legend{position:fixed;bottom:calc(14px + var(--sab));left:calc(14px + var(--sal));display:flex;gap:12px;font-size:11px;color:var(--muted);pointer-events:none;z-index:3}#legend span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px;background:var(--c)}#hint{position:fixed;bottom:calc(14px + var(--sab));left:50%;transform:translate(-50%);font-size:11px;color:var(--muted);opacity:.8;pointer-events:none;z-index:3;white-space:nowrap}#hint kbd{font:inherit;padding:0 4px;border:1px solid var(--line-2);border-radius:4px;background:var(--card-2)}body.panel-open #hint{display:none}#empty{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);padding:22px 26px;text-align:center;max-width:380px;z-index:6}#empty h2{margin:0 0 6px;font-size:16px}#empty p{margin:0;color:var(--muted);font-size:12px}#empty[hidden]{display:none}@media(max-width:900px){#topbar{gap:8px}#brand{white-space:nowrap}#brand span{display:none}#conn{white-space:nowrap}#conn-text{max-width:90px;overflow:hidden;text-overflow:ellipsis}#stats,#clock,#hint{display:none}#tools{margin-left:auto}#roster{width:min(280px,80vw);bottom:calc(80px + var(--sab))}#feed{width:min(340px,calc(100vw - 24px));max-height:160px;bottom:calc(40px + var(--sab))}#btn-feed{display:none}body.feed-hidden #feed{transform:none;opacity:1;pointer-events:auto;width:auto;cursor:pointer}body.feed-hidden #feed-body,body.feed-hidden #feed header>span:last-child{display:none}body.feed-hidden #feed header{border-bottom:0;padding:7px 12px}body.panel-open #feed,body.panel-open #roster{display:none}}#panel{position:fixed;top:0;right:0;bottom:0;width:var(--panel-w);background:var(--card);border-left:1px solid var(--line-2);transform:translate(100%);transition:transform .18s ease;display:flex;flex-direction:column;box-shadow:-12px 0 30px #0008;z-index:8}#panel.open{transform:none}#panel-resize{position:absolute;top:0;bottom:0;left:-4px;width:8px;cursor:ew-resize;touch-action:none;z-index:1}#panel-resize:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:2px;transition:background .15s ease}#panel-resize:hover:after,body.resizing-panel #panel-resize:after{background:var(--accent)}#panel:not(.open) #panel-resize{display:none}body.resizing-panel,body.resizing-panel *{cursor:ew-resize!important;-webkit-user-select:none;user-select:none}#panel header{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}#panel header .status{width:10px;height:10px;border-radius:50%;background:var(--unknown);flex:none}#panel[data-status=working] .status{background:var(--working)}#panel[data-status=idle] .status{background:var(--idle)}#panel[data-status=blocked] .status{background:var(--blocked);animation:pulse 1s infinite}#panel[data-status=done] .status{background:var(--done)}#panel header .text{flex:1;min-width:0}#panel-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#panel-meta{font-size:11px;opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--mono)}#panel-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 7px;border-radius:5px;background:#ffffff14}#panel-kind[data-kind=claude]{background:#d97757;color:#1a1a1a}#panel-kind[data-kind=codex]{background:#2ec4b6;color:#1a1a1a}#panel-kind[data-kind=gemini]{background:#6f7bf7}#panel-kind[data-kind=copilot]{background:#9b7bff}#panel-kind[data-kind=cursor]{background:#e0e0e0;color:#1a1a1a}#panel-kind[data-kind=opencode]{background:#f4a261;color:#1a1a1a}#panel-status{font-size:11px;color:var(--muted);text-transform:capitalize}#panel-ctx{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}#panel-ctx .ctx{width:44px}#panel-ctx[hidden]{display:none}#panel header button{background:#232739;color:var(--text);border:1px solid var(--line-2);border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer}#panel header button:hover{background:#2e3350}#panel header button.primary{background:#3b4470;border-color:#55609a}#panel-term{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;padding:8px}#panel-term .xterm{opacity:.97;overflow:hidden}#panel-input{position:relative;display:flex;flex-direction:column;gap:6px;padding:8px 10px calc(8px + var(--sab));border-top:1px solid var(--line)}#panel-input .compose{display:flex;align-items:flex-end;gap:6px;padding:4px 4px 4px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--card-2)}#panel-input .compose:focus-within{border-color:#55609a;box-shadow:0 0 0 1px #55609a}#panel-text{flex:1;min-width:0;max-height:10em;overflow-y:auto;resize:none;border:0;outline:0;padding:5px 0;background:transparent;color:var(--text);font:13px / 1.45 var(--mono)}#panel-text::placeholder{color:var(--muted);opacity:.7}#panel-input button{background:#232739;color:var(--text);border:1px solid var(--line-2);border-radius:6px;cursor:pointer}#panel-input button:hover{background:#2e3350}#panel-input button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}#panel-send{flex:none;padding:5px 12px;font-size:12px;white-space:nowrap}#panel-take{flex:none;align-self:center;padding:3px 7px;font:600 11px var(--mono);color:var(--muted)!important}#panel-slash{position:absolute;left:10px;right:10px;bottom:calc(100% + 4px);margin:0;padding:4px;list-style:none;z-index:2;display:grid;grid-template-columns:fit-content(45%) minmax(0,1fr) auto;column-gap:14px;align-content:start;max-height:min(290px,45vh);overflow-y:auto;overscroll-behavior:contain;background:var(--card-2);border:1px solid var(--line-2);border-radius:8px;box-shadow:0 -8px 24px #0009}#panel-slash[hidden]{display:none}#panel-live{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);z-index:1;padding:5px 12px;font-size:12px;white-space:nowrap;border-radius:999px!important;box-shadow:0 4px 14px #0009}#panel-live[hidden]{display:none}#panel-slash li{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:baseline;padding:4px 8px;border-radius:5px;cursor:pointer}#panel-slash li[aria-selected=true]{background:#2e3350}#panel-slash li>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#panel-slash .n{font:600 12px var(--mono)}#panel-slash li[aria-selected=true] .n{color:var(--accent)}#panel-slash .a{font-weight:400;color:var(--muted)}#panel-slash .d{grid-column:2;font-size:12px;color:var(--muted)}#panel-slash .s{grid-column:3;font-size:10px;font-weight:600;color:var(--muted);padding:0 6px;border:1px solid var(--line-2);border-radius:4px;max-width:16ch;justify-self:end}#panel-send.primary{background:#3b4470;border-color:#55609a}#panel-send.primary:hover{background:#46518a}#panel-input .keys{display:flex;align-items:center;gap:10px}#panel-input .keys [role=toolbar]{display:flex;gap:4px;flex:none}#panel-input .keys button{font:600 11px var(--mono);min-width:30px;padding:4px 7px}#panel-hint{flex:1;min-width:0;font-size:11px;line-height:1.35;color:var(--muted);opacity:.75;text-align:right;overflow-wrap:anywhere;transition:color .15s ease}#panel-hint.warn{opacity:1;color:var(--blocked)}@media(max-width:900px){#panel-resize{display:none}#panel-text{font-size:16px}#panel-slash{grid-template-columns:fit-content(55%) minmax(0,1fr) auto}#panel-slash .s{display:none}#panel-hint:not(.warn){display:none}#panel-ctx .pct{display:none}#panel-ctx .ctx{width:28px}}/**
|
|
2
|
+
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
|
|
3
|
+
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
|
4
|
+
* https://github.com/chjj/term.js
|
|
5
|
+
* @license MIT
|
|
6
|
+
*
|
|
7
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
* in the Software without restriction, including without limitation the rights
|
|
10
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
* furnished to do so, subject to the following conditions:
|
|
13
|
+
*
|
|
14
|
+
* The above copyright notice and this permission notice shall be included in
|
|
15
|
+
* all copies or substantial portions of the Software.
|
|
16
|
+
*
|
|
17
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
23
|
+
* THE SOFTWARE.
|
|
24
|
+
*
|
|
25
|
+
* Originally forked from (with the author's permission):
|
|
26
|
+
* Fabrice Bellard's javascript vt100 for jslinux:
|
|
27
|
+
* http://bellard.org/jslinux/
|
|
28
|
+
* Copyright (c) 2011 Fabrice Bellard
|
|
29
|
+
* The original design remains. The terminal itself
|
|
30
|
+
* has been extended to include xterm CSI codes, among
|
|
31
|
+
* other features.
|
|
32
|
+
*/.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}#printout{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20}#printout[hidden]{display:none}#printout.closing{pointer-events:none}body.printout-open #tip{display:none!important}.po-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 45%,#0b0d1488,#0b0d14e6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.po-sheet{--paper: #fbf9f3;--ink: #23252e;--faint: #9a9483;--hole: 26px;--page-max: calc(100vh - 110px - var(--sat) - var(--sab));position:fixed;left:0;top:0;width:min(720px,calc(100vw - 32px));max-height:var(--page-max);min-height:min(620px,var(--page-max));display:flex;flex-direction:column;padding:0 calc(var(--hole) + 14px);color:var(--ink);font-family:var(--mono);transform-origin:50% 50%;will-change:transform;border-radius:2px;outline:none;background:radial-gradient(circle at 50% 50%,#c6c0b0 0,#c6c0b0 4px,#0000 4.6px) left top / var(--hole) 22px repeat-y,radial-gradient(circle at 50% 50%,#c6c0b0 0,#c6c0b0 4px,#0000 4.6px) right top / var(--hole) 22px repeat-y,linear-gradient(175deg,var(--paper),#f3efe4);box-shadow:0 30px 80px #000a,0 2px 6px #0006}.po-sheet.long{height:var(--page-max)}.po-sheet:before,.po-sheet:after{content:"";position:absolute;top:0;bottom:0;border-left:1px dashed #d8d2c3}.po-sheet:before{left:var(--hole)}.po-sheet:after{right:var(--hole)}.po-head{padding:18px 0 12px;border-bottom:1px dashed #cfc9b9}.po-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--faint)}.po-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-path{margin:10px 0 6px;font-size:18px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.po-path .dir{font-weight:400;color:var(--faint)}.po-sub{display:flex;align-items:baseline;gap:10px;font-size:12px}.po-sub .chg{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:2px 6px;border:1px solid currentColor;border-radius:3px}.po-sub .add{color:#2b7a3d;font-weight:700}.po-sub .del{color:#a33a2c;font-weight:700}.po-sub .none{color:var(--faint);font-weight:400}.po-sub .ago{margin-left:auto;color:var(--faint)}.po-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:10px 0;font-size:12px;line-height:1.55}.po-body .r{display:grid;grid-template-columns:4.5ch 4.5ch 2ch minmax(0,1fr)}.po-body .r>span{color:#b3ad9d;text-align:right;padding-right:6px;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.po-body .r>span:nth-child(3){text-align:center;padding:0}.po-body .r code{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:0 0 .5px currentColor}.po-body .r.add{background:#e2f3df}.po-body .r.add code,.po-body .r.add>span:nth-child(3){color:#1f6430}.po-body .r.del{background:#f8e0dc}.po-body .r.del code,.po-body .r.del>span:nth-child(3){color:#8f2c22}.po-body .r.hunk{margin:8px 0 2px;color:var(--faint);background:#efebe0}.po-body .r.hunk:first-child{margin-top:0}.po-body .r.hunk code{color:var(--faint);text-shadow:none}.po-empty{padding:28px 0;text-align:center;color:var(--faint);font-family:var(--font);font-size:13px;line-height:1.5}.po-printing .dots:after{content:"";display:inline-block;width:3ch;text-align:left;animation:po-dots 1.2s steps(4) infinite}@keyframes po-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.po-note{padding:10px 0;color:var(--faint);font-family:var(--font);font-size:12px;font-style:italic}.po-sub .files{font-weight:700}.po-index{margin:0 0 6px;padding:0 0 10px;list-style:none;border-bottom:1px dashed #cfc9b9}.po-index a{display:grid;grid-template-columns:2.4ch minmax(0,1fr) auto auto;align-items:baseline;gap:8px;padding:2px 4px;border-radius:2px;color:inherit;text-decoration:none}.po-index a:hover,.po-index a:focus-visible{background:#efebe0;outline:none}.po-index .chg,.po-file-h .chg{font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:1px 4px;border:1px solid currentColor;border-radius:3px;text-align:center}.po-index .p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-index .add,.po-file-h .add{color:#2b7a3d}.po-index .del,.po-file-h .del{color:#a33a2c}.po-index .none,.po-file-h .none{color:var(--faint)}.po-file{padding-top:14px}.po-file+.po-file{margin-top:12px;border-top:1px dashed #cfc9b9}.po-file-h{display:flex;align-items:baseline;gap:8px;margin:0 0 6px;font-size:13px}.po-file-h .p{flex:1;min-width:0;overflow-wrap:anywhere}.po-file-h .p .dir{color:var(--faint);font-weight:400}.po-from{margin:-2px 0 6px;font-size:11px;color:var(--faint)}.chg-added{color:#2b7a3d}.chg-modified{color:#8a6a12}.chg-deleted{color:#a33a2c}.chg-renamed{color:#3d5a80}.po-more{padding:8px 0 0;text-align:center;color:var(--faint);font-size:11px}.po-foot{padding:10px 0 16px;border-top:1px dashed #cfc9b9;text-align:center;font-size:10px;letter-spacing:1.5px;color:var(--faint)}.po-nav{position:fixed;left:50%;bottom:calc(18px + var(--sab));transform:translate(-50%);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:6px;max-width:calc(100vw - 24px)}.po-tabs{display:flex;padding:2px;gap:2px;border-radius:8px;background:var(--card-2);border:1px solid var(--line-2)}.po-tabs button{background:transparent;border:0;border-radius:6px;padding:4px 10px;font-size:12px;color:var(--muted);cursor:pointer;white-space:nowrap}.po-tabs button:hover{color:var(--text)}.po-tabs button:focus-visible{outline:2px solid var(--accent)}.po-tabs button.on{background:#3b4470;color:var(--text)}.po-tabs .n{font-size:10px;font-weight:700;opacity:.75;font-variant-numeric:tabular-nums}.po-count{min-width:64px;text-align:center;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}#btn-radio{display:inline-flex;align-items:center;gap:6px}#btn-radio .eq{display:inline-flex;align-items:flex-end;gap:1.5px;height:10px}#btn-radio .eq i{width:2px;height:3px;border-radius:1px;background:var(--muted)}#btn-radio .eq i:nth-child(1){height:5px}#btn-radio .eq i:nth-child(2){height:9px}#btn-radio .eq i:nth-child(3){height:6px}#btn-radio.on .eq i{background:var(--accent)}#btn-radio.playing .eq i{animation:eq .8s ease-in-out infinite alternate}#btn-radio.playing .eq i:nth-child(2){animation-delay:-.5s}#btn-radio.playing .eq i:nth-child(3){animation-delay:-.25s}@keyframes eq{0%{height:3px}to{height:10px}}#radio{position:fixed;top:calc(56px + var(--sat));right:calc(12px + var(--sar));width:300px;z-index:7;transition:right .18s ease}#radio[hidden]{display:none}body.panel-open #radio{right:calc(var(--panel-w) + 12px)}#radio header .mini{display:inline-flex;align-items:center;gap:6px}#radio .led{width:7px;height:7px;border-radius:50%;background:#555a70}#radio-power[aria-pressed=true] .led{background:var(--blocked);box-shadow:0 0 6px var(--blocked)}#radio-dial{--lit: #ffd166;position:relative;height:58px;margin:12px 12px 0;border-radius:8px;overflow:hidden;cursor:ew-resize;touch-action:none;background:linear-gradient(#2e2615,#1c180f);border:1px solid #4d3f22;box-shadow:inset 0 2px 10px #000a;transition:background .3s,border-color .3s}#radio[data-state=off] #radio-dial{--lit: #6b6f80;background:linear-gradient(#1b1d25,#14151b);border-color:var(--line-2)}#radio-scale{position:absolute;top:0;right:16px;bottom:0;left:16px}#radio-scale .tick{position:absolute;bottom:8px;width:1px;height:5px;background:var(--lit);opacity:.4}#radio-scale .tick.major{height:10px;opacity:.7}#radio-scale .num{position:absolute;top:7px;transform:translate(-50%);font:600 10px var(--mono);color:var(--lit);opacity:.75}#radio-scale .st{position:absolute;bottom:22px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--lit)}#radio:not([data-state=off]) #radio-scale .st{box-shadow:0 0 6px var(--lit)}#radio-needle{position:absolute;top:4px;bottom:4px;width:2px;margin-left:-1px;border-radius:1px;background:var(--blocked);box-shadow:0 0 6px #ff6b6bcc;z-index:1}#radio .readout{display:flex;align-items:center;gap:10px;padding:10px 14px 0}#radio .freq{font:600 11px var(--mono);color:var(--muted)}#radio .freq b{font-size:22px;color:var(--text);font-variant-numeric:tabular-nums}#radio .lamp{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:2px 6px;border-radius:4px;border:1px solid var(--line-2);color:var(--unknown);transition:color .2s,border-color .2s,box-shadow .2s}#radio[data-state=locked] .lamp{color:var(--working);border-color:#5ad87a66;box-shadow:0 0 8px #5ad87a33}#radio .bars{display:flex;align-items:flex-end;gap:2px;height:14px}#radio .bars i{width:3px;border-radius:1px;background:#ffffff1a}#radio .bars i:nth-child(1){height:25%}#radio .bars i:nth-child(2){height:50%}#radio .bars i:nth-child(3){height:75%}#radio .bars i:nth-child(4){height:100%}#radio .bars i.lit{background:var(--working)}#radio .station{display:flex;flex-direction:column;gap:1px;padding:2px 14px 0;min-width:0}#radio-name,#radio-info{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#radio-name{font-size:13px}#radio-info{font-size:11px;color:var(--muted);min-height:1.3em}#radio .controls{display:flex;align-items:center;gap:8px;padding:12px 14px 14px}#radio-knob{position:relative;width:44px;height:44px;flex:none;border-radius:50%;cursor:grab;touch-action:none;background:radial-gradient(circle at 35% 30%,#4a5070,#1f2233 70%);border:1px solid var(--line-2);box-shadow:0 3px 8px #0008,inset 0 1px #fff2}#radio-knob:active{cursor:grabbing}#radio-knob:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#radio-knob i{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;transform:rotate(var(--turn, 0deg));background:repeating-conic-gradient(#ffffff12 0 5deg,transparent 5deg 10deg);-webkit-mask:radial-gradient(circle,transparent 58%,#000 60%);mask:radial-gradient(circle,transparent 58%,#000 60%)}#radio-knob:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;transform:rotate(var(--turn, 0deg));background:linear-gradient(var(--accent),var(--accent)) 50% 3px / 3px 11px no-repeat}#radio .vol{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}#radio .vol input{width:90px;accent-color:var(--accent)}#radio-credit{padding:8px 14px 10px;border-top:1px solid var(--line);font-size:11px;line-height:1.4;color:var(--muted)}#radio-credit p{margin:0}#radio-credit a{color:var(--text);text-decoration-color:var(--line-2);text-underline-offset:2px}#radio-credit a:hover{text-decoration-color:currentColor}#radio-credit a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media(prefers-reduced-motion:reduce){#btn-radio.playing .eq i{animation:none}}@media(max-width:900px){body.panel-open #radio{display:none}#radio{width:min(300px,calc(100vw - 24px))}#btn-radio .lbl{display:none}#btn-radio{padding:5px 10px;height:24px}}#office-background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-color:#081524;background-position:center;background-size:cover}#office-background[data-background=original]{background-color:var(--bg)}#app canvas{position:relative}#appearance .background-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;border:0}#appearance .background-choice{position:relative;display:block;cursor:pointer;border:1px solid #45536f;border-radius:10px;overflow:hidden;background:#192437}#appearance .background-choice:has(input:checked){border-color:#82d8ed;box-shadow:0 0 0 1px #82d8ed}#appearance .background-choice:has(input:focus-visible){outline:2px solid #82d8ed;outline-offset:4px}#appearance .background-choice input{position:absolute;top:11px;right:11px;accent-color:#82d8ed;width:18px;height:18px;margin:0}#appearance .background-swatch{display:block;height:96px;background-color:#171a26;background-position:center;background-size:cover}#appearance .background-swatch[data-background-swatch=original]{background-color:var(--bg)}#appearance .background-caption{display:block;padding:12px}#appearance .background-caption strong{display:block;margin-bottom:4px;font-weight:600}#appearance .background-caption small{display:block}#appearance .background-preview-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}#appearance .background-preview-actions small{max-width:340px}@media(max-width:420px){#appearance .background-swatch{height:76px}#appearance .background-caption{padding:10px}}#appearance{color:var(--text);background:#141c2c;border:1px solid #45536f;border-radius:16px;padding:0;width:min(660px,calc(100vw - 32px));max-height:calc(100dvh - 32px - var(--sat) - var(--sab));overflow:auto;box-shadow:0 24px 100px #000a}#appearance::backdrop{background:#080e1fcc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#appearance header{display:flex;align-items:start;gap:20px;justify-content:space-between;padding:24px 26px 18px;border-bottom:1px solid #35415a}#appearance h2{margin:0 0 6px;font-size:24px;letter-spacing:-.5px;font-weight:650}#appearance h3{margin:0 0 6px;font-size:16px;font-weight:650}#appearance p{margin:0 0 16px;color:#b6c2d9;line-height:1.5}#appearance .appearance-body{padding:0 26px}#appearance section{padding:22px 0;border-bottom:1px solid #35415a}#appearance .appearance-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}#appearance label{display:flex;flex-direction:column;gap:8px;line-height:1.4}#appearance select{width:100%;background:#243149;color:#eef4ff;border:1px solid #526384;border-radius:7px;padding:10px;font:inherit;min-height:40px}#appearance small{color:#a6b5ce;line-height:1.45}#appearance input[type=file]{width:100%;font:inherit;color:#a6b5ce;overflow:hidden}#appearance input::file-selector-button{background:#243149;border:1px solid #526384;color:#eef4ff;border-radius:7px;padding:10px;cursor:pointer;margin-right:10px;font:inherit}#appearance input[type=checkbox]{accent-color:#82d8ed;width:18px;height:18px;margin:0}#appearance .banner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}#appearance .banner-actions label{flex-direction:row;align-items:center;margin-right:auto}#appearance #banner-preview{height:104px;background:#eef3f7;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;padding:12px;color:#53667c}#appearance #banner-preview img{max-width:100%;max-height:100%;object-fit:contain}#appearance #banner-preview.dark{background:#172638}#appearance .banner-background{margin-top:18px}#appearance .banner-background select{max-width:180px}#appearance [hidden]{display:none!important}#appearance button{min-height:36px}#appearance button:disabled,#appearance select:disabled,#appearance input:disabled{opacity:.45;cursor:default}#appearance :focus-visible{outline:2px solid #82d8ed;outline-offset:3px}#appearance #appearance-message{margin:20px 0;color:#a8ddc0;min-height:20px}#appearance #appearance-message.error,#appearance .appearance-warning{color:#ffd2a6}#appearance .appearance-warning{margin-top:12px;margin-bottom:0}#appearance footer{padding:16px 26px;display:flex;align-items:center;gap:18px;justify-content:space-between;background:#1c2840}#appearance footer span{color:#afbed5;font-size:12px;line-height:1.4;max-width:360px}#appearance #appearance-packages{padding:0;margin:16px 0 0;list-style:none}#appearance #appearance-packages li{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:10px}#appearance .appearance-example{display:flex;flex-direction:column;gap:8px;line-height:1.4}#appearance .appearance-example button{align-self:start}#appearance h4{margin:20px 0 6px;font-size:14px;font-weight:650}#appearance #installed p{margin-bottom:0;font-size:13px;overflow-wrap:anywhere}#appearance #installed-packages{padding:0;margin:0;list-style:none}#appearance #installed-packages li{display:flex;flex-direction:column;gap:2px;margin-top:10px}#appearance #installed-packages small{overflow-wrap:anywhere}@media(max-width:600px){#appearance .appearance-pair{grid-template-columns:1fr;gap:16px}#appearance header{padding:20px}#appearance .appearance-body{padding:0 20px}#appearance h2{font-size:22px}#appearance footer{padding:16px 20px}#btn-appearance{font-size:0;width:32px}#btn-appearance:after{content:"⚙";font-size:16px}#topbar{gap:6px}#tools{gap:4px}}@media(max-width:600px){#conn{padding:7px}#conn-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@media(max-width:380px){#btn-zoom-out,#btn-zoom-in{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}#tip{position:fixed;pointer-events:none;background:#0f1118f2;border:1px solid var(--line-2);border-left:3px solid var(--unknown);border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.45;max-width:340px;display:none;white-space:pre-wrap;z-index:9;box-shadow:0 8px 24px #0008}#tip b{color:var(--accent)}#tip .muted{opacity:.65;font-family:var(--mono);font-size:11px}#tip[data-status=working]{border-left-color:var(--working)}#tip[data-status=idle]{border-left-color:var(--idle)}#tip[data-status=blocked]{border-left-color:var(--blocked)}#tip[data-status=done]{border-left-color:var(--done)}#tip[data-status=print]{border-left-color:var(--accent)}#tip .add{color:var(--working)}#tip .del{color:var(--blocked)}
|