.maintenance-page{z-index:1100;background:var(--color-bg);font-family:var(--font-family-base);overscroll-behavior:contain;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.maintenance-card{background:var(--color-surface);text-align:center;border-radius:16px;width:100%;max-width:480px;padding:40px 32px 24px;box-shadow:0 8px 32px #00000014}.maintenance-glyph{background:var(--gradient-brand);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;display:flex}.maintenance-glyph-dot{background:var(--color-surface);border-radius:50%;width:14px;height:14px;animation:2s ease-in-out infinite maintenance-pulse}@media (prefers-reduced-motion:reduce){.maintenance-glyph-dot{animation:none}}@keyframes maintenance-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.6)}}.maintenance-card h1{background:var(--gradient-brand);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 10px;font-size:22px}.maintenance-body{color:var(--color-text-muted);margin:0 0 14px;line-height:1.8}.maintenance-return{color:var(--color-text);margin:0 0 6px;line-height:1.8}.maintenance-note{min-height:1.4em;color:var(--color-text-muted);margin:0 0 10px;font-size:13px}.maintenance-brand{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin-top:14px;padding-top:14px;font-size:13px}.landing{background:var(--gradient-brand);flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100vh;padding:24px;display:flex;overflow-y:auto}.landing-card{background-color:var(--color-surface);text-align:center;border-radius:16px;width:100%;max-width:420px;padding:48px 40px;box-shadow:0 8px 32px #0000002e}.landing-logo{width:auto;height:64px;margin-bottom:20px}.landing-card h1{color:var(--color-text);margin-bottom:12px;font-size:26px;font-weight:600}.landing-tagline{color:var(--color-text-muted);margin-bottom:32px;font-size:15px;line-height:1.6}.landing-actions{flex-direction:column;gap:12px;display:flex}.landing-button{cursor:pointer;border-radius:24px;padding:12px 24px;font-family:inherit;font-size:16px;transition:transform .15s,box-shadow .15s}.landing-button:hover{transform:translateY(-1px)}.landing-button.primary{background:var(--gradient-brand);color:#fff;border:none}.landing-button.primary:hover{box-shadow:0 4px 12px #667eea66}.landing-button.secondary{background:var(--color-surface);color:var(--color-primary);border:2px solid var(--color-primary)}.landing-button.social{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.landing-button.social:hover{background-color:var(--color-bg)}.landing-divider{color:var(--color-text-muted);align-items:center;gap:12px;margin:20px 0;font-size:13px;display:flex}.landing-divider:before,.landing-divider:after{content:"";background-color:var(--color-border);flex:1;height:1px}.landing-footer{color:#ffffffe6;flex-direction:column;align-items:center;gap:6px;font-size:13px;display:flex}.landing-legal{align-items:center;gap:8px;display:flex}.landing-legal a{color:#ffffffe6;text-decoration:none}.landing-legal a:hover{text-decoration:underline}.auth-status{background-color:var(--color-bg);height:100vh;color:var(--color-text);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.auth-spinner{border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-error p{font-size:16px}.auth-retry{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:24px;padding:10px 24px;font-family:inherit;font-size:15px}.source-reference{border-inline-start:3px solid var(--color-primary);background-color:#0000000d;border-radius:4px;flex-direction:column;gap:4px;margin-bottom:6px;padding:8px;font-size:13px;display:flex}.source-link{color:var(--color-primary);font-weight:500;text-decoration:none;transition:color .2s}.source-link:hover{color:var(--color-primary-2);text-decoration:underline}.source-title{word-break:break-word}.source-timestamp,.source-score{opacity:.7;font-size:12px}.source-excerpt{opacity:.85;word-break:break-word;margin:2px 0 0;font-size:12px;line-height:1.4}.message-bubble-wrapper{margin-bottom:8px;display:flex}.message-bubble-wrapper.user{justify-content:flex-start}.message-bubble-wrapper.assistant{justify-content:flex-end}.message-bubble{word-wrap:break-word;border-radius:12px;max-width:70%;padding:12px 16px;position:relative}.user-message{background-color:var(--color-primary);color:#fff;border-end-start-radius:4px}.assistant-message{background-color:var(--color-bubble-assistant);color:var(--color-text);border-end-end-radius:4px}.message-content{white-space:pre-wrap;word-break:break-word;text-align:start;unicode-bidi:plaintext;margin:0;font-size:15px;line-height:1.4}.sources-container{border-top:1px solid #0000001a;margin-top:12px;padding-top:12px}.sources-label{opacity:.7;margin:0 0 8px;font-size:12px;font-weight:600}.message-timestamp{opacity:.6;margin-top:8px;font-size:12px;display:block}.edit-button{margin-inline-end:8px;border:1px solid var(--color-border,#d9d2e9);background:var(--color-bubble-assistant,#f0edf6);color:var(--color-primary);cursor:pointer;opacity:.75;border-radius:50%;flex-shrink:0;align-self:flex-end;width:32px;height:32px;margin-bottom:4px;font-size:15px;line-height:1;transition:opacity .15s}.edit-button:hover,.edit-button:focus-visible{opacity:1}.edited-flag{opacity:.75;margin-inline-start:6px;font-size:11px;display:inline-block}.edit-area textarea{width:100%;min-width:220px;font:inherit;resize:vertical;border:none;border-radius:8px;padding:8px}.edit-actions{gap:8px;margin-top:8px;display:flex}.edit-actions button{cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-size:13px}.edit-save{color:var(--color-primary);background:#fff;font-weight:600}.edit-cancel{color:#fff;background:#fff3}.edit-hint{opacity:.8;margin:6px 0 0;font-size:11px}.loading-container{justify-content:flex-start;margin-bottom:8px;display:flex}.loading-bubble{background-color:#e5e5ea;border-radius:12px 12px 12px 4px;padding:12px 16px}.loading-dots{gap:4px;display:flex}.loading-dots span{background-color:#999;border-radius:50%;width:8px;height:8px;animation:1.4s infinite bounce}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-8px)}}.chat-container{background-color:var(--color-bg);flex-direction:column;flex:1;display:flex;overflow:hidden}.messages-list{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;overflow-y:auto}.messages-list::-webkit-scrollbar{width:8px}.messages-list::-webkit-scrollbar-track{background:#f1f1f1}.messages-list::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.messages-list::-webkit-scrollbar-thumb:hover{background:#555}.input-box-container{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:16px 20px}.input-box{align-items:flex-end;gap:12px;max-width:100%;display:flex}.input-textarea{border:1px solid var(--color-input-border);resize:none;border-radius:24px;outline:none;flex:1;max-height:120px;padding:12px 16px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.input-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring)}.input-textarea:disabled{color:#999;cursor:not-allowed;background-color:#f5f5f5}.send-button{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:transform .2s,box-shadow .2s;display:flex}.send-button:hover:not(:disabled){box-shadow:0 4px 12px var(--color-primary-glow);transform:scale(1.05)}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{opacity:.5;cursor:not-allowed}.send-icon{font-weight:700;display:inline-block}.input-blocked-hint{color:var(--color-text-muted);text-align:center;margin:6px 4px 0;font-size:12.5px}.input-counter{color:var(--color-text-muted);text-align:end;margin:4px 8px 0;font-size:12px}.purchase-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1100;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.purchase-modal{color:var(--color-text);text-align:start;background:var(--color-surface);border-radius:14px;flex-direction:column;width:min(440px,94vw);max-height:86dvh;display:flex;box-shadow:0 12px 40px #0003}.purchase-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 18px;font-weight:700;display:flex}.purchase-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:15px}.purchase-body{overscroll-behavior:contain;padding:16px 20px 20px;overflow-y:auto}.purchase-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.purchase-product{flex-direction:column;gap:2px;display:flex}.purchase-name{font-size:14px;font-weight:600}.purchase-price{color:var(--color-text-muted);font-size:12.5px}.purchase-quantity{align-items:center;gap:10px;display:flex}.purchase-quantity button{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:8px;width:28px;height:28px;font-size:16px;line-height:1}.purchase-quantity span{text-align:center;font-variant-numeric:tabular-nums;min-width:18px}.purchase-total{margin-top:12px;font-size:14px}.purchase-note{color:var(--color-text-muted);margin:6px 0 12px;font-size:12.5px}.purchase-actions{gap:8px;display:flex}.purchase-actions button{border:1px solid var(--color-border);background:var(--color-surface);font:inherit;cursor:pointer;border-radius:9px;padding:8px 16px}.purchase-actions button.primary{background:var(--gradient-brand);color:#fff;border-color:#0000;font-weight:600}.purchase-actions button.primary:disabled{opacity:.55;cursor:not-allowed}@media (width<=600px){.purchase-backdrop{align-items:flex-end}.purchase-modal{border-radius:14px 14px 0 0;width:100vw;max-height:90dvh}}.billing-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.billing-modal{color:var(--color-text);text-align:start;background:var(--color-surface);border-radius:14px;flex-direction:column;width:min(640px,94vw);max-height:86dvh;display:flex;box-shadow:0 12px 40px #0003}.billing-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 18px;font-weight:700;display:flex}.billing-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:15px}.billing-body{overscroll-behavior:contain;flex-direction:column;gap:20px;padding:16px 20px 22px;display:flex;overflow-y:auto}.billing-body h3{color:var(--color-text-muted);margin:0 0 10px;font-size:13px;font-weight:600}.billing-body section:not(:first-child){border-top:1px solid var(--color-border);padding-top:16px}.billing-empty{color:var(--color-text-muted);font-size:13px}.billing-badge{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;padding:1px 10px;font-size:11px}.billing-badge.active{background:var(--gradient-brand);color:#fff;border-color:#0000;font-weight:600}.billing-badge.exhausted{opacity:.7}tr.billing-row-exhausted td{color:var(--color-text-muted)}.billing-month-summary{color:var(--color-text-muted);margin:0 0 10px;font-size:13px}.billing-table-wrap{overflow-x:auto}.billing-table{border-collapse:collapse;width:100%;font-size:13px}.billing-table th{text-align:start;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:6px 10px;font-weight:600}.billing-table td{border-bottom:1px solid var(--color-border);white-space:nowrap;padding:7px 10px}.billing-table tbody tr:last-child td{border-bottom:none}@media (width<=600px){.billing-backdrop{align-items:flex-end}.billing-modal{border-radius:14px 14px 0 0;width:100vw;max-height:90dvh}}.billing-buy-button{background:var(--gradient-brand);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;margin-bottom:10px;padding:6px 16px;font-size:13px;font-weight:600}.billing-usage-scroll{overscroll-behavior:contain;max-height:360px;overflow-y:auto}.billing-usage-scroll thead th{background:var(--color-surface);z-index:1;position:sticky;top:0}.policy-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.policy-modal{background:var(--color-surface);direction:rtl;border-radius:14px;flex-direction:column;width:min(640px,92vw);max-height:82dvh;display:flex;box-shadow:0 12px 40px #0003}.policy-modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.policy-modal-title{font-weight:700}.policy-modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:15px}.policy-modal-body{overscroll-behavior:contain;padding:16px 20px 24px;line-height:1.8;overflow-y:auto}.policy-modal-body h2{margin:8px 0;font-size:18px}.policy-modal-body h3{margin:14px 0 4px;font-size:15px}.policy-modal-body p{margin:6px 0}.policy-modal-body li{margin:4px 18px 4px 0}@media (width<=600px){.policy-modal-backdrop{align-items:flex-end}.policy-modal{border-radius:14px 14px 0 0;width:100vw;max-height:88dvh}}.settings-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-modal{color:var(--color-text);text-align:start;background:var(--color-surface);border-radius:14px;flex-direction:column;width:min(560px,94vw);max-height:86dvh;display:flex;position:relative;box-shadow:0 12px 40px #0003}.settings-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 18px;font-weight:700;display:flex}.settings-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:15px}.settings-body{overscroll-behavior:contain;flex-direction:column;gap:18px;padding:16px 20px 22px;display:flex;overflow-y:auto}.settings-body h3{color:var(--color-text-muted);margin:0 0 8px;font-size:13px;font-weight:600}.settings-row{align-items:center;gap:10px;padding:6px 0;display:flex}.settings-toggle{cursor:pointer;align-items:flex-start;line-height:1.6}.settings-toggle input[type=checkbox]{accent-color:var(--color-primary);flex-shrink:0;width:16px;height:16px;margin-top:5px}.settings-doc-link{color:var(--color-primary);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.settings-version,.settings-hint{color:var(--color-text-muted);font-size:12.5px}.settings-data-actions{flex-direction:column;gap:8px;display:flex}.settings-button{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font:inherit;border-radius:9px;padding:10px 14px}.settings-button.danger{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger-text);font-weight:600}.settings-button:disabled{opacity:.5;cursor:not-allowed}.settings-notice{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;font-size:13.5px;line-height:1.6}.settings-confirm{background:var(--color-surface);border-radius:14px;flex-direction:column;justify-content:center;gap:16px;padding:26px 22px;line-height:1.8;display:flex;position:absolute;inset:0}.settings-confirm-actions{flex-direction:column;gap:8px;display:flex}@media (width<=600px){.settings-backdrop{align-items:flex-end}.settings-modal{border-radius:14px 14px 0 0;width:100vw;max-height:90dvh}}.settings-body section:not(:first-child){border-top:1px solid var(--color-border);padding-top:16px}.settings-date{color:var(--color-text-muted);margin-top:2px;font-size:12px;display:block}.settings-usage-summary{color:var(--color-text-muted);padding:4px 0 2px;font-size:12.5px}.settings-purchases summary{cursor:pointer;color:var(--color-text-muted);padding:4px 0;font-size:13px}.settings-warning{border-inline-start:3px solid var(--color-danger-text,#c0392b);background:var(--color-bg,#00000008);border-radius:8px;margin:0;padding:10px 12px;font-size:14px}.user-menu{position:absolute;top:16px;left:20px}.user-menu-trigger{color:#fff;cursor:pointer;background-color:#ffffff26;border:2px solid #ffffffb3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-family:inherit;font-size:17px;font-weight:600;display:flex}.user-menu-trigger:hover{background-color:#ffffff47}.user-menu-dropdown{background-color:var(--color-surface);z-index:20;text-align:right;border-radius:12px;min-width:220px;padding:8px;position:absolute;top:48px;left:0;box-shadow:0 8px 24px #0000002e}.user-menu-header{flex-direction:column;gap:2px;padding:8px 12px;display:flex}.user-menu-name{color:var(--color-text);font-size:14px;font-weight:600}.user-menu-email{color:var(--color-text-muted);text-align:right;direction:ltr;font-size:12px}.user-menu-divider{background-color:var(--color-border);height:1px;margin:6px 4px}.user-menu-item{width:100%;color:var(--color-text);text-align:right;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px}.user-menu-item:hover{background-color:var(--color-bg)}.user-menu-item.destructive{color:#c0392b}.user-menu-balance{color:var(--color-primary);margin-top:4px;font-size:12px;font-weight:600;display:block}.user-menu-buy{background:var(--gradient-brand);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;margin-top:8px;padding:5px 14px;font-size:12.5px;font-weight:600}.sidebar{background-color:var(--color-bg);border-inline-end:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:280px;transition:width .2s,padding .2s;display:flex;overflow:hidden}.sidebar.closed{border-inline-end:none;width:0}@media (width<=768px){.sidebar{z-index:20;width:min(80vw,320px);transition:transform .2s;position:fixed;inset-block:0;inset-inline-start:0;box-shadow:0 0 24px #00000040}.sidebar.closed{border-inline-end:1px solid var(--color-border);width:min(80vw,320px);transform:translate(-100%)}[dir=rtl] .sidebar.closed{transform:translate(100%)}.sidebar-backdrop{z-index:15;background-color:#0006;border:none;padding:0;position:fixed;inset:0}}.sidebar-backdrop{display:none}@media (width<=768px){.sidebar-backdrop{display:block}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.sidebar-header{border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding:14px 12px;display:flex}.sidebar-title{color:var(--color-text);white-space:nowrap;flex:1;font-size:16px;font-weight:600}.sidebar-toggle,.sidebar-toggle-floating{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:6px;padding:6px;font-size:18px;line-height:1}.sidebar-toggle:hover,.sidebar-toggle-floating:hover{background-color:var(--color-border)}.sidebar-toggle-floating{top:14px;z-index:10;background-color:var(--color-surface);border:1px solid var(--color-border);position:fixed;inset-inline-start:14px}.sidebar-new-chat{border:1px solid var(--color-input-border);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:13px}.sidebar-new-chat:hover{border-color:var(--color-primary);color:var(--color-primary)}.sidebar-list{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex;overflow-y:auto}.sidebar-empty{color:var(--color-text-muted);text-align:center;padding:24px 8px;font-size:13px}.sidebar-item{border-radius:8px;align-items:center;width:100%;display:flex}.sidebar-item:hover{background-color:var(--color-border)}.sidebar-item.active{background-color:var(--focus-ring)}.sidebar-item-select{text-align:start;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;gap:2px;min-width:0;padding:10px 12px;display:flex}.sidebar-item-rename{cursor:pointer;color:var(--color-text-muted);opacity:0;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:14px}.sidebar-item:hover .sidebar-item-rename,.sidebar-item.active .sidebar-item-rename,.sidebar-item-rename:focus-visible{opacity:1}.sidebar-item-rename:hover{color:var(--color-primary)}.sidebar-item-edit{min-width:0;font-size:14px;font-family:var(--font-family-base);color:var(--color-text);border:1px solid var(--color-primary);border-radius:8px;outline:none;flex:1;margin:6px 8px;padding:8px 10px}.sidebar-item-title{text-align:start;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.sidebar-item.active .sidebar-item-title{text-align:start;color:var(--color-primary);font-weight:600}.sidebar-item-time{color:var(--color-text-muted);font-size:11.5px}.session-controls{flex-direction:column;align-items:flex-start;gap:5px;max-width:240px;display:flex;position:absolute;top:14px;right:64px}.session-row{align-items:center;gap:8px;display:flex}.session-chip{font-variant-numeric:tabular-nums;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;padding:3px 12px;font-size:13px}.session-chip.paid{background:var(--gradient-brand);color:#fff;border-color:#0000;font-weight:600}.session-buy{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.session-start-button{border:1px solid var(--color-border);background:var(--color-surface);font:inherit;cursor:pointer;border-radius:999px;padding:4px 14px;font-size:13px}.session-popup{color:var(--color-text);text-align:start;z-index:950;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:min(340px,86vw);padding:14px 16px;font-size:13.5px;line-height:1.7;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 10px 34px #0000002e}.session-popup-pref{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:6px;margin:8px 0;font-size:12.5px;display:flex}.session-popup-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.session-popup-actions button{border:1px solid var(--color-border);background:var(--color-surface);font:inherit;cursor:pointer;border-radius:8px;padding:6px 12px;font-size:13px}.session-popup-actions button.primary{background:var(--gradient-brand);color:#fff;border-color:#0000;font-weight:600}.session-hint{color:#ffffffd9;white-space:nowrap;text-overflow:ellipsis;max-width:240px;font-size:12px;overflow:hidden}@media (width<=1100px){.session-controls{flex-flow:wrap;justify-content:center;align-items:center;gap:8px;max-width:none;margin-top:10px;position:static}.session-buy{align-items:center}}.app-shell{height:100dvh;display:flex}.app-container{background-color:var(--color-surface);flex-direction:column;flex:1;min-width:0;height:100dvh;display:flex}.app-header{background:var(--gradient-brand);color:#fff;text-align:center;padding:20px 250px;position:relative;box-shadow:0 2px 8px #0000001a}.app-header h1{margin-bottom:8px;font-size:28px;font-weight:600}.app-header p{opacity:.9;font-size:14px}.error-banner{background-color:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger-text);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:10px 16px 0;padding:10px 14px;font-size:14px;display:flex}.error-banner button{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px}.error-banner button:hover{background-color:var(--color-danger-border)}@media (width<=1100px){.app-header{padding:20px 80px}}.maintenance-signout-backdrop{z-index:1200;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.maintenance-signout{background:var(--color-surface);text-align:center;border-radius:16px;outline:none;width:100%;max-width:420px;padding:28px 26px;box-shadow:0 8px 32px #0003}.maintenance-signout h2{background:var(--gradient-brand);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 10px;font-size:20px}.maintenance-signout p{color:var(--color-text-muted);margin:0 0 12px;line-height:1.8}.maintenance-signout-count{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.consent-screen{z-index:1000;overscroll-behavior:contain;background:var(--color-bg);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.consent-card:focus{outline:none}.consent-card{background:var(--color-surface);border-radius:16px;width:100%;max-width:560px;padding:28px 26px;position:relative;box-shadow:0 8px 32px #00000014}.consent-card h1{background:var(--gradient-brand);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:22px}.consent-intro{color:var(--color-text-muted);margin-bottom:18px;line-height:1.7}.consent-section{flex-direction:column;gap:12px;display:flex}.consent-section-optional{border-top:1px dashed var(--color-border);margin-top:18px;padding-top:14px}.consent-optional-label{color:var(--color-text-muted);margin-bottom:2px;font-size:13px}.consent-row{cursor:pointer;align-items:flex-start;gap:10px;line-height:1.6;display:flex}.consent-row input[type=checkbox]{accent-color:var(--color-primary);flex-shrink:0;width:16px;height:16px;margin-top:5px}.consent-doc-link{color:var(--color-primary);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.consent-hint{color:var(--color-text-muted);font-size:12.5px}.consent-error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger-text);border-radius:8px;margin-top:14px;padding:10px 12px;font-size:14px}.consent-submit{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:22px;padding:12px;font-size:16px;font-weight:600}.consent-submit:disabled{opacity:.45;cursor:not-allowed}.consent-footer{color:var(--color-text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:16px;font-size:13px;display:flex}.consent-footer-link{color:var(--color-text-muted);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.consent-footer-link.danger{color:var(--color-danger-text)}.consent-badge{vertical-align:middle;border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:600;display:inline-block}.consent-badge.updated{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted)}.consent-badge.new{background:var(--gradient-brand);color:#fff}.consent-close{top:14px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:15px;position:absolute;inset-inline-end:14px}.consent-banner{z-index:900;background:var(--color-bg);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:9px 14px;font-size:13.5px;display:flex;position:sticky;top:0}.consent-banner button{border:1px solid var(--color-border);background:var(--gradient-brand);color:#fff;font:inherit;cursor:pointer;border-radius:999px;padding:4px 14px;font-size:13px;font-weight:600}.consent-gate-content{display:contents}.policy-page{background:var(--color-bg);justify-content:center;min-height:100vh;padding:24px 16px;display:flex}.policy-page-card{background:var(--color-surface);border-radius:16px;width:100%;max-width:720px;padding:32px 28px;line-height:1.85;box-shadow:0 8px 32px #0000000f}.policy-page-card h1{margin:0 0 12px;font-size:22px}.policy-page-card h2{margin:18px 0 6px;font-size:16px}.policy-page-card li{margin:4px 18px 4px 0}.policy-page-footer{border-top:1px solid var(--color-border);margin-top:28px;padding-top:14px}.policy-page-footer a{color:var(--color-primary);text-decoration:none}:root{--color-primary:#6e2f97;--color-primary-2:#9442c8;--gradient-brand:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-2) 100%);--color-primary-glow:#6e2f9766;--focus-ring:#6e2f971f;--color-brand-green:#52a73e;--color-bg:#f7f7f7;--color-surface:#fff;--color-border:#e5e5e5;--color-input-border:#d1d5db;--color-bubble-assistant:#e5e5ea;--color-text:#000;--color-text-muted:#666;--color-danger-bg:#fdecea;--color-danger-border:#f5c2c7;--color-danger-text:#842029;--font-family-base:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono:source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg)}code{font-family:var(--font-family-mono)}html,body,#root{width:100%;height:100%}
