:root{color-scheme:light;--navy:#002f54;--navy-deep:#001e36;--ecru:#f9f7ee;--paper:#fffef9;--sand:#e8d1ab;--ink:#172634;--muted:#53626e;--line:rgba(0,47,84,.16);--serif:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Noto Sans JP","Yu Gothic UI","Hiragino Sans",sans-serif;--danger:#8e3434}
*{box-sizing:border-box}body{margin:0;background:var(--ecru);color:var(--ink);font:15px/1.8 var(--sans)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:var(--navy);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #487f9e;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.5;color:var(--navy)}h1{font:500 clamp(27px,4.5vw,40px)/1.55 var(--serif);letter-spacing:.025em}h2{font-size:21px;font-weight:600}h3{font-size:17px}img{max-width:100%;object-fit:contain}[hidden]{display:none!important}.shell{max-width:1024px;margin:auto;padding:0 20px}.site-header{max-width:1120px;margin:auto;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.site-header a{display:flex;align-items:center;min-height:44px}.site-header img{height:auto;width:154px}.site-header>span,.eyebrow{color:var(--navy);font-size:10px;font-weight:700;letter-spacing:.2em}.site-header>span{font-size:9px}.intro{padding:48px 0 36px;max-width:680px}.intro .eyebrow{margin-bottom:16px}.lead{font-size:20px;font-weight:500;margin:22px 0 12px;color:var(--navy)}.intro-copy{color:var(--muted)}.scope-note{font-size:12px;color:var(--muted);margin-top:18px;max-width:570px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px 20px}.section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.section-heading p{font-size:13px;color:var(--muted);margin-top:4px}.step{flex:0 0 32px;color:var(--navy);border-top:2px solid var(--sand);padding-top:6px;font-size:12px;font-weight:700;letter-spacing:.1em;margin-top:5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}label{display:block;font-size:13px;font-weight:500;color:var(--navy)}input:not([type=checkbox]),select{display:block;width:100%;min-width:0;min-height:48px;border:1px solid #a6b0b6;border-radius:7px;background:#fff;color:var(--ink);padding:10px 11px;margin-top:6px;font-size:16px}input::placeholder{color:#727e86}.wide{grid-column:1/-1}.unit-label{font-size:12px;color:var(--muted);font-weight:400}.help{font-size:12px;color:var(--muted);margin-top:10px}.check-row{display:flex;gap:10px;align-items:flex-start;min-height:44px;margin-top:18px;color:var(--ink);font-weight:400;cursor:pointer}.check-row input{accent-color:var(--navy);width:20px;height:20px;flex:0 0 20px;margin:3px 0 0}.button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:12px 18px;border:1px solid var(--navy);border-radius:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:1.5;transition:background .16s ease,color .16s ease}.primary{background:var(--navy);color:#fff}.primary:hover:not(:disabled){background:var(--navy-deep)}.outline{background:transparent;color:var(--navy)}.outline:hover:not(:disabled){background:#eee7d7}#profile-form>.button{margin-top:22px;width:100%}.inline-status{color:var(--muted);font-size:13px;margin-top:12px;min-height:24px}.inline-status.error,.warning{color:var(--danger)}.comparison-section{margin-top:48px}.add-actions{display:grid;grid-template-columns:1fr;gap:10px}.comparison-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;font-size:12px;color:var(--muted);min-height:44px}.text-button{min-height:44px;padding:8px 0;border:0;background:none;text-decoration:underline;text-underline-offset:3px;color:var(--navy);font-size:12px}.empty-state{text-align:center;border:1px dashed #adb4b8;border-radius:14px;padding:32px 16px;background:rgba(255,255,255,.25)}.empty-state p{color:var(--muted);font-size:13px;margin-top:10px}.empty-mark{font-size:28px;line-height:1;color:var(--navy);display:block;margin-bottom:14px}.comparison-grid{display:grid;grid-template-columns:1fr;gap:20px}.food-card{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}.card-body{padding:22px 18px}.card-top{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.card-top>div{min-width:0}.brand-label{font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--muted)}.card-title{font-size:17px;overflow-wrap:anywhere;margin-top:5px}.remove-button{min-width:44px;min-height:44px;flex:0 0 44px;margin:-8px -8px 0 0;background:transparent;border:0;font-size:23px;color:var(--muted)}.pack-field{margin-top:18px}.pack-field select{font-size:14px}.food-facts{font-size:12px;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}.manual-fields{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.mass-row{display:flex;gap:8px}.mass-row>input{flex:1;min-width:0}.mass-row>select{width:74px;flex:0 0 74px}.manual-fields .check-row{margin:0}.card-result{padding:20px 18px;background:#f1efe4;min-height:144px}.result-label{font-size:12px;color:var(--muted)}.daily-price{color:var(--navy);font-size:36px;line-height:1.4;font-weight:500;letter-spacing:-.025em;overflow-wrap:anywhere}.daily-price small{font-size:15px;letter-spacing:0;margin-left:4px}.result-sub{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:8px;font-size:12px}.result-sub strong{font-size:16px;color:var(--navy);font-weight:600}.difference{font-size:13px;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.waiting-result{font-size:13px;color:var(--muted)}.baseline-button{width:100%;min-height:44px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--navy);font-size:12px;margin-top:14px;padding:8px}.baseline-button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.card-source{font-size:12px;margin-top:14px}.card-source summary{font-size:12px;padding:10px 0;min-height:44px}.card-source .details-body{padding:0 0 12px;font-size:12px}.card-source a{display:inline-block;min-height:44px;padding:10px 0;overflow-wrap:anywhere}.result-note{font-size:12px;color:var(--muted);margin:20px 0 0}.details-section{margin-top:38px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;min-height:52px;padding:16px 4px;color:var(--navy);font-size:14px}.details-body{padding:0 4px 22px;font-size:13px;color:var(--muted)}.details-body p+p{margin-top:12px}.formula{padding:14px;background:#efebdd;font-size:12px;line-height:2;overflow-wrap:anywhere}.data-status{font-size:11px;color:var(--muted);margin-top:18px}.next-step{margin:56px 0 40px;border-top:1px solid var(--line);padding-top:32px}.next-step h2{font-family:var(--serif);font-weight:500;margin-top:10px}.next-step p:not(.eyebrow){font-size:13px;color:var(--muted);margin:12px 0 20px}.site-footer{padding:24px;text-align:center;border-top:1px solid var(--line);font-size:12px}.site-footer a{display:inline-block;min-height:44px;padding:10px}.site-footer small{display:block;color:var(--muted);font-size:10px;margin-top:6px}dialog{width:calc(100% - 24px);max-width:620px;max-height:88dvh;margin:auto;padding:22px 18px;background:var(--paper);border:1px solid var(--line);border-radius:14px;color:var(--ink)}dialog::backdrop{background:rgba(0,22,39,.48)}body:has(dialog[open]){overflow:hidden}.picker-header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.picker-header h2{margin:6px 0 20px;font-size:20px}.close-button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--navy);font-size:24px}.picker-controls{display:grid;gap:14px}.search-results{list-style:none;margin:12px 0;padding:0}.search-results li{border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;justify-content:space-between;padding:16px 0}.search-results li>div{min-width:0}.search-results h3{font-size:14px;overflow-wrap:anywhere}.search-results p{font-size:11px;color:var(--muted);margin-top:5px}.search-results button{flex:0 0 66px;min-height:44px;padding:8px;font-size:12px}#more-results{width:100%}.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}.skip-link{position:absolute;top:-100px;left:12px;background:white;z-index:20;padding:12px}.skip-link:focus{top:12px}.noscript{padding:24px;background:#fff3df}.desktop-only{display:none}
@media(min-width:640px){.shell{padding:0 32px}.intro{padding:64px 0 42px}.mobile-only{display:none}.desktop-only{display:initial}.panel{padding:32px}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.form-grid .wide{grid-column:span 2}#profile-form>.button{width:auto;min-width:240px}.add-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:600px}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.picker-controls{grid-template-columns:1.4fr 1fr}dialog{padding:28px}.comparison-section{margin-top:56px}.next-step{margin-top:64px}.card-body{padding:24px}.card-result{padding:22px 24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.comparison-section>.data-status{margin:0 0 18px}
@media(max-width:380px){.manual-fields{grid-template-columns:minmax(0,1fr)}.manual-fields>.wide{grid-column:auto}}
.inline-status.energy-summary{margin-top:22px;padding-left:16px;border-left:2px solid var(--sand);color:var(--navy)}
.energy-label{display:block;font-size:16px;line-height:1.6}.energy-amount{display:block;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.3;margin:5px 0 8px}.energy-number{font-size:clamp(36px,5vw,44px);font-weight:600;letter-spacing:.01em}.energy-unit{font-size:22px;font-weight:500}.energy-next{display:block;font-size:15px;color:var(--muted);line-height:1.7}
.next-step .store-cta{position:relative;isolation:isolate;overflow:hidden;width:100%;min-height:58px;padding:15px 24px;background:var(--navy);color:var(--ecru);border:1px solid var(--navy);box-shadow:inset 0 0 0 1px rgba(232,209,171,.55),0 5px 14px rgba(0,47,84,.12);font-size:16px;letter-spacing:.03em}
.store-cta>span{position:relative;z-index:1}.store-cta::before{content:"";position:absolute;inset:-25% auto -25% 0;width:32%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(249,247,238,.27),transparent);transform:translateX(-180%) skewX(-18deg);opacity:0}.store-cta.is-highlighted::before{animation:store-cta-glint 1.2s ease-out .15s 1 both}.next-step .store-cta:hover{background:var(--navy-deep);color:var(--ecru)}
@keyframes store-cta-glint{0%{transform:translateX(-180%) skewX(-18deg);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translateX(440%) skewX(-18deg);opacity:0}}
@media(min-width:640px){.next-step .store-cta{width:320px;max-width:100%}}
@media(prefers-reduced-motion:reduce){.store-cta.is-highlighted::before{animation:none!important;opacity:0}}
