:root{--coral:#f6623b;--forest:#515738;--sage:#d8dfbe;--cream:#fef8f2;--dforest:#373c26;--dcoral:#c94a28;--peach:#fbe5cb;--page-bg:#f7ecd9;--page-ink:#3a362f;--font-display:"Quicksand", ui-sans-serif, sans-serif;--font-body:"Quicksand", ui-sans-serif, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--page-bg);color:var(--page-ink);font-family:var(--font-display);-webkit-font-smoothing:antialiased;margin:0}button{cursor:pointer;font-family:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--coral);outline-offset:2px}img{max-width:100%;display:block}.landing-page{background-color:var(--dforest);justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex;position:relative;overflow:hidden}.landing-pattern{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='46' height='46'><path d='M8 8 L38 38 M38 8 L8 38' stroke='%23fbe5cb' stroke-width='2' stroke-linecap='round' fill='none' opacity='0.16'/></svg>");position:absolute;inset:0}.landing-content{text-align:center;max-width:28rem;position:relative}.landing-title{color:var(--coral);margin:0 0 .4rem;font-size:4.6rem;font-weight:800;line-height:1}.landing-subtitle{font-family:var(--font-body);color:var(--cream);opacity:.9;margin:0 0 2.2rem;font-size:1.2rem}.landing-attribution{color:var(--cream);opacity:.9;margin:0 0 2.4rem;font-size:1.1rem}.landing-link{color:var(--peach);font-weight:700;text-decoration:underline}.landing-footer{text-align:center;color:var(--cream);opacity:.55;font-size:.78rem;position:absolute;bottom:1.5rem;left:0;right:0}.landing-button{background:var(--coral);color:#fff;letter-spacing:.02rem;border:none;border-radius:999px;padding:1rem 3.2rem;font-size:1.1rem;font-weight:800;transition:transform .15s,box-shadow .15s;box-shadow:0 1rem 1.8rem -.6rem #c94a28a6}.landing-button:hover{transform:translateY(-2px);box-shadow:0 1.3rem 2rem -.6rem #c94a28b3}@media (width<=30rem){.landing-title{font-size:3.4rem}.landing-subtitle{font-size:1.05rem}}.login-page{background-color:var(--peach);justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex;position:relative;overflow:hidden}.login-pattern{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='46' height='46'><path d='M8 8 L38 38 M38 8 L8 38' stroke='%23c94a28' stroke-width='2' stroke-linecap='round' fill='none' opacity='0.22'/></svg>");position:absolute;inset:0}.login-back{background:var(--coral);color:#fff;border:none;border-radius:999px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:700;transition:transform .15s;position:absolute;top:1.5rem;left:1.5rem;box-shadow:0 .5rem 1rem -.4rem #c94a2880}.login-back:hover{transform:translateY(-2px)}.login-form-wrap{background:var(--cream);border-radius:1rem;width:100%;max-width:24rem;padding:2.6rem 2rem;position:relative;box-shadow:0 1.4rem 2.6rem -1.2rem #231e1466}.login-form{flex-direction:column;gap:.6rem;display:flex}.login-form-eyebrow{letter-spacing:.14rem;text-transform:uppercase;color:var(--coral);text-align:center;margin:0;font-size:.75rem;font-weight:700}.login-form h1{color:var(--dforest);text-align:center;margin:0 0 .3rem;font-size:1.7rem}.login-form-hint{font-family:var(--font-body);color:var(--forest);text-align:center;margin:0 0 1rem;font-size:.9rem;line-height:1.5}.login-form-error{color:var(--dcoral);margin:.2rem 0 0;font-size:.85rem;font-weight:700}.login-form label{color:var(--dforest);margin-top:.4rem;font-size:.8rem;font-weight:700}.login-form input{border:.09rem solid var(--sage);font-size:1rem;font-family:var(--font-display);color:var(--dforest);background:#fff;border-radius:.5rem;padding:.7rem .9rem}.login-form input:focus{border-color:var(--coral)}.login-submit{background:var(--coral);color:#fff;border:none;border-radius:999px;margin-top:1.3rem;padding:.85rem 1.5rem;font-size:1rem;font-weight:800;transition:transform .15s;box-shadow:0 .6rem 1.2rem -.5rem #c94a2899}.login-submit:hover{transform:translateY(-2px)}.login-help{text-align:center;color:var(--forest);margin:1.2rem 0 0;font-size:.82rem;line-height:1.5}.login-link{color:var(--dcoral);font-weight:700;text-decoration:underline}.login-success{text-align:center}.login-success h1{color:var(--dforest);margin:0 0 .4rem}.login-start-button{background:var(--coral);color:#fff;border:none;border-radius:999px;margin-top:1.5rem;padding:.9rem 2.6rem;font-size:1.05rem;font-weight:800;transition:transform .15s;box-shadow:0 1rem 1.8rem -.6rem #c94a28a6}.login-start-button:hover{transform:translateY(-2px)}@media (width<=30rem){.login-form-wrap{padding:2.2rem 1.4rem}}.game-card{aspect-ratio:3/2;perspective:140rem;width:100%;max-width:42rem}.game-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.4,.2,.2,1);position:relative}.game-card.is-flipped .game-card-inner{transform:rotateY(180deg)}@media (prefers-reduced-motion:reduce){.game-card-inner{transition:none}}.card-face{background:var(--cream);backface-visibility:hidden;border-radius:.6rem;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 0 0 .07rem #373c2624,0 1.2rem 2.4rem -1rem #231e1480,0 .3rem .7rem -.05rem #231e144d}.card-back{transform:rotateY(180deg)}.strip{background-color:var(--peach);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='26'><path d='M5 5 L21 21 M21 5 L5 21' stroke='%23c94a28' stroke-width='1.6' stroke-linecap='round' fill='none' opacity='0.55'/></svg>");flex-shrink:0;width:22%;height:100%;position:relative;container-type:size}.wordmark{writing-mode:vertical-rl;letter-spacing:5.2cqh;color:var(--dcoral);white-space:nowrap;text-shadow:0 0 .18rem var(--peach), 0 0 .18rem var(--peach), 0 0 .18rem var(--peach);font-size:15cqh;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wordmark-flipped{transform:translate(-50%,-50%)rotate(180deg)}.serial{border:.3rem solid var(--dcoral);background:var(--peach);letter-spacing:-.01rem;width:2.8rem;height:2.8rem;color:var(--dcoral);font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;font-weight:900;display:flex;position:absolute;top:.5rem;left:.5rem}.front-main{flex-direction:column;width:78%;height:100%;padding:1.4rem 1.1rem .9rem;display:flex}.front-header{font-family:var(--font-display);margin:1.5rem 0 1rem;font-size:1.55rem;font-weight:800;line-height:1.2}.front-header .tag{color:var(--coral)}.front-header .title{color:var(--dforest)}.front-narration{font-family:var(--font-body);color:var(--forest);text-align:justify;margin:0;font-size:1.28rem;line-height:1.48}.directive{font-family:var(--font-display);letter-spacing:.05rem;text-transform:uppercase;color:var(--dcoral);align-self:flex-start;margin:.85rem 0 0;font-size:.72rem;font-weight:700}.directive span{color:var(--dforest);text-transform:none;letter-spacing:0;font-weight:800}.trademark{letter-spacing:.05rem;color:var(--dcoral);align-self:center;margin-top:auto;margin-bottom:0;font-size:.85rem;font-weight:700}.brand-mark{opacity:.92;pointer-events:none;width:3.4rem;height:auto;position:absolute}.brand-mark-front{bottom:.3rem;right:1rem}.brand-mark-back{bottom:.3rem;left:1rem}.back-main{flex-direction:column;gap:.7rem;width:78%;height:100%;padding:.85rem 1.1rem .35rem;display:flex;overflow-y:auto}.back-row .label{font-family:var(--font-display);letter-spacing:.03rem;color:var(--dforest);font-size:.8rem;font-weight:800}.back-row .value{font-family:var(--font-body);color:var(--forest);font-size:.93rem;line-height:1.26}@media (width<=48rem){.game-card{aspect-ratio:unset;max-width:26rem;height:32rem;max-height:85dvh;margin-inline:auto}.card-face{flex-direction:column}.card-back .strip{order:-1}.strip{flex-shrink:0;width:100%;height:6.5rem;container-type:normal}.wordmark,.wordmark-flipped{writing-mode:horizontal-tb;letter-spacing:.06rem;font-size:2.15rem;transform:translate(-50%,-50%)}.serial{width:2.3rem;height:2.3rem;font-size:1.05rem;top:.5rem;left:.5rem}.front-main,.back-main{flex:1;width:100%;min-height:0;overflow-y:auto}.front-main{padding:.8rem 1.15rem .7rem}.front-header{margin:.1rem 0 .6rem;font-size:1.32rem}.front-narration{font-size:1.02rem;line-height:1.4}.back-main{gap:.5rem;padding:.8rem 1.15rem .6rem}.back-row{flex-direction:column;gap:.1rem;display:flex}.back-row .label{font-size:.74rem}.back-row .value{font-size:.86rem;line-height:1.28}.card-front .trademark{align-self:flex-start}.card-back .trademark{align-self:center}.brand-mark-back{display:none}}.timer-pill{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.03rem;color:#fff;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1.1rem;font-size:1.4rem;font-weight:800;transition:background-color .4s;display:inline-flex}.timer-dot{background:#ffffffd9;border-radius:50%;width:.6rem;height:.6rem;animation:1s ease-in-out infinite timer-pulse}.timer-stopped .timer-dot{opacity:.5;animation:none}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.timer-dot{animation:none}}.timer-green{background:#3f8f4f}.timer-amber{background:#eb9a1c}.timer-red{background:var(--dcoral);animation:.9s ease-in-out infinite timer-urgent}.timer-red.timer-stopped{animation:none}@keyframes timer-urgent{0%,to{transform:scale(1);box-shadow:0 0 #c94a288c}50%{transform:scale(1.07);box-shadow:0 0 0 .55rem #c94a2800}}@media (prefers-reduced-motion:reduce){.timer-red{animation:none}}.card-stage{flex-direction:column;align-items:center;gap:1.1rem;width:100%;max-width:42rem;margin-inline:auto;display:flex}.card-stage-top{align-self:flex-start;align-items:center;gap:1rem;min-height:2.6rem;display:flex}.card-stage-hint{color:var(--forest);margin:0;font-size:.9rem;font-weight:600}.card-click-wrap{cursor:pointer;border-radius:.9rem;width:100%;max-width:42rem;position:relative}.card-click-wrap:focus-visible{outline:3px solid var(--coral);outline-offset:4px}.card-click-wrap.is-too-early{animation:.4s ease-in-out card-shake}.card-click-wrap.is-too-early .card-face{animation:.5s ease-in-out 3 border-flash}@keyframes card-shake{0%,to{transform:translate(0)}20%{transform:translate(-.4rem)}40%{transform:translate(.4rem)}60%{transform:translate(-.3rem)}80%{transform:translate(.3rem)}}@keyframes border-flash{0%,to{box-shadow:0 0 0 .35rem var(--dcoral), 0 1.4rem 2.6rem -1.4rem #231e148c}50%{box-shadow:0 0 0 .05rem var(--dcoral), 0 1.4rem 2.6rem -1.4rem #231e148c}}@media (prefers-reduced-motion:reduce){.card-click-wrap.is-too-early,.card-click-wrap.is-too-early .card-face{box-shadow:0 0 0 .35rem var(--dcoral);animation:none}}.too-early-banner{z-index:5;text-align:center;background:var(--dcoral);color:#fff;border-radius:.6rem;max-width:88%;margin:0;padding:.6rem 1.2rem;font-size:.95rem;font-weight:800;position:absolute;top:.9rem;left:50%;transform:translate(-50%);box-shadow:0 .6rem 1.2rem -.4rem #00000073}.card-stage-bottom{align-items:center;min-height:2.8rem;display:flex}.card-stage-waiting{color:var(--page-ink);opacity:.6;margin:0;font-size:.85rem}.btn-advance{background:var(--coral);color:#fff;letter-spacing:.02rem;border:none;border-radius:999px;padding:.75rem 2.2rem;font-size:1rem;font-weight:800;transition:transform .15s,box-shadow .15s;box-shadow:0 .6rem 1.2rem -.5rem #c94a2899}.btn-advance:hover{transform:translateY(-2px);box-shadow:0 .9rem 1.5rem -.5rem #c94a28a6}.practice-placeholder{aspect-ratio:3/2;width:100%;max-width:42rem;margin:0 auto}.welcome-page{background:var(--peach);justify-content:center;min-height:100dvh;padding:3rem 1.5rem 5rem;display:flex}.welcome-content{width:100%;max-width:70rem}.welcome-eyebrow{letter-spacing:.16rem;text-transform:uppercase;color:var(--coral);margin:0 0 .4rem;font-size:.75rem;font-weight:800}.welcome-content h1{color:var(--dforest);margin:0 0 1.4rem;font-size:2.1rem}.welcome-lead{font-family:var(--font-body);color:var(--forest);font-size:1.05rem;line-height:1.65}.edit-me{color:var(--dcoral);background:#c94a2824;border-radius:.25rem;padding:.05rem .35rem;font-weight:700}.timer-callout{color:#fff;border-radius:.25rem;padding:.05rem .4rem;font-weight:700}.timer-callout-amber{background:#eb9a1c}.timer-callout-red{background:var(--dcoral)}.instructions,.practice-section{border-top:.09rem solid var(--sage);margin-top:2.6rem;padding-top:2.2rem}.instructions h2,.practice-section h2{color:var(--dforest);margin:0 0 1rem;font-size:1.3rem}.instructions ol{color:var(--forest);flex-direction:column;gap:.7rem;margin:0;padding-left:1.3rem;font-size:.98rem;line-height:1.55;display:flex}.instructions ul{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding-left:1.2rem;display:flex}.instructions-note{border-radius:.6rem;flex-direction:column;gap:.5rem;margin-top:1.4rem;display:flex}.instructions-note p{color:var(--dforest);margin:0;font-size:.95rem;line-height:1.5}.practice-hint{font-family:var(--font-body);color:var(--forest);margin:0 0 1.4rem;font-size:.95rem}.start-wrap{justify-content:center;margin-top:3rem;display:flex}.start-button{background:var(--coral);color:#fff;letter-spacing:.02rem;border:none;border-radius:999px;padding:1rem 3rem;font-size:1.15rem;font-weight:800;transition:transform .15s,box-shadow .15s;box-shadow:0 1rem 1.8rem -.6rem #c94a28a6}.start-button:hover{transform:translateY(-2px);box-shadow:0 1.3rem 2rem -.6rem #c94a28b3}.game-page{background-color:var(--peach);background-image:url(/assets/game-bg-texture-Bq89ZQdN.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100dvh;padding:2.5rem 1.5rem;display:flex}.game-page-header{align-items:center;gap:1rem;width:100%;max-width:42rem;display:flex}.game-progress{letter-spacing:.14rem;text-transform:uppercase;color:var(--forest);opacity:.7;margin:0 0 0 auto;font-size:.8rem;font-weight:700}.btn-page-back{background:var(--coral);color:#fff;letter-spacing:.02rem;border:none;border-radius:999px;padding:.75rem 2.2rem;font-size:1rem;font-weight:800;transition:transform .15s,box-shadow .15s;box-shadow:0 .6rem 1.2rem -.5rem #c94a2899}.btn-page-back:hover{transform:translateY(-2px);box-shadow:0 .9rem 1.5rem -.5rem #c94a28a6}.btn-back-bottom{display:none}@media (width<=48rem){.btn-back-top{display:none}.btn-back-bottom{display:inline-block}.game-page-header{justify-content:center}.game-progress{margin:0}}.complete-page{background:var(--page-bg);justify-content:center;align-items:center;min-height:100dvh;padding:2rem 1.5rem;display:flex}.complete-card{background:var(--cream);text-align:center;border-radius:1rem;flex-direction:column;align-items:center;gap:1.1rem;max-width:34rem;padding:3rem 2.5rem;display:flex;box-shadow:0 1.4rem 2.6rem -1.4rem #231e1480}.complete-eyebrow{letter-spacing:.16rem;text-transform:uppercase;color:var(--coral);margin:0;font-size:.75rem;font-weight:800}.complete-card h1{color:var(--dforest);margin:0;font-size:1.8rem}.complete-body{font-family:var(--font-body);color:var(--forest);margin:0;font-size:1rem;line-height:1.6}.complete-trademark{letter-spacing:.05rem;color:var(--dcoral);margin:.5rem 0 0;font-size:.75rem;font-weight:700}.facilitator-auth{background:var(--page-bg);justify-content:center;align-items:center;min-height:100dvh;padding:2rem 1.5rem;display:flex}.facilitator-auth-form{background:var(--cream);border-radius:1rem;flex-direction:column;gap:.6rem;width:100%;max-width:24rem;padding:2.2rem;display:flex;box-shadow:0 1.4rem 2.6rem -1.4rem #231e1480}.facilitator-auth-eyebrow{letter-spacing:.14rem;text-transform:uppercase;color:var(--coral);margin:0;font-size:.72rem;font-weight:800}.facilitator-auth-form h1{color:var(--dforest);margin:0 0 .3rem;font-size:1.5rem}.facilitator-auth-hint{font-family:var(--font-body);color:var(--forest);margin:0 0 .8rem;font-size:.88rem;line-height:1.5}.facilitator-auth-error{color:var(--dcoral);background:#fdecea;border-radius:.4rem;margin:0 0 .4rem;padding:.6rem .8rem;font-size:.85rem;font-weight:600}.facilitator-auth-form label{color:var(--dforest);margin-top:.3rem;font-size:.8rem;font-weight:700}.facilitator-auth-form input{border:.09rem solid var(--sage);font-size:1rem;font-family:var(--font-display);color:var(--dforest);border-radius:.5rem;padding:.65rem .85rem}.facilitator-auth-form input:focus{border-color:var(--coral)}.facilitator-auth-form button[type=submit]{background:var(--coral);color:#fff;border:none;border-radius:999px;margin-top:1.1rem;padding:.8rem 1.3rem;font-size:1rem;font-weight:800;transition:transform .15s}.facilitator-auth-form button[type=submit]:hover{transform:translateY(-2px)}.facilitator-auth-form button[type=submit]:disabled{opacity:.6;transform:none}.facilitator-auth-switch{color:var(--forest);cursor:pointer;background:0 0;border:none;padding:.4rem 0;font-size:.82rem;text-decoration:underline}.dashboard{background:var(--page-bg);justify-content:center;min-height:100dvh;padding:3rem 1.5rem;display:flex}.dashboard-content{width:100%;max-width:42rem}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.6rem;display:flex}.dashboard-eyebrow{letter-spacing:.14rem;text-transform:uppercase;color:var(--coral);margin:0 0 .3rem;font-size:.72rem;font-weight:800}.dashboard-header h1{color:var(--dforest);margin:0;font-size:1.8rem}.dashboard-subhead{color:var(--forest);opacity:.75;margin:.2rem 0 0;font-size:.85rem}.dashboard-logout{color:var(--dforest);background:0 0;border:none;border-radius:.4rem;padding:.5rem .9rem;font-size:.85rem;font-weight:700}.dashboard-logout:hover{background:var(--sage)}.dashboard-new-session{gap:.6rem;margin-bottom:1.2rem;display:flex}.dashboard-new-session input{border:.09rem solid var(--sage);font-size:.95rem;font-family:var(--font-display);border-radius:.5rem;flex:1;padding:.7rem .9rem}.dashboard-new-session button{background:var(--coral);color:#fff;white-space:nowrap;border:none;border-radius:.5rem;padding:0 1.3rem;font-size:.9rem;font-weight:800}.dashboard-error{color:var(--dcoral);background:#fdecea;border-radius:.4rem;margin-bottom:1rem;padding:.6rem .8rem;font-size:.85rem;font-weight:600}.dashboard-empty{color:var(--forest);opacity:.7;font-size:.9rem}.dashboard-list{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.dashboard-item{background:var(--cream);border-radius:.7rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.dashboard-item-name{color:var(--dforest);margin:0;font-weight:800}.dashboard-item-meta{color:var(--forest);margin:.2rem 0 0;font-size:.82rem}.dashboard-item-actions{align-items:center;gap:.6rem;display:flex}.dashboard-item-actions button,.dashboard-item-actions a{border:.07rem solid var(--sage);color:var(--dforest);background:#fff;border-radius:.4rem;padding:.45rem .8rem;font-size:.8rem;font-weight:700;text-decoration:none}.summary-back{color:var(--dforest);margin-bottom:1rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-block}.summary-stats{flex-wrap:wrap;gap:.8rem;margin:1.4rem 0 2rem;display:flex}.summary-stat{background:var(--cream);border-radius:.7rem;flex-direction:column;gap:.2rem;min-width:8rem;padding:1rem 1.4rem;display:flex}.summary-stat-value{color:var(--dforest);font-size:1.6rem;font-weight:800}.summary-stat-label{color:var(--forest);opacity:.75;font-size:.78rem}.summary-heading{color:var(--dforest);margin:1.8rem 0 .8rem;font-size:1.1rem}.summary-pct{color:#3f8f4f;font-size:1.1rem;font-weight:800}.summary-pct-low{color:var(--dcoral)}
