
:root{color-scheme:light;--ink:#172321;--muted:#66736e;--line:#dbe1db;--paper:#f4f5ef;--white:#fff;--green:#176348;--lime:#c7e777;--orange:#95600f;--danger:#a6382d;--mono:'Cascadia Code','SFMono-Regular',Consolas,monospace;--sans:'Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15.5px/1.65 var(--sans)}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button,input,select,a{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--green)}
header{max-width:1440px;margin:auto;padding:27px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font:600 19px/1.2 var(--mono);letter-spacing:2px}.brand-mark{display:grid;place-items:center;width:39px;height:43px;background:var(--ink);color:var(--lime);border-radius:2px;font-size:24px}.brand-sub{display:block;font-size:9px;letter-spacing:1px;font-weight:400;margin-top:6px;color:var(--muted)}.header-right{display:flex;align-items:center;gap:25px}.privacy,.principle{display:flex;align-items:center;gap:8px;font-size:12px}.dot{width:7px;height:7px;background:var(--green);border-radius:50%;display:inline-block}.quiet{border:0;background:transparent;color:var(--muted);padding:8px 0}
.dashboard{max-width:1440px;padding:44px 48px 35px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px}.eyebrow{font:11px/1.5 var(--mono);letter-spacing:1.6px;color:var(--green);margin:0 0 10px}h1{font-size:36px;line-height:1.3;letter-spacing:-1px;margin:0 0 10px;font-weight:650}h2{font-size:23px;margin:0 0 10px}.muted{color:var(--muted);margin:0;font-size:14px;line-height:1.7}
.secondary{display:inline-flex;align-items:center;justify-content:center;background:var(--white);border:1px solid var(--line);padding:10px 16px;border-radius:4px;font-size:13px;white-space:nowrap;text-decoration:none;color:var(--ink)}.secondary span{margin-left:18px}.primary{display:flex;justify-content:space-between;width:100%;padding:12px 15px;color:#fff;background:var(--green);border:0;border-radius:4px;font-size:13px;text-decoration:none}.primary:hover{background:#114b37}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--line);background:var(--line);margin-bottom:32px;border-radius:6px;overflow:hidden}.stats article{background:var(--white);padding:22px 25px;display:flex;flex-direction:column}.stats article:nth-child(2){background:#edf4e7}.stats span{font-size:12px;color:var(--muted)}.stats strong{font:500 40px/1.4 var(--mono);margin:7px 0}.stats small{color:var(--muted);font-size:12px}
.machines-panel{background:var(--white);border:1px solid var(--line);border-radius:6px;overflow:hidden}.toolbar{padding:23px;display:flex;align-items:end;gap:16px;border-bottom:1px solid var(--line)}label{display:block;font-size:12px;font-weight:600}input,select{display:block;background:#fff;border:1px solid #cdd6cf;border-radius:4px;padding:10px 12px;color:var(--ink);width:100%;margin-top:7px}.search-label{width:360px}.filter-label{width:130px}.updated{margin:0 0 9px auto;color:var(--muted);font:12px/1.6 var(--sans);text-align:right}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:690px;text-align:left}th{background:#f9faf7;font-size:12px;font-weight:500;color:var(--muted);padding:13px 22px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:20px 22px;border-bottom:1px solid #edf0e9;vertical-align:middle;font-size:13.5px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcf8}
.machine-name{font-weight:650;font-size:14.5px;margin-bottom:3px}.machine-id{font:11px/1.7 var(--mono);color:var(--muted);word-break:break-all}.machine-host{font-size:12px;color:var(--muted)}.device-actions{display:flex;align-items:center;gap:14px;margin-top:7px}.device-actions .quiet{padding:0;font-size:12px}.device-actions .remove-device{color:var(--danger)}.device-link{font-size:12px;color:var(--green);text-decoration:none}.device-link:hover{text-decoration:underline}
.badge{display:inline-flex;gap:6px;align-items:center;padding:4px 9px;border-radius:999px;font-size:12px;white-space:nowrap;background:#edf0ec;color:#65706a}.badge:before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:currentColor}.badge.online{background:#e8f3e9;color:var(--green)}.badge.stale,.badge.unknown{background:#fbf1dc;color:var(--orange)}.version{font-size:12px;line-height:1.7;color:var(--muted)}.time{font-size:12px;line-height:1.7;color:var(--muted)}
.table-footer{display:flex;justify-content:space-between;gap:20px;padding:14px 22px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.scope-note{font-size:12px;color:var(--muted);margin:18px 0 0;line-height:1.7}.notice{background:#fff5de;color:#855614;margin:0;padding:12px 23px;font-size:12px}.empty{text-align:center;padding:48px 25px;color:var(--muted)}.empty h2{font-size:17px;color:var(--ink)}.empty p{font-size:13px}.empty-mark{font:40px var(--mono);color:#a2b2a3}
.settings-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px}
.error{font-size:12px;color:#b04237;margin:9px 0}.error:empty{display:none}
footer{max-width:1440px;margin:auto;padding:23px 48px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}
[hidden]{display:none!important}
@media(max-width:900px){header{padding:24px}.dashboard{padding:30px 24px}.toolbar{flex-wrap:wrap}.updated{margin-left:0}.search-label{flex:1;min-width:180px}footer{padding:22px 24px}}
@media(max-width:620px){.privacy{display:none}.dashboard{padding:26px 16px}.page-heading{align-items:flex-end;gap:12px}h1{font-size:29px}.stats{grid-template-columns:repeat(2,1fr);margin-bottom:22px}.stats article{padding:17px}.stats strong{font-size:32px}.toolbar{padding:17px}.updated{width:100%;text-align:left;margin:0}.table-footer{flex-direction:column;gap:4px}footer{font-size:10px;flex-direction:column;gap:4px}}
.header-links{display:flex;align-items:center;gap:24px;font-size:13px}.header-links a{text-decoration:none;color:var(--muted);padding:7px 0;border-bottom:2px solid transparent}.header-links a:hover{color:var(--green)}.header-links a[aria-current="page"]{color:var(--green);border-bottom-color:var(--green);font-weight:650}.header-right form{margin:0}@media(max-width:720px){header{align-items:flex-start;gap:18px}.header-right{justify-content:flex-end}.header-links{gap:14px;font-size:12px;flex-wrap:wrap;justify-content:flex-end}}
.account-nav{max-width:1440px;margin:auto;padding:12px 48px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);font-size:12px}.nav-groups{display:flex;align-items:center;gap:28px;min-width:0}.nav-primary,.nav-secondary{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.nav-secondary{padding-left:28px;border-left:1px solid var(--line)}.account-nav a{text-decoration:none;color:var(--muted);padding:5px 0;border-bottom:2px solid transparent}.nav-primary a{color:var(--ink);font-weight:550}.account-nav a:hover{color:var(--green)}.account-nav a[aria-current="page"]{color:var(--green);border-bottom-color:var(--green);font-weight:650}.account-nav>span{color:var(--muted);white-space:nowrap}
.account-main label{margin-top:18px}.account-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:24px}.account-settings-grid{grid-template-columns:minmax(0,620px)}.settings-card h2{font-size:21px}.settings-card button{margin-top:20px}.settings-card pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6ef;padding:15px;font:12px/1.8 var(--mono);border:1px solid var(--line);border-radius:4px}.field-help{font-size:12px;color:var(--muted);margin:6px 0 0}.token-panel,.secret-panel{margin-top:24px}.secret-panel{border-color:var(--green);background:#edf4e7}.secret-panel textarea{display:block;width:100%;resize:vertical;min-height:80px;background:white;border:1px solid var(--line);padding:15px;font:13px/1.8 var(--mono);margin-top:14px;word-break:break-all}.button-row{display:flex;gap:20px;align-items:center}.token-panel .toolbar{justify-content:space-between;align-items:center}.token-panel h2{margin:0}.token-panel .toolbar .muted{font-size:12px;margin-top:3px}.danger{color:var(--danger)}.account-main .notice{margin-top:20px;border-radius:4px}.advanced-inline{margin-top:18px}.advanced-inline summary{cursor:pointer;color:var(--green);font-weight:650}.advanced-inline[open] summary{margin-bottom:14px}.pending-card{max-width:720px}
.auth-page{min-height:100vh;display:flex;flex-direction:column}.auth-page header,.auth-page footer{width:100%}.auth-main{width:100%;max-width:560px;margin:auto;padding:64px 24px}.auth-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:7px;padding:36px}.auth-card h1{font-size:32px}.auth-card form{margin-top:28px}.auth-card label:not(:first-child){margin-top:18px}.auth-submit{margin-top:24px}.auth-note{font-size:12px;color:var(--muted);line-height:1.8;border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.auth-links{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;margin-top:24px;font-size:13px}.auth-links a{color:var(--green)}.oauth-card{max-width:920px}.oauth-card form{margin-top:22px}.oauth-card pre{margin:12px 0 20px}.permission-summary{background:#f4f6ef;border:1px solid var(--line);border-radius:5px;padding:16px 18px;margin:20px 0}.permission-summary p{margin:6px 0 0}.compact-empty{padding:34px 20px}.compact-empty h2{font-size:17px}.oauth-table{margin-top:22px}
@media(max-width:850px){.account-grid{grid-template-columns:1fr}.account-nav{padding:12px 24px;flex-wrap:wrap}.account-nav>span{width:100%}.nav-groups{width:100%;align-items:flex-start;gap:12px;flex-direction:column}.nav-secondary{padding-left:0;border-left:0}.auth-main{padding:42px 20px}}
@media(max-width:560px){.auth-card{padding:26px 22px}.auth-main{padding:30px 16px}.nav-primary,.nav-secondary{gap:14px}}
.device-grid{margin-top:4px}.device-fact{display:flex;flex-direction:column;gap:5px;padding:13px 0;border-bottom:1px solid var(--line)}.device-fact:last-child{border-bottom:0}.device-fact span{font-size:12px;color:var(--muted)}.device-fact strong{font-size:13px;overflow-wrap:anywhere}.device-link{font-size:12px;color:var(--green)}.advanced-section>summary{cursor:pointer;color:var(--green);font-weight:650}.advanced-section[open]>summary{margin-bottom:12px}.raw-device-details{margin-top:16px}.raw-device-details summary{cursor:pointer;color:var(--muted)}.raw-device-details pre{margin-top:12px}.admin-summary{margin-bottom:24px}.admin-panel .toolbar{padding:22px;gap:16px}.admin-filters{display:flex;align-items:end;flex-wrap:wrap}.admin-filters>div{flex:1;min-width:180px}.admin-filters label{display:block;margin-bottom:8px}.admin-filters input,.admin-filters select{width:100%}.admin-filters .primary{width:auto;min-width:88px}.admin-panel .notice{margin:0 22px 20px}.admin-table caption{text-align:left;padding:0 22px 16px}.admin-table th{white-space:nowrap}.admin-role-form{display:flex;align-items:center;gap:12px;min-width:245px}.admin-role-form select{min-width:145px}.admin-role-tag{white-space:nowrap;border:1px solid var(--line);padding:5px 9px;border-radius:999px;font-size:12px}.admin-pagination{justify-content:space-between}.admin-pagination>div{display:flex;gap:10px}.settings-card .button-row{margin-top:24px;align-items:center}.settings-card .button-row a{text-decoration:none}@media(max-width:600px){.admin-panel .toolbar{padding:16px}.admin-filters>div{min-width:100%}.admin-pagination{flex-direction:column;align-items:start}.admin-summary{padding:20px}.account-nav div{gap:14px}}
.release-badge{white-space:nowrap;background:var(--white);border:1px solid var(--line);color:var(--ink);padding:9px 13px;border-radius:4px;font-size:12px}
.download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.download-card{display:flex;flex-direction:column;min-width:0}.download-card+.download-card{margin-top:0}.download-card h2{margin-bottom:4px}.download-cpu{color:var(--muted);font-size:13px;margin:0 0 18px;min-height:44px}.download-variants{display:flex;flex-direction:column;gap:18px}.download-variant{border-top:1px solid var(--line);padding-top:18px}.download-variant:first-child{border-top:0;padding-top:0}.download-variant-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.download-variant-heading>div{min-width:0}.download-variant-heading strong{display:block;font-size:14px}.download-variant-heading span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.download-button{width:auto;min-width:118px;text-decoration:none;gap:10px;flex:0 0 auto}.download-button span{font:11px var(--mono);white-space:nowrap;color:inherit}.secondary.download-button span{margin:0}.download-instruction{font-size:12px;color:var(--muted);line-height:1.7;margin:10px 0}.integrity-details{font-size:12px;color:var(--muted)}.integrity-details summary{cursor:pointer;color:var(--green)}.download-filename,.downloads code{overflow-wrap:anywhere;word-break:break-word;font:11px/1.8 var(--mono)}.download-filename{margin:12px 0 6px}
.download-notice{border-left:3px solid var(--orange);background:#fffaf0;margin-top:24px}.download-notice h2{font-size:18px}.download-notice p{font-size:13px;margin:8px 0 0;color:#685936}.download-section{margin-top:24px}.download-section a{color:var(--green)}.download-section p{font-size:13px}.download-section code{font-size:12px}
.setup-steps{list-style:none;padding:0;margin:18px 0;display:grid;gap:14px}.setup-steps li{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start}.setup-steps li>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf4e7;color:var(--green);font:600 12px var(--mono)}.setup-steps strong{font-size:14px}.setup-steps p{margin:3px 0 0;color:var(--muted);line-height:1.7}
.advanced-section>summary{cursor:pointer;color:var(--green);font-weight:650}.advanced-section[open]>summary{margin-bottom:16px}.extension-hero .extension-download{max-width:520px}.extension-integrity{margin-top:15px;max-width:720px}
@media(max-width:1040px){.download-grid{grid-template-columns:1fr}.download-cpu{min-height:0}.download-variant-heading{align-items:flex-end}}
@media(max-width:560px){.download-card{padding:22px}.download-variant-heading{display:block}.download-button{margin-top:12px;width:100%}}
