:root{--plum-950:#1a0e2e;--plum-900:#2a1a4a;--plum-800:#3d2666;--plum-700:#4f3380;--plum-600:#6849a8;--plum-500:#8866c4;--plum-300:#c4b0e0;--plum-100:#ece3f5;--plum-50:#f7f3fb;--citron-700:#b8920a;--citron-600:#d4a90e;--citron-500:#f0c419;--citron-400:#f5d04a;--citron-300:#f9dc7a;--citron-100:#fdf2cc;--leaf-800:#1f4d2c;--leaf-700:#2d6b3f;--leaf-600:#3d8c54;--leaf-500:#5aa872;--leaf-300:#a8d0b4;--leaf-100:#e0f0e5;--ink:#1a1416;--ink-2:#3d3338;--ink-3:#6b5f64;--ink-4:#a39ba0;--paper:#fdfbf6;--paper-2:#f5f0e6;--paper-3:#ebe5d8;--line:#d8cfc0;--line-strong:#1a1416;--bg:var(--paper);--surface:#fff;--surface-warm:var(--paper-2);--brand:var(--plum-800);--brand-fg:#fff;--brand-tint:var(--plum-100);--accent:var(--citron-500);--accent-tint:var(--citron-100);--accent-ink:var(--plum-900);--positive:var(--leaf-600);--danger:#c4452f;--font-display:"Fraunces", "Domaine Display", Georgia, serif;--font-ui:"Geist", "Inter", -apple-system, system-ui, sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", ui-monospace, monospace;--font-script:"Caveat", cursive;--t-display-xl:600 64px/1.02 var(--font-display);--t-display-l:600 48px/1.05 var(--font-display);--t-display-m:600 32px/1.1 var(--font-display);--t-display-s:600 24px/1.15 var(--font-display);--t-h1:600 28px/1.2 var(--font-ui);--t-h2:600 22px/1.25 var(--font-ui);--t-h3:600 17px/1.3 var(--font-ui);--t-body-l:400 18px/1.5 var(--font-ui);--t-body:400 15px/1.5 var(--font-ui);--t-body-s:400 13px/1.45 var(--font-ui);--t-label:500 12px/1.2 var(--font-ui);--t-tag:500 11px/1 var(--font-ui);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--r:0px;--r-pill:999px;--shadow-1:0 1px 0 #1a14160a, 0 2px 8px #1a14160f;--shadow-2:0 2px 0 #1a14160f, 0 6px 18px #1a141614;--shadow-3:0 3px 0 #1a141614, 0 18px 40px #1a141624;--shadow-pop:0 0 0 2px var(--ink), 4px 4px 0 var(--ink);--shadow-pop-accent:0 0 0 2px var(--ink), 4px 4px 0 var(--accent);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-elegant:cubic-bezier(.22, 1, .36, 1);--ease-quick:cubic-bezier(.4, 0, .2, 1);--dur-1:.12s;--dur-2:.22s;--dur-3:.38s;--dur-4:.6s;--p-headline-font:var(--font-display);--p-bounce:var(--ease-bounce);--p-rotation:-1deg;--p-accent:var(--accent)}[data-mood=common]{--p-rotation:-1deg;--p-accent:var(--accent);--p-bounce:var(--ease-bounce)}[data-mood=fun]{--p-rotation:-2.5deg;--p-accent:var(--citron-500);--p-bounce:cubic-bezier(.34, 1.8, .64, 1)}[data-mood=respectful]{--p-rotation:0deg;--p-accent:var(--plum-700);--p-bounce:var(--ease-elegant)}[data-mood=celebratory]{--p-rotation:-1.5deg;--p-accent:var(--leaf-600);--p-bounce:var(--ease-bounce)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font:var(--t-body);-webkit-font-smoothing:antialiased;margin:0;padding:0}.chip{border:1.5px solid var(--ink);background:var(--surface);font:var(--t-body-s);color:var(--ink);border-radius:var(--r-pill);cursor:pointer;transition:transform var(--dur-2) var(--p-bounce), box-shadow var(--dur-2) var(--ease-quick), background var(--dur-1) var(--ease-quick);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:7px 14px;font-weight:500;display:inline-flex}.chip:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(-1px,-1px)}.chip:active{box-shadow:none;transform:translate(1px,1px)}.chip[data-selected=true]{background:var(--ink);color:var(--paper)}.chip--accent{background:var(--p-accent);border-color:var(--ink);color:var(--ink)}.chip--accent:hover{box-shadow:2px 2px 0 var(--ink)}.chip--ghost{color:var(--ink-3);border-style:dashed;border-color:var(--ink-3);background:0 0}.chip--lg{font:var(--t-body);padding:10px 18px;font-weight:500}.chip__dot{background:var(--p-accent);width:8px;height:8px;display:inline-block}.card{background:var(--surface);border:1.5px solid var(--ink);padding:var(--s-5);box-shadow:var(--shadow-pop);transition:transform var(--dur-3) var(--p-bounce), box-shadow var(--dur-2) var(--ease-quick)}.card:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.card--flat{box-shadow:var(--shadow-1)}.card--accent{box-shadow:var(--shadow-pop-accent)}.card--surface{background:var(--surface-warm)}.card--brand{background:var(--brand);color:var(--brand-fg);border-color:var(--ink)}.picker{background:var(--surface);border:1.5px solid var(--ink);cursor:pointer;transition:transform var(--dur-3) var(--p-bounce), box-shadow var(--dur-2) var(--ease-quick);box-shadow:2px 2px 0 var(--ink);position:relative;overflow:hidden}.picker:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}.picker[data-selected=true]{box-shadow:4px 4px 0 var(--p-accent), 4px 4px 0 1.5px var(--ink)}.picker[data-selected=true]:after{content:"✓";background:var(--p-accent);width:26px;height:26px;color:var(--ink);border:1.5px solid var(--ink);justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;top:8px;right:8px}.picker__media{aspect-ratio:4/3;background:var(--paper-3);border-bottom:1.5px solid var(--ink)}.picker__body{padding:10px 12px}.picker__title{font:var(--t-h3)}.picker__sub{font:var(--t-body-s);color:var(--ink-3);margin-top:2px}.btn{font:var(--t-body);border:1.5px solid var(--ink);background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:3px 3px 0 var(--ink);transition:transform var(--dur-2) var(--p-bounce), box-shadow var(--dur-2) var(--ease-quick);align-items:center;gap:8px;padding:12px 20px;font-weight:600;display:inline-flex}.btn:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.btn--primary{background:var(--brand);color:var(--brand-fg)}.btn--accent{background:var(--p-accent);color:var(--ink)}.btn--ghost{box-shadow:none;background:0 0}.btn--ghost:hover{box-shadow:none;background:var(--paper-3)}.composer{background:var(--surface);border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:14px 14px 4px;align-items:center;gap:12px;padding:14px 18px;display:flex}.composer__input{font:var(--t-body-l);color:var(--ink);background:0 0;border:none;outline:none;flex:1}.composer__input::placeholder{color:var(--ink-4)}.composer__send{background:var(--brand);width:34px;height:34px;color:var(--brand-fg);cursor:pointer;transition:transform var(--dur-2) var(--p-bounce), opacity .15s;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.composer__send:hover:not(:disabled){transform:scale(1.1)}.composer__send:disabled{opacity:.35;cursor:default}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);background:var(--ink);color:var(--paper);font:500 11px/1.5 var(--font-ui);white-space:nowrap;pointer-events:none;opacity:0;z-index:200;border-radius:4px;padding:3px 8px;transition:opacity .12s .5s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}[data-tip]:hover:after{opacity:1}.decisions{background:var(--paper-2);border-bottom:1.5px solid var(--ink);align-items:center;gap:8px;padding:10px 16px;display:flex;overflow-x:auto}.decisions__label{font:var(--t-tag);text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-3);white-space:nowrap}.sticker{background:var(--surface);border:1.5px solid var(--ink);width:64px;box-shadow:2px 2px 0 var(--ink);text-align:center;transition:transform var(--dur-3) var(--p-bounce);padding:8px 4px;position:relative}.sticker:nth-child(odd){transform:rotate(-2deg)}.sticker:nth-child(2n){transform:rotate(2deg)}.sticker:hover{transform:rotate(0)scale(1.06)}.sticker__icon{font:var(--t-h2);font-family:var(--font-display);line-height:1;display:block}.sticker__label{font:var(--t-tag);color:var(--ink-3);margin-top:4px;display:block}.sticker--needs-info{background:var(--paper);border-style:dashed}.sticker--needs-info:after{content:"?";background:var(--accent);width:18px;height:18px;color:var(--ink);border:1.5px solid var(--ink);font:700 11px/16px var(--font-ui);border-radius:50%;justify-content:center;align-items:center;animation:2s ease-in-out infinite sticker-nudge;display:flex;position:absolute;top:-7px;right:-7px}@keyframes sticker-nudge{0%,90%,to{transform:scale(1)}95%{transform:scale(1.18)}}.sticker--needs-info .sticker__icon{opacity:.7}.sticker--accent{background:var(--accent);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.sticker--accent .sticker__label{color:var(--ink-2)}.sticker--pending{background:var(--paper-2);opacity:.55;box-shadow:1px 1px 0 var(--ink);border-style:dotted}.sticker--pending .sticker__icon{color:var(--ink-3)}.modal-scrim{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in var(--dur-2) var(--ease-quick);z-index:100;background:#1a0e2e8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--ink);width:min(720px,92vw);max-height:88vh;animation:pop-in var(--dur-3) var(--p-bounce);flex-direction:column;display:flex}.modal__head{border-bottom:1.5px solid var(--ink);align-items:center;gap:12px;padding:16px 20px;display:flex}.modal__title{font:var(--t-h2);flex:1}.modal__close{border:1.5px solid var(--ink);background:var(--surface);cursor:pointer;width:32px;height:32px}.modal__body{padding:20px;overflow:auto}.modal__carousel-wrap{position:relative}.modal__carousel-wrap:after{content:"";background:linear-gradient(to right, transparent, var(--surface));pointer-events:none;width:60px;position:absolute;top:0;bottom:8px;right:0}.modal__carousel{scroll-snap-type:x mandatory;gap:16px;padding:8px 4px 12px;display:flex;overflow-x:auto}.modal__carousel>*{scroll-snap-align:start;flex-shrink:0}.modal__carousel-hint{font:var(--t-label);color:var(--ink-3);text-transform:uppercase;letter-spacing:1.2px;justify-content:space-between;align-items:center;padding:0 4px 8px;display:flex}.modal__carousel-arrows{gap:6px;display:flex}.modal__carousel-arrows button{border:1.5px solid var(--ink);background:var(--surface);cursor:pointer;width:28px;height:28px;font:var(--t-body);transition:transform var(--dur-2) var(--p-bounce);justify-content:center;align-items:center;display:flex}.modal__carousel-arrows button:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(-1px,-1px)}.bubble{align-items:flex-start;gap:12px;display:flex}.bubble__avatar{width:32px;height:32px;color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.bubble__avatar svg{display:block}.bubble__avatar .pulse-core,.pulse-mark .pulse-core{transform-origin:50%;transform-box:fill-box;animation:2.4s ease-in-out infinite bot-pulse}@keyframes bot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.bubble__body{font:var(--t-body-l);color:var(--ink);flex:1}.bubble--bot .bubble__body{color:var(--brand);font-weight:700}.bubble--user{justify-content:flex-end}.bubble--user .bubble__body{background:var(--paper-2);border:1.5px solid var(--ink);flex:0 auto;max-width:70%;padding:10px 14px}.progress{height:22px;position:relative}.progress svg{width:100%;height:100%;display:block;overflow:visible}.progress__track{fill:none;stroke:var(--paper-3);stroke-width:3px;stroke-linecap:round}.progress__fill{fill:none;stroke:var(--brand);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset var(--dur-4) var(--ease-elegant)}.swatch__remove,.swatch__replace{border:1.5px solid var(--ink);background:var(--surface);cursor:pointer;width:28px;height:28px;font:600 14px/1 var(--font-ui);color:var(--ink);opacity:0;transition:opacity var(--dur-2) var(--ease-quick), transform var(--dur-2) var(--p-bounce);box-shadow:2px 2px 0 var(--ink);justify-content:center;align-items:center;display:flex;position:absolute;top:8px}.swatch__remove{right:8px}.swatch__replace{right:44px}.swatch:hover .swatch__remove,.swatch:hover .swatch__replace{opacity:1}.swatch__remove:hover,.swatch__replace:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.85)translateY(20px)}60%{opacity:1;transform:scale(1.02)translateY(-2px)}to{transform:scale(1)translateY(0)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.wiggle:hover{animation:wiggle .4s var(--p-bounce)}@keyframes confetti-rise{0%{opacity:0;transform:translateY(20px)rotate(0)}20%{opacity:1}to{opacity:0;transform:translateY(-160px)rotate(360deg)}}.typing{align-items:center;gap:4px;padding:4px 0;display:inline-flex}.typing span{background:var(--brand);opacity:.35;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing-pulse}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes typing-pulse{0%,60%,to{opacity:.25;transform:scale(.85)}30%{opacity:1;transform:scale(1.1)}}.working{background:var(--paper-2);border:1.5px dashed var(--brand);font:var(--t-body-s);color:var(--brand);align-items:center;gap:10px;padding:8px 14px;font-style:italic;display:inline-flex;position:relative;overflow:hidden}.working:before{content:"";background:linear-gradient(90deg, transparent, var(--plum-100), transparent);opacity:.6;animation:2.4s linear infinite working-shimmer;position:absolute;inset:0}.working>*{z-index:1;position:relative}@keyframes working-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.working__spinner{border:1.5px solid var(--brand);border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:1s linear infinite working-spin}@keyframes working-spin{to{transform:rotate(360deg)}}.bubble__avatar[data-thinking=true] .pulse-core{animation:1s ease-in-out infinite bot-thinking}@keyframes bot-thinking{0%,to{transform:scale(1)}50%{transform:scale(.55)}}.bubble__avatar[data-thinking=true] svg{animation:4s linear infinite bot-ring-spin}@keyframes bot-ring-spin{to{transform:rotate(360deg)}}.sticker--inferred{background:var(--surface);position:relative}.sticker--inferred .sticker__icon{opacity:.85;font-style:italic}.sticker--inferred .sticker__label{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3);text-underline-offset:2px}.sticker--inferred:after{content:"~";background:var(--surface);width:18px;height:18px;color:var(--ink-3);border:1.5px solid var(--ink-3);font:700 12px/14px var(--font-display);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-8px;left:-8px}.trace{font:var(--t-body-s);color:var(--ink-3);align-items:center;gap:6px;margin:2px 0 0 44px;font-style:italic;display:flex}.trace:before{content:"↳";color:var(--brand);font-style:normal;font-weight:700}@keyframes task-spin{to{transform:rotate(360deg)}}@media (width<=768px){.sticker-rail-desktop{display:none!important}.event-flow-content{width:100%!important}.composer{margin:0 12px 16px!important}.dashboard-pills{flex-wrap:wrap}.hero-question{text-align:center;font-size:22px!important}.screen-topbar-title{display:none}.rail-toggle{display:flex!important}}@media (width>=769px){.rail-toggle{display:none!important}.sticker-rail-desktop{display:contents!important}}
