:root{--paper:#f3f6f8;--ink:#173047;--muted:#566978;--blue:#195b91;--line:#d8e0e7;--error:#a12c37}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;line-height:1.6}header{max-width:1160px;margin:auto;display:flex;align-items:center;gap:24px;padding:26px 32px;border-bottom:1px solid var(--line)}header>span{color:var(--muted);font-size:14px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:22px;font-weight:650;text-decoration:none}.brandmark{display:inline-grid;place-items:center;background:var(--blue);color:white;border-radius:7px;width:33px;height:33px}header button{margin-left:auto}main{max-width:1100px;padding:54px 32px 30px;margin:auto}h1{font-size:42px;line-height:1.3;letter-spacing:-1px;margin:0 0 20px;font-weight:650}h2{font-size:23px;font-weight:600;margin:24px 0 20px}p{max-width:65ch}.welcome{display:grid;grid-template-columns:1fr 440px;gap:72px;align-items:center;min-height:490px}.intro h1{font-size:56px;line-height:1.35}.intro p{color:var(--muted);font-size:18px}.device-line{display:flex;align-items:center;gap:16px;margin-top:44px;font-size:14px}.device-line span{padding:12px 22px;border:1px solid #a8bdcc;border-radius:4px;background:white}.device-line i{width:90px;height:2px;background:var(--blue);position:relative}.device-line i:after{content:"";position:absolute;width:7px;height:7px;background:var(--blue);border-radius:50%;top:-2px;right:0}.auth-panel{background:white;padding:30px 34px;border:1px solid var(--line);border-radius:12px}nav{display:flex;gap:18px;border-bottom:1px solid var(--line)}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:6px;padding:10px 17px;font-weight:550}button:disabled{opacity:.55;cursor:wait}.tab{padding:0 0 13px;background:none;color:var(--muted);border-radius:0;font-size:14px}.tab.active{color:var(--blue);border-bottom:2px solid var(--blue)}label{display:block;font-size:14px;font-weight:550;margin:18px 0 0}input{display:block;width:100%;padding:11px 12px;border:1px solid #b9c7d3;border-radius:5px;color:var(--ink);background:white;margin-top:7px}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #8cbce1;outline-offset:3px}.primary{background:var(--blue);color:white}.quiet{background:white;color:var(--blue);border:1px solid var(--line)}#auth-submit{width:100%;margin-top:25px}.hint{font-size:13px;color:var(--muted);margin:8px 0}.save-panel{max-width:660px;margin:50px auto;padding:32px;background:white;border:1px solid var(--line);border-radius:10px}.save-panel h1{font-size:30px}.save-panel code{display:block;background:var(--paper);border:1px dashed #9eb1c0;padding:20px;word-break:break-all;font-size:17px}.actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.dashboard-title{display:flex;align-items:center;justify-content:space-between}.dashboard-title h1{font-size:36px;margin-bottom:10px}.section-title{display:flex;gap:20px;align-items:baseline;margin-top:50px}.rows{margin-top:22px;border-top:1px solid var(--line)}.row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.row strong{font-size:17px}.row small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.row .actions{margin:0;flex-wrap:wrap}.empty{padding:30px 0;color:var(--muted)}.add-row{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}.add-row button{height:48px}.add-row label{margin:0}.footer-note{margin-top:26px;color:var(--muted);font-size:13px}#notice{padding:12px 16px;margin-bottom:24px;border-left:3px solid var(--blue);background:white;overflow-wrap:anywhere}#notice.error{border-color:var(--error);color:var(--error)}footer{max-width:1100px;padding:18px 32px;margin:auto;color:var(--muted);font-size:12px}[hidden]{display:none!important}@media(max-width:820px){.welcome{grid-template-columns:1fr;gap:26px;min-height:0}.intro h1{font-size:36px}.intro h1 br{display:none}.intro p br{display:none}.device-line{display:none}.auth-panel{max-width:500px;width:100%;padding:25px}.add-row{grid-template-columns:1fr}.row{align-items:flex-start}.row .actions{flex-direction:column}.section-title{display:block}.dashboard-title h1{font-size:30px}main{padding-top:32px}header{padding:18px 24px;gap:16px}.brand{font-size:19px}h1{font-size:30px}}
