:root{--ink:#f3f3ee;--canvas:#10100f;--surface:#191918;--surface-raised:#222220;--line:#33332f;--muted:#97968f;--accent:#d8f968;--accent-soft:#efffb1;--gold:#f2c86d;--gold-soft:#fff0bd;color:var(--ink);background:var(--canvas);font-synthesis:none;font-family:Geist,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--canvas);min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{max-width:680px;min-height:100dvh;margin:0 auto;padding:0 20px 106px}.topbar{z-index:5;border-bottom:1px solid var(--line);background:var(--canvas);align-items:center;gap:12px;height:76px;display:flex;position:sticky;top:0}.brand{letter-spacing:-1.4px;font-size:24px;font-weight:700}.brand span{color:var(--accent)}.topbar-mode{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;border:1px solid #454540;border-radius:999px;margin-right:auto;padding:5px 8px;font-size:10px;font-weight:650}.avatar{border:1px solid var(--accent);background:var(--accent);color:#171716;border-radius:10px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.page{padding-top:30px}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:600}.today-heading,.screen-heading{margin-bottom:24px}.today-heading{justify-content:space-between;align-items:end;display:flex}.today-heading h1,.screen-heading h1,.welcome h1{letter-spacing:-1.5px;margin:0;font-size:clamp(36px,9vw,52px);line-height:.98}.screen-heading p,.welcome>p{color:var(--muted);max-width:440px;line-height:1.5}.streak-badge{border:1px solid var(--accent);text-align:center;background:#20221a;border-radius:12px;place-items:center;min-width:72px;min-height:62px;padding:8px;display:grid}.streak-badge strong{color:var(--accent);letter-spacing:-1px;font-size:24px;line-height:.9}.streak-badge span{color:#b5b6aa;margin-top:4px;font-size:10px;font-weight:600}.daily-focus-note{color:#c7c7bf;align-items:center;gap:9px;margin:-7px 0 16px;font-size:13px;display:flex}.daily-focus-note p{margin:0}.focus-indicator{background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #2b2c20}.commitment-card,.form-card,.notice,.result-list,.settings-list,.progress-hero,.week{border:1px solid var(--line);background:var(--surface);border-radius:14px;box-shadow:0 16px 34px #00000029}.commitment-card{border-color:#46463d;overflow:hidden}.commitment-meta{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 18px 14px;font-size:12px;display:flex}.commitment-meta div{gap:3px;display:grid}.commitment-meta strong{color:var(--ink);font-size:15px}.commitment-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:650}.commitment-progress{background:#2d2d29;height:3px}.commitment-progress span{background:var(--accent);height:100%;transition:width .1s ease-out;display:block}.goal-row{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:17px 18px;transition:background .1s ease-out,transform .1s ease-out;display:flex}.goal-row:hover{background:var(--surface-raised)}.goal-row:last-child{border:0}.goal-number{color:#c3c3be;border:1px solid #5b5b56;border-radius:9px;flex:0 0 28px;place-items:center;height:28px;font-size:12px;font-weight:700;display:grid}.goal-number.submitted{background:var(--accent);border-color:var(--accent);color:#151515}.goal-number.complete{border-color:var(--accent);color:var(--accent);background:#292c1e}.goal-number.missed{color:#d0aaa1;border-color:#5e524d}.goal-row div{flex:1;min-width:0}.goal-row h2{letter-spacing:-.2px;margin:0;font-size:15px}.goal-row .goal-detail{color:var(--muted);margin:5px 0 0;font-size:13px}.proof-chip{color:#aaa9a1;letter-spacing:.02em;border:1px solid #41413b;border-radius:4px;margin-top:8px;padding:3px 6px;font-size:10px;font-weight:600;display:inline-block}.text-button,.quiet-link{color:var(--accent);white-space:nowrap;background:0 0;border:0;font-size:13px;font-weight:600}.auth-switch{text-align:center;padding:4px 0;display:block}.inline-actions{align-items:center;gap:12px;display:flex}.status-chip{color:#ccc;font-size:12px}.today-actions{justify-items:start;gap:16px;margin:22px 0;display:grid}.today-progress{border-top:1px solid var(--line);margin:32px 0 20px;padding-top:20px}.today-progress .section-title-row{align-items:end;margin-bottom:12px}.today-progress .section-title-row h2{letter-spacing:-.35px;margin:0;font-size:17px}.today-progress .eyebrow{margin-bottom:5px;font-size:9px}.today-progress-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px;display:grid}.today-progress-hero{padding:19px}.today-progress-hero strong{font-size:46px}.today-progress-hero p{margin-top:10px;font-size:11px;line-height:1.4}.today-week{margin-top:0;padding:18px 14px}.today-week p{margin-bottom:13px}.today-week span{width:24px;height:24px;font-size:11px}.primary-button,.secondary-button{border:1px solid var(--accent);background:var(--accent);color:#171716;border-radius:9px;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:0 17px;font-weight:700;transition:transform .1s ease-out,box-shadow .1s ease-out,background .1s ease-out;display:inline-flex;box-shadow:3px 3px #787d42}.primary-button:hover,.secondary-button:hover{transform:translate(-1px,-1px);box-shadow:5px 5px #787d42}.primary-button:active,.secondary-button:active{transform:translate(1px,1px);box-shadow:1px 1px #787d42}.primary-button:disabled{cursor:not-allowed;opacity:.45}.secondary-button{background:var(--surface-raised);color:var(--ink);box-shadow:none;border-color:#5a5a52}.secondary-button:hover,.secondary-button:active{box-shadow:none}.full{width:100%}.connection-note,.quiet{color:#77766f;font-size:12px}.bottom-nav{z-index:10;padding:9px 8px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#151514;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-width:0;color:var(--muted);text-align:center;border-radius:8px;justify-items:center;gap:4px;padding:6px 2px;font-size:8px;font-weight:600;line-height:1.05;transition:color .1s ease-out,background .1s ease-out;display:grid}.bottom-nav a.active{color:var(--accent);background:#2a2c1d}.nav-mark{font-size:14px;line-height:1}.back{color:var(--muted);margin-bottom:20px;font-size:14px;display:inline-block}.setup-steps{gap:10px;margin:-6px 0 16px;display:flex;overflow-x:auto}.setup-steps span{color:var(--muted);white-space:nowrap;border-bottom:1px solid #4a4a45;padding:6px 8px;font-size:11px;font-weight:650}.setup-steps .active{border-color:var(--accent);color:var(--accent)}.choice-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.choice-row button{text-align:left;color:#d5d5d0;background:var(--surface);border:1px solid #454541;border-radius:12px;min-height:104px;padding:16px;font-weight:700;transition:transform .1s ease-out,border-color .1s ease-out,background .1s ease-out;position:relative}.choice-row button:hover{background:var(--surface-raised);border-color:#77776d;transform:translateY(-2px)}.choice-row button.selected{border-color:var(--accent);color:var(--accent);background:#24271c;box-shadow:3px 3px #555a31}.choice-row small{color:#92918b;margin-top:6px;font-weight:400;display:inline-block}.form-card{gap:19px;padding:20px;display:grid}.form-card label{color:#c1c0bb;gap:8px;font-size:13px;display:grid}.optional-label{color:var(--muted);font-weight:400}.username-help{color:var(--muted);font-size:11px;font-weight:400;line-height:1.35}.form-card input,.form-card select,.form-card textarea{width:100%;color:var(--ink);background:#121211;border:1px solid #474742;border-radius:8px;padding:12px;transition:border-color .1s ease-out,box-shadow .1s ease-out,background .1s ease-out}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--accent);background:#171716;outline:none;box-shadow:0 0 0 3px #2d2f1e}.form-card textarea{resize:vertical;min-height:120px}.notice{margin-bottom:18px;padding:17px}.notice strong{font-size:14px}.notice p,.legal-note{color:#a6a59e;font-size:13px;line-height:1.5}.notice input{color:#efefed;background:#111110;border:1px solid #41413d;border-radius:7px;width:100%;margin:4px 0 12px;padding:10px;font-size:12px}.upload-zone{color:#d6d6cf;text-align:center;background:#161615;border:1px dashed #69695f;border-radius:12px;place-items:center;gap:5px;min-height:140px;padding:22px;display:grid}.upload-zone input{display:none}.upload-zone small{color:#87867f}.check{color:#c1c0b8;gap:10px;margin:18px 0;font-size:13px;display:flex}.success-note{color:var(--accent);font-size:13px}.profile-preview{background:#1f2019;border:1px solid #45453e;border-radius:13px;align-items:center;gap:13px;margin:-5px 0 16px;padding:14px;display:flex}.profile-header{grid-template-columns:112px minmax(0,1fr);align-items:start;gap:18px;margin-bottom:25px;display:grid}.profile-avatar-wrap{width:112px;height:112px;position:relative}.profile-avatar-image,.profile-avatar-fallback{border:2px solid var(--accent);width:100%;height:100%;color:var(--accent);object-fit:cover;background:#2b2b27;border-radius:50%;place-items:center;font-size:42px;font-weight:800;display:grid}.profile-avatar-edit{color:var(--accent-soft);white-space:nowrap;cursor:pointer;background:#1c1c19;border:1px solid #737360;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:700;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.profile-avatar-edit input,.profile-gallery-add input{display:none}.profile-identity{min-width:0}.profile-name-row{align-items:center;gap:8px;display:flex}.profile-handle{color:var(--accent);letter-spacing:.02em;margin:0 0 5px;font-size:12px;font-weight:700}.profile-name-row h1{letter-spacing:-1.3px;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(25px,7vw,36px);line-height:1.05;overflow:hidden}.profile-verified{background:var(--gold);color:#211b0e;border-radius:50%;flex:0 0 19px;place-items:center;width:19px;height:19px;font-size:12px;font-weight:900;display:grid}.profile-metrics{color:var(--muted);flex-wrap:wrap;gap:9px 15px;margin:12px 0 15px;font-size:12px;display:flex}.profile-metrics strong{color:var(--ink)}.profile-edit-button{min-height:37px;padding:0 12px;font-size:12px}.profile-visitor-actions{flex-wrap:wrap;gap:8px;display:flex}.profile-visitor-actions .primary-button,.profile-visitor-actions .secondary-button{min-height:37px;padding:0 12px;font-size:12px}.profile-edit-form{margin-bottom:18px}.profile-about{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 26px;padding:17px 0}.profile-about p{color:#d6d5cf;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.55}.profile-about a{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;margin-top:10px;font-size:13px;font-weight:650;display:block;overflow:hidden}.profile-gallery-section{margin-top:5px}.profile-gallery-section .section-title-row{align-items:end;margin-bottom:12px}.profile-gallery-section .section-title-row h2{letter-spacing:-.35px;margin:0;font-size:17px}.profile-gallery-section .eyebrow{margin-bottom:5px;font-size:9px}.profile-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.profile-gallery-photo,.profile-gallery-add{aspect-ratio:1;background:#1a1a18;border:1px solid #41413b;border-radius:11px;place-items:center;display:grid;position:relative;overflow:hidden}.profile-gallery-photo img{object-fit:cover;width:100%;height:100%}.profile-gallery-photo button{color:#f3f3ee;background:#1c1c19;border:1px solid #77756c;border-radius:50%;place-items:center;width:25px;height:25px;padding:0;font-size:18px;line-height:1;display:grid;position:absolute;top:7px;right:7px}.profile-gallery-add{color:var(--accent-soft);cursor:pointer;border-style:dashed;font-size:12px;font-weight:700;transition:border-color .1s ease-out,background .1s ease-out}.profile-gallery-add:hover{border-color:var(--accent);background:#22251a}.profile-preview div{gap:4px;display:grid}.profile-preview .eyebrow{margin:0;font-size:9px}.profile-preview strong{font-size:16px}.profile-preview div>span{color:#b1b2a5;font-size:11px}.profile-monogram{background:var(--accent);color:#161615;border-radius:13px;place-items:center;width:46px;height:46px;font-size:18px;font-weight:800;display:grid}.verified-callout{background:#211e15;border:1px solid #806a37;border-radius:13px;align-items:center;gap:13px;margin:0 0 16px;padding:14px;transition:transform .1s ease-out,box-shadow .1s ease-out,background .1s ease-out;display:flex;box-shadow:3px 3px #4d4024}.verified-callout:hover{background:#292417;transform:translate(-1px,-1px);box-shadow:5px 5px #4d4024}.verified-callout:active{transform:translate(1px,1px);box-shadow:1px 1px #4d4024}.verified-callout-icon{border:1px solid var(--gold);background:var(--gold);color:#211b0e;border-radius:13px;flex:0 0 46px;place-items:center;width:46px;height:46px;font-size:21px;font-weight:900;display:grid}.verified-callout-copy{gap:4px;min-width:0;display:grid}.verified-callout-copy .eyebrow{color:#d3be87;margin:0;font-size:9px}.verified-callout-copy strong{color:var(--gold-soft);letter-spacing:-.2px;font-size:16px}.verified-callout-copy>span:last-child{color:#c4b99d;font-size:11px}.verified-pop{background:var(--gold);color:#211b0e;vertical-align:2px;border-radius:50%;place-items:center;width:17px;height:17px;margin-left:4px;font-size:11px;font-weight:900;display:inline-grid;box-shadow:0 0 0 3px #372e1b}.verified-callout-arrow{color:var(--gold);margin-left:auto;font-size:23px;line-height:1}.result-list,.settings-list{overflow:hidden}.results-workspace{gap:22px;display:grid}.results-summary{background:#1a1b17;border:1px solid #46463d;border-radius:14px;gap:8px;padding:22px;display:grid;box-shadow:0 16px 34px #00000029}.results-summary .eyebrow{margin-bottom:2px}.results-summary>strong{color:var(--accent);letter-spacing:-4px;font-size:58px;line-height:.9}.results-summary>span{color:#d9d9d2;font-size:14px;font-weight:650}.results-summary>p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.5}.results-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px;display:grid}.results-summary-stats span{color:var(--muted);border:1px solid #383934;border-radius:10px;gap:3px;padding:11px;font-size:10px;display:grid}.results-summary-stats strong{color:var(--ink);font-size:17px}.result-row,.settings-list>a,.settings-list>button,.settings-list>span,.friend-row,.review-row{border-bottom:1px solid #30302d;justify-content:space-between;align-items:center;gap:14px;padding:17px;display:flex}.result-row:last-child,.settings-list>:last-child{border-bottom:0}.result-row div,.friend-row div,.review-row div{gap:4px;display:grid}.result-row span:not([class]),.friend-row p,.review-row p{color:#94938d;margin:0;font-size:12px}.result-pass{color:#d8f968;font-size:13px}.result-missed{color:#ff8b78;font-size:13px}.result-pending{color:#aaa9a2;font-size:13px}.progress-hero{padding:28px}.progress-hero strong{letter-spacing:-4px;font-size:64px;line-height:.9;display:block}.progress-hero span{color:#d8f968;font-size:15px;font-weight:600}.progress-hero p{color:#aaa9a2;margin-bottom:0}.week{margin-top:15px;padding:18px}.week p{color:#aaa9a2;margin-top:0;font-size:13px}.week div{justify-content:space-between;display:flex}.week span{color:#1b1b1a;background:#d8f968;border-radius:50%;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.week span.miss{color:#8b8a83;background:#30302d}.friend-row,.review-row{border:1px solid #30302d;border-radius:10px;margin-bottom:16px}.friend-avatar{background:#4e5365;border-radius:50%;place-items:center;width:36px;height:36px;font-size:11px;font-weight:700;display:grid}.featured-section{margin-bottom:28px}.section-title-row{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.section-title-row h2{margin:0;font-size:16px}.section-title-row span{color:#92918b;font-size:12px}.featured-list{border:1px solid #30302d;border-radius:10px;overflow:hidden}.featured-row{border-bottom:1px solid #30302d;align-items:center;gap:12px;padding:13px;display:flex}.featured-row:last-child{border-bottom:0}.featured-row div{gap:4px;display:grid}.featured-row .featured-actions{justify-items:end;gap:7px;margin-left:auto}.featured-actions .text-button{font-size:11px}.featured-row h2{margin:0;font-size:14px}.featured-row p,.empty-copy{color:#94938d;margin:0;font-size:12px;line-height:1.5}.profile-photo{object-fit:cover;background:#30302d;border-radius:50%;width:42px;height:42px}.verified-mark{color:#d8f968;vertical-align:middle;margin-left:7px;font-size:10px;font-weight:600;display:inline-block}.message-thread{gap:9px;min-height:220px;margin-bottom:14px;display:grid}.message-bubble{color:#e9e9e3;background:#242423;border-radius:9px;max-width:82%;padding:10px 12px;font-size:13px;line-height:1.45}.message-bubble img{border-radius:6px;max-width:100%;margin-top:8px;display:block}.chat-compose{grid-template-columns:1fr auto auto;align-items:center;gap:8px;display:grid}.chat-compose input{color:#f4f4ef;background:#111110;border:1px solid #41413d;border-radius:7px;min-width:0;padding:11px}.photo-button{color:#c1c0bb;border:1px solid #41413d;border-radius:7px;padding:9px;font-size:12px}.photo-button input{display:none}.kebab{color:#aaa9a2;background:0 0;border:0}.settings-list>a,.settings-list>button,.settings-list>span{color:#dfdfda;text-align:left;background:#181817;border-top:0;border-left:0;border-right:0;width:100%;transition:background .1s ease-out,color .1s ease-out}.settings-list>a:hover,.settings-list>button:hover{background:var(--surface-raised);color:var(--accent-soft)}.settings-list span{color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (width>=700px){.app-shell{padding-left:32px;padding-right:32px}.bottom-nav{background:0 0;border-top:0;grid-template-columns:repeat(7,max-content);justify-content:flex-start;gap:6px;padding:22px 0;position:static}.bottom-nav a{min-width:74px}.topbar{height:82px}}@media (width>=960px){.app-shell{grid-template-rows:82px minmax(0,1fr);grid-template-columns:210px minmax(0,1fr);align-items:start;column-gap:clamp(34px,4vw,64px);max-width:1560px;padding:0 clamp(32px,5vw,72px) 56px;display:grid}.public-shell{max-width:720px;padding-left:32px;padding-right:32px;display:block}.topbar{grid-area:1/1/auto/-1}.page{grid-area:2/2;width:100%;min-width:0;max-width:1240px;padding-top:48px}.public-shell .page{width:auto;max-width:680px}.bottom-nav{background:0 0;border:0;flex-direction:column;grid-area:2/1;align-self:start;gap:5px;margin-top:30px;padding:0;display:flex;position:sticky;top:106px}.bottom-nav a{align-items:center;justify-items:unset;text-align:left;gap:11px;width:100%;min-height:42px;padding:9px 11px;font-size:12px;display:flex}.nav-mark{text-align:center;width:18px;font-size:16px}.screen-heading,.today-heading{max-width:900px}.commitment-card,.result-list,.settings-list,.form-card,.notice,.progress-hero,.week{max-width:100%}.profile-header{grid-template-columns:144px minmax(0,1fr);gap:26px}.profile-avatar-wrap{width:144px;height:144px}.profile-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.today-actions{grid-auto-columns:max-content;grid-auto-flow:column;align-items:center}.form-card{max-width:760px}}@media (width>=1180px){.results-workspace{grid-template-columns:minmax(0,1fr) minmax(284px,.38fr);align-items:start;gap:38px}.results-summary{position:sticky;top:106px}.today-workspace{grid-template-columns:minmax(0,1fr) minmax(280px,.4fr);align-items:start;gap:38px;display:grid}.today-progress{border-top:0;align-self:start;margin:0;padding:0;position:sticky;top:106px}.today-progress .section-title-row{align-items:start}.today-progress-grid{grid-template-columns:1fr;gap:14px}.today-progress-hero{padding:24px}.today-progress-hero strong{font-size:58px}.today-week{padding:19px}.today-week span{width:29px;height:29px}.today-workspace .connection-note{grid-column:1/-1;margin-top:2px}.profile-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
