@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;700;800&family=Nunito:wght@400;600;700;800&display=swap";:root{--ink:#1a1a1a;--paper:oklch(97% .015 95);--chip:#fffaf0;--paper-muted:#e8e3d8;--accent-five:oklch(83% .19 142);--accent-five-ink:oklch(45% .19 142);--accent-huddle:oklch(78% .16 300);--accent-huddle-ink:oklch(45% .16 300);--accent-gridlock:oklch(80% .14 230);--accent-gridlock-ink:oklch(45% .14 230);--accent-rungs:oklch(79% .18 55);--accent-rungs-ink:oklch(45% .18 55);--accent-hive:oklch(78% .2 350);--accent-hive-ink:oklch(45% .2 350);--surface-bg:var(--paper);--surface-card:var(--chip);--text-primary:var(--ink);--border-color:var(--ink);--tile-correct:var(--accent-five);--tile-present:var(--accent-rungs);--tile-absent:var(--paper-muted);--font-display:"Baloo 2", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif;--text-xs:10.5px;--text-sm:12.5px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:26px;--text-3xl:32px;--weight-regular:400;--weight-semibold:600;--weight-bold:700;--weight-black:800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:32px;--radius-2xl:44px;--radius-pill:999px;--radius-circle:50%;--border-width-sm:2px;--border-width-md:2.5px;--border-width-lg:3px;--border-width-xl:4px;--shadow-sm:2px 2px 0 var(--ink);--shadow-md:4px 4px 0 var(--ink);--shadow-lg:5px 5px 0 var(--ink);--shadow-xl:9px 9px 0 var(--ink);--shadow-pressed:1px 1px 0 var(--ink);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--duration-press:.16s;--duration-normal:.18s;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--accent-kernel:var(--accent-five);--accent-kernel-ink:var(--accent-five-ink);--accent-longhand:var(--accent-rungs);--accent-longhand-ink:var(--accent-rungs-ink);--accent-sprint:var(--accent-gridlock);--accent-sprint-ink:var(--accent-gridlock-ink);--accent-clues:var(--accent-huddle);--accent-clues-ink:var(--accent-huddle-ink)}*{box-sizing:border-box}body{background:var(--paper-muted);min-height:100svh;margin:0}#root{justify-content:center;min-height:100svh;display:flex}.app-shell{background:var(--surface-bg);width:100%;max-width:480px;min-height:100svh}.screen-fill{margin:calc(-1 * var(--screen-gap,0px)) -20px -16px;background:var(--fill-accent) linear-gradient(var(--surface-bg) 120px, var(--fill-accent)) top / 100% 600px no-repeat;flex:1 0 16px}:has(+.screen-fill){z-index:1;position:relative}.kernel-screen{--fill-accent:var(--accent-kernel);padding:26px 20px 16px}.kernel-tagline{margin:4px 0 12px}.kernel-actions{justify-content:flex-end;gap:8px;margin-bottom:10px;display:flex}.kernel-found{margin-bottom:18px}.kernel-middle{flex:0 360px;gap:10px;padding:16px 0 12px}@media (height<=540px){.kernel-screen{padding-top:12px}.kernel-tagline{display:none}.kernel-actions{margin:10px 0 0}.kernel-found{margin:8px 0 12px}.kernel-middle{gap:4px;padding:6px 0 4px}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.shake{animation:.4s ease-in-out shake;display:inline-block}@media (prefers-reduced-motion:reduce){.shake{animation:none}}.longhand-screen{--screen-gap:14px;gap:var(--screen-gap);--fill-accent:var(--accent-longhand);padding:26px 20px 16px}.longhand-tagline{margin:-10px 0 4px}.longhand-middle{flex:0 400px;gap:12px;padding:4px 0}@media (height<=640px){.longhand-screen{--screen-gap:8px;padding-top:12px}.longhand-tagline{display:none}.longhand-middle{gap:6px}}@keyframes longhand-pop{0%{scale:0}60%{scale:1.18}to{scale:1}}.longhand-pop{animation:.32s cubic-bezier(.34,1.56,.64,1) longhand-pop}@keyframes longhand-pulse{0%,to{opacity:1}50%{opacity:.4}}.longhand-pulse{animation:.7s ease-in-out infinite longhand-pulse}@media (prefers-reduced-motion:reduce){.longhand-pop,.longhand-pulse{animation:none}}.sprint-screen{--screen-gap:12px;gap:var(--screen-gap);--fill-accent:var(--accent-sprint);padding:26px 20px 16px}.sprint-middle{flex-direction:column;flex:0 280px;gap:6px;min-height:90px;display:flex}.sprint-found{background:var(--chip);border:var(--border-width-lg) solid var(--ink);border-radius:var(--radius-lg);min-height:0;box-shadow:var(--shadow-md);font-family:var(--font-body);color:var(--ink);flex-wrap:wrap;flex:1;align-content:flex-start;gap:6px;padding:10px;display:flex;overflow-y:auto}.sprint-chip{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-sm);border:var(--border-width-sm) solid var(--ink);border-radius:var(--radius-sm);background:var(--surface-bg);text-transform:uppercase;padding:2px 8px}.sprint-chip:first-child{animation:.22s cubic-bezier(.34,1.56,.64,1) sprint-chip-in}.sprint-chip-mega{background:var(--accent-sprint)}.sprint-pill{font-family:var(--font-display);font-weight:var(--weight-black);font-size:var(--text-xs);color:var(--ink);background:var(--accent-sprint);border:var(--border-width-md) solid var(--ink);border-radius:var(--radius-pill);padding:2px 10px}.sprint-results{padding:26px 20px 32px}@media (height<=640px){.sprint-screen{--screen-gap:6px;padding-top:12px}}@keyframes sprint-chip-in{0%{opacity:0;transform:scale(.4)}}.sprint-count{font-family:var(--font-display);font-weight:var(--weight-black);color:var(--ink);text-shadow:5px 5px 0 var(--accent-sprint);font-size:96px;line-height:1;animation:.45s cubic-bezier(.34,1.56,.64,1) both sprint-count-in}@keyframes sprint-count-in{0%{opacity:0;transform:scale(2.2)rotate(-8deg)}}.sprint-pop{animation:.26s cubic-bezier(.34,1.56,.64,1) sprint-pop;display:inline-block}@keyframes sprint-pop{0%{opacity:0;transform:translateY(8px)scale(.7)}}.sprint-urgent{color:var(--accent-hive-ink);animation:1s ease-in-out infinite sprint-urgent}@keyframes sprint-urgent{50%{transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.sprint-chip:first-child,.sprint-count,.sprint-pop,.sprint-urgent{animation:none}}.clues-screen{background:var(--surface-bg);--screen-gap:10px;gap:var(--screen-gap);--fill-accent:var(--accent-clues);height:100dvh;font-family:var(--font-body);-webkit-user-select:none;user-select:none;flex-direction:column;padding:26px 20px 16px;display:flex;overflow:hidden}.clues-middle{flex-direction:column;flex:0 330px;justify-content:center;min-height:0;display:flex}.clues-results{background:var(--surface-bg);min-height:100svh;font-family:var(--font-body);padding:26px 20px 32px}.clues-pill{font-family:var(--font-display);font-weight:var(--weight-black);font-size:var(--text-xs);color:var(--ink);background:var(--accent-clues);border:var(--border-width-md) solid var(--ink);border-radius:var(--radius-pill);padding:2px 10px}.clues-left{color:var(--ink);justify-content:center;align-items:baseline;gap:8px;display:flex}.clues-left-number{font-family:var(--font-display);font-weight:var(--weight-black);font-variant-numeric:tabular-nums;text-shadow:3px 3px 0 var(--accent-clues);font-size:40px;line-height:1;display:inline-block}.clues-left-label{font-weight:var(--weight-bold);font-size:var(--text-md);opacity:.7}.clues-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.clue-card{perspective:700px;cursor:pointer;height:92px;font:inherit;color:var(--ink);-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;position:relative}.clue-card:disabled{cursor:default}.clue-card-inner{transform-style:preserve-3d;transition:transform .52s cubic-bezier(.34,1.3,.64,1);position:absolute;inset:0}.clue-card-up .clue-card-inner{transform:rotateY(180deg)}.clue-card-face{backface-visibility:hidden;border:var(--border-width-lg) solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-md);text-align:left;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:2px;padding:8px 10px;display:flex;position:absolute;inset:0;overflow:hidden}.clue-card-back{background:var(--accent-clues);transition:transform var(--duration-normal) var(--ease-bounce), box-shadow var(--duration-normal) var(--ease-bounce)}.clue-card:not(:disabled):hover .clue-card-back{box-shadow:var(--shadow-lg);transform:translate(-2px,-2px)}.clue-card:not(:disabled):active .clue-card-back{box-shadow:var(--shadow-pressed);transform:translate(3px,3px)}.clue-card-front{background:var(--chip);transform:rotateY(180deg)}.clue-card-name{font-weight:var(--weight-black);font-size:var(--text-sm);line-height:1.15}.clue-card-small-bits{opacity:.55;font-weight:var(--weight-bold)}.clue-card-bits{font-family:var(--font-display);font-weight:var(--weight-black);font-size:30px;line-height:1}.clue-card-unit{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-bold)}.clue-card-value{font-family:var(--font-display);font-weight:var(--weight-black);font-size:var(--text-2xl);text-transform:uppercase;line-height:1}.clue-card-value-long{font-size:var(--text-md);text-transform:none;line-height:1.15}.clue-card-left{font-weight:var(--weight-bold);font-size:var(--text-xs);opacity:.7}.clue-card-tag{z-index:1;background:var(--ink);color:var(--chip);font-weight:var(--weight-black);border-radius:8px;padding:2px 7px;font-size:10px;position:absolute;top:-8px;right:10px;transform:rotate(3deg)}.clue-card-flipping .clue-card-inner{animation:.5s ease-in-out infinite clue-card-wait}@keyframes clue-card-wait{25%{transform:rotateY(-14deg)}75%{transform:rotateY(14deg)}}.clues-pips{flex-direction:column;gap:4px;margin-left:8px;display:flex}.clues-pip{border:var(--border-width-sm) solid var(--ink);background:var(--chip);border-radius:50%;width:10px;height:10px}.clues-pip-used{background:var(--accent-hive)}.clues-feedback{text-align:center;min-height:20px;font-weight:var(--weight-black);font-size:var(--text-sm);color:var(--ink);margin-top:6px}.clues-keyboard{transition:opacity var(--duration-normal) ease;flex-direction:column;gap:7px;display:flex}.clues-key-row{justify-content:center;gap:5px;display:flex}.clues-key{border-radius:var(--radius-sm);border:var(--border-width-md) solid var(--ink);background:var(--chip);min-width:0;height:46px;box-shadow:var(--shadow-sm);font-family:var(--font-display);font-weight:var(--weight-black);font-size:var(--text-md);color:var(--ink);text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex:0 36px;padding:0}.clues-key:active:not(:disabled){box-shadow:var(--shadow-pressed);transform:translate(2px,2px)}.clues-key:disabled{cursor:not-allowed}.clues-panel{background:var(--chip);border:var(--border-width-lg) solid var(--ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-4);color:var(--ink)}.clues-panel-title{font-weight:var(--weight-bold);color:var(--ink);opacity:.7;font-size:12px}.clues-panel-note{font-weight:var(--weight-semibold);font-size:var(--text-sm);margin-top:10px;line-height:1.35}.clues-steps{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.clues-step{font-size:var(--text-sm);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:4px 6px;display:flex}.clues-step-wasted{background:var(--paper-muted)}.clues-step-square{font-size:14px}.clues-step-what{font-weight:var(--weight-bold)}.clues-step-note{font-weight:var(--weight-semibold);opacity:.7}.clues-step-count{font-weight:var(--weight-black);font-variant-numeric:tabular-nums;white-space:nowrap}@media (height<=680px){.clues-screen{--screen-gap:6px;padding-top:12px}.clue-card{height:78px}.clue-card-bits{font-size:24px}.clues-left-number{font-size:32px}.clues-grid{gap:9px}.clues-key{height:40px}}@media (prefers-reduced-motion:reduce){.clue-card-inner{transition:none}.clue-card-flipping .clue-card-inner{animation:none}}::view-transition-group(.splash-surface){animation-duration:.42s;animation-timing-function:cubic-bezier(.2,.9,.25,1)}::view-transition-old(.splash-surface){animation-duration:.16s}::view-transition-new(.splash-surface):not(:only-child){animation:none}::view-transition-group(.splash-icon){animation-duration:.48s;animation-timing-function:var(--ease-bounce)}::view-transition-old(.card-text){animation-duration:.12s}::view-transition-old(root){animation-duration:.2s}::view-transition-new(root){animation-duration:.2s}::view-transition-new(splash-content){animation:.28s cubic-bezier(.2,.9,.25,1) .2s both splash-content-in}@keyframes splash-content-in{0%{opacity:0;transform:translateY(14px)}}@supports not (view-transition-name:none){@media (prefers-reduced-motion:no-preference){.game-splash{animation:.3s cubic-bezier(.2,.9,.25,1) both splash-content-in}}}
