:root{--surface:#f4efe6;--ink:#25231f;--muted:#716b61;--accent:#bb5c3d;--success:#47745b;--danger:#a63d35;--focus:#2f6f9f;--spacing:1rem;--radius:14px;--shadow:0 12px 30px #34291b14;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#ddd2c2}*{box-sizing:border-box}body{margin:0;background:var(--surface);min-height:100vh}button,input,select{font:inherit}button{min-height:44px;border:1px solid #28231e;border-radius:999px;padding:.65rem 1rem;background:transparent;color:var(--ink);cursor:pointer}button:hover{background:#e8ddcf}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.danger{border-color:var(--danger);color:var(--danger)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.shell{max-width:1180px;margin:auto;padding:clamp(1rem,4vw,3rem)}header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:3rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--accent);font-weight:700}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.05}h1{font-size:clamp(2.5rem,6vw,5.5rem);max-width:720px;margin:.4rem 0 1rem}h2{font-size:2rem;margin:.2rem 0 1rem}p{line-height:1.55}.muted{color:var(--muted)}.notice{border-left:4px solid var(--accent);padding:.8rem 1rem;background:#eadfce;margin:1rem 0}.onboard{width:calc(100% - 1.8rem);max-width:720px;min-width:0;margin:4vh auto;background:#fffaf2;padding:clamp(1rem,5vw,3rem);box-shadow:var(--shadow);border-radius:var(--radius);overflow-wrap:anywhere}form{display:grid;gap:1rem}label{display:grid;gap:.35rem;font-weight:700}input,select{width:100%;min-height:44px;border:1px solid #9f9588;border-radius:8px;padding:.6rem;background:#fffdf8}.days{display:flex;flex-wrap:wrap;gap:.5rem}.days label{display:flex;flex-direction:row;align-items:center;border:1px solid #bdb1a1;padding:.5rem;border-radius:999px;font-weight:500}.days input{width:auto;min-height:auto}.actions{display:flex;gap:.65rem;flex-wrap:wrap}.today{background:#fffaf2;border-radius:var(--radius);padding:clamp(1.25rem,4vw,3rem);box-shadow:var(--shadow);margin-bottom:1rem}.today .session-title{font-size:clamp(2rem,5vw,4rem);margin:.6rem 0}.grid{display:grid;grid-template-columns:1.3fr .7fr;gap:1rem}.card{background:#fffaf2;border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow)}.plan{display:grid;gap:.6rem}.session{display:grid;grid-template-columns:95px 1fr auto;gap:1rem;align-items:center;border-top:1px solid #ddd2c2;padding:1rem 0}.session:first-child{border-top:0}.status{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.completed{color:var(--success)}.skipped{color:var(--danger)}.metric{font-size:2rem;font-family:Georgia,serif}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.history li{margin:.5rem 0}.error{color:var(--danger);font-weight:700}.success{color:var(--success);font-weight:700}dialog{border:0;border-radius:var(--radius);padding:0;max-width:500px;width:calc(100% - 2rem);box-shadow:0 20px 80px #0005}dialog::backdrop{background:#25231f99}.dialog-body{padding:1.5rem}@media(max-width:760px){header{margin-bottom:2rem}.grid{grid-template-columns:1fr}.session{grid-template-columns:1fr auto;gap:.35rem}.session .status{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
header,.grid,.card,.today,.session,form,.actions,.toolbar{min-width:0}h1,h2,h3,p,.session-title,.status,.history{overflow-wrap:anywhere}button{max-width:100%}@media(max-width:479px){.shell{padding:.9rem}.onboard,.today,.card{padding:1rem}.onboard{margin:4vh auto}.onboard h1{font-size:clamp(2rem,12vw,3rem)}header{flex-direction:column;gap:.75rem;margin-bottom:1.75rem}.actions,.toolbar{align-items:stretch}.actions button,.toolbar button{flex:1 1 100%}.session{grid-template-columns:1fr;gap:.45rem}.session .status{grid-column:auto}.session button{justify-self:start}dialog{width:calc(100% - 1rem)}.dialog-body{padding:1rem}}@media(min-width:480px) and (max-width:767px){.shell{padding:clamp(1rem,5vw,2rem)}header{margin-bottom:2rem}.grid{grid-template-columns:1fr}.session{grid-template-columns:minmax(6rem,auto) minmax(0,1fr);gap:.75rem}.session button{grid-column:2;justify-self:start}.session .status{grid-column:1/-1}.actions button,.toolbar button{flex:0 1 auto}}@media(min-width:768px){header{margin-bottom:2.5rem}.grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.session{grid-template-columns:minmax(5rem,95px) minmax(0,1fr) auto}.actions,.toolbar{align-items:center}.dialog-body{padding:1.5rem}}
