:root{color-scheme:dark;--bg:#101411;--surface:#191e19;--ink:#f1f2e7;--muted:#a7afa4;--line:#343c33;--accent:#ef7a3a;font-family:"PingFang SC","Microsoft Yahei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}header{max-width:1440px;margin:auto;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px}header>a{min-height:44px;display:flex;align-items:center;font-size:14px}.brand{font-weight:700;font-size:20px;gap:12px}.brand img{width:35px;height:35px}main{max-width:1240px;margin:auto;padding:32px 24px;display:grid;gap:28px;min-height:calc(100vh - 180px)}.eyebrow{color:var(--accent);font-size:12px;letter-spacing:2px}h1{font-family:"Songti SC","STSong",serif;font-size:clamp(40px,5vw,66px);line-height:1.35;letter-spacing:-.03em;font-weight:500;margin:26px 0}h1 em{font-style:normal;color:var(--accent)}.lead{max-width:410px;font-size:17px;color:var(--muted);line-height:1.9}.intro-foot{display:none;flex-direction:column;border-top:1px solid var(--line);gap:9px;padding-top:22px;margin-top:32px;color:var(--muted);font-size:12px;letter-spacing:1px}.account-panel{align-self:start;border:1px solid var(--line);background:var(--surface);padding:28px 22px}h2{font-size:27px;line-height:1.4;margin:0 0 12px}p{margin:0 0 20px}.muted{font-size:14px;color:var(--muted)}.tabs{display:flex;border-bottom:1px solid var(--line);margin:0 0 28px;gap:24px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);min-height:48px;padding:8px 0;font:inherit}.tabs button.active{border-color:var(--accent);color:var(--ink)}form{display:grid;gap:20px}label{display:grid;gap:8px;font-size:14px}input{width:100%;min-height:48px;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:12px 14px;font:inherit;font-size:16px}small{color:var(--muted);font-size:12px;line-height:1.65}.primary,.secondary{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;font:inherit;font-size:15px;border:1px solid var(--line);cursor:pointer;text-align:center}.primary{background:var(--accent);color:#101411;border-color:var(--accent);font-weight:650}.secondary{background:transparent;color:var(--ink)}button:disabled{opacity:.55;cursor:wait}.text-button{font:inherit;font-size:14px;background:none;border:0;color:var(--muted);min-height:44px;cursor:pointer;padding:8px 0}.error{color:#ffad8f;font-size:14px;line-height:1.6;min-height:24px;overflow-wrap:anywhere}.message{margin-top:18px}.recovery{display:block;white-space:normal;overflow-wrap:anywhere;padding:20px;background:var(--bg);border:1px solid var(--accent);font-size:17px;letter-spacing:1px;margin:24px 0}.actions{display:grid;gap:12px}.stats{display:grid;gap:14px;margin:26px 0}.stat{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;gap:12px;font-size:14px}.stat b{font-weight:500;color:var(--accent)}details{border-top:1px solid var(--line);margin-top:30px;padding-top:18px}summary{cursor:pointer;min-height:44px}.logout{margin-top:18px}footer{max-width:1240px;margin:auto;padding:22px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;font-size:12px;color:var(--muted)}@media(min-width:800px){.intro-foot{display:flex}main{grid-template-columns:1fr 460px;gap:90px;align-items:center;padding-top:72px;padding-bottom:72px}.account-panel{padding:36px}.intro-foot{margin-top:68px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.brand-mark{font-size:32px;line-height:1;color:var(--accent)}

.account-panel{min-width:0;overflow-wrap:anywhere}

.google-section{margin:24px 0 12px}.google-note{margin:12px 0 0;font-size:12px}.google-button{min-height:44px;max-width:100%;overflow:hidden}.google-status:empty{display:none}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:22px 0}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--line);flex:1}#google-link{min-width:0}.privacy main{display:block;max-width:800px;min-height:0}.privacy h1{font-size:36px}.privacy h2{font-size:22px;margin-top:32px}.privacy li{margin:10px 0}

.learning-heading{font-size:16px;margin:28px 0 0;font-weight:500;color:var(--muted)}

/* GIS draws a dark button inside a light-scheme document. Match the iframe
   scheme so the browser keeps its surrounding canvas transparent. */
.google-button iframe{color-scheme:light;background:transparent}
