.rose-page{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;padding:32px 20px 48px;background:radial-gradient(120% 80% at 50% 0%,#fbf3ee 0%,var(--bg-app) 55%);overflow-x:hidden}.rose-page--bare{justify-content:center;padding:24px 20px}.rose-page__header{text-align:center;max-width:440px;margin-bottom:20px}.rose-page__title{font-family:var(--font-serif);font-weight:400;font-size:clamp(26px,7vw,38px);letter-spacing:-.02em;line-height:1.1;color:var(--text-primary)}.rose-page__sub{margin-top:8px;font-size:14px;color:var(--text-secondary)}.rose-switcher{display:inline-flex;gap:2px;padding:4px;background:#0000000a;border-radius:999px;margin-bottom:10px}.rose-switcher__btn{padding:8px 18px;border-radius:999px;font-size:13px;font-weight:600;color:var(--text-secondary);transition:background .18s,color .18s,box-shadow .18s}.rose-switcher__btn--active{background:#fff;color:var(--text-primary);box-shadow:0 1px 4px #28241c1f}.rose-stage{width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;margin-top:8px;touch-action:none}.rose-svg{width:100%;height:auto;display:block;overflow:visible;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.rose-disc{filter:drop-shadow(0 8px 24px rgba(40,36,28,.08))}.rose-puck-body{transform-box:fill-box;transform-origin:center;transition:transform .1s cubic-bezier(.34,1.56,.64,1)}.rose-puck-body--active{transform:scale(1.22)}.rose-puck{filter:drop-shadow(0 4px 10px rgba(40,36,28,.28));cursor:grab}.rose-svg:active .rose-puck{cursor:grabbing}.rose-label{font-family:var(--font-sans);font-size:14px;letter-spacing:-.01em}.rose-pct{font-family:var(--font-sans);font-size:12px;font-weight:700;opacity:.85}.rose-readout{margin-top:14px;text-align:center;display:flex;flex-direction:column;gap:4px;min-height:52px}.rose-readout__kicker{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.rose-readout__text{font-family:var(--font-serif);font-size:clamp(20px,5.5vw,26px);letter-spacing:-.01em;transition:color .2s}.demo-nav{position:fixed;left:14px;bottom:14px;z-index:500;display:inline-flex;gap:2px;padding:4px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:999px;box-shadow:0 4px 16px #28241c1a}.demo-nav__btn{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;color:var(--text-secondary)}.demo-nav__btn--active{background:var(--text-primary);color:#fff}.agent-app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;font-family:var(--font-sans);background:radial-gradient(120% 90% at 50% 0%,#fbf3ee,#f0eee6 60%);user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none}.faux{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;opacity:.9}.faux__body{flex:1;padding:24px 20px;display:flex;flex-direction:column;gap:16px}.faux__row{display:flex}.faux__row--out{justify-content:flex-end}.faux__row span{display:block;height:30px;border-radius:14px;background:#e6e3da}.faux__row--out span{background:#e7d8cb}.menu-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;opacity:0;transition:opacity .13s ease;pointer-events:none}.menu-layer.is-open{opacity:1}.menu-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#f4f0e88c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.marc{position:absolute;z-index:25;display:flex;flex-direction:column;align-items:center;gap:6px;transform:translate(-50%,-50%) scale(.7);opacity:0;transition:transform .16s cubic-bezier(.34,1.5,.64,1),opacity .13s ease}.menu-layer.is-open .marc{transform:translate(-50%,-50%) scale(1);opacity:1}.menu-layer.is-open .marc--sel{transform:translate(-50%,-50%) scale(1.26);z-index:26}.marc__avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid #fff;box-shadow:0 6px 16px #28241c2e;transition:box-shadow .15s ease}.marc--sel .marc__avatar{box-shadow:0 10px 26px #28241c47,0 0 0 5px color-mix(in srgb,var(--c) 28%,transparent)}.marc__label{position:absolute;left:50%;bottom:calc(100% + 8px);display:flex;flex-direction:column;align-items:center;line-height:1.15;white-space:nowrap;opacity:0;transform:translate(-50%) translateY(4px);transition:opacity .12s ease,transform .12s ease;pointer-events:none}.marc__label b{font-size:13px;font-weight:600;color:#29261f}.marc__label em{font-size:11px;font-style:normal;color:#908c83}.marc--sel .marc__label{opacity:1;transform:translate(-50%) translateY(0)}.composer{position:absolute;left:104px;right:20px;bottom:34px;z-index:15;height:48px;display:flex;align-items:center;gap:8px;padding:0 8px 0 16px;background:#fff;border:1px solid #e3e1d9;border-radius:14px;box-shadow:0 6px 20px #28241c14}.composer__input{flex:1;min-width:0;border:none;outline:none;background:none;font-family:inherit;font-size:15px;color:var(--text-primary)}.composer__input::placeholder{color:#a6a299}.composer__send{flex:none;width:34px;height:34px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease}.agent-dock{position:absolute;left:26px;bottom:26px;z-index:40;display:flex;flex-direction:column;align-items:center;gap:6px}.agent-dock__avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid #fff;box-shadow:0 8px 22px #28241c42;cursor:pointer;touch-action:none;transition:transform .14s ease,opacity .14s ease}.agent-dock__avatar:active{transform:scale(.95)}.agent-dock__avatar.is-open{transform:scale(.88);opacity:.55}.agent-dock__avatar.is-pop{animation:dockPop .44s cubic-bezier(.34,1.56,.64,1)}@keyframes dockPop{0%{transform:scale(.5)}60%{transform:scale(1.12)}to{transform:scale(1)}}.agent-dock__name{font-size:13px;font-weight:600;color:#29261f;background:#ffffffd9;padding:2px 10px;border-radius:6px}.dc-app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;font-family:var(--font-sans);background:radial-gradient(120% 90% at 50% 0%,#fbf3ee,#f0eee6 60%);-webkit-tap-highlight-color:transparent}.dc-card{position:relative;width:min(480px,100%);height:min(760px,90vh);display:flex;flex-direction:column;overflow:hidden;background:var(--bg-panel);border:1px solid var(--border);border-radius:26px;box-shadow:0 24px 70px #28241c2e,0 4px 14px #28241c0f}.dc-top{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-light);background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3}.dc-dock{position:relative;width:46px;height:46px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;border:2.5px solid #fff;box-shadow:0 6px 16px #28241c33;animation:dockSwap .5s cubic-bezier(.34,1.56,.64,1)}.dc-dock__ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--c);opacity:0;animation:dockRing .7s ease-out}@keyframes dockSwap{0%{transform:scale(.4) rotate(-30deg);opacity:0}60%{transform:scale(1.12) rotate(4deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes dockRing{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.5);opacity:0}}.dc-top__meta{flex:1;min-width:0}.dc-top__name{font-family:var(--font-serif);font-size:19px;line-height:1.1;color:var(--text-primary)}.dc-top__role{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-top:2px}.dc-status{width:7px;height:7px;border-radius:50%;animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.dc-replay{flex:none;width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .15s,color .15s}.dc-replay:hover{background:var(--bg-hover);color:var(--text-primary)}.dc-stream{flex:1;overflow-y:auto;padding:20px 16px 8px;display:flex;flex-direction:column;gap:10px}.dc-row{display:flex;gap:8px;align-items:flex-end}.dc-row--user{justify-content:flex-end}.dc-row--agent{justify-content:flex-start}.dc-row__avatar{width:28px;flex:none;align-self:flex-end}.dc-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #28241c29}.dc-bubble{max-width:78%;padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.45;animation:bubbleIn .32s cubic-bezier(.22,1,.36,1)}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dc-bubble--user{background:var(--accent);color:#fff;border-bottom-right-radius:6px}.dc-caret{display:inline-block;width:2px;height:1em;margin-left:1.5px;background:currentColor;vertical-align:-2px;animation:caretBlink 1s steps(1) infinite}@keyframes caretBlink{0%,50%{opacity:1}50.01%,to{opacity:0}}.dc-bubble--agent{background:var(--bg-cream);color:var(--text-primary);border:1px solid var(--border-light);border-bottom-left-radius:6px}.dc-bubble--agent em{font-style:italic;color:var(--c)}.dc-bubble__who{font-size:11px;font-weight:600;color:var(--c);margin-bottom:3px}.dc-bubble--typing{display:inline-flex;gap:4px;padding:13px 14px}.dc-bubble--typing span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:typing 1.2s infinite ease-in-out}.dc-bubble--typing span:nth-child(2){animation-delay:.15s}.dc-bubble--typing span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}.dc-handoff{align-self:center;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;max-width:90%;margin:6px 0;padding:6px 12px 6px 8px;background:#ffffffb3;border:1px solid var(--border-light);border-radius:999px;font-size:11.5px;color:var(--text-secondary);animation:bubbleIn .32s ease}.dc-handoff__avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #28241c2e}.dc-handoff__arrow{color:var(--text-muted);flex:none}.dc-handoff__note{font-weight:500}.dial{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .18s ease;pointer-events:none}.dial.is-shown{opacity:1}.dial.is-out{opacity:0}.dial__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#f7f3eda8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dial__pivot{position:relative;width:0;height:0;transform:translateY(38px);transition:transform .26s cubic-bezier(.4,0,.2,1)}.dial.is-out .dial__pivot{transform:translateY(-150px) scale(.55)}.dial__apex{position:absolute;left:0;top:-104px;width:64px;height:64px;margin:-32px;border-radius:50%;border:2px dashed rgba(40,36,28,.18)}.dial__slot{position:absolute;left:0;top:0;margin:-23px;display:flex;flex-direction:column;align-items:center;gap:5px;transition:transform .5s cubic-bezier(.32,1.32,.5,1)}.dial__avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 6px 16px #28241c33;transform:scale(.82);opacity:.65;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s,box-shadow .3s}.dial__name{font-size:11px;font-weight:600;color:var(--text-primary);opacity:0;transform:translateY(3px);transition:opacity .25s ease,transform .25s ease}.dial__slot.is-landed .dial__avatar{transform:scale(1.16);opacity:1;box-shadow:0 12px 28px #28241c47,0 0 0 5px color-mix(in srgb,var(--c) 30%,transparent)}.dial__slot.is-landed .dial__name{opacity:1;transform:translateY(0)}.dc-composer{display:flex;align-items:flex-end;gap:8px;padding:12px 14px;border-top:1px solid var(--border-light);background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dc-composer__field{flex:1;min-width:0;padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:var(--bg-panel);font-size:14px;line-height:1.4;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .2s ease}.dc-composer__field[data-typing=true]{white-space:pre-wrap;overflow:visible;text-overflow:clip;color:var(--text-primary);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.dc-composer__send{flex:none;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:default;opacity:.55;transform:scale(.9);transition:background .3s ease,opacity .25s ease,transform .25s ease}.dc-composer__send.is-armed{opacity:1;transform:scale(1)}@media(prefers-reduced-motion:reduce){.dc-bubble,.dc-handoff,.dc-dock,.dial__slot,.dial__avatar,.dial__name{animation:none;transition:none}}.gen3-app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:22px;font-family:var(--font-sans);background:radial-gradient(120% 90% at 50% 0%,#fbf3ee,#f0eee6 60%);-webkit-tap-highlight-color:transparent}.gen3-row{display:flex;gap:16px;align-items:stretch;justify-content:center;width:100%;max-width:1320px}.gen3-col{flex:1;min-width:0;max-width:424px;display:flex;flex-direction:column;gap:9px}.gen3-col__label{align-self:center;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:#ffffffb3;border:1px solid var(--border-light);padding:4px 12px;border-radius:999px}.gen3-app .dc-card{width:100%;height:min(660px,80vh);border-radius:22px}.gen3-replay{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid var(--border);border-radius:999px;background:#ffffffd9;font-size:13px;font-weight:500;color:var(--text-secondary);box-shadow:0 2px 10px #28241c14;transition:background .15s,color .15s}.gen3-replay:hover{background:#fff;color:var(--text-primary)}.play-app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto;font-family:var(--font-sans);background:radial-gradient(120% 90% at 50% 0%,#fbf3ee,#f0eee6 60%);-webkit-tap-highlight-color:transparent}.play-panel{width:100%;max-width:460px;display:flex;flex-direction:column;gap:12px;margin:auto}.play-head{text-align:center}.play-head__title{font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.play-head__sub{font-size:13px;color:var(--text-secondary);margin-top:3px;line-height:1.4}.play-tabs{display:flex;gap:8px}.play-tab{flex:1;padding:10px 8px;border:1px solid var(--border);border-radius:999px;background:#ffffffb3;font-size:13px;font-weight:600;text-transform:capitalize;color:var(--text-secondary);transition:background .15s,color .15s,border-color .15s}.play-tab.is-active{background:var(--accent);color:#fff;border-color:transparent}.play-app .dc-card{width:100%;height:min(620px,70vh)}.play-replay{align-self:center;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid var(--border);border-radius:999px;background:#ffffffd9;font-size:13px;font-weight:500;color:var(--text-secondary);box-shadow:0 2px 10px #28241c14;transition:background .15s,color .15s}.play-replay:hover{background:#fff;color:var(--text-primary)}.gp{max-width:86%;min-width:240px;background:var(--bg-cream);border:1px solid var(--border-light);border-radius:18px 18px 18px 6px;padding:12px 14px 4px;animation:bubbleIn .32s cubic-bezier(.22,1,.36,1)}.gp-brain{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-size:11px;font-weight:500;letter-spacing:.01em;color:var(--text-muted)}.gp-brain__pulse{width:7px;height:7px;border-radius:50%;background:var(--c, var(--accent));background:color-mix(in srgb,var(--text-secondary) 60%,transparent);flex:none;animation:gpPulse 1.3s ease-in-out infinite}@keyframes gpPulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.25);opacity:1}}.gp-brain__txt{display:inline-block;animation:gpHint .3s ease}@keyframes gpHint{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.gp-blocks{display:flex;flex-direction:column}.gp-block{position:relative;overflow:hidden;height:0;transition:height .44s cubic-bezier(.4,0,.2,1)}.gp-layer{position:absolute;left:0;right:0;top:0;opacity:0;transform:translateY(3px);transition:opacity .3s ease,transform .3s ease}.gp-layer.is-on{opacity:1;transform:none}.gp-block.is-exit .gp-layer{opacity:0}.gp-pad{padding-bottom:12px}.sk{position:relative;border-radius:7px;background:#e7e3da;overflow:hidden}.sk:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 1.25s ease-in-out infinite}@keyframes shimmer{to{transform:translate(100%)}}.sk--title{height:22px;border-radius:8px}.sk--val{height:22px;width:60%;margin-bottom:7px}.sk--lab{height:11px;width:80%}.sk--note{height:13px;width:64%}.gp-title{font-family:var(--font-sans);font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--text-primary)}.gp-title.is-muted{color:var(--text-secondary)}.gp-stats{display:flex;gap:10px}.gp-stat{flex:1;background:var(--bg-panel);border:1px solid var(--border-light);border-radius:12px;padding:10px 12px}.gp-stat__val{font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary);white-space:nowrap}.gp-stat__lab{font-size:11px;color:var(--text-secondary);margin-top:2px;white-space:nowrap}.gp-chart{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:12px;padding:12px}.gp-chart__bars{display:flex;align-items:flex-end;gap:7px;height:84px}.gp-chart__bars>span{flex:1;border-radius:5px 5px 3px 3px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#e7a98f));transition:height .5s cubic-bezier(.34,1.4,.64,1)}.gp-chart--skel .gp-chart__bars>span{background:#e7e3da;animation:none}.gp-chart__labels{display:flex;gap:7px;margin-top:6px}.gp-chart__labels>span{flex:1;text-align:center;font-size:10px;color:var(--text-muted)}.gp-note{font-size:12.5px;color:var(--text-secondary)}.gp-chips{display:flex;flex-wrap:wrap;gap:8px}.gp-chip{padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg-panel);font-size:13px;font-weight:500;color:var(--text-primary);cursor:default;animation:chipIn .34s cubic-bezier(.34,1.56,.64,1) backwards}.gp-chip:nth-child(2){animation-delay:.05s}.gp-chip:nth-child(3){animation-delay:.1s}@keyframes chipIn{0%{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.gp-error{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:22px 18px;background:#fbf2ec;border:1px solid #eed3c3;border-radius:14px}.gp-error__icon{flex:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f3d8c8;color:#bb552f}.gp-error__icon svg{width:20px;height:20px}.gp-error__text{display:flex;flex-direction:column;gap:3px}.gp-error__title{font-size:14px;font-weight:600;color:#8f3f20}.gp-error__sub{font-size:12.5px;color:#a8714f;line-height:1.45}@media(prefers-reduced-motion:reduce){.gp-block,.gp-layer,.gp-chart__bars>span{transition:none}.sk:after,.gp-brain__pulse,.gp-chip{animation:none}}:root{--bg-app: #f0eee6;--bg-panel: #ffffff;--bg-cream: #faf9f5;--bg-hover: #f0efe9;--bg-selected: #ebe9e1;--bg-sidebar: #f5f4ef;--border: #e3e1d9;--border-light: #edece5;--text-primary: #29261f;--text-secondary: #6c6a60;--text-muted: #a6a299;--accent: #c96442;--shadow-modal: 0 12px 48px rgba(40, 36, 28, .16), 0 2px 8px rgba(40, 36, 28, .06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--font-serif: "Instrument Serif", Georgia, serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:13px;letter-spacing:-.005em;color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.side-toggle{position:fixed;top:14px;left:14px;z-index:1200;width:36px;height:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:9px;box-shadow:0 2px 10px #28241c14;cursor:pointer;transition:background .15s ease,opacity .2s ease}.side-toggle span{display:block;width:16px;height:2px;border-radius:2px;background:var(--text-secondary);transition:transform .2s ease,opacity .2s ease}.side-toggle--open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.side-toggle--open span:nth-child(2){opacity:0}.side-toggle--open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.side-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#28241c1f;animation:sideFade .18s ease}@keyframes sideFade{0%{opacity:0}to{opacity:1}}.side-nav{position:fixed;top:0;left:0;bottom:0;z-index:1150;width:232px;padding:60px 12px 16px;background:var(--bg-sidebar);border-right:1px solid var(--border);box-shadow:4px 0 24px #28241c14;transform:translate(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:2px}.side-nav--open{transform:translate(0)}.side-nav__title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:4px 10px 8px}.side-nav__item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-secondary);transition:background .12s ease,color .12s ease}.side-nav__item:hover{background:var(--bg-hover);color:var(--text-primary)}.side-nav__item--active{background:var(--bg-selected);color:var(--text-primary);font-weight:600}.side-nav__emoji{font-size:16px;width:20px;text-align:center}
