:root{font-family:Manrope,sans-serif;color:#242a28;background:#f8f7f3;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #242a28;--muted: #777d77;--line: #e6e5df;--paper: #f8f7f3;--green: #304d42;--green-dark: #233b33}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8da99c;outline-offset:3px}.page-shell{width:min(100% - 48px,960px);min-height:100vh;margin:0 auto;display:flex;flex-direction:column;transition:filter .25s ease}body:not(.authenticated) .page-shell{filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none}.auth-gate{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#f8f7f385;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.auth-gate[hidden]{display:none}.login-card{width:min(100%,350px);padding:31px 30px 24px;border:1px solid rgba(226,226,217,.9);border-radius:17px;background:#ffffffeb;box-shadow:0 18px 60px #2c372f1a}.login-wordmark{display:inline-block;margin-bottom:33px}.login-card h1{margin:13px 0 9px;font-family:Newsreader,serif;font-size:41px;font-weight:400;letter-spacing:-.055em;line-height:1}.login-card h1 em{color:#65796c}.login-copy{margin:0 0 23px;color:#777d77;font-size:11px;line-height:1.7}.password-label{display:block;margin-bottom:7px;color:#59645b;font-family:Inter,sans-serif;font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.login-card input{width:100%;height:42px;padding:0 12px;border:1px solid #dedfd8;border-radius:8px;background:#fbfbf8;color:var(--ink);font-size:13px}.login-button{width:100%;min-height:42px;margin-top:12px;border:0;border-radius:8px;background:#304d42;color:#fff;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;font-size:11px;font-weight:600;transition:background .18s ease}.login-button:hover{background:#233b33}.login-button:disabled{cursor:wait;opacity:.6}.login-message{min-height:15px;margin:10px 0 0;color:#7b827a;font-family:Inter,sans-serif;font-size:9px;line-height:1.6}.login-message.is-error,.save-note.is-error{color:#a55850}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.06em}.wordmark span,.footer-dot{color:#b98e67}.site-nav{display:flex;align-items:center;gap:29px}.nav-link{padding:8px 0;color:#858983;font-family:Inter,sans-serif;font-size:11px;transition:color .18s ease}.logout-button{border:0;background:transparent;cursor:pointer}.logout-button:disabled{opacity:.55}.nav-link:hover,.nav-link.is-current{color:var(--ink)}.nav-link.is-current{box-shadow:inset 0 -1px #526d60}.main-content{flex:1}.intro{padding:68px 0 59px}.eyebrow,.section-kicker,.week-note{margin:0;color:#81877f;font-family:Inter,sans-serif;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}h1,h2,p{margin-top:0}.intro h1,.about-content h1{margin:15px 0;font-family:Newsreader,serif;font-weight:400;letter-spacing:-.055em;line-height:.96}.intro h1,.about-content h1{font-size:clamp(38px,5vw,52px)}h1 em{color:#65796c;font-weight:400}.intro-copy{max-width:390px;margin:0;color:#777d77;font-size:12px;line-height:1.8}.goals-section{width:min(100%,840px);margin-inline:auto;padding-bottom:42px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px}.section-kicker{margin-bottom:6px;font-size:8px}.section-heading h2{margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:600;letter-spacing:-.045em}.week-note{padding-bottom:3px;font-size:8px;letter-spacing:.13em}.empty-state{min-height:123px;margin-bottom:12px;padding:24px 18px;border:1px dashed #deded6;border-radius:12px;display:flex;align-items:center;gap:14px}.empty-state[hidden]{display:none}.empty-mark{color:#a6b0a5;font-size:22px}.empty-state p{margin:0;color:#898e87;font-size:11px;line-height:1.8}.goals-list{display:grid;gap:10px}.goal-card{--goal-color: #b7c8b7;--goal-strong: #526d60;border:1px solid color-mix(in srgb,var(--goal-color) 45%,#e8e7e1);border-radius:12px;background:color-mix(in srgb,var(--goal-color) 20%,#fff);padding:13px 15px 12px;transition:border-color .2s ease,transform .2s ease}.goal-card:hover{border-color:color-mix(in srgb,var(--goal-color) 75%,#e8e7e1);transform:translateY(-1px)}.goal-topline{display:flex;align-items:center;gap:10px;margin-bottom:11px}.goal-description{min-width:0;width:100%;padding:3px 0;border:0;border-bottom:1px solid transparent;background:transparent;color:#333a35;font-family:Inter,sans-serif;font-size:8px;line-height:1.6}.goal-description::placeholder{color:#858b83;opacity:1}.goal-description:hover,.goal-description:focus{border-bottom-color:color-mix(in srgb,var(--goal-strong) 38%,transparent)}.remove-goal{flex:0 0 23px;width:23px;height:23px;padding:0;border:0;border-radius:50%;background:transparent;color:#858b83;cursor:pointer;font-size:16px;line-height:1;transition:background .18s ease,color .18s ease}.remove-goal:hover{background:#ffffff9e;color:#9c655f}.day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.day-cell{position:relative;display:block;min-width:0;aspect-ratio:1 / 1}.day-toggle{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.day-face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border:1px solid rgba(50,66,56,.1);border-radius:8px;background:#ffffff9e;color:#747b74;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(8px,2vw,10px);font-weight:600;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.day-cell:hover .day-face{border-color:color-mix(in srgb,var(--goal-strong) 38%,white);transform:translateY(-1px)}.day-toggle:checked+.day-face{border-color:var(--goal-strong);background:var(--goal-strong);color:#fff}.day-toggle:focus-visible+.day-face{outline:3px solid #8da99c;outline-offset:3px}.goal-frequency{min-height:14px;margin:9px 0 0;color:color-mix(in srgb,var(--goal-strong) 80%,#4f5952);font-family:Inter,sans-serif;font-size:9px;font-weight:500;letter-spacing:.025em}.add-button{display:inline-flex;align-items:center;gap:9px;margin-top:15px;padding:7px 12px 7px 7px;border:1px solid #dbddd6;border-radius:999px;background:transparent;color:#59665c;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;font-size:10px;font-weight:600;transition:background .18s ease,border-color .18s ease}.add-button:hover{border-color:#aeb9af;background:#f0f1eb}.add-button:disabled,.import-button:disabled{cursor:wait;opacity:.6}.add-icon{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#e8ece5;color:#516c5e;font-size:17px;font-weight:400;line-height:1}.import-button{display:block;margin-top:12px;padding:0;border:0;background:transparent;color:#65796c;cursor:pointer;font-family:Inter,sans-serif;font-size:10px;text-decoration:underline;text-underline-offset:3px}.import-button[hidden]{display:none}.save-note{display:flex;align-items:center;gap:7px;margin:11px 0 0 5px;color:#969b94;font-family:Inter,sans-serif;font-size:9px}.save-note span{color:#b1aa9d}.site-footer{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);color:#9a9e97;font-family:Inter,sans-serif;font-size:9px}.about-content{flex:1;padding:112px 0 100px}.about-content h1{margin-top:17px}.about-copy{max-width:440px;margin-top:27px;color:#777d77;font-size:12px;line-height:1.9}.about-copy p{margin-bottom:13px}.contact-section{width:min(100%,480px);margin-top:45px;padding-top:24px;border-top:1px solid var(--line)}.contact-section h2{margin:0 0 8px;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:600;letter-spacing:-.04em}.contact-intro{max-width:410px;margin:0 0 19px;color:#777d77;font-size:11px;line-height:1.75}.contact-form{display:grid;gap:12px}.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px}.contact-field{min-width:0;display:grid;gap:7px}.contact-company,.contact-message-field{grid-column:1 / -1}.contact-label{color:#59645b;font-family:Inter,sans-serif;font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.optional-label{margin-left:4px;color:#a0a49d;font-size:8px;font-weight:400;letter-spacing:.02em;text-transform:none}.contact-form input:not([type=hidden]),.contact-form textarea{width:100%;min-height:40px;padding:10px 12px;border:1px solid #dedfd8;border-radius:8px;background:#ffffff8c;color:var(--ink);font-family:Manrope,sans-serif;font-size:11px;line-height:1.65;transition:border-color .18s ease,background .18s ease}.contact-form textarea{min-height:120px;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9a9e97}.contact-form input:focus,.contact-form textarea:focus{border-color:#9cab9e;background:#fff;outline:none}.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.contact-submit-row{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:14px}.contact-status{flex:1;margin:0;color:#777d77;font-family:Inter,sans-serif;font-size:9px;line-height:1.5}.contact-status.is-error{color:#a55850}.contact-submit{display:inline-flex;align-items:center;gap:12px;min-height:36px;padding:0 13px;border:1px solid #d5dbd2;border-radius:999px;background:#edf0e9;color:#526d60;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;font-size:10px;font-weight:600;transition:background .18s ease,border-color .18s ease}.contact-submit:hover{border-color:#b4c0b5;background:#e4eae1}.contact-submit:disabled{cursor:wait;opacity:.6}.back-link{display:inline-block;margin-top:18px;color:#526d60;font-family:Plus Jakarta Sans,sans-serif;font-size:11px;font-weight:600}.back-link:hover{color:#304d42}.games-shell{max-width:1040px}.site-nav .create-game-button{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid #d5dbd2;border-radius:999px;background:#edf0e9;color:#526d60;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;font-size:9px;font-weight:600;transition:background .18s ease,border-color .18s ease}.create-game-button:hover{border-color:#b4c0b5;background:#e4eae1}.create-game-button:disabled{cursor:not-allowed;opacity:.55}.create-game-button span{font-size:16px;font-weight:400;line-height:1}.games-main{flex:1;padding-bottom:48px}.games-intro{padding:58px 0 37px}.games-intro h1{margin:14px 0;font-family:Newsreader,serif;font-size:clamp(38px,5vw,52px);font-weight:400;letter-spacing:-.055em;line-height:.96}.games-intro h1 em{color:#65796c}.games-intro .intro-copy{max-width:430px}.daily-game{max-width:780px;margin:0 auto 25px}.game-list{display:grid;gap:10px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.game-heading h2{margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:600;letter-spacing:-.045em}.game-heading .section-kicker{margin-bottom:6px}.story-mark{color:#a6b0a5;font-size:19px}.game-card{--game-color: #c2d0bd;--game-strong: #58735e;min-height:170px;padding:clamp(17px,4vw,27px);border:1px solid color-mix(in srgb,var(--game-color) 45%,#e8e7e1);border-radius:14px;background:color-mix(in srgb,var(--game-color) 20%,#fff)}.quiz-card{--game-color: #c2d0bd;--game-strong: #58735e}.story-card{--game-color: #d2c8df;--game-strong: #75668b}.game-placeholder{min-height:116px;margin:0;display:grid;place-items:center;color:#858b83;font-size:11px;line-height:1.8;text-align:center}.game-content{display:grid;gap:13px}.game-prompt{max-width:640px;margin:0;color:#333a35;font-family:Newsreader,serif;font-size:clamp(20px,3.2vw,27px);font-weight:400;letter-spacing:-.025em;line-height:1.2}.game-action{justify-self:start;min-height:37px;padding:0 14px;border:1px solid color-mix(in srgb,var(--game-strong) 28%,white);border-radius:999px;background:#ffffff9e;color:var(--game-strong);cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;font-size:10px;font-weight:600;transition:background .18s ease,transform .18s ease}.game-action:hover{transform:translateY(-1px);background:#fff}.game-action:disabled{cursor:wait;opacity:.65}.game-answer-form{display:flex;gap:9px}.game-answer-form input,.game-answer-form textarea{width:100%;min-width:0;min-height:40px;padding:10px 12px;border:1px solid rgba(67,83,70,.2);border-radius:8px;background:#ffffffb8;color:var(--ink);font-family:Manrope,sans-serif;font-size:11px;line-height:1.6}.game-answer-form textarea{min-height:84px;resize:vertical}.game-answer-form input::placeholder,.game-answer-form textarea::placeholder{color:#969b94}.game-answer-form input:focus,.game-answer-form textarea:focus{border-color:var(--game-strong);outline:2px solid color-mix(in srgb,var(--game-strong) 20%,transparent)}.game-answer-form input:disabled,.game-answer-form textarea:disabled{color:#858b83;opacity:.8}.game-submit{min-width:62px;padding:0 14px;border:0;border-radius:8px;background:var(--game-strong);color:#fff;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;font-size:10px;font-weight:600}.game-submit:disabled{cursor:wait;opacity:.5}.answer-waiting{margin:-4px 0 0;color:#777d77;font-family:Inter,sans-serif;font-size:9px}.game-reveal{display:grid;gap:5px;padding:12px 14px;border-radius:9px;background:#ffffff91}.reveal-label{color:#858b83;font-family:Inter,sans-serif;font-size:8px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.solution-label{margin-top:8px}.revealed-answer{margin:0;color:var(--game-strong);font-family:Newsreader,serif;font-size:18px;line-height:1.35;overflow-wrap:anywhere}.solution-answer{color:#333a35}.revealed-answer.is-muted{color:#858b83;font-family:Manrope,sans-serif;font-size:10px}.games-status{max-width:780px;min-height:16px;margin:3px auto 0;color:#92978f;font-family:Inter,sans-serif;font-size:9px}.games-status.is-error{color:#a55850}.game-dialog{width:min(calc(100% - 32px),440px);max-width:none;max-height:min(90vh,700px);padding:0;overflow:auto;border:1px solid #e2e2d9;border-radius:16px;background:#fbfbf8;color:var(--ink);box-shadow:0 22px 70px #1f2a2233}.game-dialog::backdrop{background:#1d262052;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.game-dialog-card{display:grid;gap:9px;padding:24px}.dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:10px}.dialog-heading h2{margin:0;font-family:Newsreader,serif;font-size:26px;font-weight:400;letter-spacing:-.04em}.dialog-heading .section-kicker{margin-bottom:6px}.dialog-close{width:29px;height:29px;padding:0;border:0;border-radius:50%;background:#eef0ea;color:#59645b;cursor:pointer;font-size:20px;line-height:1}.game-form-label{margin-top:4px;color:#59645b;font-family:Inter,sans-serif;font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.game-dialog select,.game-dialog input,.game-dialog textarea{width:100%;min-height:40px;padding:9px 11px;border:1px solid #dedfd8;border-radius:8px;background:#fff;color:var(--ink);font-family:Manrope,sans-serif;font-size:11px}.game-dialog textarea{min-height:78px;resize:vertical;line-height:1.6}.game-dialog select:focus,.game-dialog input:focus,.game-dialog textarea:focus{border-color:#9cab9e;outline:2px solid rgba(141,169,156,.22)}.game-answer-field{display:grid;gap:8px}.game-answer-field[hidden]{display:none}.dialog-error{min-height:15px;margin:0;color:#a55850;font-family:Inter,sans-serif;font-size:9px}.game-dialog .login-button{margin-top:0}.game-tabs{display:none}.games-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.game-panel{min-width:0;max-width:none;margin:0}.game-list{max-height:min(66vh,720px);overflow-y:auto;overscroll-behavior:contain;padding:1px 5px 2px 1px;scrollbar-color:#c9d1c7 transparent;scrollbar-width:thin}.games-columns .game-card{min-height:150px;padding:18px}.game-panel .game-heading{min-height:52px}@media(min-width:760px){.intro{padding-top:78px}.goal-card{padding:14px 17px 13px}}@media(max-width:520px){.page-shell{width:min(100% - 32px,960px)}.topbar{height:70px}.site-nav{gap:20px}.intro{padding:58px 0 45px}.intro h1,.about-content h1{font-size:clamp(34px,9.5vw,43px)}.goals-section{padding-bottom:30px}.day-grid{gap:5px}.goal-card{padding:11px 11px 10px}.day-face{border-radius:7px}.site-footer{font-size:8px}.about-content{padding:90px 0 75px}.contact-fields{grid-template-columns:1fr}.contact-company,.contact-message-field{grid-column:auto}.games-shell .topbar{height:auto;min-height:70px;padding:12px 0;align-items:flex-start}.games-shell .site-nav{justify-content:flex-end;gap:11px;flex-wrap:wrap}.games-shell .site-nav .nav-link{font-size:10px}.games-shell .site-nav .create-game-button{min-height:30px;font-size:8px}.games-intro{padding:48px 0 30px}.game-card{min-height:155px}}@media(max-width:680px){.game-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 16px;padding:4px;border:1px solid #e4e5de;border-radius:10px;background:#f0f0eb}.game-tab{min-height:36px;border:0;border-radius:7px;background:transparent;color:#777d77;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;font-size:10px;font-weight:600}.game-tab.is-active{background:#fff;color:#304d42;box-shadow:0 1px 4px #222e241a}.games-columns{display:block}.games-columns[data-active=quiz] [data-game-panel=story],.games-columns[data-active=story] [data-game-panel=quiz]{display:none}.game-list{max-height:68vh}}
