@font-face{font-family:Quattrocento;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/quattrocento-latin-400-normal-Da3aNouX.woff2)format("woff2"),url(/assets/quattrocento-latin-400-normal-Cg-bZE-u.woff)format("woff")}@font-face{font-family:Quattrocento;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/quattrocento-latin-700-normal-BdsJF-a_.woff2)format("woff2"),url(/assets/quattrocento-latin-700-normal-CGO2pG30.woff)format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2)format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff)format("woff")}@font-face{font-family:Crimson Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/crimson-text-latin-400-normal-pRLgj_b_.woff2)format("woff2"),url(/assets/crimson-text-latin-400-normal-qfr3ao9R.woff)format("woff")}@font-face{font-family:Crimson Text;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/crimson-text-latin-400-italic-C7rttgBh.woff2)format("woff2"),url(/assets/crimson-text-latin-400-italic-DhN5Sx-s.woff)format("woff")}@font-face{font-family:Crimson Text;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/crimson-text-latin-700-normal-Stku49pw.woff2)format("woff2"),url(/assets/crimson-text-latin-700-normal-CZ4Qu9jq.woff)format("woff")}:root{--bg:#120d0a;--panel:#261d15;--inset:#17110c;--raised:#382c20;--trim:#c9a04a;--trim-dim:#7a6230;--title:#ffd100;--text:#f0e4c8;--muted:#b8aa8c;--orange:#ff8040;--yellow:#ffd100;--green:#4cc04c;--grey:#8a8a8a;--locked:#5a4d3c;--c-strength:#c0392b;--c-stamina:#a8742a;--c-intellect:#2f6fd0;--c-agility:#2e9b57;--c-spirit:#8e5bc4;--font-title:"Quattrocento", Georgia, "Times New Roman", serif;--font-clock:"Cinzel", Georgia, "Times New Roman", serif;--font-body:"Crimson Text", Georgia, "Times New Roman", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--bg)}body{min-height:100dvh;color:var(--text);font-family:var(--font-body);padding:env(safe-area-inset-top) 12px 0;background-color:#0000;background-image:radial-gradient(at 50% -10%,#ff8c2824,#0000 60%),repeating-linear-gradient(90deg,#ffffff05 0 2px,#0000 2px 7px),linear-gradient(#1a130e,#0e0907);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;margin:0;font-size:1.1rem;line-height:1.4}button{font:inherit;color:inherit;touch-action:manipulation}:focus-visible{outline:2px solid var(--title);outline-offset:2px}#root{max-width:430px;padding:22px 0 calc(88px + env(safe-area-inset-bottom));margin:0 auto}.app{flex-direction:column;gap:12px;display:flex}.screen{animation:.18s ease-out screen-in}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}}.window{background:linear-gradient(#ffffff09, transparent 40px), repeating-linear-gradient(0deg, #00000012 0 1px, transparent 1px 3px), var(--panel);border:8px solid #0000;border-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cdefs%3e%3clinearGradient%20id='g'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%23f3d98a'/%3e%3cstop%20offset='0.5'%20stop-color='%23b8892f'/%3e%3cstop%20offset='1'%20stop-color='%235a3c12'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20x='0.5'%20y='0.5'%20width='23'%20height='23'%20rx='3'%20fill='none'%20stroke='%23000'/%3e%3crect%20x='1.75'%20y='1.75'%20width='20.5'%20height='20.5'%20rx='2.5'%20fill='none'%20stroke='url(%23g)'%20stroke-width='2.5'/%3e%3crect%20x='3.75'%20y='3.75'%20width='16.5'%20height='16.5'%20rx='1.5'%20fill='none'%20stroke='%231a1006'%20stroke-width='1.5'/%3e%3crect%20x='4.9'%20y='4.9'%20width='14.2'%20height='14.2'%20fill='none'%20stroke='%23c9a04a'%20stroke-opacity='0.35'%20stroke-width='0.8'/%3e%3cg%20fill='url(%23g)'%20stroke='%23000'%20stroke-width='0.6'%3e%3ccircle%20cx='4.4'%20cy='4.4'%20r='1.9'/%3e%3ccircle%20cx='19.6'%20cy='4.4'%20r='1.9'/%3e%3ccircle%20cx='4.4'%20cy='19.6'%20r='1.9'/%3e%3ccircle%20cx='19.6'%20cy='19.6'%20r='1.9'/%3e%3c/g%3e%3c/svg%3e") 8;border-radius:4px;padding:10px;position:relative;box-shadow:0 6px 18px #0000008c}h3{font-family:var(--font-title);color:var(--title);text-shadow:0 1px #000;border-bottom:1px solid var(--trim-dim);margin:20px 0 6px;padding-bottom:3px;font-size:1.1rem;font-weight:700}.hint{color:var(--muted);margin:6px 0;font-size:1rem}.tier{font-family:var(--font-title);letter-spacing:.1em;color:var(--title);text-shadow:0 1px #000;margin-bottom:4px;font-size:.85rem;font-weight:700;display:block}.skill-bar-track{height:24px;box-shadow:0 0 0 1px var(--trim-dim);background:#07090f;border:2px solid #000;border-radius:3px;position:relative;overflow:hidden}.skill-bar-fill{background:linear-gradient(#5fb0ff,#2a6fd0 55%,#1c4f9c);height:100%;transition:width .5s ease-out;box-shadow:inset 0 1px #ffffff59}.skill-bar-text{font-family:var(--font-title);letter-spacing:.04em;color:#fff;text-shadow:0 1px 2px #000,0 0 3px #000;place-items:center;font-size:.85rem;font-weight:700;display:grid;position:absolute;inset:0}.skill-next{margin:8px 0 0}.primary,.secondary{cursor:pointer;min-height:52px;font-family:var(--font-title);letter-spacing:.05em;border-radius:4px;padding:0 18px;font-weight:700;transition:filter .12s,transform 60ms}.primary:active,.secondary:active,.chip:active,.segment:active,.recipe-row:active{filter:brightness(.9);transform:translateY(1px)}.primary{color:var(--title);text-shadow:0 1px #000;border:1px solid var(--trim);background:linear-gradient(#b23a24,#6a170c 55%,#50100a);box-shadow:inset 0 1px #ffffff47,inset 0 0 0 1px #00000059,0 2px #000}.secondary{min-height:44px;color:var(--text);border:1px solid var(--trim-dim);background:linear-gradient(#41342a,#261d15);font-size:.9rem;font-weight:600;box-shadow:inset 0 1px #ffffff1a,0 2px #000}.primary:disabled{color:var(--muted);text-shadow:none;border-color:var(--trim-dim);cursor:not-allowed;background:linear-gradient(#3a332c,#26211c)}.danger{color:#ff9c85;border-color:#b8442c}.back{margin-bottom:8px}.cook-actions{flex-direction:column;gap:8px;margin:14px 0;display:flex}.confirm-row{flex-direction:column;gap:8px;display:flex}.chips,.segments{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.chip,.segment{min-height:44px;font-family:var(--font-title);letter-spacing:.04em;color:var(--text);border:1px solid var(--trim-dim);cursor:pointer;background:linear-gradient(#41342a,#261d15);border-radius:4px;padding:0 14px;font-size:.8rem;font-weight:600}.segment{flex:1}.chip[aria-selected=true],.segment[aria-pressed=true]{color:var(--title);border-color:var(--trim);background:linear-gradient(#5a4322,#33250f);box-shadow:inset 0 0 10px #ffd10040}.recipe-list{flex-direction:column;gap:5px;margin:10px 0 0;padding:0;list-style:none;display:flex}.recipe-row{text-align:left;background:linear-gradient(#1f1812, var(--inset));border:1px solid #3a2f22;border-left:5px solid var(--grey);cursor:pointer;border-radius:3px;align-items:center;gap:10px;width:100%;min-height:62px;padding:6px 10px 6px 8px;display:flex}.recipe-row-main{flex-direction:column;flex:1;min-width:0;display:flex}.recipe-row-meta{color:var(--muted);white-space:nowrap;flex-direction:column;align-items:flex-end;font-size:.9rem;line-height:1.2;display:flex}.recipe-name{font-family:var(--font-title);letter-spacing:.02em;font-size:.95rem;font-weight:700}.recipe-sub{color:var(--muted);margin:0;font-size:1rem;font-style:italic}.tone-orange{border-left-color:var(--orange)}.tone-yellow{border-left-color:var(--yellow)}.tone-green{border-left-color:var(--green)}.tone-grey{border-left-color:var(--grey)}.tone-locked{border-left-color:var(--locked)}.recipe-row.tone-orange .recipe-name,.detail-title.tone-orange{color:var(--orange)}.recipe-row.tone-yellow .recipe-name,.detail-title.tone-yellow{color:var(--yellow)}.recipe-row.tone-green .recipe-name,.detail-title.tone-green{color:var(--green)}.recipe-row.tone-grey .recipe-name,.detail-title.tone-grey{color:var(--grey)}.recipe-row.tone-locked .recipe-name,.detail-title.tone-locked{color:var(--muted)}.recipe-row.tone-grey,.recipe-row.tone-locked{opacity:.85}.item-icon{color:#fff;background:linear-gradient(145deg, var(--icon,#555), #000 140%);border:2px solid var(--trim-dim);border-radius:4px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid;box-shadow:inset 0 0 0 1px #0009,inset 0 1px #ffffff40}.item-icon svg{filter:drop-shadow(0 1px 1px #000);width:26px;height:26px}.item-icon.cat-strength{--icon:var(--c-strength)}.item-icon.cat-stamina{--icon:var(--c-stamina)}.item-icon.cat-intellect{--icon:var(--c-intellect)}.item-icon.cat-agility{--icon:var(--c-agility)}.item-icon.cat-spirit{--icon:var(--c-spirit)}.recipe-row.tone-locked .item-icon{filter:grayscale()}.detail-head{align-items:flex-start;gap:12px;display:flex}.detail-head .item-icon{flex-basis:56px;width:56px;height:56px}.detail-head .item-icon svg{width:36px;height:36px}.detail-title{font-family:var(--font-title);text-shadow:0 2px #000;margin:0;font-size:1.35rem;font-weight:700;line-height:1.15}.detail-facts{color:var(--muted);margin:4px 0 0;font-size:1rem}.ingredients{margin:0;padding:0;list-style:none}.ingredients li{border-bottom:1px dotted var(--trim-dim);justify-content:space-between;align-items:center;gap:12px;min-height:38px;display:flex}.nutrition{text-align:center;background:var(--inset);border:1px solid #3a2f22;border-radius:3px;grid-template-columns:repeat(5,1fr);gap:4px;margin:0;padding:8px 4px;display:grid}.nutrition dt{color:var(--muted);font-size:.85rem}.nutrition dd{font-family:var(--font-title);margin:0;font-size:.8rem;font-weight:700}.steps{margin:0;padding-left:24px}.steps li{margin-bottom:10px}.step-timer{color:var(--orange);white-space:nowrap}.cook-steps{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.cook-step{background:var(--inset);border:1px solid #3a2f22;border-radius:4px;gap:10px;padding:10px;display:flex}.cook-step-mark{border:1px solid var(--trim-dim);height:28px;font-family:var(--font-title);color:var(--title);border-radius:50%;flex:0 0 28px;place-items:center;font-size:.8rem;font-weight:700;display:grid}.cook-step-done{opacity:.55}.cook-step-done .cook-step-mark{background:var(--green);border-color:var(--green);color:#10200f}.cook-step-current{border-color:var(--trim);background:linear-gradient(#4a3720,#33250f);box-shadow:inset 0 0 12px #ffd10026}.cook-step-todo{opacity:.7}.craft-result{text-align:center}.craft-result .detail-title{font-size:1.5rem}.craft-line{color:var(--title);margin:14px 0 4px;font-size:1.2rem}.fire-overlay{z-index:10;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));background:radial-gradient(at 50% 62%,#b43c0a8c 0%,#0000 60%),radial-gradient(#2a1209 0%,#130a06 60%,#080504 100%);flex-direction:column;justify-content:center;align-items:center;gap:8px;animation:.25s ease-out screen-in;display:flex;position:fixed;inset:0;overflow-y:auto}.fire-step{text-align:center;max-width:360px;margin:0;font-size:1.15rem}.fire{width:240px;height:250px;margin-top:4px;position:relative}.fire-glow{opacity:.15;background:radial-gradient(#ff8c288c,#0000 70%);width:260px;height:120px;margin-left:-130px;transition:opacity .8s;position:absolute;bottom:6px;left:50%}.fire-running .fire-glow,.fire-finished .fire-glow{opacity:1;animation:1.4s ease-in-out infinite alternate glow-breathe}@keyframes glow-breathe{0%{opacity:.8;transform:scale(.94)}to{opacity:1;transform:scale(1.06)}}.flame{border-radius:50% 0 50% 50%;transition:scale .9s ease-out,opacity .9s ease-out;animation:1.1s ease-in-out infinite alternate flicker;position:absolute;bottom:38px;left:50%;transform:translate(-50%)rotate(-45deg)}.flame-outer{background:radial-gradient(circle at 30% 70%,#ff7a1a,#b32a0a);width:128px;height:128px;box-shadow:0 0 56px 14px #ff641473}.flame-mid{background:radial-gradient(circle at 30% 70%,#ffb13d,#ff6a14);width:92px;height:92px;animation-duration:.9s;animation-delay:-.3s}.flame-inner{background:radial-gradient(circle at 30% 70%,#fff6c0,#ffc53d);width:52px;height:52px;animation-duration:.7s;animation-delay:-.5s}.flame-side{background:radial-gradient(circle at 30% 70%,#ff9a2a,#c8380d);width:56px;height:56px;animation-duration:.8s;bottom:40px}.flame-side-l{margin-left:-52px;animation-delay:-.2s}.flame-side-r{margin-left:52px;animation-delay:-.6s}@keyframes flicker{0%{transform:translate(-50%)rotate(-48deg)scale(1)}50%{transform:translate(-50%)rotate(-42deg)scale(.93,1.1)}to{transform:translate(-50%)rotate(-46deg)scale(1.05,.95)}}.logs{width:190px;height:56px;margin-left:-95px;position:absolute;bottom:0;left:50%}.log{background:repeating-linear-gradient(90deg,#0000002e 0 3px,#0000 3px 11px),linear-gradient(#7a4d28,#3d2412);border-radius:13px;width:150px;height:26px;position:absolute;bottom:6px;box-shadow:inset 0 2px #ffc87840,0 3px 4px #0009}.log:after{content:"";background:radial-gradient(circle,#9b6a3c 0 25%,#6a4222 26% 55%,#4a2c16 56%);border-radius:50%;width:20px;height:20px;position:absolute;top:3px;right:3px}.log-a{left:4px;transform:rotate(9deg)}.log-b{bottom:10px;right:4px;transform:rotate(-9deg)scaleX(-1)}.fire-idle .flame{opacity:0;scale:.2}.fire-finished .fire-glow{filter:brightness(1.25);animation-duration:.9s}.ember{opacity:0;background:#ffb13d;border-radius:50%;width:6px;height:6px;animation:2.6s ease-out infinite rise;position:absolute;bottom:70px;box-shadow:0 0 6px 2px #ffa028b3}.ember-1{animation-delay:0s;left:40%}.ember-2{animation-delay:.5s;left:52%}.ember-3{animation-delay:1.1s;left:62%}.ember-4{animation-delay:1.6s;left:46%}.ember-5{animation-delay:.8s;left:56%}.ember-6{animation-delay:2s;left:36%}.ember-7{animation-delay:1.35s;left:66%}.ember-8{animation-delay:2.3s;left:48%}@keyframes rise{0%{opacity:.95;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-170px)translate(18px)scale(.3)}}.fire-idle .ember{display:none}.fire-clock{font-family:var(--font-clock);color:var(--title);text-shadow:0 2px #000,0 0 18px #ffa02880;justify-content:center;margin:0;font-size:3.2rem;font-weight:700;line-height:1.1;display:flex}.digit{text-align:center;width:.68em;display:inline-block}.fire-finished+.fire-clock{animation:.9s ease-in-out infinite alternate clock-pulse}@keyframes clock-pulse{to{transform:scale(1.06)}}.fire-status{min-height:1.4em;font-family:var(--font-title);letter-spacing:.06em;margin:0}.fire-actions{flex-direction:column;gap:8px;width:100%;max-width:320px;margin-top:12px;display:flex}.toasts{top:calc(8px + env(safe-area-inset-top));z-index:20;pointer-events:none;flex-direction:column;gap:4px;width:min(400px,100vw - 24px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;text-align:center;min-height:48px;font-family:var(--font-title);color:var(--title);text-shadow:0 2px 3px #000;cursor:pointer;background:radial-gradient(#080503f0 60%,#08050300 100%);border:0;padding:14px 20px;font-size:1.1rem;font-weight:700;line-height:1.25;animation:.25s ease-out toast-in;position:relative}.toast:before,.toast:after{content:"";background:linear-gradient(90deg, transparent, var(--trim), transparent);height:1px;position:absolute;left:6%;right:6%}.toast:before{top:6px}.toast:after{bottom:6px}.toast-info{color:var(--text);font-family:var(--font-body);font-size:1.1rem}.toast-tier{text-shadow:0 0 16px #ffa028b3,0 2px 3px #000;padding:24px 20px;font-size:1.5rem}@keyframes toast-in{0%{opacity:0;transform:translateY(-16px)}}.bottom-nav{z-index:5;border-top:2px solid var(--trim);padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(#241a12,#0f0a07);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 14px #0009,inset 0 1px #000}.bottom-nav-inner{gap:4px;max-width:430px;margin:0 auto;padding:0 6px;display:flex}.bottom-nav button{border:1px solid var(--trim-dim);min-height:56px;font-family:var(--font-title);color:var(--muted);cursor:pointer;background:linear-gradient(#1c140d,#120c08);border-top:0;border-radius:0 0 8px 8px;flex:1;font-size:1rem;font-weight:700}.bottom-nav button[aria-current=page]{color:var(--title);text-shadow:0 1px #000;border-color:var(--trim);box-shadow:inset 0 -3px 0 var(--title), inset 0 0 14px #ffd1002e;background:linear-gradient(#4a3520,#2b1e12)}.badge{background:var(--yellow);color:#1b1410;border-radius:11px;min-width:22px;margin-left:8px;padding:0 6px;font-size:.8rem;line-height:22px;display:inline-block}.quest-progress{color:var(--title);margin:0 0 4px;font-size:1.15rem;font-weight:700}.quest-items{margin:0;padding:0;list-style:none}.quest-item{border-bottom:1px dotted var(--trim-dim);cursor:pointer;align-items:center;gap:12px;min-height:48px;display:flex}.quest-name{flex:1}.quest-amount{color:var(--muted);white-space:nowrap}.warning{color:#ffb4a0;background:#3a1a12;border:1px solid #b8442c;border-radius:4px;margin:0 0 12px;padding:10px 12px}.import-confirm{border:1px solid var(--trim);background:linear-gradient(#4a3720,#33250f);border-radius:4px;margin:12px 0;padding:4px 12px}.toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.dev-skill{color:var(--muted);border:1px dashed var(--trim-dim);border-radius:4px;flex-direction:column;gap:4px;padding:8px;font-size:.9rem;display:flex}@media (prefers-reduced-motion:reduce){.screen,.fire-overlay,.toast,.flame,.ember,.fire-glow,.fire-finished+.fire-clock{animation:none}.ember{display:none}.skill-bar-fill,.flame,.fire-glow{transition:none}}.stepper{justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;display:flex}.stepper-label{font-family:var(--font-title);letter-spacing:.06em;color:var(--title);text-shadow:0 1px #000;margin-right:auto;font-size:.85rem;font-weight:600}.stepper-btn{width:44px;height:44px;color:var(--title);border:1px solid var(--trim-dim);cursor:pointer;background:linear-gradient(#41342a,#261d15);border-radius:4px;font-size:.9rem;box-shadow:inset 0 1px #ffffff1a,0 2px #000}.stepper-btn:disabled{color:var(--muted);opacity:.5;cursor:not-allowed}.stepper-value{min-width:52px;height:44px;font-family:var(--font-title);background:var(--inset);border:1px solid var(--trim-dim);border-radius:4px;place-items:center;font-size:1.2rem;font-weight:700;display:grid;box-shadow:inset 0 2px 6px #000000b3}.cook-ingredients{background:var(--inset);border:1px solid #3a2f22;border-radius:4px;margin:12px 0;padding:8px 12px}.cook-ingredients summary{min-height:44px;font-family:var(--font-title);letter-spacing:.06em;color:var(--title);cursor:pointer;align-items:center;font-size:.85rem;font-weight:700;display:flex}.titlebar{border-bottom:1px solid var(--trim-dim);background:linear-gradient(#3b2b1b,#1d140c);justify-content:center;align-items:center;min-height:38px;margin:-10px -10px 12px;padding:0 52px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff1a,0 2px 4px #00000080}.titlebar-text{font-family:var(--font-title);color:var(--title);text-shadow:0 2px #000;margin:0;font-size:1.15rem;font-weight:700}.emblem{filter:drop-shadow(0 2px 3px #000c);width:56px;height:56px;position:absolute;top:-14px;left:-14px}.has-emblem .titlebar{margin-bottom:18px}.close-x{color:#ffe9b0;text-shadow:0 1px #000;border:1px solid var(--trim);cursor:pointer;background:linear-gradient(#c8432b,#721a0e);border-radius:3px;width:28px;height:28px;padding:0;font-size:.85rem;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%);box-shadow:inset 0 1px #ffffff4d,0 1px #000}.close-x:after{content:"";position:absolute;inset:-8px}.search{width:100%;min-height:44px;font:inherit;color:var(--text);background:var(--inset) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8aa8c' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='6'/%3E%3Cpath d='M15 15l5 5'/%3E%3C/svg%3E") no-repeat 11px center / 18px;border:1px solid var(--trim-dim);border-radius:12px;margin-bottom:10px;padding:0 12px 0 38px;font-size:1rem;box-shadow:inset 0 2px 6px #000000b3}.search::placeholder{color:var(--muted)}.group{margin-bottom:10px}.group-header{text-align:left;border:1px solid var(--trim-dim);cursor:pointer;background:linear-gradient(#4a3520,#2b1e12);border-radius:3px;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 10px 0 12px;display:flex;box-shadow:inset 0 1px #ffffff24,inset 0 0 0 1px #00000080}.group-name{font-family:var(--font-title);color:var(--title);text-shadow:0 1px #000;font-size:1.1rem;font-weight:700}.group-desc{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.95rem;overflow:hidden}.group-count{color:var(--muted);font-size:.95rem}.group-toggle{width:24px;height:24px;color:var(--title);border:1px solid var(--trim-dim);background:#120c07;border-radius:3px;place-items:center;font-size:1.3rem;font-weight:700;line-height:1;display:grid;box-shadow:inset 0 1px 3px #000}.group .recipe-list{margin-top:4px}.recipe-row{background:linear-gradient(#1c150f, var(--inset))}.recipe-row:active,.recipe-row:focus-visible{filter:none;background:linear-gradient(90deg,#ffd1004d,#ffd1000d)}.inset{border:1px solid var(--trim-dim);background:radial-gradient(at 85% 100%,#78461e33,#0000 60%),#130e0a;border-radius:3px;padding:12px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #000,inset 0 0 22px #000c}.watermark{opacity:.09;pointer-events:none;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%20viewBox='0%200%20120%20120'%3e%3cg%20fill='none'%20stroke='%23c9a04a'%20stroke-width='3'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M22%2054h76'/%3e%3cpath%20d='M26%2054c-2%2022%206%2038%2034%2038s36-16%2034-38'/%3e%3cpath%20d='M18%2054h-6M102%2054h6'/%3e%3cpath%20d='M38%2091l-5%2011M82%2091l5%2011'/%3e%3cpath%20d='M40%2066c10%206%2030%206%2040%200'/%3e%3cpath%20d='M44%2042c-6-6%206-10%200-18M62%2040c-6-6%206-10%200-20M80%2042c-6-6%206-10%200-18'/%3e%3c/g%3e%3c/svg%3e") 50%/contain no-repeat;width:150px;height:150px;position:absolute;bottom:4px;right:4px}h3.detail-title{border:0;margin:0;padding:0;font-size:1.3rem;line-height:1.15}.reagents-title{font-family:var(--font-title);color:var(--title);text-shadow:0 1px #000;border-bottom:1px solid var(--trim-dim);margin:18px 0 6px;padding-bottom:3px;font-size:1.05rem;font-weight:700}.reagents-title span{font-family:var(--font-body);color:var(--muted);text-shadow:none;font-size:.95rem;font-weight:400}.detail-head+.reagents-title{margin-top:14px}.reagents{margin:0;padding:0;list-style:none}.reagents li{border-bottom:1px dotted #7a623099;align-items:center;gap:10px;min-height:48px;display:flex}.item-icon.small{flex-basis:36px;width:36px;height:36px}.item-icon.small svg{width:22px;height:22px}.reagent-name{flex:1;min-width:0}.reagent-amount{white-space:nowrap;color:var(--text)}.reagents .is-missing .reagent-amount,.reagents .is-missing .reagent-name{color:var(--muted)}.reagents .is-complete .reagent-amount{color:var(--green)}.farm{width:100%;margin-top:10px}.action-spacer{height:76px}.action-bar{left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom));z-index:4;border-top:2px solid var(--trim-dim);background:linear-gradient(#2a2017,#17110b);position:fixed;box-shadow:0 -4px 12px #0000008c}.action-bar-inner{align-items:center;gap:12px;max-width:430px;margin:0 auto;padding:8px 12px;display:flex}.action-bar .stepper{flex:none;margin:0}.action-bar .craft{flex:1}.setting{justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.setting .segments{flex:none;margin:0}.setting .segment{flex:none;min-width:84px}.rotate-hint{display:none}@media (orientation:landscape) and (height<=520px){.rotate-hint{z-index:100;text-align:center;background:radial-gradient(at 50% 40%,#2a1209,#0a0605);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:fixed;inset:0}.rotate-hint .emblem{width:64px;height:64px;position:static}.rotate-hint p{font-family:var(--font-title);color:var(--title);margin:0;font-size:1.2rem;font-weight:700}.rotate-hint .hint{font-family:var(--font-body);color:var(--muted);font-size:1rem;font-weight:400}}.cook-panel{margin-top:12px;padding:8px}.cook-panel .cook-steps{margin:0}.cook-step{background:0 0;border-color:#0000}.cook-step-current{border-color:var(--trim);box-shadow:none;background:linear-gradient(90deg,#ffd1004d,#ffd1000d)}.castbar{align-items:center;gap:8px;width:100%;max-width:340px;display:flex}.castbar .item-icon{flex-basis:34px;width:34px;height:34px}.castbar .item-icon svg{width:22px;height:22px}.castbar-track{height:26px;box-shadow:0 0 0 1px var(--trim-dim);background:#0a0705;border:2px solid #000;border-radius:3px;flex:1;position:relative;overflow:hidden}.castbar-fill{background:linear-gradient(#c99a30,#9a640c 55%,#6e4408);height:100%;transition:width 1s linear;box-shadow:inset 0 1px #ffffff59}.castbar-finished .castbar-fill{background:linear-gradient(#58b858,#2c7d2c 55%,#175017)}.castbar-name{font-family:var(--font-title);color:#fff;text-shadow:0 1px 2px #000,0 0 3px #000;white-space:nowrap;text-overflow:ellipsis;place-items:center;padding:0 8px;font-size:.9rem;font-weight:700;display:grid;position:absolute;inset:0;overflow:hidden}.banner-kicker{font-family:var(--font-title);color:var(--muted);margin:0;font-size:1rem;font-weight:700}.flourish{background:linear-gradient(90deg, transparent, var(--trim) 18%, var(--trim) 82%, transparent) center / 100% 1px no-repeat;height:14px;margin:8px 0;position:relative}.flourish:after{content:"";background:var(--trim);border:1px solid #000;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.bar-heading{min-height:36px;font-family:var(--font-title);color:var(--title);text-shadow:0 1px #000;border:1px solid var(--trim-dim);background:linear-gradient(#4a3520,#2b1e12);border-radius:3px;margin:14px 0 6px;padding:8px 12px;font-size:1.05rem;font-weight:700;box-shadow:inset 0 1px #ffffff24,inset 0 0 0 1px #00000080}.quest{background:linear-gradient(#785a281a,#0000 120px),radial-gradient(at 85% 100%,#78461e33,#0000 60%),#130e0a}.quest-title{border:0;margin:0;padding:0;font-size:1.3rem}.quest-title:before{content:"!";width:1ch;color:var(--title);text-shadow:0 0 10px #ffd100b3,0 1px #000;margin-right:8px;display:inline-block}.quest-progress{margin:4px 0 6px}.meter{height:10px;box-shadow:0 0 0 1px var(--trim-dim);background:#07090f;border:1px solid #000;border-radius:2px;margin-bottom:4px;overflow:hidden}.meter-fill{background:linear-gradient(#ffe27a,#d29a1c 60%,#9a6a0e);height:100%;transition:width .4s ease-out}.quest-item{gap:10px;min-height:52px}.quest-item.is-checked{color:var(--green)}.quest-item.is-checked .quest-name,.quest-item.is-checked .quest-amount{opacity:.85;text-decoration:none}.check{appearance:none;background:var(--inset);border:2px solid var(--trim-dim);cursor:pointer;border-radius:4px;flex:0 0 28px;place-content:center;width:28px;height:28px;margin:0;display:grid;box-shadow:inset 0 2px 5px #000}.check:checked{border-color:var(--trim);background:linear-gradient(#5a4322,#33250f)}.check:checked:after{content:"";border-left:3px solid var(--title);border-bottom:3px solid var(--title);width:13px;height:7px;margin-top:-3px;transform:rotate(-45deg)}@media (prefers-reduced-motion:reduce){.castbar-fill,.meter-fill,.toast{transition:none;animation:none}}.stock-row{border-bottom:1px dotted #7a623099;align-items:center;gap:10px;min-height:52px;display:flex}.remove-x{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:0 0 44px;font-size:.9rem}.remove-x:active{color:#ff9c85}.bottom-nav button{padding:0 2px;font-size:.9rem}.badge{min-width:20px;margin-left:4px;padding:0 5px;line-height:20px}
