:root{color-scheme:light;--ink:#193044;--muted:#7a8b9d;--line:#e2e9f0;--paper:#f4f7fb;--red:#bd3d43;--green:#248164}
[hidden]{display:none!important}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 5% 0,#e9f0f8 0,transparent 40%),var(--paper);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}
header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px max(20px,4vw);background:#ffffffed;border-bottom:1px solid #e4ebf2;backdrop-filter:blur(14px)}.brand,.session{display:flex;align-items:center;gap:11px}.brand-mark{color:var(--red);font-size:25px;line-height:1}.brand h1{margin:0;font-size:19px;font-weight:680;line-height:1.2;letter-spacing:.02em}.brand p{margin:4px 0 0;color:#93a0b0;font-size:8px;letter-spacing:.16em}.session #identity{color:var(--muted);font-size:12px}
main{max-width:1360px;margin:auto;padding:22px 30px 30px}.status-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#718398;font-size:12px;min-height:24px}.status-bar>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.status-bar small{font-size:11px;color:#94a1af}#fleet-count{white-space:nowrap;font-weight:600;color:#596f86}.dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#a9b5c2}.dot.ok{background:#2e9878;box-shadow:0 0 0 3px #2e987813}.dot.error{background:var(--red)}
.toolbar{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:9px;margin:13px 0 20px}input,button{font:inherit;color:var(--ink);background:#fff;border:1px solid #d8e1eb;border-radius:9px;min-height:44px;padding:10px 13px}input{min-width:0;width:100%;box-shadow:0 2px 5px #18334e03}input::placeholder{color:#97a5b4}button{cursor:pointer;white-space:nowrap;font-weight:600;touch-action:manipulation;transition:background .12s,border-color .12s}button:hover{background:#f2f6fb}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #90b5d9;outline-offset:3px}button:disabled{opacity:.55;cursor:not-allowed}.remember{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.remember input{width:16px;height:16px;min-height:0;padding:0}
.machine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:16px;align-items:start}.machine-card{--accent:#6587ae;background:#fff;border:1px solid #e0e8f0;border-radius:14px;padding:18px;min-width:0;box-shadow:0 3px 12px #16365304;position:relative;overflow:hidden}.machine-card::before{content:'';position:absolute;top:0;left:18px;right:18px;height:2px;background:var(--accent);opacity:.6}.region-ap-northeast-1{--accent:#8a7fbc}.region-ap-southeast-1{--accent:#5b9d91}.region-eu-west-2{--accent:#6896c0}.region-eu-central-1{--accent:#b39762}.region-us-east-1{--accent:#b78396}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:14px}.card-identity{display:flex;align-items:center;gap:10px;min-width:0}.server-glyph{font-size:23px;line-height:1;width:34px;height:36px;border-radius:9px;background:#f1f5fa;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.identity-labels{min-width:0}.machine-name{margin:0;font-size:20px;font-weight:700;line-height:1.25;letter-spacing:-.04em}.region-label{font-size:11px;color:#8a9aad;margin-top:3px;line-height:1.4}.badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;line-height:1.4;padding:4px 7px;border-radius:20px;background:#edf1f5;color:#8491a0;white-space:nowrap}.badge.running{background:#ebf7f1;color:#328067}.badge.running::before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}.badge.stopping,.badge.queued,.badge.retrying{background:#fff2d9;color:#9a742c}.badge.stopped{background:#edf1f5;color:#788b9d}.badge.failed,.badge.expired{background:#fcecef;color:#b9414b}
.hardware{border:1px solid #edf1f6;background:#f8fafd;border-radius:9px;padding:10px 12px}.type-line{display:flex;justify-content:space-between;align-items:center;gap:6px}.instance-type{font:11px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.02em;color:#677e94}.architecture{font-size:9px;line-height:1;background:#edf1f6;padding:3px 5px;border-radius:3px;color:#91a0af}.architecture:empty{display:none}.metrics{display:grid;grid-template-columns:1fr 1fr;margin-top:8px}.metric{display:flex;align-items:baseline;gap:6px}.metric+ .metric{border-left:1px solid #e5ebf2;padding-left:13px}.metric strong{font-size:23px;font-weight:650;line-height:1.1;letter-spacing:-.04em;color:#2b4359}.metric span{font-size:10px;white-space:nowrap;color:#8c9aab}.network-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:31px;margin-top:7px}.data-label{color:#8d9bab;font-size:10px;white-space:nowrap}.ip-value,.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;color:#587189;user-select:text;overflow-wrap:anywhere}.ip-value{letter-spacing:-.025em}
.danger{background:var(--red);border-color:var(--red);color:#fff}.danger:hover{background:#a93037}.stop-button{width:100%;min-height:45px;font-size:13px;font-weight:600;margin-top:6px;color:#b44247;background:#fff4f3;border-color:#f1d9d7;border-radius:8px;letter-spacing:.06em}.stop-button::before{content:'';display:inline-block;width:8px;height:8px;background:currentColor;margin-right:8px;border-radius:1px}.stop-button:hover{color:#fff;background:#b83b43;border-color:#b83b43}.machine-progress{font-size:12px;color:#96702c;margin-top:7px}
.server-details{margin-top:7px}.server-details>summary{display:flex;align-items:center;justify-content:space-between;gap:6px;list-style:none;cursor:pointer;min-height:30px;color:#8d9aaa;font-size:10px}.server-details>summary::-webkit-details-marker{display:none}.server-details>summary>span:first-child::after{content:' ›';color:#9cabb9}.server-details[open]>summary>span:first-child::after{content:' ⌄'}.card-updated{color:#a2adba;font:9px ui-monospace,SFMono-Regular,Consolas,monospace}.server-extra{border-top:1px solid #edf1f6;padding-top:8px}.extra-row{display:flex;justify-content:space-between;gap:10px;margin-top:6px}.extra-row>.mono{font-size:10px;text-align:right;min-width:0}.info-time{font-size:9px;color:#a0adba;margin-top:10px}.info-stale .instance-type{color:#9ba7b5}.muted{font-size:12px;color:var(--muted)}.empty{text-align:center;padding:40px 12px;color:var(--muted)}
.notice{padding:12px 15px;border:1px solid #e6d3ad;background:#fff9ed;border-radius:8px;color:#80663c;margin:12px 0;font-size:13px}.activity{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}.activity>summary{cursor:pointer;color:var(--muted);font-size:12px;min-height:36px;padding-top:8px}.command{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px;margin-top:8px}.command small{display:block;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.command button{margin-top:6px}footer{margin-top:20px;color:#9aa7b5;font-size:10px}
dialog{border:1px solid var(--line);border-radius:14px;width:min(440px,calc(100vw - 28px));padding:24px;box-shadow:0 24px 100px #10203040}dialog::backdrop{background:#14253788}dialog h2{font-size:24px;margin:0 0 12px}dialog p{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.dialog-warning{color:#8b3b2e;background:#fff4ec;padding:12px;border-radius:7px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.dialog-actions button{min-height:48px}
@media(max-width:620px){header{padding:11px 14px}.brand-mark{font-size:22px}.brand h1{font-size:17px}.brand p{font-size:7px;letter-spacing:.11em}.session{gap:7px}.session #identity{display:none}.session button{font-size:12px;padding:7px 10px;min-height:40px}main{padding:13px 12px 24px}.status-bar{font-size:11px}.status-bar small{font-size:10px}.toolbar{grid-template-columns:minmax(0,1fr) 52px;gap:7px;margin:11px 0 14px}input{font-size:16px;padding:9px}#refresh{padding:8px 7px;font-size:12px}.machine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.machine-card{padding:12px;border-radius:11px}.machine-card::before{left:12px;right:12px}.card-head{gap:4px;margin-bottom:10px}.card-identity{gap:0}.server-glyph{display:none}.machine-name{font-size:17px}.region-label{font-size:10px;margin-top:4px}.badge{font-size:9px;padding:3px 5px;gap:3px;margin-top:1px}.badge.running::before{width:3px;height:3px}.hardware{padding:9px 8px;border-radius:7px}.instance-type{font-size:10px}.architecture{font-size:8px;padding:3px}.metrics{margin-top:7px}.metric{gap:2px;flex-direction:column;align-items:flex-start}.metric strong{font-size:21px}.metric span{font-size:9px}.metric+ .metric{padding-left:8px}.network-row{margin-top:5px;min-height:29px;gap:4px}.data-label{font-size:9px}.ip-value{font-size:11px;letter-spacing:-.04em}.stop-button{font-size:12px;min-height:44px;margin-top:5px}.server-details{margin-top:5px}.server-details>summary{font-size:9px;min-height:29px}.card-updated{font-size:8px}.server-extra .mono{font-size:9px}.info-time{font-size:8px}.machine-card:has(.server-details[open]){grid-column:1/-1}.activity{margin-top:18px}footer{font-size:10px}.remember{max-width:72px;font-size:10px}.notice{font-size:12px}.machine-progress{font-size:11px}}
@media(max-width:340px){.machine-grid{grid-template-columns:1fr}.machine-card:has(.server-details[open]){grid-column:auto}}
