:root{--bg:#f3f6f8;--ink:#0f1c2a;--muted:#5f6a77;--card:#fff;--line:rgba(15,28,42,.08);--accent:#0f7173;--accent-2:#2f6fed;--accent-warm:#ff5c3d;--accent-warm-2:#e67e22;--success:#198754;--bg-orb-1:rgba(15,113,115,.2);--bg-orb-2:rgba(255,92,61,.15);--bg-base-1:#f8fafc;--bg-base-2:#eef4f7;--hero-orb-1:rgba(15,113,115,.2);--hero-orb-2:rgba(47,111,237,.05);--shadow:0 22px 50px rgba(10,25,40,.12)}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 15%,var(--bg-orb-1),transparent 28%),radial-gradient(circle at 88% 4%,var(--bg-orb-2),transparent 32%),linear-gradient(180deg,var(--bg-base-1) 0,var(--bg-base-2) 100%);color:var(--ink);font-family:Manrope,Segoe UI,sans-serif;margin:0;min-height:100vh}h1,h2,h3{font-family:Sora,Segoe UI,sans-serif;margin:0}p{margin:0}.page-shell{display:grid;gap:1.1rem;margin:2.2rem auto 3rem;width:min(1160px,calc(100% - 2.2rem))}.hero-card,.panel-card{background:color-mix(in oklab,var(--card) 93%,#f7fbff 7%);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.hero-card{align-items:end;display:grid;gap:1rem;grid-template-columns:1.3fr 1fr;overflow:hidden;padding:1.5rem;position:relative}.hero-card:after{aspect-ratio:1;background:linear-gradient(130deg,var(--hero-orb-1),var(--hero-orb-2));border-radius:999px;content:"";inset:auto -12% -42% auto;position:absolute;width:280px}.eyebrow{color:var(--muted);font-size:.78rem;letter-spacing:.12em;margin-bottom:.6rem;text-transform:uppercase}.hero-card h1{font-size:clamp(1.75rem,2.5vw,2.25rem);margin-bottom:.65rem}.hero-copy{color:var(--muted);max-width:56ch}.hero-metrics{display:grid;gap:.3rem;justify-items:end;position:relative;text-align:right;z-index:1}.hero-date{color:var(--muted);font-size:.9rem}.hero-progress{font-size:1.35rem;font-weight:800}.hero-pending{color:var(--accent-warm);font-weight:700}.source-chip{background:#fffc;border:1px solid rgba(15,28,42,.2);border-radius:999px;font-size:.75rem;margin-top:.35rem;padding:.3rem .6rem}.main-grid,.top-grid{display:grid;gap:1rem;grid-template-columns:1.5fr 1fr}.main-grid{align-items:start}.side-stack{display:grid;gap:1rem}.panel-card{padding:1rem}.section-head{display:grid;gap:.22rem;margin-bottom:.85rem}.section-head p{color:var(--muted);font-size:.9rem}.habit-form{display:grid;gap:.72rem}.habit-form fieldset,.habit-form label{border:0;color:var(--muted);display:grid;font-size:.86rem;gap:.35rem;margin:0;padding:0}input,select,textarea{background:#fff;border:1px solid rgba(15,28,42,.18);border-radius:10px;color:var(--ink);font:inherit;padding:.58rem .64rem}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in oklab,var(--accent) 60%,#fff 40%);outline-offset:1px}.inline-grid{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr))}.color-picker-row{align-items:center;display:flex;gap:.65rem}.color-picker-label{color:var(--muted);flex:0 0 auto;font-size:.86rem}.color-picker{align-items:center;display:flex;flex-wrap:nowrap;gap:.45rem;overflow-x:auto;scrollbar-width:thin}.color-dot{border:2px solid transparent;border-radius:999px;cursor:pointer;flex:0 0 auto;height:22px;width:22px}.color-dot.selected{border-color:var(--ink)}.primary-btn,.secondary-btn,.text-btn,.toggle-btn{border:0;border-radius:11px;cursor:pointer;font:inherit;padding:.58rem .85rem}.primary-btn{background:linear-gradient(130deg,var(--accent) 0,var(--accent-2) 100%);color:#fff;font-weight:700}.secondary-btn{background:#fff;border:1px solid rgba(15,28,42,.18)}.error-banner{background:#b339511f;border:1px solid rgba(179,57,81,.25);border-radius:10px;color:#8f2138;font-size:.9rem;padding:.7rem .82rem}.habit-list{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.habit-item{background:#fff;border:1px solid var(--line);border-radius:14px;display:grid;gap:.62rem;padding:.8rem}.habit-title-row{align-items:center;display:flex;gap:.65rem}.habit-color{border-radius:999px;flex-shrink:0;height:42px;width:10px}.habit-description,.habit-title-row p{color:var(--muted);font-size:.88rem}.habit-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.52rem}.toggle-btn{background:#0f71731f;color:#084f50;font-weight:700}.toggle-btn.done{background:#19875426;color:#13633e}.toggle-btn:disabled{cursor:not-allowed;opacity:.45}.text-btn{background:transparent;border:1px solid rgba(143,33,56,.2);color:#8f2138}.ratio-chip{color:var(--muted);font-size:.82rem;font-weight:700;margin-left:auto}.mini-track{display:grid;gap:.26rem;grid-template-columns:repeat(7,1fr)}.mini-dot{background:#e5eaef;border-radius:999px;height:8px;width:100%}.mini-dot.due{background:#c9d8e6}.mini-dot.done{background:var(--success)}.empty-card{border:1px dashed rgba(15,28,42,.2);border-radius:12px;color:var(--muted);padding:.95rem}.motivation-card{display:grid;gap:.72rem}.motivation-copy{line-height:1.4}.motivation-meta,.support-note{color:var(--muted);font-size:.88rem}.stats-grid{display:grid;gap:.62rem}.stat-box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.7rem}.stat-label{color:var(--muted);font-size:.86rem}.stat-value{font-size:1.46rem;font-weight:800}.stat-value.small{font-size:1.03rem}.stat-note{color:var(--muted);font-size:.82rem}.progress-track{background:#e8eff6;border-radius:999px;height:8px;margin-top:.45rem;overflow:hidden}.progress-fill{background:linear-gradient(130deg,var(--accent),var(--accent-2));display:block;height:100%}.progress-fill.warm{background:linear-gradient(130deg,var(--accent-warm),var(--accent-warm-2))}.heatmap-grid{display:grid;gap:.36rem;grid-template-columns:repeat(7,1fr)}.heat-cell{aspect-ratio:1;background:#e5eaef;border-radius:6px;width:100%}.heat-cell.i0{background:#eef3f7}.heat-cell.i1{background:#c6d5e3}.heat-cell.i2{background:#84a7c3}.heat-cell.i3{background:#3c7fa8}.heat-cell.i4{background:#0f7173}.heat-legend{align-items:center;color:var(--muted);display:flex;font-size:.8rem;gap:.45rem;justify-content:flex-end;margin-top:.8rem}.legend-scale{display:grid;gap:.2rem;grid-template-columns:repeat(4,14px)}@media(max-width:980px){.hero-card,.main-grid,.top-grid{grid-template-columns:1fr}.hero-metrics{justify-items:start;text-align:left}}@media(max-width:640px){.page-shell{margin-top:1.1rem;width:calc(100% - 1.2rem)}.inline-grid{grid-template-columns:1fr}.habit-actions{align-items:stretch}.ratio-chip{margin-left:0}}
