:root{color-scheme:light dark;--bg:#f4f6f9;--panel:#fff;--text:#192438;--muted:#586780;--border:#dbe2ed;--accent:#315bd8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 system-ui,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--border);background:var(--panel)}header>a{font-weight:750;font-size:20px}nav{display:flex;gap:20px}main{max-width:960px;margin:32px auto;padding:0 20px 60px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:28px;line-height:1.25}h2{font-size:21px}h3{margin:0}section,.card{display:block;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:24px;margin:16px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.card{margin:0;color:var(--text)}label{display:block;margin:16px 0;font-weight:600}input:not([type=checkbox]),textarea{display:block;width:100%;padding:12px;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-top:6px}textarea{min-height:120px;resize:vertical}button,.button{display:inline-block;border:0;border-radius:8px;padding:11px 18px;background:var(--accent);color:white;font:600 14px system-ui;cursor:pointer}button:hover,.button:hover{filter:brightness(1.1);text-decoration:none}.secondary{background:var(--muted)}.danger{background:#b72d40}.check{display:flex;gap:10px}.drop{border:2px dashed var(--accent);padding:32px;text-align:center;border-radius:12px}.drop.active{background:var(--bg)}.icon{width:64px;height:64px;object-fit:contain;border-radius:14px}.placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent);color:white;font-size:28px}.hash{display:block;overflow-wrap:anywhere;font-size:12px;font-weight:400;margin:8px 0 20px}.pre{white-space:pre-wrap;overflow-wrap:anywhere}code{overflow-wrap:anywhere}small,p,span{color:inherit}small{font-weight:400}.qr{width:180px;height:180px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.actions form{margin:0}form+form{margin-top:16px}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(prefers-color-scheme:dark){:root{--bg:#101722;--panel:#182232;--text:#e7edf7;--muted:#a4b2c9;--border:#2b3a50;--accent:#7195ff}.button,button{color:#101722}.danger{color:white}}@media(max-width:520px){main{margin-top:24px;padding:0 14px 40px}section,.card{padding:18px}header{padding:14px}nav{gap:14px}h1{font-size:25px}}
.brand{display:flex;align-items:center;gap:10px;line-height:1.25}.brand img{display:block;width:40px;height:40px;flex-shrink:0;border-radius:10px}header{gap:16px;flex-wrap:wrap}@media(max-width:520px){header>.brand{font-size:18px}.brand img{width:36px;height:36px}}
.app-heading{display:flex;align-items:center;gap:16px}.app-heading>.icon{flex-shrink:0}.app-heading>div{min-width:0}.app-heading h2{margin:0 0 4px}.app-heading code{overflow-wrap:anywhere}
.update-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.service-version{margin-top:32px;padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.markdown{overflow-wrap:anywhere;margin:16px 0}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1{font-size:24px}.markdown h2{font-size:21px}.markdown h3{font-size:18px;margin:18px 0 8px}.markdown h4,.markdown h5,.markdown h6{font-size:16px;margin:16px 0 8px}.markdown p{margin:12px 0}.markdown ul,.markdown ol{padding-left:24px}.markdown li+li{margin-top:4px}.markdown blockquote{margin:16px 0;padding:4px 16px;border-left:3px solid var(--accent);color:var(--muted)}.markdown pre{padding:14px;border-radius:8px;background:var(--bg);overflow-x:auto}.markdown pre code{white-space:pre;overflow-wrap:normal}.markdown :not(pre)>code{padding:2px 5px;border-radius:4px;background:var(--bg)}.markdown img{max-width:100%;height:auto}.markdown-hint{color:var(--muted);font-size:13px;margin:8px 0 18px}.markdown-hint summary{cursor:pointer}
