:root{--font-display: "Teko", sans-serif;--font-body: "Chakra Petch", sans-serif;--ink: #18262d;--ink-soft: #4b626d;--surface: #f6f1df;--surface-strong: #fffbee;--edge: rgba(24, 38, 45, .14);--accent: #1f9e8a;--good: #1f9a57;--bad: #d14d42;--radius-lg: 24px;--shadow: 0 18px 38px rgba(17, 30, 34, .18)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at 10% 7%,rgba(29,129,153,.2),transparent 45%),radial-gradient(circle at 88% 9%,rgba(242,181,73,.22),transparent 42%),radial-gradient(circle at 32% 84%,rgba(209,77,66,.14),transparent 48%),linear-gradient(155deg,#ece7d1,#dfd7bc 52%,#f4efdb)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.22;background-image:radial-gradient(rgba(24,38,45,.2) .9px,transparent .9px);background-size:19px 19px}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.page{position:relative;z-index:1;height:100svh;min-height:100svh;padding:22px clamp(14px,3vw,40px) 28px;display:flex;flex-direction:column;gap:18px;overflow:hidden}.page.is-jolt{animation:page-jolt .17s linear}.gg-loading-active .overlay,.gg-loading-active .impact-layer,.gg-loading-active .feedback-toast{display:none}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border-radius:20px;border:1px solid rgba(24,38,45,.14);box-shadow:0 12px 28px #111e221a;background:linear-gradient(140deg,#fffcefe6,#f5efddd9)}.brand{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;border:1px solid var(--edge);background:#fffef6f2;box-shadow:0 8px 22px #111e221f;font-weight:700}.brand img{width:40px;height:40px}.title-block{text-align:center;flex:1}.title-block h1{margin:0;font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3rem);font-weight:600;letter-spacing:.05em;line-height:.88;color:#162835;text-shadow:0 2px 0 rgba(255,255,255,.58),0 8px 14px rgba(10,22,28,.15)}.sponsor-space{width:168px;min-height:42px}.factory-floor{flex:1;display:grid;gap:14px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-height:0}.conveyor-card,.bays-card{border-radius:var(--radius-lg);border:1px solid var(--edge);box-shadow:var(--shadow);background:linear-gradient(145deg,#fffdf2f2,#f8f3e1f5)}.control-btn{border:0;border-radius:12px;padding:10px 16px;font:inherit;font-weight:700;letter-spacing:.02em;color:#f4fbff;background:linear-gradient(140deg,#1c9a89,#165f9f);box-shadow:0 9px 20px #1c9a8952;cursor:pointer}.control-btn:hover{filter:brightness(1.06)}.control-btn:disabled{opacity:.7;cursor:not-allowed;filter:saturate(.7)}.conveyor-card{position:relative;padding:16px;display:grid;gap:12px}.conveyor-head h2,.bays-head h2{margin:0;font-family:var(--font-display);font-size:2rem;letter-spacing:.04em}.conveyor-head p,.bays-head p{margin:2px 0 0;color:var(--ink-soft);font-weight:600}.conveyor{position:relative;height:clamp(182px,25vw,230px)}.belt-hud{position:absolute;top:10px;right:10px;z-index:6;display:inline-flex;align-items:stretch;gap:8px;pointer-events:none}.hud-chip{min-width:74px;padding:6px 10px 7px;border-radius:12px;border:1px solid rgba(255,255,255,.28);background:linear-gradient(145deg,#0a141ac7,#102028d1);box-shadow:0 10px 18px #02080c57;display:grid;gap:1px}.hud-label{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#c9e0ecd6}.hud-value{font-family:var(--font-display);font-size:1.55rem;line-height:.9;letter-spacing:.03em;color:#f7fcff}.hud-lives{min-width:96px;border-radius:12px;border:1px solid rgba(255,255,255,.28);background:linear-gradient(145deg,#0a141ac7,#102028d1);box-shadow:0 10px 18px #02080c57;padding:8px 10px;display:grid;place-items:center}.hud-score-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.lives-row{display:inline-flex;gap:6px;align-items:center;min-height:26px}.life-heart{font-size:1.5rem;line-height:1;filter:drop-shadow(0 1px 0 rgba(0,0,0,.2));transition:transform .12s ease,opacity .12s ease}.life-heart.is-full{color:#ef5a4f;opacity:1}.life-heart.is-empty{color:#92787170;opacity:.72}.level-banner{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;font-family:var(--font-display);font-size:clamp(2.6rem,9vw,5.4rem);letter-spacing:.08em;text-transform:uppercase;color:#ebf6fceb;text-shadow:0 3px 0 rgba(10,18,24,.6),0 20px 42px rgba(8,20,26,.45);pointer-events:none;opacity:0;transform:scale(.86) translateY(8px);z-index:4}.level-banner.is-show{animation:level-banner-in 1.5s ease}.level-banner.is-speed{color:#faf198f2}.level-banner.is-color{color:#9aefd6f2}.belt-track{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:20px;border:1px solid rgba(24,38,45,.28);background:linear-gradient(180deg,#283439f5,#161e21f5)}.belt-track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,#ffffff17 0,#ffffff17 46px,#0000003d 46px,#0000003d 82px);animation:belt-roll var(--belt-scroll, 1.2s) linear infinite}.belt-track:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px dashed rgba(255,255,255,.18);border-radius:13px}.belt-items{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.word-box{position:absolute;left:0;top:0;border:0;border-radius:13px;font:inherit;font-size:1.04rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:linear-gradient(145deg,color-mix(in srgb,var(--box-main) 84%,white),var(--box-main));box-shadow:inset 0 -5px color-mix(in srgb,var(--box-accent) 85%,black),0 10px 20px #00000047;cursor:grab;touch-action:none;pointer-events:auto;-webkit-user-select:none;user-select:none;z-index:2}.word-box:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:8px;border:1px dashed rgba(255,255,255,.38);pointer-events:none}.word-box.is-dragging{cursor:grabbing;z-index:12;filter:brightness(1.12) saturate(1.08)}.bays-card{padding:16px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0}.bays-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));min-height:0;align-items:stretch}.bay-card{border-radius:16px;border:1px solid rgba(24,38,45,.14);background:#ffffffb3;padding:10px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0;align-content:start;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.bay-card.is-hover{transform:translateY(-2px)}.bay-card.is-success{border-color:#1a835294;box-shadow:0 0 0 2px #23a66638,0 12px 20px #11583a24;animation:bay-success .33s ease}.bay-card.is-locked{opacity:.56;filter:grayscale(.35)}.bay-heading{display:flex;align-items:center;gap:8px}.bay-dot{width:14px;height:14px;border-radius:999px;background:var(--bay-swatch);box-shadow:0 0 0 2px #ffffffe6}.bay-title-wrap{flex:1}.bay-heading h3{margin:0;font-size:1.05rem}.bay-heading p{margin:0;color:var(--ink-soft);font-size:.85rem;font-weight:600}.bay-lock-tag{min-width:34px;min-height:24px;padding:2px 8px;border-radius:999px;background:#18262d14;font-size:.78rem;font-weight:700;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center}.bay-list{min-height:0;height:100%;max-height:none;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:4px;padding-right:2px}.bay-lock-note{margin-top:auto;margin-bottom:auto;text-align:center;color:var(--ink-soft);font-size:.85rem;font-weight:700;padding:16px 8px}.drop-slot{height:10px;border-radius:999px;background:#18262d14;opacity:.35;position:relative;transition:height .1s ease,opacity 90ms ease,background-color 90ms ease,transform 90ms ease}.drop-slot.is-target{opacity:1;height:18px;transform:none;border:1px dashed rgba(26,95,159,.84);background:#1a5f9f42;box-shadow:inset 0 0 0 1px #ffffff8c,0 0 0 2px #1a5f9f3d}.drop-slot.is-target:after{content:"Drop Here";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-transform:uppercase;letter-spacing:.08em;font-size:.63rem;font-weight:700;color:#134f82;white-space:nowrap}.bay-word{border-radius:10px;border:1px solid rgba(24,38,45,.14);background:#ffffffd6;padding:7px 9px;font-size:.84rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.impact-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;z-index:14}.impact-layer.is-good{animation:impact-good .22s ease}.impact-layer.is-bad{animation:impact-bad .24s ease}.feedback-toast{position:fixed;left:50%;top:20px;transform:translate(-50%,-12px);border-radius:999px;border:1px solid rgba(0,0,0,.2);background:#141e23eb;color:#f2f9fc;padding:9px 14px;font-weight:700;font-size:.9rem;letter-spacing:.02em;opacity:0;pointer-events:none;z-index:25}.feedback-toast.is-good{border-color:#1f9a57b3}.feedback-toast.is-bad{border-color:#d14d42b3}.feedback-toast.is-visible{animation:toast-pop .7s ease}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#121a1d80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;transition:opacity .16s ease}.overlay.is-hidden{opacity:0;pointer-events:none}.overlay-card{width:min(460px,90vw);border-radius:22px;border:1px solid rgba(255,255,255,.24);background:linear-gradient(145deg,#18313f,#12314c 65%,#0d5a7a);color:#f4fbff;padding:24px;display:grid;gap:10px;box-shadow:0 22px 46px #00000059}.overlay-kicker{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:#d6ebf5d1}.overlay-card h2{margin:0;font-family:var(--font-display);font-size:2.45rem;letter-spacing:.04em;line-height:.9}.overlay-card p{margin:0;color:#e5f4fae6;line-height:1.45}.overlay-result{margin:6px 0 2px;border-radius:18px;border:1px solid rgba(228,245,255,.22);background:linear-gradient(145deg,#ffffff26,#ffffff12);padding:14px;text-align:center}.result-label{margin:0;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:#d6ebf5d6}.result-value{margin:0;font-family:var(--font-display);font-size:clamp(3rem,10vw,4.4rem);line-height:.86;letter-spacing:.05em;color:#f8fdff;text-shadow:0 12px 30px rgba(6,16,22,.44)}.result-sub{margin:0;font-size:.9rem;color:#def1f9eb;font-weight:700}.overlay.is-result .overlay-card{background:linear-gradient(145deg,#16415a 4%,#11456f 58%,#0e6785)}@keyframes belt-roll{0%{transform:translate(-82px)}to{transform:translate(0)}}@keyframes level-banner-in{0%{opacity:0;transform:scale(.82) translateY(10px)}15%{opacity:1;transform:scale(1.02) translateY(0)}82%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(1.05) translateY(-6px)}}@keyframes impact-good{0%{opacity:0;background:#18af6000}35%{opacity:1;background:#18af6038}to{opacity:0;background:#18af6000}}@keyframes bay-success{0%{transform:translateY(-2px) scale(.995)}40%{transform:translateY(-2px) scale(1.01)}to{transform:translateY(-2px) scale(1)}}@keyframes impact-bad{0%{opacity:0;background:#d9433600}35%{opacity:1;background:#d9433647}to{opacity:0;background:#d9433600}}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%,-14px)}10%{opacity:1;transform:translate(-50%)}85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}@keyframes page-jolt{0%{transform:translateZ(0)}20%{transform:translate3d(-8px,0,0)}40%{transform:translate3d(7px,0,0)}60%{transform:translate3d(-5px,0,0)}80%{transform:translate3d(3px,0,0)}to{transform:translateZ(0)}}@media (max-width: 1080px){.belt-hud{top:8px;right:8px}.bays-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.page{height:auto;min-height:100svh;overflow:visible}.factory-floor{grid-template-rows:auto auto}.bays-card,.bays-grid,.bay-card{min-height:initial}.bay-list{min-height:220px;max-height:360px}.top-bar{flex-wrap:wrap;justify-content:center}.title-block{order:3;width:100%}.sponsor-space{width:100%;min-height:0}.belt-hud{right:8px;left:8px;justify-content:space-between;gap:6px}.hud-chip{min-width:68px;padding:5px 8px 6px}.hud-value{font-size:1.3rem}.hud-lives{min-width:86px;padding:7px 8px}.life-heart{font-size:1.3rem}.bays-grid{grid-template-columns:1fr}.overlay-card h2{font-size:2rem}}
