:root{--bg:#0d0f12;--card:#171a1f;--card-2:#20242b;--line:#2a2f37;--text:#f2f4f7;--muted:#8b93a1;--accent:#c6f432;--accent-ink:#11140a;--blue:#5ab0ff;--warn:#ffb547;--danger:#ff4d5e;--ok:#3ddc84;--radius:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{overscroll-behavior-y:none;min-height:100dvh}h1,h2,h3{letter-spacing:-.02em;margin:0 0 8px}h1{font-size:30px;font-weight:800}h2{font-size:20px}h3{font-size:16px}p{margin:6px 0;line-height:1.4}code{background:var(--card-2);border-radius:6px;padding:2px 6px}.muted{color:var(--muted)}.small{font-size:13px}.center-text{text-align:center}.error{color:var(--danger);font-size:14px}.success{color:var(--ok);font-size:14px}.warn{color:var(--warn)}.app{flex-direction:column;min-height:100dvh;display:flex}main{padding-bottom:calc(76px + env(safe-area-inset-bottom));flex:1}.screen{padding:calc(16px + env(safe-area-inset-top)) 16px 24px;flex-direction:column;gap:14px;max-width:560px;margin:0 auto;display:flex}.screen.center{justify-content:center;min-height:100dvh}.page-head{justify-content:space-between;align-items:center;display:flex}.row{justify-content:center;align-items:center;gap:10px;display:flex}.row>input{flex:1}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;padding:16px;display:flex}.warn-card{border-color:var(--warn)}.brand{text-align:center;margin-bottom:8px}.brand img,.pulse{border-radius:18px}.pulse{margin:0 auto;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4;transform:scale(.95)}}.form{flex-direction:column;gap:12px;display:flex}label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}input,select{font:inherit;color:var(--text);background:var(--card-2);border:1px solid var(--line);border-radius:12px;width:100%;min-width:0;padding:12px;font-size:16px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.code-input{text-align:center;letter-spacing:.3em;text-transform:uppercase;font-weight:700}.btn{font:inherit;border:1px solid var(--line);background:var(--card-2);color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:12px;padding:12px 16px;font-size:15px;font-weight:650}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45}.btn.wide{width:100%}.btn.big{padding:16px;font-size:17px}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.warn-btn{background:var(--warn);color:#1a1205;border-color:var(--warn)}.btn.ghost{background:0 0}.btn.link{color:var(--muted);background:0 0;border:none;padding:8px;text-decoration:underline}.pill{background:var(--card-2);border-radius:99px;padding:6px 10px;font-size:12px;font-weight:700}.pill.done{background:var(--accent);color:var(--accent-ink)}.pill.missed{background:var(--danger);color:#fff}.pill.pending{background:var(--warn);color:#1a1205}.step{align-items:center;gap:10px;margin-top:8px;display:flex}.tick{background:var(--card-2);border:1px solid var(--line);border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.tick.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.lifts{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lifts li{background:var(--card-2);border-radius:12px;padding:10px 12px}.sets{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.set{background:var(--bg);border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:13px;display:inline-flex}.set .x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px}.add-set{flex-direction:column;gap:8px;display:flex}.add-set .row{align-items:flex-end}.mini{flex:1}.recorder{flex-direction:column;gap:12px;display:flex}.viewfinder{aspect-ratio:9/16;background:#000;border-radius:14px;max-height:60dvh;position:relative;overflow:hidden}.viewfinder video,.viewfinder-video{object-fit:cover;background:#000;border-radius:14px;width:100%;height:100%;display:block}.viewfinder-video{object-fit:contain;max-height:60dvh}.mirror{transform:scaleX(-1)}.rec-badge{background:var(--danger);color:#fff;border-radius:99px;padding:4px 10px;font-size:13px;font-weight:700;position:absolute;top:10px;left:10px}.rec-badge.static{position:static}.btn.record{border:4px solid var(--card-2);background:#fff;border-radius:50%;place-items:center;width:68px;height:68px;padding:0;display:grid}.btn.record span{background:var(--danger);border-radius:50%;width:50px;height:50px}.feed-video{background:#000;border-radius:12px;width:100%;max-height:70dvh;display:block}.media-loading,.media-expired{background:var(--card-2);aspect-ratio:16/9;color:var(--muted);border-radius:12px;place-items:center;font-size:13px;display:grid}audio{width:100%}.buddy-head{align-items:center;gap:12px;display:flex}.buddy-head h3{margin:0}.avatar{background:var(--blue);color:#04121f;border-radius:50%;place-items:center;width:44px;height:44px;font-size:18px;font-weight:800;display:grid}.escalate{flex-direction:column;gap:8px;display:flex}.shame-card{border-color:var(--danger)}.invite-code{letter-spacing:.25em;text-align:center;background:var(--card-2);color:var(--accent);border-radius:12px;padding:12px;font-size:40px;font-weight:800}.divider{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.schedule{flex-direction:column;gap:12px;display:flex}.label{color:var(--muted);margin:0;font-size:13px}.days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.day{font:inherit;background:var(--card-2);color:var(--muted);border:1px solid var(--line);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:10px 0 6px;font-weight:700;display:flex}.day small{font-size:10px;font-weight:500}.day.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.seg{background:var(--card-2);border-radius:12px;gap:4px;padding:4px;display:flex}.seg button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:8px}.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:700}.post header{font-size:15px}.post.mine{border-color:#2e3a14}.event{flex-direction:column;gap:6px;padding:4px 6px;font-size:14px;display:flex}.event p{margin:0}.event.shame{border:1px solid var(--danger);background:#2a1216;border-radius:12px;padding:10px 12px}.event.missed p{color:var(--warn)}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{gap:2px;padding:14px}.stat strong{font-size:32px;font-weight:800;line-height:1.1}.chart svg{width:100%;height:auto;display:block}.chart{margin:0}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .axis{fill:var(--muted);font-size:10px}.legend{color:var(--muted);justify-content:center;gap:14px;margin-top:6px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{background:var(--card-2);border-radius:3px;width:10px;height:10px;display:inline-block}.heatmap{flex-direction:column;gap:8px;display:flex}.hm-grid{grid-template-rows:repeat(7,1fr);grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;display:grid}.hm-grid i,.legend i{aspect-ratio:1;background:var(--card-2);border-radius:3px}.hm-grid i.hit,.legend i.hit{background:var(--accent)}.hm-grid i.miss,.legend i.miss{background:#5a1f27}.hm-grid i.skip,.legend i.skip{background:#3a3f48}.banner{z-index:5;width:100%;font:inherit;background:var(--warn);color:#1a1205;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;cursor:pointer;border:none;font-size:13px;font-weight:600;position:sticky;top:0}.tabs{z-index:10;-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#0d0f12eb;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:8px 0 10px;font-size:11px;display:flex}.tab .icon{filter:grayscale();opacity:.7;font-size:22px;position:relative}.tab.on{color:var(--accent)}.tab.on .icon{filter:none;opacity:1}.dot{background:var(--danger);border-radius:50%;width:9px;height:9px;position:absolute;top:0;right:-4px}.pw-rules{color:var(--muted);flex-direction:column;gap:4px;margin:-4px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.pw-rules li.ok{color:var(--ok)}
