:root{--font-display: "Lora", "Georgia", "Times New Roman", serif;--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--font-rustic: "Lora", "Georgia", "Times New Roman", serif;--font-fantasy-title: "Cinzel", "Lora", serif;--font-charm: "Caveat", "Segoe Print", cursive;--hue-fire: 20;--hue-gold: 40;--hue-sage: 135;--hue-earth: 42;--hue-ember: 12;--color-bg-deep: hsl(40, 42%, 88%);--color-bg-dark: hsl(34, 28%, 87%);--color-bg-card: hsl(44, 45%, 97%);--color-bg-glass: hsla(40, 40%, 96%, .94);--color-border: hsl(30, 18%, 78%);--color-border-hover: hsl(var(--hue-fire), 38%, 52%);--color-text: hsl(22, 18%, 30%);--color-text-muted: hsl(26, 12%, 38%);--color-text-dim: hsl(28, 10%, 48%);--color-fire: hsl(var(--hue-fire), 44%, 48%);--color-fire-glow: hsla(var(--hue-fire), 44%, 48%, .16);--color-gold: hsl(var(--hue-gold), 48%, 42%);--color-gold-glow: hsla(var(--hue-gold), 48%, 42%, .12);--color-sage: hsl(var(--hue-sage), 20%, 38%);--color-sage-soft: hsla(var(--hue-sage), 24%, 86%, .9);--color-success: hsl(128, 26%, 38%);--color-danger: hsl(6, 42%, 44%);--color-surface-warm: hsl(34, 32%, 86%);--color-surface-wood: hsl(28, 26%, 72%);--color-primitive-tint: hsla(265, 36%, 92%, .95);--color-raw-tint: hsla(120, 28%, 91%, .95);--color-processed-tint: hsla(34, 46%, 91%, .95);--color-recipe-tint: hsla(345, 42%, 92%, .95);--scroll-parchment: hsl(40, 48%, 90%);--scroll-parchment-deep: hsl(36, 40%, 82%);--scroll-ink: hsl(22, 30%, 26%);--scroll-ink-muted: hsl(26, 16%, 42%);--scroll-accent: hsl(20, 52%, 44%);--scroll-accent-soft: hsl(32, 48%, 54%);--scroll-copper: hsl(26, 46%, 46%);--scroll-moss: hsl(128, 22%, 40%);--scroll-ember: hsl(28, 72%, 58%);--scroll-honey: hsl(38, 62%, 62%);--scroll-cream: hsl(42, 55%, 95%);--scroll-roll: hsl(24, 26%, 30%);--scroll-roll-highlight: hsl(28, 22%, 42%);--scroll-wood-cap: hsl(26, 28%, 32%);--scroll-wood-cap-light: hsl(30, 24%, 48%);--scroll-brass: hsl(36, 38%, 48%);--scroll-shadow: hsla(22, 32%, 12%, .32);--scroll-roller-height: 32px;--scroll-knob-size: 34px;--scroll-edge-height: 16px;--scroll-parchment-light: hsl(44, 52%, 94%);--hearth-glow: hsla(32, 85%, 58%, .28);--mystic-glow: hsla(128, 32%, 48%, .1);--cozy-amber-glow: hsla(32, 80%, 55%, .22);--table-deep: hsl(24, 28%, 16%);--table-mid: hsl(26, 24%, 24%);--table-warm: hsl(28, 26%, 30%);--parchment-fiber: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.05' numOctaves='5' stitchTiles='stitch' result='n'/%3E%3CfeDiffuseLighting in='n' lighting-color='%23efdfb6' surfaceScale='1.25'%3E%3CfeDistantLight azimuth='65' elevation='58'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='280' height='280' filter='url(%23f)'/%3E%3C/svg%3E");--parchment-mottle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.009' numOctaves='4' seed='14' stitchTiles='stitch' result='n'/%3E%3CfeColorMatrix in='n' type='matrix' values='0 0 0 0 0.36 0 0 0 0 0.26 0 0 0 0 0.14 0 0 0 -1.15 0.52'/%3E%3C/filter%3E%3Crect width='420' height='420' filter='url(%23m)'/%3E%3C/svg%3E");--parchment-bg: var(--parchment-mottle), radial-gradient(ellipse 120% 90% at 50% -10%, hsla(46, 60%, 98%, .65), transparent 60%), radial-gradient(ellipse 120% 80% at 50% 110%, hsla(28, 45%, 35%, .22), transparent 65%), linear-gradient(175deg, hsl(42, 55%, 92%) 0%, hsl(40, 48%, 86%) 45%, hsl(36, 45%, 78%) 100%), var(--parchment-fiber);--parchment-blend: multiply, soft-light, multiply, normal, normal;--paper-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.42 0 0 0 0 0.34 0 0 0 0 0.26 0 0 0 0.5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");--font-fantasy: var(--font-rustic);--scroll-gold: var(--scroll-copper);--scroll-gold-bright: var(--scroll-accent-soft);--transition-smooth: all .45s cubic-bezier(.33, 0, .2, 1);--transition-elastic: all .6s cubic-bezier(.22, 1, .36, 1);--transition-gentle: all .3s cubic-bezier(.25, .1, .25, 1);--shadow-lg: 0 10px 28px -12px hsla(28, 22%, 28%, .14);--shadow-glow: 0 4px 16px var(--color-fire-glow);--cozy-focus-ring: 0 0 0 2px hsla(38, 65%, 55%, .5);--cozy-hover-glow: hsla(32, 70%, 55%, .16);--cozy-scrollbar-track: hsla(38, 30%, 78%, .16);--cozy-scrollbar-thumb: hsla(30, 38%, 48%, .45);--cozy-scrollbar-thumb-hover: hsla(30, 44%, 50%, .68);--active-gradient: linear-gradient(165deg, hsl(24, 40%, 46%) 0%, hsl(18, 34%, 36%) 100%);--active-gradient-hover: linear-gradient(165deg, hsl(24, 42%, 50%) 0%, hsl(18, 36%, 40%) 100%);--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1.25rem}html.high-contrast,html[data-contrast=high]{--wood-700: #2a1f1a;--wood-800: #1a1310;--wood-900: #0d0a08;--stone-800: #1c1c1c;--stone-900: #0a0a0a;--text-primary: #ffffff;--text-muted: #e0e0e0;--primary-500: #ffaa00;--accent-amber: #ffcc00;--danger-500: #ff3333}html.high-contrast body,html.high-contrast .sidebar-cabinet,html.high-contrast .dialog-content{background-color:var(--wood-900);border-color:#fff}html.high-contrast *{text-shadow:none!important;box-shadow:none!important}html.high-contrast .btn-primary{background:var(--primary-500);color:#000;border:2px solid #fff}html.high-contrast .btn-secondary{background:var(--stone-800);color:#fff;border:2px solid #fff}html.high-contrast .alchemy-element{border:2px solid #fff;background:#000}html.high-contrast :focus-visible{outline:4px solid var(--accent-amber)!important;outline-offset:2px!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:radial-gradient(ellipse 130% 110% at 50% 0%,#f5e6c8,#ecd9b0 45%,#ddc190 78%,#cdad77);color:var(--scroll-ink);min-height:100vh;overflow:hidden;position:relative;-webkit-font-smoothing:antialiased;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fantasy-backdrop{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.fantasy-backdrop__warmth{position:absolute;inset:0;background-color:#f5e6c8;background-image:radial-gradient(ellipse 58% 50% at 18% 24%,rgba(212,168,67,.2) 0%,transparent 55%),radial-gradient(ellipse 50% 46% at 82% 28%,rgba(139,105,20,.16) 0%,transparent 52%),radial-gradient(ellipse 55% 50% at 74% 80%,rgba(212,168,67,.18) 0%,transparent 55%),radial-gradient(ellipse 52% 42% at 22% 84%,rgba(139,105,20,.14) 0%,transparent 55%),radial-gradient(ellipse 40% 38% at 50% 52%,rgba(245,230,200,.55) 0%,transparent 60%),radial-gradient(ellipse 130% 100% at 50% 50%,#f5e6c8,#ecd6ac 55%,#dcbf8d)}.fantasy-backdrop__warmth:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px 220px;opacity:.32;mix-blend-mode:multiply}.fantasy-backdrop__warmth:after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(118deg,rgba(139,105,20,.035) 0px,transparent 2px,transparent 46px,rgba(255,248,228,.05) 48px,transparent 50px),repeating-linear-gradient(28deg,rgba(139,105,20,.028) 0px,transparent 3px,transparent 64px),radial-gradient(ellipse 90% 70% at 50% 40%,transparent 60%,rgba(139,105,20,.06) 100%)}.fantasy-backdrop__embers{position:absolute;inset:0;opacity:.6;background-image:radial-gradient(2px 2px at 10% 70%,hsla(32,95%,68%,.95),transparent),radial-gradient(1.5px 1.5px at 22% 82%,hsla(28,90%,62%,.85),transparent),radial-gradient(2px 2px at 35% 75%,hsla(36,92%,70%,.9),transparent),radial-gradient(1.5px 1.5px at 48% 88%,hsla(30,85%,60%,.75),transparent),radial-gradient(3px 3px at 8% 55%,hsla(32,95%,65%,.65),transparent),radial-gradient(1.5px 1.5px at 18% 92%,hsla(34,90%,68%,.8),transparent);background-size:100% 100%;animation:ember-flicker 10s ease-in-out infinite alternate}.fantasy-backdrop__motes{position:absolute;inset:0;pointer-events:none;overflow:hidden}.fantasy-backdrop__motes:before,.fantasy-backdrop__motes:after{content:"";position:absolute;inset:-10% 0;background-repeat:no-repeat;will-change:transform,opacity}.fantasy-backdrop__motes:before{background-image:radial-gradient(2px 2px at 16% 88%,hsla(34,92%,66%,.85),transparent 60%),radial-gradient(1.5px 1.5px at 38% 96%,hsla(30,88%,60%,.7),transparent 60%),radial-gradient(2.5px 2.5px at 62% 90%,hsla(38,90%,68%,.75),transparent 60%),radial-gradient(1.5px 1.5px at 82% 94%,hsla(28,85%,58%,.65),transparent 60%),radial-gradient(2px 2px at 50% 84%,hsla(36,90%,64%,.7),transparent 60%);animation:mote-drift 16s linear infinite}.fantasy-backdrop__motes:after{background-image:radial-gradient(1.5px 1.5px at 24% 92%,hsla(40,80%,70%,.5),transparent 60%),radial-gradient(1px 1px at 46% 98%,hsla(32,78%,62%,.45),transparent 60%),radial-gradient(1.5px 1.5px at 70% 95%,hsla(36,82%,66%,.5),transparent 60%),radial-gradient(1px 1px at 90% 90%,hsla(28,76%,58%,.4),transparent 60%),radial-gradient(1px 1px at 8% 96%,hsla(38,80%,64%,.42),transparent 60%);animation:mote-drift 26s linear infinite;animation-delay:-9s}html[data-motion=reduced] .fantasy-backdrop__motes{display:none}.fantasy-backdrop__vignette{position:absolute;inset:0;background:radial-gradient(ellipse 88% 82% at 50% 50%,transparent 48%,rgba(120,74,22,.3) 72%,rgba(74,44,12,.55) 88%,rgba(38,20,6,.82) 100%)}.fantasy-backdrop__vignette:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0% 0%,rgba(34,17,5,.62) 0%,transparent 24%),radial-gradient(circle at 100% 0%,rgba(34,17,5,.58) 0%,transparent 24%),radial-gradient(circle at 0% 100%,rgba(34,17,5,.62) 0%,transparent 24%),radial-gradient(circle at 100% 100%,rgba(34,17,5,.58) 0%,transparent 24%)}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.boot-error-panel{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;text-align:center;background:#281c15eb;color:#f9f7f0}.boot-error-panel h2{font-family:var(--font-display);color:#e7b174}.boot-error-hint{max-width:36rem;line-height:1.5;color:#ede9ded9}.boot-error-hint code{background:#43392dcc;padding:.1rem .35rem;border-radius:4px}:focus-visible{outline:3px solid var(--accent-amber);outline-offset:2px;box-shadow:0 0 0 4px #ffaa004d}.alchemy-element:focus-visible{outline:3px solid var(--accent-amber);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse-slow{0%,to{opacity:.78;transform:scale(1)}50%{opacity:1;transform:scale(1.008)}}@keyframes ember-flicker{0%{opacity:.4;filter:brightness(.95)}50%{opacity:.58;filter:brightness(1.06)}to{opacity:.46;filter:brightness(1)}}@keyframes hearth-pulse{0%,to{opacity:.72}50%{opacity:1}}@keyframes mote-drift{0%{transform:translateZ(0);opacity:0}12%{opacity:1}85%{opacity:.9}to{transform:translate3d(8px,-90vh,0);opacity:0}}@keyframes dialog-fade-in{0%{opacity:0;transform:scale(.97) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes textShine{0%{background-position:0% center}to{background-position:200% center}}@keyframes glow-pulse{0%,to{opacity:.8}50%{opacity:1}}@keyframes workspace-shake{0%,to{transform:translate(0)}15%{transform:translate(-5px)}30%{transform:translate(5px)}45%{transform:translate(-3.5px)}60%{transform:translate(2.5px)}75%{transform:translate(-1.5px)}}@keyframes cabinet-recent-glow{0%,to{border-color:hsla(var(--hue-gold),62%,52%,.55);box-shadow:0 0 hsla(var(--hue-gold),70%,58%,.2)}50%{border-color:hsla(var(--hue-gold),72%,48%,.85);box-shadow:0 0 18px var(--color-gold-glow)}}@keyframes float-and-fade{0%{transform:translate(0) scale(.5);opacity:1}to{transform:translate(var(--dx, 0),var(--dy, -50px)) scale(1.2);opacity:0}}@keyframes steam-rise{0%{transform:translate(0) scale(.4);opacity:0}20%{opacity:.85}to{transform:translate(var(--dx, 0),var(--dy, -90px)) scale(1.8);opacity:0}}.animate-pop{animation:bounce-in .6s cubic-bezier(.22,1,.36,1) forwards}@keyframes bounce-in{0%{transform:scale(.82);opacity:0}to{transform:scale(1);opacity:1}}.wobble-anim{animation:wobble .5s ease-in-out}@keyframes wobble{0%,to{transform:translate(0)}25%{transform:translate(-4px) rotate(-1.2deg)}75%{transform:translate(4px) rotate(1.2deg)}}.sizzle-anim{animation:sizzle .4s cubic-bezier(.36,.07,.19,.97) infinite}@keyframes sizzle{0%,to{transform:translate(0)}25%{transform:translate(-1px,2px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-2px,-2px)}}@keyframes canvas-spawn-in{0%{opacity:0;scale:.2;filter:brightness(2) contrast(1.5);box-shadow:0 0 40px 10px hsla(var(--hue-gold),95%,65%,.8)}45%{opacity:1;scale:1.25;filter:brightness(1.2) contrast(1.1);box-shadow:0 0 30px 5px hsla(var(--hue-gold),90%,60%,.5)}to{opacity:1;scale:1;filter:brightness(1) contrast(1);box-shadow:0 0 15px hsla(var(--hue-gold),85%,58%,0)}}@media (prefers-reduced-motion: reduce){:root:not([data-motion=full]){scroll-behavior:auto}}html[data-motion=reduced],html[data-motion=reduced] *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.grand-scroll{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100vh;width:100%;padding:.75rem 1rem 1rem}.grand-scroll__assembly{display:flex;flex-direction:column;width:min(100%,1480px);height:100%;max-height:calc(100vh - 1.75rem);filter:drop-shadow(0 20px 40px var(--scroll-shadow)) drop-shadow(0 0 48px hsla(32,60%,48%,.08));animation:scroll-unfurl-down 1.7s cubic-bezier(.22,1,.36,1) both}@keyframes scroll-unfurl-down{0%{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-8px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}}.grand-scroll__sheet{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;z-index:2}.grand-scroll__parchment{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--parchment-bg);background-size:420px 420px,100% 100%,100% 100%,100% 100%,280px 280px;background-repeat:repeat,no-repeat,no-repeat,no-repeat,repeat;background-blend-mode:var(--parchment-blend);border-radius:16px 11px 18px 13px;box-shadow:inset 0 0 0 1px #ece4d54d,inset 0 0 6px 2px #6e4a2b4d,inset 0 0 46px #5d3f2842,inset 0 0 130px #4a332624,0 22px 46px #2217116b}.grand-scroll__parchment:after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at 0% 0%,hsla(22,44%,15%,.4) 0%,transparent 13%),radial-gradient(circle at 100% 0%,hsla(22,44%,15%,.36) 0%,transparent 12%),radial-gradient(circle at 0% 100%,hsla(22,44%,15%,.42) 0%,transparent 14%),radial-gradient(circle at 100% 100%,hsla(22,44%,15%,.38) 0%,transparent 13%);box-shadow:inset 0 0 70px #412a1b33,inset 0 0 16px #59392142;mix-blend-mode:multiply}.grand-scroll__crinkles{position:absolute;inset:0;pointer-events:none;z-index:0}.grand-scroll__crinkles--grain{opacity:.28;background-image:var(--paper-noise);background-size:160px 160px;background-repeat:repeat;mix-blend-mode:multiply}.grand-scroll__crinkles--stains{opacity:.85;background:radial-gradient(ellipse 140px 70px at 6% 12%,hsla(24,30%,38%,.14),transparent),radial-gradient(ellipse 100px 55px at 94% 18%,hsla(22,26%,36%,.12),transparent),radial-gradient(ellipse 90px 80px at 15% 55%,hsla(28,24%,42%,.1),transparent),radial-gradient(ellipse 110px 60px at 88% 62%,hsla(26,22%,40%,.11),transparent),radial-gradient(ellipse 70px 90px at 48% 85%,hsla(30,20%,44%,.09),transparent),radial-gradient(ellipse 50px 40px at 72% 32%,hsla(128,14%,32%,.07),transparent),radial-gradient(ellipse 40px 35px at 28% 28%,hsla(18,35%,38%,.08),transparent);mix-blend-mode:multiply}.grand-scroll__crinkles--folds{opacity:.5;background:linear-gradient(158deg,transparent 42%,hsla(26,22%,38%,.14) 49.5%,transparent 57%),linear-gradient(22deg,transparent 35%,hsla(28,20%,40%,.1) 41%,transparent 47%),linear-gradient(172deg,transparent 62%,hsla(24,24%,36%,.12) 68%,transparent 74%),linear-gradient(-8deg,transparent 18%,hsla(30,18%,42%,.08) 22%,transparent 26%),linear-gradient(95deg,transparent 72%,hsla(26,20%,38%,.09) 76%,transparent 80%),linear-gradient(135deg,transparent 48%,hsla(28,22%,36%,.07) 50%,transparent 52%),repeating-linear-gradient(127deg,transparent 0,transparent 28px,hsla(30,16%,44%,.035) 28px,hsla(30,16%,44%,.035) 29px),repeating-linear-gradient(53deg,transparent 0,transparent 42px,hsla(28,14%,40%,.025) 42px,hsla(28,14%,40%,.025) 43px);mix-blend-mode:multiply}.grand-scroll__crinkles--edges{opacity:.9;border-radius:inherit;background:radial-gradient(circle at 0% 0%,hsla(22,42%,18%,.42) 0%,transparent 16%),radial-gradient(circle at 100% 0%,hsla(22,42%,18%,.38) 0%,transparent 15%),radial-gradient(circle at 0% 100%,hsla(22,42%,18%,.44) 0%,transparent 17%),radial-gradient(circle at 100% 100%,hsla(22,42%,18%,.4) 0%,transparent 16%),radial-gradient(ellipse 30% 60% at 50% 0%,hsla(26,36%,24%,.22) 0%,transparent 70%),radial-gradient(ellipse 30% 60% at 50% 100%,hsla(26,36%,24%,.24) 0%,transparent 70%),linear-gradient(90deg,hsla(24,38%,24%,.28) 0%,transparent 5%),linear-gradient(270deg,hsla(24,38%,24%,.26) 0%,transparent 5%),linear-gradient(180deg,hsla(28,34%,26%,.24) 0%,transparent 7%),linear-gradient(0deg,hsla(26,36%,24%,.3) 0%,transparent 9%);mix-blend-mode:multiply}.grand-scroll__seal{position:absolute;top:16px;right:22px;width:50px;height:50px;border-radius:50%;z-index:2;pointer-events:none;transform:rotate(-12deg);opacity:.42;background:radial-gradient(circle at 42% 38%,#b24d38,#7e2e25,#53211d);border:2px solid hsla(14,45%,28%,.65);box-shadow:inset 0 0 10px #00000047,0 0 18px #863e2d33,0 3px 8px #3c242040}.grand-scroll__seal:after{content:"✦";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#d8c8b673}.grand-scroll__parchment>*:not(.grand-scroll__crinkles):not(.grand-scroll__seal):not(.grand-scroll__inner-frame):not(.grand-scroll__ornament):not(.grand-scroll__warm-wash){position:relative;z-index:1}.grand-scroll__inner-frame{position:absolute;inset:10px 14px;border:1px solid hsla(32,38%,52%,.22);border-radius:3px;pointer-events:none;z-index:1;box-shadow:inset 0 0 0 1px #f5efe059,inset 0 0 40px #c9975e0f}.grand-scroll__inner-frame:before,.grand-scroll__inner-frame:after{content:"◆";position:absolute;font-size:.55rem;color:#b17e4359;line-height:1}.grand-scroll__inner-frame:before{top:-.35rem;left:50%;transform:translate(-50%)}.grand-scroll__inner-frame:after{bottom:-.35rem;left:50%;transform:translate(-50%)}.grand-scroll__ornament{position:absolute;top:18px;font-size:.75rem;color:#b57e4066;z-index:2;pointer-events:none;text-shadow:0 0 8px hsla(32,60%,55%,.2)}.grand-scroll__ornament--tl{left:22px}.grand-scroll__ornament--tr{right:82px}.grand-scroll__warm-wash{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,hsla(38,55%,72%,.12),transparent 70%),radial-gradient(ellipse 50% 40% at 15% 85%,var(--cozy-amber-glow),transparent 65%);mix-blend-mode:soft-light}input[type=search]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}h1,h2,h3,h4,h5,h6{font-family:var(--font-rustic);font-weight:600;letter-spacing:.01em}#app-shell.grand-scroll{display:flex;align-items:center;justify-content:center}.game-container{display:flex;flex:1;position:relative;overflow:hidden;min-height:0}.main-stage{flex:1;min-width:0;min-height:0;display:flex;position:relative}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.6rem .85rem;background:linear-gradient(180deg,hsla(44,48%,92%,.7) 0%,hsla(40,40%,88%,.2) 55%,transparent 100%);border-bottom:none;z-index:10;flex-shrink:0;position:relative}.app-header:after{content:"✦ ─────────── ❧ ─────────── ✦";position:absolute;left:50%;bottom:0;transform:translate(-50%);font-family:var(--font-fantasy-title);font-size:.5rem;letter-spacing:.35em;color:#a27a5359;white-space:nowrap;pointer-events:none}.logo-area{display:flex;align-items:center;gap:.85rem}.logo-text{display:flex;flex-direction:column;gap:.1rem}.logo-emoji{font-size:2.4rem;filter:drop-shadow(0 0 14px hsla(32,70%,55%,.4));animation:logo-float 7s ease-in-out infinite;padding:.25rem;border-radius:50%;background:radial-gradient(circle,hsla(32,66%,62%,.32) 0%,hsla(36,55%,66%,.12) 45%,transparent 72%)}.logo-area h1{font-family:var(--font-fantasy-title);font-size:1.35rem;font-weight:600;color:#5b4333;letter-spacing:.1em;text-shadow:0 1px 0 hsla(44,50%,96%,.8);line-height:1.2}.logo-tagline{font-family:var(--font-charm);font-size:1.05rem;color:var(--scroll-accent-soft);letter-spacing:.02em;line-height:1;opacity:.9}.stats-and-actions{display:flex;align-items:center;justify-content:flex-end}.app-menu-bar{display:flex;align-items:center;gap:.35rem;background:#f9f7f0d9;border:1px solid hsla(30,20%,52%,.25);border-radius:999px;padding:4px 6px 4px 4px;backdrop-filter:blur(8px);box-shadow:inset 0 1px #fdfcf799,0 4px 18px #3d32290f}.menu-bar-divider{width:1px;height:1.25rem;background-color:#9d856c2e;margin:0 .25rem}.menu-bar-actions{display:flex;align-items:center;gap:.35rem}.menu-bar-utilities{display:flex;align-items:center;gap:.3rem}.stats-counter{display:flex;align-items:center;gap:.45rem;background:linear-gradient(135deg,#f7f3e8f2,#f0e9dbd9);padding:.45rem .9rem;border-radius:999px;border:1px solid hsla(32,35%,55%,.35);box-shadow:inset 0 1px #fdfcf7b3,0 2px 8px #57463814}.app-menu-bar .stats-counter{background:none;border:none;box-shadow:none;padding:0 .45rem 0 .75rem}.stats-label{font-size:.72rem;font-family:var(--font-rustic);font-style:italic;color:var(--scroll-ink-muted)}.stats-value{font-family:var(--font-fantasy-title);font-weight:600;font-size:.9rem;color:var(--scroll-ember)}.btn{font-family:var(--font-rustic);font-weight:600;font-size:.8rem;letter-spacing:.02em;padding:.5rem 1rem;border:1px solid transparent;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;transition:var(--transition-smooth)}.btn-primary{background:linear-gradient(165deg,#c27b3d,#8f5132);color:#fbf9f4;border-color:#c09059;box-shadow:inset 0 1px #e9d4a54d,0 4px 14px #64402b38,0 0 20px #be76371f}.btn-primary:hover{transform:translateY(-1.5px);box-shadow:inset 0 1px #e9d4a559,0 6px 18px #64402b47,0 0 24px #be76372e}.btn-primary:active{transform:translateY(.5px);box-shadow:inset 0 1px #e9d4a533,0 2px 8px #64402b33,0 0 12px #be76371a}.btn-secondary{background:linear-gradient(180deg,#faf7f0f2,#efe9dce6);color:var(--scroll-ink);border-color:#a3856666;box-shadow:0 2px 6px #5646390f}.btn-secondary:hover{background:#f9f7f0;border-color:var(--scroll-honey);box-shadow:0 0 16px #c289471f}.btn-danger{background-color:transparent;color:var(--color-text-dim);border:none;font-size:.8rem;padding:.5rem}.btn-danger:hover{color:var(--color-danger);text-decoration:underline}.btn-icon{width:2rem;height:2rem;min-width:2rem;padding:0;justify-content:center;border-radius:50%;font-family:var(--font-fantasy-title);font-size:1rem;font-weight:700;line-height:1;background:linear-gradient(180deg,#faf7f0f2,#efe9dce6);color:var(--scroll-ink-muted);border-color:#a3856666;box-shadow:0 2px 6px #5646390f}.btn-icon:hover{color:var(--scroll-accent);border-color:var(--scroll-honey);box-shadow:0 0 18px #d191471a}.btn:focus-visible,.btn-icon:focus-visible{outline:none;box-shadow:var(--cozy-focus-ring)}.workspace-area{flex:1;width:100%;min-height:0;position:relative;overflow:hidden;contain:layout paint style;isolation:isolate;display:flex;justify-content:center;align-items:center;margin:.65rem .85rem .75rem;border-radius:8px;background:radial-gradient(ellipse 70% 62% at 50% 50%,hsla(42,48%,92%,.85) 0%,transparent 72%),radial-gradient(ellipse 40% 32% at 18% 78%,hsla(28,45%,55%,.08) 0%,transparent 68%),radial-gradient(ellipse 35% 28% at 82% 22%,hsla(128,20%,42%,.06) 0%,transparent 65%),linear-gradient(182deg,#ede4d4,#e1d4c1);box-shadow:inset 0 0 50px #8b6d4b12,inset 0 2px #faf8ef80}.workspace-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 50% at 50% 55%,hsla(32,65%,58%,.1) 0%,transparent 68%);animation:hearth-pulse 8.5s ease-in-out infinite}.workspace-ring{position:absolute;width:min(72%,520px);aspect-ratio:1;border-radius:50%;border:2px dashed hsla(32,38%,52%,.18);pointer-events:none;box-shadow:0 0 0 8px #f1e9da24,0 0 40px #c289470d,inset 0 0 30px #ba8f5e08;opacity:.65}.workspace-hint{position:absolute;color:#8f7156;font-family:var(--font-charm);font-size:1.55rem;font-weight:600;letter-spacing:.02em;pointer-events:none;user-select:none;text-align:center;max-width:450px;line-height:1.35;opacity:.88;text-shadow:0 1px 0 hsla(44,50%,96%,.6);z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;background:#fbf9f4d9;padding:1rem 1.5rem;border-radius:12px;border:1px dashed hsla(30,22%,52%,.25);box-shadow:0 4px 12px #493c310d;backdrop-filter:blur(4px);animation:hint-pulse 4s infinite ease-in-out}@keyframes hint-pulse{0%,to{opacity:.85;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.02)}}.workspace-area.workspace-shake{animation:workspace-shake .4s ease-in-out}#workspace.workspace-action-flash--success{box-shadow:inset 0 0 0 2px hsla(var(--hue-gold),58%,48%,.26),inset 0 0 24px var(--color-gold-glow),inset 0 0 36px #cf90590f}#workspace.workspace-action-flash--fail{box-shadow:inset 0 0 0 2px #737f9666,inset 0 0 30px #636e8829}#workspace.workspace-action-flash--press{box-shadow:inset 0 0 0 2px hsla(var(--hue-gold),55%,48%,.35),inset 0 0 22px hsla(var(--hue-gold),55%,48%,.1)}.workspace-undo-btn{position:absolute;top:.65rem;right:3.35rem;z-index:1003;display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;padding:0;border:1px solid hsla(30,22%,52%,.38);border-radius:50%;cursor:pointer;background:linear-gradient(180deg,#fbf9f4f5,#efe9dceb);box-shadow:0 2px 8px #493c311a,inset 0 1px #faf8efa6;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease}.workspace-undo-btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.workspace-undo-btn__icon{font-size:1.15rem;line-height:1;pointer-events:none}.workspace-undo-btn__flavor{position:absolute;top:calc(100% + .55rem);right:0;width:max-content;max-width:min(240px,52vw);padding:.45rem .7rem;border-radius:10px;border:1px solid hsla(30,22%,52%,.32);background:#fbf9f4fa;color:var(--scroll-ink-muted);font-family:var(--font-charm);font-size:1.05rem;font-weight:600;line-height:1.3;letter-spacing:.02em;text-align:right;box-shadow:0 8px 20px #44372c24;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;pointer-events:none}.workspace-undo-btn:not(:disabled):hover,.workspace-undo-btn:not(:disabled):focus-visible{border-color:hsla(var(--hue-gold),42%,52%,.55);box-shadow:0 0 0 2px hsla(var(--hue-gold),55%,58%,.18),0 4px 12px #493c3124;transform:translateY(-1px);outline:none}.workspace-undo-btn:not(:disabled):hover .workspace-undo-btn__flavor,.workspace-undo-btn:not(:disabled):focus-visible .workspace-undo-btn__flavor{opacity:1;visibility:visible;transform:translateY(0)}.workspace-clear-btn{position:absolute;top:.65rem;right:.75rem;z-index:1003;display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;padding:0;border:1px solid hsla(30,22%,52%,.38);border-radius:50%;cursor:pointer;background:linear-gradient(180deg,#fbf9f4f5,#efe9dceb);box-shadow:0 2px 8px #493c311a,inset 0 1px #faf8efa6;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease}.workspace-clear-btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.workspace-clear-btn__icon{font-size:1.05rem;line-height:1;pointer-events:none}.workspace-clear-btn__flavor{position:absolute;top:calc(100% + .55rem);right:0;width:max-content;max-width:min(240px,52vw);padding:.45rem .7rem;border-radius:10px;border:1px solid hsla(30,22%,52%,.32);background:#fbf9f4fa;color:var(--scroll-ink-muted);font-family:var(--font-charm);font-size:1.05rem;font-weight:600;line-height:1.3;letter-spacing:.02em;text-align:right;box-shadow:0 8px 20px #44372c24;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;pointer-events:none}.workspace-clear-btn:not(:disabled):hover,.workspace-clear-btn:not(:disabled):focus-visible{border-color:hsla(var(--hue-gold),42%,52%,.55);box-shadow:0 0 0 2px hsla(var(--hue-gold),55%,58%,.18),0 4px 12px #493c3124;transform:translateY(-1px);outline:none}.workspace-clear-btn:not(:disabled):hover .workspace-clear-btn__flavor,.workspace-clear-btn:not(:disabled):focus-visible .workspace-clear-btn__flavor{opacity:1;visibility:visible;transform:translateY(0)}.progress-map-view{flex:1;width:auto;min-height:0;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--scroll-parchment-light) 0%,hsl(40,38%,86%) 100%);padding:1rem 1.25rem 1.25rem;gap:.75rem;margin:.65rem .85rem .75rem;border-radius:8px;box-shadow:inset 0 0 50px #8b6d4b12,inset 0 2px #faf8ef80}.progress-map-view[hidden],.workspace-area[hidden]{display:none!important}.main-stage .graph-viewport{flex:1;min-height:0;height:auto;transition:opacity .18s ease-in-out}.progress-map-intro{font-family:var(--font-fantasy);font-size:.78rem;line-height:1.5;letter-spacing:.02em;color:var(--scroll-ink-muted);flex-shrink:0;max-width:52rem}.main-stage .ingredient-graph-container{flex:1;min-height:0}.main-stage .graph-toolbar,.main-stage .graph-legend{flex-shrink:0}body[data-main-view=map] #btn-progress-graph.active{border-color:var(--scroll-gold-bright);color:var(--scroll-gold)}.alchemy-element.canvas-element{position:absolute;left:0;top:0;z-index:100;transform:translateZ(0);touch-action:none;user-select:none;-webkit-user-drag:none;transition:box-shadow .12s ease,border-color .12s ease,outline-color .12s ease}.alchemy-element.canvas-element.canvas-element--spawning{animation:canvas-spawn-in .45s cubic-bezier(.34,1.4,.64,1);transform-origin:center center;z-index:1001}.alchemy-element.canvas-element.technique-valid-target{border-color:hsla(var(--hue-sage),45%,42%,.55)!important;box-shadow:0 0 0 2px hsla(var(--hue-sage),40%,42%,.25),0 0 12px hsla(var(--hue-sage),30%,42%,.18)!important}.alchemy-element.canvas-element.combine-valid-target{border-color:hsla(var(--hue-gold),58%,48%,.55)!important;box-shadow:0 0 0 2px hsla(var(--hue-gold),55%,48%,.35),0 0 12px hsla(var(--hue-gold),45%,48%,.22)!important}.alchemy-element.canvas-element.hover-merge{border-color:var(--color-gold)!important;box-shadow:0 0 0 2px hsla(var(--hue-gold),95%,53%,.45),0 0 18px hsla(var(--hue-gold),95%,53%,.35)!important;z-index:999}.alchemy-element.canvas-element.dragging{z-index:1002;cursor:grabbing;border-color:hsla(var(--hue-gold),80%,55%,.85)!important;box-shadow:0 0 0 3px hsla(var(--hue-gold),85%,60%,.65),0 12px 24px #32251b59;transition:none}.alchemy-element.canvas-element.dragging .element-emoji{transform:scale(1.15) translateY(-4px);filter:drop-shadow(0 8px 12px rgba(0,0,0,.25)) contrast(1.15) brightness(1.1)}body[data-active-tool=select] #workspace{cursor:default}body[data-active-tool=chop] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>🔪</text></svg>") 0 18,pointer}body[data-active-tool=mix] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>🥣</text></svg>") 8 18,pointer}body[data-active-tool=heat] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>🔥</text></svg>") 8 18,pointer}body[data-active-tool=fry] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>🍳</text></svg>") 8 18,pointer}body[data-active-tool=freeze] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>❄️</text></svg>") 8 18,pointer}#workspace .alchemy-element{cursor:grab}#workspace .alchemy-element.dragging{cursor:grabbing}.particle{position:absolute;pointer-events:none;z-index:99;border-radius:50%;animation:float-and-fade .8s ease-out forwards}.particle--steam{border-radius:50%;filter:blur(2px);animation:steam-rise var(--dur, 1.5s) cubic-bezier(.33,0,.2,1) forwards}.particle--smoke{border-radius:50%;filter:blur(3px);animation:steam-rise var(--dur, 1.5s) cubic-bezier(.33,0,.2,1) forwards}.particle--boil{border-radius:50%;border:1px solid rgba(255,255,255,.5);background:transparent!important;animation:boil-pop .6s ease-out forwards}.particle--sizzle{border-radius:50%;animation:float-and-fade .4s ease-out forwards}@keyframes boil-pop{0%{transform:translate(0) scale(.5);opacity:1}80%{transform:translate(var(--dx, 0),var(--dy, -20px)) scale(1.2);opacity:1}to{transform:translate(var(--dx, 0),var(--dy, -25px)) scale(1.5);opacity:0}}.grandma-guide{position:absolute;top:1rem;left:1rem;width:220px;background:linear-gradient(145deg,#fdf6e2,#f9eac8);border:1px solid hsla(38,30%,50%,.35);border-radius:6px;padding:.85rem;box-shadow:0 6px 14px #30261d1f,0 2px 5px #30261d14;font-family:var(--font-rustic);font-size:.88rem;line-height:1.45;color:#4b3a30;z-index:1003;transform:rotate(-1.5deg);transition:transform .25s ease,box-shadow .25s ease;animation:float-note 4s ease-in-out infinite;cursor:default}@keyframes float-note{0%,to{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-2px)}}.grandma-guide:hover{animation:none;transform:rotate(0) scale(1.02);box-shadow:0 8px 18px #30261d26,0 3px 7px #30261d1a;border-color:hsla(var(--hue-gold),50%,50%,.5)}.grandma-guide__pin{position:absolute;top:-12px;left:50%;transform:translate(-50%);font-size:1.25rem;pointer-events:none;animation:bounce-pin 2s ease-in-out infinite}@keyframes bounce-pin{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-3px)}}.grandma-guide__title{margin:0 0 .35rem;font-family:var(--font-charm);font-size:1.15rem;font-weight:700;color:#705343;border-bottom:1px dashed hsla(22,25%,35%,.25);padding-bottom:.15rem}.grandma-guide__text{margin:0;font-style:italic}.sidebar-cabinet{width:340px;min-height:0;height:100%;background:linear-gradient(180deg,hsla(40,42%,90%,.55) 0%,hsla(38,36%,86%,.25) 40%,transparent 100%),linear-gradient(90deg,hsla(34,28%,72%,.2) 0%,transparent 20px);border-left:1px solid hsla(32,30%,52%,.3);display:flex;flex-direction:column;z-index:5;transition:width .25s cubic-bezier(.4,0,.2,1);box-shadow:inset 8px 0 24px #765f4c0a}.sidebar-cabinet__header{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem .75rem .35rem;flex-shrink:0}.sidebar-cabinet__ornament{font-size:.7rem;color:#a97e4c73}.sidebar-cabinet__label{font-family:var(--font-fantasy-title);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:#8b694ba6}.search-container{padding:1rem}.search-container input[type=search]{width:100%;padding:.7rem .9rem;border-radius:6px;background:#f9f6f1d9;border:1px solid hsla(38,36%,58%,.4);color:var(--scroll-ink);font-family:var(--font-body);outline:none;transition:var(--transition-smooth)}.search-container input[type=search]:focus{border-color:var(--scroll-gold);box-shadow:0 0 0 2px #ac823926}.cabinet-tabs{display:flex;border-bottom:2px solid hsla(38,42%,58%,.3);background:#efe9dc59}.cabinet-tabs .tab-btn{flex:1;padding:.65rem .35rem;background:none;border:none;color:var(--scroll-ink-muted);font-family:var(--font-fantasy);font-weight:600;cursor:pointer;transition:var(--transition-gentle);border-bottom:2px solid transparent;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.tab-btn:focus-visible{outline:none;box-shadow:var(--cozy-focus-ring)}.tab-btn:hover{color:var(--scroll-ink)}.tab-btn.active{color:var(--scroll-ember);border-bottom-color:var(--scroll-ember);background:linear-gradient(180deg,hsla(40,42%,94%,.6) 0%,transparent 100%);text-shadow:0 0 12px hsla(32,55%,52%,.15)}.cabinet-filters{display:flex;flex-direction:column;gap:0;border-bottom:1px solid hsla(38,36%,58%,.25);background:#efe9dc4d}.cabinet-filter-group{display:flex;flex-direction:column;gap:.15rem}.cabinet-filter-group+.cabinet-filter-group{border-top:1px solid hsla(38,36%,58%,.18)}.cabinet-filter-label{font-family:var(--font-fantasy);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--scroll-ink-muted);padding:.4rem 1rem 0}.cabinet-filter-hint{font-weight:500;letter-spacing:.02em;text-transform:none;font-size:.58rem;color:#786a5ebf}.cabinet-filter-group .subtabs-container{border-bottom:none;background:transparent;padding-top:.15rem;padding-bottom:.45rem}.subtabs-container{display:flex;gap:.35rem;padding:.5rem 1rem;overflow-x:auto;white-space:nowrap;scrollbar-width:none;border-bottom:1px solid hsla(38,36%,58%,.25);background:#efe9dc4d}.subtabs-container::-webkit-scrollbar{display:none}.subtab-btn{font-family:var(--font-fantasy);font-size:.68rem;font-weight:600;letter-spacing:.03em;padding:.32rem .65rem;border-radius:6px;border:1px solid hsla(38,36%,58%,.35);background:#f6f2ea99;color:var(--scroll-ink-muted);cursor:pointer;transition:var(--transition-gentle)}.subtab-btn:focus-visible{outline:none;box-shadow:var(--cozy-focus-ring)}.subtab-btn:hover{color:var(--scroll-ink);border-color:#b38d4d80}.subtab-btn.active{background:var(--active-gradient);color:#f9f6f1;border-style:solid;border-color:#946d57}.subtab-btn--include{background:var(--active-gradient);color:#f9f6f1;border-color:#946d57;box-shadow:inset 0 0 0 1px #f1e7d033}.subtab-btn--exclude{background:linear-gradient(165deg,#ebd8d6,#dec8c4);color:#7b3c32;border-color:#b35f5673;text-decoration:line-through;text-decoration-thickness:1.5px}.subtab-btn--exclude:hover{color:#6a2c25;border-color:#a74e4499}.cabinet-grid{flex:1;min-height:180px;overflow-y:auto;padding:.6rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;align-content:start}.cabinet-grid::-webkit-scrollbar{width:7px}.cabinet-grid::-webkit-scrollbar-track{background:var(--cozy-scrollbar-track)}.cabinet-grid::-webkit-scrollbar-thumb{background-color:var(--cozy-scrollbar-thumb);border-radius:4px;transition:background-color .2s ease}.cabinet-grid::-webkit-scrollbar-thumb:hover{background-color:var(--cozy-scrollbar-thumb-hover)}.alchemy-element{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem .85rem;border-radius:10px;background:linear-gradient(145deg,#fbf9f4fa,#f2ede3f2);border:1px solid hsla(32,28%,58%,.32);box-shadow:0 2px 6px #5a4c3f12,inset 0 1px #fdfcf7cc;cursor:grab;user-select:none;font-family:var(--font-body);font-weight:500;font-size:.85rem;color:var(--scroll-ink);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;white-space:nowrap}.alchemy-element:not(.canvas-element):hover{transform:translateY(-3px);border-color:#b8885180;box-shadow:0 6px 16px #66503d1f,0 0 20px #c289471a;cursor:grab}.alchemy-element:not(.canvas-element):active{cursor:grabbing}.alchemy-element[data-origin=primitive]{border-color:#a18bc159;background:linear-gradient(135deg,hsla(44,55%,98%,.95) 0%,var(--color-primitive-tint) 100%)}.alchemy-element[data-origin=primitive]:hover{border-color:#8459c08c;box-shadow:0 6px 16px #4e3d661f,0 0 20px #7a47c21a}.alchemy-element[data-origin=raw]{border-color:#81b18159;background:linear-gradient(135deg,hsla(44,55%,98%,.95) 0%,var(--color-raw-tint) 100%)}.alchemy-element[data-origin=raw]:hover{border-color:#52ad528c;box-shadow:0 6px 16px #3d663d1f,0 0 20px #47c2471a}.alchemy-element[data-origin=processed],.alchemy-element[data-state=prepared]{border-color:#c1a98b59;background:linear-gradient(135deg,hsla(44,55%,98%,.95) 0%,var(--color-processed-tint) 100%)}.alchemy-element[data-origin=processed]:hover,.alchemy-element[data-state=prepared]:hover{border-color:#b98746a6;box-shadow:0 6px 16px #66543d1f,0 0 20px #c28d471a}.alchemy-element[data-state=recipe]{border-color:#c5879659;background:linear-gradient(135deg,hsla(44,55%,98%,.95) 0%,var(--color-recipe-tint) 100%)}.alchemy-element[data-state=recipe]:hover{border-color:#c65370a6;box-shadow:0 6px 16px #663d471f,0 0 20px #c247661a}.alchemy-element .element-emoji{font-size:1.25rem;line-height:1.1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15)) contrast(1.1) brightness(1.05);transform-origin:center bottom;transition:transform .2s cubic-bezier(.34,1.5,.64,1),filter .2s ease}.alchemy-element:hover .element-emoji{transform:scale(1.15) translateY(-2px);filter:drop-shadow(0 4px 6px rgba(0,0,0,.2)) contrast(1.15) brightness(1.1)}.alchemy-element .element-name{overflow:hidden;text-overflow:ellipsis}.origin-badge{font-size:.55rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.1rem .35rem;border-radius:4px;line-height:1.2;flex-shrink:0}.origin-badge--primitive{color:var(--color-sage);background-color:hsla(var(--hue-sage),28%,88%,.9);border:1px solid hsla(var(--hue-sage),22%,70%,.45)}.origin-badge--raw{color:hsl(var(--hue-earth),38%,34%);background-color:hsla(var(--hue-earth),32%,90%,.95);border:1px solid hsla(var(--hue-earth),28%,68%,.45)}.origin-badge--processed{color:hsl(var(--hue-gold),50%,38%);background-color:hsla(var(--hue-gold),55%,92%,.95);border:1px solid hsla(var(--hue-gold),45%,70%,.4)}.origin-badge--recipe{color:hsl(var(--hue-ember),58%,34%);background-color:hsla(var(--hue-ember),62%,92%,.96);border:1px solid hsla(var(--hue-ember),48%,68%,.42)}.cabinet-grid .alchemy-element.cabinet-item--recent-new{animation:cabinet-recent-glow 2.2s ease-in-out 2;border-color:hsla(var(--hue-gold),62%,52%,.65);background:linear-gradient(120deg,hsla(var(--hue-gold),55%,94%,.45) 0%,transparent 55%),linear-gradient(135deg,var(--color-bg-card) 0%,hsla(40,42%,94%,.95) 100%)}.cabinet-grid .alchemy-element{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.3rem;padding:.5rem .3rem;min-height:80px;border-radius:8px;white-space:nowrap;touch-action:none;cursor:grab;position:relative}.cabinet-item__head{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:100%}.cabinet-item__meta{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:0;width:100%}.cabinet-grid .alchemy-element .element-emoji{font-size:2.1rem;flex-shrink:0;line-height:1.1;margin:0;filter:drop-shadow(0 3px 6px rgba(0,0,0,.18)) contrast(1.1) brightness(1.05);transform-origin:center bottom;transition:transform .25s cubic-bezier(.34,1.5,.64,1),filter .2s ease}.cabinet-grid .alchemy-element:hover .element-emoji{transform:scale(1.18) translateY(-4px);filter:drop-shadow(0 6px 10px rgba(0,0,0,.22)) contrast(1.15) brightness(1.1)}.cabinet-grid .alchemy-element .element-name{font-size:.65rem;font-weight:700;line-height:1.2;max-width:100%;color:var(--scroll-ink);overflow:hidden;text-overflow:ellipsis;width:100%}.cabinet-grid .alchemy-element .element-desc{display:none}.cabinet-grid .alchemy-element .origin-badge{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;padding:0;font-size:0;overflow:hidden;border:none}.cabinet-grid .alchemy-element[data-origin=primitive] .origin-badge{background-color:#9061d1}.cabinet-grid .alchemy-element[data-origin=raw] .origin-badge{background-color:#52ad52}.cabinet-grid .alchemy-element[data-state=prepared] .origin-badge,.cabinet-grid .alchemy-element[data-origin=processed] .origin-badge{background-color:#ce8e3b}.cabinet-grid .alchemy-element[data-state=recipe] .origin-badge{background-color:#d1476a}.cabinet-grid .alchemy-element:active{cursor:grabbing}.cabinet-drag-ghost{flex-direction:row;align-items:center;gap:.45rem;padding:.4rem .55rem;border-color:hsla(var(--hue-gold),70%,48%,.75)!important;box-shadow:0 0 0 2px hsla(var(--hue-gold),80%,52%,.55),0 8px 20px #3b2d2147;cursor:grabbing!important;will-change:transform}body.is-cabinet-dragging,body.is-cabinet-dragging #workspace,body.is-cabinet-dragging .alchemy-element{cursor:grabbing!important}.workspace-area.workspace-drop-target{box-shadow:inset 0 0 0 2px hsla(var(--hue-gold),80%,52%,.45),inset 0 0 50px #8b6d4b12,inset 0 2px #faf8ef80}.cabinet-empty-hint{grid-column:1 / -1;text-align:center;color:var(--scroll-accent-soft);font-family:var(--font-charm);font-size:1.05rem;padding:2rem .75rem;line-height:1.5;opacity:.85}.alchemy-element[data-type=technique]{background:linear-gradient(135deg,hsla(44,55%,98%,.95) 0%,var(--color-processed-tint) 100%);border-color:hsla(var(--hue-gold),45%,55%,.35)}.alchemy-element[data-type=technique]:hover{box-shadow:0 0 15px var(--color-gold-glow);border-color:var(--color-gold)}.sidebar-footer{padding:.85rem;font-family:var(--font-charm);font-size:1rem;text-align:center;color:var(--scroll-ink-muted);border-top:1px dashed hsla(30,18%,52%,.3);background:#eae3d733}.sidebar-panel{display:none;flex-direction:column;flex:1;overflow:hidden;min-height:0}.sidebar-panel.active{display:flex}.search-suggestions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.search-suggestion-btn{background:#ba9e6d26;border:1px solid hsla(38,36%,58%,.3);color:var(--scroll-ink);font-family:var(--font-body);font-size:.8rem;padding:.2rem .6rem;border-radius:12px;cursor:pointer;transition:var(--transition-smooth)}.search-suggestion-btn:hover,.search-suggestion-btn:focus-visible{background:#ba9e6d4d;border-color:var(--scroll-gold);outline:none}.action-toolbar-wrap{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;z-index:1001;pointer-events:none;max-width:calc(100% - 1.5rem);filter:drop-shadow(0 8px 16px hsla(28,22%,22%,.12))}.technique-strip{pointer-events:auto;max-width:100%;padding:10px 18px 12px;background:var(--parchment-bg);background-size:420px 420px,100% 100%,100% 100%,100% 100%,280px 280px;background-repeat:repeat,no-repeat,no-repeat,no-repeat,repeat;background-blend-mode:var(--parchment-blend);border:1px solid hsla(32,32%,52%,.35);border-radius:10px 10px 16px 12px/8px 8px 20px 14px;box-shadow:inset 0 0 0 1px #f7f3e880,inset 0 0 36px #896d4d12,0 6px 20px #3f312724,0 0 28px #c2894714;position:relative;overflow:hidden}.technique-strip:before{content:"✦";position:absolute;top:6px;left:50%;transform:translate(-50%);font-size:.5rem;color:#b5834a59;pointer-events:none;z-index:2}.technique-strip:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.45;background:linear-gradient(148deg,transparent 38%,hsla(26,22%,38%,.08) 48%,transparent 58%),linear-gradient(90deg,hsla(24,22%,34%,.1) 0%,transparent 14%),linear-gradient(270deg,hsla(24,22%,34%,.08) 0%,transparent 14%);mix-blend-mode:multiply}.technique-strip__title{font-family:var(--font-charm);font-size:1.2rem;font-weight:600;letter-spacing:.02em;text-align:center;color:var(--scroll-accent);margin-bottom:4px;opacity:.95;position:relative;z-index:1}.cooking-toolbar{position:relative;z-index:1;bottom:auto;left:auto;transform:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;border:none;padding:2px 0 0;display:flex;flex-direction:column;align-items:stretch;gap:0;box-shadow:none;pointer-events:auto;width:100%;max-width:100%}.cooking-toolbar__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:100%}.cooking-toolbar__row--methods{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%}.cooking-toolbar__row--methods .toolbar-btn--method{flex:none;width:100%;min-width:0;max-width:none;min-height:3.2rem;padding:5px 2px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.cooking-toolbar__row--methods .toolbar-btn--method .tool-name{flex:none;overflow:visible;text-overflow:clip;white-space:normal;font-size:.64rem;text-align:center;line-height:1.1;width:100%}.cooking-toolbar__row--skills{margin-top:8px;padding-top:8px;border-top:1px dashed hsla(30,18%,52%,.28)}.toolbar-btn,.action-btn,.tool-btn{border:1px solid hsla(30,16%,52%,.22);background:#f2ede3b8;min-width:6.5rem;max-width:6.5rem;min-height:2.35rem;padding:6px 8px;border-radius:10px;color:var(--scroll-ink-muted);cursor:pointer;transition:background .3s cubic-bezier(.25,.1,.25,1),border-color .3s cubic-bezier(.25,.1,.25,1),color .3s cubic-bezier(.25,.1,.25,1),box-shadow .3s cubic-bezier(.25,.1,.25,1),transform .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-family:var(--font-rustic);font-weight:600;font-size:.72rem;letter-spacing:.01em;outline:none;user-select:none;box-sizing:border-box}.toolbar-btn:hover:not(:disabled):not(.active){color:var(--scroll-ink);background:#f8f4edfa;border-color:#95795f73;box-shadow:0 4px 12px #5c4b3d1f;transform:translateY(-2px)}.toolbar-btn.active{background:var(--active-gradient);color:#f9f6f1;border-color:#9d7158;box-shadow:0 3px 10px #553b3038;text-shadow:none}.toolbar-btn.active:hover:not(:disabled){background:var(--active-gradient-hover);border-color:#a77b62;box-shadow:0 6px 16px #553b304d;color:#fcfaf8;transform:translateY(-2px)}.toolbar-btn--skill.active{background:linear-gradient(165deg,#906447,#68483b)}.toolbar-btn--locked,.toolbar-btn--locked:disabled{opacity:.82;cursor:not-allowed;border-style:dashed;border-color:#96857352;background:linear-gradient(165deg,#ece7dfb8,#ded7ce9e);color:#675a51e0;box-shadow:inset 0 1px #faf7f073}.toolbar-btn--veiled .tool-emoji{opacity:.42;filter:grayscale(.55) saturate(.65)}.toolbar-btn--veiled .tool-name{color:#63554bb8;font-style:italic;letter-spacing:.03em}.toolbar-btn--veiled:after{content:"🔒";position:absolute;top:3px;right:4px;font-size:.52rem;line-height:1;opacity:.72;pointer-events:none}.toolbar-btn--veiled{position:relative}.toolbar-btn--undiscovered .tool-name{letter-spacing:.14em;font-weight:800}.toolbar-btn--undiscovered .tool-emoji{font-size:.68rem;letter-spacing:.06em}.toolbar-btn--locked:hover,.toolbar-btn--locked:disabled:hover{background:#e7e2da8c;border-color:#96857347;box-shadow:none;color:#6b6057d9;transform:none}.toolbar-btn .tool-emoji{flex-shrink:0;line-height:1;filter:drop-shadow(0 1px 1px hsla(28,30%,30%,.2))}.toolbar-btn .tool-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;line-height:1.15}.toolbar-divider{width:1px;height:22px;margin:0 2px;align-self:center;flex-shrink:0;background:linear-gradient(180deg,transparent 0%,hsla(30,16%,48%,.2) 20%,hsla(30,16%,48%,.45) 50%,hsla(30,16%,48%,.2) 80%,transparent 100%)}.action-btn.locked,.action-btn:disabled,.toolbar-btn:disabled:not(.toolbar-btn--locked){opacity:.4;cursor:not-allowed}.toolbar-btn:active:not(:disabled):not(.toolbar-btn--pulse):not(.toolbar-btn--success):not(.toolbar-btn--fail){transform:scale(.94)}.toolbar-btn--pulse,.toolbar-btn--success,.toolbar-btn--fail{animation-fill-mode:both}.toolbar-btn--pulse{animation:toolbar-press .42s cubic-bezier(.34,1.4,.64,1)}.toolbar-btn--success{animation:toolbar-success .55s cubic-bezier(.22,1,.36,1)}.toolbar-btn--fail{animation:toolbar-fail .48s ease-in-out}@keyframes toolbar-press{0%{transform:scale(1)}35%{transform:scale(.9)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes toolbar-success{0%{transform:scale(1);box-shadow:0 0 #40964c73}40%{transform:scale(1.08);box-shadow:0 0 0 6px #40964c33}to{transform:scale(1);box-shadow:none}}@keyframes toolbar-fail{0%,to{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px)}60%{transform:translate(-1.5px)}80%{transform:translate(1.5px)}}body[data-active-action=combine] #workspace,body[data-active-action=separate] #workspace,body[data-active-action=smash] #workspace,body[data-active-action=peel] #workspace,body[data-active-action=tear] #workspace{transition:box-shadow .25s ease}dialog{margin:auto;border:2px solid hsl(36,34%,68%);background:transparent;color:var(--scroll-ink);border-radius:4px;outline:none;box-shadow:0 28px 56px -14px var(--scroll-shadow);max-width:90vw;width:580px;overflow:hidden}dialog::backdrop{background-color:#211812ad;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}dialog[open]{animation:dialog-fade-in .65s cubic-bezier(.22,1,.36,1) forwards}.dialog-content{background:var(--parchment-bg);background-size:420px 420px,100% 100%,100% 100%,100% 100%,280px 280px;background-repeat:repeat,no-repeat,no-repeat,no-repeat,repeat;background-blend-mode:var(--parchment-blend);display:flex;flex-direction:column;max-height:80vh;box-shadow:inset 0 0 0 1px #fcf9ee73}.dialog-header{padding:1.1rem 1.4rem;border-bottom:1px dashed hsla(30,18%,52%,.35);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,hsla(40,38%,90%,.5) 0%,transparent 100%)}.dialog-header h2{font-size:1.2rem;font-style:italic;color:var(--scroll-accent);letter-spacing:.02em}.close-dialog-btn{background:none;border:none;color:var(--color-text-dim);font-size:1.8rem;cursor:pointer;line-height:1;transition:var(--transition-smooth)}.close-dialog-btn:focus-visible{outline:none;box-shadow:var(--cozy-focus-ring);border-radius:4px}.close-dialog-btn:hover{color:var(--color-danger)}.dialog-body{padding:1.65rem;overflow-y:auto}.dialog-intro{color:var(--color-text-muted);margin-bottom:1.25rem;font-size:.9rem;line-height:1.5}.help-body{padding-top:1rem}.help-section+.help-section{margin-top:1.1rem;padding-top:1rem;border-top:1px dashed hsla(30,18%,52%,.25)}.help-section-title{font-family:var(--font-fantasy);font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--scroll-gold);margin-bottom:.45rem}.help-list{margin:0;padding-left:1.15rem;color:var(--scroll-ink-muted);font-size:.85rem;line-height:1.55}.help-list li+li{margin-top:.35rem}.help-shortcuts kbd{display:inline-block;min-width:1.35em;padding:.08em .38em;border-radius:4px;border:1px solid hsla(38,36%,58%,.55);background:#f9f7f0f2;box-shadow:inset 0 -1px #8b6d4b1f;font-family:var(--font-body);font-size:.78em;font-weight:600;line-height:1.35;color:var(--scroll-ink)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;align-content:start}.recipe-card{background:#f9f6f1e6;border:1px solid hsla(38,36%,58%,.4);border-radius:8px;padding:1rem;text-align:center;transition:var(--transition-smooth);position:relative;cursor:help;box-shadow:inset 0 1px #fdfcf6a6}.recipe-card:hover{transform:translateY(-2px);border-color:var(--scroll-gold);box-shadow:0 6px 14px #6b552e1f,0 0 20px var(--cozy-hover-glow)}.recipe-card-emoji{font-size:2rem;display:block;margin-bottom:.5rem}.recipe-card-name{font-size:.85rem;font-weight:600;display:block;margin-bottom:.25rem;color:var(--color-text)}.recipe-card-category{font-size:.7rem;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.05em}.recipe-card-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem}.recipe-card .tooltip{visibility:hidden;position:absolute;width:250px;background-color:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-muted);text-align:left;padding:.75rem;border-radius:8px;z-index:1000;bottom:105%;left:50%;transform:translate(-50%);opacity:0;box-shadow:var(--shadow-lg);font-size:.75rem;line-height:1.4;pointer-events:none;transition:opacity .2s ease}.recipe-card .tooltip h4{color:var(--color-gold);margin-bottom:.25rem}.confirm-dialog-content{width:480px;max-width:95vw}.confirm-dialog-body{font-size:1rem;line-height:1.5;color:var(--scroll-ink);padding:1.5rem 1.65rem}.confirm-dialog-footer{padding:1.1rem 1.4rem;border-top:1px dashed hsla(30,18%,52%,.25);display:flex;justify-content:flex-end;gap:.75rem;background:linear-gradient(0deg,hsla(40,38%,90%,.3) 0%,transparent 100%)}.btn-danger-action{background-color:var(--color-danger);border-color:#ad1f1f66}.btn-danger-action:hover{background-color:#bb1b1b;box-shadow:0 0 10px #eb474740}.discovery-modal{width:min(380px,92vw);border:2px solid hsl(var(--hue-gold),72%,58%);box-shadow:0 24px 48px -12px #1a120f8c,0 0 0 1px hsla(var(--hue-gold),90%,70%,.25),0 0 40px hsla(var(--hue-gold),95%,53%,.22)}.discovery-modal[open]{animation:discovery-modal-in .65s cubic-bezier(.34,1.4,.64,1) forwards}.discovery-content{position:relative;overflow:hidden}.discovery-sparkles{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.fireworks-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,hsla(var(--hue-gold),95%,53%,.2) 0%,transparent 68%);animation:discovery-glow-swell 1.4s ease-out forwards}.discovery-header{border-bottom:none;text-align:center;justify-content:center;padding:1rem 1.25rem .35rem;position:relative;z-index:1}.discovery-header-text{display:flex;flex-direction:column;align-items:center;gap:.2rem}.discovery-kicker{margin:0;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--hue-gold),85%,42%);animation:discovery-kicker-in .5s cubic-bezier(.22,1,.36,1) .1s both}.discovery-title{margin:0;font-size:1.35rem;font-style:normal;font-weight:800;letter-spacing:.01em;animation:discovery-title-in .55s cubic-bezier(.22,1,.36,1) .18s both}.shine-text{background:linear-gradient(to right,#c9a227,#e8b84a,#f5d06a,#e8b84a,#c9a227);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:textShine 3s linear infinite}.discovery-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.35rem 1.25rem 1.25rem;position:relative;z-index:1}.discovered-item-big{display:inline-flex;align-items:center;gap:.65rem;padding:.8rem 1.5rem;border-radius:14px;background-color:var(--color-bg-card);border:2px solid var(--color-gold);box-shadow:0 0 28px var(--color-gold-glow);font-family:var(--font-display);font-weight:800;font-size:1.32rem;margin:.65rem 0 .85rem;animation:discovery-item-pop .8s cubic-bezier(.34,1.45,.64,1) .22s both}.discovered-item-big.discovery-replay{animation:discovery-item-pop .8s cubic-bezier(.34,1.45,.64,1) .05s both}.discovered-emoji{font-size:1.85rem;animation:discovery-emoji-wiggle .8s cubic-bezier(.34,1.45,.64,1) .45s both}.discovered-name{line-height:1.2}.discovered-desc{font-size:.9rem;color:var(--color-text-muted);line-height:1.5;margin:0 0 .9rem}.discovery-reveal,.discovery-reveal.discovery-replay{animation:discovery-content-rise .55s cubic-bezier(.22,1,.36,1) both}.discovery-body .discovery-reveal:nth-of-type(2){animation-delay:.34s}.discovery-body .discovery-reveal:nth-of-type(3){animation-delay:.42s}.discovery-body .discovery-reveal:nth-of-type(4){animation-delay:.5s}.discovery-body .discovery-reveal:nth-of-type(5){animation-delay:.58s}.discovery-exp{width:100%;margin:.15rem 0 .85rem;padding:.75rem .85rem;border-radius:10px;border:1px solid hsla(var(--hue-gold),55%,48%,.28);background:linear-gradient(135deg,#f9f7f0f2,#efe8dcbf);text-align:left}.discovery-exp__header{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.45rem}.discovery-exp__label{font-family:var(--font-rustic);font-size:.82rem;font-weight:700;color:var(--scroll-ink)}.discovery-exp__gain{flex-shrink:0;font-family:var(--font-fantasy);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--hue-gold),58%,36%);background:hsla(var(--hue-gold),70%,52%,.14);border:1px solid hsla(var(--hue-gold),55%,48%,.28);border-radius:999px;padding:.18rem .5rem}.discovery-exp__bar{margin-bottom:.35rem}.discovery-exp__text{text-align:left}.discovery-blurb-block{width:100%;background:linear-gradient(135deg,hsla(var(--hue-gold),78%,56%,.12),#efe7dc73);border:1px solid hsla(var(--hue-gold),70%,50%,.28);border-left:4px solid var(--color-gold);padding:.85rem .95rem;border-radius:0 10px 10px 0;text-align:left;margin-bottom:1rem}.discovery-blurb-block h3{font-size:.78rem;color:hsl(var(--hue-gold),75%,38%);margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.discovery-blurb-block p{font-size:.88rem;line-height:1.55;color:var(--color-text-muted);margin:0;font-style:italic}.culinary-tip-block{width:100%;background-color:#fdb8130d;border-left:4px solid var(--color-gold);padding:1rem;border-radius:0 8px 8px 0;text-align:left;margin-bottom:1.5rem}.culinary-tip-block h3{font-size:.9rem;color:var(--color-gold);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.05em}.culinary-tip-block p{font-size:.85rem;line-height:1.5;color:var(--color-text-muted)}.discovery-dismiss-form{width:100%;margin:0;position:relative;z-index:4}.discovery-ok-btn{width:100%;padding:.75rem;justify-content:center;font-size:1rem;border-radius:10px;position:relative;z-index:4;pointer-events:auto}.btn-large{width:100%;padding:.75rem;justify-content:center;font-size:1rem;border-radius:10px}@keyframes discovery-modal-in{0%{opacity:0;transform:scale(.82) translateY(24px)}55%{opacity:1;transform:scale(1.04) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes discovery-glow-swell{0%{opacity:0;transform:scale(.6)}40%{opacity:1}to{opacity:.75;transform:scale(1.15)}}@keyframes discovery-kicker-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes discovery-title-in{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes discovery-item-pop{0%{opacity:0;transform:scale(.55)}70%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes discovery-emoji-wiggle{0%{transform:scale(.4) rotate(-18deg)}60%{transform:scale(1.15) rotate(6deg)}to{transform:scale(1) rotate(0)}}@keyframes discovery-content-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.discovery-wave{position:absolute;left:50%;top:42%;width:0;height:0;border-radius:50%;box-shadow:0 0 10px 5px #ffd70066,inset 0 0 15px #ffd70099;transform:translate(-50%,-50%);animation:discovery-wave-expand 1.2s cubic-bezier(.22,1,.36,1) forwards;z-index:2;pointer-events:none}@keyframes discovery-wave-expand{0%{width:0;height:0;opacity:.8}to{width:250px;height:250px;opacity:0}}.discovery-spark{position:absolute;left:50%;top:42%;font-size:.85rem;line-height:1;pointer-events:none;animation:discovery-spark-burst 1.27s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--delay, 0s);opacity:0;z-index:3}@keyframes discovery-spark-burst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle, 0deg)) translateY(0) scale(.2);filter:drop-shadow(0 0 2px var(--color-gold))}18%{opacity:1;filter:drop-shadow(0 0 8px var(--color-gold-glow))}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle, 0deg)) translateY(calc(-1 * var(--distance, 60px))) scale(var(--scale, 1.1));filter:drop-shadow(0 0 2px var(--color-gold))}}.skills-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1.25rem}.skills-list::-webkit-scrollbar{width:7px}.skills-list::-webkit-scrollbar-track{background:var(--cozy-scrollbar-track)}.skills-list::-webkit-scrollbar-thumb{background-color:var(--cozy-scrollbar-thumb);border-radius:4px}.skills-list::-webkit-scrollbar-thumb:hover{background-color:var(--cozy-scrollbar-thumb-hover)}.skill-method-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid hsla(38,30%,55%,.2)}.skill-method-group:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.skill-method-group--locked .skill-actions-list{opacity:.65}.skill-method-title{font-family:var(--font-fantasy);font-size:.82rem;font-weight:700;color:var(--scroll-gold);letter-spacing:.04em;margin-bottom:0}.skill-method-desc{font-size:.68rem;color:var(--color-text-dim);line-height:1.35;margin:0}.skill-method-lock{font-size:.68rem;font-weight:700;color:var(--color-text-dim);margin:0}.skill-actions-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem;padding-left:.35rem;border-left:2px solid hsla(38,40%,50%,.25)}.skill-card.skill-action{padding:.5rem .65rem}.skill-category-group{display:flex;flex-direction:column;gap:.5rem}.skill-category-title{font-family:var(--font-fantasy);font-size:.7rem;font-weight:700;color:var(--scroll-gold);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.15rem}.skill-card{background:linear-gradient(135deg,#fbf9f4e6,#f4efe7d9);border:1px solid hsla(38,36%,58%,.35);border-radius:8px;padding:.7rem .8rem;transition:var(--transition-gentle);box-shadow:inset 0 1px #fdfcf699}.skill-card.unlocked{border-color:#b98f4673}.skill-card.active-tier{border-color:var(--scroll-gold-bright);border-left:3px solid var(--scroll-gold-bright);box-shadow:0 0 10px #ac823926}.skill-card.locked{opacity:.5}.skill-card-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem}.skill-card-name{font-size:.8rem;font-weight:700;color:var(--color-text);display:flex;align-items:center;gap:.35rem}.skill-card-status{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-dim);white-space:nowrap}.skill-card.unlocked .skill-card-status{color:var(--color-success)}.skill-card.active-tier .skill-card-status{color:var(--color-gold)}.skill-card--mode .skill-card-status{color:var(--color-fire)}.skill-card-desc{font-size:.7rem;color:var(--color-text-dim);line-height:1.4;margin-bottom:.4rem}.skill-card.locked .skill-card-desc{display:none}.skill-row{margin-bottom:.75rem}.skill-row:last-child{margin-bottom:0}.skill-info{display:flex;justify-content:space-between;font-size:.75rem;font-weight:700;margin-bottom:.25rem;color:var(--color-text-muted)}.skill-level{color:var(--color-fire)}.xp-text--locked{color:var(--color-text-dim);font-style:italic}.xp-bar-container{height:8px;background-color:var(--color-bg-deep);border-radius:4px;overflow:hidden;margin-bottom:.2rem}.xp-bar-fill{height:100%;background:linear-gradient(to right,var(--color-fire),var(--color-gold));border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1);width:0%}.xp-text{display:block;font-size:.7rem;color:var(--color-text-dim);text-align:right}.journal-panel__intro{padding:.85rem 1rem .65rem;border-bottom:1px solid hsla(38,30%,55%,.2)}.journal-panel__lead{margin:0;font-family:var(--font-fantasy);font-size:.82rem;font-weight:700;color:var(--scroll-gold);letter-spacing:.04em}.journal-panel__hint{margin:.35rem 0 .55rem;font-size:.68rem;line-height:1.4;color:var(--color-text-dim)}.journal-panel__count{margin:0;font-size:.7rem;font-weight:700;color:var(--color-text-muted)}.discovery-log-list{flex:1;overflow-y:auto;padding:.65rem .85rem 1rem;display:flex;flex-direction:column;gap:.55rem}.discovery-log-list::-webkit-scrollbar{width:7px}.discovery-log-list::-webkit-scrollbar-track{background:var(--cozy-scrollbar-track)}.discovery-log-list::-webkit-scrollbar-thumb{background-color:var(--cozy-scrollbar-thumb);border-radius:4px;transition:background-color .2s ease}.discovery-log-list::-webkit-scrollbar-thumb:hover{background-color:var(--cozy-scrollbar-thumb-hover)}.discovery-log-empty{margin:.5rem 0 0;font-size:.72rem;line-height:1.5;color:var(--color-text-dim);text-align:center}.discovery-log-entry{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;padding:.7rem .8rem;background:#f9f6f1d9;border:1px solid hsla(38,36%,58%,.32);border-radius:6px;box-shadow:inset 0 1px #fdfcf68c}.discovery-log-entry--recipe{border-color:#b189436b;background:linear-gradient(135deg,#fbf9f4f2,#f3ede2e6)}.discovery-log-entry__main{display:flex;align-items:flex-start;gap:.55rem;min-width:0}.discovery-log-entry__emoji{font-size:1.5rem;line-height:1;flex-shrink:0}.discovery-log-entry__text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.discovery-log-entry__name{font-size:.78rem;font-weight:700;color:var(--color-text);line-height:1.25}.discovery-log-entry__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.discovery-log-entry__category{font-size:.62rem;color:var(--color-text-dim)}.discovery-log-entry__time{flex-shrink:0;font-size:.62rem;line-height:1.35;color:#887463d9;text-align:right;white-space:nowrap}.save-export-toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%) translateY(.75rem);z-index:3000;padding:.65rem 1rem;border-radius:8px;font-size:.78rem;font-weight:600;color:var(--color-text);background:#fbf9f4f5;border:1px solid hsla(38,36%,58%,.45);box-shadow:0 8px 24px #3d31292e;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.save-export-toast--visible{opacity:1;transform:translate(-50%) translateY(0)}.kitchen-hint{display:flex;align-items:flex-start;gap:.45rem;padding:.55rem .75rem;border-radius:8px;font-size:.74rem;line-height:1.4;font-weight:600;color:var(--color-text);background:#faf7f0f5;border:1px solid hsla(38,45%,52%,.45);box-shadow:0 8px 22px #3d312929;z-index:2006;pointer-events:none}.kitchen-hint__icon{flex-shrink:0;font-size:.95rem;line-height:1.2}.kitchen-hint__text{flex:1}.kitchen-hint--banner{text-align:center;justify-content:center}.kitchen-hint--anchored{text-align:left}.floating-warning{line-height:1.35}.achievements-panel__intro{padding:.85rem 1rem .65rem;border-bottom:1px solid var(--color-border)}.achievements-panel__lead{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-text)}.achievements-panel__hint{margin:.35rem 0 .75rem;font-size:.78rem;line-height:1.45;color:var(--color-text-muted)}.achievements-panel__summary{display:flex;align-items:center;gap:.65rem;font-size:.78rem;color:var(--color-text-muted)}.achievements-panel__bar{flex:1;height:6px;border-radius:999px;background:#c4b8ab59;overflow:hidden}.achievements-panel__bar-fill{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--color-gold),hsl(var(--hue-fire),44%,52%));transition:width .35s ease}.achievements-list{flex:1;overflow-y:auto;padding:.75rem .85rem 1rem}.achievements-section+.achievements-section{margin-top:1rem}.achievements-section__title{margin:0 0 .5rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-dim)}.achievements-section__list{display:flex;flex-direction:column;gap:.5rem}.achievement-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;padding:.65rem .7rem;border-radius:10px;border:1px solid var(--color-border);background:#fcfbf8b8}.achievement-card--unlocked{border-color:hsla(var(--hue-gold),38%,58%,.45);box-shadow:0 1px hsla(var(--hue-gold),48%,88%,.8) inset}.achievement-card--locked{opacity:.82}.achievement-card__main{display:flex;align-items:flex-start;gap:.55rem;min-width:0}.achievement-card__emoji{font-size:1.25rem;line-height:1;flex-shrink:0}.achievement-card__text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.achievement-card__name{font-size:.82rem;font-weight:700;color:var(--color-text)}.achievement-card__desc{font-size:.74rem;line-height:1.4;color:var(--color-text-muted)}.achievement-card__time{flex-shrink:0;font-size:.68rem;color:var(--color-text-dim);white-space:nowrap}.achievements-empty{margin:0;padding:1rem .25rem;font-size:.82rem;color:var(--color-text-muted);text-align:center}.achievement-notification{position:absolute;left:50%;top:18px;transform:translate(-50%);z-index:2010;display:flex;align-items:center;gap:.75rem;width:min(92%,360px);padding:.85rem 1rem;border-radius:12px;border:1px solid hsla(var(--hue-gold),42%,52%,.55);background:#fcfbf8f5;box-shadow:0 12px 36px hsla(var(--hue-gold),32%,42%,.18),var(--shadow-lg);pointer-events:none}.achievement-notification__emoji{font-size:1.75rem;line-height:1}.achievement-notification__text h4{margin:0;font-size:.82rem;font-weight:800;color:hsl(var(--hue-gold),42%,34%)}.achievement-notification__text p{margin:.2rem 0 0;font-size:.78rem;line-height:1.35;color:var(--color-text-muted)}.achievement-notification__text strong{color:var(--color-text)}#settings-modal{width:min(520px,94vw)}.settings-body{padding-top:.75rem}.settings-section+.settings-section{margin-top:1.25rem;padding-top:1.1rem;border-top:1px dashed hsla(30,18%,52%,.28)}.settings-section-title{font-family:var(--font-fantasy);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--scroll-gold);margin-bottom:.65rem}.settings-section-lead{margin:0 0 .85rem;font-size:.84rem;line-height:1.5;color:var(--color-text-muted)}.settings-list{display:flex;flex-direction:column;gap:.55rem}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .85rem;border-radius:8px;border:1px solid hsla(38,36%,58%,.35);background:#f9f6f1bf;cursor:pointer;transition:var(--transition-smooth)}.settings-row:hover{border-color:hsla(var(--hue-gold),55%,52%,.55);background:#fbf9f4f2}.settings-row__text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.settings-row__label{font-size:.9rem;font-weight:600;color:var(--scroll-ink)}.settings-row__hint{font-size:.78rem;line-height:1.4;color:var(--color-text-muted)}.settings-toggle{position:relative;flex-shrink:0;width:2.65rem;height:1.45rem;margin:0;appearance:none;-webkit-appearance:none;border-radius:999px;border:1px solid hsla(32,28%,42%,.35);background:#c2b8ae8c;cursor:pointer;transition:background .2s ease,border-color .2s ease}.settings-toggle:after{content:"";position:absolute;top:50%;left:.14rem;width:1.05rem;height:1.05rem;border-radius:50%;background:#fcfbf8;box-shadow:0 1px 3px #3d312938;transform:translateY(-50%);transition:transform .2s ease}.settings-toggle:checked{background:hsla(var(--hue-gold),62%,48%,.85);border-color:hsla(var(--hue-gold),58%,38%,.65)}.settings-toggle:checked:after{transform:translate(1.2rem,-50%)}.settings-toggle:focus-visible{outline:2px solid hsla(var(--hue-gold),70%,50%,.75);outline-offset:2px}.settings-slider{width:100px;cursor:pointer}.settings-actions{display:flex;flex-wrap:wrap;gap:.55rem}.settings-actions .btn{flex:1 1 auto;min-width:8.5rem}.settings-footnote{margin:.85rem 0 0;font-size:.76rem;line-height:1.45;color:var(--color-text-dim)}.start-menu{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background-color:#1a130fbf;backdrop-filter:blur(12px);padding:20px;transition:opacity .5s ease,visibility .5s ease}.start-menu[hidden]{display:none!important;opacity:0;visibility:hidden;pointer-events:none}.start-menu__container{position:relative;width:100%;max-width:440px;box-shadow:0 20px 50px var(--scroll-shadow);border-radius:12px;overflow:hidden}.start-menu__scroll{background:var(--parchment-bg);background-blend-mode:var(--parchment-blend);padding:30px 24px;border-radius:12px;border:1px solid var(--color-border);position:relative}.start-menu__inner-frame{position:absolute;inset:12px;border:1px solid hsla(30,20%,35%,.15);border-radius:8px;pointer-events:none}.start-menu__warm-wash{position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,hsla(34,100%,86%,.15),transparent 70%);pointer-events:none}.start-menu__crinkles{position:absolute;inset:0;background-image:var(--paper-noise);opacity:.08;pointer-events:none}.start-menu__view{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.start-menu__header{text-align:center;margin-bottom:24px}.start-menu__logo-emoji{font-size:3.2rem;display:block;margin-bottom:10px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15));animation:float 4s ease-in-out infinite}.start-menu__title{font-family:var(--font-fantasy-title);font-size:2rem;color:var(--scroll-ink);margin:0;letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,.05)}.start-menu__subtitle{font-family:var(--font-charm);font-size:1.3rem;color:var(--scroll-accent);margin:6px 0 0}.start-menu__actions{display:flex;flex-direction:column;gap:12px;width:100%;max-width:280px}.start-menu__actions .btn-lg{font-size:1rem;padding:11px;border-radius:8px;box-shadow:0 4px 10px #0000000f;transition:var(--transition-gentle)}.start-menu__actions .btn-lg:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 14px #0000001a}.start-menu__view-title{font-family:var(--font-fantasy-title);font-size:1.5rem;color:var(--scroll-ink);margin:0 0 20px;text-align:center}.start-menu__slots-grid{display:flex;flex-direction:column;gap:12px;width:100%;margin-bottom:24px}.slot-card{background:var(--color-bg-glass);border:1px solid var(--color-border);border-radius:8px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;transition:transform .25s cubic-bezier(.25,.8,.25,1),border-color .25s ease,box-shadow .25s ease;box-shadow:0 2px 6px #00000008}.slot-card:hover{transform:translateY(-2px) scale(1.015);border-color:var(--color-border-hover);box-shadow:0 6px 16px hsla(var(--hue-ember),38%,52%,.12)}.slot-card--active{border-color:var(--color-gold);background:#fcfbf8;box-shadow:0 8px 20px hsla(var(--hue-gold),50%,45%,.18);transform:translateY(-2px) scale(1.02)}.slot-card__info{display:flex;flex-direction:column;gap:2px}.slot-card__name{font-family:var(--font-display);font-size:1.1rem;color:var(--scroll-ink);margin:0}.slot-card__status{font-size:.8rem;color:var(--color-text-muted)}.slot-card__actions{display:flex;align-items:center;gap:10px}.slot-btn-delete{padding:8px 10px;font-size:1rem;background:transparent;border:1px solid transparent}.slot-btn-delete:hover{background:#9f4b411a;border-color:var(--color-danger);color:var(--color-danger)}.start-menu__footer-actions{display:flex;justify-content:center;width:100%;margin-top:10px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-unfurl{animation:unfurl .4s cubic-bezier(.25,1,.5,1) forwards}@keyframes unfurl{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.fade-out{opacity:0!important;transition:opacity .3s ease!important}.levelup-notification{position:absolute;top:80px;left:50%;transform:translate(-50%,-40px);background:var(--parchment-bg);background-size:420px 420px,100% 100%,100% 100%,100% 100%,280px 280px;background-repeat:repeat,no-repeat,no-repeat,no-repeat,repeat;background-blend-mode:var(--parchment-blend);border:2px solid var(--scroll-ember);box-shadow:0 12px 32px var(--scroll-shadow);border-radius:8px;padding:1rem 1.75rem;display:flex;align-items:center;gap:1rem;z-index:2000;pointer-events:none;opacity:0;animation:levelup-slide-in 5s cubic-bezier(.25,.8,.25,1) forwards}@keyframes levelup-slide-in{0%{transform:translate(-50%,-40px);opacity:0}10%{transform:translate(-50%);opacity:1}90%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,-40px);opacity:0}}.levelup-emoji{font-size:2.2rem;animation:levelup-bounce .8s infinite alternate ease-in-out}.levelup-text h4{color:var(--scroll-gold);font-size:.92rem;margin-bottom:.15rem;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-fantasy)}.levelup-text p{color:var(--scroll-ink-muted);font-size:.8rem;line-height:1.4}@keyframes levelup-bounce{0%{transform:translateY(0)}to{transform:translateY(-5px)}}body[data-active-tool=smash] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>✊</text></svg>") 8 18,pointer}body[data-active-tool=julienne] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>🪓</text></svg>") 0 18,pointer}body[data-active-tool=char] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>🔥</text></svg>") 8 18,pointer}body[data-active-tool=cook] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>🍳</text></svg>") 8 18,pointer}body[data-active-tool=precision] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>🌡️</text></svg>") 8 18,pointer}body[data-active-tool=hand_mix] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>🖐️</text></svg>") 8 18,pointer}body[data-active-tool=whisk] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>🥣</text></svg>") 8 18,pointer}body[data-active-tool=blend] #workspace{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' style='font-size:18px'><text y='18'>🌪️</text></svg>") 8 18,pointer}dialog.graph-modal{width:min(1200px,94vw);max-width:94vw}.graph-dialog-body{display:flex;flex-direction:column;gap:.75rem;min-height:0}.ingredient-graph-container{display:flex;flex-direction:column;gap:.75rem;min-height:0;flex:1}.graph-dialog-content{max-height:85vh;min-height:420px}.graph-dialog-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.graph-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.graph-focus-control{display:inline-flex;align-items:center;gap:.5rem;flex:1 1 220px;min-width:200px}.graph-focus-label{font-family:var(--font-fantasy);font-size:.72rem;letter-spacing:.04em;color:var(--scroll-ink-muted);white-space:nowrap}.graph-focus-select{flex:1;min-width:0;padding:.45rem .65rem;border-radius:6px;background:#f9f6f1e6;border:1px solid hsla(38,36%,58%,.4);color:var(--scroll-ink);font-family:var(--font-body);font-size:.8rem}.graph-focus-select:focus{outline:none;border-color:var(--scroll-gold)}.graph-search-wrap{position:relative;flex:1 1 280px;min-width:220px;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.graph-search-control{flex:1 1 220px;min-width:200px}.graph-search-input{flex:1;min-width:0;width:100%;padding:.45rem .65rem;border-radius:6px;background:#f9f6f1e6;border:1px solid hsla(38,36%,58%,.4);color:var(--scroll-ink);font-family:var(--font-body);font-size:.8rem}.graph-search-input:focus{outline:none;border-color:var(--scroll-gold);box-shadow:0 0 0 3px #c2894726}.graph-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;margin:0;padding:.35rem;list-style:none;max-height:220px;overflow-y:auto;border-radius:8px;background:#f9f7f0fa;border:1px solid hsla(38,36%,58%,.45);box-shadow:0 10px 24px #44372c29}.graph-search-result{display:block;width:100%;text-align:left;padding:.45rem .55rem;border:none;border-radius:6px;background:transparent;color:var(--scroll-ink);font-family:var(--font-body);font-size:.82rem;cursor:pointer}.graph-search-result:hover,.graph-search-result:focus-visible{background:#ece1d5d9;outline:none}.graph-search-empty{padding:.55rem .65rem;font-size:.78rem;color:var(--scroll-ink-muted)}.graph-focus-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .45rem .3rem .55rem;border-radius:999px;background:#ece1d5bf;border:1px solid hsla(32,32%,52%,.35);font-size:.78rem;color:var(--scroll-ink)}.graph-focus-chip__label{font-family:var(--font-fantasy);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--scroll-ink-muted)}.graph-focus-chip__clear{border:none;background:transparent;color:var(--scroll-ink-muted);font-size:1rem;line-height:1;cursor:pointer;padding:0 .15rem}.graph-focus-chip__clear:hover{color:var(--scroll-ink)}.graph-viewport--empty{display:flex;align-items:center;justify-content:center;min-height:320px;cursor:default}.graph-empty-message{max-width:28rem;text-align:center;font-family:var(--font-charm);font-size:1.05rem;color:var(--scroll-ink-muted);line-height:1.45;padding:1rem}.graph-toolbar-toggles{display:flex;align-items:center;gap:.75rem}.graph-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--color-text-muted);cursor:pointer}.graph-zoom-controls{display:flex;gap:.35rem}.graph-zoom-btn{min-width:2.25rem;padding:.35rem .65rem}.graph-legend{display:flex;flex-wrap:wrap;gap:.85rem;font-size:.75rem;color:var(--color-text-dim)}.graph-legend span{display:inline-flex;align-items:center;gap:.35rem}.legend-swatch{width:12px;height:12px;border-radius:3px;display:inline-block;border:1px solid transparent}.legend-swatch--primitive{background:hsla(var(--hue-sage),28%,78%,.65);border-color:hsla(var(--hue-sage),25%,50%,.45)}.legend-swatch--raw{background:hsla(var(--hue-earth),32%,80%,.7);border-color:hsla(var(--hue-earth),28%,52%,.45)}.legend-swatch--processed{background:hsla(var(--hue-gold),50%,82%,.7);border-color:hsla(var(--hue-gold),45%,55%,.4)}.legend-swatch--locked{background:#c4bfba99;border-color:#a1999166}.graph-viewport{position:relative;flex:1;min-height:320px;height:min(62vh,680px);border:2px solid hsla(38,36%,58%,.35);border-radius:6px;background:radial-gradient(circle at top,hsla(42,50%,92%,.5),transparent 50%),linear-gradient(180deg,var(--scroll-parchment-light) 0%,hsl(36,32%,84%) 100%);overflow:hidden;cursor:grab;touch-action:none;box-shadow:inset 0 0 24px #8366490d}.graph-viewport:active{cursor:grabbing}.ingredient-graph-svg{width:100%;height:100%;display:block;overflow:visible}.graph-edge{fill:none;stroke:#9a8b7e66;stroke-width:1.5;color:#9a8b7e66}.graph-edge.is-unlocked{stroke:hsla(var(--hue-gold),70%,55%,.75);color:hsla(var(--hue-gold),70%,55%,.75)}.graph-transition-line{fill:none;stroke-width:1.75;pointer-events:none}.graph-transition-line--technique{stroke:#dd713c73}.graph-transition-line--technique.is-unlocked{stroke:#f47434e6}.graph-transition-line--combine-in,.graph-transition-line--combine-out{stroke:#47a3d166;stroke-dasharray:5 4}.graph-transition-line--combine-in.is-unlocked,.graph-transition-line--combine-out.is-unlocked{stroke:#55b6e7e6;stroke-dasharray:none}.graph-transition-marker{fill:#faf8f5;stroke:#c2b8aed9;stroke-width:1.25;pointer-events:none}.graph-transition-marker.is-unlocked{stroke:hsla(var(--hue-gold),60%,50%,.55)}.graph-transition--technique.is-unlocked .graph-transition-marker{stroke:#e86e30a6}.graph-transition--combine.is-unlocked .graph-transition-marker{stroke:#49addfa6}.graph-transition-marker-symbol{fill:var(--color-text);font-size:11px;font-weight:700;font-family:var(--font-body);pointer-events:none}.graph-transitions-panel{margin:0 0 .5rem;padding:.65rem .75rem;border-radius:10px;background:#fbfaf8e6;border:1px solid hsla(32,14%,72%,.45);max-height:9.5rem;overflow-y:auto}.graph-transitions-panel__title{margin:0 0 .45rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#766a60e6}.graph-transitions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.graph-transitions-list__item{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.45rem;align-items:center;font-size:.78rem;line-height:1.25}.graph-path-from,.graph-path-to{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-path-from{text-align:right;color:var(--color-text-dim)}.graph-path-to{text-align:left;color:var(--color-text);font-weight:600}.graph-path-via{flex-shrink:0;padding:.1rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;background:#dd713c1f;color:#964f2c}.graph-transitions-list__item--combine .graph-path-via{background:#3ca7dd1f;color:#296d8e}.graph-legend-hint{font-size:.72rem;color:var(--color-text-dim);font-style:italic}.legend-line{width:22px;height:0;border-top:2px solid transparent;display:inline-block}.legend-line--technique{border-color:#f47434}.legend-line--combine{border-color:#55b6e7;border-top-style:dashed}.graph-edge-label{fill:var(--color-text-dim);font-size:9px;font-family:var(--font-body);pointer-events:none}.graph-row-label{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;fill:#877a6ebf;pointer-events:none}.graph-node-bg{fill:#fcfbf8;stroke:#cfc7bfe6;stroke-width:1.5}.graph-node--primitive .graph-node-bg{fill:hsla(var(--hue-sage),22%,94%,.95);stroke:hsla(var(--hue-sage),22%,58%,.45)}.graph-node--raw .graph-node-bg{fill:hsla(var(--hue-earth),28%,94%,.95);stroke:hsla(var(--hue-earth),28%,58%,.45)}.graph-node--processed .graph-node-bg{fill:hsla(var(--hue-gold),38%,95%,.95);stroke:hsla(var(--hue-gold),45%,55%,.4)}.graph-node.is-unlocked .graph-node-bg{stroke-width:2}.graph-node.is-locked{opacity:.72}.graph-node.is-locked .graph-node-bg{fill:#e3e1dd;stroke:#a69e968c;stroke-dasharray:4 3}.graph-node.is-locked .graph-node-emoji{font-size:14px;font-weight:700;letter-spacing:.08em;fill:var(--color-text-dim)}.graph-node.is-locked .graph-node-name{fill:var(--color-text-dim);font-weight:700;letter-spacing:.12em}.graph-node.is-locked .graph-node-badge{fill:var(--color-text-dim);letter-spacing:.1em}.graph-node--focus .graph-node-bg{stroke:var(--color-gold);stroke-width:2.5;filter:drop-shadow(0 0 8px var(--color-gold-glow))}.graph-node-emoji{font-size:22px;pointer-events:none}.graph-node-name{fill:var(--color-text);font-size:10px;font-weight:700;font-family:var(--font-body);pointer-events:none}.graph-node-badge{fill:var(--color-text-dim);font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-family:var(--font-body);pointer-events:none}.graph-node.is-unlocked .graph-node-badge{fill:var(--color-success)}.graph-node--raw.is-unlocked .graph-node-badge{fill:hsl(var(--hue-earth),38%,36%)}.graph-node--processed.is-unlocked .graph-node-badge{fill:hsl(var(--hue-gold),50%,40%)}.ingredient-hover-card{position:fixed;z-index:10000;width:330px;background:var(--scroll-cream);border:1px solid hsla(32,28%,58%,.4);border-radius:12px;box-shadow:0 10px 25px #392d2226,inset 0 1px #fdfcf7cc;padding:1.1rem;font-family:var(--font-body);color:var(--scroll-ink);pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease}.ingredient-hover-card.visible{opacity:1;transform:translateY(0)}.hover-card__header{display:flex;align-items:center;gap:.85rem;margin-bottom:.85rem;border-bottom:1px dashed hsla(32,28%,58%,.2);padding-bottom:.7rem}.hover-card__emoji{font-size:2.6rem;line-height:1}.hover-card__meta{display:flex;flex-direction:column;gap:.3rem;min-width:0;flex:1}.hover-card__name{font-family:var(--font-body);font-weight:700;font-size:1.2rem;line-height:1.2}.hover-card__state{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:3px 8.5px;border-radius:4px;line-height:1}.hover-card__state--primal{color:#542e8a;background-color:#e9dff6e6;border:1px solid hsla(265,30%,75%,.4)}.hover-card__state--raw{color:#2f6a2f;background-color:#e2eee2e6;border:1px solid hsla(120,24%,70%,.4)}.hover-card__state--prepared{color:#845d2a;background-color:#f4ece1f2;border:1px solid hsla(34,30%,75%,.4)}.hover-card__state--recipe{color:#89243e;background-color:#f3e2e6f2;border:1px solid hsla(345,35%,75%,.4)}.hover-card__props{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem;margin-bottom:.85rem}.hover-card__prop-item{display:flex;align-items:center;gap:.4rem;font-size:.84rem;color:var(--scroll-ink-muted);transition:transform .2s ease,color .2s ease}.hover-card__prop-item:hover{transform:translate(2px);color:var(--scroll-ink)}.hover-card__prop-icon{font-size:1.05rem;flex-shrink:0}.hover-card__prop-value{font-weight:600;color:var(--scroll-ink)}.hover-card__description{font-size:.92rem;line-height:1.45;margin:0 0 .85rem;color:var(--scroll-ink)}.hover-card__lore{font-family:var(--font-rustic);font-size:.95rem;line-height:1.5;font-style:italic;color:#6f533e;background:#efe9dc73;border-left:3px solid hsla(32,28%,58%,.4);padding:.55rem .75rem;margin:0 0 .85rem;border-radius:0 6px 6px 0}.hover-card__tip-box{display:flex;gap:.4rem;font-size:.84rem;line-height:1.4;background-color:hsla(var(--hue-sage),24%,86%,.45);border:1px solid hsla(var(--hue-sage),20%,72%,.3);padding:.55rem .65rem;border-radius:8px;color:var(--color-sage);transition:transform .25s ease,box-shadow .25s ease}.hover-card__tip-box:hover{transform:translateY(-2px);box-shadow:0 4px 12px hsla(var(--hue-sage),20%,40%,.15)}.hover-card__tip-icon{font-size:1.05rem;flex-shrink:0;animation:bounce-vertical 2s ease-in-out infinite}@keyframes bounce-vertical{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (max-width: 1100px){.sidebar-cabinet{width:300px}}@media (max-width: 900px){.grand-scroll{padding:.45rem .5rem .55rem}.grand-scroll__assembly{max-height:calc(100vh - 1rem)}:root{--scroll-knob-size: 26px;--scroll-roller-height: 24px;--scroll-edge-height: 14px}.app-header{flex-wrap:wrap;gap:.65rem;padding:.7rem 1rem .65rem}.stats-and-actions{width:100%;justify-content:flex-start}.app-header:after{font-size:.42rem;letter-spacing:.2em}}@media (max-width: 640px){:root{--scroll-knob-size: 22px;--scroll-roller-height: 20px;--scroll-edge-height: 12px}.app-header:after{display:none}.grand-scroll__ornament--tr{right:22px}.logo-tagline{font-size:.95rem}.sidebar-cabinet{width:280px}.cabinet-grid .alchemy-element{padding:.75rem .85rem}.subtab-btn{padding:.42rem .8rem;font-size:.72rem}}
