:root{color-scheme:light dark;font-family:Avenir Next,Helvetica Neue,sans-serif;--tg-bg-color: #fbf6ef;--tg-text-color: #1d1b18;--tg-hint-color: #7f6d5c;--tg-secondary-bg-color: #fffaf4;--tg-button-color: #d95d39;--tg-button-text-color: #fff7f2;--surface: rgba(255, 250, 244, .9);--surface-strong: rgba(255, 255, 255, .94);--surface-muted: rgba(245, 237, 228, .9);--border: rgba(74, 55, 37, .12);--accent: var(--tg-button-color);--accent-strong: #a63b1b;--text-main: var(--tg-text-color);--text-muted: #4e4137;--success: #1e8f5a;--error: #c3473a;--shadow: 0 16px 32px rgba(61, 44, 29, .12);background:radial-gradient(circle at top,rgba(244,194,146,.32),transparent 32%),linear-gradient(180deg,#fbf6ef,#f1e7da)}:root[data-theme=dark]{--tg-bg-color: #181412;--tg-text-color: #f4ede6;--tg-hint-color: #b8a797;--tg-secondary-bg-color: #201a17;--surface: rgba(31, 26, 22, .94);--surface-strong: rgba(42, 35, 30, .98);--surface-muted: rgba(49, 40, 34, .92);--border: rgba(255, 255, 255, .08);--accent-strong: #ff8f66;--text-main: var(--tg-text-color);--text-muted: #dccbbb;--shadow: 0 20px 40px rgba(0, 0, 0, .24);background:radial-gradient(circle at top,rgba(174,100,62,.22),transparent 32%),linear-gradient(180deg,#181412,#211915)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;color:var(--text-main);background:transparent}a{color:inherit;text-decoration:none}button{font:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 88px)}.app-content.is-run{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px)}.screen{display:grid;gap:16px;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px 24px}.state-screen{min-height:100vh;align-content:center}.hero-card,.panel,.question-card,.choice-card{border:1px solid var(--border);border-radius:24px;background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px;box-shadow:var(--shadow)}.choice-card{display:grid;gap:8px;text-align:left;color:var(--text-main)}.choice-card span,.body-copy,.level-item p,.stats-list dt,.inline-notice p{margin:0;line-height:1.5;color:var(--text-muted)}.choice-card.is-selected,.is-active-panel{border-color:#d95d396b;box-shadow:0 18px 36px #d95d3929}.eyebrow,.metric-label,.panel-header span{margin:0;color:var(--tg-hint-color);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.hero-card h1,.question-card h1,.panel h2{margin:8px 0 0}.panel-header,.run-header,.button-row,.stack{display:flex;gap:12px}.run-screen{gap:14px}.run-hero{gap:18px}.run-hero__top,.question-card__meta{display:flex;justify-content:space-between;gap:12px}.run-hero__top{align-items:flex-start}.run-hero__action{min-width:132px}.panel-header{justify-content:space-between;align-items:baseline}.run-header{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{border-radius:18px;background:var(--surface-strong);padding:16px;text-align:center}.metric-card strong,.run-header strong{display:block;margin-top:8px;font-size:1.2rem}.metric-card--hearts strong{margin-top:10px}.heart-meter{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px}.heart-meter__pip{display:block;height:12px;border-radius:999px;background:#7f6d5c29}.heart-meter__pip.is-active{background:linear-gradient(180deg,#ff9072,#d95d39)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.level-list,.feature-list,.chip-list{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:16px 0 0;list-style:none}.chip{padding:8px 12px;border-radius:999px;background:#d95d391f;color:var(--accent-strong)}.primary-button,.secondary-button,.answer-button,.bottom-nav__item,.board-cell,.tray-slot{display:inline-flex;justify-content:center;align-items:center;min-height:52px;border:0;border-radius:18px;padding:0 18px;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease}.primary-button,.answer-button{background:var(--accent);color:var(--tg-button-text-color)}.secondary-button{background:#d95d391f;color:var(--accent-strong)}.answer-button{justify-content:flex-start;padding:14px 16px;text-align:left;gap:12px}.answer-button.is-selected,.tray-slot.is-selected{transform:translateY(-1px);box-shadow:0 10px 24px #d95d392e}.answer-button__prefix,.question-card__direction{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;min-width:32px;min-height:32px;padding:0 10px;background:#ffffff2e;font-size:.85rem}.question-card__prompt{margin-bottom:10px}.panel-copy{margin:8px 0 0}.answer-grid{display:grid;gap:12px;margin-top:16px}.board-grid{display:grid;gap:6px;margin-top:16px}.board-cell{aspect-ratio:1;width:100%;padding:0;background:var(--surface-strong);border:1px solid transparent;color:var(--accent-strong)}.board-cell.is-filled{background:linear-gradient(180deg,#d95d39eb,#a63b1bf2)}.board-cell.is-legal-origin{border-color:#d95d39b3;background:#d95d391f}.board-cell__dot{width:12px;height:12px;border-radius:999px;background:currentColor}.board-cell:disabled{opacity:1}.tray-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.tray-slot{min-height:96px;padding:12px;background:var(--surface-strong);color:var(--text-main);flex-direction:column;gap:10px}.tray-slot__label{font-size:.78rem;color:var(--tg-hint-color)}.tray-slot__empty{color:var(--tg-hint-color)}.piece-preview{display:grid;gap:4px;width:100%;max-width:72px}.piece-preview__cell{aspect-ratio:1;border-radius:8px;background:#7f6d5c29}.piece-preview__cell.is-filled{background:linear-gradient(180deg,#d95d39eb,#a63b1bf2)}.inline-notice{border-radius:20px;padding:14px 16px;border:1px solid var(--border);background:var(--surface-strong)}.inline-notice strong,.inline-notice p{display:block}.inline-notice p{margin-top:6px}.inline-notice.is-success{border-color:#1e8f5a3d}.inline-notice.is-error{border-color:#c3473a42}.stats-list{display:grid;gap:14px;margin:0}.stats-list div{display:flex;justify-content:space-between;gap:12px}.stats-list dt,.stats-list dd{margin:0}.stack{flex-direction:column;margin-top:16px}.button-row{flex-wrap:wrap}.bottom-nav{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 12px calc(env(safe-area-inset-bottom,0px) + 12px);background:linear-gradient(180deg,#fbf6ef00,#fbf6efeb 36%,#fbf6effa);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}:root[data-theme=dark] .bottom-nav{background:linear-gradient(180deg,#18141200,#181412f0 36%,#181412fa)}.bottom-nav__item{min-height:48px;background:var(--surface-muted);color:var(--text-main)}.bottom-nav__item.is-active{background:#d95d3929;color:var(--accent-strong)}@media(min-width:768px){.app-shell{max-width:480px;margin:0 auto}}@media(max-width:420px){.run-hero__top,.question-card__meta{flex-direction:column}.run-header{grid-template-columns:repeat(2,minmax(0,1fr))}}.run-screen{position:relative;min-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:calc(env(safe-area-inset-top,0px) + 14px) 14px calc(env(safe-area-inset-bottom,0px) + 18px);gap:14px;overflow:hidden;background:radial-gradient(circle at 12% 0%,rgba(255,255,255,.28),transparent 28%),radial-gradient(circle at 88% 12%,rgba(255,120,202,.34),transparent 22%),radial-gradient(circle at 50% 100%,rgba(94,206,255,.24),transparent 30%),linear-gradient(150deg,#6155f6,#7a49ee 24%,#bc4ecf 58%,#ff6598)}.run-screen:before,.run-screen:after{content:"";position:absolute;border-radius:999px;filter:blur(4px);opacity:.55;pointer-events:none}.run-screen:before{inset:88px auto auto -78px;width:200px;height:200px;background:#ffffff1a}.run-screen:after{inset:auto -96px 140px auto;width:220px;height:220px;background:#53ebff24}.run-screen>*{position:relative;z-index:1}.run-header-panel,.run-inline-card,.run-question-card,.run-tray-shell{border-radius:28px;border:1px solid rgba(255,255,255,.24);box-shadow:0 26px 48px #2d136638}.run-header-panel{padding:14px;background:#ffffff29;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.run-header-panel__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 56px;gap:10px}.run-header-panel__row--bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr);margin-top:10px}.run-hud-card,.run-header-chip{min-height:56px;padding:12px 14px;border-radius:20px;background:#ffffff29;color:#fff}.run-hud-card strong,.run-header-chip strong{display:block;margin-top:6px;font-size:1.2rem}.run-hud-card--accent{background:linear-gradient(135deg,#ffbd6142,#ff7aa947)}.run-hud-card--accent.is-live{box-shadow:0 0 0 1px #ffe47a57 inset}.run-hud-card__label,.run-header-chip__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#ffffffc7}.run-menu-button{min-height:56px;border:0;border-radius:20px;background:#ffffff29;display:grid;place-items:center;gap:3px;padding:0}.run-menu-button span{width:18px;height:2px;border-radius:999px;background:#fff;display:block}.run-hearts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:center;padding:10px 12px;border-radius:20px;background:#ffffff24}.run-heart{display:block;height:16px;border-radius:999px;background:#fff3}.run-heart.is-active{background:linear-gradient(180deg,#ffb6a5,#ff6e91);box-shadow:0 4px 12px #ff699157}.run-inline-card{padding:14px 16px;background:#fffffff0;color:#1d2140}.run-inline-card strong,.run-inline-card p{display:block;margin:0}.run-inline-card p{margin-top:6px;line-height:1.45;color:#1d2140b8}.run-inline-card--success{box-shadow:0 18px 36px #2cbc7f2e}.run-inline-card--error{box-shadow:0 18px 36px #d6416d2e}.run-inline-card--info{box-shadow:0 18px 36px #4e66ed24}.run-question-card{padding:18px;background:#fffffffa;color:#21243f}.run-question-card h1{margin:12px 0 0;font-size:clamp(1.5rem,5vw,2rem);line-height:1.1}.run-question-card__meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.run-question-card__direction,.run-question-card__type{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;font-size:.78rem;color:#21243fad;background:#6c5ff414}.run-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.run-answer-button{min-height:64px;border:1px solid rgba(108,95,244,.12);border-radius:20px;background:linear-gradient(180deg,#f9fafff5,#eff1fff5);color:#25284a;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;font-weight:600}.run-answer-button.is-selected{transform:translateY(-1px);border-color:#6661f55c;box-shadow:0 14px 24px #6953e924}.run-answer-button__badge{flex:0 0 32px;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:999px;background:linear-gradient(180deg,#7067ff29,#ff6da833);color:#5f56dd}.run-question-card__hint{margin:14px 0 0;font-size:.92rem;line-height:1.45;color:#21243fb8}.run-playfield{display:grid;gap:14px}.run-board-shell{position:relative;padding:12px;border-radius:30px;background:linear-gradient(180deg,#fff3,#ffffff0f),linear-gradient(165deg,#2c2280db,#3e1c87e6);border:1px solid rgba(255,255,255,.26);box-shadow:inset 0 1px #fff3,0 28px 54px #240b6857;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.run-board-shell.is-valid-drop{transform:scale(1.01);box-shadow:inset 0 1px #ffffff38,0 30px 58px #20b28742}.run-board-shell.is-invalid-drop{border-color:#ffa8c36b;box-shadow:inset 0 1px #ffffff2e,0 30px 58px #d44f7e38}.run-board-grid{display:grid;gap:5px}.run-board-cell{aspect-ratio:1;border-radius:14px;background:#ffffff14;position:relative;overflow:hidden}.run-board-cell__inner{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1px solid rgba(255,255,255,.1)}.run-board-cell.is-filled{background:linear-gradient(180deg,#84c9ffeb,#597effeb);box-shadow:inset 0 1px #ffffff5c,inset 0 -8px 16px #2942c44d}.run-board-cell.is-preview-valid{background:linear-gradient(180deg,#93ffd1f0,#42d7aaf5);box-shadow:inset 0 1px #ffffff61,0 0 0 2px #b6ffe433}.run-board-cell.is-preview-invalid{background:linear-gradient(180deg,#ffb5d3e6,#ff6c9be6);box-shadow:0 0 0 2px #ffc1d829}.run-tray-shell{padding:14px;background:#fffffff0}.run-tray-shell__copy strong,.run-tray-shell__copy p{display:block;margin:0}.run-tray-shell__copy p{margin-top:6px;color:#1d2140b3;line-height:1.45}.run-tray-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.run-tray-slot{min-height:120px;border:0;padding:12px 10px;border-radius:24px;background:linear-gradient(180deg,#fff,#f2f4fffa);box-shadow:inset 0 1px #ffffffb8,inset 0 -10px 18px #a0a9ee1f,0 14px 28px #565ba41f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#23274c;touch-action:none}.run-tray-slot.is-draggable{cursor:grab}.run-tray-slot.is-draggable:active{cursor:grabbing}.run-tray-slot.is-dragging{opacity:.42;transform:scale(.96)}.run-tray-slot__label{font-size:.76rem;color:#23274c9e}.run-tray-slot__empty{font-size:.84rem;color:#23274c70}.run-piece-shape{display:grid;gap:4px;justify-content:center}.run-piece-shape.is-faded{opacity:.22}.run-piece-shape__cell{border-radius:8px;background:transparent}.run-piece-shape__cell.is-filled{box-shadow:inset 0 1px #ffffff73,inset 0 -6px 12px #18183b29,0 4px 10px #3a2e7824}.run-piece-shape--sun .run-piece-shape__cell.is-filled{background:linear-gradient(180deg,#ffe184,#ffb74a)}.run-piece-shape--berry .run-piece-shape__cell.is-filled{background:linear-gradient(180deg,#ff9ccc,#ff5f9d)}.run-piece-shape--cyan .run-piece-shape__cell.is-filled{background:linear-gradient(180deg,#89f3ff,#43b8ff)}.run-piece-shape--violet .run-piece-shape__cell.is-filled{background:linear-gradient(180deg,#c3b7ff,#7f70ff)}.run-piece-shape--mint .run-piece-shape__cell.is-filled{background:linear-gradient(180deg,#b5ffd9,#43d3a8)}.run-floating-piece{position:fixed;left:0;top:0;z-index:60;pointer-events:none;transition:transform .18s cubic-bezier(.2,.9,.2,1),opacity .18s ease;filter:drop-shadow(0 20px 30px rgba(45,17,110,.26))}.run-floating-piece.is-valid{opacity:1}.run-floating-piece.is-invalid{opacity:.84}.run-floating-piece.is-invalid .run-piece-shape__cell.is-filled{filter:saturate(.82) brightness(1.04)}.run-floating-piece.is-returning{opacity:.72}@media(max-width:420px){.run-header-panel__row,.run-header-panel__row--bottom{grid-template-columns:repeat(3,minmax(0,1fr))}.run-header-panel__row--bottom{row-gap:10px}.run-hearts{grid-column:span 3}.run-answer-grid{grid-template-columns:minmax(0,1fr)}}
