:root{--bg: #f6f7f9;--panel: #ffffff;--line: #dfe3e8;--text: #1d232b;--muted: #6b7480;--accent: #2f6fdf;--accent-text: #fff;--ok: #1f8a4c;--ko: #c62f2f;--warn: #b7791f;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #181a1f;--panel: #20232a;--line: #333842;--text: #e4e7ec;--muted: #9aa3ae;--accent: #4d8bff;--accent-text: #fff;--ok: #3fbf74;--ko: #ff6b6b;--warn: #e0a84a;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}@font-face{font-family:Twemoji Country Flags;unicode-range:U+1F1E6-1F1FF,U+1F3F4,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F;src:url(/assets/TwemojiCountryFlags-Bymva2JV.woff2) format("woff2");font-display:swap}body{background:var(--bg);color:var(--text);font:15px/1.5 Twemoji Country Flags,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button,a.button{display:inline-block;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 14px;cursor:pointer;text-decoration:none}button:hover:not(:disabled),a.button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary,a.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.danger{color:var(--ko)}button.link{border:none;background:none;padding:0;color:var(--text)}input,select,textarea{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 10px}textarea{min-height:80px;resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label{display:flex;flex-direction:column;gap:4px;margin:10px 0}label em,.muted{color:var(--muted);font-style:normal;font-size:13px}label.check{flex-direction:row;align-items:center;gap:8px}label.check input{width:auto}code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}h1{font-size:24px;margin:0 0 8px}h2{font-size:18px;margin:0 0 8px}h3{font-size:16px;margin:0 0 8px}.grow{flex:1}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row input{width:auto;flex:1;min-width:140px}.row-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.error{margin:10px 0;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--ko) 12%,transparent);color:var(--ko)}.ok{color:var(--ok)}.loading{padding:40px;text-align:center;color:var(--muted)}.top{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.top .brand{font-weight:700;color:var(--text);text-decoration:none}.top select{width:auto}.top .who{font-size:14px}.top a.nav{font-size:14px;color:var(--text)}main{padding:16px}.page{max-width:920px;margin:0 auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}.login{max-width:440px;margin:24px auto}.login h1{text-align:center}.qr{display:block;margin:8px auto;background:#fff;padding:8px;border-radius:8px}.secret{word-break:break-all}.codes{columns:2;padding-left:18px}.steps{display:flex;gap:6px;flex-wrap:wrap;padding:0;list-style:none;counter-reset:s;margin:8px 0}.steps li{counter-increment:s;padding:4px 10px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--muted)}.steps li:before{content:counter(s) ". "}.steps li.on{border-color:var(--accent);color:var(--text);font-weight:600}.steps li.done{color:var(--ok)}.shares{display:flex;flex-direction:column;gap:8px}.share{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--text);text-decoration:none}.share:hover{border-color:var(--accent)}.share.expired,.share.revoked{opacity:.6}.kind{font-size:12px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);white-space:nowrap}.kind.receive{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid var(--line);color:var(--muted)}.recap{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}.recap dt{color:var(--muted)}.recap dd{margin:0;display:flex;gap:6px;flex-wrap:wrap}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:16px}.choice.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.buttons{display:flex;gap:8px;align-items:center;margin-top:16px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.chip{display:inline-flex;gap:6px;align-items:center;padding:3px 4px 3px 10px;border-radius:999px;border:1px solid var(--line);font-size:13px}.chip button{border:none;padding:0 6px;background:none}.list{display:flex;flex-direction:column;gap:4px;margin:8px 0;max-height:280px;overflow:auto}.item{display:flex;gap:8px;align-items:center;text-align:left;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.picker{display:flex;flex-direction:column;gap:4px;margin:8px 0}.picker .path{padding:4px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.grid2 .buttons,.grid2 .span2{grid-column:1 / -1}.companion.ready,.companion.connecting{border-color:color-mix(in srgb,var(--ok) 50%,var(--line))}.paircode{font:600 22px ui-monospace,Menlo,Consolas,monospace;letter-spacing:4px;max-width:180px}.job{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:6px 0;border-top:1px solid var(--line)}.job.done{color:var(--ok)}.job.failed{color:var(--ko)}@media(max-width:640px){main{padding:16px 12px}.choices,.grid2,.recap{grid-template-columns:1fr}}.warn-box{margin:8px 0;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--warn) 14%,transparent)}.install{display:flex;flex-direction:column;gap:8px;margin-top:8px;align-items:flex-start}.install-steps{margin:4px 0;padding-left:20px}.small{font-size:12px;word-break:break-all}details summary{cursor:pointer}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:calc(100vh - 54px)}.side{background:var(--panel);border-right:1px solid var(--line);padding:8px 10px 16px}.side-group{display:flex;flex-direction:column;gap:1px}.side-group h2{margin:16px 10px 4px;font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.side a{padding:6px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-size:14px}.side a:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.side a.on{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:600}@media(max-width:800px){.shell{grid-template-columns:1fr;min-height:0}.side{border-right:none;border-bottom:1px solid var(--line);padding:4px 12px 8px;display:flex;flex-direction:column;gap:4px}.side-group{flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px}.side-group h2{margin:6px 6px 0 0;flex-basis:100%}}.page.wide{max-width:1200px}.small{font-size:12px}.nowrap{white-space:nowrap}.bad{color:var(--ko)}.badge{font-size:12px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.tabs{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:10px;background:var(--bg);flex-wrap:wrap}.tabs button{border:none;background:none;padding:5px 12px;border-radius:8px}.tabs button.on{background:var(--panel);box-shadow:0 0 0 1px var(--line);font-weight:600}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0}.tiles.small{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.tile{display:flex;flex-direction:column;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:0}.tile strong{font-size:24px;font-weight:650;line-height:1.2;overflow-wrap:anywhere}.tiles.small .tile strong{font-size:18px}.tile .muted,.tile .bad{font-size:13px}.server .tile{background:var(--bg)}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1;stroke-dasharray:2 3}.chart .axis{stroke:var(--muted);stroke-width:1}.chart .tick{fill:var(--muted);font-size:11px}.chart .bar{fill:var(--accent)}.chart .bar.on{fill:color-mix(in srgb,var(--accent) 80%,var(--text))}.tip{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px #0000001f;font-size:13px;pointer-events:none;white-space:nowrap}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th{text-align:left;font-weight:600;color:var(--muted);font-size:13px;padding:6px 8px;border-bottom:1px solid var(--line)}table.data td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}table.data tr.bad td:nth-child(3){color:var(--ko)}table.data tr.expired td,table.data tr.revoked td{color:var(--muted)}table.data a{color:var(--accent);text-decoration:none}table.data a:hover{text-decoration:underline}.table-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin:12px 0}.table-wrap table.data td:first-child,.table-wrap table.data th:first-child{padding-left:14px}.filters{margin:8px 0}.filters input{max-width:320px}.disk{display:grid;grid-template-columns:minmax(120px,1fr) 2fr auto;gap:12px;align-items:center;padding:4px 0}.meter{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.meter span{display:block;height:100%;border-radius:4px;background:var(--accent)}.meter.full span{background:var(--ko)}.setting{display:grid;grid-template-columns:1fr;padding:2px 0;border-bottom:1px dashed var(--line)}.setting:last-of-type{border-bottom:none}.setting label{margin-bottom:2px}.origin{font-size:12px;margin-bottom:8px}.sticky-save{position:sticky;bottom:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 0;background:var(--bg)}.sticky-save .error{margin:0;padding:4px 10px}.tpl-layout{display:grid;grid-template-columns:220px minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.tpl-list{display:flex;flex-direction:column;gap:6px;margin:12px 0}.tpl-list .item{flex-direction:column;align-items:flex-start;gap:2px;cursor:pointer}.tpl-list .item.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tpl-list .item .muted{font-size:12px}.mono,.mail-body{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.mail-body{white-space:pre-wrap;margin:8px 0 0;padding:12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;overflow-x:auto}.mail-head{padding:8px 0;border-bottom:1px solid var(--line)}.vars{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.chip-btn{padding:2px 8px;border-radius:999px;font:12px ui-monospace,Menlo,Consolas,monospace}.chip.plain{padding:3px 10px}fieldset.events{border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:4px 12px}fieldset.events legend{color:var(--muted);font-size:13px;padding:0 4px}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 12px}.event-grid label{margin:6px 0;align-items:flex-start}.hook.off{opacity:.7}@media(max-width:1000px){.tpl-layout{grid-template-columns:1fr}}@media(max-width:640px){.disk{grid-template-columns:1fr;gap:4px}.tile strong{font-size:20px}}
