:root{--paper:#f5f1ea;--surface:#fffdf9;--ink:#202a25;--muted:#778078;--line:#d9ded8;--accent:#d35e49;--green:#33735d}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.55 system-ui,-apple-system,"Segoe UI","Noto Sans SC",sans-serif}.shell{width:min(100% - 28px,980px);margin:auto;padding:18px 0 50px}.topbar,.overview,.section-head,.footer{display:flex;justify-content:space-between;gap:14px;align-items:center}.topbar{padding-bottom:16px;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;font-weight:750}.brand-mark{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;background:var(--accent);color:#fff;margin-right:8px}.read-only,.subline,.footnote,.kicker{color:var(--muted);font-size:12px}.overview{align-items:end;padding:34px 0 20px}.kicker{margin:0 0 6px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700}h1{font-size:clamp(30px,6vw,52px);line-height:1;margin:0 0 10px}h2{margin:0;font-size:20px}.date-block{text-align:right;color:var(--muted)}.date-block strong{display:block;color:var(--ink);font-size:20px}.status-panel{min-height:150px;background:var(--ink);color:#fff;border-radius:8px;padding:25px;display:flex;align-items:end;gap:18px}.status-word{font-size:clamp(42px,10vw,74px);font-weight:760;line-height:.95}.status-rule{height:1px;flex:1;background:#ffffff38;margin-bottom:8px}.status-meta{color:#b9c6bd;font-size:12px;display:flex;flex-direction:column;text-align:right}.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:12px}.metric{padding:18px 15px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric span,.metric small{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:25px;margin:8px 0 2px}.section-block{padding:22px 0;border-top:1px solid var(--line);margin-top:18px}.range-switch{display:flex;gap:4px}.range-btn,.icon-btn{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:6px 10px;color:var(--muted);cursor:pointer}.range-btn.is-active{background:#f3dcd5;color:var(--ink);font-weight:700}.trend{display:flex;align-items:end;gap:8px;min-height:165px;padding:10px 4px 28px;border-bottom:1px solid var(--line)}.trend-item{flex:1;text-align:center}.trend-bar{width:min(34px,70%);margin:auto;background:var(--green);border-radius:4px 4px 0 0}.trend-label,.trend-value{display:block;font-size:11px;color:var(--muted)}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-head{text-align:center;color:var(--muted);font-size:11px}.day-btn{min-height:46px;border:1px solid var(--line);border-radius:6px;background:var(--surface);position:relative;cursor:pointer}.day-btn span{position:absolute;left:7px;top:5px}.day-btn i{position:absolute;right:7px;bottom:7px;width:6px;height:6px;border-radius:50%;background:transparent}.day-btn[data-status=studied] i{background:var(--green)}.day-btn[data-status=not_studied] i{background:var(--accent)}.day-btn.is-selected{box-shadow:inset 0 0 0 1px var(--accent)}.calendar-spacer{min-height:46px}.detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.detail-stat{border-left:2px solid var(--line);padding:9px}.detail-stat span{display:block;color:var(--muted);font-size:11px}.detail-stat strong{font-size:18px}.word-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.word{border-top:1px solid var(--line);padding-top:7px}.word small{display:block;color:var(--muted);font-size:11px}.footer{margin-top:28px;color:var(--muted);font-size:11px}@media(max-width:680px){.shell{width:min(100% - 20px,620px)}.overview{align-items:start}.status-panel{align-items:start;flex-direction:column}.status-rule{width:100%;flex:none;margin:0}.status-meta{width:100%;flex-direction:row;justify-content:space-between;text-align:left}.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-block{padding:18px 0}.detail-summary{grid-template-columns:repeat(2,1fr)}.word-list{grid-template-columns:repeat(2,1fr)}.footer{align-items:start;flex-direction:column}}
