@font-face{font-family:endue Wordmark;src:url(/fonts/noto-sans-500-endue.woff2)format("woff2");font-weight:500;font-display:block}@font-face{font-family:Caveat;src:url(/fonts/caveat-latin.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{--bg:#0b1020;--panel:#1c1f28eb;--panel-solid:#1c1f28;--panel-2:#252935;--border:#ffffff17;--text:#e8eaf0;--muted:#9aa1b2;--accent:#5b9dff;--accent-2:#3d7be0;--ok:#3ccf7a;--warn:#f5b84a;--bad:#ff6b6b;--menubar:#12141cb8;--dock:#282c388c;--radius:12px;--shadow:0 18px 50px #00000073;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Segoe UI,sans-serif;font-size:13px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}.btn{border:1px solid var(--border);background:var(--panel-2);cursor:pointer;white-space:nowrap;border-radius:7px;padding:5px 11px}.btn:hover{background:#2f3442}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent-2);border-color:#0000}.btn.primary:hover{background:var(--accent)}.btn.danger{color:var(--bad)}.btn.small{padding:2px 8px;font-size:12px}.btn.icon{padding:4px 7px}.input,select.input,textarea.input{border:1px solid var(--border);background:#12151d;border-radius:7px;outline:none;width:100%;padding:6px 9px}.input:focus{border-color:var(--accent)}textarea.input{resize:vertical;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.row{align-items:center;gap:8px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.err{color:var(--bad);white-space:pre-wrap}.ok-text{color:var(--ok)}.spacer{flex:1}.scroll{overflow:auto}.pad{padding:14px}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 6px;font-size:11px}.card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px}.kv{grid-template-columns:140px 1fr;gap:4px 12px;display:grid}.kv>:nth-child(odd){color:var(--muted)}.pill{background:#2c3140;border-radius:99px;align-items:center;gap:5px;padding:1px 8px;font-size:11px;display:inline-flex}.pill.ok{color:var(--ok);background:#3ccf7a29}.pill.warn{color:var(--warn);background:#f5b84a29}.pill.bad{color:var(--bad);background:#ff6b6b29}.dot{background:var(--muted);border-radius:50%;width:7px;height:7px;display:inline-block}.dot.ok{background:var(--ok)}.dot.bad{background:var(--bad)}.dot.warn{background:var(--warn)}table.list{border-collapse:collapse;width:100%}table.list th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);background:var(--panel-solid);padding:6px 8px;font-size:12px;font-weight:500;position:sticky;top:0}table.list td{border-bottom:1px solid var(--border);vertical-align:top;padding:7px 8px}table.list tr.clickable:hover td{cursor:pointer;background:#ffffff08}pre.out{border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;background:#0e1118;border-radius:8px;max-height:360px;margin:0;padding:10px;font-size:12px;overflow:auto}.tabs{border-bottom:1px solid var(--border);gap:2px;padding:0 10px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 12px}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.empty{text-align:center;color:var(--muted);padding:30px}.notice{color:#f7d9a0;background:#f5b84a1a;border:1px solid #f5b84a59;border-radius:8px;padding:10px 12px}.secret{border:1px dashed var(--warn);word-break:break-all;background:#0e1118;border-radius:8px;padding:10px}.entry{background:radial-gradient(1200px 600px at 20% 10%, #22305a 0%, transparent 60%), radial-gradient(900px 600px at 90% 90%, #3a1f4d 0%, transparent 60%), var(--bg);justify-content:center;align-items:center;height:100%;display:flex;overflow:auto}.entry-box{width:min(880px,92vw)}.brand{letter-spacing:0;align-items:center;gap:10px;font-family:endue Wordmark,Noto Sans,sans-serif;font-size:28px;font-weight:500;line-height:1;display:flex}.brand img{width:34px;height:34px}.station-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:18px;display:grid}.station-card{background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:14px;padding:16px;transition:transform .12s,border-color .12s}.station-card:hover{border-color:var(--accent);transform:translateY(-2px)}.station-card.new{color:var(--muted);border-style:dashed;justify-content:center;align-items:center;min-height:120px;display:flex}.desktop{background:radial-gradient(1400px 800px at 15% 0,#2b4b8a 0%,#0000 55%),radial-gradient(1000px 700px at 100% 100%,#6a2f7a 0%,#0000 55%),linear-gradient(160deg,#101a33,#1a1030);position:fixed;inset:0;overflow:hidden}.menubar{background:var(--menubar);backdrop-filter:blur(20px);z-index:100000;border-bottom:1px solid #ffffff0d;align-items:center;gap:16px;height:28px;padding:0 12px;display:flex;position:absolute;top:0;left:0;right:0}.menubar .item{cursor:pointer;border-radius:5px;padding:2px 6px;position:relative}.menubar>*{white-space:nowrap;flex-shrink:0}@media (width<=1000px){.menubar{gap:10px}.menubar>.muted.small,.menubar>.clock{display:none}}.menubar .item:hover,.menubar .item.open{background:#ffffff1f}.menubar .logo{align-items:center;gap:6px;font-family:endue Wordmark,Noto Sans,sans-serif;font-weight:500;line-height:1;display:inline-flex}.menubar .logo img{width:16px;height:16px}.menubar .logo .os,.brand .os{color:#b6a3f5;letter-spacing:.01em;font-family:Caveat,cursive;font-weight:700;line-height:1;display:inline-block;transform:translateY(-.012em)rotate(-4deg)}.menubar .logo .os{margin-left:-2px;font-size:17px}.brand .os{margin-left:-4px;font-size:34px}.menu{background:var(--panel);backdrop-filter:blur(24px);border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow);z-index:100001;border-radius:9px;padding:5px;position:absolute;top:24px;left:0}.menu.right{left:auto;right:0}.menu .mi{cursor:pointer;border-radius:5px;align-items:center;gap:8px;padding:5px 10px;display:flex}.menu .mi:hover{background:var(--accent-2)}.menu .mi.disabled{color:var(--muted);cursor:default}.menu .mi.disabled:hover{background:0 0}.menu .sep{background:var(--border);height:1px;margin:4px 6px}.menu .hd{color:var(--muted);padding:4px 10px;font-size:11px}.window{background:var(--panel-solid);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;min-width:320px;min-height:200px;display:flex;position:absolute;overflow:hidden}.window.focused{border-color:#ffffff29}.window.maximized{border-radius:0}.titlebar{border-bottom:1px solid var(--border);cursor:default;user-select:none;background:#20242f;flex-shrink:0;align-items:center;gap:10px;height:34px;padding:0 10px;display:flex}.traffic{gap:7px;display:flex}.traffic span{cursor:pointer;border-radius:50%;width:12px;height:12px;display:inline-block}.traffic .c{background:#ff5f57}.traffic .m{background:#febc2e}.traffic .x{background:#28c840}.window:not(.focused) .traffic span{background:#4a4f5c}.titlebar .title{text-align:center;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:50px;font-weight:500;overflow:hidden}.window.focused .titlebar .title{color:var(--text)}.window-body{flex-direction:column;flex:1;min-height:0;display:flex}.resize{z-index:5;touch-action:none;position:absolute}.resize.n,.resize.s{cursor:ns-resize;height:6px;left:14px;right:14px}.resize.e,.resize.w{cursor:ew-resize;width:6px;top:14px;bottom:14px}.resize.n{top:0}.resize.s{bottom:0}.resize.e{right:0}.resize.w{left:0}.resize.ne,.resize.nw,.resize.se,.resize.sw{width:14px;height:14px}.resize.ne{cursor:nesw-resize;top:0;right:0}.resize.sw{cursor:nesw-resize;bottom:0;left:0}.resize.nw{cursor:nwse-resize;top:0;left:0}.resize.se{cursor:nwse-resize;bottom:0;right:0}.dock-wrap{z-index:99999;pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:6px;left:0;right:0}.dock{--base:64px;pointer-events:auto;padding:0 calc(var(--base) * .06);height:calc(var(--base) * 1.17);-webkit-backdrop-filter:blur(30px)saturate(1.8);border-radius:calc(var(--base) * .36);background:#28282e6b;border:.5px solid #ffffff38;align-items:flex-end;gap:0;display:flex;overflow:visible;box-shadow:0 8px 30px #0000004d,inset 0 .5px #ffffff1f}.dock .sep{width:1px;height:calc(var(--base) * .72);margin:0 calc(var(--base) * .1);background:#ffffff40;flex-shrink:0;align-self:center}.dock-item{--s:1;width:calc(var(--base) * var(--s));cursor:pointer;flex-direction:column;flex-shrink:0;justify-content:flex-end;align-items:center;height:100%;transition:width .12s ease-out;display:flex;position:relative}.dock-icon{width:var(--base);height:var(--base);margin-bottom:calc(var(--base) * .12);transform-origin:50% 100%;transform:scale(var(--s));will-change:transform;transition:transform .12s ease-out;display:block}.dock-icon>.icon{width:100%;height:100%;font-size:calc(var(--base) * .44)}.dock-item:active .dock-icon{filter:brightness(.7)}.dock-item .tip{bottom:calc(var(--base) * var(--s) + var(--base) * .2);backdrop-filter:blur(20px);white-space:nowrap;opacity:0;pointer-events:none;background:#28282ee6;border:.5px solid #ffffff2e;border-radius:6px;padding:3px 10px;font-size:13px;transition:opacity .1s;position:absolute;box-shadow:0 4px 14px #00000059}.dock-item:hover .tip{opacity:1}.dock-item .run{bottom:calc(var(--base) * .02);visibility:hidden;background:#ffffffc7;border-radius:50%;width:4px;height:4px;position:absolute}.dock-item .run.on{visibility:visible}.dock-item .run.busy{visibility:visible;background:var(--warn);animation:1s infinite blink}.dock-item .run.fail{visibility:visible;background:var(--bad)}.dock-item.drop-before:before{content:"";background:var(--accent);border-radius:2px;width:3px;position:absolute;top:6px;bottom:10px;left:-5px}.dock-item.dragging{opacity:.35}@keyframes blink{50%{opacity:.25}}.icon{color:#fff;filter:drop-shadow(0 1.5px 2px #00000047);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;font-weight:700;display:flex;position:relative}.icon>svg{display:block}.icon.sm{filter:drop-shadow(0 .5px 1px #0000004d);width:28px;height:28px;font-size:13px}.ctx{z-index:200000;position:fixed}.screen-wrap{background:#07090e;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.screen-wrap img{object-fit:contain;user-select:none;-webkit-user-drag:none;cursor:crosshair;max-width:100%;max-height:100%;display:block}.screen-overlay{align-items:center;gap:6px;display:flex;position:absolute;top:8px;right:8px}.screen-placeholder{color:var(--muted);text-align:center;padding:30px}.toolbar{border-bottom:1px solid var(--border);background:#1a1d26;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;display:flex}.statusbar{border-top:1px solid var(--border);color:var(--muted);background:#1a1d26;flex-shrink:0;align-items:center;gap:10px;padding:4px 10px;font-size:11.5px;display:flex}.split{flex:1;min-height:0;display:flex}.side{border-right:1px solid var(--border);background:#181b23;flex-shrink:0;width:240px;overflow:auto}.side.right{border-right:none;border-left:1px solid var(--border)}.side .li{cursor:pointer;border-radius:6px;align-items:center;gap:8px;margin:1px 6px;padding:6px 10px;display:flex}.side .li:hover{background:#ffffff0d}.side .li.active{background:#5b9dff2e}.phone{aspect-ratio:auto;justify-content:center;align-items:center;height:100%;padding:10px;display:flex}.phone-frame{background:#000;border:8px solid #222;border-radius:26px;justify-content:center;align-items:center;height:100%;display:flex;overflow:hidden;box-shadow:0 10px 30px #00000080}.phone-frame img{width:auto;max-width:none;height:100%}.navkeys{border-top:1px solid var(--border);background:#1a1d26;justify-content:center;gap:10px;padding:6px;display:flex}.launchpad{z-index:99990;backdrop-filter:blur(30px);background:#0a0c1499;flex-direction:column;padding:56px 8vw 120px;display:flex;position:absolute;inset:0}.launchpad .grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:22px 12px;padding:10px;display:grid;overflow:auto}.lp-item{text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px;display:flex;position:relative}.lp-item:hover{background:#ffffff0f}.lp-item .name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.lp-item .pin{font-size:11px;position:absolute;top:2px;right:8px}.lp-tabs{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:18px;display:flex}.lp-tabs button{cursor:pointer;background:#ffffff14;border:1px solid #0000;border-radius:99px;padding:5px 14px}.lp-tabs button.active{background:#fff3;border-color:#ffffff40}.kind-picker{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.kind-picker .opt{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.kind-picker .opt.active{border-color:var(--accent);background:#5b9dff1a}.kind-picker .opt.disabled{opacity:.45;cursor:default}.toast-wrap{z-index:300000;flex-direction:column;gap:8px;display:flex;position:fixed;top:40px;right:14px}.toast{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);backdrop-filter:blur(20px);border-radius:10px;max-width:360px;padding:10px 14px}.toast.bad{border-color:#ff6b6b80}.files-tree .li{font-family:ui-monospace,Menlo,monospace;font-size:12px}.spinner{border:3px solid #ffffff26;border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.9s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.dock-icon{position:relative}.dock-icon .stack-mark{text-align:center;color:#fff;background:#3c3c43eb;border:.5px solid #ffffff4d;border-radius:9px;min-width:17px;height:17px;padding:0 5px;font-size:10.5px;font-weight:600;line-height:16px;position:absolute;top:4%;right:4%;box-shadow:0 1px 2px #0000004d}.dock-icon .stack-mark:empty{width:9px;min-width:9px;height:9px;padding:0}.dock-item.stacked .tip{opacity:0!important}.dock-item.stacked .dock-icon{filter:brightness(1.15)}.dock-stack{pointer-events:auto;-webkit-backdrop-filter:blur(30px)saturate(1.5);transform-origin:50% 100%;background:#20232edb;border:1px solid #ffffff29;border-radius:16px;flex-direction:column;max-height:calc(100vh - 160px);padding:12px;animation:.14s ease-out stack-in;display:flex;position:fixed;box-shadow:0 18px 50px #00000080}@keyframes stack-in{0%{opacity:0;transform:translateY(10px)scale(.96)}}.stack-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding-bottom:10px;display:flex}.stack-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.stack-sub{color:var(--muted);align-items:center;gap:5px;font-size:11.5px;display:flex}.stack-label{color:var(--muted);margin:10px 2px 6px;font-size:11px}.stack-label.row-between{justify-content:space-between;display:flex}.stack-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.stack-grid.scroll{min-height:0;max-height:300px;overflow:auto}.stack-tile{cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:5px;padding:8px 4px 6px;display:flex;position:relative}.stack-tile:hover{background:#ffffff14}.stack-tile .name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11.5px;overflow:hidden}.stack-tile .icon{width:58px;height:58px}.stack-tile .pin{opacity:0;font-size:11px;transition:opacity .1s;position:absolute;top:2px;right:4px}.stack-tile .bar-pin{text-align:center;opacity:0;background:#0000008c;border-radius:50%;width:18px;height:18px;font-size:11px;line-height:17px;transition:opacity .1s;position:absolute;top:2px;right:6px}.stack-tile .bar-pin.on{opacity:1;background:var(--accent)}.stack-tile:hover .bar-pin{opacity:1}.stack-foot{color:var(--muted);text-align:center;margin-top:8px;font-size:10.5px}.stack-tile:hover .pin{opacity:1}.stack-tile .open-dot{background:#ffffffd9;border-radius:50%;width:4px;height:4px;position:absolute;bottom:1px}.stack-empty{text-align:center;color:var(--muted);padding:18px}.btn.icon{filter:none;border-radius:7px}:root{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,sans-serif}.demo-boot{z-index:200000;background:radial-gradient(900px 600px at 50% 40%,#1d1840,#07070f 70%);place-content:center;justify-items:center;gap:14px;transition:opacity .4s;display:grid;position:fixed;inset:0}.demo-boot.out{opacity:0}.demo-boot img{filter:drop-shadow(0 10px 30px #8b7ef2aa);width:84px;height:84px}.demo-boot b{color:#fff;letter-spacing:-.03em;font-size:26px;font-weight:750}.demo-boot b span{background:linear-gradient(100deg,#d9d0ff,#8b7ef2 45%,#79dbff);color:#0000;-webkit-background-clip:text;background-clip:text}.demo-boot i{background:#ffffff1a;border-radius:2px;width:180px;height:4px;margin-top:10px;overflow:hidden}.demo-boot em{background:linear-gradient(90deg,#8b7ef2,#79dbff);border-radius:2px;height:100%;animation:1s ease-out forwards demo-boot;display:block}@keyframes demo-boot{0%{width:6%}to{width:100%}}.demo-badge{z-index:100002;color:#ffd79a;pointer-events:auto;background:#2a2112d9;border:1px solid #ffc06955;border-radius:999px;align-items:center;gap:7px;height:20px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex;position:fixed;top:4px;left:50%;transform:translate(-50%)}.demo-badge .dot{background:#ffc069;border-radius:50%;width:6px;height:6px}.demo-badge a{color:#ffe4bd;opacity:.85;margin-left:4px;text-decoration:none}.demo-badge a:hover{opacity:1;text-decoration:underline}.demo-hint{z-index:99999;color:#f4f3f7;pointer-events:none;background:#15131fe6;border:1px solid #ffffff26;border-radius:10px;padding:8px 14px;font-size:13px;animation:2.4s ease-in-out infinite demo-hint;position:fixed;bottom:104px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #0009}.demo-hint:after{content:"";background:#15131f;border-bottom:1px solid #ffffff26;border-right:1px solid #ffffff26;width:12px;height:12px;position:absolute;bottom:-6px;left:calc(50% - 6px);transform:rotate(45deg)}@keyframes demo-hint{50%{transform:translate(-50%,-4px)}}
