@charset "UTF-8";
:root{--paper:#fffaf0;--ink:#251740;--muted:#655d77;--line:#251740;--accent:#7045ef;--accent-soft:#e6dcff;--green-soft:#e7facd;--white:#fffef9;--sans:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--serif:var(--sans)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior-x:none;-webkit-text-size-adjust:100%}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;touch-action:manipulation}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #2460ef;outline-offset:4px}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}fieldset{min-width:0}
.site-header{max-width:1360px;margin:auto;padding:22px max(36px,env(safe-area-inset-right)) 22px max(36px,env(safe-area-inset-left));padding-top:max(22px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:2px solid var(--line)}.brand{display:flex;align-items:center;gap:10px}.brand svg,.brand img{width:42px;height:42px;color:var(--ink)}.brand>span:first-of-type{font-size:28px;letter-spacing:-1.5px;font-weight:900}.brand-caption{font-size:10px;font-weight:800;letter-spacing:.04em;border-left:2px solid var(--ink);padding-left:16px;margin-left:8px}.mode-pill{min-height:40px;padding:8px 14px;border:2px solid var(--ink);border-radius:50px;background:#e9ff52;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;box-shadow:2px 2px 0 var(--ink)}.status-dot{width:7px;height:7px;background:var(--ink);border-radius:50%}.journey{display:flex;gap:18px;font-size:11px;font-weight:800;color:var(--muted)}.journey .current{color:var(--accent)}.journey i{font-style:normal;margin-right:4px}.journey b{font-weight:400}main{max-width:1190px;margin:auto;padding:0 36px}.discover-grid{display:grid;grid-template-columns:1fr 430px;gap:80px;align-items:center;padding:52px 0 44px}.intro{position:relative}.eyebrow{font:900 11px/1.6 var(--sans);letter-spacing:.15em}.intro>.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#ff8cc4;border:2px solid var(--ink);border-radius:40px;padding:6px 14px;transform:rotate(-3deg);margin-bottom:24px}.hero-title,.intro h1{font-family:var(--sans);font-size:clamp(38px,4.4vw,58px);font-weight:900;letter-spacing:-.07em;line-height:1.32;overflow-wrap:anywhere}.hero-title em,.hero-title mark,.hero-title .highlight,.intro h1 em{font-style:normal;color:var(--accent);background:none}.intro .lead,.intro-copy{font-size:15px;color:var(--muted);line-height:1.9;margin-top:24px}.how-to{display:flex;gap:12px;align-items:center;margin-top:25px}.how-symbol{display:grid;place-items:center;background:#e9ff52;border:2px solid var(--ink);border-radius:50%;width:43px;height:43px;font-size:28px}.how-to p{font-size:12px;font-weight:700}.how-to span{color:var(--muted)}.preferences{max-width:348px;border-top:2px dashed #c1b7cf;padding-top:22px;margin-top:30px}.preference-heading{display:flex;justify-content:space-between;font-size:12px;font-weight:800}.tiny-label{font-size:9px;letter-spacing:.08em}.time-options{display:flex;padding:4px;gap:5px;background:#e5dbfb;border:2px solid var(--ink);border-radius:12px;margin-top:10px}.time-options button{flex:1;border-radius:7px;background:transparent;padding:8px;font-weight:900;font-size:19px}.time-options button[aria-pressed=true]{background:var(--white);box-shadow:2px 2px 0 var(--ink)}.time-options span,.time-options small{font-size:10px;margin-left:4px}.text-button{width:100%;background:transparent;display:flex;gap:7px;align-items:center;padding:13px 0;min-height:44px;font-size:12px;font-weight:700}.text-button svg{width:16px}.text-button>span:last-child{margin-left:auto}.quiet-note{font-size:11px;color:var(--muted);margin-top:14px}.mobile-conditions,#mobile-conditions{display:none}
.swipe-area{width:100%;max-width:430px;justify-self:end;position:relative}.deck-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;font-weight:900;margin:0 2px 15px}.deck-heading>span:last-child{font-size:20px}.deck-heading i{font-style:normal;font-size:11px;color:var(--muted)}.card-stage{position:relative;isolation:isolate}.card-back{position:absolute;inset:3px 1px;border:2.5px solid var(--ink);border-radius:25px;z-index:-1;pointer-events:none}.back-one{transform:rotate(4deg);background:#e9ff52}.back-two{transform:rotate(-3deg);background:#ff8cc4}.mood-card{border:2.5px solid var(--ink);border-radius:24px;overflow:hidden;position:relative;background:#cdbbff;box-shadow:5px 6px 0 var(--ink);touch-action:pan-y;cursor:grab;user-select:none;transition:transform .22s ease,opacity .22s ease;will-change:transform}.mood-card[data-theme=lavender]{background:#cdbbff}.mood-card[data-theme=yellow]{background:#e9ff52}.mood-card[data-theme=pink]{background:#ffc1df}.mood-card[data-theme=mint]{background:#a3edce}.mood-card[data-theme=blue]{background:#bed0ff}.mood-card[data-theme=orange]{background:#ffc493}.mood-card.dragging{transition:none;cursor:grabbing}.mood-card.fly-right{transform:translateX(110%) rotate(14deg)!important;opacity:0}.mood-card.fly-left{transform:translateX(-110%) rotate(-14deg)!important;opacity:0}.mood-card.fly-skip{transform:translateY(-25px)!important;opacity:0}.mood-art{display:flex;align-items:center;justify-content:center;position:relative;height:265px;padding:10px 12px 0;background-image:radial-gradient(#25174015 1.2px,transparent 1.2px);background-size:17px 17px}.mood-art img{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none}.mood-card-copy{padding:21px 24px 24px;background:var(--white);border-top:2.5px solid var(--ink)}.mood-card-copy h2{font-size:26px;font-weight:900;line-height:1.45;letter-spacing:-.05em}.mood-card-copy p{font-size:12px;line-height:1.8;margin-top:5px;color:var(--muted)}.card-category,.card-label{position:absolute;left:17px;top:14px;background:var(--white);border:2px solid var(--ink);padding:3px 9px;border-radius:50px;font-size:10px;font-weight:900}.stamp{position:absolute;top:70px;z-index:2;padding:9px 14px;border:3px solid var(--ink);font-weight:900;font-size:24px;border-radius:9px;opacity:0;pointer-events:none;box-shadow:3px 3px 0 var(--ink)}.stamp-yes{left:18px;background:#e9ff52;transform:rotate(-12deg)}.stamp-no{right:18px;background:#ff8cc4;transform:rotate(12deg)}.swipe-actions{display:flex;justify-content:center;align-items:center;gap:32px;padding-top:28px}.decision{width:72px;height:72px;background:var(--white);border:2.5px solid var(--ink);border-radius:50%;box-shadow:3px 4px 0 var(--ink);display:grid;place-items:center;position:relative;transition:transform .15s ease,box-shadow .15s}.decision:active:not(:disabled){transform:translate(2px,3px);box-shadow:1px 1px 0 var(--ink)}.decision svg{width:29px;height:29px}.decision.like{background:#e9ff52}.decision.like svg{fill:currentColor}.decision.pass{background:#fffef9}.decision>span{position:absolute;top:81px;white-space:nowrap;font-size:12px;font-weight:800;letter-spacing:0}.undo{height:45px;width:45px;border:2px solid var(--ink);border-radius:50%;background:#e6dcff;display:grid;place-items:center}.undo svg{width:20px;height:20px}.progress{display:flex;gap:7px;justify-content:center;margin-top:42px}.progress span{height:7px;width:7px;border:1.5px solid var(--ink);border-radius:50%;background:transparent}.progress span.done{background:var(--accent)}.progress span.now{background:#ff8cc4}.swipe-tip{text-align:center;font-size:10px;color:var(--muted);margin-top:7px}.swipe-tip>span{display:block}.skip-button{display:block;min-height:44px;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:12px;margin:6px auto 0;color:var(--muted)}.card-status{font-size:12px;font-weight:700;text-align:center;min-height:20px;margin-top:12px;color:var(--accent)}.step-error{background:#fff0db;border:2px solid var(--ink);border-radius:14px;padding:15px;font-size:13px;margin-top:18px}.step-error p{margin-bottom:9px}.step-error button{min-height:44px}.hypothesis-note{font-size:12px;background:#e8defc;padding:12px 15px;border:2px solid var(--ink);border-radius:12px;margin-top:18px}.liked-section{padding:25px 0 30px;border-top:2px dashed #c1b7cf;display:flex;align-items:flex-start;gap:25px}.liked-section h2{font-size:15px;font-weight:900;white-space:nowrap}.liked-section .eyebrow{font-size:9px;color:var(--accent)}.liked-list{display:flex;gap:8px;flex-wrap:wrap}.liked-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--white);border:1.5px solid var(--ink);border-radius:40px;font-size:11px;font-weight:700}.liked-chip img{width:28px;height:28px;object-fit:contain}.liked-chip .small-heart{color:var(--accent)}.liked-chip[data-value=pass]{background:#f0eafa}.liked-chip[data-value=skip]{background:#f0eee9}.empty-history{font-size:12px;color:var(--muted)}
.primary-button,.secondary-button{min-height:49px;border:2px solid var(--ink);border-radius:13px;padding:12px 22px;font-size:14px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:18px;line-height:1.6}.primary-button{background:var(--accent);color:#fff;box-shadow:3px 4px 0 var(--ink)}.primary-button:hover:not(:disabled){background:#6135e2}.primary-button:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 2px 0 var(--ink)}.secondary-button{background:var(--white)}.button-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.results{padding:44px 0 54px;outline:none}.result-heading{text-align:center;max-width:780px;margin:0 auto 30px}.result-heading .eyebrow{color:var(--accent)}h1{font-size:36px;font-weight:900;line-height:1.5;letter-spacing:-.045em}.result-heading h1{margin-top:10px}.result-heading>p:not(.eyebrow){font-size:14px;margin-top:12px;color:var(--muted);line-height:1.9}.result-mode{display:inline-block;border:1.5px solid var(--ink);background:#e9ff52;border-radius:30px;padding:4px 12px;font-size:11px!important;color:var(--ink)!important;font-weight:800}.mood-check{max-width:760px;margin:auto}.mood-check .result-heading{margin-bottom:25px}.mood-check fieldset{padding:0;margin:24px 0;border:0}.mood-check legend{font-size:16px;font-weight:900;margin-bottom:12px}.intent-options,.taste-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-option{position:relative;display:flex;flex-direction:column;padding:15px 15px 15px 40px;border:2px solid var(--ink);border-radius:15px;background:var(--white);cursor:pointer;min-height:88px}.choice-option input{position:absolute;left:13px;top:18px;width:17px;height:17px;accent-color:var(--accent)}.choice-option>span{font-size:14px;font-weight:900}.choice-option>small{font-size:11px;line-height:1.7;color:var(--muted);margin-top:4px}.choice-option:has(input:checked){background:#e9ff52;box-shadow:3px 3px 0 var(--ink)}.choice-option:has(input:focus-visible){outline:3px solid #2460ef;outline-offset:3px}.signal-note{font-size:12px!important;color:var(--muted);margin:14px 0}.confirmation-actions{display:flex;flex-direction:column;gap:16px;margin-top:26px}.confirmation-actions button{width:100%}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;max-width:970px;margin:auto}.result-picture{position:relative}.result-photo{width:100%;aspect-ratio:1.16;object-fit:cover;display:block;border:2.5px solid var(--ink);border-radius:23px;box-shadow:4px 5px 0 var(--ink)}.result-picture>span{position:absolute;left:15px;top:15px;font-size:11px;font-weight:900;background:#e9ff52;border:2px solid var(--ink);border-radius:30px;padding:6px 12px;transform:rotate(-4deg)}.result-details{padding:8px 0}.result-details h2{font-size:30px;font-weight:900;line-height:1.5;letter-spacing:-.04em}.result-description{font-size:14px;color:var(--muted);line-height:1.8;margin-top:9px}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px}.tags{display:flex;flex-wrap:wrap;gap:5px}.tag{font-size:11px;padding:4px 8px;background:#e6dcff;border-radius:5px;font-weight:700}.cook-time{font-size:12px;display:flex;align-items:center;gap:5px;white-space:nowrap}.cook-time svg{width:16px;height:16px}.menu-items{padding:16px 0;border-top:2px dashed #c1b7cf;border-bottom:2px dashed #c1b7cf;margin:22px 0;font-size:14px}.menu-items p{display:flex;gap:12px;align-items:center;margin-top:8px}.menu-items p:first-child{margin-top:0}.menu-items span{font-size:10px;background:#e7facd;border-radius:4px;padding:3px 7px;white-space:nowrap}.alternatives{max-width:970px;margin:27px auto 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.alternatives>p{font-size:12px;font-weight:800}.alternative{display:flex;align-items:center;gap:8px;min-height:48px;border:2px solid var(--ink);border-radius:12px;background:var(--white);padding:5px 11px 5px 5px;font-size:12px;text-align:left}.alternative img{width:36px;height:36px;object-fit:cover;border-radius:7px}.alternative[aria-pressed=true]{background:#e9ff52;box-shadow:2px 2px 0 var(--ink)}.recipe{max-width:970px;margin:33px auto 0;border-top:2px solid var(--ink);padding-top:24px}.recipe-tabs{display:flex;align-items:center;gap:22px;border-bottom:2px solid var(--ink)}.recipe-tabs button{background:transparent;font-size:15px;font-weight:900;min-height:44px;border-bottom:4px solid transparent;padding:8px 5px}.recipe-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.recipe-tabs>span{margin-left:auto;font-size:11px;color:var(--muted)}.recipe-panel{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:25px}.recipe-group h3{font-size:18px;font-weight:900;margin-bottom:12px}.ingredient-list{list-style:none;padding:0;margin:0}.ingredient-list li{display:flex;gap:12px;justify-content:space-between;padding:9px 0;border-bottom:1px solid #dfd6e8;font-size:13px}.ingredient-list li>span:last-child{text-align:right;color:var(--muted)}.steps-list{font-size:14px;line-height:1.9;padding-left:22px}.steps-list li{padding-left:4px;margin-bottom:12px}.steps-list li::marker{color:var(--accent);font-weight:900}.recipe-note{font-size:11px;line-height:1.8;color:var(--muted);margin-top:18px}.result-bottom{display:flex;justify-content:center;margin-top:30px}.result-bottom button{background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:14px;min-height:44px}.loading-state{text-align:center;padding:100px 0;min-height:470px}.loading-state h1{font-size:30px}.loading-state p{font-size:14px;margin-top:16px;color:var(--muted)}.loader{width:40px;height:40px;border:4px solid #dfd4f7;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 22px}.shopping-list{max-width:640px;margin:auto}.shopping-list h2{font-size:20px;font-weight:900;margin:24px 0 12px}.shopping-row{display:flex;gap:12px;align-items:center;min-height:49px;padding:12px 0;border-bottom:1px solid #dfd6e8;font-size:14px;cursor:pointer}.shopping-row>span:last-child{font-size:12px;color:var(--muted);margin-left:auto}.shopping-row input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}.shopping-row:has(input:checked)>span{text-decoration:line-through;opacity:.5}.chosen-mini{display:flex;align-items:center;justify-content:center;gap:15px;margin:25px auto}.chosen-mini img{width:68px;height:68px;border-radius:50%;border:2px solid var(--ink);object-fit:cover}.chosen-mini p{font-size:19px;font-weight:900}.chosen-mini span{display:block;font-size:12px;color:var(--muted);font-weight:400}.success-mark{background:#e9ff52;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;font-size:25px;font-weight:900}.error-content{max-width:520px;margin:40px auto;text-align:center}.error-content h2{font-size:25px;margin-bottom:16px}.error-content p{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:22px}.error-content .button-row{justify-content:center}
.connection-note{margin:20px 0 0;border:2px solid var(--ink);background:#fff0db;border-radius:13px;padding:12px 16px;font-size:13px}.connection-note>div{display:flex;gap:18px}.connection-note button{background:transparent;text-decoration:underline;min-height:44px;font-weight:800}.demo-banner{background:#e9ff52;border-bottom:2px solid var(--ink);text-align:center;font-size:11px;font-weight:700;padding:7px 14px}.install-section{max-width:1118px;margin:0 auto 25px}.install-section>button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:47px;border:2px solid var(--ink);background:var(--white);border-radius:12px;padding:10px 16px;font-size:12px;font-weight:900}.install-section>p{font-size:11px;margin-top:9px;color:var(--muted)}.install-section svg{width:19px;height:19px}.site-footer{max-width:1190px;margin:auto;padding:20px 36px calc(25px + env(safe-area-inset-bottom));border-top:2px solid var(--ink);display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--muted)}.site-footer>div{display:flex;align-items:center;gap:20px}.site-footer>div>span{font-weight:900;letter-spacing:.1em}.site-footer button{font-size:12px;min-height:44px;background:transparent}dialog{background:var(--paper);color:var(--ink);border:2.5px solid var(--ink);border-radius:22px;width:calc(100% - 30px);max-width:490px;padding:27px;box-shadow:6px 7px 0 var(--ink);max-height:90dvh;overflow:auto}dialog::backdrop{background:#25174070;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-heading .eyebrow{font-size:9px;color:var(--accent)}.close-dialog{background:var(--white);border:2px solid var(--ink);border-radius:50%;min-width:42px;height:42px;font-size:25px;line-height:1}dialog h2{font-size:26px;line-height:1.4;font-weight:900;margin-bottom:15px}dialog p:not(.eyebrow){font-size:13px;line-height:1.9;margin-bottom:15px;color:var(--muted)}.ingredient-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0}.ingredient-options label,.dialog-time label{cursor:pointer;position:relative}.ingredient-options input,.dialog-time input{position:absolute;opacity:0}.ingredient-options span,.dialog-time span{display:block;text-align:center;border:2px solid var(--ink);border-radius:9px;background:var(--white);min-height:46px;padding:11px 5px;font-size:13px;font-weight:800}.ingredient-options input:checked+span,.dialog-time input:checked+span{background:#e9ff52;box-shadow:2px 2px 0 var(--ink)}.ingredient-options input:focus-visible+span,.dialog-time input:focus-visible+span{outline:3px solid #2460ef;outline-offset:3px}.dialog-time{display:flex;gap:9px;border:0;padding:0;margin:22px 0}.dialog-time legend{font-size:13px;font-weight:900;margin-bottom:10px}.dialog-time label{flex:1}.form-note{font-size:11px!important;line-height:1.8!important;color:var(--muted)!important}dialog .primary-button{width:100%;margin-top:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.results:not([hidden]){animation:appear .3s ease}
@media(max-width:1100px){.discover-grid{grid-template-columns:1fr 390px;gap:45px}.hero-title,.intro h1{font-size:42px}.brand-caption{display:none}.install-section{margin-left:36px;margin-right:36px}.mood-art{height:240px}}
@media(max-width:760px){
body{font-size:15px}.site-header{padding:calc(11px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 11px max(18px,env(safe-area-inset-left));gap:8px}.brand{gap:7px}.brand>span:first-of-type{font-size:23px;letter-spacing:-1px}.brand svg,.brand img{width:31px;height:31px}.journey,.brand-caption{display:none}.mode-pill{font-size:9px;min-height:35px;padding:6px 9px;gap:5px;box-shadow:2px 2px 0 var(--ink)}.status-dot{width:5px;height:5px}main{max-width:510px;padding:0 max(21px,env(safe-area-inset-right)) 0 max(21px,env(safe-area-inset-left))}.discover-grid{display:flex;flex-direction:column;gap:20px;padding:22px 0 25px}.intro{display:block;width:100%}.intro>.eyebrow{font-size:8px;padding:3px 9px;margin-bottom:12px;transform:rotate(-2deg)}.hero-title,.intro h1{font-size:29px;line-height:1.36;letter-spacing:-.06em}.intro .lead,.intro-copy{font-size:11px;line-height:1.7;margin-top:9px}.intro .lead br,.intro-copy br{display:none}.intro .how-to,.intro .preferences,.quiet-note{display:none}.mobile-conditions,#mobile-conditions{display:inline-flex;align-items:center;gap:6px;background:var(--white);border:1.5px solid var(--ink);border-radius:30px;font-size:10px;font-weight:700;min-height:38px;padding:6px 10px;margin-top:10px}.mobile-conditions svg,#mobile-conditions svg{width:14px;height:14px}.swipe-area{max-width:none;width:100%}.deck-heading{font-size:11px;margin:0 1px 11px}.deck-heading>span:last-child{font-size:16px}.mood-card,.card-back{border-radius:20px}.mood-card{box-shadow:4px 5px 0 var(--ink)}.mood-art{height:198px;padding:5px 10px 0}.mood-card-copy{padding:15px 18px 17px}.mood-card-copy h2{font-size:22px;line-height:1.4;letter-spacing:-.055em}.mood-card-copy p{font-size:11px;margin-top:5px}.swipe-actions{padding-top:22px;gap:30px}.decision{width:60px;height:60px}.decision svg{width:25px;height:25px}.decision>span{top:67px;font-size:11px}.undo{height:42px;width:42px}.progress{margin-top:33px;gap:6px}.progress span{width:6px;height:6px}.skip-button{font-size:11px;min-height:38px;margin-top:0}.swipe-tip{font-size:9px;margin-top:0}.swipe-tip>span{display:none}.card-status{font-size:11px;margin-top:8px}.liked-section{display:block;padding:20px 0}.liked-section h2{font-size:14px}.liked-list{margin-top:12px;gap:7px}.liked-chip{font-size:10px;max-width:100%;padding:5px 8px}.liked-chip img{width:23px;height:23px}.empty-history{font-size:11px}.install-section{margin:0 21px 22px}.install-section>button{width:100%;font-size:13px}.install-section>p{text-align:center;font-size:10px}.site-footer{margin:0 21px;padding:18px 0 calc(20px + env(safe-area-inset-bottom));display:block;font-size:10px}.site-footer>div{justify-content:space-between;margin-top:6px}.connection-note{font-size:12px;margin-top:16px}.demo-banner{font-size:10px}.results{padding:30px 0 40px}.result-heading{margin-bottom:24px}.result-heading h1{font-size:28px;line-height:1.5}.result-heading>p:not(.eyebrow){font-size:13px}.result-mode{font-size:10px!important}.mood-check legend{font-size:15px}.intent-options,.taste-options{gap:9px}.choice-option{padding:13px 9px 13px 30px;min-height:98px}.choice-option input{left:9px;top:17px;width:14px;height:14px}.choice-option>span{font-size:12px}.choice-option>small{font-size:10px}.confirmation-actions{gap:13px}.primary-button,.secondary-button{font-size:14px;padding:12px 17px;min-height:49px}.result-grid{grid-template-columns:1fr;gap:23px}.result-photo{aspect-ratio:1.38;border-radius:19px}.result-details h2{font-size:27px}.result-details .primary-button{width:100%}.result-description{font-size:13px}.alternatives{gap:8px}.alternatives>p{width:100%;font-size:12px}.alternative{font-size:11px}.recipe-panel{grid-template-columns:1fr;gap:28px}.recipe-tabs{gap:17px}.recipe-tabs button{font-size:14px}.recipe-tabs>span{font-size:10px}.recipe-group h3{font-size:18px}.ingredient-list li{font-size:13px;line-height:1.8}.steps-list{font-size:14px}.recipe-note{font-size:11px}.shopping-row{font-size:14px}.shopping-row>span:last-child{font-size:12px}.chosen-mini p{font-size:17px}.loading-state{min-height:400px;padding:80px 0}.loading-state h1{font-size:26px}.error-content h2{font-size:23px}.error-content p{font-size:13px}dialog{padding:22px}dialog h2{font-size:24px}dialog p:not(.eyebrow){font-size:13px}.form-note{font-size:11px!important}.ingredient-options span,.dialog-time span{font-size:13px}.stamp{font-size:21px;top:50px}.hypothesis-note{font-size:11px}.signal-note{font-size:11px!important}
}
@media(max-width:375px){.hero-title,.intro h1{font-size:26px}.mood-art{height:174px}.mood-card-copy h2{font-size:20px}.mode-pill{max-width:153px;font-size:8px;padding:5px 7px}.discover-grid{gap:17px}.brand>span:first-of-type{font-size:21px}.mood-card-copy{padding:13px 15px 15px}}
@media(display-mode:standalone){.site-header{background:var(--paper)}.install-section:has(>button[hidden]){margin-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Details shared by card copy and the confirmation choices. */
.mood-card-copy h2{white-space:pre-line}.mood-card-copy .card-eyebrow{font-size:8px;font-weight:900;color:var(--accent);letter-spacing:.1em;margin:0 0 6px}.choice-option small{display:block;font-size:11px;font-weight:400;line-height:1.7;color:var(--muted);margin-top:4px}.liked-chip small{display:block;font-size:9px;font-weight:400;color:var(--muted)}.liked-chip.pass{background:#f0eafa}.liked-chip.skip{background:#f0eee9}.reaction-icon{font-size:19px;color:var(--accent)}.hypothesis-note>span{font-size:28px}.hypothesis-note h2{font-size:23px;line-height:1.5}.hypothesis-note p{font-size:12px;line-height:1.8;margin-top:7px}.mood-check>h1{font-size:37px;line-height:1.35;margin:10px 0 20px}.mood-check>.result-mode{margin-top:25px}.confirmation-actions .text-button{justify-content:center}.result-bottom{gap:23px;flex-wrap:wrap}.skip-button{margin-top:30px}.progress{margin-top:5px}.spinner{display:block;width:40px;height:40px;border:4px solid #dfd4f7;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 22px}
@media(max-width:760px){.choice-option small{font-size:10px}.mood-check>h1{font-size:30px}.hypothesis-note h2{font-size:22px}.mood-art{height:177px}.mood-card-copy{padding:13px 17px 16px}.skip-button{margin-top:25px}.progress{margin-top:3px}.mood-card-copy .card-eyebrow{font-size:7px;margin-bottom:4px}.intro>.eyebrow{margin-bottom:9px}.hero-title,.intro h1{font-size:27px}.intro .lead{font-size:10px}.discover-grid{gap:18px;padding-top:17px}.swipe-actions{padding-top:17px}.card-status{font-size:10px;margin-top:9px}}
.mood-art.photo{padding:0;background:none}.mood-art.photo img{object-fit:cover;object-position:center 55%}.mood-card:has(.photo) .mood-card-copy{background:var(--white)}
/* Swipe-to-dinner flow. Keep the original pop palette and tactile cards. */
.skip-link{position:absolute;top:-100px;left:15px;z-index:30;background:var(--lime,#e9ff52);padding:13px;border:2px solid var(--ink);border-radius:8px}.skip-link:focus{top:12px}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.header-settings{width:44px;height:44px;border:2px solid var(--ink);border-radius:50%;background:var(--white);display:grid;place-items:center}.header-settings svg{width:23px;height:23px}.header-settings svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}#mode-short{display:none}.mode-pill{min-height:44px}.mood-card,.dinner-card{touch-action:pan-y pinch-zoom}.mood-card:focus-visible,.dinner-card:focus-visible{outline:3px solid #2460ef;outline-offset:7px}.mood-card-copy .card-eyebrow{font-size:10px}.swipe-tip{font-size:12px}.card-status{font-size:12px;line-height:1.65}.skip-button,.undo{min-width:44px;min-height:44px}.intro .preferences{padding:17px 19px}.progress span:not(.done):not(.now){opacity:.25}.recipe-source a:focus-visible,summary:focus-visible{outline:3px solid #2460ef;outline-offset:4px}.dialog-time{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dialog-time label:first-of-type{grid-column:span 2}.dialog-time legend{grid-column:1/-1}.dialog-time span{font-size:13px}.ingredient-options{gap:8px}.ingredient-options span{font-size:12px;line-height:1.65;display:grid;place-items:center;height:100%}.close-dialog{min-width:44px;min-height:44px}.form-note{font-size:12px!important}.result-heading.compact-heading{margin-bottom:24px}.compact-heading h1{font-size:32px;line-height:1.45}.result-heading .eyebrow{font-size:11px}.dinner-deck{max-width:575px;margin:0 auto}.dinner-card{position:relative;border:2.5px solid var(--ink);border-radius:24px;overflow:hidden;background:var(--white);box-shadow:5px 6px 0 var(--ink);cursor:grab;user-select:none;transition:transform .22s ease,opacity .22s ease;will-change:transform}.dinner-card.dragging{transition:none;cursor:grabbing}.dinner-card.fly-left{transform:translateX(-110%) rotate(-14deg)!important;opacity:0}.dinner-card.fly-right{transform:translateX(110%) rotate(14deg)!important;opacity:0}.dish-illustrations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;background:#e8dcff;padding:14px 25px 19px;border-bottom:2.5px solid var(--ink)}.dish-illustrations>div{text-align:center;min-width:0}.dish-illustrations svg{display:block;width:100%;height:136px;margin:0 auto}.dish-illustrations span{display:inline-block;font-size:11px;font-weight:800;background:#fffef9;border:1.5px solid var(--ink);border-radius:18px;padding:3px 10px;margin-top:-7px}.dish-illustrations.count-1{grid-template-columns:1fr}.dish-illustrations.count-1 svg{height:182px}.dish-illustrations.count-3{grid-template-columns:repeat(3,minmax(0,1fr));padding-left:13px;padding-right:13px}.dish-illustrations.count-3 svg{height:123px}.dish-illustrations.count-4{padding:12px 23px 16px;gap:10px}.dish-illustrations.count-4 svg{height:103px}.dinner-card-copy{padding:24px 27px}.dinner-count{font-size:12px;font-weight:900;color:var(--accent);margin:0 0 10px}.dinner-count span{color:var(--muted);font-weight:600}.dinner-card h2{font-size:28px;font-weight:900;line-height:1.5;letter-spacing:-.04em;overflow-wrap:anywhere}.menu-dishes{list-style:none;margin:17px 0 0;padding:12px 0;border-top:2px dashed #d6cbe3;border-bottom:2px dashed #d6cbe3}.menu-dishes li{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:14px;line-height:1.65;padding:5px 0}.menu-dishes small{flex-shrink:0;font-size:11px;color:var(--muted)}.dinner-reason{font-size:13px;line-height:1.85;color:var(--muted);margin-top:15px}.dinner-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 15px}.dinner-actions button{gap:8px;padding-left:12px;padding-right:12px}.dinner-deck .swipe-tip{line-height:1.7}.error-content>.primary-button{margin-left:auto;margin-right:auto}.source-recipes{max-width:760px;margin:26px auto}.source-recipe{border:2px solid var(--ink);border-radius:20px;background:var(--white);padding:25px 27px;margin-top:23px;box-shadow:4px 5px 0 #ddd0ef}.recipe-title-row{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.recipe-title-row h2{font-size:24px;line-height:1.5;font-weight:900}.recipe-title-row .eyebrow{font-size:10px;color:var(--accent);margin-bottom:4px}.recipe-number{width:35px;height:35px;flex-shrink:0;border:2px solid var(--ink);border-radius:50%;background:#e9ff52;display:grid;place-items:center;font-weight:900}.recipe-servings{font-size:13px;line-height:1.8;color:var(--muted);margin-top:7px}.source-recipe h3{font-size:17px;font-weight:900;margin:25px 0 12px}.source-recipe .ingredient-list li{font-size:14px;line-height:1.8}.source-recipe .ingredient-list li>span:last-child{max-width:45%;flex-shrink:0}.source-recipe .steps-list{font-size:15px;line-height:1.95}.recipe-view-actions{max-width:760px;margin:auto;display:flex;justify-content:space-between;gap:15px}.recipe-source{font-size:12px;line-height:1.85;margin-top:24px;border-top:1px solid #ddd0ef;padding-top:17px;overflow-wrap:anywhere}.recipe-source p{margin:7px 0;color:var(--muted)}.recipe-source a{color:var(--accent);text-underline-offset:3px}.source-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:49px;border:2px solid var(--ink);border-radius:11px;background:#e9ff52;color:var(--ink)!important;font-size:14px;font-weight:900;padding:11px 15px;margin-top:15px;text-decoration:none}.source-details{margin-top:14px}.source-details summary{min-height:44px;cursor:pointer;display:list-item;line-height:44px;font-weight:800}.recipe-unavailable{font-size:14px;line-height:1.9;color:var(--muted);margin:18px 0}.source-note{max-width:760px;margin:20px auto}.shopping-group{margin:28px 0}.shopping-group .recipe-source{border:0;padding:0}.shopping-list h2{line-height:1.6}.shopping-list .recipe-note{font-size:12px}.result-bottom{margin-top:27px}.result-bottom button{font-size:13px}.site-footer,.install-section>p{font-size:12px}.swipe-area .deck-heading>span:first-child{font-size:13px}
@media(max-width:1100px){.journey{display:none}}
@media(max-width:760px){.header-actions{gap:7px}.site-header{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.brand{gap:6px}.brand>span:first-of-type{font-size:22px}#mode-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#mode-short{display:inline}.mode-pill{font-size:11px;min-width:71px;min-height:44px;padding:6px 9px}.header-settings{width:44px;height:44px}.intro>.eyebrow{font-size:10px}.intro .lead{font-size:12px;line-height:1.75}.mobile-conditions,#mobile-conditions{font-size:11px;min-height:44px;margin-top:10px;max-width:100%;white-space:normal;text-align:left}.mood-art{height:178px}.mood-card-copy h2{font-size:23px}.mood-card-copy p{font-size:12px}.mood-card-copy .card-eyebrow{font-size:9px}.card-status{font-size:11px;min-height:19px}.swipe-actions{padding-top:14px}.decision>span{font-size:12px}.skip-button{font-size:12px;margin-top:25px;min-height:44px}.swipe-tip{font-size:11px}.undo{width:44px;height:44px}.liked-section{padding-top:22px}.liked-chip{font-size:12px}.liked-chip small{font-size:11px}.empty-history{font-size:12px}.results{padding-top:24px}.compact-heading h1{font-size:26px}.result-heading.compact-heading{margin-bottom:18px}.result-heading .eyebrow{font-size:9px}.result-mode{font-size:11px!important}.dinner-deck .deck-heading{font-size:11px;gap:8px;line-height:1.6}.dinner-card{border-radius:21px;box-shadow:4px 5px 0 var(--ink)}.dish-illustrations{padding:12px 14px 15px;gap:5px}.dish-illustrations svg{height:112px}.dish-illustrations.count-1 svg{height:145px}.dish-illustrations.count-3 svg{height:90px}.dish-illustrations.count-3{padding-left:7px;padding-right:7px}.dish-illustrations.count-3 span{padding-left:5px;padding-right:5px;font-size:10px}.dish-illustrations.count-4{padding:9px 20px 13px;gap:8px}.dish-illustrations.count-4 svg{height:88px}.dish-illustrations span{font-size:10px}.dinner-card-copy{padding:18px 18px 19px}.dinner-count{font-size:11px;margin-bottom:6px}.dinner-card h2{font-size:24px;line-height:1.45}.menu-dishes{margin-top:12px;padding:8px 0}.menu-dishes li{font-size:13px;gap:8px;align-items:flex-start;line-height:1.6}.menu-dishes small{font-size:10px;max-width:36%;white-space:normal;text-align:right}.dinner-reason{font-size:12px;line-height:1.8;margin-top:12px}.dinner-actions{gap:11px;margin-top:20px}.dinner-actions button{font-size:13px;min-height:52px;gap:5px;padding-left:7px;padding-right:7px}.dinner-deck .swipe-tip{font-size:11px}.source-recipes{margin-top:20px}.source-recipe{padding:19px 17px;margin-top:21px;border-radius:17px}.recipe-title-row{gap:10px}.recipe-title-row h2{font-size:21px}.recipe-title-row .eyebrow{font-size:10px}.recipe-number{height:30px;width:30px;font-size:14px}.recipe-servings{font-size:12px}.recipe-view-actions{gap:11px}.recipe-view-actions button{font-size:12px;padding-left:12px;padding-right:12px;gap:6px;flex:1}.source-recipe .ingredient-list li{font-size:13px;gap:10px}.source-recipe .steps-list{font-size:14px}.source-button{font-size:13px;padding:10px}.source-note{font-size:12px}.recipe-unavailable{font-size:13px}.result-bottom{gap:13px}.result-bottom button{font-size:12px}.install-section>p{font-size:11px;line-height:1.7}.site-footer{font-size:11px}.ingredient-options{grid-template-columns:repeat(3,minmax(0,1fr))}.ingredient-options span{font-size:12px;padding:10px 4px}.dialog-time{margin-bottom:20px}.form-note{font-size:12px!important}.error-content h1{font-size:25px}.error-content p{font-size:13px}}
@media(max-width:350px){.brand>span:first-of-type{font-size:20px}.brand img{width:29px;height:29px}.header-actions{gap:5px}.mode-pill{min-width:66px;padding:5px 7px}.site-header{gap:5px}.dinner-actions button{font-size:12px}.dinner-card h2{font-size:22px}.recipe-view-actions{flex-direction:column}}
body{overflow-x:clip}.source-details summary{line-height:1.7;padding:12px 0}.source-details summary::marker{color:var(--accent)}

.prepared-note{font-size:12px;line-height:1.7;color:var(--muted);margin:-3px 0 9px}.recipe-data-note{font-size:13px;line-height:1.85;color:var(--muted);padding:12px 14px;border-left:3px solid var(--accent);background:#f1ebff;margin-top:19px}

.result-heading .result-message{max-width:600px;margin:12px auto 0;font-size:12px;line-height:1.8}
