:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;color:#2b2926;background:#faf7f0;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.app-shell{min-height:100vh}.topbar{height:56px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:#fffdf8;border-bottom:1px solid #e3ddd0;position:sticky;top:0;z-index:2}.brand{font-weight:700;color:#a83a32}.brand span{color:#6e6a60;font-size:12px;margin-left:6px;font-weight:400}nav{display:flex;align-items:center;gap:6px}nav button{border:0;background:transparent;padding:6px 10px;color:#6e6a60;cursor:pointer}nav button.active{color:#a83a32;font-weight:700}.link-button{color:#3f5e7a}.content{width:min(960px,calc(100% - 32px));margin:0 auto;padding:28px 0 48px}.page-heading{display:flex;justify-content:space-between;margin-bottom:20px}h1{margin:0;font:700 24px/1.4 "Noto Serif SC",serif}h2{margin:0 0 12px;font-size:16px}p{margin:8px 0;color:#4a463f}.page-heading p{color:#6e6a60;font-size:13px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.metric{background:#fffdf8;border:1px solid #e3ddd0;border-radius:8px;padding:14px}.metric span{display:block;color:#6e6a60;font-size:12px}.metric strong{display:block;margin-top:4px;font-size:24px}.metrics.compact .metric strong{font-size:20px}.panel,.state-card{background:#fffdf8;border:1px solid #e3ddd0;border-radius:8px;padding:18px;margin:14px 0}.state-card{text-align:center}.error{color:#c03a2b!important}.muted{color:#6e6a60}.report-period{color:#6e6a60;font-size:13px}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;color:#4a463f}.report-head{display:flex;justify-content:space-between;gap:10px}.report-head span{color:#6e6a60;font-size:12px}.setting-form{display:grid;gap:14px;max-width:520px}.setting-form label{display:flex;align-items:center;justify-content:space-between;gap:16px}.setting-form input[type=time]{border:1px solid #e3ddd0;border-radius:6px;padding:7px 9px;background:#fffdf8}.setting-form small{color:#6e6a60}.primary{border:0;border-radius:6px;background:#a83a32;color:#fffdf8;padding:9px 16px;cursor:pointer}.primary:disabled{opacity:.55;cursor:default}@media(max-width:640px){.content{width:calc(100% - 24px);padding-top:20px}.topbar{padding:0 12px}nav button{padding:5px 6px;font-size:12px}.metrics,.score-grid{grid-template-columns:repeat(2,1fr)}.report-head{display:block}.report-head span{display:block;margin-top:4px}}
