:root{--bg-cream: #fff7ee;--bg-parent: linear-gradient(160deg, #fff7ee 0%, #fdeff4 45%, #eef4ff 100%);--ink: #3d3a50;--ink-soft: #6e6a85;--card: rgba(255, 255, 255, .72);--card-border: rgba(255, 255, 255, .9);--shadow-soft: 0 12px 40px rgba(93, 79, 138, .14);--accent: #7c6cf0;--accent-deep: #5f4fd8;--accent-warm: #ff9f5a;--play-bg-1: #35306b;--play-bg-2: #241f52;--play-bg-3: #171338;--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;--font-round: "Nunito", "Quicksand", ui-rounded, "SF Pro Rounded", "Trebuchet MS", system-ui, -apple-system, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overscroll-behavior:none}body{font-family:var(--font-round);color:var(--ink);background:var(--bg-cream);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font-family:inherit;border:none;cursor:pointer;background:none}.parent-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-parent);position:relative;overflow:hidden}.glass-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:40px 36px;width:100%;max-width:460px;position:relative;z-index:2}.settings-card{max-width:620px;max-height:calc(100dvh - 48px);overflow-y:auto}.logo-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}.logo-burst{font-size:30px;color:var(--accent-warm);animation:twinkle 2.4s ease-in-out infinite}.app-title{font-size:clamp(38px,8vw,52px);font-weight:900;letter-spacing:-1px;color:var(--ink);text-align:center}.app-title span{background:linear-gradient(90deg,#7c6cf0,#ff8fab,#ff9f5a);-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{text-align:center;color:var(--ink-soft);font-size:18px;font-weight:600;margin-bottom:32px}.btn-primary{display:block;width:100%;padding:18px 24px;border-radius:var(--radius-md);background:linear-gradient(135deg,#8f7bf7,#7c6cf0);color:#fff;font-size:20px;font-weight:800;box-shadow:0 10px 26px #7c6cf066;transition:transform .15s ease,box-shadow .15s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px #7c6cf07a}.btn-primary:active{transform:translateY(0)}.btn-secondary{display:block;width:100%;padding:14px 24px;border-radius:var(--radius-md);background:#7c6cf01a;color:var(--accent-deep);font-size:17px;font-weight:700;transition:background .15s ease}.btn-secondary:hover{background:#7c6cf02e}.btn-link{display:block;width:100%;margin-top:14px;padding:10px;color:var(--ink-soft);font-size:16px;font-weight:700;text-decoration:underline;text-decoration-color:#6e6a8559;text-underline-offset:4px}.btn-link:hover{color:var(--ink)}.safety-note{margin-top:24px;text-align:center;font-size:13px;color:var(--ink-soft)}.landing-deco{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.landing-deco span{position:absolute;font-size:34px;opacity:.5;animation:floaty 7s ease-in-out infinite}.landing-deco span:nth-child(1){left:8%;top:16%;animation-delay:0s}.landing-deco span:nth-child(2){right:10%;top:22%;animation-delay:1.2s;font-size:44px}.landing-deco span:nth-child(3){left:14%;bottom:18%;animation-delay:2.1s;font-size:40px}.landing-deco span:nth-child(4){right:14%;bottom:14%;animation-delay:3s}.landing-deco span:nth-child(5){left:48%;top:8%;animation-delay:1.8s;font-size:28px}@keyframes floaty{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-18px) rotate(4deg)}}@keyframes twinkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.7}}.settings-title{font-size:30px;font-weight:900;margin-bottom:22px;text-align:center}.settings-card section{margin-bottom:22px}.settings-card h3{font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:10px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px;border-radius:14px;background:#7c6cf014;color:var(--ink);font-size:15px;font-weight:700;border:2px solid transparent;transition:all .15s ease}.chip small{font-size:12px;font-weight:600;color:var(--ink-soft)}.chip:hover{background:#7c6cf026}.chip-active{background:#7c6cf029;border-color:var(--accent);color:var(--accent-deep)}.chip-active small{color:var(--accent-deep)}.chip-disabled{opacity:.5;cursor:default}.row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.slider-label{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;color:var(--ink-soft);flex:1;min-width:200px}input[type=range]{flex:1;accent-color:var(--accent);height:6px}.info-text{font-size:14px;line-height:1.55;color:var(--ink-soft);margin-bottom:8px}.edu-note{font-size:14px;line-height:1.55;color:var(--accent-deep);background:#7c6cf014;border-radius:var(--radius-md);padding:14px 16px;margin-bottom:22px}.settings-actions{display:flex;flex-direction:column;gap:10px}.playground{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer;background:radial-gradient(130% 130% at 25% 12%,var(--play-bg-1) 0%,var(--play-bg-2) 48%,var(--play-bg-3) 100%)}.playground-calm{background:radial-gradient(130% 130% at 25% 12%,#2e3a55,#232c47 48%,#1a2138)}.playground-party{background:radial-gradient(130% 130% at 25% 12%,#4a2b78,#322060 48%,#1c1440)}.playground-bg{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;pointer-events:none;background:radial-gradient(38% 38% at 22% 30%,rgba(143,123,247,.24) 0%,transparent 70%),radial-gradient(32% 32% at 76% 62%,rgba(255,143,171,.16) 0%,transparent 70%),radial-gradient(26% 26% at 58% 18%,rgba(120,200,255,.14) 0%,transparent 70%);animation:drift 26s ease-in-out infinite alternate}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(4%,5%) scale(1.08)}}.trail-canvas,.particle-canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.trail-canvas{z-index:1}.particle-canvas{z-index:2}.reaction-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;overflow:hidden}.reaction-item{position:absolute;transform:translate(-50%,-50%)}.reaction-inner{display:flex;flex-direction:column;align-items:center;gap:4px}.big-glyph{font-size:clamp(90px,18vmin,170px);font-weight:900;line-height:1}.mini-caption{font-size:clamp(18px,3.4vmin,26px);font-weight:800;color:#ffffffe0;text-shadow:0 2px 14px rgba(0,0,0,.35);display:flex;align-items:center;gap:8px}.mini-emoji{font-size:clamp(24px,4.4vmin,34px)}.count-row{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:240px}.count-emoji{font-size:clamp(22px,4.4vmin,32px)}.shape-glyph{font-size:clamp(80px,16vmin,140px);line-height:1}.word-pop{display:flex;flex-direction:column;align-items:center;gap:8px}.word-emoji{font-size:clamp(56px,11vmin,90px);line-height:1}.word-text{font-size:clamp(34px,7vmin,58px);font-weight:900;text-shadow:0 3px 20px rgba(0,0,0,.3)}.colour-blob{width:clamp(64px,13vmin,100px);height:clamp(64px,13vmin,100px);border-radius:50%;border:4px solid rgba(255,255,255,.6)}.exit-armed-hint{position:absolute;top:20px;right:20px;width:16px;height:16px;border-radius:50%;background:#ffffffbf;z-index:6;animation:pulse .9s ease-in-out infinite;pointer-events:none}@keyframes pulse{0%,to{transform:scale(1);opacity:.75}50%{transform:scale(1.5);opacity:.35}}.recovery-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#171338db;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;animation:fadeIn .35s ease .25s both}.recovery-card{text-align:center;color:#fff}.recovery-emoji{font-size:64px;display:block;margin-bottom:14px;animation:floaty 4s ease-in-out infinite}.recovery-card h2{font-size:clamp(30px,6vw,44px);font-weight:900;margin-bottom:10px}.recovery-card p{font-size:20px;font-weight:700;opacity:.8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.landing-deco span,.playground-bg,.logo-burst,.recovery-emoji{animation:none}}
