:root{--ink:#213f39;--muted:#65716a;--paper:#faf8f1;--teal:#23594d;--lime:#e5edbe;--line:#dedfd3;--serif:"Fraunces", Georgia, serif;--sans:"DM Sans", Arial, sans-serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline-offset:5px;outline:3px solid #ca683e}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.13}h1,h2{font-family:var(--serif);letter-spacing:-.045em;font-weight:400}h3{letter-spacing:-.03em;font-size:23px}em{font-weight:400}main{min-height:60vh}.skip-link{background:var(--ink);color:#fff;z-index:50;padding:12px;position:absolute;top:-80px;left:20px}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--line);align-items:center;gap:40px;max-width:1280px;margin:auto;padding:27px 40px;display:flex}.brand{letter-spacing:-.5px;align-items:center;gap:12px;font-size:21px;line-height:1.2;display:flex}.brand b{font-weight:600}.brand small{letter-spacing:2.2px;margin-top:7px;font-size:8px;font-weight:600;display:block}.brand-mark{background:var(--teal);color:var(--lime);width:43px;height:46px;font:35px var(--serif);text-align:center;border-radius:12px 3px;position:relative}.brand-mark span{font:15px var(--sans);position:absolute;top:5px;right:3px}.site-header nav{gap:30px;margin-left:auto;font-size:14px;font-weight:500;display:flex}.site-header nav a:hover,.text-link:hover{color:#a25334}.header-action{border:1px solid #b6c3b5;border-radius:6px;padding:9px 17px;font-size:14px;font-weight:600}.header-action span{margin-left:12px}.hero{grid-template-columns:1.12fr 1fr;align-items:center;gap:55px;max-width:1280px;margin:auto;padding:70px 40px 74px;display:grid}.eyebrow{letter-spacing:2px;align-items:center;gap:10px;margin-bottom:22px;font-size:11px;font-weight:700;display:flex}.eyebrow>span{background:#ca714e;border-radius:50%;width:7px;height:7px}.hero h1{font-size:clamp(48px,5vw,72px)}.hero h1 em{color:#508171}.hero-description{max-width:515px;color:var(--muted);margin-top:27px;font-size:17px;line-height:1.8}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px;display:flex}.button{background:var(--teal);color:#fff;border:1px solid var(--teal);border-radius:5px;justify-content:center;align-items:center;gap:22px;padding:13px 21px;font-size:14px;font-weight:600;transition:background .2s;display:inline-flex}.button:hover{background:#163e34}.text-link{border-bottom:1px solid #bcc7bb;padding-bottom:4px;font-size:13px;font-weight:600}.hero-footnote{color:var(--muted);align-items:center;gap:10px;margin-top:35px;font-size:11px;display:flex}.hero-footnote span{color:#bc684d;font-size:19px}.hero-art{background:#e9edde radial-gradient(#b7c4ab60 1px,#0000 1px) 0 0/15px 15px;border:1px solid #dce1cf;border-radius:50% 50% 10px 10px;height:440px;position:relative;overflow:hidden}.art-label{text-align:center;letter-spacing:3px;font-size:9px;font-weight:700;position:absolute;top:35px;left:0;right:0}.paper-card{background:#fffdf4;border:1px solid #d2d4c5;border-radius:5px;width:66%;padding:26px 25px 21px;position:absolute;top:99px;left:17%;transform:rotate(-7deg);box-shadow:4px 9px #96a58b30}.paper-card small{letter-spacing:2px;font-size:8px}.big-word{font:93px var(--serif);letter-spacing:-4px;line-height:1.25}.big-word span{color:#ce754d}.paper-line{background:#b9cfda;height:1px;margin-bottom:15px;box-shadow:0 -40px #b9cfda60}.paper-card p{color:#67726a;font-size:10px}.floating-tile{width:70px;height:80px;font:60px var(--serif);color:#633e2a;background:#e6a080;border:1px solid #a55839;border-radius:7px;place-items:center;display:grid;position:absolute;box-shadow:4px 6px #b8654220}.tile-b{top:110px;right:15px;transform:rotate(12deg)}.tile-d{color:#605930;background:#ead688;border-color:#aa954e;bottom:38px;left:25px;transform:rotate(-12deg)}.morph-strip{gap:4px;display:flex;position:absolute;bottom:51px;right:16px;transform:rotate(8deg)}.morph-strip span,.morph-strip b{background:#c4d9c8;border:1px solid #7fa28b;border-radius:5px;padding:9px 14px;font-size:20px;font-weight:500}.morph-strip b{color:#fff;background:#346754}.art-note{font-family:var(--serif);font-size:13px;line-height:1.2;position:absolute;bottom:7px;left:42%}.doodle{color:#bb633e;position:absolute}.sparkle-one{font-size:57px;top:55px;left:40px;transform:rotate(10deg)}.sparkle-two{font-size:36px;bottom:123px;right:33px}.art-dot{background:#d4ba67;border-radius:50%;width:12px;height:12px;position:absolute}.dot-one{top:260px;left:24px}.dot-two{background:#76967a;width:8px;height:8px;top:55px;right:72px}.skill-ribbon{border-block:1px solid var(--line);font-family:var(--serif);justify-content:center;align-items:center;gap:46px;padding:21px 25px;font-size:20px;display:flex}.skill-ribbon i{color:#ba6d4c;font-size:12px;font-style:normal}.section,.page-main{max-width:1280px;margin:auto;padding:65px 40px 75px}.section-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.section-heading .eyebrow{margin-bottom:16px}.section h2{font-size:40px}.section-intro{color:var(--muted);margin:17px 0 28px;font-size:14px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;display:grid}.home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-card{border:1px solid var(--line);background:#fffdf7;border-radius:9px;flex-direction:column;display:flex;overflow:hidden}.art{border-bottom:1px solid var(--line);justify-content:center;align-items:center;height:218px;display:flex;position:relative;overflow:hidden}.art-race{background:#e4eacc repeating-linear-gradient(0deg,#0000,#0000 44px,#c3cbaa25 45px);flex-direction:column}.race-word{font:57px var(--serif);letter-spacing:-2px;line-height:1}.letter-pair{gap:12px;margin-top:13px;display:flex}.letter-pair span{font:28px var(--serif);background:#fffdf5;border:1px solid #9baa78;border-radius:6px;padding:0 19px;box-shadow:0 3px #a8b77c}.track{border-block:1px dashed #94a274;align-items:center;gap:30px;height:26px;display:flex;position:absolute;bottom:18px;left:22px;right:22px}.track i,.track em{color:#b47637;font-size:18px;font-style:normal}.track b{color:#53795a;margin-left:25%;font-size:26px}.art-tower{background:#f1e1cf;flex-direction:column;gap:4px}.tower-star{color:#b67931;margin-bottom:3px;font-size:34px;line-height:1}.tower-block{font:22px var(--serif);text-align:center;background:#fff7e6;border:1px solid #a98561;border-radius:3px;height:33px}.tower-block:nth-child(2){width:85px}.tower-block:nth-child(3){width:115px}.tower-block:nth-child(4){width:145px}.art-matrix{background:#e4e5f0;gap:6px}.word-bit,.word-root{font:25px var(--serif);background:#f9f7ff;border:1px solid #8c8baf;border-radius:6px;padding:12px 14px;transform:rotate(-5deg)}.word-root{color:#fff;background:#777794;transform:rotate(3deg)}.matrix-caption{letter-spacing:1px;color:#62617b;font-size:10px;position:absolute;bottom:36px}.art-orbit{background:#ddece7}.orbit-circle{border:1px dashed #698f81;border-radius:50%;place-items:center;width:130px;height:130px;display:grid;transform:rotate(-15deg)}.orbit-circle span{font:40px var(--serif);transform:rotate(15deg)}.orbit-star{color:#be7755;font-size:30px;position:absolute;top:32px;right:30%}.orbit-caption{letter-spacing:2px;font-size:10px;position:absolute;bottom:20px}.game-info{flex-direction:column;flex:1;padding:22px;display:flex}.card-meta{letter-spacing:1px;text-transform:uppercase;justify-content:space-between;gap:8px;margin-bottom:14px;font-size:9px;font-weight:700;display:flex}.available{color:#387248}.planned{color:#7c7469}.game-info p{color:var(--muted);margin:13px 0 24px;font-size:13px;line-height:1.7}.card-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:15px;display:flex}.card-bottom small{color:var(--muted);font-size:9px}.card-bottom a{font-size:13px;font-weight:700}.card-bottom a:hover{text-decoration:underline}.planned-label{color:var(--muted);font-size:9px;font-style:italic}.teaching-section{color:#faf8ef;background:#244d42;grid-template-columns:1fr 1fr;gap:100px;padding:65px max(40px,50vw - 600px);display:grid}.teaching-section .eyebrow{color:#d6e2b9}.teaching-section h2{font-size:49px}.teaching-section h2 em{color:#dce7ae}.teaching-section p:not(.eyebrow){color:#d0dbd1;max-width:440px;margin:23px 0 28px;font-size:14px;line-height:1.8}.button-light{color:#244d42;background:#e4ecba;border-color:#e4ecba}.button-light:hover{background:#d2dd9e}.principles{align-self:center}.principles article{border-top:1px solid #668076;gap:24px;padding:23px 0;display:flex}.principles article>span{font-family:var(--serif);color:#cddba6;font-size:23px}.principles h3{font-size:19px;font-weight:500}.principles article p:not(.eyebrow){margin:9px 0 0;font-size:12px}.closing{align-items:center;gap:35px;max-width:1280px;margin:auto;padding:64px 40px;display:flex}.closing>span{color:#ba6d4c;font-size:75px;line-height:1}.closing .eyebrow{margin-bottom:13px}.closing h2{font-size:37px}.closing p:not(.eyebrow){color:var(--muted);margin-top:12px;font-size:13px}.closing .button{white-space:nowrap;margin-left:auto}.site-footer{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:25px;max-width:1280px;margin:auto;padding:35px 40px;display:grid}.footer-name{font-family:var(--serif);font-size:21px}.footer-name span{color:#b56e4d}.site-footer p{color:var(--muted);margin-top:8px;font-size:11px}.footer-links{justify-content:end;gap:25px;font-size:12px;display:flex}.footer-note{color:var(--muted);border-top:1px solid var(--line);grid-column:1/-1;padding-top:17px;font-size:10px}.page-heading{max-width:780px;margin-bottom:38px}.page-heading h1{font-size:clamp(42px,5vw,66px)}.page-heading h1 em{color:#56836d}.page-heading>p:last-child{color:var(--muted);max-width:620px;margin-top:22px;font-size:17px}.heading-star{color:#be714e;margin-left:22px;font-size:36px}.library-controls{align-items:end;gap:25px;display:flex}.search-label{flex-direction:column;flex:1;gap:8px;display:flex}.search-label>span{font-size:12px;font-weight:600}.search-label input{width:100%;color:var(--ink);background:#fffdf7;border:1px solid #bac6b7;border-radius:6px;padding:13px 17px}.ready-filter{align-items:center;gap:10px;padding-bottom:14px;font-size:13px;display:flex}.ready-filter input{accent-color:var(--teal);width:17px;height:17px}.filter-row{flex-wrap:wrap;gap:9px;margin-top:24px;display:flex}.filter-row button{color:var(--ink);background:0 0;border:1px solid #d1d6c8;border-radius:30px;padding:8px 17px;font-size:12px}.filter-row button[aria-pressed=true]{background:var(--teal);color:#fff;border-color:var(--teal)}.result-count{color:var(--muted);margin:22px 0 19px;font-size:11px}.notice{color:#55644f;background:#eeefe2;border:1px solid #dbe0ca;border-radius:6px;margin-top:30px;padding:20px 24px;font-size:12px}.empty-state{text-align:center;border:1px dashed #b5c4b0;border-radius:8px;padding:55px}.empty-state p{color:var(--muted);margin:16px 0}.educator-layout{grid-template-columns:1fr 1fr;align-items:center;gap:65px;display:grid}.dashboard-mock{background:#ecf0e4;border:1px solid #c5d2bf;border-radius:12px;padding:30px;box-shadow:10px 10px #dfe5d340}.mock-top{justify-content:space-between;gap:15px;margin-bottom:35px;font-size:12px;display:flex}.mock-top span{color:var(--muted);font-size:10px}.dashboard-mock h2{margin-bottom:25px;font-size:30px}.mock-row{border-top:1px solid #cdd8c5;align-items:center;gap:18px;padding:20px 0;display:flex}.mock-row>span{font:22px var(--serif);color:#78926e}.mock-row b{font-size:15px;display:block}.mock-row small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.mock-disclaimer{color:var(--muted);margin-top:20px;font-size:10px}.educator-copy h2{font-size:43px}.educator-copy p:not(.eyebrow){color:var(--muted);margin-top:22px;font-size:14px}.check-list{margin:25px 0 30px;padding:0;list-style:none}.check-list li{border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.check-list li:before{content:"✦";color:#a87143;margin-right:13px;font-size:11px}.membership-grid{grid-template-columns:1fr 1fr;gap:25px;max-width:980px;display:grid}.membership-card{background:#fffdf7;border:1px solid #cfd8c4;border-radius:9px;padding:35px}.membership-card h2{margin:20px 0;font-size:35px}.membership-card>p{color:var(--muted);font-size:14px}.pill{letter-spacing:1.5px;background:#e7edda;border-radius:20px;padding:7px 11px;font-size:9px;font-weight:700}.membership-future{background:#eef0e4}.enrollment-note{border-top:1px solid #cbd3c1;padding-top:18px;font-size:14px;font-weight:600}.enrollment-note small{color:var(--muted);margin-top:6px;font-size:11px;font-weight:400;display:block}@media (min-width:1500px){.teaching-section{padding-inline:calc(50vw - 600px)}}@media (max-width:1050px){.site-header{gap:20px;padding-inline:25px}.site-header nav{gap:18px}.hero{gap:30px;padding-inline:25px}.hero-art{height:400px}.big-word{font-size:80px}.skill-ribbon{gap:25px}.home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-info{padding:17px}.card-meta{font-size:8px}.card-bottom{flex-wrap:wrap}.teaching-section{gap:45px;padding-inline:30px}.hero-actions{gap:18px}.hero h1{font-size:58px}.section,.page-main{padding-inline:25px}.brand{font-size:18px}}@media (max-width:760px){.site-header{flex-wrap:wrap;justify-content:space-between;gap:15px;padding:20px}.site-header nav{order:3;justify-content:space-between;width:100%;margin:0;font-size:12px}.header-action{padding:7px 12px;font-size:12px}.hero{grid-template-columns:1fr;gap:35px;padding:42px 20px}.hero h1{font-size:52px}.hero-description{font-size:15px}.hero-art{width:100%;max-width:500px;height:385px;margin:auto}.hero-footnote{margin-top:24px}.paper-card{top:90px}.big-word{font-size:85px}.tile-b{width:60px;height:70px;top:115px;right:20px}.skill-ribbon{flex-wrap:wrap;gap:16px;padding:17px;font-size:15px}.skill-ribbon i{font-size:9px}.section,.page-main{padding:42px 20px}.section-heading{flex-direction:column;align-items:start;gap:20px}.section h2{font-size:33px}.game-grid,.home-grid{grid-template-columns:1fr}.game-info{padding:23px}.game-card .art{height:230px}.game-info h3{font-size:25px}.game-info p{font-size:14px}.card-meta{font-size:10px}.card-bottom small,.planned-label{font-size:11px}.teaching-section{grid-template-columns:1fr;gap:35px;padding:45px 23px}.teaching-section h2{font-size:43px}.closing{flex-wrap:wrap;gap:20px;padding:40px 20px}.closing>span{font-size:50px}.closing>div{flex:1}.closing h2{font-size:30px}.closing .button{margin:5px 0 0}.site-footer{grid-template-columns:1fr;padding:30px 20px}.footer-links{flex-wrap:wrap;justify-content:start}.page-heading h1{font-size:45px}.page-heading>p:last-child{font-size:15px}.heading-star{margin-left:10px;font-size:24px}.library-controls{flex-direction:column;align-items:start;gap:17px}.search-label{width:100%}.ready-filter{padding-bottom:0}.filter-row{gap:7px}.filter-row button{padding:7px 12px;font-size:11px}.educator-layout,.membership-grid{grid-template-columns:1fr;gap:30px}.dashboard-mock{padding:23px}.educator-copy h2{font-size:38px}.membership-card{padding:27px}.empty-state{padding:30px 20px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}select{font:inherit;touch-action:manipulation}select:focus-visible,summary:focus-visible{outline-offset:5px;outline:3px solid #ca683e}.auth-main{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(30px,6vw,90px);padding-top:60px;display:grid}.auth-story h1{margin:20px 0;font-size:clamp(44px,5vw,68px)}.auth-story>p{max-width:430px;margin:20px 0}.auth-tiles{gap:14px;margin:38px 0;display:flex}.auth-tiles span{background:var(--lime);width:95px;height:100px;font-family:var(--serif);border:1px solid #c7cfb0;border-radius:17px;place-items:center;font-size:66px;display:grid;transform:rotate(-8deg);box-shadow:0 5px #c9d3ab}.auth-tiles span:nth-child(2){background:#ecd6c7;border-color:#d4baaa;transform:rotate(8deg)translateY(-12px);box-shadow:0 5px #d9bbab}.auth-tiles span:nth-child(3){background:#e3eae1;font-size:46px;transform:rotate(-3deg)}.auth-card,.account-panel{border:1px solid var(--line);background:#fffdf7;border-radius:24px;min-width:0;padding:clamp(24px,3vw,40px)}.auth-card{box-shadow:0 10px 35px #213f3907}.auth-card h2,.account-panel h2{margin:16px 0;font-size:34px}.auth-card>p,.account-panel>p{color:var(--muted);margin-bottom:18px}.account-form{margin-top:24px}.account-form fieldset{border:0;gap:17px;min-width:0;margin:0;padding:0;display:grid}.account-form label{gap:7px;font-size:14px;font-weight:600;display:grid}.account-form input:not([type=checkbox]),.account-form select{width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #a4b2a8;border-radius:9px;padding:10px 13px}.account-form .checkbox-label{align-items:flex-start;gap:10px;margin:7px 0;font-weight:400;display:flex}.checkbox-label input{width:20px;height:20px;accent-color:var(--teal);flex-shrink:0;margin:2px 0}.account-form small,.fine-print{color:#53655c;font-size:13px;line-height:1.65}.account-form .button{border:0;width:100%;min-height:48px;margin-top:16px}button:disabled{opacity:.65;cursor:wait}.form-message:not(:empty){color:#304c35;overflow-wrap:anywhere;background:#edf1de;border:1px solid #c8d0ac;border-radius:10px;margin:18px 0 0;padding:13px 16px;font-size:14px}.form-message.form-error{color:#823d26;background:#f9ede6;border-color:#d8a995}.form-message:empty{display:none}.auth-links{gap:14px;margin-top:24px;font-size:14px;display:grid}.auth-links a,.text-link{text-underline-offset:5px;font-weight:600;text-decoration:underline}.confirmation-help{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;font-size:14px}.confirmation-help summary{cursor:pointer}.setup-state{background:#f0f2e7;border-radius:14px;margin-top:25px;padding:24px}.setup-state h3{font-size:21px}.setup-state p{margin:14px 0 22px}.dashboard-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-bottom:24px;display:flex}.dashboard-nav nav{flex-wrap:wrap;gap:28px;font-size:14px;font-weight:600;display:flex}.signout-form{max-width:300px}.signout-form fieldset{display:none}.signout-form button{color:var(--ink);background:0 0;border:1px solid #8c9b91;border-radius:8px;min-height:44px;padding:8px 16px;font-size:14px}.dashboard-heading{padding:48px 0 35px}.dashboard-heading h1{overflow-wrap:anywhere;margin:16px 0;font-size:clamp(38px,5vw,62px)}.dashboard-heading>p:last-child{max-width:620px;color:var(--muted)}.dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;display:grid}.dashboard-library .section-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.dashboard-library .section-title h2{font-size:32px}.dashboard-library .game-card{max-width:540px}.dashboard-library .fine-print{max-width:540px;margin-top:20px}.dashboard-side{align-content:start;gap:24px;display:grid}.dashboard-main .notice{margin-top:36px}.dashboard-main .notice h3{margin-bottom:12px;font-size:22px}.settings-grid{grid-template-columns:1fr 1fr;gap:30px;display:grid}.account-email{overflow-wrap:anywhere}.account-email small{margin-top:8px;font-size:12px;display:block}.error-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:26px;display:flex}.error-actions button{border:0}.loading-state{margin:36px 0}@media (max-width:800px){.auth-main,.dashboard-grid,.settings-grid{grid-template-columns:1fr}.auth-story{padding-bottom:10px}.auth-story h1{font-size:46px}.auth-tiles{margin:25px 0}.auth-tiles span{width:70px;height:76px;font-size:50px}.dashboard-nav{align-items:flex-start}.dashboard-nav nav{gap:16px}.dashboard-library .game-card{max-width:none}}@media (max-width:450px){.auth-main{padding-top:30px}.auth-story h1{font-size:40px}.dashboard-nav{flex-direction:column}.dashboard-library .section-title{flex-direction:column;align-items:flex-start;gap:12px}}.brain-game-page{padding-top:32px}.brain-game-intro{grid-template-columns:1fr 1.1fr;align-items:center;gap:48px;margin:40px 0;display:grid}.brain-game-copy h1{letter-spacing:-.04em;margin:12px 0 20px;font-size:clamp(42px,6vw,72px)}.brain-game-description{max-width:540px;font-size:20px;line-height:1.65}.brain-game-features{margin:24px 0 30px;padding-left:20px;line-height:1.9}.brain-game-art{border:2px solid var(--ink);background:#e8f4ff;border-radius:24px;overflow:hidden;box-shadow:7px 7px #d3dfcb}.brain-game-art img{width:100%;height:auto;display:block}.brain-game-copy .fine-print{max-width:430px;margin-top:16px}@media (max-width:820px){.brain-game-intro{grid-template-columns:1fr;gap:28px;margin:28px 0}.brain-game-art{grid-row:1}.brain-game-description{font-size:18px}}
