@font-face{font-family:Cormorant;src:url('./assets/fonts/cormorant-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Cormorant;src:url('./assets/fonts/cormorant-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:'DM Sans';src:url('./assets/fonts/dm-sans-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:'DM Sans';src:url('./assets/fonts/dm-sans-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--accent:#6d243c;--accent-deep:#431528;--accent-soft:#f1e6e9;--ink:#28222a;--muted:#746a70;--canvas:#f6f4f1;--line:#e5e0db;--gold:#a57d43;--card:#fff;--serif:Cormorant,Georgia,serif;--body:'DM Sans',Arial,sans-serif;color-scheme:light}body[data-theme=midnight]{--accent:#283c5d;--accent-deep:#192a43;--accent-soft:#e7edf5}body[data-theme=plum]{--accent:#694168;--accent-deep:#442441;--accent-soft:#f0e7f0}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b48442;outline-offset:4px}a{color:var(--accent)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.025em}h1{font-size:3.65rem}h2{font-size:2.4rem}h3{font-size:1.75rem}strong,b{font-weight:600}em{font-weight:400}button svg{pointer-events:none}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.13em;color:var(--muted);line-height:1.5;margin-bottom:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.toast{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:48px;border-radius:8px;padding:12px 20px;font-size:.9375rem;font-weight:600;line-height:1.45;transition:background .18s,transform .18s,box-shadow .18s}.primary-btn{color:white;background:var(--accent);box-shadow:0 3px 8px #3a1b2710}.primary-btn:hover:enabled{background:var(--accent-deep);transform:translateY(-1px);box-shadow:0 6px 14px #3a1b271a}.secondary-btn{background:#fff;border:1px solid #d8cdd1;color:var(--accent)}.secondary-btn:hover:enabled{background:var(--accent-soft)}.text-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--accent);padding:7px 0;min-height:40px;font-size:.875rem;text-align:left;text-decoration:underline;text-underline-offset:5px}.text-btn .icon{width:16px}.full{width:100%}.icon-btn{display:grid;place-items:center;border:1px solid var(--line);background:white;border-radius:50%;width:42px;height:42px;color:var(--muted)}.icon-btn:hover{background:var(--accent-soft);color:var(--accent)}.quiet-btn{background:transparent;color:var(--muted);padding:10px 12px;min-height:42px;font-size:.875rem;border-radius:6px}.quiet-btn:hover{background:#eee9e6}.action-row{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 42px;min-height:90px;border-bottom:1px solid var(--line);background:#fffdfb}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:.75rem;font-weight:600;line-height:1.35}.brand-seal{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--accent);color:#fff2df;font-family:var(--serif);font-size:1.35rem;font-weight:400;letter-spacing:-.04em}.game-wordmark{font-family:var(--serif);font-size:1.9rem;letter-spacing:-.03em;color:#3b2831}.game-wordmark i{color:var(--accent)}.top-actions{display:flex;align-items:center;gap:12px}.page-footer{max-width:1510px;padding:25px 40px;margin:30px auto 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.8125rem;color:var(--muted)}.page-footer>span>span{padding:0 6px;color:#b6a8ab}.page-footer>div{display:flex;gap:19px}.page-footer button{background:none;font-size:.8125rem;color:var(--muted);padding:7px 0;min-height:40px;text-decoration:underline;text-underline-offset:4px}.save-warning{background:#fbedd0;border-bottom:1px solid #dcc591;color:#573d17;padding:14px 36px;font-size:.9375rem}.save-warning button{background:none;text-decoration:underline;font-weight:600;color:inherit;margin-left:9px}
/* The first screen begins with the player's goal. */
.welcome{display:grid;grid-template-columns:minmax(330px,1fr) minmax(400px,570px);gap:90px;max-width:1320px;margin:0 auto;padding:48px 54px 24px;align-items:center}.welcome-story{min-width:0}.welcome-story>.eyebrow{color:var(--accent);margin-bottom:22px}.welcome h1{font-size:clamp(4.2rem,6.4vw,6rem);line-height:.98;letter-spacing:-.045em}.welcome h1 em{color:var(--accent)}.welcome-copy{font-size:1.125rem;color:#79686e;line-height:1.75;margin-top:26px}.welcome-hosts{display:grid;grid-template-columns:repeat(2,minmax(0,150px));max-width:350px;background:#260c17;border-radius:18px;padding:18px 22px 23px;margin-top:38px;box-shadow:0 12px 32px #32152515;overflow:hidden}.welcome-hosts img{mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);align-self:end}.welcome-hosts img:first-child{transform:rotate(-5deg)}.welcome-hosts img:nth-child(2){transform:rotate(4deg)}.welcome-hosts>p{grid-column:1/-1;color:#ead3b6;font-size:.875rem;line-height:1.9;margin-top:8px}.welcome-hosts b{font-size:.75rem;letter-spacing:.09em;margin-right:7px;color:#d6b180}.onboarding-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px 36px;box-shadow:0 14px 42px #37221f06;min-width:0}.onboarding-card>.eyebrow{color:var(--accent);margin-bottom:9px}.onboarding-card>h2{font-size:2.5rem;margin-bottom:21px}
/* A calm working surface, with the goal and its numbers first. */
.workspace{display:grid;grid-template-columns:196px minmax(0,1fr);gap:38px;max-width:1510px;margin:0 auto;padding:38px 40px 10px}.side-nav{min-width:0;position:sticky;top:25px;align-self:start}.goal-switch{padding-bottom:25px;border-bottom:1px solid var(--line)}.goal-switch label{font-size:.75rem;letter-spacing:.1em;color:var(--muted);margin:0 0 10px}.goal-switch select{background:#fff;font-size:.875rem;font-weight:600;min-height:43px;padding:10px 9px;border-radius:7px;color:#463440}.goal-switch>button{font-size:.875rem;color:var(--accent);background:transparent;padding:13px 2px 0;min-height:42px}.side-nav nav{display:grid;gap:6px;padding-top:24px}.side-nav nav button{background:transparent;display:flex;gap:11px;align-items:center;text-align:left;padding:13px 12px;border-radius:8px;font-size:.875rem;min-height:48px;color:var(--muted)}.side-nav nav button:hover{background:#efe9e8}.side-nav nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.side-nav nav button>span{margin-left:auto;font-size:.75rem;background:#ffffffa3;padding:1px 7px;border-radius:5px}.side-nav nav .icon{width:18px;height:18px}.side-level{padding:27px 13px 0;margin-top:22px;border-top:1px solid var(--line)}.star-mark{font-size:1.65rem;color:var(--gold);display:block;line-height:1;margin-bottom:13px}.side-level>strong{font-size:1.1rem;display:block;color:#4c3540;margin-bottom:4px}.side-level>span:not(.star-mark){font-size:.8125rem;color:var(--muted)}progress{appearance:none;display:block;height:5px;border:0;border-radius:5px;overflow:hidden;background:#e9e1df;width:100%}progress::-webkit-progress-bar{background:#e9e1df}progress::-webkit-progress-value{background:var(--accent);border-radius:5px}progress::-moz-progress-bar{background:var(--accent)}.side-level progress{margin:17px 0 9px}.side-level small{font-size:.75rem;color:var(--muted)}.side-help{display:flex;align-items:center;gap:10px;background:none;color:var(--muted);font-size:.8125rem;padding:12px 13px;margin-top:35px;min-height:44px}.side-help .icon{width:16px}.main-content{min-width:0;animation:arrive .25s both}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.page-heading>div{min-width:0}.page-heading .eyebrow{margin-bottom:11px;color:var(--accent)}.page-heading h1{font-size:clamp(2.4rem,3.3vw,3.6rem);line-height:1.1;overflow-wrap:anywhere}.page-heading>div>p:not(.eyebrow){font-size:.9375rem;color:var(--muted);margin-top:12px;max-width:66ch;overflow-wrap:anywhere}.page-heading>.text-btn{white-space:nowrap;align-self:flex-start;margin-top:30px}.progress-card{display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:14px 35px;background:#fff;border:1px solid var(--line);border-radius:19px;padding:31px 34px 0;box-shadow:0 7px 22px #38232704;align-items:center}.progress-main .eyebrow{font-size:.75rem;letter-spacing:.11em;margin-bottom:13px}.hero-amount{font-family:var(--body);font-size:clamp(2.7rem,4.4vw,4.25rem);font-weight:600;letter-spacing:-.055em;line-height:1.15;color:var(--accent-deep);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.target-line{font-size:1rem;color:var(--muted);margin-top:7px}.progress-actions{display:flex;gap:21px;align-items:center;flex-wrap:wrap;margin-top:25px}.progress-actions .primary-btn{font-size:.875rem}.progress-actions .text-btn{font-size:.8125rem}.progress-dial{position:relative;aspect-ratio:1;width:100%}.progress-dial>svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.progress-dial circle{fill:none;stroke-width:6}.dial-track{stroke:#f0e9e5}.dial-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .7s ease}.progress-dial>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-dial strong{font-size:2.5rem;line-height:1.2;font-weight:400;letter-spacing:-.05em;color:var(--accent)}.progress-dial strong>span{font-size:1.1rem;margin-left:3px}.progress-dial small{font-size:.75rem;color:var(--muted);margin-top:5px}.progress-details{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:13px;padding:19px 0;font-size:.8125rem;color:var(--muted)}.progress-details>span:first-child{color:#5b434b;font-weight:600}.tiny-help{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid #b3a5a9;background:none;font-size:.75rem;color:#87747c;padding:0;margin-left:4px}.milestone-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:relative;margin:29px 0 37px}.milestone-track:before{content:'';height:1px;background:#dfd7d2;position:absolute;left:8%;right:8%;top:17px}.milestone-track>button{position:relative;background:none;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;color:#9f9397}.milestone-track>button>span{display:grid;place-items:center;width:35px;height:35px;background:var(--canvas);border:1px solid #ddd3d2;border-radius:50%;transition:background .2s}.milestone-track .icon{width:15px;height:15px}.milestone-track b{font-weight:400;font-size:.75rem}.milestone-track>button.passed{color:var(--accent)}.milestone-track>button.passed>span{background:var(--accent);border-color:var(--accent);color:white;box-shadow:0 0 0 5px var(--canvas)}.board-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.85fr);gap:27px;align-items:start}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:21px}.section-heading .eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:7px}.section-heading h2{font-size:2.25rem;line-height:1.1}.round-add{display:grid;place-items:center;width:38px;height:38px;background:#fff;border:1px solid #dcd2d2;border-radius:50%;font-size:1.6rem;color:var(--accent);flex-shrink:0}.round-add:hover{background:var(--accent-soft)}.empty-routine{background:#fff;border:1px dashed #d0bfc3;border-radius:14px;padding:27px;text-align:left}.empty-routine>span{display:grid;place-items:center;width:43px;height:43px;background:var(--accent-soft);color:var(--accent);border-radius:11px;margin-bottom:18px}.empty-routine h3{font-size:2rem;line-height:1.13;max-width:24ch;margin-bottom:12px}.empty-routine p{font-size:.9375rem;color:var(--muted);line-height:1.7;max-width:42ch;margin-bottom:23px}.empty-routine .secondary-btn{font-size:.875rem}.routine-list{display:grid;gap:18px}.routine-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 24px 21px;min-width:0;box-shadow:0 4px 14px #34222c02}.routine-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:13px}.routine-cadence{color:var(--accent);background:var(--accent-soft);font-size:.75rem;border-radius:5px;padding:4px 9px;line-height:1.4}.routine-top .text-btn{font-size:.8125rem;min-height:30px;padding:3px}.routine-cue{font-size:.9375rem;color:var(--muted);line-height:1.55;margin-bottom:10px;overflow-wrap:anywhere}.routine-card h3{font-size:1.8rem;line-height:1.15;overflow-wrap:anywhere}.routine-timing{font-size:.8125rem;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}.routine-first{border-left:2px solid #c2a06b;padding:1px 0 1px 13px;margin:20px 0}.routine-first>span{font-size:.75rem;letter-spacing:.1em;color:#9b7a4c}.routine-first p{font-size:.875rem;color:#6e5a60;margin-top:4px;overflow-wrap:anywhere}.routine-buttons{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.routine-buttons .primary-btn,.routine-buttons .secondary-btn{font-size:.8125rem;padding:10px 13px;min-height:43px}.routine-buttons .text-btn{font-size:.8125rem}.routine-review{font-size:.75rem;color:#8f7f85;border-top:1px solid var(--line);padding-top:15px;margin-top:17px;overflow-wrap:anywhere}
/* The comedy has its own stage, separate from the money figures. */
.board-aside{display:grid;gap:21px}.comedy-preview{background:#260c17;color:#f9eddb;border-radius:17px;overflow:hidden;position:relative;padding:24px 24px 0}.comedy-preview .eyebrow{color:#c3a37a;font-size:.75rem;letter-spacing:.13em;margin-bottom:11px}.comedy-preview h2{font-size:2rem;line-height:1.07}.comedy-preview p:not(.eyebrow){font-size:.8125rem;color:#cbb4a4;margin-top:13px;line-height:1.6}.comedy-preview button{background:none;color:#f3d5ab;display:flex;gap:8px;align-items:center;padding:8px 0;font-size:.8125rem;margin-top:9px;min-height:40px}.comedy-preview button .icon{width:16px}.comedy-duo{display:flex;align-items:flex-end;justify-content:center;margin:5px -10px 0;overflow:hidden}.comedy-duo img{width:51%;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);margin-bottom:-4px}.comedy-duo img:first-child{transform:rotate(-4deg);margin-right:-7px}.comedy-duo img:last-child{transform:rotate(5deg)}.personal-reward{border:1px solid var(--line);border-radius:15px;background:#eee7de;padding:23px 24px}.reward-small-icon{color:#997749;display:block;margin-bottom:13px}.personal-reward .eyebrow{font-size:.75rem;letter-spacing:.1em;color:#8e765d}.personal-reward h3{font-size:1.8rem;line-height:1.15;overflow-wrap:anywhere}.personal-reward p:not(.eyebrow){color:#7e6a59;font-size:.875rem;margin-top:10px}.personal-reward .text-btn{font-size:.8125rem;margin-top:8px;color:#7d5439}.challenge-section{margin-top:40px;padding-top:29px;border-top:1px solid var(--line)}.challenge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.challenge-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px 20px;text-align:left;min-width:0;transition:transform .18s,box-shadow .18s,border-color .18s}.challenge-card:hover{transform:translateY(-4px);border-color:#c8b2b9;box-shadow:0 12px 22px #33212d08}.challenge-icon{display:grid;place-items:center;background:#f3ece5;color:#9b7246;width:40px;height:40px;border-radius:10px;margin-bottom:20px}.challenge-card>strong{font-family:var(--serif);font-size:1.7rem;font-weight:400;line-height:1.12;margin-bottom:12px}.challenge-card>p{font-size:.875rem;color:var(--muted);line-height:1.65;margin-bottom:22px}.challenge-card>span:last-child{font-size:.8125rem;color:var(--accent);display:flex;align-items:center;gap:12px;margin-top:auto}.challenge-card>span:last-child .icon{width:16px}
/* Forms make every goal, trigger, and action personal. */
label{display:block;font-size:.875rem;font-weight:600;color:#51444b;line-height:1.5;margin:20px 0 8px}label small{font-size:.75rem;font-weight:400;color:#91838a;margin-left:3px}input,select,textarea{width:100%;max-width:100%;display:block;font-size:1rem;line-height:1.5;min-height:48px;border:1px solid #dcd4d6;background:#fff;color:var(--ink);padding:11px 12px;border-radius:7px;font-weight:400;margin:0;box-shadow:inset 0 1px 2px #33212a02}label>input,label>select,label>textarea{margin-top:8px}input::placeholder,textarea::placeholder{color:#a2949b;font-size:.9375rem}input:focus,select:focus,textarea:focus{border-color:#a77f8d;background:#fffdfd}input:disabled,select:disabled{background:#f4f0f1;color:#92868b}textarea{resize:vertical}.form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-pair>label{margin-bottom:0}.form-note,.field-help{color:var(--muted);font-size:.8125rem;line-height:1.65;margin-top:13px}.form-note{text-align:center}.form-error{font-size:.875rem;line-height:1.55;color:#9b3545;margin-top:15px;overflow-wrap:anywhere}.form-error:empty{display:none}form>.primary-btn.full{margin-top:24px}form>.action-row{margin-top:24px}.check-label{display:flex;gap:11px;align-items:flex-start;font-weight:400;margin:19px 0}.check-label input{width:18px;height:18px;min-height:18px;margin:3px 0 0;flex-shrink:0;accent-color:var(--accent);padding:0}.check-label span{font-size:.875rem;line-height:1.65;color:#6f5b65}.examples{font-size:.8125rem;color:#82626f;margin-top:11px}.examples>summary{cursor:pointer;min-height:36px;display:list-item;list-style-position:inside;padding:7px 0;text-decoration:underline;text-underline-offset:4px}.examples>p{font-size:.8125rem;line-height:1.6;margin:7px 0 10px;color:var(--muted)}.examples>div{display:grid;gap:7px}.examples button{background:#f5eff1;border:1px solid #e5dadd;border-radius:6px;padding:10px 12px;font-size:.8125rem;text-align:left;color:#795365;line-height:1.5}.examples button:hover{background:#eadbe0}dialog{background:#fff;color:var(--ink);border:1px solid #dfd4d9;border-radius:18px;box-shadow:0 30px 100px #1a071c45;padding:36px 36px 31px;width:calc(100% - 32px);max-width:580px;max-height:calc(100dvh - 40px);overflow:auto;scrollbar-color:#b9a0aa #fff}dialog::backdrop{background:#24131dd1;backdrop-filter:blur(7px)}dialog[open]{animation:arrive .22s ease-out}dialog h2{font-size:2.65rem;line-height:1.07;max-width:96%;margin-bottom:19px}dialog>.eyebrow{color:var(--accent);font-size:.75rem;margin-bottom:11px;max-width:90%}dialog>p:not(.eyebrow){font-size:1rem;line-height:1.7;color:var(--muted);margin-bottom:19px}.dialog-close{position:absolute;top:10px;right:11px;display:grid;place-items:center;width:37px;height:37px;background:transparent;border-radius:50%;font-size:1.7rem;color:#99858f;line-height:1}.dialog-close:hover{background:#f0e8ec;color:var(--accent)}.linked-plan{background:#f7f2f3;border:1px solid #e9dfe2;border-radius:9px;padding:18px 20px;margin:20px 0;overflow-wrap:anywhere}.linked-plan>span{display:block;font-size:.75rem;letter-spacing:.1em;color:#92707d;margin:15px 0 5px}.linked-plan>span:first-child{margin-top:0}.linked-plan p{font-size:1rem;line-height:1.6;color:#604552}.rehearsal-note{font-family:var(--serif);font-size:1.5rem;line-height:1.35;color:#885c6d;margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}.rehearse-list{list-style:none;padding:0;margin:22px 0}.rehearse-list li{display:flex;align-items:flex-start;gap:18px;border-bottom:1px solid var(--line);padding:16px 0}.rehearse-list li>span{font-family:var(--serif);font-size:1.4rem;color:#ad8a60;line-height:1.2}.rehearse-list h3{font-size:1.65rem;margin-bottom:8px}.rehearse-list p{font-size:.9375rem;color:var(--muted);line-height:1.65;overflow-wrap:anywhere}.lesson-box{border-left:2px solid #b38c58;padding:16px 19px;background:#f5eee5;margin:23px 0}.lesson-box>span{font-size:.75rem;letter-spacing:.1em;color:#8e6b3c}.lesson-box p{font-size:1rem;line-height:1.7;color:#6e5b46;margin-top:8px}.help-list{list-style:none;padding:0;counter-reset:help;margin:20px 0}.help-list li{position:relative;padding:0 0 20px 40px;border-bottom:1px solid var(--line);margin-bottom:20px;counter-increment:help}.help-list li:before{content:counter(help,decimal-leading-zero);position:absolute;left:0;top:3px;color:#b2946d;font-family:var(--serif);font-size:1.25rem}.help-list h3{font-size:1.75rem;margin-bottom:9px}.help-list p{font-size:.9375rem;color:var(--muted);line-height:1.7}.source-list{padding-left:18px;font-size:.875rem;line-height:1.7}.source-list li{margin:12px 0}.restore-preview{background:#f4edf0;border-radius:9px;padding:18px 20px;margin-top:23px;overflow-wrap:anywhere}.restore-preview p{font-size:.875rem;color:var(--muted);margin:10px 0 18px}.restore-preview .primary-btn{font-size:.875rem}
/* Records always remain separate from points. */
.records-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:28px}.records-total{display:flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:5px}.records-total span{font-size:.875rem;color:var(--muted)}.records-total strong{display:block;font-size:2.55rem;font-weight:600;color:var(--accent);letter-spacing:-.04em;margin-top:8px;overflow-wrap:anywhere}.records-total>p{font-size:.875rem;color:var(--muted);line-height:1.7}.record-list article{display:grid;grid-template-columns:95px minmax(0,1fr) auto 33px;gap:20px;align-items:center;padding:21px 0;border-bottom:1px solid #eee7e9}.record-list article:last-child{border:0}.record-date{font-size:.75rem;color:#9a868e;line-height:1.5}.record-detail h3{font-family:var(--body);font-size:.875rem;font-weight:600;line-height:1.5;letter-spacing:0}.record-detail p{font-size:.8125rem;color:var(--muted);line-height:1.6;margin-top:5px;overflow-wrap:anywhere}.record-list article>strong{font-weight:600;font-size:.875rem;white-space:nowrap;color:#69505b}.record-list .icon-btn{width:31px;height:31px;font-size:1.25rem;border-color:#e9dfe4}.empty-records{padding:38px 15px;text-align:center}.empty-records h2{font-size:2.3rem;margin-bottom:15px}.empty-records p{font-size:.9375rem;color:var(--muted);max-width:46ch;margin:0 auto}
/* Rewards are moments, collections, and personal choices. */
.rewards-intro{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:45px;background:var(--accent);color:#fff7f2;border-radius:17px;padding:29px 34px;margin-bottom:34px;align-items:center}.rewards-intro h2{font-size:2.5rem;line-height:1.05;margin-bottom:16px}.rewards-intro p{font-size:.9375rem;color:#ead8de;line-height:1.75;max-width:55ch;margin-top:9px}.points-medallion{display:flex;align-items:center;flex-direction:column;border-left:1px solid #ffffff30;color:#e6be85;font-size:2rem;line-height:1.3}.points-medallion strong{color:#fff6eb;font-size:3rem;line-height:1.2;font-weight:400;letter-spacing:-.06em;margin-top:4px}.points-medallion>span{font-size:.75rem;letter-spacing:.2em;color:#e4c4cc;margin-top:8px}.section-heading>span{font-size:.875rem;color:var(--muted)}.scene-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.scene-card{display:flex;flex-direction:column;text-align:left;border-radius:12px;border:1px solid var(--line);background:#ede9e5;padding:21px 20px;min-height:218px;opacity:.75;color:#8e8188}.scene-card>span{font-size:.75rem;letter-spacing:.12em;color:#95828c}.scene-card>div{color:#b5a3a9;margin:19px 0 14px}.scene-card>div .icon{width:26px;height:26px}.scene-card h3{font-size:1.7rem;line-height:1.08;margin-bottom:20px}.scene-card p{font-size:.8125rem;margin-top:auto;color:#a18a94}.scene-card.earned{opacity:1;background:#fff;color:#503340;border-color:#d3bac4;transition:transform .18s,box-shadow .18s}.scene-card.earned:hover{transform:translateY(-4px);box-shadow:0 9px 18px #38212b10}.scene-card.earned>div{color:#a77e41}.scene-card.earned>span{color:#96677d}.scene-card.earned p{color:var(--accent)}.badges-section{margin-top:36px}.badge-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.badge{display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid var(--line);border-radius:12px;background:#ede9e5;padding:23px 12px;color:#afa0a5;min-width:0}.badge>.icon{width:27px;height:27px;margin-bottom:16px}.badge span{font-size:.8125rem;line-height:1.5}.badge small{font-size:.75rem;margin-top:8px}.badge.earned{background:#fff8ee;color:#926b38;border-color:#dfcba8}.reward-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:33px}.themes-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:25px}.themes-card h2{font-size:2.15rem}.themes-card .eyebrow{font-size:.75rem}.theme-options{display:flex;gap:12px;margin-top:25px}.theme-options button{display:flex;flex:1;align-items:center;flex-direction:column;text-align:center;padding:13px 6px;border:1px solid #e8dfe2;border-radius:8px;background:white;font-size:.875rem;gap:6px}.theme-options button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.theme-options small{font-size:.75rem;color:var(--muted)}.swatch{display:block;width:30px;height:30px;border-radius:50%;margin-bottom:6px}.swatch.oxblood{background:#6d243c}.swatch.midnight{background:#283c5d}.swatch.plum{background:#694168}.celebrate-dialog{text-align:center;max-width:540px}.celebrate-art{width:155px;background:#260c17;border-radius:18px;margin:0 auto 23px;overflow:hidden;padding:7px}.celebrate-art .toast{animation:toast-pop .6s ease both}.celebrate-dialog>.eyebrow{color:#9f783c;max-width:100%;margin-bottom:12px}.celebrate-dialog h2{max-width:100%;font-size:2.8rem}.celebrate-dialog p.celebrate-line{font-family:var(--serif);font-size:1.65rem;line-height:1.25;color:#765767;margin:19px auto 27px;max-width:30ch}.celebrate-dialog .action-row{justify-content:center}.scene-dialog{max-width:700px;padding:34px 38px 31px;background:#260c17;border-color:#63404b;color:#f7e9d6}.scene-dialog .dialog-close{color:#d2afbc}.scene-dialog .dialog-close:hover{background:#63364a}.scene-dialog>.eyebrow{color:#c3a47b;font-size:.75rem}.scene-dialog h2{font-size:2.7rem;color:#ffecd2}.scene-stage{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin:10px auto 4px;max-width:450px}.scene-speaker{width:48%;position:relative;opacity:.62;transform:translateY(5px) scale(.96);transition:opacity .2s,transform .25s}.scene-speaker.speaking{opacity:1;transform:translateY(0) scale(1)}.scene-speaker img{mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.scene-speaker span{display:block;text-align:center;font-size:.75rem;letter-spacing:.14em;color:#cfae83;margin-top:3px}.speech-line{background:#fff8ed;color:#49303b;padding:23px 27px;border-radius:12px;margin:24px 0;min-height:120px;animation:arrive .2s both}.speech-line>span{font-size:.75rem;letter-spacing:.11em;color:#9e7386}.speech-line p{font-family:var(--serif);font-size:1.8rem;line-height:1.22;margin-top:8px}.scene-controls{display:flex;align-items:center;justify-content:space-between;gap:20px}.scene-controls>span{font-size:.8125rem;color:#ba96a4}.scene-controls .primary-btn{background:#f5e6d0;color:#5c3345;border:0}.scene-controls .primary-btn:hover{background:#fff5e5}
@keyframes arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-pop{0%{transform:scale(.94) rotate(-4deg)}45%{transform:scale(1.035) rotate(3deg)}100%{transform:scale(1) rotate(0)}}
@media(min-width:1600px){.workspace{gap:48px}.main-content .progress-card{padding:35px 40px 0}.hero-amount{font-size:4.6rem}.board-columns{gap:32px}.progress-dial{width:215px}.progress-card{grid-template-columns:minmax(0,1fr) 215px}.comedy-preview{padding:28px 28px 0}}
@media(max-width:1180px){.masthead{padding:18px 27px}.welcome{gap:45px;padding:36px 35px 20px;grid-template-columns:minmax(270px,1fr) minmax(370px,1.2fr)}.welcome h1{font-size:4.8rem}.onboarding-card{padding:30px}.workspace{grid-template-columns:170px minmax(0,1fr);gap:25px;padding:30px 27px 10px}.side-nav nav button{padding:12px 9px;font-size:.8125rem;gap:9px}.progress-card{grid-template-columns:minmax(0,1fr) 165px;gap:17px;padding:26px 28px 0}.hero-amount{font-size:3.4rem}.progress-actions{gap:14px}.board-columns{grid-template-columns:minmax(0,1.2fr) minmax(230px,.85fr);gap:21px}.routine-card{padding:18px 19px}.routine-buttons{gap:12px}.routine-buttons .primary-btn,.routine-buttons .secondary-btn{flex-basis:100%}.comedy-preview{padding:22px 20px 0}.comedy-preview h2{font-size:1.8rem}.personal-reward{padding:21px 20px}.challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.challenge-card{padding:20px}.challenge-card>strong{font-size:1.8rem}.scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-card{min-height:205px}.badge-row{grid-template-columns:repeat(3,minmax(0,1fr))}.reward-bottom{grid-template-columns:1fr}.rewards-intro{gap:25px;grid-template-columns:minmax(0,1fr) 110px;padding:27px}.record-list article{grid-template-columns:77px minmax(0,1fr) auto 30px;gap:12px}}
@media(max-width:900px){.workspace{grid-template-columns:1fr;padding:25px 25px 8px;gap:27px}.side-nav{position:static;display:grid;grid-template-columns:240px minmax(0,1fr);gap:0 26px;border-bottom:1px solid var(--line);padding-bottom:18px}.goal-switch{padding:0;border:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px}.goal-switch label{grid-column:1/-1;margin-bottom:8px}.goal-switch select{min-width:0}.goal-switch>button{font-size:.8125rem;padding:0;align-self:center;min-height:40px}.side-nav nav{grid-column:2;grid-row:1/3;display:flex;align-items:flex-end;padding:0;gap:4px;justify-content:flex-end}.side-nav nav button{font-size:.8125rem;gap:7px;padding:11px 12px}.side-nav nav button>span{display:none}.side-nav nav .icon{width:17px;height:17px}.side-level{display:none}.side-help{display:none}.page-heading h1{font-size:3rem}.progress-card{grid-template-columns:minmax(0,1fr) 190px;padding:28px 31px 0}.board-columns{grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr)}.hero-amount{font-size:3.6rem}.record-list article{grid-template-columns:90px minmax(0,1fr) auto 33px;gap:17px}.welcome{grid-template-columns:1fr;max-width:610px;gap:31px;padding:33px 25px 15px}.welcome-story{text-align:center}.welcome h1{font-size:4.65rem}.welcome h1 br{display:none}.welcome-copy{font-size:1rem;margin-top:20px}.welcome-copy br{display:none}.welcome-hosts{display:none}.welcome-story>.eyebrow{margin-bottom:17px}.onboarding-card{padding:29px 32px}.game-wordmark{font-size:1.75rem}.page-footer{padding:22px 25px}.page-footer>div{gap:14px}}
@media(max-width:600px){.masthead{padding:16px 18px;gap:13px;min-height:80px;flex-wrap:wrap}.brand{font-size:.75rem;gap:8px}.brand-seal{width:39px;height:39px;font-size:1.2rem}.game-wordmark{font-size:1.5rem;margin-left:auto}.top-actions{width:100%;justify-content:flex-end;border-top:1px solid #eee6e9;padding-top:10px;gap:7px}.quiet-btn{font-size:.8125rem;min-height:38px;padding:7px 10px}.top-actions .icon-btn{width:36px;height:36px}.welcome{padding:27px 18px 8px;gap:26px}.welcome h1{font-size:3.95rem;line-height:1}.welcome-story>.eyebrow{font-size:.75rem;letter-spacing:.1em}.welcome-copy{font-size:.9375rem;line-height:1.6;margin-top:18px}.onboarding-card{padding:25px 22px;border-radius:15px}.onboarding-card>.eyebrow{font-size:.75rem}.onboarding-card>h2{font-size:2.15rem}.workspace{padding:19px 16px 8px;gap:23px}.side-nav{display:flex;flex-direction:column;gap:15px;padding-bottom:16px}.goal-switch{grid-template-columns:minmax(0,1fr) auto;gap:0 15px;align-items:center}.goal-switch label{font-size:.75rem;margin-bottom:7px}.goal-switch select{font-size:.875rem}.goal-switch>button{font-size:.8125rem;padding:0 4px}.side-nav nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0}.side-nav nav button{justify-content:center;gap:7px;font-size:.8125rem;padding:11px 7px;min-height:44px;line-height:1.3}.side-nav nav .icon{width:16px;height:16px}.page-heading{gap:18px;margin-bottom:23px;align-items:flex-start}.page-heading h1{font-size:2.6rem;line-height:1.08}.page-heading .eyebrow{font-size:.75rem;margin-bottom:9px}.page-heading>div>p:not(.eyebrow){font-size:.875rem;line-height:1.65;margin-top:12px}.page-heading>.text-btn{font-size:.75rem;margin-top:28px;white-space:nowrap}.page-heading>.text-btn .icon{display:none}.page-heading>.secondary-btn{font-size:.75rem;padding:9px 11px;min-height:42px}.progress-card{grid-template-columns:minmax(0,1fr) 104px;gap:12px;padding:24px 22px 0;border-radius:15px;align-items:start}.progress-main .eyebrow{font-size:.75rem;letter-spacing:.08em;line-height:1.6;margin-bottom:14px}.hero-amount{font-size:2.6rem;line-height:1.2}.target-line{font-size:.8125rem;margin-top:6px;line-height:1.6}.progress-actions{grid-column:1/-1;gap:12px;flex-direction:column;align-items:flex-start;margin-top:21px;margin-right:-116px;padding-top:10px}.progress-actions .primary-btn{width:100%;font-size:.875rem;min-height:46px}.progress-actions .text-btn{font-size:.8125rem;padding:0;min-height:32px;align-self:center}.progress-dial{margin-top:29px}.progress-dial strong{font-size:1.75rem;line-height:1.2}.progress-dial strong>span{font-size:.8125rem}.progress-dial small{font-size:.75rem;max-width:11ch;text-align:center;line-height:1.4;margin-top:5px}.progress-details{gap:7px 16px;font-size:.75rem;padding:17px 0;margin-top:11px;line-height:1.6}.progress-details>span:last-child{max-width:100%}.milestone-track{margin:25px 0 31px}.milestone-track b{font-size:.75rem}.milestone-track>button>span{width:30px;height:30px}.milestone-track:before{top:15px}.milestone-track .icon{width:13px;height:13px}.board-columns{display:flex;flex-direction:column;gap:28px}.routines-section,.board-aside{width:100%}.section-heading{gap:18px;margin-bottom:17px}.section-heading h2{font-size:2rem}.section-heading .eyebrow{font-size:.75rem;letter-spacing:.09em}.section-heading>.text-btn{font-size:.75rem;white-space:nowrap}.empty-routine{padding:23px}.empty-routine h3{font-size:1.95rem}.empty-routine p{font-size:.9375rem;line-height:1.65}.routine-card{padding:19px 20px}.routine-card h3{font-size:1.8rem}.routine-cue{font-size:.9375rem}.routine-first p{font-size:.875rem}.routine-buttons{gap:16px}.routine-buttons .primary-btn,.routine-buttons .secondary-btn{flex-basis:auto;flex-grow:1;font-size:.8125rem;padding:11px 13px}.routine-buttons .text-btn{font-size:.8125rem}.routine-review{font-size:.75rem}.board-aside{grid-template-columns:1fr;gap:19px}.comedy-preview{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;padding:23px 21px 19px;align-items:center;min-height:207px}.comedy-preview h2{font-size:1.9rem}.comedy-preview .eyebrow{font-size:.75rem;letter-spacing:.08em}.comedy-preview p:not(.eyebrow){font-size:.8125rem;line-height:1.5}.comedy-preview button{font-size:.8125rem;line-height:1.5}.comedy-duo{margin:0 -8px -5px;align-self:center}.comedy-duo img{width:56%}.personal-reward{padding:22px}.personal-reward .eyebrow{font-size:.75rem}.personal-reward h3{font-size:1.9rem}.personal-reward p:not(.eyebrow){font-size:.875rem}.challenge-section{margin-top:29px;padding-top:27px}.challenge-grid{gap:12px}.challenge-card{padding:18px 16px;border-radius:11px}.challenge-icon{width:35px;height:35px;margin-bottom:17px}.challenge-card>strong{font-size:1.65rem;line-height:1.1}.challenge-card>p{font-size:.8125rem;line-height:1.65;margin-bottom:17px}.challenge-card>span:last-child{font-size:.75rem;gap:7px}.page-footer{flex-direction:column;align-items:center;text-align:center;gap:9px;padding:20px 16px;margin-top:26px;font-size:.75rem}.page-footer>div{gap:17px;flex-wrap:wrap;justify-content:center}.page-footer button{font-size:.75rem}.save-warning{padding:14px 18px;font-size:.875rem}.form-pair{gap:13px}label{font-size:.875rem;margin-top:19px}label small{font-size:.75rem;margin:0;display:inline}input,select,textarea{font-size:1rem;padding:11px;min-height:47px}input::placeholder,textarea::placeholder{font-size:.875rem}.form-note,.field-help{font-size:.8125rem}.examples{font-size:.8125rem}.examples button{font-size:.8125rem}dialog{padding:32px 24px 27px;border-radius:15px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}dialog h2{font-size:2.35rem;line-height:1.06}dialog>.eyebrow{font-size:.75rem}dialog>p:not(.eyebrow){font-size:.9375rem;line-height:1.7}.linked-plan{padding:16px 18px}.linked-plan p{font-size:.9375rem}.rehearsal-note{font-size:1.4rem}.rehearse-list li{gap:13px}.rehearse-list h3{font-size:1.55rem}.rehearse-list p{font-size:.875rem}.help-list li{padding-left:33px}.help-list h3{font-size:1.65rem}.help-list p{font-size:.875rem}.records-card{padding:21px 20px;border-radius:13px}.records-total{display:block;padding-bottom:23px}.records-total strong{font-size:2.4rem}.records-total>p{font-size:.8125rem;margin-top:12px}.record-list article{grid-template-columns:minmax(0,1fr) auto 29px;gap:6px 12px;padding:19px 0}.record-date{grid-column:1/-1;font-size:.75rem;margin-bottom:6px}.record-detail h3{font-size:.8125rem}.record-detail p{font-size:.75rem}.record-list article>strong{font-size:.8125rem}.record-list .icon-btn{width:29px;height:29px}.empty-records{padding:27px 0}.empty-records h2{font-size:2rem}.empty-records p{font-size:.875rem}.rewards-intro{padding:25px 23px;grid-template-columns:minmax(0,1fr) 76px;gap:20px}.rewards-intro h2{font-size:2rem}.rewards-intro p{font-size:.875rem;line-height:1.65}.points-medallion{font-size:1.4rem}.points-medallion strong{font-size:2.25rem}.points-medallion>span{font-size:.75rem;letter-spacing:.12em}.scene-grid{gap:12px}.scene-card{min-height:215px;padding:20px 16px}.scene-card h3{font-size:1.7rem}.scene-card>span{font-size:.75rem}.scene-card p{font-size:.75rem}.badge-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.badge{padding:21px 13px}.badge span{font-size:.8125rem}.badge small{font-size:.75rem}.reward-bottom{gap:20px;margin-top:26px}.themes-card{padding:23px}.themes-card h2{font-size:2rem}.theme-options{gap:9px}.theme-options button{font-size:.8125rem}.celebrate-art{width:135px}.celebrate-dialog h2{font-size:2.5rem}.celebrate-dialog p.celebrate-line{font-size:1.55rem}.scene-dialog{padding:32px 25px 26px}.scene-dialog h2{font-size:2.35rem;line-height:1.07}.scene-stage{max-width:335px;gap:8px}.scene-speaker span{font-size:.75rem}.speech-line{padding:21px;margin-top:20px;min-height:125px}.speech-line p{font-size:1.65rem}.scene-controls{gap:15px}.scene-controls .primary-btn{font-size:.875rem;padding:12px 15px}.scene-controls>span{font-size:.75rem}}
@media(max-width:370px){.brand>span:last-child{display:none}.game-wordmark{font-size:1.6rem}.welcome h1{font-size:3.6rem}.onboarding-card{padding:23px 19px}.form-pair{grid-template-columns:1fr;gap:0}.form-pair>div+div>label,.form-pair>label+label{margin-top:17px}.side-nav nav button{font-size:.75rem;gap:5px}.side-nav nav .icon{width:15px}.page-heading h1{font-size:2.4rem}.progress-card{padding:22px 18px 0;grid-template-columns:minmax(0,1fr) 87px;gap:11px}.progress-actions{margin-right:-98px}.hero-amount{font-size:2.3rem}.progress-main .eyebrow{font-size:.75rem}.progress-dial strong{font-size:1.5rem}.progress-dial small{font-size:.75rem}.comedy-preview{grid-template-columns:minmax(0,1fr) 112px;padding:21px 19px}.comedy-preview h2{font-size:1.8rem}.challenge-grid{grid-template-columns:1fr}.challenge-card>strong{font-size:1.85rem}.challenge-card>p{font-size:.875rem}.scene-card h3{font-size:1.55rem}.rewards-intro{grid-template-columns:1fr}.points-medallion{border-left:0;border-top:1px solid #ffffff30;padding-top:20px}.theme-options button{font-size:.75rem}.routine-buttons .primary-btn,.routine-buttons .secondary-btn{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
