:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-900:#0f172a;--paid:#15803d;--paid-50:#f0fdf4;--due:#b45309;--due-50:#fffbeb;--late:#dc2626;--late-50:#fef2f2;--ink:var(--gray-900);--ink-2:var(--gray-600);--pencil:var(--gray-500);--rule:var(--gray-200);--hover:var(--gray-50);--focus:var(--primary-500);--ring:0 0 0 1px #0f172a0f;--shadow-sm:0 1px 2px #0f172a0f;--shadow:0 1px 3px #0f172a14, 0 4px 12px -2px #0f172a0f;--shadow-lg:0 12px 32px -8px #0f172a2e;--radius:12px;--radius-lg:16px;--gap:1.25rem;--cell:2.75rem;--text:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--num:var(--text);font-family:var(--text);color:var(--ink);background:var(--gray-50);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}*{box-sizing:border-box}body{background:var(--gray-50);margin:0}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.to-top{z-index:40;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));background:var(--gray-900);color:#fff;border:0;border-radius:3px;place-items:center;width:2.75rem;height:2.75rem;min-height:0;padding:0;display:grid;position:fixed;box-shadow:0 8px 20px -8px #0f172a80}.to-top:hover{background:var(--primary-600);color:#fff}.to-top svg{width:1.25rem;height:1.25rem}@media (width<=899px){body:has(.bottom-nav) .to-top{bottom:calc(5.25rem + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:no-preference){.to-top{animation:.3s cubic-bezier(.16,1,.3,1) hp-arrive}}::selection{color:var(--gray-900);background:#fde047}a{color:var(--primary-600);font-weight:500;text-decoration:none}a:hover{color:var(--primary-700);text-underline-offset:.2em;text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}html{scrollbar-color:var(--gray-300) transparent}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;color:var(--ink);margin:0;font-weight:800;line-height:1.15}h1{font-size:clamp(1.75rem,4.5vw,2.25rem)}h2{letter-spacing:-.01em;margin:0 0 .85rem;font-size:1.15rem;font-weight:700}h3{letter-spacing:-.01em;font-size:1rem;font-weight:700}p{max-width:68ch;margin:.5rem 0}.num,td.num,th.num{font-variant-numeric:tabular-nums;font-weight:600}td.num,th.num{text-align:right;white-space:nowrap}.muted{color:var(--pencil)}.small{font-size:.85rem}.error{color:var(--late);background:var(--late-50);border-radius:10px;margin:.5rem 0;padding:.6rem .8rem;font-weight:500}.ok{color:var(--paid);background:var(--paid-50);border-radius:10px;margin:.5rem 0;padding:.6rem .8rem;font-weight:500}.avatar{background:var(--primary-100);width:2.25rem;height:2.25rem;color:var(--primary-700);border-radius:999px;flex:none;place-items:center;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-grid}a.avatar:hover{background:var(--primary-200);text-decoration:none}.side{display:none}.mtop{z-index:20;-webkit-backdrop-filter:saturate(1.4)blur(8px);backdrop-filter:saturate(1.4)blur(8px);border-bottom:1px solid var(--rule);background:#ffffffeb;justify-content:space-between;align-items:center;gap:.75rem;height:3.5rem;padding:0 1rem;display:flex;position:sticky;top:0}.logo{flex:none;width:auto;height:1.3rem}.mtop .brand{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.55rem;min-width:0;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.mtop-switch,.side-switch{width:2.25rem;height:2.25rem;color:var(--pencil);border-radius:8px;flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.mtop-switch:hover,.side-switch:hover{background:var(--gray-100);color:var(--ink);text-decoration:none}.mtop-switch svg,.side-switch svg{width:1.25rem;height:1.25rem}.bottom-nav{z-index:30;-webkit-backdrop-filter:saturate(1.4)blur(8px);backdrop-filter:saturate(1.4)blur(8px);border-top:1px solid var(--rule);padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom));background:#fffffff5;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--pencil);border-radius:12px;flex-direction:column;flex:1 1 0;align-items:center;gap:.15rem;min-width:0;padding:.3rem .2rem;font-size:.7rem;font-weight:600;text-decoration:none;display:flex}.bottom-nav a svg{width:1.45rem;height:1.45rem}.bottom-nav a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav a.active{color:var(--primary-600)}.bottom-nav a.active svg{background:var(--primary-50);box-sizing:content-box;border-radius:999px;width:2.65rem;margin:-.1rem 0;padding:.1rem .6rem}.app main{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}@media (width>=900px){.app{grid-template-columns:15.5rem minmax(0,1fr);min-height:100vh;display:grid}.mtop,.bottom-nav{display:none}.app main{padding:2rem 2rem 3rem}.side{border-right:1px solid var(--rule);background:#fff;flex-direction:column;height:100vh;padding:1.1rem .85rem;display:flex;position:sticky;top:0}.side-brand{letter-spacing:-.01em;align-items:center;gap:.65rem;padding:.25rem .5rem 1.25rem;font-size:1.02rem;font-weight:800;line-height:1.2;display:flex}.side-brand small{color:var(--pencil);font-size:.75rem;font-weight:500;display:block}.side nav{gap:.15rem;display:grid}.side nav a{color:var(--ink-2);border-radius:10px;align-items:center;gap:.7rem;padding:.6rem .7rem;font-size:.93rem;text-decoration:none;display:flex}.side nav a svg{width:1.25rem;height:1.25rem;color:var(--gray-400)}.side nav a:hover{background:var(--gray-50);color:var(--ink)}.side nav a.active{background:var(--primary-50);color:var(--primary-700);font-weight:600}.side nav a.active svg{color:var(--primary-600)}.side-foot{border-top:1px solid var(--rule);align-items:center;gap:.25rem;margin-top:auto;padding-top:.85rem;display:flex}.side-foot .side-user{flex:1}.side-user>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.side-user{color:var(--ink);border-radius:10px;align-items:center;gap:.65rem;min-width:0;padding:.45rem .5rem;font-size:.9rem;font-weight:600;line-height:1.25;text-decoration:none;display:flex}.side-user:hover{background:var(--gray-50);text-decoration:none}.side-user small{color:var(--pencil);font-size:.75rem;font-weight:500;display:block}.side-foot button.side-logout{width:2.5rem;min-height:2.5rem;box-shadow:none;color:var(--gray-400);background:0 0;border:0;border-radius:10px;flex:none;padding:0}.side-foot button.side-logout svg{width:1.25rem;height:1.25rem}.side-foot button.side-logout:hover{background:var(--late-50);color:var(--late)}}main{max-width:1160px;margin:0 auto;padding:1.75rem 1rem 3.5rem}.page-head{margin-bottom:var(--gap);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem 1.5rem;display:flex}.page-head p{color:var(--pencil);margin:.25rem 0 0}.back{color:var(--ink-2);align-items:center;gap:.3rem;margin-bottom:.75rem;font-size:.9rem;display:inline-flex}.back svg{width:.9rem;height:.9rem}.sheet{border-radius:var(--radius-lg);box-shadow:var(--ring), var(--shadow-sm);margin-bottom:var(--gap);background:#fff;padding:1.25rem}.sheet>h2:first-child,.sheet>h3:first-child{margin-top:0}.boxed{border-radius:var(--radius-lg);box-shadow:var(--ring), var(--shadow);background:#fff;padding:1.5rem}.narrow{max-width:440px;margin:2rem auto}.jina{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));color:#fff;border-radius:var(--radius-lg);margin-bottom:var(--gap);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 2rem;padding:1.35rem 1.5rem;display:flex}.jina .label{color:var(--primary-100);font-size:.85rem}.jina .figure{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#fff;font-size:clamp(2rem,7vw,2.75rem);font-weight:800;line-height:1.05}.jina .figure.behind{color:#fff}.jina .figure.credit{color:#bbf7d0}.jina dl{flex-wrap:wrap;gap:.5rem 2rem;margin:0;display:flex}.jina dt{color:var(--primary-100);font-size:.78rem}.jina dd{color:#fff;margin:0;font-weight:600}.jina a:not(.button){color:#fff}label{color:var(--gray-700);margin-bottom:.9rem;font-size:.85rem;font-weight:600;display:block}input,select,textarea{width:100%;min-height:2.75rem;font:inherit;color:var(--ink);border:1px solid var(--gray-300);box-shadow:var(--shadow-sm);caret-color:var(--primary-600);background:#fff;border-radius:10px;margin-top:.35rem;padding:.6rem .75rem;font-size:1rem;display:block}input:hover,select:hover,textarea:hover{border-color:var(--gray-400)}input:focus,select:focus,textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100);outline:none}input::placeholder{color:var(--gray-400)}input[type=checkbox],input[type=radio]{width:1.1rem;height:1.1rem;min-height:0;accent-color:var(--primary-600);box-shadow:none;margin:0;display:inline-block}.check{color:var(--ink);align-items:center;gap:.6rem;margin-bottom:.5rem;font-size:.95rem;font-weight:400;display:flex}.row{flex-wrap:wrap;align-items:end;gap:0 1rem;display:flex}.row>*{flex:170px}.row>.shrink{flex:none}fieldset{border:0;margin:0 0 1rem;padding:0}legend{color:var(--gray-700);margin-bottom:.5rem;font-size:.85rem;font-weight:600}button,.button{min-height:2.75rem;font:inherit;color:#fff;background:var(--primary-600);cursor:pointer;box-shadow:var(--shadow-sm);border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1.2rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--primary-700);color:#fff;box-shadow:var(--shadow);text-decoration:none}.button.light{color:var(--primary-700);background:#fff}.button.light:hover{background:var(--primary-50);color:var(--primary-700)}button.secondary,.button.secondary{color:var(--gray-700);border-color:var(--gray-300);background:#fff}button.secondary:hover,.button.secondary:hover{background:var(--gray-50);color:var(--ink)}button.danger{color:var(--late);background:#fff;border-color:#fecaca}button.danger:hover{background:var(--late-50);color:var(--late)}button.link{min-height:0;box-shadow:none;color:var(--primary-600);background:0 0;border:0;padding:0;font-weight:600}button.link:hover{box-shadow:none;color:var(--primary-700);background:0 0;text-decoration:underline}button:disabled{opacity:.5;cursor:default}button svg,.button svg{flex:none;width:1.15rem;height:1.15rem}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--gray-100);vertical-align:top;padding:.7rem .6rem}th{color:var(--pencil);text-transform:uppercase;letter-spacing:.04em;background:var(--gray-50);border-bottom:1px solid var(--rule);white-space:nowrap;font-size:.75rem;font-weight:600}thead th:first-child{border-top-left-radius:10px}thead th:last-child{border-top-right-radius:10px}tbody tr:hover{background:var(--hover)}tbody tr:last-child td{border-bottom:0}td .sub{color:var(--pencil);font-size:.85rem;display:block}.empty{color:var(--pencil);text-align:center;padding:1.25rem .5rem}.register{border-collapse:collapse;table-layout:fixed;width:100%}.register th,.register td{border-bottom:1px solid var(--gray-100);height:var(--cell);vertical-align:middle;padding:0}.register thead th{text-align:center;text-transform:none;letter-spacing:0;height:auto;padding:.55rem 0;font-size:.8rem}.register thead th.house-h{text-align:left;padding-left:.6rem}.register .house{padding:.45rem .6rem}.register .house a{color:var(--ink);text-decoration:none;display:block}.register .house a:hover .door{color:var(--primary-600)}.register .door{font-size:.98rem;font-weight:700}.register .who{color:var(--pencil);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;display:block;overflow:hidden}.register .m{width:var(--cell);text-align:center}.register .m.now{background:var(--primary-50)}.register thead th.now{color:var(--primary-700);background:var(--primary-100)}.register .owes{text-align:right;font-variant-numeric:tabular-nums;width:7.5rem;padding-right:.6rem;font-weight:700}.register .owes.behind{color:var(--late)}.register .owes.credit{color:var(--paid)}.register tbody tr{cursor:pointer}.register tbody tr:hover .m.now{background:var(--primary-100)}@media (width<=640px){.register .m.old{display:none}.register .owes{width:6rem}table.stack thead{display:none}table.stack tr{border-bottom:1px solid var(--gray-100);grid-template-columns:1fr auto;gap:.15rem 1rem;padding:.75rem .25rem;display:grid}table.stack td{text-align:left;border:0;padding:0}table.stack td.lead{grid-column:1}table.stack td.amount{text-align:right;grid-area:1/2;font-size:1.05rem}table.stack td[data-label]{color:var(--ink-2);grid-column:1/-1;font-size:.9rem}table.stack td[data-label]:before{content:attr(data-label) ": ";color:var(--pencil)}table.stack td.go{grid-column:1/-1;padding-top:.35rem}table.stack td:empty{display:none}}.mark{vertical-align:middle;width:1.35rem;height:1.35rem;display:inline-block}.legend{color:var(--ink-2);flex-wrap:wrap;gap:.4rem 1.1rem;margin:0 0 .85rem;font-size:.82rem;display:flex}.legend span{align-items:center;gap:.35rem;display:inline-flex}.legend .mark{width:1.05rem;height:1.05rem}.state{white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .55rem .15rem .35rem;font-size:.8rem;font-weight:600;display:inline-flex}.state .mark{width:1rem;height:1rem}.state.OVERDUE{color:var(--late);background:var(--late-50)}.state.PAID,.state.PARTIAL{color:var(--paid);background:var(--paid-50)}.state.PENDING{color:var(--due);background:var(--due-50)}.state.WAIVED,.state.CANCELLED,.state.VOID,.state.ENDED{color:var(--gray-600);background:var(--gray-100)}.strip{grid-template-columns:repeat(var(--n,12), minmax(0, 1fr));border-radius:var(--radius);box-shadow:var(--ring), var(--shadow-sm);background:#fff;margin-bottom:.75rem;display:grid;overflow:hidden}.strip>div{border-right:1px solid var(--gray-100);text-align:center;padding:.4rem 0 .45rem}.strip>div:last-child{border-right:0}.strip>div.now{background:var(--primary-50)}.strip b{color:var(--pencil);font-size:.72rem;font-weight:600;display:block}.strip .now b{color:var(--primary-700)}@media (width<=640px){.strip{--n:6!important}.strip>div.old{display:none}}.tally{flex:100%;gap:.65rem;display:grid}.tally .figures{flex-wrap:wrap;align-items:baseline;gap:.25rem 2rem;display:flex}.tally .big{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#fff;font-size:clamp(2rem,7vw,2.75rem);font-weight:800;line-height:1}.tally .of{color:var(--primary-100);font-size:1.1rem;font-weight:600}.tally .bar{background:#ffffff38;border-radius:999px;height:.55rem;position:relative;overflow:hidden}.tally .bar span{background:#fff;border-radius:999px;position:absolute;inset:0 auto 0 0}.tally .muted{color:var(--primary-100)}.tally .muted b{color:#fff}.door-big{background:var(--primary-50);min-width:2.6rem;height:2.6rem;color:var(--primary-700);vertical-align:middle;box-shadow:inset 0 0 0 1px var(--primary-200);border-radius:12px;place-items:center;margin-right:.65rem;padding:0 .6rem;font-size:1.15rem;font-weight:800;display:inline-grid}.door-sm{background:var(--primary-50);min-width:2rem;height:2rem;color:var(--primary-700);vertical-align:middle;box-shadow:inset 0 0 0 1px var(--primary-200);border-radius:8px;place-items:center;padding:0 .4rem;font-size:.92rem;font-weight:800;display:inline-grid}.pager{color:var(--pencil);justify-content:flex-end;align-items:center;gap:.6rem;padding-top:.9rem;font-size:.85rem;display:flex}.pager button{min-height:2.25rem;padding:.3rem .85rem}.note{background:var(--primary-50);color:var(--gray-700);border-radius:10px;max-width:70ch;padding:.65rem .85rem;font-size:.9rem}.inline-form{flex-wrap:wrap;align-items:end;gap:.5rem;padding:.6rem 0 .2rem;display:flex}.inline-form label{flex:12rem;margin:0}.inline-form input{min-height:2.4rem;padding:.4rem .6rem}.inline-form button{min-height:2.4rem}.stamp{letter-spacing:.1em;pointer-events:none;border:2px solid;border-radius:8px;padding:.1rem .6rem;font-size:1.1rem;font-weight:800;position:absolute;top:1.25rem;right:1.25rem;transform:rotate(-8deg)}.stamp.paid{color:var(--paid)}.void-stamp{border:3px solid var(--late);color:var(--late);opacity:.75;pointer-events:none;border-radius:10px;padding:0 .4em;font-size:3.5rem;font-weight:800;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)rotate(-14deg)}@media print{.side,.mtop,.bottom-nav,.no-print{display:none!important}.app{display:block}body,:root{background:#fff}main{max-width:none;padding:0}.sheet,.boxed{box-shadow:none;border:1px solid #ccc}.jina{color:#000;box-shadow:none;background:0 0;border:1px solid #ccc}.jina *{color:#000!important}}@media (prefers-reduced-motion:no-preference){button,a,.button,tbody tr{transition:background-color .15s ease-out,color .15s ease-out,box-shadow .15s ease-out,border-color .15s ease-out}}@font-face{font-family:Big Shoulders Display;src:url(/fonts/big-shoulders-display-latin.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Patrick Hand;src:url(/fonts/patrick-hand-latin.woff2)format("woff2");font-weight:400;font-display:swap}main.home{background:#fff;max-width:none;padding:0}.wrap{max-width:1200px;margin:0 auto;padding:0 1rem}@media (width>=640px){.wrap{padding:0 1.5rem}}.hp{--paper:#f5f6f7;--sheet:#fbfbfc;--ink-hp:#16181d;--ink-hp-2:#3d4250;--line:#16181d24;--line-strong:#16181d8c;--display:"Big Shoulders Display", var(--text);--hand:"Patrick Hand", var(--text);color:var(--ink-hp);background-color:var(--paper);background-image:linear-gradient(#16181d0b 1px,#0000 1px),linear-gradient(90deg,#16181d0b 1px,#0000 1px);background-size:32px 32px}.hp h1,.hp h2,.hp h3{color:var(--ink-hp)}.hp :focus-visible{outline:2px solid var(--primary-600);outline-offset:3px;border-radius:2px}.hp .button,.hp button{box-shadow:none;border-radius:3px;font-weight:700}.hp .button:hover,.hp button:hover{box-shadow:0 6px 14px -6px #4338ca99}.hp .button.secondary,.hp button.secondary{color:var(--ink-hp);border:1.5px solid var(--ink-hp);background:0 0}.hp .button.secondary:hover,.hp button.secondary:hover{background:var(--ink-hp);color:var(--paper);box-shadow:none}.hp label{color:var(--ink-hp)}.hp input{border-color:var(--line-strong);background:#fff;border-radius:3px}.hp input:focus{border-color:var(--primary-600)}.hp-hand{font-family:var(--hand)}.hp .logo{filter:brightness(0)invert(8%);height:1.5rem}.hp [id]{scroll-margin-top:4.5rem}.hp-tri{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.hp-tri li,.hp-ticks li{gap:.6rem;display:flex}.hp-tri li:before,.hp-ticks li:before{content:"";background:var(--ink-hp);clip-path:polygon(0 0,100% 50%,0 100%);flex:none;width:8px;height:10px;margin-top:.42em}.hp-top{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line-strong);background:#f5f6f7eb;position:sticky;top:0}.hp-top .wrap{justify-content:space-between;align-items:center;gap:1rem;height:4rem;display:flex}.hp .brand{font-family:var(--display);letter-spacing:.01em;color:var(--ink-hp);align-items:center;gap:.5rem;font-size:1.6rem;font-weight:800;text-decoration:none;display:flex}.hp-top nav{align-items:center;gap:.25rem;display:flex}.hp-top nav .links{display:none}.hp-top nav a:not(.button){color:var(--ink-hp-2);padding:.45rem .7rem;font-size:.9rem}.hp-top nav a:not(.button):hover{color:var(--ink-hp);text-underline-offset:.3em;text-decoration:underline;text-decoration-thickness:1.5px}@media (width>=900px){.hp-top nav .links{gap:.1rem;margin-right:.75rem;display:flex}}.hp-hero .wrap{align-items:start;gap:1.5rem;padding-top:3rem;padding-bottom:2rem;display:grid}@media (width>=960px){.hp-hero .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:2rem;padding-top:4.5rem;padding-bottom:3.5rem}}.hp-hero h1{font-family:var(--display);letter-spacing:-.01em;text-transform:uppercase;max-width:9ch;font-size:clamp(3.4rem,10vw,6rem);font-weight:800;line-height:.92}.hp-hero h1 em{background:linear-gradient(var(--ink-hp), var(--ink-hp)) 0 92% / 100% .09em no-repeat;padding-bottom:.04em;font-style:normal}.hp-lede{color:var(--ink-hp-2);max-width:36rem;margin:1.5rem 0 0;font-size:clamp(1.05rem,2vw,1.15rem)}.hp-cta-row{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.hp-cta{min-height:3.25rem;padding:.8rem 1.5rem;font-size:1.05rem}.hp-free{font-family:var(--hand);color:var(--ink-hp-2);margin:.85rem 0 0}.hp-ticks{font-family:var(--hand);color:var(--ink-hp);gap:.4rem;margin:1.5rem 0 0;padding:0;font-size:1.1rem;list-style:none;display:grid}.hp-drawing{width:100%;height:auto;display:block;overflow:visible}.hp-guide{fill:none;stroke:var(--ink-hp);stroke-width:1px;opacity:.38}.hp-guide.strong{stroke-width:3px;opacity:.9}.hp-guide:nth-child(-n+4){stroke-width:1.5px;opacity:.6}.hp-mark{fill:var(--ink-hp)}.hp-dim{font-family:var(--hand);fill:var(--ink-hp-2);font-size:17px}.hp-note{font-family:var(--hand);fill:var(--ink-hp);font-size:25px}.hp-handles circle{fill:var(--paper);stroke:var(--ink-hp);stroke-width:1.5px}.hp-keys{display:none}.hp-key circle{fill:var(--paper);stroke:var(--ink-hp);stroke-width:2.5px}.hp-key text{font-family:var(--display);fill:var(--ink-hp);font-size:22px;font-weight:800}.hp-keynotes{display:none}@media (width<=640px){.hp-note,.hp-leaders{display:none}.hp-dim{font-size:30px}.hp-key circle{r:24px}.hp-key text{font-size:30px;transform:translateY(3px)}.hp-keys{display:inline}.hp-keynotes{font-family:var(--hand);gap:.3rem;margin:.25rem 0 0;padding:0 0 0 1.5rem;font-size:1.05rem;display:grid}.hp-keynotes li::marker{font-family:var(--display);font-weight:800}}.hp-leader path{fill:none;stroke:var(--ink-hp);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}@media (prefers-reduced-motion:no-preference){.hp-guide,.hp-leader path{stroke-dasharray:1;stroke-dashoffset:1px;animation:.9s cubic-bezier(.16,1,.3,1) forwards hp-draw;animation-delay:var(--d,0s)}.hp-leader path+path{animation-delay:calc(var(--d,0s) + .38s);animation-duration:.3s}}@keyframes hp-draw{to{stroke-dashoffset:0}}.hp-sheet{background:var(--sheet);border:1px solid var(--ink-hp);padding:1rem;position:relative}@media (width>=640px){.hp-sheet{padding:1.5rem}}.hp-sheet:before,.hp-sheet:after{content:"";border:0 solid var(--ink-hp);pointer-events:none;width:18px;height:18px;position:absolute}.hp-sheet:before{border-width:1px 0 0 1px;width:26px;height:26px;top:-9px;left:-9px;transform:translate(-1px,-1px)}.hp-sheet:after{border-width:0 1px 1px 0;width:26px;height:26px;bottom:-9px;right:-9px;transform:translate(1px,1px)}.hp-sheet-title{border-bottom:1px solid var(--ink-hp);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.hp-sheet-title h1,.hp-sheet-title h2{font-family:var(--display);text-transform:uppercase;letter-spacing:0;margin:0;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;line-height:1}.hp-sheet-title span{font-family:var(--hand);color:var(--ink-hp-2);margin-right:auto}.hp .hp-pause{min-height:2rem;color:var(--ink-hp);border:1.5px solid var(--ink-hp);background:0 0;border-radius:3px;padding:.2rem .8rem;font-size:.85rem}.hp .hp-pause:hover{background:var(--ink-hp);color:var(--paper);box-shadow:none}.hp-sheet-wrap{padding-top:1rem}main.auth{max-width:none;min-height:calc(100dvh - 4rem);padding:3rem 1rem 4rem}.auth .narrow{max-width:30rem;margin:0 auto}.auth-art{display:none}@media (width>=960px){.auth-split{grid-template-columns:minmax(0,1.15fr) minmax(0,28rem);align-items:center;gap:3rem;max-width:1200px;margin:0 auto;display:grid}.auth-art{display:block}.auth .narrow{margin:0}}.auth-note{color:var(--ink-hp-2);margin:0 0 1.25rem}.auth .hp-sheet .muted{color:var(--ink-hp-2)}.auth-alt{text-align:center;color:var(--ink-hp-2);margin-top:1.75rem}.hp-steps{border:1px solid var(--ink-hp);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 1rem;padding:0;list-style:none;display:grid}.hp-steps li+li{border-left:1px solid var(--ink-hp)}.hp-steps button{text-align:left;width:100%;height:100%;min-height:0;color:var(--ink-hp-2);box-shadow:none;background:0 0;border:0;border-radius:0;padding:.55rem .75rem;font-weight:600;display:block}.hp-steps button b{font-family:var(--display);color:var(--ink-hp);font-size:1.3rem;font-weight:800;line-height:1.1;display:block}.hp-steps button span{font-family:var(--hand);font-size:.9rem;font-weight:400;display:block}.hp-steps button[aria-selected=true]{background:var(--ink-hp);color:var(--paper);box-shadow:inset 0 -4px 0 var(--primary-500)}.hp-steps button[aria-selected=true] b{color:var(--paper)}.hp-steps button:hover:not([aria-selected=true]){color:var(--ink-hp);box-shadow:none;background:#16181d0f}@media (width<=520px){.hp-steps button span{display:none}}.hp-step-text{margin:0 0 1rem}.hp-step-text h3{font-size:1.05rem}.hp-step-text p{color:var(--ink-hp-2);max-width:70ch;margin:.25rem 0 0}.hp-panel{gap:1rem;display:grid}@media (width>=720px){.hp-panel{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}}.hp-phone{border:1.5px solid var(--ink-hp);background:var(--sheet);border-radius:18px;justify-self:center;width:100%;max-width:23rem;padding:.5rem}.hp-phone-head{color:var(--ink-hp-2);border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.35rem .6rem .5rem;font-size:.75rem;display:flex}.hp-phone-head b{color:var(--ink-hp);font-size:.9rem}.hp-thread{align-content:start;gap:.55rem;min-height:16rem;margin:0;padding:.25rem;list-style:none;display:grid}.hp-thread li{border:1px solid var(--line-strong);background:#fff;border-radius:3px;max-width:92%;padding:.5rem .7rem}.hp-thread li.new{background:var(--primary-50);border-color:var(--primary-500)}.hp-thread time{color:var(--pencil);font-size:.7rem}.hp-thread p{margin:.1rem 0 0;font-size:.86rem;line-height:1.4}.hp-register{border:1px solid var(--line-strong);background:#fff;padding:.75rem}.hp-register .register tbody tr{cursor:default}.hp-register .hp-focus{background:var(--primary-50)}.hp-register h3{font-family:var(--hand);margin:.15rem 0 .6rem .35rem;font-size:1.05rem;font-weight:400}.hp-caption{color:var(--pencil);margin:.6rem 0 0 .35rem;font-size:.75rem}@media (prefers-reduced-motion:no-preference){.hp-thread li.new{animation:.42s cubic-bezier(.16,1,.3,1) hp-arrive}.hp-cell .mark{animation:.38s cubic-bezier(.16,1,.3,1) hp-mark}}@keyframes hp-arrive{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}@keyframes hp-mark{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.hp-section{padding:4rem 0}.hp-head{border-bottom:1.5px solid var(--ink-hp);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 2rem;margin:0 0 2rem;padding-bottom:.75rem;display:flex}.hp-head h2{font-family:var(--display);text-transform:uppercase;letter-spacing:0;margin:0;font-size:clamp(2.1rem,5vw,3.2rem);font-weight:800;line-height:.95}.hp-head p{font-family:var(--hand);color:var(--ink-hp-2);max-width:32rem;margin:0;font-size:1.1rem}.hp-pains{column-gap:3rem;display:grid}@media (width>=760px){.hp-pains{grid-template-columns:repeat(2,minmax(0,1fr))}}.hp-pain{border-bottom:1px solid var(--line);gap:.35rem;padding:1rem 0;display:grid}.hp-pain .was{font-family:var(--hand);color:var(--ink-hp-2);font-size:1.05rem}.hp-pain .was s{text-decoration-color:#16181d99;text-decoration-thickness:2px}.hp-pain .now{font-weight:600}.hp-schedule{border-top:1.5px solid var(--ink-hp);column-gap:3rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=900px){.hp-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}}.hp-schedule li{border-bottom:1px solid var(--line-strong);grid-template-columns:2.6rem minmax(0,1fr);column-gap:1rem;padding:1.1rem 0;display:grid}.hp-schedule .n{border:1.5px solid var(--ink-hp);width:2.4rem;height:2.4rem;font-family:var(--display);border-radius:50%;grid-row:span 2;place-items:center;font-size:1.2rem;font-weight:800;display:grid}.hp-schedule h3{align-self:center;font-size:1.05rem}.hp-schedule p{color:var(--ink-hp-2);max-width:60ch;margin:.3rem 0 0;font-size:.93rem}.hp-howto{gap:1.5rem;margin:0;padding:0;list-style:none;display:grid;position:relative}@media (width>=760px){.hp-howto{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;padding-top:.25rem}.hp-howto:before{content:"";border-top:1px solid var(--line-strong);position:absolute;top:1.65rem;left:1.4rem;right:0}}.hp-howto li{position:relative}.hp-howto .n{border:1.5px solid var(--ink-hp);background:var(--paper);width:2.8rem;height:2.8rem;font-family:var(--display);border-radius:50%;place-items:center;margin-bottom:.75rem;font-size:1.4rem;font-weight:800;display:inline-grid;position:relative}.hp-howto h3{font-size:1rem}.hp-howto p{color:var(--ink-hp-2);margin:.35rem 0 0;font-size:.93rem}.hp-roles{gap:2rem;display:grid}@media (width>=900px){.hp-roles{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.hp-role+.hp-role{border-left:1px solid var(--line-strong)}.hp-role{padding:0 2rem}.hp-role:first-child{padding-left:0}}.hp-role h3{font-family:var(--display);text-transform:uppercase;letter-spacing:0;border-bottom:1px solid var(--line-strong);padding-bottom:.6rem;font-size:1.6rem;font-weight:800}.hp-role ul{margin-top:1rem}.hp-role li{color:var(--ink-hp-2);font-size:.95rem}.hp-price{border:2px solid var(--ink-hp);background:var(--ink-hp);grid-template-columns:minmax(0,1fr);gap:1px;display:grid}@media (width>=760px){.hp-price{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.3fr)}.hp-price .price{grid-area:span 2/3}.hp-price .includes,.hp-price .terms{grid-column:span 2}}.hp-price .cell{background:var(--sheet);align-content:start;gap:.25rem;padding:1rem 1.25rem;font-weight:600;display:grid}.hp-price .k{font-family:var(--hand);color:var(--ink-hp-2);font-size:.9rem;font-weight:400}.hp-price .amount{font-family:var(--display);font-size:clamp(4rem,12vw,6rem);font-weight:800;line-height:.9}.hp-price .price .hp-hand{font-size:1.3rem;font-weight:400}.hp-price .includes .hp-tri{color:var(--ink-hp-2);margin-top:.35rem;font-weight:400}.hp-price .action{align-content:center}@media (width>=760px){.hp-price .action{grid-column:3}}.hp-faq{border-top:1px solid var(--line-strong)}.hp-faq details{border-bottom:1px solid var(--line-strong)}.hp-faq summary{cursor:pointer;justify-content:space-between;gap:1rem;padding:1.05rem 0;font-weight:600;list-style:none;display:flex}.hp-faq summary::-webkit-details-marker{display:none}.hp-faq summary:hover{text-underline-offset:.25em;text-decoration:underline}.hp-faq summary svg{width:1.1rem;height:1.1rem;color:var(--ink-hp);flex:none;transition:transform .2s ease-out}.hp-faq details[open] summary svg{transform:rotate(180deg)}.hp-faq details p{color:var(--ink-hp-2);max-width:70ch;margin:0 0 1.1rem}.hp-close{background-color:var(--ink-hp);color:var(--paper);background-image:linear-gradient(#f5f6f70f 1px,#0000 1px),linear-gradient(90deg,#f5f6f70f 1px,#0000 1px);background-size:32px 32px;padding:5rem 0}.hp-close h2{color:var(--paper);font-family:var(--display);text-transform:uppercase;letter-spacing:0;margin:0;font-size:clamp(2.4rem,7vw,4.4rem);font-weight:800;line-height:.95}.hp-close p{font-family:var(--hand);color:#f5f6f7cc;margin:1rem 0 2rem;font-size:1.2rem}.hp-foot{border-top:1px solid var(--line-strong);color:var(--ink-hp-2);padding:2rem 0 2.5rem;font-size:.88rem}.hp-foot .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;display:flex}.hp-foot .brand{font-size:1.3rem}.hp-foot nav{flex-wrap:wrap;gap:1.25rem;display:flex}.hp-foot a{color:var(--ink-hp-2)}.hp-foot a:hover{color:var(--ink-hp)}.profile-head{border-radius:var(--radius-lg);box-shadow:var(--ring), var(--shadow-sm);margin-bottom:var(--gap);background:#fff;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;padding:1.35rem;display:flex}.avatar-lg{width:4rem;height:4rem;font-size:1.35rem}.profile-who{flex:14rem;min-width:0}.profile-who h1{font-size:1.5rem}.profile-who p{color:var(--pencil);margin:.2rem 0 .55rem}.profile-logout{flex:none}@media (width<=520px){.profile-logout{width:100%}}.profile-grid{gap:0 var(--gap);display:grid}@media (width>=1000px){.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.toggles{margin:0;padding:0;list-style:none}.toggles li{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.toggles li:last-child{border-bottom:0}.toggles b{font-size:.95rem;font-weight:600;display:block}.toggles small{color:var(--pencil);font-size:.83rem;display:block}.toggles .dim{width:1.25rem;height:1.25rem;color:var(--gray-400);flex:none}.toggles button{min-height:2.25rem;padding:.3rem .8rem}.switch{flex:none;width:2.75rem;height:1.6rem;margin:0;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch span{background:var(--gray-300);border-radius:999px;transition:background-color .15s ease-out;position:absolute;inset:0}.switch span:after{content:"";width:1.2rem;height:1.2rem;box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;transition:transform .15s ease-out;position:absolute;top:.2rem;left:.2rem}.switch input:checked+span{background:var(--primary-600)}.switch input:checked+span:after{transform:translate(1.15rem)}.switch input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.switch input:disabled{cursor:default}.switch input:disabled+span{opacity:.45}dialog.confirm{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(28rem,100vw - 2rem);color:var(--ink);border:0;margin:max(1rem,8vh) auto auto;padding:1.5rem}dialog.confirm::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73}dialog.confirm h2{margin:0 0 .4rem;font-size:1.15rem}dialog.confirm p{color:var(--ink-2);margin:0 0 1.25rem}dialog.confirm label:last-of-type{margin-bottom:1.25rem}dialog.confirm .actions{justify-content:flex-end}button.danger-solid{background:var(--late)}button.danger-solid:hover{background:#b91c1c}@media (prefers-reduced-motion:no-preference){dialog.confirm[open]{animation:.18s cubic-bezier(.16,1,.3,1) confirm-in}}@keyframes confirm-in{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:none}}.hud{left:50%;top:calc(.6rem + env(safe-area-inset-top));z-index:60;color:#fff;pointer-events:none;background:#000;border-radius:99px;align-items:center;gap:.55rem;max-width:calc(100vw - 2rem);padding:.5rem 1rem .5rem .6rem;font-size:.88rem;font-weight:600;animation:.35s cubic-bezier(.22,1,.36,1) hud-in,.25s ease-in 1.6s forwards hud-out;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px -10px #00000080}.hud span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud.error{border-radius:18px;align-items:flex-start;max-width:min(420px,100vw - 2rem);animation:.35s cubic-bezier(.22,1,.36,1) hud-in,.25s ease-in 3.7s forwards hud-out}.hud.error span{white-space:normal;padding-top:.1rem;line-height:1.35}.hud.error svg{color:#ff6b6b}.hud svg{flex:none;width:22px;height:22px}.hud .orbit{fill:none;stroke:#3ddc97;stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:16 41;transform-origin:12px 12px;animation:.6s linear hud-orbit,.15s ease-out .55s forwards hud-fade}.hud .ok-mark{fill:none;stroke:#3ddc97;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16px;animation:.25s ease-out .6s forwards ok-draw}@keyframes hud-in{0%{opacity:0;transform:translate(-50%)scale(.6,.8)}}@keyframes hud-out{to{opacity:0;transform:translate(-50%)scale(.6,.8)}}@keyframes hud-orbit{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes hud-fade{to{opacity:0}}@keyframes ok-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.hud{animation:.2s linear 1.6s forwards hud-out}.hud.error{animation:.2s linear 3.7s forwards hud-out}.hud .orbit{display:none}.hud .ok-mark{stroke-dashoffset:0;animation:none}}.stat-row{margin-bottom:var(--gap);grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.6rem;display:grid}.stat-row>div{box-shadow:var(--ring), var(--shadow-sm);background:#fff;border-radius:12px;padding:.75rem .9rem}.stat-row b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800;display:block}.stat-row span{color:var(--pencil);font-size:.8rem}.stat-row .warn b{color:var(--due)}.add-charge{border-top:1px solid var(--gray-100);margin-top:1rem;padding-top:1rem}.add-charge h3{margin-bottom:.75rem}.print-bar{justify-content:flex-end;margin-top:1rem;display:flex}dialog.confirm.wide{width:min(44rem,100vw - 2rem);max-height:calc(100vh - 2*max(1rem,8vh));overflow:auto}.dialog-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dialog-head button.link{color:var(--pencil);padding:.25rem}.import-step{border-top:1px solid var(--rule);margin-top:1rem;padding-top:1rem}.side-user.active{background:var(--primary-50);color:var(--primary-700)}
