:root{--bg-top: #fff5e7;--bg-mid: #f9d4a0;--bg-bottom: #e98d4f;--ink: #26160e;--subtle: #765642;--card: rgba(255, 249, 242, .88);--accent: #e15a2d;--accent-deep: #a82f14;--accent-soft: #ffe5c7;--accent-gold: #f4bf58;--leaf: #3e7a46;--line: rgba(38, 22, 14, .1);--shadow: 0 26px 60px rgba(84, 39, 8, .18);--shadow-soft: 0 18px 38px rgba(84, 39, 8, .1)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:SUIT,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(255,255,255,.82),transparent 32%),radial-gradient(circle at 82% 18%,rgba(255,210,118,.34),transparent 24%),radial-gradient(circle at bottom right,rgba(177,70,18,.28),transparent 28%),linear-gradient(160deg,var(--bg-top),var(--bg-mid) 48%,var(--bg-bottom))}body:before,body:after{content:"";position:fixed;border-radius:999px;z-index:0;pointer-events:none}body:before{width:320px;height:320px;top:4%;right:-70px;background:#ffeec58f;filter:blur(10px)}body:after{width:260px;height:260px;left:-50px;bottom:5%;background:#e15a2d2e;filter:blur(8px)}.app-shell{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));margin:0 auto;min-height:100vh;display:grid;gap:24px;align-content:start;padding:32px 0 48px}.menu-page{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px;align-items:stretch}.hero-card,.result-card,.auth-card,.billing-card,.pantry-card,.top-auth-card,.site-nav-card,.ramen-card{background:var(--card);border:1px solid rgba(255,255,255,.54);border-radius:32px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}.top-auth-card{padding:26px 34px;animation:rise-in .68s ease;background:radial-gradient(circle at left top,rgba(255,240,214,.92),transparent 40%),linear-gradient(135deg,#fffaf5f0,#ffefdbe0)}.top-auth-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:20px;align-items:center}.top-auth-copy h2{margin-top:10px;font-size:clamp(2rem,4vw,3rem)}.top-auth-panel{padding:24px;border-radius:26px;border:1px solid var(--line);background:linear-gradient(145deg,#ffffffd1,#fff2dcf5);box-shadow:var(--shadow-soft);display:grid;gap:14px}.top-auth-meta,.service-highlights,.hero-promo-row{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}.top-auth-user{display:flex;gap:14px;align-items:center}.top-auth-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.site-nav-card{padding:32px 34px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px;align-items:center;animation:rise-in .72s ease;background:radial-gradient(circle at 88% 16%,rgba(255,207,126,.34),transparent 24%),linear-gradient(140deg,#fff9f1f0,#ffe9ceeb)}.site-nav-copy h1{margin-top:10px;font-size:clamp(2.2rem,5vw,3.4rem)}.page-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.page-tab{min-height:118px;padding:18px 18px 16px;border-radius:24px;border:1px solid rgba(33,22,13,.1);background:#ffffffa8;color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:0 14px 28px #54270814;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease,color .18s ease;display:grid;align-content:start;gap:8px}.page-tab.active{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff8ef;box-shadow:0 16px 30px #9e2c0f38}.page-tab-label{font-size:1.05rem;font-weight:900;line-height:1.2}.page-tab-note{font-size:.9rem;line-height:1.45;opacity:.9}.hero-card{padding:36px;animation:rise-in .8s ease;background:radial-gradient(circle at top left,rgba(255,231,194,.7),transparent 34%),linear-gradient(145deg,#fff9f1f0,#ffedd6e6)}.result-card{padding:32px;min-height:540px;display:flex;flex-direction:column;justify-content:space-between;animation:rise-in .95s ease;background:radial-gradient(circle at top right,rgba(255,213,141,.3),transparent 28%),linear-gradient(165deg,#fffbf6f5,#ffefdbe6)}.pantry-card{padding:32px;animation:rise-in 1s ease;background:radial-gradient(circle at 10% 12%,rgba(222,243,208,.46),transparent 24%),linear-gradient(155deg,#fff9f1f5,#f4ebdaf0)}.ramen-card{padding:32px;animation:rise-in 1s ease;background:radial-gradient(circle at 90% 14%,rgba(255,194,162,.36),transparent 24%),linear-gradient(155deg,#fff7f1f5,#ffe4d7ed)}.billing-card{padding:32px;animation:rise-in 1.02s ease;background:radial-gradient(circle at left top,rgba(255,232,190,.45),transparent 26%),linear-gradient(160deg,#fffaf5f5,#f8ebd9f0)}.auth-card{padding:28px 32px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px;align-items:start;animation:rise-in .98s ease}.eyebrow,.result-kicker,.history-title,.group-title,label{letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:color-mix(in srgb,var(--subtle) 82%,var(--accent-deep));font-weight:800}h1,h2{margin:0;font-family:Black Han Sans,sans-serif;letter-spacing:-.02em;line-height:1.05}h1{margin-top:10px;font-size:clamp(2.9rem,7vw,5.5rem)}h2{margin-top:14px;font-size:clamp(2rem,5vw,3.6rem)}.hero-copy,.menu-description,.menu-reason,.today-label,.time-label,.hero-caption,.result-image-label,.pantry-copy,.ramen-copy,.pantry-help,.recipe-reason,.recipe-time{color:var(--subtle)}.hero-copy,.menu-description{font-size:1.06rem;line-height:1.72}.hero-visual{position:relative;margin:28px 0 0;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.55);box-shadow:0 18px 42px #3f20072e}.hero-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#21160d05,#21160d4d);pointer-events:none}.hero-image{display:block;width:100%;aspect-ratio:16 / 8.5;object-fit:cover;transform:scale(1.02)}.hero-caption{position:absolute;left:18px;bottom:18px;z-index:1;margin:0;padding:10px 14px;border-radius:999px;background:#fff8efd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.93rem;font-weight:800}.result-visual{position:relative;margin:18px 0 8px;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.58);background:#ffffff85;box-shadow:0 18px 40px #44240924}.result-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#21160d03,#21160d47);pointer-events:none}.result-image{display:block;width:100%;aspect-ratio:5 / 4;object-fit:cover}.result-image-label{position:absolute;left:16px;bottom:16px;z-index:1;margin:0;padding:10px 14px;border-radius:999px;background:#fff8efdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.9rem;font-weight:800}.today-panel{margin-top:28px;padding:16px 18px;display:flex;flex-wrap:wrap;gap:10px 18px;border-radius:22px;background:#ffffffa3;border:1px solid var(--line);box-shadow:inset 0 1px #ffffff80}.today-label,.time-label{font-size:.96rem;font-weight:700}.controls{margin-top:28px;display:grid;gap:22px}.control-group{display:grid;gap:12px}select{width:100%;border:1px solid var(--line);background:#ffffffe6;border-radius:18px;padding:15px 16px;font:inherit;color:var(--ink);box-shadow:inset 0 1px #ffffffb3}.mood-grid{display:flex;flex-wrap:wrap;gap:10px}.mood-chip,.primary-btn,.ghost-btn{font:inherit;border:0;cursor:pointer;transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.mood-chip{padding:12px 16px;border-radius:999px;background:#ffffffbf;color:var(--ink);border:1px solid rgba(33,22,13,.1);font-weight:700}.mood-chip.active{background:var(--ink);color:#fff8ef;box-shadow:0 10px 24px #21160d2e}.actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}.primary-btn,.ghost-btn{min-height:56px;padding:0 24px;border-radius:18px;font-weight:800}.primary-btn:disabled{cursor:wait;opacity:.75;transform:none}.primary-btn{background:linear-gradient(135deg,#ef6d36,var(--accent-deep));color:#fff;box-shadow:0 18px 30px #9e2c0f3d}.ghost-btn{background:#ffffffc7;color:var(--ink);border:1px solid var(--line)}.primary-btn:hover,.ghost-btn:hover,.mood-chip:hover{transform:translateY(-2px)}.menu-meta{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.menu-pill{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:linear-gradient(135deg,var(--accent-soft),#fff1df);color:var(--accent-deep);font-weight:800}.service-highlight{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;background:#ffffffb3;border:1px solid rgba(38,22,14,.08);color:var(--ink);font-size:.92rem;font-weight:800;box-shadow:0 10px 20px #5427080f}.menu-reason{font-size:.98rem;font-weight:700}.history-panel{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.history-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}.history-list li{padding:13px 15px;border-radius:18px;background:#ffffffad;border:1px solid rgba(33,22,13,.08);font-weight:600;color:var(--ink)}.pantry-head h2,.ramen-head h2{margin-top:10px}.pantry-copy,.ramen-copy{margin:14px 0 0;font-size:1rem;line-height:1.6}.billing-copy{margin:14px 0 0;color:var(--subtle);line-height:1.6}.billing-overview{margin-top:24px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}.billing-balance,.billing-overview-note,.billing-pack,.recipe-card{background:#ffffffb3;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-soft)}.billing-balance,.billing-overview-note{padding:22px}.billing-balance strong{display:block;margin-top:8px;font-size:clamp(2rem,4vw,3rem);line-height:1}.billing-balance p,.billing-overview-note,.billing-pack-copy{color:var(--subtle);line-height:1.6}.billing-overview-note{display:grid;align-items:center;font-weight:700}.billing-notice{margin:18px 0 0;padding:14px 16px;border-radius:16px;background:#fff8d2b8;border:1px solid rgba(173,132,35,.22);color:#7e5b14;font-weight:700}.billing-pack-grid{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.billing-pack{padding:22px;position:relative}.billing-pack:after{content:"";position:absolute;inset:auto 18px 0;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-gold));opacity:.9}.billing-pack h3{margin:14px 0 8px;font-size:1.3rem}.billing-pack-price{margin:0;color:var(--accent-deep);font-size:1.3rem;font-weight:900}.billing-pack-copy{margin:10px 0 18px}.auth-description{margin:14px 0 0;color:var(--subtle);line-height:1.6}.auth-panel{padding:22px;border-radius:22px;border:1px solid var(--line);background:#ffffff94;box-shadow:0 14px 28px #44240914}.auth-panel-warning{background:#fff2e3d1}.auth-panel-success{background:#fbf7f1db}.auth-user{display:flex;gap:14px;align-items:center}.auth-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.85);box-shadow:0 10px 20px #44240924}.auth-avatar-fallback{display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;font-weight:800}.auth-title{margin:0;font-size:1.05rem;font-weight:800;color:var(--ink)}.auth-text{margin:8px 0 0;color:var(--subtle);line-height:1.55}.auth-actions{margin-top:18px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.pantry-form,.ramen-form{margin-top:24px;display:grid;gap:12px}.ramen-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ramen-alias-banner{padding:18px 20px;border-radius:22px;background:linear-gradient(135deg,#ffe9d1e0,#fff7ecf0);border:1px solid rgba(168,47,20,.12);box-shadow:var(--shadow-soft)}.ramen-alias-banner strong{display:block;margin-top:8px;font-size:1.5rem;line-height:1.1;color:var(--accent-deep)}.pantry-label{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;color:var(--subtle);font-weight:800}.pantry-input,.ramen-input{width:100%;resize:vertical;min-height:120px;border:1px solid var(--line);background:#ffffffeb;border-radius:22px;padding:16px;font:inherit;color:var(--ink);box-shadow:inset 0 1px #ffffffb3}.pantry-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.pantry-help{margin:0;font-size:.92rem}.pantry-error{margin:18px 0 0;color:#922c14;font-weight:700}.normalized-panel{margin-top:24px}.normalized-tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px}.ramen-result{margin-top:24px}.ramen-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:16px}.ramen-score-panel,.ramen-summary-panel{padding:22px;background:#ffffffb8;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-soft)}.ramen-score{display:block;margin-top:10px;font-size:clamp(2.8rem,5vw,4.4rem);line-height:1;color:var(--accent-deep)}.ramen-stars{margin:8px 0 0;color:#d77b18;font-size:1.2rem;letter-spacing:.18em;font-weight:900}.ramen-score-label{margin:8px 0 0;color:var(--subtle);font-weight:700}.ramen-summary-panel h3{margin:12px 0 8px;font-size:1.45rem}.ramen-feedback-row{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}.ramen-feedback-summary{margin:12px 0 0;color:var(--subtle);font-size:.94rem;font-weight:700}.feedback-chip{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(38,22,14,.1);background:#ffffffc7;color:var(--ink);font:inherit;font-weight:800;cursor:pointer;transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.feedback-chip.active{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff8ef;box-shadow:0 14px 24px #9e2c0f33}.ramen-recipe-grid{margin-top:16px}.ramen-list{margin:12px 0 0;padding-left:18px;display:grid;gap:8px;color:var(--subtle)}.recipe-grid{margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.recipe-card{padding:22px}.hero-card,.result-card,.ramen-card,.pantry-card,.billing-card,.top-auth-card,.site-nav-card{position:relative}.hero-card:before,.result-card:before,.ramen-card:before,.pantry-card:before,.billing-card:before,.top-auth-card:before,.site-nav-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:7px;background:linear-gradient(90deg,var(--accent),var(--accent-gold),#ffe8b4);opacity:.95}.recipe-card h3{margin:12px 0 8px;font-size:1.3rem}.recipe-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.recipe-time{font-weight:700}.recipe-reason{margin:0;line-height:1.55}.recipe-block{margin-top:18px}.recipe-block p:last-child{margin:6px 0 0;line-height:1.55}.recipe-steps{margin:18px 0 0;padding-left:18px;display:grid;gap:8px;color:var(--subtle)}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.app-shell{padding:24px 0 32px}.menu-page,.top-auth-main,.site-nav-card,.page-nav,.ramen-picker-grid,.ramen-grid{grid-template-columns:1fr}.hero-card,.result-card,.auth-card,.billing-card,.pantry-card,.top-auth-card,.site-nav-card,.ramen-card{padding:24px}.result-card{min-height:auto}.auth-card,.billing-overview,.billing-pack-grid{grid-template-columns:1fr}.pantry-actions{align-items:stretch}.pantry-actions .primary-btn,.page-tab{width:100%}.recipe-grid{grid-template-columns:1fr}}
