@font-face{font-family:Zuume;src:url('/assets/Zuume-Black.ttf')}@font-face{font-family:Amador;src:url('/assets/Amador-Regular.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eeefda;color:#18171e;font-family:Arial,sans-serif;line-height:1.5}button,input,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit}button,.button{border:2px solid #18171e;background:#ff4411;color:#18171e;padding:.8rem 1.15rem;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;box-shadow:3px 3px 0 #18171e;transition:transform .12s,box-shadow .12s}button:hover,.button:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 #18171e}button:active{transform:translate(3px,3px);box-shadow:none}button.secondary,.button.secondary{background:transparent}button.small{padding:.5rem .75rem;box-shadow:2px 2px 0 #18171e;font-size:.85rem}button:disabled{opacity:.55;cursor:not-allowed}input,textarea{width:100%;border:2px solid #18171e;background:#fffef5;padding:.8rem;border-radius:0;color:#18171e}textarea{min-height:100px;resize:vertical}input[type=checkbox],input[type=radio]{width:auto;accent-color:#ff4411}label{display:block;font-weight:700}label input:not([type=checkbox]):not([type=radio]),label textarea{margin-top:.4rem}fieldset{border:0;padding:0;margin:0}legend{font-weight:800} :focus-visible{outline:3px solid #5944d2;outline-offset:3px}.shell{max-width:1400px;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 4%;border-bottom:2px solid #18171e}.logo{width:120px;height:40px;object-fit:contain;object-position:left center}.toplinks{display:flex;align-items:center;gap:1.2rem;font-size:.88rem;font-weight:800}.toplinks a{text-decoration:none}.layout{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:calc(100vh - 80px)}.side{border-right:2px solid #18171e;padding:2rem 1.2rem}.side h2,.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:900}.side nav{display:grid;gap:.3rem}.side a{padding:.75rem;text-decoration:none;font-weight:800}.side a.active,.side a:hover{background:#18171e;color:#eeefda}.main{padding:3rem clamp(1.2rem,4vw,4.5rem);max-width:1200px;width:100%}.display{font:normal clamp(4rem,8vw,7.5rem)/.85 Zuume,Impact,sans-serif;text-transform:uppercase;margin:.3rem 0 1rem}.script{font:normal 1.6rem Amador,serif}.lede{font-size:1.1rem;max-width:620px}.row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}.stack{display:grid;gap:1rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.card{border:2px solid #18171e;background:#fffef5;padding:clamp(1.2rem,3vw,2rem);box-shadow:4px 4px 0 #18171e}.card.sand{background:#e9d6c1}.card.orange{background:#ff4411}.card.dark{background:#18171e;color:#eeefda}.card h2,.card h3{margin:.2rem 0 .6rem}.card h2,.section-title{font:normal 2.7rem/.95 Zuume,Impact,sans-serif;text-transform:uppercase}.card p{margin:.4rem 0 1rem}.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:end;margin-bottom:2rem}.hero-note{border-left:4px solid #ff4411;padding-left:1rem}.section{margin-top:2.5rem}.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.section-title{margin:0}.muted{color:#595850}.dark .muted{color:#d4d4c8}.pill{display:inline-block;border:1.5px solid currentColor;padding:.2rem .55rem;text-transform:uppercase;font-size:.65rem;font-weight:900;letter-spacing:.08em}.status{font-size:.8rem;font-weight:700}.notice{padding:1rem;border:2px solid #18171e;background:#ffdecd;margin-bottom:1rem}.success{background:#ddedcb}.steps{display:flex;gap:.5rem;overflow-x:auto;padding:.3rem .2rem 1rem;margin-bottom:1rem}.steps button{white-space:nowrap;background:transparent;box-shadow:none;border:1.5px solid #18171e;padding:.65rem .8rem;font-size:.8rem}.steps button.active{background:#18171e;color:#eeefda}.question{padding:1.2rem 0;border-top:1px solid #b7b7aa}.question:first-child{border:0}.options{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.8rem}.option{border:1.5px solid #18171e;padding:.45rem .65rem;font-size:.8rem;cursor:pointer;background:#fffef5}.option:has(input:checked){background:#ff4411}.option input{margin-right:.3rem}.form-grid{display:grid;gap:1rem}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.day{border:1.5px solid #18171e;padding:.65rem;text-align:center}.day.active{background:#ff4411}.day input{display:block;margin:.4rem auto}.log-row{border-top:1px solid #b7b7aa;padding:1rem 0}.bar{height:12px;background:#e9d6c1;border:1px solid #18171e}.bar span{display:block;background:#ff4411;height:100%}.score{display:grid;grid-template-columns:100px 1fr 65px;align-items:center;gap:.8rem;margin:.8rem 0}.auth{max-width:520px;margin:5vh auto}.auth .logo{margin-bottom:2rem}.privacy{font-size:.85rem;border-left:3px solid #ff4411;padding-left:1rem}.loading{padding:3rem}.file-input{max-width:100%}.history{border-top:1px solid #aaa;padding:.8rem 0}.footer{padding:2rem 4%;border-top:2px solid #18171e;font-size:.8rem;display:flex;justify-content:space-between;gap:1rem}.error{color:#8d1906;font-weight:bold}.mobile-nav{display:none}@media(max-width:760px){.topbar{padding:1rem}.logo{width:100px}.toplinks{gap:.7rem;font-size:.75rem}.layout{display:block}.side{display:none}.main{padding:2rem 1rem 4rem}.hero,.grid{grid-template-columns:1fr}.hero{gap:1rem}.display{font-size:4.5rem}.mobile-nav{display:flex;gap:.4rem;overflow:auto;padding:.8rem 1rem;border-bottom:2px solid #18171e}.mobile-nav a{white-space:nowrap;text-decoration:none;font-size:.8rem;font-weight:bold;padding:.5rem}.mobile-nav a.active{background:#18171e;color:#eeefda}.days{grid-template-columns:repeat(4,1fr)}.score{grid-template-columns:80px 1fr 55px}.footer{display:block}}
/* A quieter workspace: colour and type carry the identity, actions carry the weight. */
.card{border:1px solid #18171e33;border-radius:12px;box-shadow:none;background:#fffef8}.card.dark,.card.orange{border-color:transparent}button,.button{border-radius:8px;box-shadow:0 3px 0 #18171e}button:hover,.button:hover{transform:translateY(2px);box-shadow:0 1px 0 #18171e}button.secondary,.button.secondary{box-shadow:none;background:transparent}button.small{box-shadow:0 2px 0 #18171e}input,textarea,select{border-radius:8px}select{display:block;width:100%;margin-top:.4rem;padding:.8rem;border:2px solid #18171e;background:#fffef8;color:#18171e}label select{margin-bottom:1rem}.option{border-radius:8px;min-height:44px;display:inline-flex;align-items:center}.side a{border-radius:8px}.side a.active,.side a:hover,.mobile-nav a.active{background:#ff4411;color:#18171e}.steps button{border-radius:8px}.display{font-size:clamp(3.2rem,5vw,4.3rem)}body:has(.auth) .display,body:not(:has(.layout)) .hero .display{font-size:clamp(4.5rem,8vw,7.5rem)}:focus-visible{outline:3px solid #ff4411;outline-offset:3px}.bar{border-radius:8px;overflow:hidden}.day{border-radius:8px}.topbar{min-height:72px}@media(max-width:760px){.display{font-size:3.2rem}.mobile-nav a{border-radius:8px}}
/* The Discipline space uses Marpe's night and lilac palette. */
:root{color-scheme:dark}body{background:#100f17;color:#f7f3ff;font-family:'Helvetica Neue',Arial,sans-serif}.logo{filter:brightness(0) invert(1)}.topbar,.mobile-nav,.footer{border-color:#3c354d}.side{background:#160f24;border-color:#3c354d}.side a.active,.side a:hover,.mobile-nav a.active{background:#352248;color:#f7f3ff}.side h2,.eyebrow{color:#c6acd9}.display,body:has(.auth) .display,body:not(:has(.layout)) .hero .display{font:800 clamp(2.25rem,4vw,3.25rem)/1.08 'Helvetica Neue',Arial,sans-serif;letter-spacing:-.035em;text-transform:none}.section-title,.card h2{font:800 clamp(1.45rem,2vw,1.9rem)/1.15 'Helvetica Neue',Arial,sans-serif;letter-spacing:-.025em;text-transform:none}.script{font:700 1.1rem 'Helvetica Neue',Arial,sans-serif}.card,.card.sand,.card.dark{background:#1c1a26;color:#f7f3ff;border:1px solid #3c354d;border-radius:20px;box-shadow:none}.card.orange{background:#352248;color:#f7f3ff;border:1px solid #604579}.hero-note,.privacy{border-color:#c18af3}.muted,.dark .muted{color:#b1aabd}.card p,.lede{color:#d3ccdc}button,.button{background:#c18af3;color:#210843;border:2px solid #c18af3;border-bottom:5px solid #7951ad;border-radius:14px;box-shadow:none;transform:none;padding:.75rem 1.1rem}button:hover,.button:hover{filter:brightness(1.08);transform:none;box-shadow:none}button:active,.button:active{transform:translateY(3px);border-bottom-width:2px;box-shadow:none}button.secondary,.button.secondary{background:#252132;color:#f7f3ff;border:2px solid #4c405f;border-bottom:5px solid #342a43;box-shadow:none}button.small{box-shadow:none}input,textarea,select{background:#100f17;color:#f7f3ff;border:2px solid #4c405f;border-radius:12px}input[type=checkbox],input[type=radio]{accent-color:#c18af3}input:disabled,textarea:disabled{opacity:.55}.option{background:#252132;color:#f7f3ff;border:2px solid #4c405f;border-radius:12px}.option:has(input:checked){background:#352248;border-color:#c18af3}.steps button{background:#1c1a26;color:#d8cce3;border:1px solid #4c405f;border-radius:10px;box-shadow:none}.steps button.active{background:#352248;color:#f7f3ff;border-color:#c18af3}.day{border-color:#4c405f}.day.active{background:#352248;border-color:#c18af3}.bar{background:#352b40;border-color:#4c405f}.bar span{background:#c18af3}.question,.log-row,.history{border-color:#3c354d}.pill{border-color:#9277a6}.notice,.success{background:#352248;color:#f7f3ff;border:1px solid #7951ad;border-radius:12px}.error{color:#ffaaa9}:focus-visible{outline:3px solid #c18af3;outline-offset:3px}.hero{margin-bottom:1.5rem}.hero-note{padding:.2rem 0 .2rem 1rem}.hero-note p{margin:.25rem 0}.section{margin-top:2rem}.footer{color:#b1aabd}@media(max-width:760px){.topbar{min-height:56px}.main{padding:1.5rem 1rem 6rem}.display,body:has(.auth) .display,body:not(:has(.layout)) .hero .display{font-size:2.25rem}.hero{gap:.5rem;margin-bottom:1rem}.hero-note{display:none}.section-head{margin-bottom:.65rem}.section{margin-top:1.5rem}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;justify-content:space-around;background:#160f24;border-top:1px solid #3c354d;border-bottom:0;padding:.5rem}.mobile-nav a{flex:1;text-align:center}.card{padding:1.2rem}.toplinks .button{padding:.55rem}.footer{padding-bottom:5rem}}
progress{display:block;width:100%;max-width:240px;height:9px;margin:.75rem 0 1rem;accent-color:#c18af3}progress::-webkit-progress-bar{background:#352b40;border-radius:9px}progress::-webkit-progress-value{background:#c18af3;border-radius:9px}
