:root{--ink:#3f2a22;--muted:#7f5d50;--paper:#fff3df;--field:#fff9ed;--line:#d9ad8a;--accent:#f2a6b3;--accent-dark:#9d4f3f;--good:#6da76d;--bad:#8f5a08;--sun:#f4c95d;--ledger:#1f5b4b}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:linear-gradient(90deg,#3f2a220b 1px,#0000 1px) 0 0/38px 38px,linear-gradient(#3f2a2209 1px,#0000 1px) 0 0/38px 38px,radial-gradient(circle at 15% 12%,#f4c95d5c,#0000 25rem),radial-gradient(circle at 88% 6%,#1f5b4b29,#0000 24rem),linear-gradient(135deg,#fff3df 0%,#f2d5c0 100%);font-family:ui-serif,Georgia,Cambria,Times New Roman,serif}button,input,textarea,select{font:inherit}button,.nav-button{border:2px solid var(--ink);background:var(--ledger);color:var(--paper);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.1rem;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:4px 4px #3f2a222e}button:hover,.nav-button:hover{transform:translateY(-1px)}button:focus-visible,.nav-button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--sun);outline-offset:3px}button.secondary{color:var(--ink);background:#f7d39a}button.ghost,.nav-button.ghost{color:var(--ink);border:1px solid var(--line);box-shadow:none;background:#fff7e7}.challenge-card button.ghost{color:var(--ink);border-color:var(--line)}input,textarea,select{border:1px solid var(--line);background:var(--field);width:100%;color:var(--ink);border-radius:16px;margin-top:.3rem;padding:.72rem .9rem}textarea{resize:vertical;min-height:5.8rem}label{gap:.2rem;font-weight:800;display:grid}.shell{width:min(1120px,100% - 32px);margin:0 auto;padding:clamp(12px,2.5vw,28px) 0}.landing-shell{align-items:center;min-height:100vh;display:grid}.hero{max-width:820px;margin-bottom:18px}.compact-hero{margin-bottom:12px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent-dark);margin:0 0 6px;font:800 .7rem ui-sans-serif,system-ui}h1{letter-spacing:-.055em;margin:.1rem 0 .45rem;font-size:clamp(2.1rem,5.6vw,4.2rem);line-height:.9}.compact-hero h1{max-width:900px;font-size:clamp(1.85rem,4.8vw,3.5rem)}h2{letter-spacing:-.04em;margin:0 0 .65rem;font-size:clamp(1.25rem,2.5vw,1.9rem);line-height:1}.lede{color:var(--muted);max-width:760px;margin:0;font-size:clamp(1rem,1.5vw,1.18rem)}.landing-hero{grid-template-columns:minmax(0,1.06fr) minmax(310px,.72fr);align-items:center;gap:clamp(22px,5vw,68px);display:grid}.hero-copy{padding:clamp(18px,3vw,34px) 0;position:relative}.hero-copy:before{content:"";background:repeating-linear-gradient(to bottom, var(--ledger) 0 22px, transparent 22px 30px);border-radius:999px;width:7px;position:absolute;top:0;bottom:0;left:-18px}.hero-copy h1{max-width:780px}.login-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px;display:flex}.login-actions button{background:var(--ledger);box-shadow:0 16px 36px #1f5b4b33}.login-actions span{color:var(--muted);font:800 .84rem ui-sans-serif,system-ui}.practice-ledger{border:2px solid var(--ink);background:#fffbef;border-radius:6px 34px 6px 6px;padding:clamp(16px,2.6vw,26px);transform:rotate(-1.2deg);box-shadow:12px 12px #1f5b4b2e}.ledger-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-dark);margin:0 0 18px;font:900 .72rem ui-sans-serif,system-ui}.ledger-head{border-bottom:2px solid var(--ink);justify-content:space-between;gap:12px;margin-bottom:4px;padding-bottom:12px;display:flex}.ledger-head b{font-size:1.45rem;line-height:1}.ledger-head span{color:var(--muted);font:800 .8rem ui-sans-serif,system-ui}.ledger-row{border-bottom:1px dashed var(--line);grid-template-columns:1fr auto 38px;align-items:center;gap:10px;padding:13px 0;font:900 1rem ui-sans-serif,system-ui;display:grid}.ledger-row i{color:var(--muted);font-style:normal;font-weight:800}.ledger-row i.made,.ledger-days .made{color:var(--ledger)}.ledger-row i.missed,.ledger-days .missed{color:var(--bad)}.ledger-row b{background:var(--paper);width:34px;height:34px;color:var(--ink);border:1px solid var(--line);border-radius:50%;place-items:center;display:grid}.ledger-days{grid-template-columns:repeat(7,1fr);gap:7px;margin-top:20px;display:grid}.ledger-days span{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fff7e7;border-radius:10px;place-items:center;font:900 .8rem ui-sans-serif,system-ui;display:grid}.ledger-days span.made{background:#dbead1;border-color:#96b984}.ledger-days span.missed{background:#f8dfb5;border-color:#dea654}.landing-strip{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(28px,5vw,64px);display:grid}.landing-strip article{border:1px solid var(--line);background:#fffbefc7;border-radius:26px;padding:clamp(16px,2.2vw,24px);box-shadow:0 18px 54px #4b2f2a1a}.landing-strip b{background:var(--ledger);width:38px;height:38px;color:var(--paper);border-radius:50%;place-items:center;margin-bottom:18px;font:900 1rem ui-sans-serif,system-ui;display:grid}.landing-strip p{color:var(--muted);margin:0;line-height:1.5}.objection-board{border:2px solid var(--ink);background:#fff7e7;border-radius:34px 8px;grid-template-columns:.8fr 1.2fr;gap:clamp(18px,4vw,44px);margin-top:18px;padding:clamp(18px,3vw,32px);display:grid;box-shadow:10px 10px #9d4f3f24}.objection-board h2{font-size:clamp(1.7rem,3vw,3rem)}.objection-board dl{gap:12px;margin:0;display:grid}.objection-board dl div{border-bottom:1px dashed var(--line);padding-bottom:12px}.objection-board dt{color:var(--ink);font:900 1rem ui-sans-serif,system-ui}.objection-board dd{color:var(--muted);margin:4px 0 0;line-height:1.45}.join-shell{min-height:calc(100vh - 1px)}.panel{background:#fffbef;border:2px solid #3f2a22e0;border-radius:8px 28px 8px 8px;padding:clamp(16px,2.4vw,26px);position:relative;box-shadow:8px 8px #1f5b4b24}.panel:before{content:"";background:var(--ledger);opacity:.9;border-radius:6px 0 0 6px;width:9px;position:absolute;top:0;bottom:0;left:0}.panel>*{position:relative}.form-panel{gap:.75rem;max-width:620px;display:grid}.grid{grid-template-columns:1.05fr .95fr;align-items:start;gap:18px;display:grid}.dashboard-grid{margin-bottom:18px}.domain-alert{color:var(--ink);background:#f8d77a;margin-bottom:18px;font-weight:900}.challenge-list-item{width:100%;color:var(--ink);border:1px dashed var(--line);text-align:left;box-shadow:none;background:#fff7e7;border-radius:8px 18px 8px 8px;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;display:flex}.challenge-list-item span:first-child{gap:4px;display:grid}.challenge-list-item small{color:var(--muted);font:700 .9rem ui-sans-serif,system-ui}.challenge-archives{margin-bottom:18px}.challenge-archives summary{cursor:pointer;align-items:center;min-height:44px;font:900 1rem ui-sans-serif,system-ui;display:flex}.challenge-archives section{margin-top:14px}.archive-challenge-row{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.archive-challenge-row div{gap:4px;min-width:0;display:grid}.archive-challenge-row small{color:var(--muted);overflow-wrap:anywhere}.create-fab{box-shadow:0 16px 42px #fb850047}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3f2a226b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{width:min(620px,100%);max-height:min(90vh,760px);overflow:auto}.modal-close{justify-self:end}.challenge-review-fields{border:0;gap:.75rem;margin:0;padding:0;display:grid}.age-context{align-items:center;gap:.6rem;display:flex}.age-context input{width:auto}.challenge-review{border:1px dashed var(--line);background:var(--field);border-radius:8px;padding:14px}.challenge-review h3{margin:4px 0 8px}.review-task{white-space:pre-wrap;margin:0}.challenge-card{color:var(--ink);background:#fffbef}.challenge-card .eyebrow{color:var(--accent-dark)}.challenge-card p{color:var(--muted)}.challenge-card .card-note{color:var(--ink);margin-top:18px}.challenge-card textarea{background:var(--field);color:var(--ink);border-color:var(--line)}.ledger-sheet{background-image:repeating-linear-gradient(#0000 0 41px,#d9ad8a61 41px 42px)}.stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0;display:grid}.stats span{border:1px dashed var(--line);color:var(--muted);background:#fff7e7b8;border-radius:10px;padding:14px}.stats b{color:var(--ink);font-size:2rem;display:block}.muted{color:var(--muted)}.invite{min-height:8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.ok,.done{color:var(--good)}.missed{color:var(--bad)}.pending{color:var(--muted)}.actions{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.response-actions button{border:2px solid #f4fbff38;flex:220px;min-height:54px;box-shadow:0 10px 26px #00000029}.response-actions button[aria-pressed=true]{outline:3px solid #f4fbffb3}.checkin-hint{margin:-2px 0 10px;font:800 .9rem ui-sans-serif,system-ui}.note-toggle{margin-top:8px}.day-progress{gap:8px;margin-top:18px;display:grid}.day-progress-head{color:var(--muted);justify-content:space-between;font:900 .9rem ui-sans-serif,system-ui;display:flex}.day-progress-head b{color:var(--ink)}.day-progress-bar{flex-wrap:wrap;gap:6px;display:flex}.day-progress-bar span{min-height:30px;color:var(--muted);border:1px solid var(--line);background:#fff7e7;border-radius:8px;flex:1 0 28px;place-items:center;font:900 .78rem ui-sans-serif,system-ui;display:grid}.day-progress-bar .done{color:var(--ledger);background:#dbead1;border-color:#96b984;box-shadow:inset 0 0 0 2px #1f5b4b14}.day-progress-bar .missed{color:var(--bad);background:#f8dfb5;border-color:#dea654}.day-progress.compact{max-width:360px;margin-top:8px}.day-progress.compact .day-progress-head{display:none}.day-progress.compact .day-progress-bar span{border-radius:7px;flex-basis:18px;min-height:20px;font-size:.68rem}.participant-panel{gap:1rem;display:grid}.roster{grid-column:1/-1}.row{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:14px 0;display:flex}.progress-row span{gap:4px;display:grid}.progress-row small{color:var(--muted);font:700 .86rem ui-sans-serif,system-ui}.authbar{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--ink);background:#fff3dfeb;justify-content:flex-end;align-items:center;gap:12px;padding:8px 18px;font:900 .85rem ui-sans-serif,system-ui;display:flex;position:sticky;top:0}.authbar .nav-button{margin-right:auto}.authbar button{padding:.55rem .8rem}button:disabled{opacity:.55;cursor:not-allowed;transform:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.loops-panel{margin:0 0 18px;overflow:hidden}.loops-heading,.loop-form-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.loops-heading h2{margin-bottom:.3rem}.loop-filter-disclosure{border-bottom:2px solid var(--ink)}.loop-filter-disclosure>summary,.loop-action-menu>summary{cursor:pointer;min-height:44px;color:var(--muted);align-items:center;font:900 .82rem ui-sans-serif,system-ui;display:inline-flex}.loop-filter-disclosure>summary{width:100%}.loop-filters{grid-template-columns:auto 1fr;gap:18px;padding:4px 0 12px;display:grid}.loop-filters fieldset,.financial-fields{border:0;min-width:0;margin:0;padding:0}.loop-filters legend,.financial-fields legend{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font:900 .72rem ui-sans-serif,system-ui}.loop-filters label{cursor:pointer;align-items:center;gap:7px;min-height:44px;margin-right:14px;font:800 .86rem ui-sans-serif,system-ui;display:inline-flex}.loop-filters input,.clear-confirm input{width:20px;height:20px;accent-color:var(--ledger);margin:0}.loop-form{border-bottom:2px solid var(--ink);background:linear-gradient(90deg,#f4c95d1f,#0000);gap:16px;margin:10px 0 4px;padding:18px 0;display:grid}.loop-form-fields{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.loop-form h3,.loop-row h3{margin-top:0;font-size:1.3rem;line-height:1.1}.loop-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.loop-form-grid .wide{grid-column:1/-1}.loop-form label,.financial-fields label{min-width:0;font:800 .82rem ui-sans-serif,system-ui}.loop-form input,.loop-form select{min-height:44px}.optional{color:var(--muted);font-weight:700}.deadline-fields,.subtask-fields{border-top:1px dashed var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px 0 0;display:grid}.deadline-fields legend,.subtask-fields legend{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font:900 .72rem ui-sans-serif,system-ui}.deadline-fields .wide,.subtask-fields legend,.subtask-fields>button{grid-column:1/-1}.subtask-edit-row{grid-column:1/-1;grid-template-columns:28px minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.subtask-done{align-self:center}.subtask-done input{width:22px;height:22px;accent-color:var(--ledger);margin:0}.deadline-overdue{color:var(--bad);font-weight:900}.loop-subtasks{gap:6px;margin:10px 0;padding:0;list-style:none;display:grid}.loop-subtasks li{align-items:flex-start;gap:8px;font:800 .86rem ui-sans-serif,system-ui;display:flex}.loop-subtasks li.done{color:var(--muted);text-decoration:line-through}.financial-fields{border-top:1px dashed var(--line);grid-template-columns:1.15fr 1fr .7fr;gap:12px;padding:14px 0 0;display:grid}.financial-fields legend,.financial-fields p{grid-column:1/-1}.financial-fields p{color:var(--muted);margin:0;font:700 .78rem ui-sans-serif,system-ui}.clear-confirm{min-height:44px;color:var(--bad);grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;display:flex}.loop-error,.progress-followup{flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;display:flex}.loop-error{color:var(--bad);justify-content:space-between;font-weight:800}.loop-loading,.loop-empty{margin:0;padding:20px 0}.loop-list{display:grid}.loop-row{--age-color:var(--ledger);border-top:1px dashed var(--line);border-left:4px solid var(--age-color);min-width:0;padding:18px 0 18px 14px}.loop-row:first-child{border-top-color:#0000}.loop-row.age-days{--age-color:#7f9e76}.loop-row.age-weeks{--age-color:#c5a33f}.loop-row.age-months{--age-color:#cf7e39}.loop-row.age-1-year{--age-color:#a94f34}.loop-row.age-3-years{--age-color:#772f27}.loop-question-row h3{overflow-wrap:anywhere;margin:0;font-size:1.08rem;line-height:1.35}.loop-row-foot{flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:44px;margin-top:5px;display:flex}.loop-age{color:var(--muted);font:850 .72rem ui-sans-serif,system-ui}.loop-status{text-transform:uppercase;letter-spacing:.07em;border:1px solid;border-radius:999px;flex:none;padding:3px 7px;font:900 .63rem ui-sans-serif,system-ui}.status-stuck{color:var(--bad);background:#f8dfb5}.status-paused{color:#6b5d87;background:#ebe3f2}.status-closed{color:var(--muted);background:#eee5d8}.loop-actions{flex-wrap:wrap;align-items:flex-start;gap:6px;margin-left:auto;display:flex}.loop-actions button,.progress-followup button,.loop-error button{min-height:44px;box-shadow:none;padding:.55rem .75rem;font:850 .76rem ui-sans-serif,system-ui}.loop-actions .loop-yes{min-width:52px}.loop-action-menu>summary{border:1px solid var(--line);width:44px;min-height:44px;color:var(--ink);background:#fff7e7;border-radius:999px;justify-content:center;padding:0;scroll-margin-top:72px;list-style:none}.loop-action-menu>summary::-webkit-details-marker{display:none}.loop-action-menu[open]{flex:1 0 100%}.loop-actions:has(.loop-action-menu[open]){flex:1 0 100%}.loop-action-menu[open]>summary{margin-left:auto}.loop-menu-content{border-top:1px dashed var(--line);padding:10px 0 2px}.loop-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0 0 10px;display:grid}.loop-details div{min-width:0}.loop-details dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font:800 .68rem ui-sans-serif,system-ui}.loop-details dd{overflow-wrap:anywhere;margin:2px 0 0;line-height:1.4}.loop-secondary-actions{flex-wrap:wrap;gap:6px;padding-top:6px;display:flex}.progress-followup{border-block:1px solid var(--line);margin:12px 0}.progress-followup strong{flex:1 0 100%}.error{color:#7f2f1f;font-weight:900}@media (max-width:780px){.landing-shell{align-items:start}.landing-hero,.grid,.landing-strip,.objection-board{grid-template-columns:1fr}.practice-ledger{transform:none;box-shadow:7px 7px #1f5b4b29}.hero-copy:before{opacity:.55;width:4px;left:-8px}.stats{grid-template-columns:1fr}.archive-challenge-row{flex-direction:column;align-items:stretch}.archive-challenge-row button{align-self:flex-start}.loop-filters,.loop-details{grid-template-columns:1fr;gap:8px}.deadline-fields,.financial-fields{grid-template-columns:1fr 1fr}.deadline-fields button{grid-column:1/-1;justify-self:start}.financial-fields label:first-of-type{grid-column:1/-1}}@media (max-width:420px){.shell{width:min(100% - 20px,1120px)}.panel{padding-inline:14px}.loops-heading,.loop-form-heading{gap:10px}.loops-heading{align-items:flex-end}.loops-heading button{flex:none;padding-inline:.75rem}.loop-form-grid,.deadline-fields,.financial-fields{grid-template-columns:1fr}.subtask-edit-row{grid-template-columns:26px minmax(0,1fr)}.subtask-edit-row button{grid-column:2;justify-self:start}.loop-form-grid .wide,.financial-fields label:first-of-type{grid-column:auto}.progress-followup button{flex:130px}.loop-row{padding-left:10px}}
