@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;700&display=swap";:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--surface: #ffffff;--surface-muted: #f5f5f2;--border: #d6d6cf;--ink: #111111;--muted: #6f6f68;--accent: #1a1a2e;--shadow: 0 1px 2px rgba(17, 17, 17, .08);--color-flip: #4d96ff;--color-boost: #ff9f1c;--color-nudge: #6bcb77;color:var(--ink);background:var(--surface)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--surface: #0f0f1a;--surface-muted: #1a1a2e;--border: #2e2e4a;--ink: #e8e8f0;--muted: #8888aa;--accent: #7c6af7;color:var(--ink);background:var(--surface)}}[data-theme=dark]{--surface: #0f0f1a;--surface-muted: #1a1a2e;--border: #2e2e4a;--ink: #e8e8f0;--muted: #8888aa;--accent: #7c6af7;color:var(--ink);background:var(--surface)}[data-theme=light]{--surface: #ffffff;--surface-muted: #f5f5f2;--border: #d6d6cf;--ink: #111111;--muted: #6f6f68;--accent: #1a1a2e;color:var(--ink);background:var(--surface)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;color:var(--ink);background:var(--surface)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}button{font:inherit;cursor:pointer}.app-frame{min-height:100vh;background:var(--surface)}.app-layout{width:min(100%,28rem);margin:0 auto;padding:max(.75rem,env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));background:var(--surface)}.app-footer{padding:.75rem 0 0;text-align:center;font-size:.72rem;color:var(--muted)}.header{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;margin-bottom:.75rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.header-actions{display:flex;gap:.25rem;align-items:center;margin-top:.25rem;justify-content:flex-end}.icon-button{border:none;background:transparent;padding:.35rem .45rem;border-radius:.35rem;color:var(--muted);font-size:1.1rem;line-height:1;transition:background-color .12s ease,color .12s ease}.icon-button:hover{background:var(--surface-muted);color:var(--ink)}.header-logo{display:inline-block;vertical-align:middle;margin-right:.4rem;border-radius:5px}.help-welcome{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1rem}.help-logo{border-radius:14px}.help-welcome-title{font-size:1.25rem;font-weight:700;margin:0}.practice-badge{font-size:.55rem;letter-spacing:.08em;background:var(--color-nudge);color:#fff;border-radius:4px;padding:.15em .4em;vertical-align:middle;font-weight:700;margin-left:.5rem}.solved-badge{color:var(--color-nudge);font-weight:700}.eyebrow,.meta-label{text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;color:var(--muted)}.target-label{font-weight:600;color:var(--accent);opacity:.75}.muted-text{color:var(--muted);font-size:.85rem}h1,h2{margin:0;font-weight:700;letter-spacing:-.03em}h1{font-size:1.35rem}.header-subtitle{margin:.3rem 0 0;color:var(--muted);font-size:.82rem}.header-meta{display:grid;gap:.15rem;text-align:right;color:var(--muted);font-size:.8rem}.status-panel strong,.counter-row strong,.target-value,.history-grid strong{display:block;font-size:.95rem}.game-shell{display:grid;gap:.4rem}.number-panel{padding:.4rem 0 0}.target-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface-muted);border:1px solid var(--border);border-radius:.5rem;padding:.4rem .75rem;margin-bottom:.1rem}.target-value{font-size:clamp(1.75rem,7vw,2.5rem);font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:700;color:var(--accent)}.number-stage{margin:.2rem 0;min-height:6.5rem;border-radius:.5rem;background:var(--surface);display:grid;place-items:center;border:1px solid var(--border);perspective:1000px;overflow:hidden}.current-value{font-size:clamp(3.25rem,15vw,5rem);font-weight:700;line-height:1;letter-spacing:-.05em;font-family:IBM Plex Mono,ui-monospace,monospace}.current-value--flip{animation:flip-card .28s cubic-bezier(.34,1.56,.64,1)}.current-value--boost{animation:boost-pop .24s cubic-bezier(.34,1.56,.64,1)}.current-value--nudge{animation:nudge-tick .22s cubic-bezier(.34,1.56,.64,1)}.counter-row,.status-panel,.history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.status-panel{grid-template-columns:repeat(3,minmax(0,1fr));padding:.65rem 0;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0}.control-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.utility-button,.share-button{border:1px solid var(--border);border-radius:999px;padding:.7rem .95rem;font-weight:600;color:#fff;background:var(--accent);box-shadow:none;transition:transform .12s cubic-bezier(.34,1.56,.64,1),opacity .12s ease}.utility-button:active,.share-button:active{transform:scale(.95) translateY(1px)}.utility-button:disabled{opacity:.45}.utility-button--secondary{color:var(--ink);background:var(--surface)}.button-dock{padding:.15rem 0 .25rem}.action-grid{display:grid;gap:.5rem}.action-button{display:flex;align-items:center;gap:.8rem;padding:.6rem .95rem;border-radius:.5rem;border:1px solid var(--border);background:var(--surface);box-shadow:none;color:var(--ink);text-align:left;transition:transform .12s cubic-bezier(.34,1.56,.64,1),background-color .12s ease,opacity .12s ease,box-shadow .12s ease}.action-button:active{transform:scale(.97) translateY(1px);background:var(--surface-muted);box-shadow:none}.action-button:disabled{opacity:.55}.action-button--flip .action-icon{color:var(--color-flip)}.action-button--boost .action-icon{color:var(--color-boost)}.action-button--nudge .action-icon{color:var(--color-nudge)}@keyframes hint-pulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px var(--accent)}}.action-button--hinted{animation:hint-pulse 1s ease-in-out infinite}.action-icon{flex:0 0 auto;width:2.2rem;height:2.2rem;display:grid;place-items:center;font-size:1.05rem;border-radius:999px;background:var(--surface-muted)}.action-copy{display:flex;flex-direction:column;flex:1}.action-copy small{color:var(--muted)}.kbd-hint{margin-left:auto;font-size:.65rem;font-family:IBM Plex Mono,ui-monospace,monospace;color:var(--muted);background:var(--surface-muted);border:1px solid var(--border);border-radius:4px;padding:.1em .4em;line-height:1.4}.move-trail{display:flex;flex-wrap:wrap;gap:.3rem;min-height:2rem;padding:.25rem 0}.move-trail-item{width:1.75rem;height:1.75rem;border-radius:50%;border:1px solid var(--border);background:var(--surface-muted);display:grid;place-items:center;font-size:.75rem;cursor:default;animation:trail-slide-in .18s cubic-bezier(.34,1.56,.64,1);transition:transform .12s ease}.move-trail-item:hover,.move-trail-item:focus{transform:scale(1.15);outline:none;border-color:var(--accent)}.move-trail-item[data-op=flip]{color:var(--color-flip)}.move-trail-item[data-op=boost]{color:var(--color-boost)}.move-trail-item[data-op=nudge]{color:var(--color-nudge)}.hint-button{font-size:.78rem;color:var(--muted);background:transparent;border:1px dashed var(--border);border-radius:999px;padding:.3rem .75rem;transition:background-color .12s ease,color .12s ease}.hint-button:hover{background:var(--surface-muted);color:var(--ink)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1111117a;display:grid;align-items:end;padding:1rem .875rem calc(1rem + env(safe-area-inset-bottom));z-index:100}.result-modal{width:min(100%,28rem);padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;box-shadow:0 8px 24px #11111129;margin:0 auto}.modal-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.5rem;gap:.5rem}.modal-header h2{flex:1}.modal-close-button{background:transparent;border:none;font-size:1.4rem;line-height:1;color:var(--muted);padding:0 .25rem;border-radius:4px;transition:background-color .12s ease,color .12s ease}.modal-close-button:hover{background:var(--surface-muted);color:var(--ink)}.result-line{margin:.25rem 0}.help-modal{max-height:90vh;overflow-y:auto;align-self:center}.help-description{margin:0 0 .75rem;color:var(--ink);line-height:1.5}.help-example{background:var(--surface-muted);border-radius:.5rem;padding:.6rem .75rem;margin-bottom:.75rem}.help-example-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.35rem}.help-example-steps{display:flex;align-items:center;gap:.5rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1rem}.help-example-value{font-weight:700;font-size:1.1rem}.help-example-op{color:var(--color-flip);font-size:.9rem}.help-arrow{color:var(--muted)}.help-operations{display:grid;gap:.5rem;margin-bottom:.75rem}.help-op{display:flex;align-items:center;gap:.75rem}.help-op small,.help-op-hint{color:var(--muted);font-size:.82rem;display:block}.help-ratings{margin-bottom:.75rem}.help-rating-row{display:flex;justify-content:space-between;align-items:baseline;padding:.2rem 0;font-size:.9rem}.help-note{font-size:.82rem;color:var(--muted);margin:0 0 .5rem;line-height:1.5}@keyframes help-step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.help-step-container{animation:help-step-in .16s ease}.help-step{min-height:13rem;display:flex;flex-direction:column}.help-step-indicators{display:flex;justify-content:center;gap:.4rem;margin-bottom:.85rem}.help-dot{width:6px;height:6px;border-radius:50%;background:var(--border);display:inline-block}.help-dot--active{background:var(--accent)}.help-demo-board{background:var(--surface-muted);border-radius:.5rem;padding:.75rem;margin-bottom:.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.help-demo-target{display:flex;align-items:center;gap:.5rem}.help-demo-target-value{font-size:1.5rem;font-family:IBM Plex Mono,ui-monospace,monospace;color:var(--accent)}.help-demo-start-label{display:block;font-size:.7rem;font-weight:400;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;line-height:1;margin-bottom:.1rem}.help-demo-current{font-size:2.75rem;font-weight:700;font-family:IBM Plex Mono,ui-monospace,monospace;line-height:1;transition:color .3s ease}.help-demo-current--solved{color:var(--color-nudge)}.help-demo-caption{font-size:.8rem;color:var(--muted);margin:0;text-align:center}.help-demo-caption--win{color:var(--color-nudge);font-weight:600}.help-demo-button{width:100%;max-width:12rem}.help-share-preview{margin-top:.75rem;background:var(--surface-muted);border-radius:.5rem;padding:.6rem .75rem}.help-share-text{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.85rem;margin:0;white-space:pre;color:var(--ink)}.help-nav{display:flex;gap:.5rem;margin-top:auto;padding-top:.75rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.75rem;text-align:center}.stats-cell{display:flex;flex-direction:column;align-items:center;gap:.2rem}.stats-number{font-size:1.5rem;font-family:IBM Plex Mono,ui-monospace,monospace;display:block}.stats-distribution{margin-bottom:.25rem}.stats-bar-row{display:grid;grid-template-columns:4.5rem 1fr 2rem;align-items:center;gap:.5rem;margin-bottom:.35rem}.stats-bar-label{font-size:.82rem;text-align:right;color:var(--muted)}.stats-bar-track{height:1rem;background:var(--surface-muted);border-radius:999px;overflow:hidden}.stats-bar-fill{height:100%;background:var(--accent);border-radius:999px;min-width:4px;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.stats-bar-count{font-size:.82rem;color:var(--muted);text-align:left;font-family:IBM Plex Mono,ui-monospace,monospace}.yesterday-path{display:flex;flex-direction:column;gap:.35rem;background:var(--surface-muted);border-radius:.5rem;padding:.65rem .75rem}.yesterday-step{display:flex;align-items:center;gap:.75rem}.yesterday-step-op{font-size:.82rem;color:var(--muted);min-width:3rem}.yesterday-step-value{font-weight:700;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.05rem}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:200;overflow:hidden}.confetti-particle{position:absolute;border-radius:2px;animation:confetti-burst 1s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes flip-card{0%{transform:rotateX(0)}50%{transform:rotateX(92deg)}to{transform:rotateX(0)}}@keyframes boost-pop{0%{transform:scale(1)}50%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes nudge-tick{0%{transform:translateY(0)}40%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes trail-slide-in{0%{transform:translate(12px) scale(.8);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@keyframes confetti-burst{0%{transform:translate(0) rotate(0) scale(1);opacity:1}80%{opacity:.8}to{transform:translate(calc(cos(var(--angle)) * var(--distance)),calc(sin(var(--angle)) * var(--distance))) rotate(720deg) scale(0);opacity:0}}@media (min-width: 760px){.app-layout{padding-bottom:1rem}}@media (pointer: coarse){.kbd-hint{display:none}}@media (max-width: 480px){.icon-button{padding:.5rem .6rem;font-size:1.1rem;min-width:2.75rem;min-height:2.75rem}.header-actions{gap:.1rem}}
