:root{color:#24211d;font-synthesis:none;text-rendering:optimizelegibility;background:#f2efe8;font-family:Hiragino Sans,Yu Gothic,YuGothic,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}.auth-shell{background:radial-gradient(circle at 88% 12%,#dab47047,#0000 34%),linear-gradient(135deg,#f8f5ee 0%,#eee8dc 100%);place-items:center;min-height:100vh;padding:clamp(2rem,7vw,7rem);display:grid}.login-panel{background:#f8f5eeeb;border:1px solid #cfc6b5;border-radius:1.25rem;width:min(100%,35rem);padding:clamp(2rem,5vw,4rem);box-shadow:0 2rem 5rem #4539271a}.login-panel h1{max-width:12ch;margin-top:1.5rem;font-size:clamp(2.4rem,6vw,4.5rem)}.login-lead{color:#5d574f;margin:1.5rem 0 0;line-height:1.8}.auth-message{color:#74301f;background:#a34c3617;border-left:3px solid #a34c36;margin:1.5rem 0 0;padding:.9rem 1rem;line-height:1.6}.login-form{gap:1.25rem;margin-top:2rem;display:grid}.login-form label{color:#5d574f;gap:.5rem;font-size:.85rem;font-weight:650;display:grid}.login-form input{color:#24211d;width:100%;min-height:3rem;font:inherit;background:#fffdf8;border:1px solid #bfb4a2;border-radius:.65rem;padding:.75rem .9rem}.login-form input:focus-visible,.login-form button:focus-visible,.sign-out-button:focus-visible{outline-offset:2px;outline:3px solid #8a4f2c47}.login-form button{color:#fffdf8;cursor:pointer;min-height:3rem;font:inherit;background:#24211d;border:0;border-radius:999px;font-weight:700}.login-form button:disabled{cursor:wait;opacity:.62}.app-shell{background:radial-gradient(circle at 88% 12%,#dab47047,#0000 34%),linear-gradient(135deg,#f8f5ee 0%,#eee8dc 100%);align-items:center;min-height:100vh;padding:clamp(2rem,7vw,7rem);display:grid}.hero{width:min(100%,74rem);margin-inline:auto}.context-header{border-bottom:1px solid #cfc6b5;justify-content:space-between;align-items:center;gap:1.5rem;margin:0 0 clamp(2rem,5vw,4rem);padding:0 0 1rem;display:flex}.session-context{align-items:center;gap:1.5rem;display:flex}.eyebrow{color:#8a4f2c;letter-spacing:.22em;margin:0;font-size:.8rem;font-weight:700}.sign-out-button{color:#5d574f;cursor:pointer;min-height:2.5rem;font:inherit;background:0 0;border:1px solid #bfb4a2;border-radius:999px;padding:0 1rem;font-size:.8rem;font-weight:650}.theme-context{color:#5d574f;align-items:baseline;gap:.75rem;font-size:.85rem;display:flex}.theme-context span{color:#9b8f7d}.theme-context strong{color:#24211d;font-weight:650}h1{letter-spacing:-.04em;max-width:10ch;margin:0;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(3rem,8vw,7.5rem);font-weight:600;line-height:1.04}.lead{color:#5d574f;max-width:41rem;margin:2rem 0 0;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.9}.cycle{background:#cfc6b5;border:1px solid #cfc6b5;border-radius:1rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:clamp(3rem,7vw,6rem) 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.cycle-step{background:#f8f5eeeb;flex-direction:column;justify-content:space-between;min-height:11rem;padding:1.5rem;display:flex}.cycle-index{color:#9b8f7d;font-family:ui-monospace,monospace;font-size:.75rem}.cycle-step h2{margin:2rem 0 .5rem;font-size:1.4rem;font-weight:650}.cycle-step p{color:#6c6459;margin:0;font-size:.9rem;line-height:1.6}@media (width<=760px){.app-shell{align-items:start}.cycle{grid-template-columns:1fr 1fr}}@media (width<=460px){.context-header{flex-direction:column;align-items:flex-start}.session-context{flex-direction:column;align-items:flex-start;gap:1rem;width:100%}.theme-context{flex-direction:column;align-items:flex-start;gap:.25rem}.cycle{grid-template-columns:1fr}}
