:root{--ink:#151c50;--purple:#7929ef;--purple-dark:#5719b6;--lavender:#ede5ff;--mint:#b9f8d9;--gold:#ffd356;--muted:#65708a;--line:#e4e2ef;--white:#fff;font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif;color:var(--ink);background:#f1edff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 0%,#fafffc 0,transparent 45%),radial-gradient(ellipse at 95% 100%,#d7f6ec 0,transparent 38%);min-height:100vh;padding:28px 22px}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #3d50c8;outline-offset:4px}[hidden]{display:none!important}.shell{max-width:1160px;margin:auto;background:rgba(255,255,255,.95);border:1px solid #fff;border-radius:28px;box-shadow:0 14px 55px #372d7112;overflow:hidden;min-height:calc(100vh - 56px);display:flex;flex-direction:column}.header{padding:24px 38px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,#fff,#f8f5ff)}.brand{text-decoration:none;font-weight:950;font-size:25px;letter-spacing:-1px;display:flex;gap:10px;align-items:center}.pill{font-size:15px;font-weight:800;border-radius:100px;padding:9px 17px;white-space:nowrap}.mint{background:var(--mint)}.lavender{background:var(--lavender)}.yellow{background:#fff0bc}main{flex:1;padding:38px}.welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:850;color:var(--purple)}h1{font-size:clamp(34px,4.2vw,53px);line-height:1.12;letter-spacing:-1.7px;margin:18px 0 20px;font-weight:950}.underlined{text-decoration:underline;text-decoration-color:var(--mint);text-decoration-thickness:7px;text-underline-offset:9px}.lede{font-size:19px;line-height:1.6;margin:0 0 20px}.globe-scene{height:210px;position:relative;display:flex;justify-content:center;align-items:center}.globe-scene>img{width:165px;transform:rotate(-12deg);filter:drop-shadow(0 14px 8px #38406a16)}.spark{position:absolute;color:#f6bf30;font-size:40px}.s1{left:18%;top:15%}.s2{right:12%;bottom:18%;font-size:29px}.travel-label{position:absolute;bottom:0;font-size:12px;transform:rotate(-4deg);background:#fff1bf;border-radius:20px;padding:8px 16px}.intro-note{font-size:13px;font-weight:800;text-align:center;margin:22px 0 0}.setup-card{border:1px solid var(--line);box-shadow:0 10px 24px #171b5005;border-radius:24px;padding:25px}.name-box{background:#fff4cf;border-radius:16px;padding:17px;margin-bottom:24px}label[for=player-name]{display:block;font-size:19px;font-weight:850;margin-bottom:12px}label[for=player-name] span{color:#db9600;float:right}input[type=text]{width:100%;padding:13px 15px;border:2px solid #d5c5f6;border-radius:11px;background:white;color:var(--ink);min-width:0}#player-name{font-weight:750;font-size:19px}#name-help{font-size:12px;line-height:1.6;margin:8px 0 0}fieldset{padding:0;margin:0 0 23px;border:0;min-width:0}legend{font-size:15px;font-weight:850;margin-bottom:10px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice-row.thirds{grid-template-columns:repeat(3,1fr)}.choice{position:relative}.choice input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer;margin:0}.choice span{display:block;padding:12px 8px;border:2px solid transparent;border-radius:13px;background:var(--lavender);text-align:center;font-weight:800;font-size:14px}.choice input:checked+span{background:var(--mint);border-color:var(--purple)}.choice input:checked+span:before{content:'✓ ';font-weight:900}.choice input:focus-visible+span{outline:3px solid #3d50c8;outline-offset:3px}.help{font-size:12px;line-height:1.5;color:var(--muted);margin:9px 0 0}.button{border:0;border-radius:13px;padding:14px 20px;font-size:15px;font-weight:800;display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;transition:transform .15s,background .15s}.button:not(:disabled):hover{transform:translateY(-2px)}.primary{background:linear-gradient(110deg,#913af6,#6d15e8);color:white;box-shadow:0 5px 10px #7929ef20}.primary:disabled{background:#e6def3;color:#716782;box-shadow:none}.secondary{background:#f6f2ff;border:1px solid #d3c0f5;color:var(--purple-dark)}#start-button,#resume-button{width:100%}#start-button{font-size:18px}#resume-button{margin-top:10px}.rules{margin-top:18px;font-size:13px}.rules summary{cursor:pointer;font-weight:800}.rules p{line-height:1.7;color:var(--muted)}.small{font-size:12px;line-height:1.5;color:var(--muted)}#storage-note{margin-bottom:0}footer{padding:20px 38px;background:linear-gradient(100deg,#d8fae9,#edfff7);display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:750}.footer-note{font-weight:400;color:#4b6962}.status-bar{display:flex;align-items:center;gap:18px;margin-bottom:35px}progress{flex:1;appearance:none;height:10px;border:0;border-radius:10px;background:var(--lavender);min-width:30px}progress::-webkit-progress-bar{background:var(--lavender);border-radius:10px}progress::-webkit-progress-value{background:#934bf3;border-radius:10px}progress::-moz-progress-bar{background:#934bf3;border-radius:10px}.game-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px;align-items:center;min-height:450px}.flag-panel{text-align:center;background:#faf8ff;border-radius:24px;padding:30px 20px}.flag-frame{height:228px;display:flex;align-items:center;justify-content:center;margin:22px 0}.flag-frame img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 4px 18px #22264d1c;border:1px solid #deddea}.continent{min-height:22px;font-size:14px;font-weight:750;color:var(--purple-dark)}.streak{min-height:20px;font-size:12px;color:var(--muted)}.guess-panel{text-align:center;min-width:0}.guess-panel h1{font-size:29px;letter-spacing:-.8px;margin:0 0 12px}.stars{display:flex;justify-content:center;gap:6px;height:40px}.star{font-size:33px;line-height:1;color:#f8c238;-webkit-text-stroke:1px #d8a217}.star.dim{color:#e5def1;-webkit-text-stroke:1px #c5bbd6}.remaining{font-size:12px;color:var(--muted);margin:3px 0 20px}.word{display:flex;justify-content:center;flex-wrap:wrap;gap:13px 20px}.word-group{display:flex;gap:4px;justify-content:center}.tile{width:30px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:#f8f5fe;border:1px solid #c8b0ee;border-bottom:3px solid #9667de;border-radius:7px;font-size:21px;font-weight:850}.tile.revealed{background:#c7f7df;border-color:#7cccaa}.tile.missed{background:#ffede9;color:#a43e31;border-color:#e6aba0}.feedback{min-height:39px;margin:12px 0 8px;line-height:1.45;font-size:13px;font-weight:750;display:flex;justify-content:center;align-items:center}.feedback.win{color:#16774e}.feedback.loss{color:#a43e31}.keyboard-row{display:flex;gap:4px;justify-content:center;margin-bottom:5px}.key{border:1px solid #e0d5f3;color:var(--ink);background:#ede5fb;border-radius:8px;min-width:0;width:38px;height:42px;font-size:16px;font-weight:850;box-shadow:0 2px 0 #d9c9f0}.key:not(:disabled):hover{background:#dac5fa}.key.correct{background:var(--mint);border-color:#7bccaa;color:#174a3a}.key.wrong{background:#e6e5e9;color:#6d6c74;border-color:#d3d2da;box-shadow:none}.key:disabled:not(.correct):not(.wrong){opacity:.55}.solve-form{display:flex;gap:7px;margin:16px 0}.solve-form input{font-size:13px;padding:10px}.small-button{padding:10px 15px;min-height:43px}.round-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.round-actions .button{font-size:13px;min-height:44px;padding:11px 17px}.round-actions small{font-size:11px;font-weight:400}.game-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:30px;gap:12px}.text-button{border:0;background:none;color:var(--purple-dark);padding:10px 0;font-size:13px;font-weight:800}.results{text-align:center;padding:15px 0 35px}.trophy{font-size:76px;color:#f7c542;margin-bottom:10px}.results .eyebrow{display:block}.results h1{font-size:42px}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:620px;margin:30px auto;gap:15px}.results-grid>div{background:#f5f0ff;border:1px solid #e7dcfa;padding:24px 10px;border-radius:18px}.results-grid strong{display:block;font-size:32px;color:var(--purple)}.results-grid span{font-size:12px}.best{font-size:13px;margin:25px 0}.results>.button{min-width:260px}.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}@media(min-width:1000px){.word-group:has(.tile:nth-child(11)) .tile{width:27px;font-size:19px}}@media(max-width:850px){body{padding:15px}.header{padding:20px 24px}main{padding:28px}.welcome-grid{gap:24px}.globe-scene{height:170px}.globe-scene>img{width:135px}.setup-card{padding:20px}.game-layout{gap:24px}.flag-frame{height:170px}.tile{width:25px;height:36px;font-size:18px}.key{height:40px;font-size:14px}.guess-panel h1{font-size:25px}footer{padding:20px 24px}}@media(max-width:680px){body{padding:0;background:#fff}.shell{border-radius:0;border:0;min-height:100vh}.header{padding:17px 18px}.brand{font-size:21px}.brand img{width:33px;height:33px}.header .pill{font-size:12px;padding:8px 11px;max-width:45%;overflow:hidden;text-overflow:ellipsis}main{padding:25px 18px}.welcome-grid{grid-template-columns:1fr;gap:23px}.intro{text-align:center}.intro .eyebrow{font-size:10px}h1{font-size:39px;margin:15px 0 19px}.lede{font-size:16px;margin:0}.globe-scene{display:none}.intro-note{margin:18px 0 0;font-size:12px}.setup-card{padding:19px}.name-box{padding:15px}.name-box label{font-size:17px}.game-layout{grid-template-columns:1fr;gap:22px;min-height:0}.flag-panel{padding:18px}.flag-frame{height:148px;margin:13px 0}.continent{margin:8px 0 4px;font-size:12px;min-height:16px}.streak{min-height:14px}.status-bar{gap:10px;margin-bottom:22px}.status-bar .pill{font-size:12px;padding:8px 10px}.guess-panel h1{font-size:25px}.tile{width:clamp(20px,6.2vw,32px);height:38px}.word-group{gap:3px}.remaining{margin-bottom:16px}.key{max-width:38px;width:9%;height:43px;font-size:15px}.keyboard-row{gap:4px}.feedback{min-height:32px;margin:10px 0}.game-bottom .small{font-size:10px}.game-bottom{margin-top:22px}.results-grid{gap:8px}.results-grid>div{padding:20px 6px}.results-grid strong{font-size:27px}.results h1{font-size:34px}footer{flex-direction:column;align-items:center;text-align:center;padding:18px;font-size:11px;gap:6px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* ECS Games hub and additional categories */
#welcome>h1{font-size:45px;margin:12px 0 14px}#welcome>.lede{margin-bottom:25px}.category-field{margin-bottom:25px}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.category-card{position:relative;display:block;min-width:0}.category-card input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.category-card>span{display:flex;flex-direction:column;padding:21px;border-radius:19px;border:2px solid var(--line);background:#faf8ff;gap:8px;transition:border-color .15s,background .15s}.category-card input:checked+span{border-color:var(--purple);background:#f1eaff}.category-card input:focus-visible+span{outline:3px solid #3d50c8;outline-offset:3px}.category-icon{font-size:30px}.category-card strong{font-size:20px}.category-card small{font-size:12px;color:var(--muted)}.category-card em{font-size:11px;font-style:normal;color:var(--purple-dark);margin-top:6px;font-weight:800}.hub-setup{display:grid;grid-template-columns:1fr 1.3fr;gap:28px}.hub-setup>.name-box{margin:0}.setup-options fieldset{margin-bottom:18px}.setup-options #start-button{width:100%;min-height:50px}.setup-options #resume-button{width:100%;margin-top:10px}.number-top{display:flex;justify-content:space-between;gap:15px}.number-game{max-width:630px;margin:24px auto 10px;text-align:center}.number-symbol{font-size:55px;font-weight:900;background:var(--lavender);border-radius:24px;width:90px;height:90px;margin:0 auto 22px;display:grid;place-items:center;color:var(--purple);transform:rotate(-7deg)}.number-game h1{font-size:38px;letter-spacing:-1px;margin:12px 0}.number-game .lede{font-size:16px}.number-range{display:flex;align-items:center;gap:15px;margin:25px 0 8px;font-size:18px;font-weight:850}.number-track{height:14px;background:var(--lavender);position:relative;flex:1;border-radius:14px;overflow:hidden}#number-range-fill{position:absolute;height:100%;background:var(--purple);border-radius:14px;min-width:3px}.range-label{font-size:14px;font-weight:800;margin-bottom:20px}.number-form{display:flex;gap:10px;max-width:470px;margin:0 auto}.number-form input{width:42%;text-align:center;border:2px solid #c7b0eb;border-radius:13px;font:inherit;font-size:23px;color:var(--ink);padding:12px;min-width:0}.number-form button{flex:1}.number-feedback{font-size:17px;font-weight:800;line-height:1.6;min-height:55px;margin:20px 0 12px}.number-history{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;min-height:44px;margin-bottom:10px}.guess-chip{padding:9px 12px;background:#f0e8ff;border-radius:10px;font-size:13px;font-weight:800}.guess-chip.low{background:#e7f3ff;color:#24527a}.guess-chip.high{background:#fff0d8;color:#80571b}.guess-chip.correct{background:var(--mint);color:#155e43}.clue-card{text-align:left;background:#fff4d2;padding:16px;border-radius:14px;margin-top:15px}.clue-card h2{font-size:14px;margin:0 0 9px}.clue-card ul{padding-left:19px;margin:0}.clue-card li{font-size:13px;line-height:1.6;margin:6px 0}.clue-card li:last-child{margin-bottom:0}#animal-image{width:230px;height:230px;max-width:100%;display:flex;align-items:center;justify-content:center;border-radius:15px;overflow:hidden;background:#e0f7eb;box-shadow:0 4px 15px #151c5015}#animal-image svg{display:block;width:100%;height:100%}#animal-image img{display:block;width:100%;height:100%;object-fit:contain;border:0;box-shadow:none}.image-credit{font-size:10px;color:var(--muted);line-height:1.4;margin-bottom:0}.animal-round .flag-frame{height:230px;margin:17px 0}.animal-round .flag-panel{padding:24px 18px}.animal-round .continent{display:none}.animal-round .word{gap:10px}.animal-round .tile{width:25px;font-size:17px}.animal-round .word-group{gap:3px}.credits-page{max-width:850px;margin:auto;line-height:1.7}.credits-page h1{font-size:34px}.credits-page h2{font-size:21px;margin-top:30px}footer a{font-weight:400;color:#4b6962}.win{color:#16774e}.loss{color:#a43e31}@media(max-width:680px){#welcome>h1{font-size:35px}.categories{grid-template-columns:1fr;gap:9px}.category-card>span{padding:15px 17px;display:grid;grid-template-columns:36px 1fr;gap:4px 12px}.category-icon{grid-row:1/4;align-self:center;font-size:27px}.category-card strong{font-size:17px}.category-card em{margin:2px 0 0}.hub-setup{grid-template-columns:1fr;gap:22px}.category-card small{font-size:11px}.animal-round .flag-frame{height:210px}.animal-round #animal-image{height:210px;width:210px}.animal-round .tile{width:clamp(17px,5.25vw,27px);font-size:16px;height:36px}.animal-round .word-group{gap:2px}.animal-round .word{gap:9px 12px}.number-game h1{font-size:31px}.number-form{gap:8px}.number-form button{font-size:13px;padding:13px 10px}.number-top .pill{font-size:12px}.number-form input{font-size:20px}.number-feedback{font-size:15px}.clue-card{margin-top:10px;padding:13px}.number-symbol{margin-top:12px}}
