:root{--bg: #f4f7ff;--ink: #111827;--muted: #54627a;--surface: rgba(255, 255, 255, .72);--surface-strong: rgba(255, 255, 255, .9);--line: rgba(87, 108, 143, .2);--accent: #ff5b2e;--accent-2: #009a7a;--accent-3: #1f6bff;--shadow: 0 14px 45px rgba(27, 44, 87, .18)}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Sora,Avenir Next,Segoe UI,sans-serif;background:radial-gradient(900px 500px at -10% -5%,#ffd8c2 0%,transparent 65%),radial-gradient(860px 500px at 105% -10%,#c6ffef 0%,transparent 60%),radial-gradient(1000px 600px at 40% 120%,#d4e2ff 0%,transparent 65%),linear-gradient(145deg,#f8fbff,#eff4ff 52%,#f8f6ff);min-height:100vh}.wrap{max-width:900px;margin:0 auto;padding:34px 20px 40px}.hero{position:relative;overflow:hidden;border-radius:26px;border:1px solid var(--line);background:radial-gradient(220px 180px at 92% 12%,#1f6bff1f,#1f6bff00),linear-gradient(155deg,#ffffffeb,#fff9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);padding:26px 24px 22px;margin-bottom:16px;animation:float-in .42s cubic-bezier(.2,.7,.2,1)}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;color:var(--accent-3)}h1{margin:0;font-size:clamp(40px,8vw,72px);line-height:.92;letter-spacing:-.045em}.tagline{margin:10px 0 0;color:var(--muted);font-size:clamp(15px,2.4vw,20px);font-weight:600}.panel{border-radius:24px;border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);padding:18px;display:grid;gap:14px}.flow-section{border:1px solid var(--line);background:var(--surface-strong);border-radius:14px;padding:12px}.section-step{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--accent-3);font-weight:700}.section-title{margin:2px 0 6px;font-size:15px;font-weight:700;color:#1a263a}.helper{margin:0 0 8px;font-size:13px;color:var(--muted)}.instructions{margin:0;padding-left:18px;display:grid;gap:6px;color:#304157;font-size:13px}.controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}button{border:0;border-radius:999px;padding:10px 14px;font:inherit;font-weight:700;color:#fff;background:linear-gradient(135deg,#ff7a3f,var(--accent));cursor:pointer;box-shadow:0 8px 20px #ff5b2e47;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}button:hover{transform:translateY(-1px);filter:brightness(1.03)}button:active{transform:translateY(0)}button.alt{background:linear-gradient(135deg,#00b792,var(--accent-2));box-shadow:0 8px 20px #009a7a40}input{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 12px;font:inherit;color:var(--ink);background:var(--surface-strong);outline:none}input:focus{border-color:#1f6bff6b;box-shadow:0 0 0 4px #1f6bff1f}.stage{min-height:126px;border-radius:16px;border:1px dashed rgba(87,108,143,.38);background:var(--surface-strong);padding:14px;white-space:pre-wrap;font-size:15px;line-height:1.45}.tabs{margin-top:2px}button.tab{background:linear-gradient(135deg,#5f6d84,#3e4859);box-shadow:none;text-transform:none}button.tab.active{background:linear-gradient(135deg,#27344a,#151f2f);box-shadow:0 8px 20px #19233659}.stack{display:grid;gap:8px;margin-top:4px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.chips button{background:linear-gradient(135deg,#38445a,#232d3f);box-shadow:0 7px 18px #232d3f59}.bingo{margin-top:8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.tile{border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);color:var(--ink);box-shadow:none;min-height:66px;padding:6px;font-size:12px;line-height:1.15}.tile.marked{background:linear-gradient(135deg,#0ea983,#0b7d63);color:#fff;border-color:#0b7d63}.status{margin:0;color:var(--muted);font-size:13px;font-weight:600}@keyframes float-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 760px){.wrap{padding:14px 10px 24px}.hero{border-radius:20px;padding:18px 14px}.panel{border-radius:18px;padding:12px}.flow-section{padding:10px}.stage{min-height:108px;font-size:14px}.tile{min-height:58px;font-size:10px}}
