:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f8f7f2;color:#141414;line-height:1.2}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body,#app{width:100%;height:100%;margin:0}body{overflow:hidden;background:#f8f7f2}button,input,textarea{font:inherit}button{border:0;color:inherit}svg{width:24px;height:24px;fill:currentColor;display:block}.install,.nick-screen,.pair-screen{width:100%;min-height:100svh;display:grid;place-items:center;padding:24px;background:#f8f7f2}.install{align-content:center;gap:20px;text-align:center}.install-mark{width:88px;height:88px;display:grid;place-items:center;color:#141414;border:2px solid #141414;border-radius:28px}.install-mark svg{width:42px;height:42px}.install-button{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#141414;color:#f8f7f2;cursor:pointer}.nick-form{display:grid;grid-template-columns:44px minmax(0,220px) 44px;gap:10px;align-items:center;padding:10px;border:2px solid #141414;border-radius:8px;background:#f8f7f2}.nick-form span,.nick-form button{height:44px;display:grid;place-items:center}.nick-form input{min-width:0;height:44px;border:0;border-bottom:2px solid #141414;outline:0;background:transparent;font-size:20px}.nick-form button{background:#141414;color:#f8f7f2;border-radius:6px}.pair-screen{align-content:center;gap:18px}.counterparty-mark{display:grid;justify-items:center;gap:10px;padding:16px;border:2px solid #141414;border-radius:8px;background:#fbfaf6}.counterparty-mark span{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:#141414;color:#f8f7f2;font-size:22px;font-weight:700}.counterparty-mark b{max-width:min(72vw,320px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px}.pair-actions{display:flex;gap:12px}.pair-actions .icon-button{border:1px solid #141414;background:#fbfaf6}.pair-actions .accept-button{background:#141414;color:#f8f7f2}.pair-modal{position:fixed;inset:0;z-index:90;background:#f8f7f2f5}.shell{--top: 168px;--terminal-height: clamp(230px, 42vh, 480px);width:100%;height:100svh;display:grid;grid-template-rows:minmax(72px,var(--top)) 8px minmax(0,1fr);background:#f8f7f2}.tiles{position:relative;min-height:0;display:block;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));border-bottom:1px solid #d8d3c8;overflow:hidden;background:#f7f5ee}.qr-open{position:fixed;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));z-index:24;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(20,20,20,.42);border-radius:50%;background:#fbfaf6d1;color:#141414;box-shadow:0 8px 24px #14141414;backdrop-filter:blur(8px);cursor:pointer}.qr-open:active{transform:scale(.96)}.hex-field{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;touch-action:none}.hex-map{position:absolute;left:50%;top:50%;width:1px;height:1px;will-change:transform}.hex-map:before{content:"";position:absolute;left:50%;top:50%;z-index:-1;width:3600px;height:2200px;transform:translate(-50%,-50%);background:#fbfaf675;box-shadow:inset 0 0 0 1px #ff7a0038,inset 0 16px 48px #ffffff5c,inset 0 -16px 42px #14141409;backdrop-filter:blur(2px)}.hex{position:absolute;left:calc(var(--x) - 43px);top:calc(var(--y) - 38px);width:86px;height:76px;display:grid;grid-template-rows:1fr auto;justify-items:center;align-items:center;gap:2px;padding:9px 8px 8px;border:0;background:transparent;color:#141414}.hex:before{content:"";position:absolute;inset:0;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:#ff7a00}.hex:after{content:"";position:absolute;inset:2px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:#fbfaf6b8;box-shadow:inset 0 1px 10px #14141406}.hex-cell{pointer-events:none;opacity:.38}.hex.filled{cursor:pointer}.hex.active{box-shadow:none}.hex.active:before{background:#ff7a00}.hex.active:after{inset:4px;background:#fbfaf6d6}.hex.filled span{position:relative;z-index:1;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--color);color:#f8f7f2;font-size:13px;overflow:hidden}.hex.filled b{position:relative;z-index:1;width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650}.hex i{position:absolute;z-index:2;right:6px;top:6px;width:8px;height:8px;border-radius:50%;background:#d83a2e}.icon-button{width:48px;height:48px;display:grid;place-items:center;border-radius:8px;background:transparent;color:#141414;cursor:pointer}.icon-button:active,.hex:active,.install-button:active{transform:scale(.98)}.splitter{width:100%;height:8px;padding:0;background:#141414;cursor:row-resize;touch-action:none}.editor{position:relative;min-height:0;padding:0 max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));overflow:hidden;background:#fbfaf6a8;box-shadow:inset 0 1px #ffffff9e,inset 0 18px 42px #14141406;backdrop-filter:blur(1.4px)}.editor.dropping{box-shadow:inset 0 0 0 2px #141414}.editor textarea{position:absolute;inset:0 max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));z-index:3;width:auto;height:auto;resize:none;border:0;outline:0;padding:48px 56px 18px 42px;background:transparent;color:transparent;caret-color:#141414;-webkit-text-fill-color:transparent;font-family:ui-monospace,SFMono-Regular,Cascadia Code,Consolas,monospace;font-size:18px;line-height:1.45;overflow-wrap:break-word;white-space:pre-wrap}.editor textarea::selection{background:transparent}.text-paint{position:absolute;inset:0 max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));z-index:1;overflow:hidden;padding:48px 56px 18px 42px;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Cascadia Code,Consolas,monospace;font-size:18px;line-height:1.45;white-space:pre-wrap;overflow-wrap:break-word}.text-paint-inner{will-change:transform}.paint-line{display:block;min-height:1.45em;color:var(--line-color)}.line-gutter{position:absolute;left:max(12px,env(safe-area-inset-left));top:48px;bottom:max(10px,env(safe-area-inset-bottom));width:30px;overflow:hidden;pointer-events:none;z-index:4}.line-meta{position:absolute;right:max(14px,env(safe-area-inset-right));top:48px;bottom:max(10px,env(safe-area-inset-bottom));width:52px;overflow:hidden;pointer-events:none;z-index:4}.line-gutter span{position:absolute;left:0;width:26px;height:22px;display:grid;place-items:center;border:1px solid #d8d3c8;border-radius:6px;background:#fbfaf6;color:var(--color);font-size:10px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:750}.line-meta span{position:absolute;right:0;color:var(--color);font-size:10px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:750;opacity:.72}.writer-pop{position:absolute;right:max(12px,env(safe-area-inset-right));top:10px;z-index:5;min-height:34px;display:flex;align-items:center;gap:6px;pointer-events:none}.file-rail{position:absolute;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:8px;z-index:5;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding-bottom:3px;scrollbar-width:none;touch-action:pan-x;cursor:grab;overscroll-behavior-inline:contain}.file-rail::-webkit-scrollbar{display:none}.file-rail:active{cursor:grabbing}.file-chip{flex:0 0 auto;max-width:220px;height:32px;display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:4px;padding:0 4px 0 8px;border:1px solid var(--color);border-radius:8px;color:#141414;background:#fbfaf6}.file-chip a{min-width:0;height:100%;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:6px;color:#141414;text-decoration:none}.file-chip svg{width:18px;height:18px;color:var(--color)}.file-chip button{width:22px;height:22px;display:grid;place-items:center;padding:0;border-radius:50%;background:transparent;color:#141414}.file-chip button:active{background:#141414;color:#f8f7f2}.file-chip button svg{width:15px;height:15px;color:currentColor}.file-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.file-chip small{color:var(--color);font-size:10px;font-weight:750}.file-input{display:none}.terminal-panel{position:absolute;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));height:var(--terminal-height);z-index:7;display:none;grid-template-rows:34px minmax(0,1fr) 42px;gap:8px;padding:8px 12px 12px;border-radius:8px;background:#080807;color:#f8f7f2;box-shadow:inset 0 0 0 1px #ff7a006b,inset 0 18px 42px #ffffff0a}.editor.terminal-active .terminal-panel{display:grid}.editor.terminal-host .terminal-panel{grid-template-rows:34px minmax(0,1fr)}.editor.terminal-active textarea,.editor.terminal-active .text-paint,.editor.terminal-active .line-gutter,.editor.terminal-active .line-meta{bottom:calc(var(--terminal-height) + max(20px,env(safe-area-inset-bottom)))}.terminal-head{min-width:0;display:grid;grid-template-columns:12px 34px minmax(0,1fr) 30px;align-items:center;gap:9px}.terminal-glyph{color:#f8f7f280;font-family:ui-monospace,SFMono-Regular,Cascadia Code,Consolas,monospace;font-size:14px}.terminal-led{width:10px;height:10px;border-radius:50%;background:#b8b0a2;box-shadow:0 0 0 3px #b8b0a21f}.terminal-panel[data-state=run] .terminal-led{background:#ffb000;box-shadow:0 0 0 3px #ffb00026}.terminal-panel[data-state=ok] .terminal-led{background:#18a058;box-shadow:0 0 0 3px #18a05826}.terminal-panel[data-state=bad],.terminal-panel[data-state=off]{box-shadow:inset 0 0 0 1px #d83a2e80,inset 0 18px 42px #ffffff0a}.terminal-panel[data-state=bad] .terminal-led,.terminal-panel[data-state=off] .terminal-led{background:#d83a2e;box-shadow:0 0 0 3px #d83a2e26}.terminal-peer{width:34px;height:26px;display:grid;place-items:center;border:1px solid rgba(255,122,0,.62);border-radius:7px;color:#ffb000;font-size:11px;font-weight:800}.terminal-close{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:transparent;color:#f8f7f2}.terminal-output{min-height:0;overflow:auto;font-family:ui-monospace,SFMono-Regular,Cascadia Code,Consolas,monospace;font-size:14px;line-height:1.4;scrollbar-width:thin}.terminal-output pre{margin:0 0 4px;white-space:pre-wrap;overflow-wrap:anywhere}.terminal-form{display:grid;grid-template-columns:18px minmax(0,1fr) 34px;align-items:center;gap:6px;border-top:1px solid rgba(255,122,0,.42)}.terminal-form[hidden]{display:none}.terminal-form input{min-width:0;height:38px;border:0;outline:0;background:transparent;color:#f8f7f2;caret-color:#ff7a00;font-family:ui-monospace,SFMono-Regular,Cascadia Code,Consolas,monospace;font-size:15px}.terminal-form button{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#ff7a00;color:#080807}.terminal-form button svg{width:20px;height:20px}.counterparty-menu{position:fixed;z-index:50;display:grid;grid-template-columns:repeat(3,44px);gap:4px;padding:5px;border:1px solid #141414;border-radius:8px;background:#fbfaf6;box-shadow:0 12px 32px #14141429}.counterparty-menu button{width:44px;height:44px;display:grid;place-items:center;border-radius:6px;background:transparent}.counterparty-menu button:active{background:#141414;color:#f8f7f2}.counterparty-menu button.is-on{color:#087a4a;box-shadow:inset 0 0 0 1px #087a4a8c,0 0 0 3px #087a4a14}.counterparty-menu button.is-on:active{background:#087a4a;color:#f8f7f2}.agent-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#f8f7f2b8;backdrop-filter:blur(5px)}.agent-sheet{display:grid;grid-auto-flow:column;grid-auto-columns:54px;align-items:center;gap:8px;padding:8px;border:1px solid rgba(20,20,20,.7);border-radius:8px;background:#fbfaf6f2;box-shadow:0 18px 54px #14141424,inset 0 0 0 1px #ffffff7a}.agent-mark,.agent-sheet .icon-button{width:54px;height:54px;display:grid;place-items:center;border-radius:8px}.agent-mark{background:#141414;color:#f8f7f2}.agent-sheet.is-ok .agent-mark,.agent-sheet.is-ok .refresh-button{background:#087a4a;color:#f8f7f2}.writer-pop span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#141414;color:#f8f7f2;font-size:11px;font-weight:750}.writer-pop b{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 8px;border:1px solid #d8d3c8;border-radius:8px;background:#fbfaf6;font-size:12px}.qr-modal{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#f8f7f2e0;backdrop-filter:blur(5px)}.qr-sheet{position:relative;display:grid;place-items:center;width:min(92vmin,760px);aspect-ratio:1;padding:clamp(16px,3vmin,28px);border:1px solid rgba(20,20,20,.68);border-radius:8px;background:#fbfaf6f0;box-shadow:0 24px 80px #1414141f,inset 0 0 0 1px #ffffff8c}.qr-modal canvas{width:100%!important;height:100%!important;image-rendering:pixelated}.qr-modal button{position:absolute;top:-12px;background:#141414;color:#f8f7f2;box-shadow:0 8px 24px #1414141f}.qr-modal .refresh-button{right:96px}.qr-modal .copy-button{right:42px}.qr-modal .close-button,.qr-modal.persistent .copy-button{right:-12px}.qr-modal.persistent .refresh-button{right:42px}@media(max-width:520px){.shell{--top: 150px;--terminal-height: min(54svh, 390px)}.editor textarea{font-size:17px}}
