:root{--paper: #f1eee6;--ink: #24272b;--ink-soft: #565c60;--accent: #b23a2e;--rule: #d8d3c4;--good: #2f8f4e}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}html{scroll-behavior:smooth}.page{max-width:480px;min-height:100vh;min-height:100dvh;margin:0 auto;padding:2.5rem 1.5rem 3rem;text-align:center;display:flex;flex-direction:column}.page.tracker,.page.fridge{padding:1.25rem 1.5rem}.tracker h1{margin-bottom:.75rem}#stage{display:flex;flex-direction:column;flex:1}.action-bar{margin-top:auto;padding-top:1rem}.action-bar button{margin-top:.6rem}.action-bar>:first-child{margin-top:0}.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 .5rem}h1{font-size:1.6rem;margin:0 0 1.25rem;word-break:break-word}.top-nav{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.brand-mark-link{color:inherit;text-decoration:none;display:inline-block}.brand-mark{position:relative;display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.16em;line-height:1.3;text-transform:uppercase;color:var(--ink)}.brand-mark__line{display:block}.brand-mark:after{content:"";position:absolute;top:-15%;left:40%;width:1.5px;height:135%;background:var(--ink);transform:rotate(18deg)}.fridge-nav{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);opacity:.55;text-decoration:none;white-space:nowrap}.magnet-title{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:0 0 .5rem}.magnet-tile{display:inline-block;background:var(--ink);color:#fff;font-family:Monofett,cursive;font-size:2rem;line-height:1;padding:.4rem .65rem .3rem;border-radius:10px;text-transform:uppercase}.player-tag{margin:-.3rem 0 1.25rem;font-family:Caveat,cursive;font-size:1.65rem;font-weight:700;color:var(--accent)}.player-tag:empty{display:none}.muted{color:var(--ink-soft);font-size:.95rem}.fineprint{color:var(--ink-soft);font-size:.8rem;margin-top:.75rem}.camera-hint{margin-top:.6rem;text-align:center}.camera-hint summary{cursor:pointer;list-style:none;font-size:.78rem;color:var(--ink-soft);opacity:.65;text-decoration:underline;text-underline-offset:2px}.camera-hint summary::-webkit-details-marker{display:none}.camera-hint p{margin:.4rem 0 0;font-size:.78rem;color:var(--ink-soft);opacity:.8}.error{color:var(--accent);font-size:.95rem}.scan-status--captured{color:var(--good);font-size:1.6rem;font-weight:700;text-align:center;transition:color .15s ease}.lede{font-size:1.05rem;font-weight:600;color:var(--ink);margin:0 0 .35rem}.lede+.muted{margin-top:0}.skeleton-text{display:inline-block;width:55%;height:1.4rem;border-radius:5px;background:var(--rule);animation:skeleton-pulse 1.3s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:.6}50%{opacity:1}}button{display:block;width:100%;margin:.9rem auto 0;padding:.85rem 1.25rem;border-radius:8px;border:none;font-size:1rem;font-weight:600;cursor:pointer}button.primary{background:var(--ink);color:var(--paper)}button.secondary{background:transparent;color:var(--ink-soft);border:1px solid var(--rule)}button.link{display:inline-block;width:auto;background:none;border:none;color:var(--ink-soft);text-decoration:underline;font-size:.85rem;font-weight:500;padding:.3rem;margin:.6rem auto 0}.camera-frame{position:relative;width:min(100%,420px);aspect-ratio:3 / 4;max-height:48vh;max-height:48dvh;margin:.75rem auto;overflow:hidden;border-radius:10px;background:#000}.camera-frame video{width:100%;height:100%;object-fit:cover;display:block}.camera-frame--preview{background:#24272b09;border:1px dashed var(--rule)}.viewfinder-reticle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:calc(100% - 16px);width:auto;aspect-ratio:5 / 7}.corner{position:absolute;width:22px;height:22px;border:1.5px solid var(--ink-soft);opacity:.6}.viewfinder-reticle .corner{border-color:#fff;opacity:.85}.corner--tl{top:0;left:0;border-right:none;border-bottom:none;border-radius:4px 0 0}.corner--tr{top:0;right:0;border-left:none;border-bottom:none;border-radius:0 4px 0 0}.corner--bl{bottom:0;left:0;border-right:none;border-top:none;border-radius:0 0 0 4px}.corner--br{bottom:0;right:0;border-left:none;border-top:none;border-radius:0 0 4px}.guide{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:calc(100% - 16px);width:auto;aspect-ratio:5 / 7;border:2px solid rgba(255,255,255,.9);border-radius:6px;box-shadow:0 0 0 9999px #00000073;pointer-events:none;transition:border-color .15s ease,border-width .15s ease,box-shadow .15s ease}.guide--steady{border-color:var(--good);border-width:4px;box-shadow:0 0 0 9999px #00000073,0 0 22px 6px #2f8f4ea6}.guide--captured{animation:guide-flash .18s ease}@keyframes guide-flash{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(.97)}to{transform:translate(-50%,-50%) scale(1)}}.preview{display:block;width:auto;height:auto;max-width:min(94vw,420px);max-height:48vh;max-height:48dvh;margin:.75rem auto;filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff) drop-shadow(0 2px 3px rgba(20,16,12,.16)) drop-shadow(0 5px 6px rgba(20,16,12,.1))}.fridge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;margin-top:1rem;align-items:start}.fridge-tile img{display:block;width:100%;aspect-ratio:5 / 7;object-fit:contain;filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff) drop-shadow(0 2px 3px rgba(20,16,12,.16)) drop-shadow(0 5px 6px rgba(20,16,12,.1))}.fridge-tile .fineprint{margin-top:.35rem}.fridge-tile--empty{display:flex;flex-direction:column}.fridge-tile--empty__frame{position:relative;aspect-ratio:5 / 7;border-radius:8px;background:#24272b09;border:1px dashed var(--rule)}.fridge-tile--empty__frame .corner{width:14px;height:14px}.fridge-tile--empty .fineprint{margin-top:.35rem}.page.landing{align-items:center}.page.landing .brand-mark{margin-bottom:1.6rem}.hero-wrap{position:relative;height:260px;margin:0 0 1.5rem}.hero-card{position:absolute;top:0;left:0;width:168px;display:block;border-radius:4px;box-shadow:0 12px 24px #24272b26;transition:transform .2s ease}.qr-badge{position:absolute;left:8px;top:224px;width:20px;height:20px;background:#fff;border-radius:3px;box-shadow:0 2px 6px #24272b2e;padding:2px;color:var(--ink);z-index:20}.qr-badge svg{width:100%;height:100%;display:block}.sentence{font-size:1.32rem;font-weight:600;color:var(--ink);max-width:280px;margin:0 0 .3rem}.meta-row{font-size:.85rem;font-weight:500;letter-spacing:.02em;color:var(--ink-soft);max-width:260px;margin:0 0 .55rem}.support-line{font-size:.85rem;font-weight:500;color:var(--ink-soft);max-width:250px;min-height:1.3rem;margin:0 0 1.1rem;transition:opacity .15s ease}.stepper-row{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.stepper-btn{width:34px;height:34px;margin:0;border-radius:50%;border:1px solid var(--rule);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.stepper-btn svg{width:14px;height:14px}.qty-num{min-width:1.6rem;font-size:1.05rem;font-weight:700;line-height:1;color:var(--ink)}.landing button.primary{display:flex;align-items:baseline;justify-content:center;gap:.65rem;width:100%;max-width:260px;padding:.95rem 1.25rem}.cta-label{font-size:1rem;font-weight:600}.cta-price{font-size:.85rem;font-weight:500;opacity:.7}.how-link{display:inline-block;margin-top:1rem;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);opacity:.55;text-decoration:none}.how-section{width:100%;max-width:280px;text-align:left;border-top:1px solid var(--rule);margin-top:2.75rem;padding-top:1.5rem}.how-marketing{font-size:1.1rem;font-weight:600;color:var(--ink);margin:0 0 .6rem}.how-lead{font-size:.85rem;font-weight:500;color:var(--ink-soft);margin:0 0 1.5rem}.how-steps{display:flex;flex-direction:column}.how-step{display:flex;align-items:flex-start;gap:.8rem;position:relative;padding-bottom:1.35rem}.how-step:last-child{padding-bottom:0}.how-step:before{content:"";position:absolute;left:14px;top:30px;width:1px;height:calc(100% - 30px);background:var(--rule)}.how-step:last-child:before{display:none}.how-step-icon{width:29px;height:29px;border-radius:50%;border:1px solid var(--rule);background:var(--paper);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.how-step-icon svg{width:14px;height:14px;color:var(--ink)}.how-step-text{padding-top:.2rem}.how-step-label{font-size:.88rem;font-weight:600;color:var(--ink);margin:0 0 .15rem}.how-step-detail{font-size:.8rem;color:var(--ink-soft);margin:0}
