@font-face{font-family:Broomsticks Sans;src:local("Broomsticks Sans Regular"),local("Broomsticks Sans"),url(/fonts/BroomsticksSans-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{color:#16181c;background:#f4f5f7;font-family:Broomsticks Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--sidebar-width: 356px;--workspace-bg: #f2e9e4;--workspace-texture: url(/textures/paper-fine-grain.png);--workspace-texture-size: 793px 496px;--workspace-texture-opacity: 1;--panel-bg: #ffffff;--panel-border: #dfe3ea;--text: #16181c;--muted: #6d7480;--pill-bg: #ffffff;--pill-border: #d8dee7;--pill-shadow: 0 3px 9px rgba(20, 27, 38, .09);--item-frame-fill: #fffaf6;--item-frame-selected-fill: linear-gradient(180deg, #fffaf6 0%, #fae7dc 100%);--item-frame-border: #deccc1;--item-frame-text: #8d7260;--item-swash-color: #cbb8ac;--artwork-color: #b8a294;--accent: #2f7af8;--accent-soft: #e9f1ff;--success: #0f9f6e;--warning: #c77900;--danger: #c24133}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button,input{font:inherit}button{cursor:pointer}.app-shell{width:100vw;height:100vh;display:grid;grid-template-columns:minmax(0,1fr) var(--sidebar-width);color:var(--text);background:#eef1f5}.app-shell.dark{--workspace-bg: #060d18;--workspace-texture-opacity: .28;--panel-bg: #060d18;--panel-border: #1818f5;--text: #ffffff;--muted: rgba(255, 255, 255, .68);--pill-bg: #060d18;--pill-border: #1818f5;--pill-shadow: 0 4px 12px rgba(0, 0, 0, .32);--item-frame-fill: #060d18;--item-frame-selected-fill: linear-gradient(180deg, #060d18 0%, #11143c 100%);--item-frame-border: #1818f5;--item-frame-text: #ffffff;--item-swash-color: #1818f5;--artwork-color: #1818f5;--accent: #1818f5;--accent-soft: rgba(24, 24, 245, .17);background:#060d18}.loading-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;isolation:isolate;padding:24px;color:#8d7260;background:var(--workspace-bg);opacity:1;transition:opacity var(--motion-loader-fade) ease var(--motion-loader-fade-delay)}.loading-overlay:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:var(--workspace-texture);background-repeat:repeat;background-position:0 0;background-size:var(--workspace-texture-size);background-attachment:fixed;mix-blend-mode:overlay;filter:contrast(2.5);opacity:var(--workspace-texture-opacity)}.loading-overlay:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 70% 68% at 50% 50%,transparent 28%,rgba(111,73,55,.035) 58%,rgba(92,55,39,.2) 100%);mix-blend-mode:multiply}.loading-overlay.complete{opacity:0}.loading-logo-stage{position:relative;z-index:3;display:grid;width:min(52rem,78vw,54vh);justify-items:center;text-align:center}.loading-logo-progress{width:100%}.loading-logo{display:block;width:100%;height:auto;overflow:visible}.loading-logo-white{filter:brightness(0) invert(1)}.loading-logo-wink{opacity:0}.loading-overlay.complete .loading-logo-wink{animation:loading-logo-wink var(--motion-loader-wink) step-end var(--motion-loader-fill-settle) forwards}.loading-liquid-rise{transition:transform var(--motion-loader-fill-settle) cubic-bezier(.24,.72,.25,1);will-change:transform}.loading-liquid-edge-soft,.loading-liquid-edge-grain{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.loading-liquid-edge-soft{stroke:#68483952;stroke-width:6px;filter:url(#loader-charcoal-roughness)}.loading-liquid-edge-grain{stroke:#593b2fa3;stroke-width:2.2px;stroke-dasharray:1 2.2 5.5 1.4 10 2.8;filter:url(#loader-charcoal-roughness)}.loading-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.loading-error p{margin:0;color:#825044;font-size:clamp(14px,2.5vw,17px);font-weight:800}.loading-error{display:grid;justify-items:center;width:min(480px,90vw);margin-top:-5%;padding:18px 22px;border:1px solid rgba(141,114,96,.28);border-radius:18px;background:#f2e9e4d1;box-shadow:0 14px 34px #5b3a2a1f;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.loading-error small{max-width:580px;margin-top:7px;color:#765f53;overflow-wrap:anywhere}.loading-error button{margin-top:14px;padding:10px 18px;border:1px solid #8d7260;border-radius:999px;color:#fff;background:#a88b79;box-shadow:0 8px 18px #5b3a2a29;font-weight:900;transition:transform .15s ease,box-shadow .15s ease}.loading-error button:hover{transform:translateY(-2px);box-shadow:0 11px 22px #5b3a2a38}@keyframes loading-logo-wink{0%,59.999%{opacity:1}60%,to{opacity:0}}.workspace{position:relative;overflow:hidden;isolation:isolate;background:var(--workspace-bg)}.workspace:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:var(--workspace-texture);background-repeat:repeat;background-position:0 0;background-size:var(--workspace-texture-size);background-attachment:fixed;mix-blend-mode:overlay;filter:contrast(2.5);opacity:var(--workspace-texture-opacity)}.workspace-ornaments{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.ornament-underlay,.ornament-topper,.ornament-branch{position:absolute;display:block;pointer-events:none}.ornament-underlay{inset:0;z-index:0;width:100%;height:100%;background:url(/ui/behind-bg-details.png) center / cover no-repeat}.ornament-branch{z-index:2;width:clamp(210px,min(38vw,52vh),680px);height:auto;opacity:.46;aspect-ratio:1;background:url(/ui/corner-detail.png) center / contain no-repeat;transform-origin:center}.ornament-branch.bottom-left{left:-2px;bottom:-2px}.ornament-branch.top-left{top:-2px;left:-2px;transform:rotate(90deg)}.ornament-branch.top-right{top:-2px;right:-2px;transform:rotate(180deg)}.ornament-branch.bottom-right{right:-2px;bottom:-2px;transform:rotate(270deg)}.ornament-topper{inset:0;z-index:1;width:100%;height:100%;opacity:.72;background:url(/ui/corner-detail-topper.png) center / cover no-repeat}.ornament-topper.top-left{transform:scaleY(-1)}.ornament-topper.top-right{transform:scale(-1)}.ornament-topper.bottom-right{transform:scaleX(-1)}.app-shell.dark .ornament-underlay,.app-shell.dark .ornament-branch,.app-shell.dark .ornament-topper{background-color:var(--artwork-color);background-image:none;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.app-shell.dark .ornament-underlay{opacity:.17;-webkit-mask-image:url(/ui/behind-bg-details.png);mask-image:url(/ui/behind-bg-details.png);-webkit-mask-size:cover;mask-size:cover}.app-shell.dark .ornament-topper{opacity:.22;-webkit-mask-image:url(/ui/corner-detail-topper.png);mask-image:url(/ui/corner-detail-topper.png);-webkit-mask-size:cover;mask-size:cover}.app-shell.dark .ornament-branch{opacity:.42;-webkit-mask-image:url(/ui/corner-detail.png);mask-image:url(/ui/corner-detail.png);-webkit-mask-size:contain;mask-size:contain}.brand-lockup{position:absolute;top:10px;left:50%;z-index:4;width:clamp(104px,15.35vmin,170px);transform:translate(-50%);pointer-events:none;-webkit-user-select:none;user-select:none}.brand-lockup-logo{display:block;width:100%;aspect-ratio:1;background:url(/ui/ginger-brew-logo.png) center / contain no-repeat}.app-shell.dark .brand-lockup-logo{background:url(/ui/ginger-brew-logo-dark.png) center / contain no-repeat}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--panel-border);border-radius:8px;color:var(--accent);background:var(--panel-bg);box-shadow:0 5px 15px #171d2914}.black-hole-stage{position:absolute;inset:0;z-index:2;display:grid;place-items:center;visibility:hidden;pointer-events:none}.black-hole-stage.opening,.black-hole-stage.open,.black-hole-stage.closing{visibility:visible}.black-hole-stage:before{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(circle at center,rgba(7,3,16,.2) 0,rgba(29,12,52,.09) 24%,transparent 55%);transition:opacity .36s ease}.black-hole-stage.opening:before,.black-hole-stage.open:before{opacity:1}.black-hole-stage.closing:before{opacity:0}.black-hole-assembly,.black-hole-shockwave,.black-hole-flash{grid-area:1 / 1}.black-hole-assembly{position:relative;width:var(--black-hole-size);aspect-ratio:1;opacity:0;transform:scale(.01) rotate(-32deg);transform-origin:center}.black-hole-stage.opening .black-hole-assembly,.black-hole-stage.closing .black-hole-assembly{will-change:transform,opacity}.black-hole-stage.opening .black-hole-assembly{animation:black-hole-erupt var(--motion-black-hole-open) cubic-bezier(.16,1,.3,1) both}.black-hole-stage.open .black-hole-assembly{opacity:1;transform:scale(1) rotate(0)}.black-hole-stage.closing .black-hole-assembly{animation:black-hole-collapse var(--motion-black-hole-close) cubic-bezier(.65,0,.35,1) both}.black-hole-shockwave{width:calc(var(--black-hole-size) * .7);aspect-ratio:1;border:2px solid rgba(203,183,255,.75);border-radius:50%;opacity:0;box-shadow:0 0 18px #996fff80,inset 0 0 18px #ffb27547}.black-hole-stage.opening .black-hole-shockwave{animation:black-hole-shockwave .72s cubic-bezier(.12,.7,.18,1) 70ms both}.black-hole-flash{width:calc(var(--black-hole-size) * .26);aspect-ratio:1;border-radius:50%;opacity:0;background:#fff8e8eb;box-shadow:0 0 55px 24px #b891ff99,0 0 120px 52px #ff8c4e3d}.black-hole-stage.opening .black-hole-flash{animation:black-hole-flash .46s ease-out both}.black-hole-aura{position:absolute;inset:-8%;border-radius:50%;opacity:.78;background:conic-gradient(from 18deg,transparent 0 7%,rgba(116,70,255,.54) 12%,transparent 24%,rgba(255,132,61,.48) 38%,transparent 54%,rgba(67,197,255,.38) 69%,transparent 84%,rgba(206,111,255,.48) 94%,transparent);filter:blur(22px);animation:black-hole-spin 13s linear infinite;animation-play-state:paused}.black-hole-accretion-plane{position:absolute;inset:5% -11%;z-index:1;transform:rotate(-10deg) scaleY(.34);transform-origin:center}.black-hole-accretion-flow{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 90deg,rgba(255,214,143,.05),#ff9a4c 9%,#ffe7ad 16%,rgba(151,103,255,.9) 30%,rgba(49,185,255,.36) 43%,transparent 51%,rgba(117,71,255,.72) 62%,#ff814d 77%,#fff0c7 88%,rgba(255,214,143,.05));filter:blur(4px) saturate(1.2);-webkit-mask:radial-gradient(circle,transparent 0 42%,#000 46% 70%,transparent 76%);mask:radial-gradient(circle,transparent 0 42%,#000 46% 70%,transparent 76%);animation:black-hole-spin 6.8s linear infinite reverse;animation-play-state:paused;box-shadow:0 0 26px #8b56ff75}.black-hole-gravity-ring{position:absolute;inset:13.5%;z-index:2;border:1px solid rgba(255,238,205,.78);border-radius:50%;box-shadow:0 0 6px 2px #ffb869bd,0 0 18px 5px #7e52ff8c,inset 0 0 14px 3px #7146ff70}.black-hole-core{position:absolute;inset:18%;z-index:3;overflow:hidden;border-radius:50%;background:#000;box-shadow:0 0 0 2px #04010aeb,0 0 24px 9px #130727fa,inset 10px 12px 34px #321c5333;animation:black-hole-breathe 3.4s ease-in-out infinite;animation-play-state:paused}.black-hole-depth{position:absolute;inset:0;z-index:1;border-radius:inherit;background:radial-gradient(circle at 45% 43%,transparent 0 38%,rgba(0,0,0,.38) 72%,#000 100%),radial-gradient(circle at 50% 50%,#08060f,#000 68%)}.black-hole-speckles{position:absolute;inset:3%;z-index:2;overflow:hidden;border-radius:50%}.black-hole-speckles i{position:absolute;left:var(--speckle-left);top:var(--speckle-top);width:var(--speckle-size);height:var(--speckle-size);border-radius:50%;opacity:.64;background:#fff;box-shadow:0 0 5px #ba9effeb;animation:black-hole-twinkle var(--speckle-duration) ease-in-out var(--speckle-delay) infinite;animation-play-state:paused}.black-hole-stage.opening .black-hole-aura,.black-hole-stage.open .black-hole-aura,.black-hole-stage.closing .black-hole-aura,.black-hole-stage.opening .black-hole-accretion-flow,.black-hole-stage.open .black-hole-accretion-flow,.black-hole-stage.closing .black-hole-accretion-flow,.black-hole-stage.opening .black-hole-core,.black-hole-stage.open .black-hole-core,.black-hole-stage.closing .black-hole-core,.black-hole-stage.opening .black-hole-speckles i,.black-hole-stage.open .black-hole-speckles i,.black-hole-stage.closing .black-hole-speckles i{animation-play-state:running}@keyframes black-hole-erupt{0%{opacity:0;transform:scale(.01) rotate(-32deg)}28%{opacity:1;transform:scale(1.16) rotate(4deg)}52%{transform:scale(.92) rotate(-1.5deg)}74%{transform:scale(1.045) rotate(.5deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes black-hole-collapse{0%{opacity:1;transform:scale(1) rotate(0)}to{opacity:0;transform:scale(.01) rotate(38deg)}}@keyframes black-hole-shockwave{0%{opacity:.88;transform:scale(.12)}35%{opacity:.58}to{opacity:0;transform:scale(2.12);border-width:1px}}@keyframes black-hole-flash{0%{opacity:0;transform:scale(.05)}14%{opacity:.92}to{opacity:0;transform:scale(2.25)}}@keyframes black-hole-spin{to{transform:rotate(1turn)}}@keyframes black-hole-breathe{0%,to{box-shadow:0 0 0 2px #04010aeb,0 0 24px 9px #130727fa,inset 10px 12px 34px #321c5333}50%{box-shadow:0 0 0 2px #04010af5,0 0 31px 12px #1d0a3afa,inset -8px -10px 40px #4125682b}}@keyframes black-hole-twinkle{0%,to{opacity:.2;transform:scale(.7)}48%{opacity:.86;transform:scale(1.35)}}.item-pill{position:relative;isolation:isolate;max-width:100%;min-height:34px;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--item-frame-border);border-radius:8px;color:var(--text);background:var(--item-frame-fill);box-shadow:var(--pill-shadow);-webkit-user-select:none;user-select:none;white-space:nowrap;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.item-pill:after{content:"";position:absolute;inset:1px;z-index:0;border-radius:7px;pointer-events:none;opacity:0;background:var(--item-frame-selected-fill);transition:opacity var(--motion-selection-fade) cubic-bezier(.22,.75,.25,1)}.item-pill>.emoji,.item-pill>strong{position:relative;z-index:1}.item-pill strong{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--item-frame-text);font-size:28px;line-height:.95;font-kerning:normal;letter-spacing:.07em;-webkit-text-stroke:.6px currentColor;paint-order:stroke fill}.emoji{flex:0 0 auto;font-size:26px;line-height:1}.sidebar-pill:hover,.modal-pill:hover,.recipe-token:hover,.workspace-pill:hover{border-color:var(--item-frame-border);background:var(--item-frame-fill)}.sidebar-pill:active:after,.modal-pill:active:after,.recipe-token:active:after,.workspace-pill:active:after,.workspace-pill.dragging:after,.workspace-pill.drop-target:after,.workspace-pill.settling:after,.item-drag-preview .workspace-pill:after{opacity:1}.sidebar-pill:active,.modal-pill:active,.recipe-token:active{transform:translateY(1px)}.workspace-item-layer{position:absolute;inset:0;pointer-events:none}.workspace-item-layer[data-interaction=locked] .workspace-pill{pointer-events:none}.workspace-item-position{position:absolute;left:0;top:0;z-index:3;max-width:none;pointer-events:none;transform:translate3d(var(--workspace-x, 0),var(--workspace-y, 0),0)}.workspace-item-position.dragging{z-index:8;transition:none;will-change:transform}.workspace-item-position.drag-source-hidden{opacity:0}.workspace-item-position.drop-target{z-index:7}.workspace-item-position.combining{z-index:4;transition:transform var(--motion-merge-travel) cubic-bezier(.22,1,.36,1);will-change:transform}.workspace-item-position.thinking{z-index:5}.workspace-item-scene{position:relative;max-width:100%;pointer-events:none;transform:translate3d(var(--scene-x, 0),var(--scene-y, 0),0) rotate(var(--scene-rotation, 0deg)) scale(var(--scene-scale, 1));transform-origin:center;transition:transform var(--motion-scene-shift) cubic-bezier(.16,1,.3,1)}.workspace-item-scene:before,.item-drag-preview-swash{position:absolute;top:-22.2%;left:-15%;width:136.1%;height:153.3%;z-index:0;display:block;pointer-events:none;opacity:1;background:var(--item-swash-color);-webkit-mask:url(/ui/item-swash.png) center / 100% 100% no-repeat;mask:url(/ui/item-swash.png) center / 100% 100% no-repeat;transform-origin:center}.workspace-item-scene:before{content:"";transition:opacity .16s ease,transform var(--motion-merge-travel) cubic-bezier(.16,1,.3,1)}.workspace-item-scene.active{will-change:transform}.black-hole-opening .workspace-item-scene.active{transition-delay:70ms}.black-hole-closing .workspace-item-scene.active{transition-duration:var(--motion-black-hole-close);transition-timing-function:cubic-bezier(.65,0,.35,1);transition-delay:0ms}.black-hole-opening .workspace-item-scene.active .workspace-pill,.black-hole-open .workspace-item-scene.active .workspace-pill{box-shadow:0 5px 16px #05020c33,0 0 0 1px #825bdd1f}.workspace-pill{position:relative;z-index:1;max-width:none;pointer-events:auto;touch-action:none;transform:scale(1);box-shadow:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease,transform var(--motion-selection-fade) cubic-bezier(.22,.75,.25,1)}.workspace-pill strong{flex:0 0 auto;min-width:max-content;overflow:visible;text-overflow:clip}.workspace-pill-measure{position:fixed;left:-10000px;top:-10000px;width:max-content;height:auto;visibility:hidden;pointer-events:none;animation:none;transition:none}.workspace-pill.dragging{cursor:grabbing}.workspace-pill.drop-target{transform:scale(1.035)}.discovery-rays-shell{position:absolute;top:calc(50% - 3px);left:50%;z-index:-1;width:90px;aspect-ratio:1;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(1);transform-origin:center;transition:transform var(--motion-drag-merge) cubic-bezier(.55,.06,.68,.19);will-change:transform}.discovery-rays{position:absolute;inset:0;border-radius:inherit;opacity:.3;transform:scale(0);animation:discovery-rays-reveal var(--motion-discovery-reveal) linear both;animation-delay:var(--discovery-resume-delay, 0ms);will-change:opacity,transform}.discovery-rays:before{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-conic-gradient(from -17deg,transparent 0deg,var(--item-swash-color) 4deg 30deg,transparent 34deg 60deg);-webkit-mask-image:radial-gradient(circle,#000 0 70%,rgba(0,0,0,.82) 78%,transparent 100%);mask-image:radial-gradient(circle,#000 0 70%,rgba(0,0,0,.82) 78%,transparent 100%);animation:discovery-rays-spin var(--motion-discovery-spin) linear both;animation-delay:var(--discovery-resume-delay, 0ms);will-change:transform}.workspace-pill.first{animation:first-discovery-border var(--motion-discovery-reveal) linear both;animation-delay:var(--discovery-resume-delay, 0ms)}.workspace-item-position.combining .discovery-rays-shell,.item-drag-preview.merging .discovery-rays-shell,.item-drag-preview.floop-out .discovery-rays-shell{transform:translate(-50%,-50%) scale(0)}.workspace-item-position.combining .discovery-rays,.item-drag-preview.merging .discovery-rays,.item-drag-preview.floop-out .discovery-rays,.workspace-item-position.combining .workspace-pill.first,.item-drag-preview.merging .workspace-pill.first,.item-drag-preview.floop-out .workspace-pill.first{animation-play-state:paused}.item-drag-preview.floop-out .discovery-rays-shell{transition-duration:var(--motion-drag-floop-out)}.workspace-item-position.merged-away .discovery-rays-shell{display:none}.workspace-pill.combining{pointer-events:none;opacity:0;transform:scale(.72);transform-origin:center;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity var(--motion-merge-fade) ease-in var(--motion-merge-fade-delay),transform var(--motion-merge-travel) cubic-bezier(.22,1,.36,1)}.workspace-item-position.combining .workspace-item-scene:before{opacity:0;transform:scale(.72);transition:opacity var(--motion-merge-fade) ease-in var(--motion-merge-fade-delay),transform var(--motion-merge-travel) cubic-bezier(.22,1,.36,1)}.workspace-pill.merged-away{opacity:0}.workspace-item-position.merged-away .workspace-item-scene:before,.workspace-item-position.thinking .workspace-item-scene:before{opacity:0}.workspace-pill.thinking{width:76px;min-height:38px;padding:0;border-color:#d9dde4;background:#fff;cursor:default;pointer-events:none;animation:thinking-arrive .18s cubic-bezier(.22,.75,.25,1) both,blank-thinking-pulse .98s ease-in-out .18s infinite}.workspace-pill.thinking:hover{border-color:#d9dde4;background:#fff}.item-drag-preview{position:fixed;left:0;top:0;z-index:80;max-width:none;overflow:visible;pointer-events:none;transform:translate3d(var(--drag-x, 0),var(--drag-y, 0),0);will-change:transform}.item-drag-preview.merging{transition:transform var(--motion-drag-merge) cubic-bezier(.22,1,.36,1)}.item-drag-preview-swash{transition:opacity var(--motion-drag-floop-out) ease-in}.item-drag-preview-floop,.item-drag-preview-release,.item-drag-preview .workspace-item-scene{width:100%;height:100%;overflow:visible}.item-drag-preview-floop{position:relative;z-index:1;transform-origin:var(--drag-origin-x, 50%) var(--drag-origin-y, 50%);will-change:transform,opacity}.item-drag-preview .workspace-item-scene{isolation:isolate;transform:none;transition:none}.item-drag-preview .workspace-item-scene:before{display:none}.item-drag-preview .workspace-pill{width:100%;height:100%;max-width:none;pointer-events:none;cursor:grabbing;box-shadow:0 10px 24px #2b1f182e}.app-shell.dark .item-drag-preview .workspace-pill{box-shadow:0 10px 26px #0000006b,0 0 0 1px #4848ff3d}.item-drag-preview.from-workspace .workspace-pill,.app-shell.dark .item-drag-preview.from-workspace .workspace-pill{box-shadow:none}.item-drag-preview.from-inventory .item-drag-preview-floop{animation:item-floop-in var(--motion-drag-floop-in) cubic-bezier(.16,1,.3,1) both}.item-drag-preview.from-workspace .item-drag-preview-floop{animation:item-drag-lift .12s cubic-bezier(.16,1,.3,1) both}.item-drag-preview.floop-out .item-drag-preview-release{animation:item-floop-out var(--motion-drag-floop-out) cubic-bezier(.55,0,.8,.25) both}.item-drag-preview.floop-out .item-drag-preview-swash{opacity:0}.item-drag-preview.merging .item-drag-preview-release{animation:item-merge-floop var(--motion-drag-merge) cubic-bezier(.22,1,.36,1) both}.item-drag-preview.merging .item-drag-preview-swash{opacity:0;transition-duration:var(--motion-merge-fade);transition-delay:var(--motion-merge-fade-delay)}@keyframes discovery-rays-reveal{0%{transform:scale(0);animation-timing-function:cubic-bezier(.16,1,.3,1)}15%{transform:scale(1)}75%{transform:scale(1);animation-timing-function:cubic-bezier(.55,.06,.68,.19)}to{transform:scale(0)}}@keyframes discovery-rays-spin{to{transform:rotate(360deg)}}@keyframes first-discovery-border{0%{border-color:var(--item-frame-border);animation-timing-function:cubic-bezier(.16,1,.3,1)}15%{border-color:#1818f5}75%{border-color:#1818f5;animation-timing-function:cubic-bezier(.55,.06,.68,.19)}to{border-color:var(--item-frame-border)}}@keyframes item-floop-in{0%{opacity:0;transform:scale(.02)}to{opacity:1;transform:scale(1)}}@keyframes item-drag-lift{0%{transform:scale(.98)}to{transform:scale(1.025)}}@keyframes item-floop-out{0%{opacity:1;transform:scale(1) rotate(0)}28%{transform:scale(1.08) rotate(-1deg)}to{opacity:0;transform:scale(.02) rotate(5deg)}}@keyframes item-merge-floop{0%,65%{opacity:1}0%{transform:scale(1)}to{opacity:0;transform:scale(.72)}}@keyframes thinking-arrive{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes blank-thinking-pulse{0%,to{border-color:#d9dde4;background:#fff;box-shadow:0 0 #d2d7e000,var(--pill-shadow)}50%{border-color:#c9ced8;background:#f1f3f6;box-shadow:0 0 0 8px #d6dae247,var(--pill-shadow)}}.workspace-controls{position:absolute;z-index:5;display:flex;align-items:center;gap:2px}.workspace-controls.left{left:calc(50% - 30px);bottom:2.2vh;transform:translate(-100%)}.workspace-controls.right{--right-control-offset: clamp(34px, 5vmin, 42px);right:auto;left:calc(50% + var(--right-control-offset));bottom:2.2vh}.workspace-controls.center{left:50%;bottom:16px;z-index:7;transform:translate(-50%)}.workspace-controls.center.dragon-stand{width:clamp(88px,13.5vmin,114px);height:clamp(88px,13.5vmin,114px)}.dragon-stand.dormant{pointer-events:none}.dragon-boundary{position:absolute;left:50%;top:50%;width:clamp(46px,6.2vmin,52px);height:clamp(46px,6.2vmin,52px);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}.dragon-display,.dragon-control-shell{position:relative;display:block;width:100%;height:100%}.dragon-display{pointer-events:none;-webkit-user-select:none;user-select:none}.dragon-control-shell{pointer-events:auto}.text-control,.icon-button,.sidebar-action,.back-button{min-height:36px;border:1px solid var(--panel-border);border-radius:8px;color:var(--text);background:var(--panel-bg);box-shadow:0 5px 16px #171d2914}.text-control,.sidebar-action{display:inline-flex;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:800}.icon-button,.back-button{width:38px;height:38px;display:inline-grid;place-items:center;padding:0}.text-control:hover,.icon-button:hover,.sidebar-action:hover,.back-button:hover{border-color:var(--accent);color:var(--accent)}.icon-button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.icon-button:disabled{cursor:not-allowed;opacity:.42}.icon-button:disabled:hover{border-color:var(--panel-border);color:var(--text)}.artwork-control,.artwork-control:hover,.artwork-control:active{width:clamp(44px,6.7vmin,58px);height:clamp(44px,6.7vmin,58px);min-height:0;padding:0;border:0;border-radius:10px;color:inherit;background:transparent;box-shadow:none}.artwork-control{position:relative;transition:opacity .16s ease,transform .16s ease}.artwork-control:hover{transform:translateY(-2px) scale(1.035)}.artwork-control:active{transform:translateY(1px) scale(.98)}.artwork-control:focus-visible{outline:2px solid color-mix(in srgb,#b9a294 78%,white);outline-offset:3px}.artwork-control:disabled,.artwork-control:disabled:hover{opacity:.42;transform:none}.artwork-glyph{display:block;width:100%;height:100%;background-position:center;background-repeat:no-repeat;background-size:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.discoveries-glyph{background-image:url(/ui/discoveries-bird.png)}.recipes-glyph{background-image:url(/ui/recipes-book.png)}.theme-glyph{width:90%;height:90%;background-image:url(/ui/theme-moon.png)}.clear-glyph{background-image:url(/ui/clear-cat.png)}.app-shell.dark .artwork-glyph,.app-shell.dark .progression-glyph{background-color:var(--artwork-color);background-image:none;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.app-shell.dark .discoveries-glyph{-webkit-mask-image:url(/ui/discoveries-bird.png);mask-image:url(/ui/discoveries-bird.png)}.app-shell.dark .recipes-glyph{-webkit-mask-image:url(/ui/recipes-book.png);mask-image:url(/ui/recipes-book.png)}.app-shell.dark .theme-glyph{-webkit-mask-image:url(/ui/theme-moon.png);mask-image:url(/ui/theme-moon.png)}.app-shell.dark .clear-glyph{-webkit-mask-image:url(/ui/clear-cat.png);mask-image:url(/ui/clear-cat.png)}.black-hole-toggle{width:48px;height:48px;border-radius:14px;border-color:color-mix(in srgb,var(--panel-border) 72%,#8e65df);background:radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--panel-bg) 80%,#eee6ff),var(--panel-bg) 72%);box-shadow:0 8px 22px #1f143824,inset 0 0 0 1px #ffffff70;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.black-hole-toggle:not(:disabled):hover{border-color:#8c62e4;color:inherit;transform:translateY(-2px) scale(1.03);box-shadow:0 11px 28px #3e257136,0 0 0 4px #8559dc14}.black-hole-toggle.active,.black-hole-toggle.active:hover{border-color:#cbaeffc7;color:#fff;background:radial-gradient(circle at 48% 42%,#25153e 0,#0a0611 68%,#000);box-shadow:0 0 0 3px #814ede21,0 0 22px #7646d16b,0 9px 24px #05020a59}.black-hole-toggle.active:disabled{cursor:wait;opacity:1}.progression-control.black-hole-toggle,.progression-control.black-hole-toggle:not(:disabled):hover,.progression-control.black-hole-toggle.active,.progression-control.black-hole-toggle.active:hover{position:relative;overflow:visible;width:clamp(88px,13.5vmin,114px);height:clamp(88px,13.5vmin,114px);min-height:0;border:0;border-radius:0;color:inherit;background:transparent;box-shadow:none}.progression-control:focus-visible{outline:2px solid color-mix(in srgb,#b9a294 78%,white);outline-offset:3px}.progression-glyph{position:absolute;left:50%;bottom:0;display:block;width:100%;height:100%;max-width:none;background:url(/ui/progression-dragon.png) center / contain no-repeat;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 2px rgba(82,57,45,.12));transform:translate(-50%);transform-origin:50% 78%;transition:transform .28s cubic-bezier(.16,1,.3,1),filter .18s ease}.app-shell.dark .dragon-glyph{-webkit-mask-image:url(/ui/progression-dragon.png);mask-image:url(/ui/progression-dragon.png)}.app-shell.dark .text-control,.app-shell.dark .icon-button:not(.artwork-control):not(.progression-control),.app-shell.dark .sidebar-action,.app-shell.dark .back-button{border-color:var(--accent);color:var(--accent)}.progression-control.active .progression-glyph{filter:drop-shadow(0 0 6px rgba(126,86,174,.42));transform:translate(-50%) rotate(-3deg) scale(1.02)}.sidebar{height:100vh;display:grid;grid-template-rows:minmax(0,1fr) auto;border-left:1px solid var(--item-frame-border);background:var(--panel-bg);overflow:hidden}.item-grid{align-content:start;display:flex;flex-wrap:wrap;gap:7px;padding:10px 12px 16px;overflow-y:auto}.sidebar-pill,.modal-pill{min-width:0;min-height:32px;gap:4px;padding:3px 7px;box-shadow:none}.sidebar-pill{cursor:grab;touch-action:pan-y;-webkit-user-drag:none}.app-shell.item-drag-active,.app-shell.item-drag-active button{cursor:grabbing!important}.sidebar-pill[aria-disabled=true]{cursor:not-allowed;opacity:.52}.sidebar-pill[aria-disabled=true]:hover{border-color:var(--item-frame-border);background:var(--item-frame-fill)}.sidebar-pill .emoji,.modal-pill .emoji{font-size:24px}.sidebar-pill strong,.modal-pill strong{font-size:26px}.sidebar-footer{display:grid;gap:10px;padding:12px 14px 14px;border-top:1px solid var(--item-frame-border);background:color-mix(in srgb,var(--panel-bg) 94%,var(--workspace-bg))}.sidebar-actions{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:8px}.sidebar-action{position:relative;isolation:isolate;overflow:hidden;min-width:0;justify-content:center;padding:0 9px;border-color:var(--item-frame-border);color:var(--item-frame-text);background:var(--item-frame-fill);box-shadow:none;font-size:26px;line-height:.95}.sidebar-action svg{flex:0 0 auto}.sidebar-icon{position:relative;isolation:isolate;overflow:hidden;border-color:var(--item-frame-border);color:var(--item-frame-text);background:var(--item-frame-fill);box-shadow:none}.sidebar-action:after,.sidebar-icon:after{content:"";position:absolute;inset:1px;z-index:0;border-radius:7px;pointer-events:none;opacity:0;background:var(--item-frame-selected-fill);transition:opacity var(--motion-selection-fade) cubic-bezier(.22,.75,.25,1)}.sidebar-action>svg,.sidebar-action>span,.sidebar-icon>svg{position:relative;z-index:1}.sidebar-action:hover,.sidebar-icon:hover{border-color:var(--item-frame-border);color:var(--item-frame-text)}.sidebar-action:hover:after,.sidebar-action:active:after,.sidebar-icon:hover:after,.sidebar-icon:active:after{opacity:1}.app-shell.dark .sidebar-action,.app-shell.dark .sidebar-action:hover,.app-shell.dark .sidebar-icon,.app-shell.dark .sidebar-icon:hover,.app-shell.dark .search-bar>svg,.app-shell.dark .modal-search>svg{color:var(--item-frame-text)}.search-bar,.modal-search{min-height:42px;display:flex;align-items:center;gap:8px;border:1px solid var(--item-frame-border);border-radius:8px;color:var(--item-frame-text);background:var(--item-frame-fill);padding:0 11px}.search-bar input,.modal-search input{min-width:0;flex:1;border:0;outline:0;color:var(--item-frame-text);background:transparent;font-size:26px;line-height:.95}.search-bar input::placeholder,.modal-search input::placeholder{color:var(--item-frame-text);opacity:1}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.modal-layer{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:#464c567a;-webkit-backdrop-filter:grayscale(.3);backdrop-filter:grayscale(.3)}.artwork-modal-layer{--modal-artwork-gutter: clamp(72px, 13vh, 104px);place-items:start center;padding-top:var(--modal-artwork-gutter)}.recipe-modal{position:relative;width:min(630px,100%);max-height:min(760px,calc(100vh - 44px));display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;padding:18px;border:1px solid var(--item-frame-border);border-radius:8px;color:var(--text);background:var(--panel-bg);box-shadow:0 24px 70px #0d142147}.artwork-modal-layer .recipe-modal{max-height:min(760px,calc(100vh - var(--modal-artwork-gutter) - 22px))}.recipe-modal.overview-mode{grid-template-rows:auto minmax(0,1fr);padding-top:52px}.recipe-modal.detail-mode{grid-template-rows:auto minmax(0,1fr)}.modal-title-artwork{position:absolute;top:8px;left:50%;z-index:2;display:block;width:min(58%,500px);pointer-events:none;-webkit-user-select:none;user-select:none;transform:translate(-50%,-72%)}.modal-title-image{display:block;width:100%;height:auto}.modal-title-image.dark,.app-shell.dark .modal-title-image.regular{display:none}.app-shell.dark .modal-title-image.dark{display:block}.modal-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.modal-header.detail{grid-template-columns:auto minmax(0,1fr) auto}.recipe-detail-title{min-width:0;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.recipe-detail-title>span:last-child,.recipe-detail-count{color:var(--item-frame-text);font-size:28px;line-height:.95;font-kerning:normal;letter-spacing:.07em;-webkit-text-stroke:.6px currentColor;paint-order:stroke fill}.recipe-detail-title>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.recipe-detail-count{flex:0 0 auto;justify-self:end;font-weight:700;white-space:nowrap}.modal-header h2{margin:0;overflow-wrap:anywhere;font-size:24px;line-height:1.1}.modal-header p{margin:6px 0 0;color:var(--muted);font-size:13px;font-weight:800}.modal-grid{display:flex;flex-wrap:wrap;align-content:start;gap:7px;min-height:260px;overflow-y:auto;padding:2px 2px 8px}.recipe-list{display:grid;gap:10px;overflow-y:auto;padding-right:4px}.recipe-row{min-height:54px;display:grid;gap:7px;padding:10px;border:1px solid var(--panel-border);border-radius:8px;background:color-mix(in srgb,var(--workspace-bg) 55%,var(--panel-bg))}.recipe-pair{min-width:0;display:flex;align-items:center;gap:10px}.recipe-token{max-width:calc(50% - 20px);box-shadow:none}.plus{flex:0 0 auto;color:var(--item-frame-text);font-size:28px;line-height:.95;font-weight:900;letter-spacing:.07em;-webkit-text-stroke:.6px currentColor;paint-order:stroke fill}.recipe-explanation{margin:0;color:var(--muted);font-size:12px;line-height:1.35}.empty-state{width:100%;min-height:190px;display:grid;place-items:center;color:var(--muted);border:1px dashed var(--panel-border);border-radius:8px;font-weight:800}@media(max-width:920px){body{overflow:hidden}.app-shell{min-height:0;height:100vh;height:100dvh;grid-template-columns:1fr;grid-template-rows:62fr 38fr}.sidebar{height:auto;min-height:0;border-left:0;border-top:1px solid var(--panel-border)}.brand-lockup{top:10px;left:50%;width:clamp(104px,15.35vmin,132px)}}@media(max-width:640px){.loading-overlay{padding:20px}.loading-logo-stage{width:min(86vw,68vh)}.loading-error{margin-top:2px;padding:15px 18px}.workspace-controls.left,.workspace-controls.right,.workspace-controls.center{bottom:16px}.workspace-controls.left{left:calc(50% - 28px)}.workspace-controls.left{gap:2px}.text-control{padding:0 9px}.sidebar-actions{grid-template-columns:minmax(0,1fr) 38px}.recipe-pair{align-items:stretch;flex-direction:column}.recipe-token{max-width:100%}.plus{padding-left:8px}}@media(max-height:520px){.loading-overlay.failed{place-items:start center;overflow-y:auto}.loading-overlay.failed .loading-logo-stage{width:min(42vh,60vw);margin-block:auto;padding-block:12px}.loading-overlay.failed .loading-error{margin-top:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-delay:0ms!important;transition-duration:1ms!important}}@media(forced-colors:active){.item-pill:after,.workspace-item-scene:before,.discovery-rays-shell{display:none}}
