:root{font-family:Microsoft YaHei,Noto Sans CJK SC,system-ui,sans-serif;color:#173b73;background:#edf5ff;font-synthesis:none;--ink: #173b73;--ink-strong: #0f326b;--muted: #6681aa;--accent: #4a7ff0;--accent-light: #78a9ff;--line: rgb(122 164 232 / 25%);--glass: rgb(255 255 255 / 78%);--glass-strong: rgb(255 255 255 / 90%);--success: #179b68;--warning: #c66c23;--error: #c44248}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 10% 8%,rgb(136 183 255 / 42%) 0 8%,transparent 29%),radial-gradient(circle at 88% 20%,rgb(194 211 255 / 48%) 0 7%,transparent 28%),radial-gradient(circle at 50% 105%,rgb(151 205 255 / 40%) 0 12%,transparent 42%),linear-gradient(155deg,#f8fbff,#eaf3ff 48%,#dbeaff);background-attachment:fixed}button,input{font:inherit}button{min-height:46px;cursor:pointer;border:1px solid rgb(255 255 255 / 62%);border-radius:15px;padding:11px 18px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-light));box-shadow:0 10px 24px #3465bc38;font-weight:800;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}button:hover:not(:disabled){box-shadow:0 13px 28px #3465bc4a;transform:translateY(-1px)}button:disabled{cursor:wait;opacity:.62}button:focus-visible,input:focus-visible{outline:3px solid rgb(74 127 240 / 35%);outline-offset:2px}.app-shell{position:relative;isolation:isolate;max-width:980px;min-height:100vh;margin:0 auto;padding:28px 18px 54px;overflow:hidden}.app-shell:before,.app-shell:after{position:absolute;z-index:-1;width:360px;height:360px;border-radius:50%;content:"";filter:blur(22px);pointer-events:none}.app-shell:before{top:-170px;right:-160px;background:radial-gradient(circle,rgb(109 164 255 / 35%),transparent 69%)}.app-shell:after{bottom:-190px;left:-160px;background:radial-gradient(circle,rgb(158 188 255 / 35%),transparent 69%)}.brand-header{display:flex;align-items:center;gap:13px;margin-bottom:28px}.brand-seal,.card-mark{display:block;flex:0 0 auto;object-fit:cover;border-radius:50%;color:#fff;background:linear-gradient(145deg,#79adff,#477eea 64%,#635fc7);box-shadow:0 9px 22px #3265bf3d;font-weight:900}.brand-seal{width:55px;height:55px;font-size:22px}h1,h2,p{margin:0}h1{color:var(--ink-strong);font-size:clamp(25px,4.5vw,33px);line-height:1.15;letter-spacing:.02em}.brand-header p,.toolbar,.panel-intro,.eyebrow,dt{color:var(--muted)}.brand-header p{margin-top:5px}.plain{min-height:38px;margin-left:auto;padding:7px 13px;color:var(--accent);border:1px solid rgb(91 137 218 / 28%);background:#ffffffa8;box-shadow:0 8px 22px #345b971a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.panel{border:1px solid rgb(255 255 255 / 78%);border-radius:24px;background:var(--glass);box-shadow:0 14px 34px #2d569524;backdrop-filter:blur(24px) saturate(125%);-webkit-backdrop-filter:blur(24px) saturate(125%)}.form-panel{max-width:450px;margin:clamp(28px,8vh,88px) auto;padding:25px}h2{color:var(--ink-strong);font-size:22px;line-height:1.35}.panel-intro{margin-top:8px;line-height:1.55}.eyebrow{margin-bottom:6px;font-size:12px;font-weight:850;letter-spacing:.12em}label{display:grid;gap:7px;margin:17px 0;color:var(--ink);font-weight:750}input{width:100%;min-height:49px;padding:12px 13px;color:var(--ink-strong);border:1px solid rgb(104 148 221 / 34%);border-radius:13px;background:var(--glass-strong);transition:border-color .16s ease,box-shadow .16s ease}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4a7ff024;outline:none}.form-panel>button{width:100%}.security-note{margin-top:17px;padding:10px 12px;color:#2b65c2;border:1px solid rgb(89 137 220 / 14%);border-radius:12px;background:#5c90ea1a;font-size:14px;font-weight:700}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px;padding:0 2px}.toolbar button{min-height:42px;padding:8px 16px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,295px),1fr));gap:16px}.account{padding:19px}.account-heading,.stamina-row{display:flex;align-items:center;gap:10px}.account-heading{justify-content:space-between}.account-heading h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-badge{flex:0 0 auto;padding:5px 9px;color:var(--success);border:1px solid rgb(23 155 104 / 15%);border-radius:999px;background:#179b681c;font-size:12px;font-weight:800;white-space:nowrap}.sync-badge.stale{color:var(--warning);border-color:#c66c2326;background:#c66c231a}.stamina-row{justify-content:space-between;margin:17px 0 13px}.stamina{display:flex;align-items:baseline;gap:5px}.stamina strong{color:var(--accent);font-size:48px;line-height:.98}.stamina span{color:var(--muted)}.card-mark{width:45px;height:45px;color:var(--accent);border:1px solid rgb(91 137 218 / 16%);background:#4a7ff01a;box-shadow:none;font-size:18px}.actual-stamina{display:grid;gap:3px;padding:11px 13px;border:1px solid rgb(118 158 222 / 12%);border-radius:13px;background:#e0edffa8}.actual-stamina span{color:var(--muted);font-size:13px;font-weight:700}.actual-stamina strong{color:var(--ink-strong)}.state{display:inline-block;width:fit-content;padding:6px 10px;color:#2b65c2;border-radius:999px;background:#4a7ff01a;font-size:13px;font-weight:800}.hint,.error{margin-top:12px;padding:10px 12px;color:var(--error);border:1px solid rgb(196 66 72 / 12%);border-radius:12px;background:#c4424814;line-height:1.5}.schedule{display:grid;gap:12px;margin:14px 0 0;padding-top:14px;border-top:1px solid var(--line)}.schedule div{display:grid;gap:3px}dt{font-size:13px;font-weight:700}dd{margin:0;color:var(--ink-strong);font-weight:750;line-height:1.45;overflow-wrap:anywhere}.empty{padding:30px;color:var(--muted);text-align:center}@media(max-width:520px){.app-shell{padding:20px 13px 44px}.brand-header{margin-bottom:22px}.brand-seal{width:49px;height:49px}.form-panel{margin-top:26px;padding:20px}.toolbar{align-items:flex-start;flex-direction:column}.toolbar button{width:100%}}@media(max-width:360px){.brand-header{gap:10px}.brand-seal{width:43px;height:43px;font-size:19px}h1{font-size:23px}.account{padding:16px}.sync-badge{font-size:11px}}@media(prefers-reduced-motion:reduce){button{transition:none}}
