.nv-fab{position:fixed;right:20px;bottom:20px;z-index:60;width:56px;height:56px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(120% 120% at 50% 0%,#2b6af3,#7aa2ff);box-shadow:0 8px 30px #11182726;border:none;cursor:pointer;transform:translateZ(0);transition:transform .15s ease}.nv-fab:hover{transform:scale(1.03)}.nv-fab-dot{width:10px;height:10px;background:#fff;border-radius:9999px}.nv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061766;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:70;display:flex;align-items:flex-end;justify-content:flex-end}.nv-panel{width:420px;max-width:calc(100vw - 24px);margin:0 16px 16px 0;border-radius:16px;overflow:hidden;background:#111827e6;color:#e5e7eb;box-shadow:0 12px 40px #00000059;display:flex;flex-direction:column;max-height:82vh}.nv-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.nv-title{font-weight:600;letter-spacing:.2px}.nv-actions{display:flex;gap:6px}.nv-btn-ghost{background:transparent;color:#e5e7eb;border:1px solid rgba(255,255,255,.12);padding:6px 10px;border-radius:10px;cursor:pointer}.nv-btn-ghost:hover{background:#ffffff0f}.nv-panel-body{padding:12px;gap:10px;overflow:auto;display:flex;flex-direction:column}.nv-bubble-assistant{align-self:flex-start;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);padding:10px 12px;border-radius:12px;line-height:1.45}.nv-bubble-user{align-self:flex-end;background:#2b6af3;color:#fff;padding:10px 12px;border-radius:12px;line-height:1.45}.nv-error{margin-top:6px;color:#fecaca;font-size:13px}.nv-inputbar{display:flex;gap:8px;padding:10px;border-top:1px solid rgba(255,255,255,.06)}.nv-input{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#e5e7eb;padding:10px 12px;border-radius:12px;outline:none}.nv-input:focus{border-color:#fff3}.nv-send{background:#2b6af3;color:#fff;border:none;border-radius:12px;padding:10px 14px;cursor:pointer}.nv-send:disabled{opacity:.6;cursor:default}.nv-typing{display:inline-flex;gap:4px}.nv-typing span{width:6px;height:6px;background:#e5e7eb;border-radius:9999px;opacity:.5;animation:nvPulse 1.2s infinite ease-in-out}.nv-typing span:nth-child(2){animation-delay:.15s}.nv-typing span:nth-child(3){animation-delay:.3s}@keyframes nvPulse{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}:root{--color-bg: #F7F3EC;--color-surface: #FFFFFF;--color-text: #1E2333;--color-muted: #6B7280;--color-primary: #A6886A;--ff-color-primary-600: #8F7459;--ff-color-primary-700: #7A614A;--color-accent: #D8CABA;--color-border: rgba(30, 35, 51, .08);--color-success: #16A34A;--color-warning: #D97706;--color-danger: #DC2626;--overlay-primary-12a: rgba(166, 136, 106, .12);--overlay-accent-08a: rgba(216, 202, 186, .1);--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-2xl: 1.5rem;--shadow-soft: 0 4px 24px rgba(30, 35, 51, .06);--shadow-ring: 0 0 0 3px rgba(166, 136, 106, .2);font-synthesis-weight:none}body{background:var(--color-bg);color:var(--color-text);font-family:Lato,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ff-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.ff-cta{background:var(--ff-color-primary-700);color:#fff}.ff-cta:hover{background:var(--ff-color-primary-600)}.ff-focus{outline:none;box-shadow:var(--shadow-ring)}@tailwind base;@tailwind components;@tailwind utilities;.bg-app{background-color:var(--color-bg)}.surface{background-color:var(--color-surface)}.text-ink{color:var(--color-text)}.text-muted{color:var(--color-muted)}.border-ui{border-color:var(--color-border)}.ring-brand{--tw-ring-color: var(--ff-color-primary-600)}.ring-offset-surface{--tw-ring-offset-color: var(--color-surface)}.glass-header{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);background:color-mix(in oklab,var(--color-surface) 78%,transparent);border-bottom:1px solid var(--color-border);box-shadow:0 2px 12px #1e23330a}.nav-chip{background:color-mix(in oklab,var(--color-accent) 42%,#fff);color:var(--color-text);border:1px solid var(--color-border);border-radius:9999px;padding:.375rem .75rem;font-weight:600}a{color:var(--color-text);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}.btn{--btn-bg: transparent;--btn-fg: var(--color-text);--btn-bd: var(--color-border);background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-bd);border-radius:var(--radius-lg);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease,opacity .2s ease;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.btn-sm{height:2.25rem;padding:.5rem .75rem;font-size:.875rem}.btn-md{height:2.5rem;padding:.625rem 1rem;font-size:1rem}.btn-lg{height:3rem;padding:.75rem 1.25rem;font-size:1.0625rem}.btn-primary{--btn-bg: var(--ff-color-primary-700);--btn-fg: #fff;--btn-bd: var(--ff-color-primary-700)}.btn-primary:hover{--btn-bg: var(--ff-color-primary-600);--btn-bd: var(--ff-color-primary-600)}.btn-ghost{--btn-bg: transparent}.btn-ghost:hover{--btn-bd: var(--color-primary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:9999px;border:1px solid var(--color-border)}.badge-accent{background:var(--overlay-accent-08a)}.badge-success{background:color-mix(in oklab,var(--color-success) 12%,#fff)}.badge-warn{background:color-mix(in oklab,var(--color-warning) 12%,#fff)}.badge-danger{background:color-mix(in oklab,var(--color-danger) 12%,#fff)}.hero-card{border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-soft)}.focus-ring{outline:none!important;box-shadow:var(--shadow-ring)}.skeleton{position:relative;overflow:hidden;background:color-mix(in oklab,var(--color-text) 6%,var(--color-surface))}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--color-text) 8%,var(--color-surface)),transparent);animation:shine 1.2s infinite}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}
