:root{--paper:#faf7f1;--ink:#242622;--muted:#66685f;--red:#d3061c;--line:#dfded6;--white:#fffefa;--green:#284b3b;--radius:18px;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-art{overflow:clip}
.screen-note{display:none}
@media(max-width:650px){.screen-note{display:block;margin:0;padding:9px 12px;background:#f8efde;color:#755a2e;font-size:10px;line-height:1.6;border-bottom:1px solid #e5d9c0}.game-area{overflow:auto!important}.game-area iframe{min-width:650px!important}.tabletop-page .screen-note{display:none}}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img,svg{max-width:100%}img{display:block}button,a,select{touch-action:manipulation}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #1363c4;outline-offset:5px}[hidden]{display:none!important}::selection{background:#ffd5d1}.wrap{width:min(1220px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--ink);color:white;padding:12px 18px;border-radius:8px}.skip-link:focus{top:12px}.site-header{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;gap:9px;align-items:center;font-weight:850;font-size:23px;letter-spacing:-1.2px;white-space:nowrap}.brand-red{color:var(--red)}.site-header nav{display:flex;gap:32px;align-items:center;font-size:14px;font-weight:650}.site-header nav>a:not(.nav-cta):hover,.text-link:hover,.site-footer>a:last-child:hover{color:var(--red)}.nav-cta{border:1px solid var(--ink);border-radius:999px;padding:10px 19px;display:flex;gap:22px;align-items:center}.nav-cta:hover{background:var(--ink);color:white}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:24px;min-height:620px;padding-block:58px 64px}.eyebrow{font:700 10px/1.6 "SFMono-Regular",Consolas,monospace;letter-spacing:1.8px;margin:0 0 20px}.hero .eyebrow{display:flex;gap:10px;align-items:center}.live-dot{width:7px;height:7px;display:inline-block;background:var(--red);border-radius:50%;box-shadow:0 0 0 4px #d3061c10}.hero h1{font-size:clamp(52px,5.6vw,78px);letter-spacing:-4.5px;line-height:1.025;font-weight:800;margin:0}.hero h1 em{font-style:normal;color:var(--red)}.hero-description{font-size:17px;line-height:1.65;color:var(--muted);margin:24px 0 26px;max-width:425px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid transparent;min-height:48px;padding:12px 22px;border-radius:9px;font-weight:700;font-size:13px;line-height:1.4;transition:background .15s,transform .15s}.button:hover{transform:translateY(-2px)}.primary{background:var(--red);color:white}.primary:hover{background:#af0619}.dark{background:var(--ink);color:white}.dark:hover{background:#41443c}.secondary{background:var(--white);border-color:var(--line);color:var(--ink)}.secondary:hover{background:#efede5}.text-link{font-size:13px;font-weight:700;display:inline-flex;gap:12px;align-items:center}.hero-facts{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:25px}.hero-facts span{display:flex;gap:7px;align-items:center}.hero-facts span:before{content:"";width:4px;height:4px;border-radius:50%;background:#9fafa2}.hero-art{position:relative;min-height:470px;display:flex;flex-direction:column;justify-content:center;align-items:center}.hero-art:before{content:"";position:absolute;inset:16px 6px 18px;border-radius:50%;background:radial-gradient(ellipse,#ffe4d7 0,#f7eee0 47%,#faf7f100 72%)}.mascot-logo{width:min(440px,100%);height:auto;position:relative;z-index:1;transform:rotate(-5deg);filter:drop-shadow(0 16px 12px #a44b2c10)}.orbit{position:absolute;width:100%;height:68%;border:1px dashed #d4c9b9;border-radius:50%;transform:rotate(-25deg)}.orbit-two{width:76%;height:87%;transform:rotate(26deg);border-color:#e5ddd0}.art-spark{position:absolute;color:var(--red);font-size:40px;z-index:2}.spark-one{top:26px;right:30px;transform:rotate(15deg)}.spark-two{bottom:65px;left:16px;font-size:48px}.art-note{position:relative;z-index:2;font-family:Georgia,serif;font-style:italic;font-size:15px;color:#736b5c;transform:rotate(-5deg);margin-top:-13px}.concept-ribbon{background:var(--ink);color:#eeebdf;padding:16px 0;overflow:hidden}.concept-ribbon .wrap{display:flex;gap:22px;justify-content:space-between;align-items:center;white-space:nowrap;font:600 10px/1.4 "SFMono-Regular",Consolas,monospace;letter-spacing:1.5px}.concept-ribbon span{color:#f3aa8d;font-size:17px}.library{padding-block:78px 70px;scroll-margin-top:22px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:9px}.section-heading h2,.classroom-intro h2{font-size:42px;line-height:1.12;letter-spacing:-1.9px;margin:0;font-weight:800}.red-period{color:var(--red)}.section-heading>p{font-size:13px;line-height:1.75;color:var(--muted);margin:0 0 2px}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px}.filter-buttons{display:flex;gap:6px;flex-wrap:wrap}.filter{border:1px solid #d9d9d0;background:transparent;color:#606258;font-size:11px;font-weight:600;border-radius:999px;padding:8px 13px;min-height:36px}.filter:hover{border-color:var(--ink);color:var(--ink)}.filter.is-active{background:var(--ink);color:white;border-color:var(--ink)}.filter span{opacity:.65;margin-left:5px}.filter-result{font-size:10px;color:var(--muted);white-space:nowrap}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.game-card{border:1px solid var(--line);background:var(--white);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.game-card:hover{box-shadow:0 12px 25px #2829200a;transform:translateY(-3px)}.game-art{height:188px;display:block;position:relative;overflow:hidden;border-bottom:1px solid #2426220a}.game-art>img{width:100%;height:100%;object-fit:cover}.game-type{position:absolute;top:14px;left:15px;font-size:9px;font-weight:650;background:#ffffffd9;border:1px solid #24262212;padding:5px 9px;border-radius:999px;color:#484a42}.game-number{position:absolute;right:16px;top:16px;font:500 11px/1.4 "SFMono-Regular",Consolas,monospace;color:#24262266}.card-body{padding:23px 23px 20px;display:flex;flex-direction:column;flex:1}.card-concept{font:650 9px/1.5 "SFMono-Regular",Consolas,monospace;letter-spacing:1.3px;text-transform:uppercase;color:var(--red);margin:0 0 6px}.card-title{font-size:25px;letter-spacing:-.9px;margin:0;line-height:1.2;font-weight:800}.card-question{font-size:12px;font-weight:700;margin:11px 0 6px;line-height:1.6}.card-description{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 17px}.card-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:9px;margin-top:auto;padding-top:8px}.card-meta span{display:inline-flex;gap:5px;align-items:center}.meta-icon{font-size:13px}.card-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:18px}.card-actions .button{min-height:39px;padding:9px 14px;font-size:11px;gap:22px}.card-guide{font-size:10px;font-weight:650;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#cbc9bd}.card-guide:hover{color:var(--red)}.collection-note{font-size:11px;color:var(--muted);text-align:center;margin:27px 0 0;line-height:1.6}.collection-note>span{font-size:20px;vertical-align:middle;margin-right:7px}.classroom-section{padding:68px 0;background:#efece2;border-block:1px solid #e5e1d6;scroll-margin-top:20px}.classroom-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.classroom-intro .eyebrow{margin-bottom:13px}.classroom-intro h2{font-size:40px}.classroom-intro>p:not(.eyebrow):not(.download-caption){font-size:14px;line-height:1.8;color:var(--muted);max-width:420px;margin:20px 0 24px}.download-caption{font-size:9px;color:var(--muted);margin-top:10px}.teacher-steps{padding-top:5px}.teacher-steps article{display:flex;gap:19px;padding:22px 0;border-bottom:1px solid #d9d6cb}.teacher-steps article:first-child{padding-top:0}.teacher-steps article:last-child{border-bottom:none;padding-bottom:0}.step-number{font:500 12px/1.5 "SFMono-Regular",Consolas,monospace;color:var(--red);padding-top:3px}.teacher-steps h3{font-size:17px;letter-spacing:-.3px;margin:0 0 8px}.teacher-steps p{font-size:12px;color:var(--muted);line-height:1.8;margin:0;max-width:390px}.about{display:flex;gap:32px;align-items:flex-start;padding-block:65px;max-width:850px}.about-star{font-size:65px;line-height:1;color:var(--red);margin-top:5px}.about h2{font-size:24px;letter-spacing:-.8px;margin:0 0 12px}.about p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 10px}.about .about-credit{font-size:10px;line-height:1.8}.site-footer{border-top:1px solid var(--line);padding-block:25px 30px;display:flex;justify-content:space-between;gap:20px;align-items:center}.site-footer .brand{font-size:18px;letter-spacing:-.8px}.site-footer p,.site-footer>a:last-child{font-size:10px;color:var(--muted)}
/* The game launcher stays outside each self-contained original game. */
.player-page{background:#eeede7}.player-header{height:64px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}.back-link{font-size:12px;font-weight:700;display:flex;align-items:center;gap:10px}.back-link:hover{color:var(--red)}.player-brand{font-size:20px}.player-tag{font:600 9px/1.4 "SFMono-Regular",Consolas,monospace;color:var(--muted);letter-spacing:1.2px}.player-toolbar{display:flex;gap:14px;align-items:center;background:var(--white);padding:14px 28px;border-bottom:1px solid var(--line);flex-wrap:wrap}.game-selection{display:flex;align-items:center;gap:9px}.game-selection label{font-size:10px;color:var(--muted);font-weight:650}.game-selection select{background:var(--paper);border:1px solid #d6d6cc;border-radius:7px;padding:8px 30px 8px 10px;color:var(--ink);font-size:12px;min-height:37px;max-width:300px}.player-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.button.small{min-height:37px;font-size:10px;padding:8px 12px;gap:12px}.player-announcement{font-size:10px;color:var(--muted);margin:0;padding:8px 28px;background:var(--paper);min-height:29px;border-bottom:1px solid var(--line)}.game-area{height:calc(100dvh - 160px);min-height:540px;position:relative;background:#f7f7fb}.game-area iframe{border:0;width:100%;height:100%;display:block;background:#f7f7fb}.game-area iframe:fullscreen{background:#f7f7fb}.game-loading{padding:100px 20px;text-align:center;color:var(--muted);font-size:15px}.loading-ghost{display:block;font-size:45px;margin-bottom:15px;color:var(--red)}.resource-panel{background:var(--paper);border-bottom:1px solid var(--line);padding:38px 28px}.resource-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:70px}.resource-copy .eyebrow{color:var(--red);margin:0 0 9px}.resource-copy h1{font-size:34px;letter-spacing:-1.3px;line-height:1.15;margin:0 0 15px}.resource-learn{font-size:14px;line-height:1.8;margin:0 0 20px}.discussion{padding:16px 20px;background:#f0ece1;border-left:2px solid var(--red);border-radius:0 9px 9px 0}.discussion>span{font:700 9px/1.5 "SFMono-Regular",Consolas,monospace;text-transform:uppercase;letter-spacing:1px;color:var(--red)}.discussion p{font-size:13px;font-weight:650;line-height:1.7;margin:7px 0 0}.resource-note{font-size:10px;line-height:1.8;color:var(--muted);margin:19px 0 0}.resource-downloads h2{font-size:19px;letter-spacing:-.6px;margin:0 0 15px}.kit-meta{font-size:10px;color:var(--muted);margin:0 0 9px}.resource-link{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.5}.resource-link:hover{color:var(--red)}.guide-link{font-weight:700}.materials{font-size:11px;line-height:1.8;color:var(--muted);margin:17px 0 0}.tabletop-page .resource-panel{padding:65px 30px;min-height:calc(100dvh - 159px)}.tabletop-page .resource-copy h1{font-size:44px}.noscript-message{padding:35px;max-width:800px;margin:auto}.noscript-message a{text-decoration:underline}.noscript-message li{margin-bottom:10px}
@media(min-width:1500px){.hero{min-height:680px}.hero-art{min-height:500px}.mascot-logo{width:470px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero h1{font-size:65px;letter-spacing:-3.5px}.hero{min-height:570px;gap:15px}.hero-art{min-height:420px}.hero-description{font-size:15px}.hero-facts{gap:12px}.hero-actions{gap:18px}.game-grid{gap:18px}.card-body{padding:20px 18px}.card-title{font-size:22px}.card-actions{gap:7px}.card-guide{font-size:9px}.classroom-layout{gap:65px}.filter-result{display:none}.concept-ribbon .wrap{gap:18px;font-size:8px}.game-art{height:165px}.player-actions{margin-left:0}.player-tag{display:none}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.site-header{height:78px}.site-header nav{gap:18px}.site-header nav>a:not(.nav-cta){display:none}.brand{font-size:20px}.hero{grid-template-columns:1fr 1fr;padding:42px 0;min-height:auto}.hero h1{font-size:clamp(43px,7vw,59px);letter-spacing:-2.7px}.hero-description{font-size:13px}.hero-art{min-height:340px}.hero .eyebrow{font-size:8px;letter-spacing:1.1px}.hero-facts{font-size:9px;gap:9px}.hero-actions{gap:14px}.hero-actions .button{font-size:11px;padding:11px 15px;gap:17px}.hero-actions .text-link{font-size:11px}.art-note{font-size:12px;white-space:nowrap}.spark-one{font-size:28px;top:35px;right:0}.spark-two{font-size:30px;bottom:25px}.concept-ribbon{padding:13px 0}.concept-ribbon .wrap{width:max-content;gap:24px;justify-content:flex-start;padding-inline:20px;font-size:9px}.section-heading h2,.classroom-intro h2{font-size:34px}.section-heading>p{font-size:11px}.library{padding-block:53px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.game-art{height:175px}.card-title{font-size:24px}.card-body{padding:22px}.card-guide{font-size:10px}.classroom-layout{gap:40px}.classroom-intro>p:not(.eyebrow):not(.download-caption){font-size:12px}.classroom-section{padding-block:48px}.classroom-intro .button{font-size:11px;gap:16px;padding:12px 15px}.about{padding-block:45px;gap:23px}.about h2{font-size:22px}.resource-inner{gap:35px}.player-toolbar{padding:12px 18px;gap:10px}.player-header{padding-inline:18px}.game-selection label{display:none}.game-selection select{max-width:250px}.game-area{height:calc(100dvh - 205px)}.resource-panel{padding:30px 20px}.player-announcement{padding-inline:18px}}
@media(max-width:560px){.wrap{width:calc(100% - 36px)}.site-header{height:73px}.brand{font-size:19px;gap:6px}.brand>img{width:33px;height:33px}.nav-cta{font-size:11px;padding:8px 13px;gap:15px}.hero{grid-template-columns:1fr;padding:36px 0 32px;gap:10px}.hero-copy{position:relative;z-index:2}.hero h1{font-size:61px;letter-spacing:-3.2px;line-height:1.02}.hero-description{font-size:14px;max-width:330px;margin-top:21px}.hero .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:19px}.hero-actions .button{font-size:12px;padding:12px 16px}.hero-facts{font-size:9px;gap:14px;margin-top:22px}.hero-art{min-height:310px;width:100%;max-width:350px;margin:0 auto}.mascot-logo{width:300px}.hero-art:before{inset:10px}.orbit-one{height:62%;width:100%}.orbit-two{height:92%;width:70%}.spark-one{top:15px;right:15px}.spark-two{left:10px;bottom:35px}.art-note{font-size:12px;margin-top:-20px}.section-heading{display:block;margin-bottom:22px}.section-heading>p{font-size:12px;margin-top:15px;line-height:1.6}.section-heading h2{font-size:36px}.eyebrow{font-size:8px;letter-spacing:1.2px}.filter-buttons{gap:7px}.filter{font-size:10px;padding:7px 11px;min-height:34px}.filter-bar{margin-bottom:24px}.game-grid{grid-template-columns:1fr;gap:24px}.game-art{height:195px}.card-body{padding:23px}.card-title{font-size:27px}.card-question{font-size:13px}.card-description{font-size:13px;line-height:1.75}.card-meta{font-size:10px}.card-actions .button{font-size:12px;padding:10px 17px;min-height:43px}.card-guide{font-size:11px}.game-type{font-size:10px}.collection-note{font-size:10px}.classroom-layout{grid-template-columns:1fr;gap:34px}.classroom-intro h2{font-size:36px}.classroom-intro>p:not(.eyebrow):not(.download-caption){font-size:14px}.classroom-intro .button{font-size:12px;padding:12px 18px}.teacher-steps p{font-size:13px;max-width:none}.teacher-steps h3{font-size:18px}.download-caption{font-size:10px}.about{gap:16px}.about-star{font-size:40px}.about h2{font-size:21px}.about p{font-size:12px}.about .about-credit{font-size:10px}.site-footer{flex-wrap:wrap;gap:10px;padding-block:23px}.site-footer .brand{font-size:17px}.site-footer p{order:3;width:100%;margin:0}.player-brand{font-size:17px}.player-brand>img{width:27px;height:27px}.back-link{font-size:11px}.player-header{height:58px}.player-toolbar{padding:10px 12px}.game-selection select{font-size:11px;max-width:calc(100vw - 24px)}.variant-selection{width:100%}.variant-selection select{width:100%;max-width:none}.player-actions{width:100%;gap:6px}.button.small{font-size:9px;padding:8px 9px;gap:5px}.player-actions #standalone{margin-left:auto}.player-announcement{font-size:9px;padding-inline:12px}.game-area{height:calc(100dvh - 210px);min-height:580px;overflow:auto;-webkit-overflow-scrolling:touch}.game-area iframe{min-width:360px}.resource-inner{grid-template-columns:1fr;gap:26px}.resource-copy h1{font-size:30px}.resource-panel{padding:28px 20px}.resource-learn{font-size:13px}.tabletop-page .resource-panel{padding:36px 20px}.tabletop-page .resource-copy h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover,.game-card:hover{transform:none}}

/* Four named collections share the playground. */
.collections{padding-block:70px 0;scroll-margin-top:24px}.collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.collection-card{border:1px solid var(--line);border-radius:18px;background:var(--white);padding:29px}.collection-card .eyebrow{font-size:9px;color:var(--red);margin-bottom:13px}.collection-card h3{font-size:29px;letter-spacing:-1px;margin:0 0 13px}.collection-card p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted);max-width:440px;margin:0 0 20px}.signals-card{background:#e8eee1;border-color:#d1dcc9}.signals-card .eyebrow,.signals-card .text-link{color:#14665b}.collection-quick-play{display:inline-flex;font-size:11px;font-weight:750;border:1px solid #afc4a8;border-radius:8px;padding:10px 13px;margin-left:18px;min-height:39px;color:#14665b}.collection-quick-play:hover{background:#dbe8d3}@media(max-width:800px){.collections{padding-top:48px}.collection-grid{gap:18px}.collection-card{padding:23px}.collection-card h3{font-size:25px}.collection-quick-play{margin-left:0;margin-top:12px}.collection-card .text-link{display:flex;max-width:max-content}}@media(max-width:560px){.collection-grid{grid-template-columns:1fr}.collection-card{padding:25px}.collection-card h3{font-size:29px}.collection-quick-play{margin-top:15px}.collection-card .eyebrow{font-size:8px}.collection-card p:not(.eyebrow){font-size:14px}}

.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-card{min-width:0}.collection-card .collection-quick-play{margin-left:0;margin-top:14px;min-height:44px;align-items:center}.utilities-card{background:#f5eefa;border-color:#d8cbe4}.utilities-card .eyebrow,.utilities-card .text-link,.utilities-card .collection-quick-play{color:#6c2f9e}.utilities-card .collection-quick-play{border-color:#6c2f9e;background:#fffefa}.utilities-card .collection-quick-play:hover{background:#eee0f7}.action-card{background:#fff0ed;border-color:#e7c5c7}.action-card .eyebrow,.action-card .text-link,.action-card .collection-quick-play{color:#b41524}.action-card .collection-quick-play{border-color:#b41524;background:#fffefa}.action-card .collection-quick-play:hover{background:#ffe1dd}.collection-game-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.collection-game-links .collection-quick-play{margin:0}@media(max-width:560px){.collection-grid{grid-template-columns:1fr}}

/* Social links in the playground header. */
.social-links{display:inline-flex;align-items:center;gap:4px}
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--ink);transition:color .15s,border-color .15s,background .15s}
.social-links a:hover{color:var(--red);border-color:var(--red);background:var(--white)}
.social-links svg{width:19px;height:19px;fill:currentColor}
@media(max-width:560px){.site-header nav{gap:8px}.social-links{gap:2px}.social-links a{width:36px;height:36px}.social-links svg{width:17px;height:17px}.site-header .nav-cta{padding:8px 10px;gap:6px}}
@media(max-width:420px){.site-header{height:auto;min-height:73px;flex-wrap:wrap;row-gap:8px;padding-block:12px}.site-header nav{margin-left:auto}}
