:root{color:#f7fbff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100svh;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at top,rgba(111,255,191,.16),transparent 28%),radial-gradient(circle at 20% 80%,rgba(255,127,115,.1),transparent 20%),radial-gradient(circle at bottom,rgba(69,131,255,.16),transparent 26%),linear-gradient(180deg,#08111d,#050a12)}body,button{color:inherit}button{font:inherit;cursor:pointer}img,svg{display:block;max-width:100%}::selection{background:#6fffbf42}.app-shell{width:min(100%,1120px);margin:0 auto;min-height:100svh;max-height:100svh;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:12px;overflow:hidden}.app-shell--home,.app-shell--game,.app-shell--privacy{justify-content:center}.app-shell--home .intro{flex:1;min-height:0;align-items:center;padding:18px}.app-shell--home .intro__copy{gap:14px;justify-content:center}.app-shell--home .intro__description{max-width:31ch;font-size:.98rem}.app-shell--home .chip{padding:8px 12px;font-size:.9rem}.app-shell--home .availability-note{font-size:.95rem}.app-shell--home .showcase-phone{width:min(100%,280px)}.app-shell--home .showcase-phone__art{max-height:min(44svh,460px)}.app-shell--game .play-view,.app-shell--privacy .legal-view{flex:1;min-height:0}.panel{position:relative;overflow:hidden;border-radius:30px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#0d1828eb,#070d16f0),#060a12e0;box-shadow:0 24px 70px #00000057,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.boot-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:radial-gradient(circle at top,rgba(123,255,203,.18),transparent 25%),linear-gradient(180deg,#08111df5,#04080efa);animation:bootFade 1.2s ease forwards;pointer-events:none}.boot-splash__card{display:flex;flex-direction:column;align-items:center;gap:12px}.boot-splash__logo{width:102px;height:102px;filter:drop-shadow(0 14px 32px rgba(57,217,138,.24))}.boot-splash__eyebrow{font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:#d9ffe9b8}.boot-splash__title{font-size:clamp(2rem,8vw,3.4rem);letter-spacing:-.04em}.boot-splash__pulse{width:64px;height:6px;border-radius:999px;background:linear-gradient(90deg,#6fffbf40,#6fffbf,#6fffbf40);animation:pulseGlow .9s ease-in-out infinite}.intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:24px;padding:24px}.intro__copy,.feature-card,.play-view{display:flex;flex-direction:column}.intro__copy{gap:18px}.brand-block{display:flex;align-items:center;gap:16px}.brand-block__icon,.play-view__icon{flex-shrink:0;width:72px;height:72px;border-radius:20px;box-shadow:0 18px 32px #39d98a26}.eyebrow,.feature-card__kicker{display:inline-flex;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:#8ef0c6}.brand-block h1,.play-view h1{margin:4px 0 0;font-size:clamp(2.4rem,7vw,4.2rem);line-height:.95;letter-spacing:-.05em}.play-view h1{font-size:clamp(1.35rem,4.4vw,2.2rem)}.intro__description,.feature-card p,.availability-note,.guide-card p,.hint{margin:0;color:#e8efffbd}.intro__description{max-width:34ch;font-size:1.05rem}.chip-row{display:flex;flex-wrap:wrap;gap:10px}.chip{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#e8efffdb;font-size:.95rem}.intro__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.intro__actions .button{width:100%}.board__overlay-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.availability-note{max-width:42ch}.legal-link-row{display:flex;flex-wrap:wrap;gap:12px 16px}.text-link{padding:0;border:0;background:none;color:#8ef0c6;font:inherit;font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.guide-card{padding:14px;border-radius:22px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.guide-card h2,.feature-card h2{margin:0 0 8px;font-size:1.1rem}.guide-card p+p{margin-top:8px}.intro__visual{display:flex;justify-content:center;align-items:center}.showcase-phone{position:relative;width:min(100%,420px);padding:10px;border-radius:34px;background:#04080eeb;border:1px solid rgba(255,255,255,.08);box-shadow:0 26px 64px #0006}.showcase-phone:before{content:"";position:absolute;top:12px;left:50%;width:26%;height:8px;transform:translate(-50%);border-radius:999px;background:#ffffff14}.showcase-phone__art{display:block;width:100%;aspect-ratio:9 / 16;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.06)}.showcase-phone__badge{position:absolute;left:26px;bottom:30px;padding:8px 12px;border-radius:999px;background:#08111dd6;border:1px solid rgba(255,255,255,.08);font-size:.9rem;font-weight:700}.showcase-phone__badge--secondary{top:32px;right:26px;bottom:auto;left:auto;color:#8ef0c6}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-card{gap:10px;min-height:180px;padding:20px}.feature-card h2{margin-top:2px}.play-view{gap:10px;padding:14px;min-height:0}.legal-view{display:grid;grid-template-rows:auto auto auto auto;align-content:start;gap:12px;padding:14px;min-height:0}.legal-view__header,.legal-view__brand,.legal-view__actions{display:flex;gap:14px}.legal-view__header{justify-content:space-between;align-items:flex-start}.legal-view h1{margin:4px 0 0;font-size:clamp(1.8rem,7vw,3rem);line-height:.98;letter-spacing:-.04em}.legal-view__actions{align-items:center;flex-wrap:wrap}.legal-view__actions .button{min-height:40px;padding-inline:12px}.legal-summary-card,.legal-card{padding:14px;border-radius:18px;background:#ffffff0b;border:1px solid rgba(255,255,255,.08)}.legal-summary-card{display:flex;flex-direction:column;gap:10px}.legal-summary-card p{margin:0;color:#e8efffc7;font-size:.94rem;line-height:1.45}.legal-summary-card__meta{color:#e8efff94;font-size:.92rem}.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.legal-card h2{margin:0 0 6px;font-size:1rem}.legal-card p,.legal-card li{color:#e8efffc2;line-height:1.35;font-size:.82rem}.legal-card p{margin:0}.legal-card p+p{margin-top:10px}.legal-card ul{margin:12px 0 0;padding-left:20px}.legal-card li+li{margin-top:8px}.legal-footnote{margin:0;color:#e8efff94;font-size:.84rem;text-align:center}.play-view__header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.play-view__brand,.play-view__header-actions{display:flex;gap:10px}.play-view__header-actions{align-items:center;flex-wrap:wrap}.status-badge{flex-shrink:0;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#09111eb8;font-size:.82rem;font-weight:700}.status-badge--running{color:#8ef0c6}.status-badge--paused{color:#ffd36e}.status-badge--over{color:#ff8f85}.status-badge--idle{color:#9bd0ff}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stat-card{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06)}.stat-card__label{color:#e8efffa3;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.stat-card__value{font-size:1.12rem}.board-card{width:min(100%,46svh,360px);margin:0 auto;padding:8px;border-radius:24px;background:linear-gradient(180deg,#6fffbf2e,#3e5fff1a)}.board-frame{position:relative;overflow:hidden;border-radius:24px;touch-action:none;background:radial-gradient(circle at top,rgba(142,240,198,.16),transparent 34%),linear-gradient(180deg,#08121ffa,#040a12)}.board{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));gap:3px;padding:10px;aspect-ratio:1 / 1}.board__cell{border-radius:6px;background:#ffffff0e;box-shadow:inset 0 1px #ffffff08}.board__cell--snake{background:linear-gradient(180deg,#6fffbf,#39d98a);box-shadow:0 4px 12px #39d98a3d,inset 0 1px #ffffff47}.board__cell--head{background:linear-gradient(180deg,#c4ffd8,#79f2b0);box-shadow:0 6px 16px #79f2b057,inset 0 1px #ffffff59}.board__cell--food{background:radial-gradient(circle at 35% 35%,#fff2b8,#ff7f73 72%);box-shadow:0 6px 18px #ff7f7352,inset 0 1px #ffffff40;animation:foodPulse 1.2s ease-in-out infinite}.board__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;text-align:center;background:#050b14c7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.board__overlay-title{font-size:1.4rem}.board__overlay-text{margin:0;max-width:30ch;color:#e8efffbd;font-size:.9rem;line-height:1.4}.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:16px;min-height:46px;padding:10px 14px;line-height:1.2;font-weight:700;font-size:.95rem;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,border-color .12s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}.button:focus-visible,.dpad__button:focus-visible{outline:2px solid #8ef0c6;outline-offset:2px}.button--primary{color:#06101b;background:linear-gradient(180deg,#8ef0c6,#45d3a0);box-shadow:0 12px 30px #45d3a047}.button--secondary{color:#e8efff;background:#ffffff14;border:1px solid rgba(255,255,255,.08)}.button--ghost{color:#d7e9ff;background:#08111d94;border:1px solid rgba(255,255,255,.1)}.dpad{display:flex;flex-direction:column;gap:8px;align-items:center}.dpad__row{display:flex;gap:8px}.dpad__button{width:56px;height:56px;border:0;border-radius:16px;background:#ffffff12;color:#f8fbff;font-size:1.1rem;box-shadow:inset 0 1px #ffffff14}.hint{text-align:center;font-size:.84rem}.settings-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#040910b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.settings-panel{width:min(100%,680px);max-height:calc(100svh - 24px);overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#0d1828fa,#060b13fa),#060a12f0;box-shadow:0 26px 80px #0000006b}.settings-panel__header,.settings-panel__footer{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.settings-panel__header h2{margin:4px 0 0;font-size:1.5rem;letter-spacing:-.04em}.settings-panel__footer{margin-top:0;align-items:center;justify-content:flex-end;flex-wrap:nowrap}.settings-section{display:flex;flex-direction:column;gap:10px;margin-top:0}.settings-section h3{margin:0;font-size:1rem}.setting-list{display:flex;flex-direction:column;gap:12px}.settings-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.setting-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;border-radius:16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.setting-row__copy{display:flex;flex-direction:column;gap:4px}.setting-row__copy strong{font-size:.94rem}.setting-row__copy p{margin:0;color:#e8efffad;font-size:.82rem;line-height:1.35}.toggle-pill{min-width:68px;min-height:36px;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#08111db3;color:#d7e9ff;font-weight:700;font-size:.88rem;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.toggle-pill:hover,.difficulty-card:hover{transform:translateY(-1px)}.toggle-pill--on{color:#06101b;border-color:#6fffbf66;background:linear-gradient(180deg,#8ef0c6,#45d3a0)}.difficulty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.difficulty-card{display:flex;flex-direction:column;gap:6px;min-height:98px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#ffffff0a;color:#f7fbff;text-align:left;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.difficulty-card strong{font-size:.92rem}.difficulty-card span{color:#e8efffb3;font-size:.82rem;line-height:1.35}.difficulty-card--active{border-color:#6fffbf57;background:#6fffbf14;box-shadow:inset 0 0 0 1px #6fffbf1f}.settings-panel__links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.settings-panel__footer .button{flex:1 1 0}.settings-panel__footer .button,.play-view__header .button{min-height:40px;padding:8px 12px;font-size:.88rem}.app-shell--reduced-motion .board__cell--food,.app-shell--reduced-motion .boot-splash__pulse{animation:none}.app-shell--reduced-motion .button,.app-shell--reduced-motion .toggle-pill,.app-shell--reduced-motion .difficulty-card{transition:none}@keyframes foodPulse{0%,to{transform:scale(.92)}50%{transform:scale(1)}}@keyframes pulseGlow{0%,to{opacity:.45;transform:scaleX(.88)}50%{opacity:1;transform:scaleX(1)}}@keyframes bootFade{0%,70%{opacity:1}to{opacity:0;visibility:hidden}}@media (max-width: 920px){.intro{grid-template-columns:1fr}.showcase-phone{width:min(100%,420px)}.feature-grid{grid-template-columns:1fr}.app-shell--home{justify-content:flex-start}.app-shell--home .intro{min-height:auto}.app-shell--home .intro__visual{display:none}}@media (max-height: 820px){.app-shell--home .intro{grid-template-columns:1fr;min-height:auto}.app-shell--home .intro__visual{display:none}.app-shell--home .intro__copy{gap:12px}.app-shell--game .play-view,.app-shell--privacy .legal-view{padding:12px}.board-card{width:min(100%,40svh,320px)}.hint,.settings-panel__links,.legal-footnote,.setting-row__copy p,.difficulty-card span{display:none}.setting-row{align-items:center;min-height:60px}.difficulty-card{min-height:68px;justify-content:center}}@media (max-height: 720px){.app-shell{gap:8px}.app-shell--home .chip-row,.app-shell--home .availability-note{display:none}.play-view{gap:8px;padding:12px}.board-card{width:min(100%,36svh,280px)}.stats{gap:6px}.stat-card{padding:8px}.stat-card__value{font-size:1rem}.dpad__button{width:48px;height:48px}.settings-panel{gap:10px;padding:14px}.settings-toggle-grid,.difficulty-grid{gap:8px}.difficulty-card{min-height:58px;padding:8px}.setting-row{min-height:52px;padding:10px}.settings-section h3{font-size:.92rem}.legal-view__actions .button{min-height:36px;font-size:.82rem}.legal-view{gap:10px;padding:12px}.legal-summary-card,.legal-card{padding:12px}.legal-card h2{font-size:.92rem}.legal-card p{font-size:.78rem}}@media (max-height: 640px){.app-shell--home .guide-card{padding:10px}.app-shell--home .showcase-phone{display:none}.board-card{width:min(100%,31svh,236px)}.board__overlay-title{font-size:1.2rem}.board__overlay-text{font-size:.84rem}.legal-summary-card p{font-size:.86rem}}@media (max-width: 720px){.play-view__header,.legal-view__header,.play-view__brand,.play-view__header-actions,.legal-view__brand,.legal-view__actions{align-items:flex-start}.play-view__header,.legal-view__header{flex-direction:row;flex-wrap:wrap}.legal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.app-shell{gap:10px}.panel,.board-card,.board-frame{border-radius:24px}.intro,.play-view{padding:16px}.app-shell--home{justify-content:center}.brand-block{align-items:flex-start}.brand-block__icon,.play-view__icon{width:60px;height:60px;border-radius:16px}.stats,.actions{grid-template-columns:repeat(3,minmax(0,1fr))}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.settings-layer{padding:12px}.settings-panel{padding:16px;border-radius:24px}.board{gap:3px;padding:12px}.dpad__button{width:52px;height:52px}}@media (max-width: 420px){.settings-panel{gap:10px;padding:14px}.settings-panel__header h2{font-size:1.32rem}.settings-section{gap:8px}.settings-panel__links,.setting-row__copy p,.difficulty-card span{display:none}.setting-row{align-items:center;min-height:56px}.difficulty-card{min-height:62px;justify-content:center}}
