:root{font:16px/1.5 ui-sans-serif,system-ui,sans-serif;color:#153449;background:#f7f5ef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:Georgia,serif;line-height:1.07}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d1844a;outline-offset:3px}.bar{height:75px;padding:0 max(22px,calc((100% - 1240px)/2));display:flex;align-items:center;justify-content:space-between;background:#173448;color:#fff}.logo{font:bold 1.35rem Georgia,serif;color:#ffe7b2}.bar nav{display:flex;gap:25px;font-weight:700;font-size:.9rem}.bar nav a:hover{text-decoration:underline}.hero{min-height:640px;background:radial-gradient(circle at 80% 40%,#487e86,#173448 58%);color:white;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:70px max(22px,calc((100% - 1240px)/2));gap:60px}.eyebrow{font-size:.77rem;font-weight:900;letter-spacing:.17em;color:#d2a559}.hero h1{font-size:clamp(3.6rem,6vw,6.8rem);letter-spacing:-.055em;margin:18px 0 25px}.hero h1 em{color:#ffd891;font-weight:400}.hero-copy>p:not(.eyebrow){max-width:520px;color:#d3e4e6;font-size:1.15rem;line-height:1.7}.cta{display:inline-block;background:#efc86f;color:#173448;font-weight:850;padding:15px 25px;border-radius:12px;margin-top:12px}.cta:hover{background:#ffe09c}.hero-copy .note{font-size:.86rem!important;color:#b7d1d2!important;margin-top:20px}.hero-art{min-height:400px;position:relative;display:flex;align-items:end;justify-content:center;gap:18px;padding:60px 0 35px}.glow{position:absolute;width:75%;height:45%;bottom:0;background:#d7a85f55;filter:blur(70px)}.sample-tube{z-index:1;width:84px;height:274px;border:6px solid #cbe9eaba;border-top:0;border-radius:0 0 42px 42px;padding:7px;display:flex;flex-direction:column-reverse;justify-content:flex-start;box-shadow:inset 0 0 18px #ffffff44,0 24px 45px #071a2a99;transform:rotate(-6deg)}.sample-tube:nth-of-type(3){transform:rotate(5deg) translateY(-24px)}.sample-tube:nth-of-type(4){transform:rotate(-3deg) translateY(16px)}.sample-tube.empty{transform:rotate(8deg)}.sample-tube i{height:24%;display:block;background:var(--c);border-radius:8px;margin:2px;box-shadow:inset 0 6px 9px #ffffff55}.play-section,.worlds{padding:85px max(22px,calc((100% - 1240px)/2))}.play-head,.section-head{margin-bottom:30px}.play-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.play-head h2,.section-head h2,.closing h2{font-size:clamp(2.6rem,4vw,4.5rem);margin:8px 0}.play-head p:last-child,.section-head p:last-child{color:#5d7080}.quiet{color:#256e79;font-weight:800}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:25px}.game-panel,.game-side{background:#fff;border:1px solid #d9e2dd;border-radius:24px;box-shadow:0 15px 40px #11354313}.game-panel{padding:25px;min-height:420px}#message{min-height:2.2em;text-align:center;font-weight:800;color:#286c66}.tubes{display:flex;flex-wrap:wrap;justify-content:center;align-items:end;gap:14px;min-height:315px;padding:10px}.tube{display:flex;flex-direction:column-reverse;align-items:stretch;width:clamp(52px,8vw,76px);height:235px;padding:5px 5px 11px;border:5px solid #b0c9cc;border-top:0;border-radius:0 0 27px 27px;background:linear-gradient(100deg,#e9f4f580,#fff,#d9eeef66);box-shadow:inset 4px 0 8px #fff,0 6px 12px #2a5c5b22;transition:transform .15s,border-color .15s}.tube:hover{transform:translateY(-5px)}.tube.selected{border-color:#e99b50;transform:translateY(-12px)}.ball{height:25%;border-radius:11px;margin:1px;background:var(--ball);display:grid;place-items:center;color:#132d3b;font-weight:900;font-size:1.45rem;text-shadow:0 1px #ffffff88;box-shadow:inset 0 5px 10px #ffffff88,inset 0 -7px 9px #00000022}.ball span{display:none}body.patterns .ball span{display:block}.controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.controls button,.level-picker button{border:1px solid #aac7c5;border-radius:10px;padding:10px 14px;background:#ecf5f2;color:#174950;font-weight:800}.controls button:hover,.level-picker button:hover{background:#d8ede7}#next{background:#1d686b;color:white;border-color:#1d686b}.game-side{padding:25px}.game-side h3{font-size:1.5rem}.toggle{display:flex;align-items:center;gap:10px;margin:18px 0;font-weight:650}.toggle input{width:20px;height:20px;accent-color:#247779}.level-picker{border-top:1px solid #e0e8e5;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px}.level-picker label{width:100%;font-weight:800}.level-picker input{width:85px;padding:10px;border:1px solid #adc8c6;border-radius:8px}.progress{margin-top:25px;padding:20px;background:#f2f8f4;border-radius:12px}.progress strong{display:block;font:700 2.4rem Georgia,serif}.progress span,.game-side>p{color:#59727b;font-size:.86rem}.worlds{background:#e9f0ed}.world-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.world-card{min-height:185px;background:#fff;border-radius:17px;padding:22px;border:1px solid #d7e1dc;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 9px 22px #1a42410d}.swatches{display:flex}.swatches i{display:block;width:28px;height:28px;border-radius:50%;border:2px solid white;margin-left:-5px;background:var(--swatch)}.world-card h3{font-size:1.35rem;margin:14px 0 2px}.world-card span{font-size:.82rem;color:#648083}.world-card a{color:#246d77;font-weight:850}.closing{text-align:center;padding:75px 20px 90px;background:#173448;color:white}.closing .cta{margin-top:18px}footer{display:flex;gap:25px;flex-wrap:wrap;padding:30px max(22px,calc((100% - 1240px)/2));background:#102b3c;color:#b8d1d0;font-size:.85rem}footer span{margin-right:auto}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-art{min-height:260px;padding:0 0 25px}.sample-tube{height:210px;width:68px}.game-layout{grid-template-columns:1fr}.world-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.bar{padding:0 14px}.bar nav{gap:10px;font-size:.75rem}.bar nav a:nth-child(2){display:none}.hero{padding:55px 20px}.hero h1{font-size:3.7rem}.play-section,.worlds{padding:55px 16px}.play-head{display:block}.game-panel{padding:14px}.tubes{gap:7px;padding:5px}.tube{width:45px;height:190px;border-width:4px;padding:3px}.ball{font-size:1.1rem}.world-grid{grid-template-columns:repeat(2,1fr)}footer span{margin-right:0}}
