:root{--paper:#fbf6ea;--ink:#493f35;--muted:#706559;--line:#dcc9aa;--safe:#eaf4e5;--caution:#fff0c8;--danger:#f9e2dd;--nav:68px}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI",sans-serif;color:var(--ink);background:#eee6da}button,input{font:inherit;color:inherit}button{cursor:pointer;min-height:44px;transition:.18s}button:active{transform:scale(.95)}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #31708d;outline-offset:2px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.shell{position:relative;width:min(100%,430px);height:100dvh;margin:auto;background:var(--paper);overflow:hidden;box-shadow:0 10px 30px #49351f20}.app-view{height:calc(100dvh - var(--nav));overflow:hidden}.app-view.view-enter{animation:view-in .22s ease}.bottom-nav{position:absolute;z-index:90;left:0;right:0;bottom:0;height:calc(var(--nav) + env(safe-area-inset-bottom));padding:5px 12px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-top:1px solid var(--line);background:#fffdf8f2;backdrop-filter:blur(12px)}.bottom-nav button{border:0;border-radius:13px;background:transparent;font-size:10px;font-weight:800;color:var(--muted);display:grid;place-items:center;align-content:center}.bottom-nav button span{font-size:19px}.bottom-nav button.active{background:#efe3d0;color:var(--ink)}.shell.reveal-active .bottom-nav{transform:translateY(110%)}
.brand-header{position:relative;height:75px;padding:2px 14px}.brand-logo{width:100%;height:71px;object-fit:contain;animation:breathe 3.4s ease-in-out infinite}.site-home{position:absolute;top:6px;right:8px;padding:5px 8px;border:1px solid var(--line);border-radius:99px;background:#fffdf0e8;color:#80603f;font-size:9px;font-weight:900;text-decoration:none}.hero{padding:5px 14px 6px;text-align:center;background:linear-gradient(#fbf6ea82,#fbf6eaa8),url('/assets/background/spica-garden.png') center/cover}.hero h1{font-size:clamp(16px,4.9vw,20px);margin:0;white-space:nowrap;letter-spacing:-.04em}.hero p{margin:2px 0;font-size:10px}.search,.block{position:relative;padding:8px 14px 0}.search{z-index:20}.search label{font-size:11px;font-weight:900}.searchbox{display:flex;align-items:center;gap:6px;min-height:47px;padding:0 9px;margin-top:3px;border:2px solid var(--line);border-radius:15px;background:#fff}.searchbox input{flex:1;min-width:0;border:0;outline:0;font-size:16px}.searchbox button{border:0;background:none;font-size:20px}.suggestions{display:none;position:absolute;top:68px;left:14px;right:14px;max-height:46dvh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 28px #46321e30}.suggestions.show{display:block}.suggestion{width:100%;padding:7px 12px;border:0;border-bottom:1px dashed var(--line);background:#fff;display:flex;align-items:center;gap:9px}.suggestion img,.chip img{width:38px;height:38px;border-radius:50%;object-fit:contain}.category-picker #categoryToggle{width:100%;min-height:44px;padding:0 14px;border:0;border-radius:14px;background:var(--ink);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:space-between}.categories,.chips{display:flex;gap:5px;margin-top:5px;overflow-x:auto;scrollbar-width:none}.categories::-webkit-scrollbar,.chips::-webkit-scrollbar{display:none}.category-rail-item,.chip{flex:0 0 auto;border:1px solid var(--line);border-radius:99px;background:#fff;font-size:9px;font-weight:800}.category-rail-item{min-height:28px;padding:2px 8px}.notice{margin:6px 14px 0;padding:6px 8px;background:#fff9e9;border:1px solid #e5d3a6;border-radius:11px;font-size:8.5px;line-height:1.35}.heading{display:flex;justify-content:space-between;align-items:center}.heading h2{font-size:12px;margin:0}.heading button{border:0;background:none;font-size:9px;font-weight:900}.chip{min-height:36px;padding:2px 8px;display:flex;align-items:center;gap:3px}.chip img{width:26px;height:26px}.daily-card{margin:10px 14px 0;padding:9px 10px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;font-size:9px}.daily-card button{min-height:30px;border:0;border-radius:9px;background:#efe3d0;font-weight:900}
.view-nav{height:50px;padding:max(6px,env(safe-area-inset-top)) 14px 3px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.view-nav button{justify-self:start;border:0;background:none;font-size:10px;font-weight:900}.view-nav button:last-child{justify-self:end}.view-nav small{font-weight:900;letter-spacing:.15em}.game-view{display:flex;flex-direction:column;background:radial-gradient(circle at 50% 39%,#fff,#fff8ed 38%,var(--paper) 72%)}.guess-stage{flex:1;min-height:0;display:grid;place-items:center;align-content:center;text-align:center}.guess-stage .food{width:min(48vw,190px);height:min(48vw,190px);object-fit:contain}.guess-stage h1{font-size:24px;margin:3px 0 13px}.guess-stage h2{font-size:18px;margin:0}.guess-stage p{font-size:10px;color:var(--muted)}.guesses{padding:0 14px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.guesses button{min-height:74px;border:2px solid var(--line);border-radius:20px;background:#fff;font-size:25px;font-weight:900}.guesses button span{display:block;font-size:12px}.guesses button:first-child{background:#eff7ec;border-color:#9fbd97}.guesses button:last-child{background:#fff0ed;border-color:#d49c92}.skip{margin:4px auto 0;border:0;background:none;text-decoration:underline;font-size:10px}.guess-note{text-align:center;font-size:8px;margin:0 0 4px}.reveal-view{height:100dvh;padding:9px;background:#1e1914}.video{position:relative;width:100%;height:100%;overflow:hidden;border-radius:21px}.video video{width:100%;height:100%;object-fit:cover}.video button,.reveal-caption{position:absolute;top:max(12px,env(safe-area-inset-top));z-index:3;border:1px solid #ffffff88;border-radius:99px;background:#1e1914aa;color:#fff;font-size:10px;font-weight:900}.video button{right:11px}.reveal-caption{left:11px;margin:0;padding:6px 8px}
.result-view{display:flex;flex-direction:column}.result{flex:1;min-height:0;margin:0 14px 5px;padding:7px 15px;text-align:center;border:1.5px solid var(--line);border-radius:21px;display:flex;flex-direction:column;align-items:center;justify-content:center}.result.safe{background:var(--safe)}.result.caution{background:var(--caution)}.result.danger{background:var(--danger)}.result-visual{position:relative;width:100%;height:min(31dvh,210px);display:grid;place-items:center}.result-visual .food{width:min(42vw,180px);height:min(42vw,180px);object-fit:contain}.verdict-logo{position:absolute;right:1%;top:0;width:min(40vw,172px);opacity:0;filter:drop-shadow(0 5px 5px #49351f35)}.verdict-logo.settled{animation:settle .38s .72s ease-out both}.result h1{font-size:22px;margin:0}.verdict{height:0;overflow:hidden;opacity:0}.dogline{display:flex;gap:7px;align-items:center;width:100%;padding:7px;border-radius:13px;background:#ffffffbd;text-align:left}.dogline img{width:40px;height:40px;border-radius:50%;object-fit:cover}.dogline p{margin:0;font-size:11px;line-height:1.45;font-weight:700}.result .sub{font-size:9px;margin:4px 0}.resultnotice{margin:0 14px 5px;padding:7px 9px;border:1px solid #e5d3a6;border-radius:11px;background:#fff9e9;font-size:8px}.resultnotice.danger{border:2px solid #d48377;background:#ffebe7;color:#6f2922;font-size:10px;font-weight:800}.result-actions{display:grid;grid-template-columns:1.3fr 1fr;gap:7px;padding:0 14px 6px}.result-actions button{border:1px solid var(--line);border-radius:14px;background:#fff;font-size:12px;font-weight:900}.result-actions .primary{background:var(--ink);color:#fff}
.ranking-view{display:flex;flex-direction:column}.ranking-header{padding:max(11px,env(safe-area-inset-top)) 14px 4px}.ranking-header h1{margin:0;font-size:20px}.ranking-header p{margin:2px 0;font-size:9px}.tabs{margin:2px 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.tabs button,.periods button{border:1px solid var(--line);border-radius:10px;background:#fff;font-size:9px;font-weight:800}.tabs button.active{background:var(--ink);color:#fff}.periods{display:flex;gap:5px;margin:5px 14px}.periods button{min-height:34px}.periods button.active{background:#ded0ba}.ranklist{flex:1;min-height:0;overflow-y:auto;display:grid;align-content:start;gap:5px;margin:2px 14px}.rankrow{min-height:59px;padding:5px 7px;display:grid;grid-template-columns:29px 42px 1fr auto;gap:6px;align-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left}.rankrow i{font-style:normal;font-size:18px;text-align:center}.rankrow img{width:42px;height:42px;border-radius:50%;object-fit:contain}.rankrow span{min-width:0}.rankrow span b,.rankrow span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rankrow small{font-size:8px}.ranking-note{margin:4px 14px 6px;padding:5px;border:1px solid #e5d3a6;border-radius:10px;font-size:8px;text-align:center}.rank-empty{height:100%;display:grid;place-items:center;align-content:center;text-align:center;gap:6px}.rank-empty img{width:105px}.rank-empty button{border:0;border-radius:14px;background:var(--ink);color:#fff;font-weight:900}
.category-modal,.sheet{position:fixed;z-index:200;inset:0;background:#2d2925b8;backdrop-filter:blur(4px)}.category-dialog{width:min(100%,430px);height:100dvh;margin:auto;background:var(--paper);display:flex;flex-direction:column}.category-dialog>header{display:grid;grid-template-columns:44px 1fr 44px;gap:5px;padding:max(8px,env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid var(--line)}.category-dialog h2{grid-column:2;grid-row:1;margin:0;text-align:center;align-self:center;font-size:16px;white-space:nowrap}.category-dialog header button{width:44px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:20px}.category-back{grid-column:1;grid-row:1}.category-close{grid-column:3;grid-row:1}.category-modal-content{flex:1;min-height:0;padding:12px}.modal-categories{overflow:auto;display:grid;grid-template-columns:repeat(2,1fr);align-content:start;gap:8px}.modal-category{min-height:90px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;place-items:center}.modal-category span{font-size:26px}.modal-category b{font-size:11px}.modal-category small{font-size:8px}.modal-foods{display:flex;flex-direction:column}.food-page{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:6px}.modal-food-card{min-width:0;min-height:0;padding:3px;border:1px solid var(--line);border-radius:13px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px}.modal-food-card img{width:min(17vw,67px);height:min(17vw,67px);object-fit:contain}.pager{height:52px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:7px}.pager button{border:1px solid var(--line);border-radius:50%;background:#fff}.pager-dots{display:flex;justify-content:center;gap:6px}.pager-dots i{width:7px;height:7px;border-radius:50%;background:#d8cbb8}.pager-dots i.active{background:var(--ink)}
.sheet{z-index:220;background:transparent;backdrop-filter:none}.sheet-backdrop{position:absolute;inset:0;background:#2d29259e}.sheet-dialog{position:absolute;left:50%;bottom:0;width:min(100%,430px);height:min(82dvh,720px);transform:translateX(-50%);border-radius:23px 23px 0 0;background:var(--paper);display:flex;flex-direction:column;animation:sheet-up .22s ease}.sheet-handle{width:40px;height:5px;margin:8px auto 2px;border-radius:99px;background:#cbbca8}.result-mini-header{min-height:59px;padding:4px 11px;display:grid;grid-template-columns:70px 42px 1fr 44px;gap:6px;align-items:center;border-bottom:1px solid var(--line)}.mini-verdict{width:70px;height:38px;object-fit:contain}.mini-food{width:42px;height:42px;object-fit:contain}.result-mini-header button{border:1px solid var(--line);border-radius:50%;background:#fff;font-size:20px}.sheet-body{flex:1;min-height:0;overflow-y:auto;padding:3px 13px max(16px,env(safe-area-inset-bottom))}.sheet-body .notice{margin-left:0;margin-right:0}.details{display:grid;gap:6px;margin-top:7px}.details details,.sources{padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff}.details summary,.sources summary{font-weight:900}.details p{font-size:11px;line-height:1.6}.sources{margin-top:7px}.sources li,.sources p{font-size:9px}.verdict-splash{position:fixed;z-index:300;inset:0;display:grid;place-items:center;pointer-events:none;visibility:hidden}.verdict-splash img{width:min(82vw,620px)}.verdict-splash.impact{visibility:visible;animation:splash-hide 1.15s both}.verdict-splash.impact img{animation:impact 1.15s ease both}
@keyframes(min-height:860px){.top-view{display:flex;flex-direction:column;padding-top:clamp(10px,3dvh,30px);padding-bottom:clamp(14px,4dvh,38px)}.top-view>.hero{margin-top:clamp(5px,1.3dvh,15px)}.top-view>.search{margin-top:clamp(5px,1.4dvh,16px)}.top-view>.category-picker{margin-top:clamp(4px,1.2dvh,14px)}.top-view>.notice{margin-top:clamp(7px,1.3dvh,15px)}.top-view>.popular-block{margin-top:clamp(7px,1.5dvh,18px)}.top-view>.daily-card{margin-top:clamp(12px,2dvh,24px)}} view-in{from{opacity:.3;transform:translateY(5px)}}@keyframes breathe{50%{transform:translateY(-2px)}}@keyframes settle{from{opacity:0;transform:scale(.7)}to{opacity:1}}@keyframes sheet-up{from{transform:translate(-50%,35px);opacity:.6}}@keyframes impact{0%{opacity:0;transform:scale(.12)}28%{opacity:1;transform:scale(1.22)}55%{transform:scale(.88)}82%{opacity:1;transform:scale(1.03)}100%{opacity:0}}@keyframes splash-hide{0%,92%{visibility:visible}100%{visibility:hidden}}@media(max-height:700px){.brand-header{height:64px}.brand-logo{height:61px}.daily-card{display:none}.notice{font-size:7.5px}.guess-stage .food{width:140px;height:140px}.result-visual{height:145px}}@media(min-width:700px){body{padding:24px}.shell{height:calc(100dvh - 48px);border-radius:28px}.app-view{height:calc(100dvh - 48px - var(--nav))}.reveal-view{height:calc(100dvh - 48px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.verdict-splash{display:none}.verdict-logo{opacity:1}}
