:root{--black:#000;--white:#fff;--g50:#f4f4f4;--g100:#ebebeb;--g200:#dcdcdc;--g400:#a4a4a4;--g500:#8d8d8d;--g600:#6b6b6b;--g700:#4a4a4a;--danger:#b3261e;--font:"Helvetica Neue", Helvetica, Arial, system-ui, -apple-system, sans-serif;--top:calc(56px + env(safe-area-inset-top));--bottom:calc(64px + env(safe-area-inset-bottom));--side:264px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--black);background:var(--g50);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.45;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--black);outline-offset:2px}h1,h2,h3{letter-spacing:-.01em;margin:0;line-height:1.05}.h-display{text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(34px,9vw,52px);font-weight:900}.h1{text-transform:uppercase;font-size:28px;font-weight:900}.h2{text-transform:uppercase;letter-spacing:.02em;font-size:18px;font-weight:800}.h3{font-size:16px;font-weight:700}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--g600);font-size:12px;font-weight:800}.muted{color:var(--g600)}.small{font-size:14px}.tiny{font-size:12px}.center{text-align:center}.stack>*+*{margin-top:12px}.stack-lg>*+*{margin-top:20px}.row{align-items:center;gap:10px;display:flex}.row-wrap{flex-wrap:wrap;gap:8px;display:flex}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.grow{flex:1;min-width:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar{z-index:30;height:var(--top);padding:env(safe-area-inset-top) 8px 0;background:var(--black);color:var(--white);align-items:center;gap:4px;display:flex;position:fixed;inset:0 0 auto}.topbar .brand{text-align:center;text-transform:uppercase;letter-spacing:.02em;flex:1;font-size:17px;font-weight:900;text-decoration:none}.icon-btn{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:2px;place-items:center;text-decoration:none;display:grid}.avatar{text-transform:uppercase;border:2px solid;place-items:center;width:32px;height:32px;font-size:13px;font-weight:900;display:grid}main.content{padding:calc(var(--top) + 16px) 16px calc(var(--bottom) + 24px);max-width:760px;margin:0 auto}main.content.bare{max-width:none;padding:0}.bottomnav{z-index:30;height:var(--bottom);padding-bottom:env(safe-area-inset-bottom);background:var(--white);border-top:1px solid var(--g200);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.bottomnav a{text-transform:uppercase;letter-spacing:.03em;color:var(--g500);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.bottomnav a.active{color:var(--black)}.scrim{z-index:40;background:#00000073;position:fixed;inset:0}.drawer{z-index:50;background:var(--black);width:min(86vw,320px);color:var(--white);padding:calc(env(safe-area-inset-top) + 12px) 0 calc(env(safe-area-inset-bottom) + 24px);transition:transform .22s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.drawer.open{transform:none}.drawer .drawer-head{align-items:center;gap:12px;padding:8px 20px 20px;display:flex}.drawer .mono{flex:none;width:44px}.drawer .wordmark{text-transform:uppercase;font-size:18px;font-weight:900;line-height:1}.nav-group{border-top:1px solid #222}.nav-group>button{cursor:pointer;width:100%;color:var(--g400);text-transform:uppercase;letter-spacing:.1em;background:0 0;border:0;justify-content:space-between;align-items:center;padding:14px 20px;font-size:12px;font-weight:800;display:flex}.nav-group>button svg{transition:transform .15s}.nav-group.closed>button svg{transform:rotate(-90deg)}.nav-group.closed .nav-items{display:none}.nav-items a{align-items:center;gap:14px;padding:12px 20px 12px 24px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.nav-items a.active{background:var(--white);color:var(--black)}.nav-items a .ext{opacity:.6;margin-left:auto}.drawer .who{color:var(--g400);padding:16px 20px 0;font-size:13px}@media (width>=960px){.topbar .menu-btn,.scrim,.bottomnav{display:none!important}.topbar{left:var(--side);background:var(--white);color:var(--black);border-bottom:1px solid var(--g200)}.topbar .brand{text-align:left;padding-left:16px}.drawer{width:var(--side);transition:none;transform:none}main.content{padding-left:calc(var(--side) + 32px);max-width:calc(var(--side) + 860px);margin:0;padding-bottom:48px;padding-right:32px}main.content.bare{padding-left:var(--side)}}.card{background:var(--white);border:1px solid var(--g200);padding:16px}.card.flush{padding:0}.card+.card{margin-top:12px}.section{margin-top:28px}.section>.h2{margin-bottom:12px}.divider{background:var(--g200);height:1px;margin:16px 0}.hero{background:var(--black);color:var(--white);flex-direction:column;justify-content:flex-end;min-height:200px;margin:-16px -16px 0;padding:28px 20px 24px;display:flex;position:relative;overflow:hidden}.hero img{object-fit:cover;filter:grayscale()contrast(1.05);opacity:.55;width:100%;height:100%;position:absolute;inset:0}.hero>*{position:relative}@media (width>=960px){.hero{margin:-16px 0 0}}.btn{border:2px solid var(--black);background:var(--black);min-height:48px;color:var(--white);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:default}.btn.secondary{background:var(--white);color:var(--black)}.btn.ghost{color:var(--black);background:0 0;border-color:#0000;padding:0 10px}.btn.danger{background:var(--white);color:var(--danger);border-color:var(--danger)}.btn.small{min-height:36px;padding:0 12px;font-size:13px}.btn.block{width:100%}.on-dark .btn{background:var(--white);color:var(--black);border-color:var(--white)}.on-dark .btn.secondary{color:var(--white);background:0 0}label.field{display:block}label.field>span{margin-bottom:6px;font-size:13px;font-weight:700;display:block}.input,select.input,textarea.input{border:2px solid var(--black);background:var(--white);border-radius:0;width:100%;min-height:48px;padding:10px 12px;font-size:16px}textarea.input{resize:vertical;min-height:110px}.input.code{letter-spacing:.4em;text-align:center;font-size:28px;font-weight:900}.check{align-items:center;gap:10px;min-height:44px;font-weight:600;display:flex}.check input{width:22px;height:22px;accent-color:var(--black)}.seg{border:2px solid var(--black);display:inline-flex}.seg button{background:var(--white);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border:0;padding:8px 14px;font-size:13px;font-weight:800}.seg button.on{background:var(--black);color:var(--white)}.badge{border:1.5px solid var(--black);text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.badge.solid{background:var(--black);color:var(--white)}.badge.soft{border-color:var(--g400);color:var(--g700)}.alert{border-left:4px solid var(--black);background:var(--white);padding:12px 14px;font-size:15px}.alert.error{border-color:var(--danger);color:var(--danger)}.banner{background:var(--black);color:var(--white);align-items:center;gap:12px;padding:14px 16px;display:flex}.toast{z-index:80;left:50%;bottom:calc(var(--bottom) + 12px);text-align:center;background:var(--black);width:max-content;max-width:calc(100vw - 32px);color:var(--white);padding:12px 18px;font-weight:700;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #00000040}@media (width>=960px){.toast{bottom:24px;left:calc(50% + var(--side) / 2)}}.modal-wrap{z-index:70;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--white);width:100%;max-width:560px;max-height:92vh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));overflow-y:auto}@media (width>=640px){.modal-wrap{align-items:center}.modal{padding:24px}}.spinner{border:3px solid var(--g200);border-top-color:var(--black);border-radius:50%;width:28px;height:28px;margin:40px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--g600);padding:32px 16px}.meter{background:var(--g100);border-radius:4px;height:8px;overflow:hidden}.meter>i{background:var(--black);border-radius:4px;height:100%;display:block}.goal-steps{gap:6px;display:flex}.goal-steps i{background:var(--g100);flex:1;height:10px}.goal-steps i.on{background:var(--black)}.on-dark .goal-steps i{background:#333}.on-dark .goal-steps i.on{background:var(--white)}.month-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.month-bar .h1{text-align:center;flex:1;font-size:22px}.event{background:var(--white);border:1px solid var(--g200);grid-template-columns:64px 1fr;gap:0;display:grid}.event+.event{margin-top:12px}.event.past{opacity:.6}.event .date{background:var(--black);color:var(--white);text-align:center;padding:12px 4px}.event .date b{font-size:28px;font-weight:900;line-height:1;display:block}.event .date span{text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.event .body{min-width:0;padding:14px}.slot{border-top:1px solid var(--g100);padding:10px 0}.slot:first-child{border-top:0}.slot .names{color:var(--g600);margin-top:4px;font-size:13px}.slot.mine{background:var(--g50);margin:0 -14px;padding:10px 14px}.chip-x{background:var(--g50);border:1px solid var(--g200);align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:13px;display:inline-flex}.chip-x button{cursor:pointer;background:0 0;border:0;place-items:center;padding:2px;display:grid}.tiles{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.tile{background:var(--white);border:1px solid var(--g200);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;flex-direction:column;justify-content:space-between;gap:10px;min-height:96px;padding:16px;font-size:14px;font-weight:800;text-decoration:none;display:flex}.tile:hover{border-color:var(--black)}.stat{background:var(--white);border:1px solid var(--g200);padding:14px 16px}.stat .label{color:var(--g600);font-size:13px;font-weight:600}.stat .value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:30px;font-weight:700}.stat .sub{color:var(--g600);font-size:12px}.kpis{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (width>=640px){.kpis{grid-template-columns:repeat(4,1fr)}}.photo-grid{grid-template-columns:repeat(3,1fr);gap:3px;display:grid}@media (width>=640px){.photo-grid{grid-template-columns:repeat(4,1fr)}}.photo-grid button{background:var(--g200);aspect-ratio:1;cursor:pointer;border:0;padding:0;position:relative;overflow:hidden}.photo-grid img{object-fit:cover;width:100%;height:100%}.photo-grid .flag{position:absolute;top:4px;left:4px}.post{background:var(--white);border:1px solid var(--g200);padding:14px 16px}.post+.post{margin-top:10px}.post .meta{color:var(--g600);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.post p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.post img{object-fit:cover;width:100%;max-height:360px;margin-top:10px}table.data{border-collapse:collapse;background:var(--white);width:100%;font-size:14px}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--g600);border-bottom:2px solid var(--black);padding:10px 12px;font-size:12px;font-weight:800}table.data td{border-bottom:1px solid var(--g100);vertical-align:middle;padding:10px 12px}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}.table-scroll{border:1px solid var(--g200);overflow-x:auto}.meter-list .mrow{grid-template-columns:minmax(110px,40%) 1fr auto;align-items:center;gap:12px;padding:8px 0;display:grid}.meter-list .mrow .fig{font-variant-numeric:tabular-nums;text-align:right;min-width:64px;font-size:13px}@media (width<=420px){.meter-list .mrow{grid-template-columns:1fr auto}.meter-list .mrow .meter{grid-area:2/1/auto/-1}}.person{background:var(--white);border:1px solid var(--g200);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.person+.person{margin-top:8px}.person .avatar{border-color:var(--black);flex:none}.steps{counter-reset:s;margin:0;padding:0;list-style:none}.steps li{counter-increment:s;min-height:36px;padding:0 0 18px 48px;position:relative}.steps li:before{content:counter(s);background:var(--black);width:34px;height:34px;color:var(--white);place-items:center;font-weight:900;display:grid;position:absolute;top:-4px;left:0}.kbd{border:1.5px solid var(--black);white-space:nowrap;align-items:center;gap:4px;padding:1px 6px;font-size:14px;font-weight:700;display:inline-flex}.auth{background:var(--black);min-height:100dvh;color:var(--white);flex-direction:column;display:flex}.auth .auth-top{padding:calc(env(safe-area-inset-top) + 36px) 24px 28px}.auth .auth-top .mono{width:64px;margin-bottom:28px}.auth .auth-body{background:var(--white);color:var(--black);padding:24px 24px calc(env(safe-area-inset-bottom) + 32px);flex:1}.auth .auth-body>div{max-width:440px;margin:0 auto}.or{color:var(--g600);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.or:before,.or:after{content:"";background:var(--g200);flex:1;height:1px}
