@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;1,600&family=Work+Sans:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--paper: #fff8f1;--paper-soft: #f7eee7;--paper-warm: #efe3da;--card: #fffaf5;--ink: #241814;--muted: #75635a;--terracotta: #8f3b17;--terracotta-strong: #6f260d;--terracotta-soft: #f0d3c4;--olive: #566324;--olive-soft: #dce4b5;--line: #dec9bd;--shadow: 0 20px 50px rgba(104, 55, 31, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-family:Work Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(#8f3b1712 1px,transparent 1px),linear-gradient(180deg,#fffaf6 0%,var(--paper) 52%,#f2e8e1 100%);background-size:22px 22px,auto}button,textarea{font:inherit}button{border:0;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,h4,p,dl,dd{margin:0}.app-shell{width:min(1200px,calc(100% - 40px));margin:0 auto;padding:28px 0 54px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:24px;align-items:center;padding:20px 0 42px;text-align:center}.hero-side{display:grid;gap:12px;justify-items:end}.hero-brand{min-width:0}.brand-logo{display:block;width:min(520px,100%);height:auto;margin:0 auto;mix-blend-mode:multiply}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.language-switcher{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fffaf5d1}.language-switcher button{min-width:38px;min-height:30px;border-radius:999px;color:var(--muted);background:transparent;font-size:.76rem;font-weight:900;letter-spacing:.04em}.language-switcher button[aria-pressed=true]{color:#fffaf2;background:var(--terracotta)}.eyebrow{margin-bottom:8px;color:var(--terracotta);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero h1{font-family:Playfair Display,Georgia,serif;color:var(--terracotta-strong);font-size:clamp(3.1rem,9vw,5.8rem);line-height:.92;letter-spacing:0}.subtitle{margin-top:10px;color:var(--olive);font-family:Playfair Display,Georgia,serif;font-size:clamp(1.25rem,3vw,1.8rem);font-style:italic;font-weight:600}.hero-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}.hero-chips span{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fffaf5c2;color:var(--muted);font-size:.82rem;font-weight:700}.dice-badge,.empty-dice{position:relative;aspect-ratio:1;border:3px solid #5c2e1f;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 34%),linear-gradient(145deg,#5c2f1e,#9b5a30 52%,#4b2317);box-shadow:0 18px 34px #542a1933;transform:rotate(8deg)}.dice-badge{width:132px;justify-self:end}.empty-dice{width:94px;margin-bottom:16px}.dice-badge.is-rolling,.empty-dice.is-rolling{animation:dice-tumble 1.05s cubic-bezier(.2,.78,.32,1.12)}.dice-badge span,.empty-dice span{position:absolute;width:16%;aspect-ratio:1;border-radius:50%;background:#fffaf2;box-shadow:inset 0 1px 2px #46201238}.dice-badge span:nth-child(1),.empty-dice span:nth-child(1){left:22%;top:22%}.dice-badge span:nth-child(2),.empty-dice span:nth-child(2){right:22%;top:22%}.dice-badge span:nth-child(3),.empty-dice span:nth-child(3){left:50%;top:50%;transform:translate(-50%,-50%);background:var(--terracotta-soft)}.dice-badge span:nth-child(4),.empty-dice span:nth-child(4){left:22%;bottom:22%}.dice-badge span:nth-child(5),.empty-dice span:nth-child(5){right:22%;bottom:22%}.section-label{display:flex;gap:12px;align-items:center;margin-bottom:18px}.section-label span{display:grid;place-items:center;width:34px;aspect-ratio:1;border-radius:50%;color:#fffaf2;background:var(--terracotta);font-weight:800}.section-label h2{color:var(--terracotta-strong);font-family:Playfair Display,Georgia,serif;font-size:clamp(1.45rem,3vw,2rem);line-height:1}.dish-selector{margin-bottom:34px}.dish-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.dish-card{position:relative;overflow:hidden;min-height:184px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow);text-align:left}.dish-card[aria-pressed=true]{border:4px solid var(--terracotta);padding:11px}.dish-visual{position:absolute;inset:0;display:block;opacity:.98;background:radial-gradient(circle at 50% 34%,var(--dish-light),transparent 0 30%,transparent 31%),radial-gradient(circle at 52% 38%,var(--dish-main),transparent 0 38%,transparent 39%),radial-gradient(circle at 50% 40%,#fff8ef,transparent 0 45%,transparent 46%),linear-gradient(180deg,transparent 46%,rgba(28,18,13,.7) 100%),var(--dish-bg);transition:transform .42s ease}.dish-visual:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,#1c120d00 30%,#1c120db8)}.dish-visual img{width:100%;height:100%;object-fit:cover;display:block}.dish-card:hover .dish-visual{transform:scale(1.05)}.dish-card-pasta{--dish-bg: #8e4a22;--dish-main: #d17a25;--dish-light: #f0b24b}.dish-card-rice-wok{--dish-bg: #526d63;--dish-main: #e7dbc0;--dish-light: #6d934d}.dish-card-stew{--dish-bg: #261c18;--dish-main: #6b3320;--dish-light: #b76e3a}.dish-card-soup{--dish-bg: #b76432;--dish-main: #e0a154;--dish-light: #f3d091}.dish-card-salad{--dish-bg: #70834e;--dish-main: #9eba70;--dish-light: #e6ead0}.dish-card-title,.dish-card-description{position:relative;z-index:1;display:block}.dish-card-title{margin-top:116px;color:#fffaf2;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.35rem,3vw,1.8rem);font-weight:700}.dish-card-description{display:none}.workspace{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:24px;align-items:start;margin-bottom:18px}.roll-panel,.result-card,.favorites-panel,.ingredient-editor{min-width:0;border:1px solid var(--line);border-radius:18px;background:#fffaf5d1;box-shadow:var(--shadow)}.roll-panel,.result-card{padding:22px}.panel-note{margin-bottom:16px;color:var(--muted);line-height:1.55}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.category-lock{min-height:138px;padding:16px;border:1px solid #ead8cf;border-radius:14px;background:#fffcf7db}.category-lock.is-rolling{border-color:var(--terracotta);animation:card-rattle .32s linear infinite}.category-lock.is-locked{border-color:var(--olive)}.category-lock-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:20px}.category-lock h3{margin-bottom:4px;color:var(--olive);font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.category-lock p{color:var(--muted);font-size:.84rem}.lock-toggle,.secondary-button,.favorite-load,.favorite-remove{border-radius:10px;font-weight:800}.lock-toggle{min-width:74px;min-height:34px;padding:0 10px;color:var(--terracotta);background:#f4e5dd}.lock-toggle[aria-pressed=true]{color:#fffaf2;background:var(--olive)}.category-roll{min-height:44px;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:700;line-height:1.05}.rolling-value{display:inline-flex;gap:6px;align-items:center;min-height:44px}.rolling-value span{width:11px;aspect-ratio:1;border-radius:50%;background:var(--terracotta);animation:rolling-pip .52s ease-in-out infinite}.rolling-value span:nth-child(2){animation-delay:90ms;background:var(--olive)}.rolling-value span:nth-child(3){animation-delay:.18s}.roll-button{width:100%;min-height:58px;margin-top:16px;border-radius:12px;color:#fffaf2;background:var(--terracotta);box-shadow:0 14px 28px #8f3b1733;font-size:1rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.roll-actions-primary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.andreas-button{min-width:96px;min-height:58px;margin-top:16px;border:1px solid var(--line);border-radius:12px;color:var(--olive);background:#fffdf8;font-weight:900}.result-card{position:sticky;top:18px}.result-card.is-rolling{animation:result-pulse 1.05s ease-in-out infinite}.empty-state{display:grid;min-height:300px;place-items:center;padding:22px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center;line-height:1.45}.recipe-card{padding:20px;border-radius:16px;background:#fffdf8}.result-type{margin-bottom:8px;color:var(--terracotta);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.recipe-card h3{margin-bottom:18px;color:var(--terracotta-strong);font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,5vw,3.45rem);line-height:.98}.roll-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}.roll-list div{padding:10px;border-radius:10px;background:var(--paper-soft)}.roll-list dt{margin-bottom:4px;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.roll-list dd{font-weight:800}.recipe-notes{display:grid;gap:12px}.recipe-notes div{padding-top:12px;border-top:1px solid var(--line)}.recipe-notes h4{margin-bottom:6px;color:var(--olive);font-size:.8rem;font-weight:900;text-transform:uppercase}.recipe-notes p{color:var(--muted);line-height:1.55}.result-actions,.editor-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.secondary-button{flex:1 1 136px;min-height:44px;padding:0 12px;color:var(--terracotta);background:#f2e2d9}.copy-button{color:#fffaf2;background:var(--olive)}.copy-status{min-height:22px;margin-top:10px;color:var(--olive);font-size:.9rem;font-weight:700}.favorites-panel,.ingredient-editor{margin-bottom:18px}.favorites-panel summary,.ingredient-editor summary{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:15px 18px;color:var(--terracotta-strong);font-weight:900;text-transform:uppercase;list-style:none;cursor:pointer}.favorites-panel summary::-webkit-details-marker,.ingredient-editor summary::-webkit-details-marker{display:none}.favorites-panel summary span:last-child,.ingredient-editor summary span:last-child{color:var(--olive)}.favorite-list{display:grid;gap:8px;padding:0 18px 18px;margin:0;list-style:none}.favorite-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.favorite-load{display:grid;gap:3px;min-height:54px;padding:10px 12px;background:#fffdf8;text-align:left}.favorite-load span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorite-load small{color:var(--muted);font-size:.74rem;text-transform:uppercase}.favorite-remove{min-width:84px;padding:0 12px;color:var(--muted);background:#f2e2d9}.editor-body{padding:0 18px 18px}.editor-note{margin-bottom:14px;color:var(--muted);line-height:1.45}.editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.editor-field{display:grid;gap:8px}.editor-field span{color:var(--olive);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.editor-field textarea{width:100%;min-height:138px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--ink);background:#fffdf8;line-height:1.4}button{transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}button:not(:disabled):hover{transform:translateY(-2px)}button:focus-visible,textarea:focus-visible{outline:3px solid rgba(143,59,23,.24);outline-offset:3px}@keyframes dice-tumble{0%{transform:rotate(8deg) scale(1)}24%{transform:rotate(-18deg) scale(1.08)}48%{transform:rotate(24deg) scale(.98)}74%{transform:rotate(382deg) scale(1.05)}to{transform:rotate(368deg) scale(1)}}@keyframes card-rattle{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-1px,1px) rotate(-.6deg)}50%{transform:translate(1px,-1px) rotate(.6deg)}75%{transform:translate(1px,1px) rotate(-.4deg)}}@keyframes rolling-pip{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(-8px);opacity:1}}@keyframes result-pulse{0%,to{border-color:var(--line)}50%{border-color:var(--terracotta)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(max-width:960px){.dish-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace{grid-template-columns:1fr}.result-card{position:static}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.app-shell{width:min(100% - 18px,1180px);padding-top:12px;padding-bottom:30px}.hero{grid-template-columns:minmax(0,1fr) 58px;gap:12px;padding:8px 0 18px;text-align:left}.hero-chips{justify-content:flex-start;margin-top:10px}.brand-logo{width:min(310px,100%);margin:0}.subtitle{margin-top:6px;font-size:1.05rem}.dice-badge{width:58px;border-width:2px;border-radius:12px}.hero-side{gap:8px}.language-switcher{justify-self:end}.language-switcher button{min-width:32px;min-height:28px;font-size:.68rem}.section-label{margin-bottom:10px}.section-label span{width:26px;font-size:.82rem}.section-label h2{font-size:1.25rem}.dish-selector{margin-bottom:18px}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dish-card{min-height:94px;padding:10px;border-radius:14px}.dish-card[aria-pressed=true]{border-width:3px;padding:8px}.dish-card-title{margin-top:54px;font-size:1.22rem}.roll-panel,.result-card{padding:12px}.panel-note{margin-bottom:10px;font-size:.92rem}.category-grid,.roll-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.category-lock{min-height:112px;padding:10px}.category-lock-top{display:grid;gap:8px;margin-bottom:8px}.category-lock h3{font-size:.68rem}.category-lock p{display:none}.lock-toggle{width:100%;min-height:32px}.category-roll{min-height:34px;font-size:1.05rem}.roll-button{min-height:52px;margin-top:10px}.roll-actions-primary{grid-template-columns:1fr;gap:8px}.andreas-button{min-height:42px;margin-top:0}.empty-state{min-height:160px;padding:14px}.empty-dice{width:70px}.recipe-card{padding:13px}.recipe-card h3{margin-bottom:12px;font-size:clamp(1.65rem,10vw,2.4rem)}.roll-list{margin-bottom:12px}.roll-list div{padding:8px}.recipe-notes{gap:8px}.recipe-notes div{padding-top:8px}.result-actions{margin-top:12px}.secondary-button{min-height:42px}.favorites-panel,.ingredient-editor{margin-bottom:12px}.favorites-panel summary,.ingredient-editor summary{padding:13px 12px;font-size:.88rem}.favorite-list{padding:0 12px 12px}.favorite-list li{grid-template-columns:1fr}.favorite-load span{white-space:normal}.favorite-remove{min-height:38px}.editor-body{padding:0 12px 12px}.editor-grid{grid-template-columns:1fr}.editor-field textarea{min-height:112px}}@media(max-width:380px){.category-grid,.roll-list,.dish-grid{grid-template-columns:1fr}}
