:root{font-family:ui-rounded,Avenir Next,system-ui,sans-serif;color:#302922;background:#fff8ed;font-synthesis:none;--red:#ed5a38;--ink:#302922;--cream:#fff8ed;--green:#318b68}*{box-sizing:border-box}html{min-height:100%;background-color:var(--cream);background-image:radial-gradient(circle at 15% 4%,#ffe3a7 0,transparent 24rem);background-repeat:no-repeat;background-attachment:fixed}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:transparent;overscroll-behavior:none}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.shell{width:min(100%,540px);min-height:100vh;min-height:100dvh;margin:auto;padding:calc(env(safe-area-inset-top,0px) + 16px) 22px calc(env(safe-area-inset-bottom,0px) + 24px);position:relative}.loading{display:grid;place-content:center;text-align:center}.brand-mark{margin:auto;width:60px;height:60px;border-radius:20px;display:grid;place-items:center;background:var(--red);color:#fff;transform:rotate(-6deg)}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.13em;color:var(--red);font-size:.72rem;font-weight:700}.header h1,.winner-screen h1{font:800 2.25rem/1 Fraunces,Georgia,serif;margin:0;letter-spacing:-.035em}.icon-button{border:1px solid #e6d8c8;background:#fffaf2;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;color:var(--ink);position:relative}.icon-button svg{width:20px}.history-button span{position:absolute;right:-4px;top:-5px;width:20px;height:20px;display:grid;place-items:center;background:var(--red);color:#fff;border-radius:50%;font-size:.7rem;font-weight:700;line-height:1}.intro{background:#fbd57e;border-radius:28px;padding:22px 24px 24px;position:relative;overflow:hidden;margin-bottom:18px;box-shadow:0 7px #e7bd60}.intro h2{font:800 1.65rem Fraunces,serif;margin:65px 0 5px}.intro p{margin:0;line-height:1.45;max-width:340px}.jar-illustration{position:absolute;right:20px;top:14px;width:145px;height:78px;border:4px solid #483b2b;border-top:0;border-radius:10px 10px 35px 35px;background:#fff4dba8;display:flex;align-items:center;justify-content:center;font-size:2rem;transform:rotate(3deg)}.jar-illustration:before{content:"";position:absolute;top:-9px;width:158px;height:13px;border-radius:6px;background:#483b2b}.jar-illustration span{transform:rotate(-5deg)}.add-form{display:flex;gap:9px}.add-form input,.edit-form input{min-width:0;flex:1;border:1.5px solid #dccdbc;background:#fff;border-radius:15px;padding:14px 16px;outline:none}.add-form input:focus,.edit-form input:focus{border-color:var(--red);box-shadow:0 0 0 3px #ed5a3820}.add-button{width:52px;border:0;border-radius:15px;background:var(--red);color:#fff;font-size:2rem;box-shadow:inset 0 -4px #bd3d24}.error,.notice{background:#fff0e8;color:#9b321e;padding:10px 13px;border-radius:10px;font-size:.85rem;margin:10px 0}.list-heading{display:flex;align-items:center;gap:8px;margin:27px 2px 10px}.list-heading h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;margin:0}.list-heading span{background:#eadfd2;padding:1px 7px;border-radius:12px;font-size:.75rem}.restaurant-list,.history-list{list-style:none;padding:0;margin:0}.restaurant-list li{display:flex;align-items:center;min-height:58px;border-bottom:1px solid #e9ddcf;gap:10px}.number{color:#a98;font-size:.72rem;font-weight:700}.restaurant-name{flex:1;font-weight:700}.row-action,.small-button{border:0;background:transparent;width:36px;height:36px;display:grid;place-items:center;color:#75685b}.row-action svg,.small-button svg{width:17px}.danger{color:#c64e38}.empty{justify-content:center;color:#8d7d6f;font-size:.9rem;padding:24px}.edit-form{flex:1;display:flex;gap:3px}.start-action{margin-top:16px;text-align:center}.start-action+.add-form{margin-top:16px}.start-action p{color:#88776a;font-size:.78rem;margin:10px 0 0}.primary{width:100%;border:0;border-radius:17px;padding:17px 19px;background:var(--ink);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 5px #0f0d0b}.primary span:first-child{flex:1;text-align:center;padding-left:20px}.primary:disabled{opacity:.4;box-shadow:none}.game-screen{min-height:calc(100dvh - 50px);display:flex;flex-direction:column}.progress-meta{display:flex;justify-content:space-between;font-size:.75rem;font-weight:700;color:#77695d}.progress{height:6px;background:#e9ded1;border-radius:9px;margin:8px 0 2px;overflow:hidden}.progress i{display:block;height:100%;background:var(--red);transition:width .2s}.notice{text-align:center;margin:10px 0 0}.card-stage{flex:1;min-height:370px;position:relative;display:grid;place-items:center;padding:30px 0 18px}.back-card,.swipe-card{position:absolute;width:min(88%,380px);height:min(52vh,455px);border-radius:29px}.back-card{background:#f4c961;border:2px solid #dfb650}.back-one{transform:rotate(3deg) translate(6px,5px)}.back-two{transform:rotate(-3deg) translate(-7px,9px);background:#c9dfbd;border-color:#aac99a}.swipe-card{background:#fffdfa;border:2px solid #ded1c2;box-shadow:0 18px 35px #59432d29;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .2s ease}.swipe-card:active{transition:none}.swipe-card p{margin:18px 0 3px;color:#87786b;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.swipe-card h2{margin:0;max-width:100%;font:800 clamp(2rem,9vw,3.3rem)/1.05 "Fraunces",serif;overflow-wrap:anywhere}.food-icon{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#ffe7a9;font-size:2.5rem}.hint{position:absolute;bottom:22px;color:#aa9a8c;font-size:.72rem}.stamp{position:absolute;top:32px;border:4px solid;padding:5px 10px;border-radius:8px;text-transform:uppercase;font-weight:800;opacity:0}.stamp.visible{opacity:1}.stamp.keep{left:22px;color:var(--green);transform:rotate(-9deg)}.stamp.dismiss{right:18px;color:var(--red);transform:rotate(9deg)}.leaving-left{transform:translate(-150%) rotate(-18deg)!important}.leaving-right{transform:translate(150%) rotate(18deg)!important}.decision-buttons{display:flex;justify-content:center;gap:25px;position:relative;z-index:3}.decision{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:.72rem;font-weight:700}.decision svg{width:58px;height:58px;padding:16px;border-radius:50%;background:#fff;box-shadow:0 5px 17px #5a463520}.dismiss-button{color:var(--red)}.keep-button{color:var(--green)}.text-button{border:0;background:transparent;margin:18px auto 0;display:flex;align-items:center;justify-content:center;gap:7px;color:#6d6055;font-size:.82rem;padding:10px}.text-button svg{width:16px}.winner-screen{min-height:calc(100dvh - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.winner-screen h1{font-size:clamp(2.7rem,13vw,4.7rem);max-width:100%;overflow-wrap:anywhere}.winner-copy{color:#74675c;margin:13px 0}.trophy{width:105px;height:105px;border-radius:50%;display:grid;place-items:center;background:#fbd57e;color:#c27b15;margin-bottom:30px;box-shadow:0 8px #e2b54d}.trophy svg{width:53px;height:53px}.round-pill{background:#eee2d4;border-radius:20px;padding:7px 13px;font-size:.75rem;font-weight:700;margin-bottom:35px}.winner-screen .primary{max-width:360px}.confetti{position:absolute;top:13%;color:var(--red);font-size:1.4rem;transform:rotate(-7deg);white-space:nowrap}.winner-list{width:min(100%,360px);list-style:none;padding:0;margin:4px 0 16px;display:grid;gap:8px;text-align:left}.winner-list li{display:flex;align-items:center;gap:10px;background:#fffdfa;border:1px solid #e5d8ca;border-radius:14px;padding:11px 14px;font-weight:700}.winner-list li span{width:30px;height:30px;border-radius:9px;background:#f8de98;display:grid;place-items:center;font-size:.85rem}.history-list li{display:flex;align-items:center;gap:13px;padding:16px 5px;border-bottom:1px solid #e6d9cb}.history-rank{width:42px;height:42px;border-radius:13px;background:#f8de98;display:grid;place-items:center}.history-list div{flex:1;display:flex;flex-direction:column}.history-list div span,.history-list small{color:#8b7a6c;font-size:.74rem}.danger-text{color:#b4402c}.history-empty{text-align:center;padding:22vh 20px 0}.history-empty svg{width:60px;height:60px;color:#d4b77b}.history-empty h2{font:800 1.8rem Fraunces,serif;margin:18px 0 6px}.history-empty p{color:#847568;margin:0 0 25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:700px){.shell{padding-left:0;padding-right:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
