:root{color-scheme:dark;--bg:#101114;--surface:#1b1d22;--surface-hover:#272a31;--text:#f6f6f8;--muted:#b6b7be;--accent:#ff5d75;--rule:#33363e;--radius:14px;--font:'Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--font);-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none;text-underline-offset:5px}button{color:inherit}button:disabled{cursor:wait;opacity:.6}button,input,select,textarea{accent-color:var(--accent);caret-color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:#101114}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#50535e;border-radius:8px}svg{width:24px;height:24px;flex-shrink:0;vertical-align:middle}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.3;text-wrap:balance}h1{font-size:clamp(38px,5vw,72px);letter-spacing:-.03em}h2{font-size:clamp(24px,3vw,32px)}h3{font-size:20px}.muted{color:var(--muted)}[hidden]{display:none!important}.brand{font-size:26px;font-weight:700;letter-spacing:-.04em}.brand-mark{display:inline-flex;width:24px;height:26px;margin-right:10px;align-items:center;justify-content:center;color:var(--accent)}.brand-mark svg{width:20px;height:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 22px;background:var(--accent);color:#141418;border:0;border-radius:var(--radius);font-weight:700;transition:background .18s}.button:hover{background:#ff7c90}.button.secondary{background:var(--surface);color:var(--text)}.button.secondary:hover{background:var(--surface-hover)}.button.outline{background:transparent;color:var(--text);border:1px solid var(--rule)}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;min-width:44px;min-height:44px;padding:10px;border-radius:12px}.icon-button:hover{background:rgba(255,255,255,.09)}.page-nav{max-width:1224px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.page-nav nav{display:flex;align-items:center;gap:28px}.page-nav nav a{color:var(--muted);font-size:14px}.page-nav nav a:hover{color:var(--text)}.container{max-width:1160px;margin:auto;padding:0 32px}.page-footer{margin:64px auto 0;padding:28px 32px;max-width:1224px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%,12px);z-index:50;background:#f6f6f8;color:#16171a;padding:10px 20px;border-radius:12px;max-width:min(88vw,420px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:14px;box-shadow:0 8px 24px #0005}.toast.visible{opacity:1;transform:translate(-50%,0)}
.advert{position:relative;background:var(--surface);border-radius:var(--radius);overflow:hidden}.ad-label{display:inline-block;font-size:11px;border:1px solid #6d6f78;border-radius:4px;padding:0 5px;color:var(--muted);line-height:1.6;margin:14px 18px 0}.ad-link{display:flex;align-items:center;gap:24px;padding:16px 20px 22px;min-height:116px}.ad-image{max-height:180px;max-width:45%;object-fit:contain;border-radius:8px}.ad-copy{flex:1;min-width:0;overflow-wrap:anywhere}.ad-copy p{font-size:14px;margin-top:8px;color:var(--muted)}.ad-cta{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:14px;margin-top:16px}.ad-cta svg{width:16px;height:16px}.ad-link:hover .ad-cta{color:#ff94a6}.field label,.field-label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.field input,.field select,.field textarea{display:block;width:100%;background:#101114;border:1px solid #454853;border-radius:10px;min-height:48px;padding:11px 14px;color:var(--text)}.field input::placeholder,.field textarea::placeholder{color:#999da8}.field textarea{min-height:90px;resize:vertical}.field .help{color:var(--muted);font-size:12px;line-height:1.6;margin:8px 0 0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-top:22px}.status-box{padding:14px 16px;border-radius:10px;background:#2b2d34;color:var(--text);margin-top:20px;font-size:14px;overflow-wrap:anywhere}.status-box[data-kind=error]{background:#48262e;color:#ffd4dc}.status-box[data-kind=success]{background:#213b30;color:#c4f7dd}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.check-label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px}.check-label input{width:18px;height:18px;margin:0}.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--text);color:var(--bg);padding:10px 18px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
@media(max-width:650px){.page-nav{padding:18px 20px}.page-nav nav{gap:16px}.container{padding:0 20px}.page-footer{padding:24px 20px;flex-direction:column;margin-top:40px}.field-row{grid-template-columns:1fr;gap:0}.ad-link{gap:16px;padding:12px 16px 18px}.ad-image{max-width:38%;max-height:140px}.ad-copy h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
:root{--font-display:'Liuguang Display','Noto Sans SC',var(--font)}
.brand{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:24px;letter-spacing:-.02em;line-height:1.3}.brand-logo{width:36px;height:36px;flex:none;object-fit:contain}.viewer-brand{gap:6px}.viewer-brand .brand-logo{width:28px;height:28px}.viewer-wordmark{font-size:20px;line-height:1.1}.viewer-wordmark>span{display:block;margin-top:3px;font-size:12px;letter-spacing:.12em;font-weight:500}.brand .admin-brand-label,.brand .admin-label{margin-left:8px}
@media(max-width:650px){.brand{font-size:22px}.brand-logo{width:32px;height:32px}.page-nav{gap:16px}.page-nav nav{gap:14px}.admin-page .page-nav{flex-wrap:wrap}.admin-page .page-nav nav{flex-wrap:wrap}}
