:root{color:#163129;font-synthesis:none;text-rendering:optimizelegibility;--cream:#f5e7c8;--paper:#fff6df;--ink:#163129;--coral:#d35e45;--coral-dark:#a94036;--moss:#52664c;background:#152822;font-family:ui-rounded,Hiragino Maru Gothic ProN,Yu Gothic,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;min-height:100svh;overflow-x:hidden}button{font:inherit}button:focus-visible,[role=button]:focus-visible{outline-offset:-4px;outline:3px solid #f6c65b}.app-shell{min-height:100svh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);place-items:center;display:grid}.screen{width:min(100%,510px);height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom));background:var(--cream);border:1px solid #f5e7c84d;min-height:0;position:relative;overflow:hidden;box-shadow:0 22px 70px #00000059;container-type:inline-size}.screen:before{content:"";pointer-events:none;opacity:.035;mix-blend-mode:multiply;z-index:10;background-image:repeating-linear-gradient(0deg,#0000 0 3px,#16312959 3px 4px);position:absolute;inset:0}.brand-mark{letter-spacing:.06em;white-space:nowrap;font-size:.94rem;font-weight:800}.brand-mark span{color:var(--coral-dark)}.primary-button,.secondary-button{cursor:pointer;touch-action:manipulation;letter-spacing:.1em;min-height:58px;padding:.85rem 1.6rem;font-weight:700;transition:transform .12s,box-shadow .12s}.primary-button{color:var(--paper);background:var(--coral);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);font-size:1.05rem}.secondary-button{min-height:48px;color:var(--ink);border:2px solid var(--ink);background:0 0;font-size:.88rem;box-shadow:2px 2px #16312940}@media (hover:hover){.primary-button:hover,.secondary-button:hover{transform:translate(-1px,-1px)}}.primary-button:active,.secondary-button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.icon-button{cursor:pointer;width:44px;height:44px;color:var(--ink);background:var(--paper);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);touch-action:manipulation;place-items:center;font-size:1.25rem;display:grid}.icon-button:active{box-shadow:none;transform:translate(2px,2px)}.tutorial-screen{text-align:center;flex-direction:column;justify-content:space-between;gap:1.5rem;padding:clamp(1.25rem,6svh,3rem) 1.6rem clamp(1.75rem,6svh,3rem);display:flex;overflow-y:auto}.tutorial-copy{justify-items:center;gap:clamp(.65rem,2.2svh,1.15rem);margin:auto 0;display:grid}.tutorial-screen h1{letter-spacing:.04em;margin:.6rem 0 .25rem;font-size:clamp(1.9rem,8vw,2.6rem)}.tutorial-screen p{margin:0;font-size:1rem;line-height:1.8}.tutorial-screen strong{color:var(--coral-dark);font-weight:700}.tutorial-snail{place-items:center;width:132px;height:132px;margin:.3rem 0;display:grid}.tutorial-snail img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}.tutorial-prompt{color:var(--moss);margin-top:.4rem!important;font-size:.9rem!important}.start-button{flex-shrink:0;align-self:center;width:min(100%,290px)}.game-screen{flex-direction:column;display:flex}.game-header{z-index:3;justify-content:space-between;align-items:center;padding:1.15rem 1.35rem .5rem;display:flex}.game-actions{align-items:center;display:flex}.best-score{color:var(--moss);z-index:3;overflow-wrap:anywhere;padding:0 1.35rem;font-size:.78rem}.best-score strong{color:var(--ink);margin-left:.3rem;font-size:.86rem}.tap-zone{isolation:isolate;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;flex:1;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;padding:.4rem .45rem .65rem;display:grid;position:relative}.canvas-wrap{pointer-events:none;grid-row:2;align-self:stretch;width:100%;height:100%;min-height:0;position:relative}.snail-canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.count-lockup{text-align:center;pointer-events:none;grid-row:1;width:100%;margin:.6rem 0 0;padding:.25rem .25rem .6rem;animation:.22s ease-out count-settle;position:relative}.growth-feedback{color:var(--coral);opacity:0;font:700 1rem Courier New,monospace;animation:.6s ease-out growth-feedback;position:absolute;bottom:.45rem;left:calc(50% + 1.7rem)}.count-number{max-width:100%;color:var(--coral-dark);letter-spacing:-.045em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-family:Courier New,monospace;font-weight:700;line-height:1.08;display:block}.count-unit{letter-spacing:.1em;margin-top:.3rem;font-size:.9rem;display:block}.tap-hint{color:var(--moss);text-align:center;pointer-events:none;grid-row:3;margin:.15rem 0 0;padding:.4rem 0;font-size:.88rem}.flash{z-index:4;pointer-events:none;opacity:0;background:#fff;position:absolute;inset:0}.is-exploding .flash{animation:.2s ease-out fail-flash}.is-exploding .count-lockup{opacity:0;transition:opacity .1s}.result-screen{flex-direction:column;padding:1.15rem 1.3rem 1.5rem;display:flex;overflow-y:auto}.result-header{justify-content:space-between;align-items:center;display:flex}.result-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:.8rem 0;display:flex}.result-kicker{color:var(--coral-dark);letter-spacing:.12em;margin:.1rem 0 .25rem;font-family:Courier New,monospace;font-size:.7rem;font-weight:700}.result-number{max-width:100%;color:var(--coral-dark);letter-spacing:-.045em;overflow-wrap:anywhere;margin:1rem 0 .65rem;font-family:Courier New,monospace;font-weight:700;line-height:1.12}.result-titleline{margin:0;font-size:1rem;font-weight:700;line-height:1.7}.message-card{background:var(--paper);border:1px solid #b8a27b;width:min(100%,310px);margin:1.35rem 0 1.1rem;padding:1.4rem 1.2rem 1.2rem;position:relative;box-shadow:3px 4px #d9c49e}.message-card:after{content:"";pointer-events:none;border:1px solid #e5d5b5;position:absolute;inset:5px}.message-card-mark{color:var(--coral-dark);background:var(--paper);z-index:1;padding:0 .5rem;font-size:.9rem;position:absolute;top:-.65rem;left:50%;transform:translate(-50%)}.result-message{z-index:1;color:var(--coral-dark);white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:1.05rem;line-height:1.8;position:relative}.rarity{color:var(--moss);margin:0;font-size:.78rem;line-height:1.7}.rarity strong{color:var(--ink);font-size:.95rem;display:block}.new-best{color:var(--paper);background:var(--coral);margin:.85rem 0 0;padding:.35rem .75rem;font-size:.82rem;font-weight:700;transform:rotate(-2deg)}.result-best{max-width:100%;color:var(--moss);overflow-wrap:anywhere;margin:.9rem 0 0;font-size:.78rem}.result-actions{gap:.8rem;width:min(100%,310px);margin:0 auto;display:grid}.result-actions button{width:100%}.toast{z-index:30;bottom:max(1.4rem, env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 2rem);color:var(--paper);background:var(--ink);border:2px solid var(--paper);box-shadow:4px 4px 0 var(--coral);text-align:center;padding:.75rem 1rem;font-size:.82rem;position:fixed;left:50%;transform:translate(-50%)}@keyframes count-settle{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes growth-feedback{0%{opacity:0;transform:translateY(6px)scale(.6)}20%{opacity:1;transform:translateY(0)scale(1.15)}65%{opacity:1}to{opacity:0;transform:translateY(-12px)scale(1)}}@keyframes fail-flash{0%{opacity:.8}to{opacity:0}}@media (width>=620px){.screen{border:3px solid var(--ink);border-radius:8px;height:min(100svh - 3rem,860px)}.app-shell{padding:1.5rem}}@media (height<=680px){.game-header{padding-top:.6rem}.count-lockup{margin-top:0}.tutorial-snail{width:86px;height:86px}.tutorial-copy{gap:.5rem}.tutorial-screen{gap:1rem}.result-screen{--result-number-cap:3.1rem;padding:.75rem 1rem 1rem}.result-content{padding:.45rem 0}.result-number{margin:.4rem 0 .2rem}.message-card{margin:.85rem 0;padding:1rem .9rem .85rem}.result-message{font-size:.95rem;line-height:1.65}.result-best{margin-top:.4rem}.result-actions{gap:.55rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.is-exploding .flash{display:none}}
