/* Extracted from layouts/site.blade.php — shared chrome */
body main.reading-observation-page .card .grid > .card strong { font-size:1rem !important; line-height:1.5; text-transform:none; }
body main.reading-observation-page .card .grid > .card p { font-size:1rem !important; line-height:1.7; }
/* Forecast text should remain readable rather than shrinking to fit more rows. */
body main.tool-form-page :is(.daily-reading,.weekly-reading,.monthly-reading,.yearly-reading) p { font-size:1rem !important; line-height:1.7 !important; margin-top:10px !important; }
body main.tool-form-page :is(.daily-reading,.weekly-reading,.monthly-reading,.yearly-reading) h3 { font-size:1.05rem !important; line-height:1.5; }
.numerology-number-tile { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; flex:0 0 108px; min-height:108px; padding:14px; border:1px solid var(--line-strong); border-radius:20px; background:var(--panel); text-align:center; }
.numerology-number-tile strong { font-size:2rem; line-height:1.2; color:var(--accent); }
.numerology-number-tile span { font-size:.95rem; line-height:1.45; color:var(--muted); }
@media(max-width:900px) {
    main.tool-form-page .vastu-result-card .result-row,
    main.tool-form-page .vastu-result-card .result-list,
    main.tool-form-page .vastu-result-card .result-item > summary p,
    main.tool-form-page .vastu-result-card .result-item-body p { font-size:1rem !important; line-height:1.65; }
    main.tool-form-page .vastu-result-card .result-item-head { flex-wrap:wrap; }
    main.tool-form-page .vastu-result-card .result-item-head h3 { font-size:1rem !important; line-height:1.5; }
}
body main.tool-form-page .shell .grid.number-evaluation-layout.has-result { grid-template-columns:minmax(0,1fr) !important; }
@media(min-width:961px) {
    .number-evaluation-layout.has-result > .card:first-child form { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:end; }
    .number-evaluation-layout.has-result > .card:first-child form > details { grid-column:1 / -1; }
}
:root { --bg:#fffaf0; --bg-soft:#fffdf7; --panel:#ffffff; --panel-strong:#ffffff; --line:rgba(185,28,28,.10); --line-strong:rgba(234,88,12,.24); --text:#161218; --muted:#4a4248; --accent:#b91c1c; --accent-2:#991b1b; --accent-3:#c2410c; --accent-dark:#2b0f1d; --accent-soft:#fff1df; --shadow:0 14px 32px rgba(30,10,20,.055); --radius:26px; --max:1680px; --mobile-nav-offset:calc(72px + env(safe-area-inset-bottom, 0px)); --mobile-launcher-offset:calc(var(--mobile-nav-offset) + 10px); }
            [data-theme="dark"] { --bg:#17110b; --bg-soft:#1a0e19; --panel:#1b111a; --panel-strong:#241a12; --line:rgba(255,255,255,.08); --line-strong:rgba(251,146,60,.22); --text:#f5eff2; --muted:#d2c6cf; --accent:#ea580c; --accent-2:#7c2246; --accent-dark:#ffedd5; --accent-soft:#2b131d; --shadow:0 22px 54px rgba(0,0,0,.38); }
            * { box-sizing:border-box; }
            html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
            body { margin:0; font-family:Inter,"Segoe UI Variable","Segoe UI",Tahoma,Geneva,Verdana,sans-serif; color:var(--text); background:radial-gradient(circle at top left, rgba(234,88,12,.10), transparent 24%), radial-gradient(circle at top right, rgba(185,28,28,.07), transparent 26%), linear-gradient(180deg, #fffefe 0%, #fff8ec 48%, #fff1db 100%); line-height:1.65; overflow-x:hidden; }
            body.menu-open { overflow:hidden; }
            [data-theme="dark"] body { background:radial-gradient(circle at top left, rgba(251,146,60,.10), transparent 22%), radial-gradient(circle at top right, rgba(185,28,28,.16), transparent 24%), linear-gradient(180deg, #17110b 0%, #21180f 44%, #241a12 100%); }
            h1, h2, h3, .brand-word { font-family:Inter,"Segoe UI Variable","Segoe UI",Tahoma,Geneva,Verdana,sans-serif; letter-spacing:-0.03em; color:var(--text); }
            html[lang^="hi"] body,
            html[lang^="hi"] button,
            html[lang^="hi"] input,
            html[lang^="hi"] textarea,
            html[lang^="hi"] select {
                font-family:"Nirmala UI","Noto Sans Devanagari","Mangal","Mukta","Hind",Inter,"Segoe UI",sans-serif;
            }
            html[lang^="hi"] h1,
            html[lang^="hi"] h2,
            html[lang^="hi"] h3,
            html[lang^="hi"] .brand-word {
                font-family:"Nirmala UI","Noto Sans Devanagari","Mangal","Mukta","Hind",Inter,"Segoe UI",sans-serif;
                letter-spacing:-0.01em;
            }
            a { color:inherit; text-decoration:none; }
            .shell { width:min(var(--max), calc(100% - 34px)); margin:0 auto; }
            .site-header { position:sticky; top:0; z-index:75; backdrop-filter:blur(18px); background:rgba(255,255,255,.82); border-bottom:1px solid rgba(23,23,23,.06); }
            [data-theme="dark"] .site-header { background:rgba(26,26,26,.82); border-bottom-color:rgba(255,255,255,.08); }
            .nav { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; min-height:60px; padding:5px 0; }
            .brand { display:flex; align-items:center; gap:14px; }
            .brand img { width:46px; height:46px; display:block; }
            .brand-word { font-size:1.02rem; font-weight:700; text-transform:uppercase; color:var(--accent-dark); white-space:nowrap; }
            .nav-links { display:flex; flex-wrap:nowrap; gap:2px; justify-content:flex-start; align-items:center; color:var(--muted); font-size:.84rem; min-width:max-content; overflow:visible; white-space:nowrap; }
            .nav-links a { padding:6px 8px; border-radius:999px; border:1px solid transparent; color:var(--text); max-width:none; overflow:visible; text-overflow:clip; white-space:nowrap; flex:0 0 auto; }
            .nav-links a:hover, .nav-links a.is-active { background:var(--accent-soft); color:var(--accent); border-color:var(--line-strong); }
            .header-controls { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:nowrap; min-width:0; }
            .header-controls > * { flex-shrink:0; }
            .header-search { flex:1 1 auto; max-width:240px; min-width:150px; }
            .header-search form { margin:0; }
            .header-search-shell { position:relative; }
            .voice-input-shell { position:relative; }
            .header-search-input {
                width:100%;
                min-height:34px;
                padding:8px 44px 8px 12px;
                border-radius:999px;
                border:1px solid transparent;
                background-image:
                    linear-gradient(rgba(255,255,255,.92), rgba(255,255,255,.92)),
                    linear-gradient(135deg, rgba(225,176,197,.96) 0%, rgba(126,36,70,.96) 52%, rgba(66,18,37,.98) 100%);
                background-origin:border-box;
                background-clip:padding-box, border-box;
                color:var(--text);
                font:inherit;
                font-size:.83rem;
                box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
            }
            .header-search-input::placeholder {
                color:rgba(185,28,28,.58);
                opacity:1;
                font-weight:600;
            }
            .header-search-input:focus {
                outline:none;
                box-shadow:0 0 0 4px rgba(234,88,12,.10), 0 6px 16px rgba(185,28,28,.08);
            }
            .voice-trigger {
                position:absolute;
                top:50%;
                right:8px;
                transform:translateY(-50%);
                min-width:36px;
                height:28px;
                display:inline-flex;
                align-items:center;
                justify-content:center;
                gap:6px;
                padding:0 8px;
                border-radius:999px;
                border:1px solid rgba(185,28,28,.12);
                background:rgba(255,255,255,.92);
                color:var(--accent);
                cursor:pointer;
                box-shadow:0 4px 12px rgba(30,10,20,.06);
            }
            .voice-trigger:hover { border-color:var(--line-strong); background:var(--accent-soft); }
            .voice-trigger.is-listening { background:var(--accent); color:#fff; border-color:var(--accent); box-shadow:0 6px 16px rgba(234,88,12,.18); }
            .voice-trigger.is-listening::after {
                content:'';
                position:absolute;
                inset:-6px;
                border-radius:999px;
                border:2px solid rgba(234,88,12,.24);
                animation:voicePulse 1.2s ease-out infinite;
            }
            .voice-trigger[disabled] { opacity:.5; cursor:not-allowed; }
            .voice-trigger-icon {
                display:inline-flex;
                align-items:center;
                justify-content:center;
                width:15px;
                height:15px;
                line-height:1;
                flex:0 0 auto;
            }
            .voice-trigger-icon svg { width:15px; height:15px; display:block; }
            .voice-trigger-waves { display:inline-flex; align-items:flex-end; gap:2px; height:12px; }
            .voice-trigger-wave { width:3px; height:5px; border-radius:999px; background:currentColor; opacity:.45; transform-origin:center bottom; }
            .voice-trigger.is-listening .voice-trigger-wave { opacity:1; animation:voiceWave 1s ease-in-out infinite; }
            .voice-trigger.is-listening .voice-trigger-wave:nth-child(2) { animation-delay:.14s; }
            .voice-trigger.is-listening .voice-trigger-wave:nth-child(3) { animation-delay:.28s; }
            @keyframes voiceWave {
                0%, 100% { transform:scaleY(.6); }
                50% { transform:scaleY(1.65); }
            }
            @keyframes voicePulse {
                0% { opacity:.8; transform:scale(.92); }
                70% { opacity:0; transform:scale(1.22); }
                100% { opacity:0; transform:scale(1.22); }
            }
            .chat-compose-shell { position:relative; }
            .chat-compose textarea#ai-guru-input { padding-right:52px; margin-bottom:0; font-size:.9rem; line-height:1.45; }
            .chat-compose-actions .btn,
            #ai-guru-send,
            .live-voice-toggle { font-size:.86rem; min-height:40px; }
            .chat-voice-hint { margin-top:4px; font-size:.72rem; color:var(--muted); line-height:1.35; }
            .chat-compose-shell .voice-trigger { top:14px; right:10px; transform:none; min-width:44px; }
            .chat-voice-hint { margin-top:6px; font-size:.78rem; color:var(--muted); }
            .chat-voice-meter {
                display:flex;
                align-items:center;
                gap:10px;
                margin-top:10px;
                padding:10px 12px;
                border-radius:14px;
                background:var(--accent-soft);
                color:var(--text);
            }
            .chat-voice-meter[hidden] { display:none; }
            .chat-voice-meter-bars { display:inline-flex; align-items:flex-end; gap:4px; height:18px; }
            .chat-voice-meter-bar {
                width:4px;
                height:7px;
                border-radius:999px;
                background:var(--accent);
                transform-origin:center bottom;
                animation:voiceWave .9s ease-in-out infinite;
            }
            .chat-voice-meter-bar:nth-child(2) { animation-delay:.12s; }
            .chat-voice-meter-bar:nth-child(3) { animation-delay:.24s; }
            .chat-voice-meter-bar:nth-child(4) { animation-delay:.36s; }
            .chat-voice-meter-copy { font-size:.84rem; color:var(--muted); }
            .chat-voice-status {
                margin-top:10px;
                font-size:.84rem;
                color:var(--muted);
            }
            .chat-voice-status.is-ready { color:#166534; }
            .chat-voice-status.is-active { color:var(--text); }
            [data-theme="dark"] .chat-voice-meter { background:rgba(194, 65, 12, .18); }
            [data-theme="dark"] .chat-voice-status.is-ready { color:#8bd59c; }
            .header-search-results {
                position:absolute;
                top:calc(100% + 8px);
                left:0;
                right:0;
                display:none;
                padding:10px;
                border-radius:20px;
                border:1px solid var(--line-strong);
                background:rgba(255,255,255,.98);
                box-shadow:0 18px 36px rgba(39,12,24,.12);
                backdrop-filter:blur(12px);
                z-index:65;
            }
            .header-search-results.is-open { display:grid; gap:8px; }
            @media (max-width: 1180px) {
                .header-search-results.is-open {
                    position:fixed;
                    top:68px;
                    left:12px;
                    right:12px;
                    width:auto;
                    max-height:min(62vh, 440px);
                    overflow:auto;
                    z-index:90;
                }
            }
            .header-search-empty {
                padding:12px 14px;
                border-radius:16px;
                color:var(--muted);
                font-size:.88rem;
                background:rgba(234,88,12,.04);
                border:1px dashed rgba(234,88,12,.16);
            }
            .header-search-list { display:grid; gap:8px; }
            .header-search-item {
                display:grid;
                gap:4px;
                padding:11px 13px;
                border-radius:16px;
                border:1px solid transparent;
                background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,243,223,.88));
                color:var(--text);
                transition:border-color .18s ease, transform .18s ease, background .18s ease;
            }
            .header-search-item:hover,
            .header-search-item.is-active {
                border-color:var(--line-strong);
                background:linear-gradient(180deg, rgba(255,243,223,.96), rgba(255,255,255,.96));
                transform:translateY(-1px);
            }
            .header-search-item strong { font-size:.92rem; line-height:1.25; }
            .header-search-item-meta {
                display:flex;
                align-items:center;
                justify-content:space-between;
                gap:10px;
                color:var(--muted);
                font-size:.78rem;
                text-transform:capitalize;
            }
            .header-search-more {
                display:flex;
                align-items:center;
                justify-content:space-between;
                gap:10px;
                padding:10px 12px 2px;
                color:var(--muted);
                font-size:.82rem;
            }
            [data-theme="dark"] .header-search-input {
                background-image:
                    linear-gradient(rgba(36,26,18,.94), rgba(36,26,18,.94)),
                    linear-gradient(135deg, rgba(210,137,170,.92) 0%, rgba(126,36,70,.96) 52%, rgba(247,210,223,.82) 100%);
            }
            [data-theme="dark"] .header-search-input::placeholder {
                color:rgba(255,238,246,.62);
            }
            [data-theme="dark"] .header-search-results {
                background:rgba(36,26,18,.98);
                box-shadow:0 18px 42px rgba(0,0,0,.36);
            }
            [data-theme="dark"] .header-search-empty {
                background:rgba(251,146,60,.08);
                border-color:rgba(251,146,60,.22);
            }
            [data-theme="dark"] .header-search-item {
                background:linear-gradient(180deg, rgba(48,34,24,.95), rgba(36,26,18,.96));
            }
            [data-theme="dark"] .header-search-item:hover,
            [data-theme="dark"] .header-search-item.is-active {
                background:linear-gradient(180deg, rgba(59,43,26,.96), rgba(36,26,18,.96));
            }
            .header-utility { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
            .utility-link { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:0 11px; border-radius:999px; border:1px solid var(--line); background:var(--panel); color:var(--accent-dark); font-size:.8rem; font-weight:700; }
            .utility-link:hover { border-color:var(--line-strong); color:var(--accent); }
            .nav-auth { display:flex; align-items:center; gap:8px; flex-wrap:nowrap; }
            .locale-switch { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:.8rem; white-space:nowrap; }
            .locale-pill,
            .header-controls .btn,
            .utility-link,
            .nav-auth a { white-space:nowrap; }
            /* Google Translate widget removed */
            .desktop-utility { display:none !important; }
            .desktop-header-shell { display:block; }
            .mobile-app-header { display:none; }
            .mobile-menu-btn { display:none !important; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 16px; }
            .desktop-sidebar-toggle { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:38px; padding:0 12px; position:relative; cursor:pointer; transition:all .15s ease; flex-shrink:0; }
            .desktop-sidebar-toggle:hover { border-color:var(--accent); background:var(--accent-soft); transform:translateY(-1px); }
            .desktop-sidebar-toggle:active { transform:translateY(0); }
            .desktop-sidebar-toggle .toggle-icon { font-size:1.05rem; line-height:1; }
            .skip-to-content {
                position:absolute;
                left:12px;
                top:12px;
                z-index:200;
                padding:10px 14px;
                border-radius:12px;
                background:var(--accent);
                color:#fff;
                font-weight:750;
                transform:translateY(-160%);
                transition:transform .18s ease;
            }
            .skip-to-content:focus {
                transform:translateY(0);
                outline:3px solid rgba(234,88,12,.35);
                outline-offset:2px;
            }
            .desktop-nav-cluster { display:flex; align-items:center; gap:12px; min-width:0; overflow:hidden; }
            .mobile-drawer-backdrop { display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:80; }
            .mobile-drawer-backdrop.is-open { display:block; }
            .mobile-drawer { display:block; position:fixed; top:78px; left:14px; bottom:14px; right:auto; width:min(286px, 22vw); max-width:22vw; min-width:264px; height:auto; max-height:calc(100dvh - 92px); z-index:81; background:rgba(255,255,255,.985); border:1px solid var(--line); border-radius:24px; box-shadow:18px 18px 42px rgba(0,0,0,.15); padding:16px 14px 18px; overflow-y:auto; overflow-x:hidden; transform:translateX(calc(-100% - 32px)) scale(.985); opacity:0; transition:transform .26s ease, opacity .2s ease, box-shadow .2s ease; pointer-events:none; }
            .mobile-drawer[hidden],
            .mobile-drawer-backdrop[hidden] { display:none !important; }
            [data-theme="dark"] .mobile-drawer { background:rgba(36,26,18,.98); }
            .mobile-drawer.is-open { display:grid; gap:16px; transform:translateX(0) scale(1); opacity:1; pointer-events:auto; box-shadow:24px 24px 52px rgba(0,0,0,.18); }
            .mobile-drawer-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:12px; margin-bottom:4px; border-bottom:1px solid var(--line); }
            .mobile-drawer-heading-copy { min-width:0; }
            .mobile-drawer-heading-title { font-size:1rem; font-weight:800; line-height:1.2; }
            .mobile-drawer-heading-subtitle { margin-top:4px; font-size:.78rem; color:var(--muted); }
            .mobile-drawer-profile { display:none; }
            .mobile-drawer-close { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; flex:0 0 40px; border-radius:14px; border:1px solid rgba(185,28,28,.12); background:#fff; color:var(--accent-dark); font-size:1.15rem; cursor:pointer; }
            .mobile-drawer-close:hover { background:var(--accent-soft); }
            .mobile-drawer-links { display:grid; gap:8px; }
            .mobile-drawer-links a { padding:12px 14px; border-radius:16px; border:1px solid var(--line); background:var(--panel); }
            .mobile-drawer-links a.is-active { background:var(--accent-soft); color:var(--accent); border-color:var(--line-strong); }
            .mobile-drawer-group { display:grid; gap:8px; }
            .mobile-drawer-group + .mobile-drawer-group { padding-top:6px; }
            .drawer-section-kicker { margin:0 4px 2px; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
            .mobile-drawer-parent { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px 14px; border-radius:16px; border:1px solid var(--line); background:var(--panel); color:var(--text); font:inherit; font-weight:700; text-align:left; cursor:pointer; }
            .mobile-drawer-parent.is-open,
            .mobile-drawer-parent.is-active { background:var(--accent-soft); color:var(--accent); border-color:var(--line-strong); }
            .mobile-drawer-parent-arrow { font-size:.9rem; transition:transform .2s ease; }
            .mobile-drawer-parent.is-open .mobile-drawer-parent-arrow { transform:rotate(180deg); }
            .mobile-drawer-children { display:none; gap:8px; padding:4px 0 0 10px; }
            .mobile-drawer-children.is-open { display:grid; }
            .mobile-drawer-child { padding:10px 12px; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.85); color:var(--muted); font-size:.92rem; font-weight:600; }
            .mobile-drawer-child:hover,
            .mobile-drawer-child.is-active { color:var(--accent); border-color:var(--line-strong); background:var(--accent-soft); }
            .mobile-drawer-meta { display:grid; gap:12px; padding-top:8px; border-top:1px solid var(--line); }
            .mobile-theme-toggle { display:none; align-items:center; justify-content:center; gap:8px; min-height:44px; width:100%; cursor:pointer; }
            .mobile-theme-toggle-icon { width:24px; height:24px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:var(--accent-soft); color:var(--accent); font-weight:800; line-height:1; }
            .mobile-bottom-nav { display:none; }
            .mobile-search-shell { position:relative; display:grid; gap:8px; }
            .mobile-search-results {
                position:relative;
                display:none;
                padding:8px;
                border-radius:18px;
                border:1px solid var(--line-strong);
                background:rgba(255,255,255,.98);
                box-shadow:0 14px 26px rgba(39,12,24,.10);
            }
            .mobile-search-results.is-open { display:grid; gap:8px; }
            [data-theme="dark"] .mobile-search-results {
                background:rgba(36,26,18,.98);
                box-shadow:0 18px 32px rgba(0,0,0,.30);
            }
            .locale-pill { padding:6px 10px; border-radius:999px; border:1px solid rgba(23,23,23,.08); background:#fff; color:var(--text); font-size:.84rem; }
            [data-theme="dark"] .locale-pill { background:var(--bg-soft); border-color:rgba(255,255,255,.08); }
            .locale-pill.is-active { background:var(--accent); color:#effaf4; border-color:var(--accent); }
            .section { padding:20px 0; }
            /* Shared tool-page title spacing (replaces legacy inline padding-top:64px). */
            main > .section:first-child[style*="padding-top:64px"],
            main > .section:first-child[style*="padding-top: 64px"],
            main.tool-form-page > .section:first-child[style*="padding-top:64px"],
            main.tool-form-page > .section:first-child[style*="padding-top: 64px"] {
                padding-top:24px !important;
            }
            main > .section:first-child .section-head h1[style*="margin-top:14px"],
            main > .section:first-child .section-head h1[style*="margin-top: 14px"] {
                margin-top:8px !important;
            }
            .eyebrow { display:inline-flex; align-items:center; gap:10px; padding:8px 14px; border-radius:999px; background:var(--accent-soft); border:1px solid var(--line-strong); color:var(--accent); letter-spacing:.08em; text-transform:uppercase; font-size:.76rem; font-weight:700; }
            h1, h2, h3 { line-height:1.05; margin:0; }
            .section-head { margin-bottom:16px; }
            .section-head p { margin:8px 0 0; color:var(--muted); max-width:70ch; }
            .panel, .card { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); color:var(--text); }
            .panel { overflow:hidden; }
            .card { padding:16px; }
            .grid { display:grid; gap:16px; }
            /* Keep closed <details> panels collapsed even when child classes set display. */
            details:not([open]) > *:not(summary) { display: none !important; }
            body.tool-form-page .card form label {
                display:grid;
                gap:8px;
            }
            body.tool-form-page .card form input:not([type="checkbox"]):not([type="radio"]),
            body.tool-form-page .card form select,
            body.tool-form-page .card form textarea {
                width:100%;
                min-height:48px;
                padding:11px 13px;
                border-radius:14px;
                border:1.5px solid color-mix(in srgb, var(--accent) 24%, var(--line));
                background:var(--panel-strong);
                color:var(--text);
                font:inherit;
                font-size:16px;
                box-shadow:inset 0 1px 0 rgba(255,255,255,.72), 0 1px 2px rgba(30,10,20,.04);
                transition:border-color .16s ease, box-shadow .16s ease;
            }
            body.tool-form-page .card form input:focus,
            body.tool-form-page .card form select:focus,
            body.tool-form-page .card form textarea:focus {
                outline:none;
                border-color:var(--accent);
                box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.72);
            }
            body.tool-form-page .card form input[type="date"],
            body.tool-form-page .card form input[type="time"] {
                appearance:none;
                -webkit-appearance:none;
                color-scheme:light;
                font-variant-numeric:tabular-nums;
            }
            body.tool-form-page .card form input[type="date"]::-webkit-calendar-picker-indicator,
            body.tool-form-page .card form input[type="time"]::-webkit-calendar-picker-indicator {
                opacity:1;
                cursor:pointer;
                width:18px;
                height:18px;
            }
            [data-theme="dark"] body.tool-form-page .card form input:not([type="checkbox"]):not([type="radio"]),
            [data-theme="dark"] body.tool-form-page .card form select,
            [data-theme="dark"] body.tool-form-page .card form textarea {
                background:rgba(18,14,18,.96);
                border-color:rgba(251,146,60,.28);
                box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 1px 2px rgba(0,0,0,.18);
            }
            [data-theme="dark"] body.tool-form-page .card form input[type="date"],
            [data-theme="dark"] body.tool-form-page .card form input[type="time"] {
                color-scheme:dark;
            }
            [data-theme="dark"] body.tool-form-page .card form input[type="date"]::-webkit-calendar-picker-indicator,
            [data-theme="dark"] body.tool-form-page .card form input[type="time"]::-webkit-calendar-picker-indicator {
                filter:invert(0.92);
            }
            .btn {
                display:inline-flex;
                align-items:center;
                justify-content:center;
                min-height:42px;
                padding:0 16px;
                border-radius:999px;
                font-weight:700;
                letter-spacing:.01em;
                transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
                border:1px solid transparent;
                cursor:pointer;
                color:var(--text);
                position:relative;
                font-size:.9rem;
                background-origin:border-box;
                background-clip:padding-box, border-box;
                box-shadow:0 8px 18px rgba(185,28,28,.07);
            }
            .btn:hover { transform:translateY(-1px); }
            .btn-primary {
                color:#fffaf0;
                background-image:
                    linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%),
                    linear-gradient(135deg, rgba(214,147,173,.95) 0%, rgba(185,28,28,.95) 100%);
            }
            .btn-secondary {
                color:var(--accent-dark);
                background-image:
                    linear-gradient(#fff, #fff),
                    linear-gradient(135deg, rgba(163,71,104,.9) 0%, rgba(185,28,28,.9) 100%);
            }
            [data-theme="dark"] .btn-secondary {
                color:#f5eff2;
                background-image:
                    linear-gradient(rgba(33,19,28,.98), rgba(36,26,18,.98)),
                    linear-gradient(135deg, rgba(251,146,60,.72) 0%, rgba(185,28,28,.92) 100%);
            }
            [data-theme="dark"] .btn-secondary:hover {
                color:#fffaf0;
                background-image:
                    linear-gradient(rgba(49,27,39,.98), rgba(36,21,32,.98)),
                    linear-gradient(135deg, rgba(210,137,170,.82) 0%, rgba(185,28,28,.95) 100%);
            }
            .muted { color:var(--muted); font-weight:550; }
            .footer { padding:30px 0 54px; color:var(--muted); font-size:.95rem; }
            .footer-shell {
                background:linear-gradient(180deg, #fffdf7, #fff3df);
                border:1px solid var(--line);
                border-radius:30px;
                box-shadow:var(--shadow);
                padding:24px 24px 18px;
            }
            [data-theme="dark"] .footer-shell {
                background:linear-gradient(180deg, #241a12, #302218);
            }
            .footer-grid {
                display:grid;
                grid-template-columns:1.2fr .95fr .95fr;
                gap:18px;
                padding-bottom:18px;
                border-bottom:1px solid var(--line);
            }
            .footer-brand strong,
            .footer-col strong { display:block; font-size:.98rem; color:var(--accent-dark); }
            .footer-brand p,
            .footer-col p { margin:10px 0 0; }
            .footer-links {
                list-style:none;
                padding:0;
                margin:12px 0 0;
                display:grid;
                gap:8px;
            }
            .footer-links a {
                color:var(--muted);
                font-size:.93rem;
            }
            .footer-links a:hover { color:var(--accent); }
            .footer-actions {
                display:grid;
                grid-template-columns:repeat(2, minmax(0, 1fr));
                gap:8px;
                margin-top:14px;
            }
            .footer-actions .btn {
                width:100%;
                min-height:44px;
                justify-content:center;
                text-align:center;
            }
            @media (max-width: 768px) {
                .footer-shell .footer-brand > .footer-note { display:none!important; }
                .footer-shell .footer-brand { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch; }
                .footer-shell .footer-brand > strong,
                .footer-shell .footer-brand > p { grid-column:1 / -1; }
                .footer-shell .footer-brand .footer-actions { display:contents; }
                .footer-shell .footer-brand .footer-actions .btn { display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;padding:8px 10px;font-size:14px;line-height:1.4;white-space:normal;box-sizing:border-box;border-radius:12px; }
            }
            .footer-actions-support {
                margin-top:8px;
            }
            .footer-note { text-decoration:none; }
            .footer-col-premium { display:none; }
            .footer-meta {
                display:flex;
                justify-content:flex-start;
                align-items:flex-start;
                gap:14px;
                padding-top:16px;
            }
            .footer-meta p { margin:0; }
            .footer-meta-copy { max-width:72ch; font-size:.88rem; }
            .footer-meta-legal { text-align:left; font-size:.82rem; line-height:1.45; }
            .footer-note {
                display:inline-flex;
                align-items:center;
                gap:8px;
                margin-top:10px;
                padding:8px 12px;
                border-radius:999px;
                background:rgba(234,88,12,.06);
                border:1px solid rgba(234,88,12,.12);
                color:var(--accent-dark);
                font-size:.82rem;
                font-weight:700;
            }
            .hero-slab { background:linear-gradient(135deg, rgba(185,28,28,.07), rgba(255,255,255,.96) 55%, rgba(234,88,12,.10)); }
            [data-theme="dark"] .hero-slab { background:linear-gradient(135deg, rgba(185,28,28,.22), rgba(20,10,18,.96) 58%, rgba(251,146,60,.12)); }
            .tab-row { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; } .tab-row::-webkit-scrollbar { display:none; }
            .tab-row a { padding:10px 14px; border-radius:999px; background:#fff; border:1px solid rgba(23,23,23,.08); color:var(--accent-dark); }
            [data-theme="dark"] .tab-row a { background:var(--panel); border-color:rgba(255,255,255,.08); }
            .tab-row a:hover { border-color:var(--line-strong); color:var(--accent); }
            .chat-launcher, .notify-launcher { position:fixed; z-index:90; box-shadow:var(--shadow); }
            .section-guru-link { display:inline-flex; align-items:center; margin-left:8px; padding:2px 8px; border-radius:999px; border:1px solid rgba(234,88,12,.28); background:transparent; color:var(--accent); font-size:.75rem; font-weight:750; line-height:1.4; vertical-align:middle; cursor:pointer; }
            .section-guru-link:hover { background:var(--accent-soft); }
            .chat-launcher {
                right:20px;
                bottom:20px;
                display:inline-flex;
                align-items:center;
                justify-content:center;
                width:104px;
                height:64px;
                min-width:104px;
                min-height:64px;
                padding:0;
                border-radius:999px;
                font-size:0;
                line-height:1;
                overflow:hidden;
                z-index:96;
            }
            .chat-launcher::before {
                content:none;
                display:inline-flex;
                align-items:center;
                justify-content:center;
                width:100%;
                height:100%;
                font-size:1rem;
                font-weight:900;
                letter-spacing:.04em;
            }
            .notify-launcher { left:20px; bottom:20px; display:inline-flex; align-items:center; justify-content:center; }
            body.dashboard-home .notify-launcher { display:none; }
            .chat-panel {
                --chat-panel-float-gap:16px;
                position:fixed;
                right:20px;
                bottom:var(--chat-panel-float-gap);
                z-index:90;
                width:min(430px, calc(100% - 24px));
                height:min(780px, calc(100dvh - var(--chat-panel-float-gap)));
                max-height:calc(100dvh - var(--chat-panel-float-gap));
                display:none;
                overflow:visible;
                background-image:
                    linear-gradient(var(--panel-strong), var(--panel-strong)),
                    linear-gradient(135deg, rgba(181,98,133,.95) 0%, rgba(66,18,37,.95) 100%);
                background-origin:border-box;
                background-clip:padding-box, border-box;
                border:1px solid rgba(185,28,28,.14);
                border-radius:24px;
                box-shadow:0 22px 48px rgba(30,10,20,.18), 0 2px 8px rgba(30,10,20,.06);
            }
            .chat-panel.is-open { display:flex; flex-direction:column; }
            @media (min-width: 961px) {
                body.dashboard-home .chat-panel {
                    top:96px;
                    right:20px;
                    bottom:var(--chat-panel-float-gap, 16px);
                    width:min(408px, calc(100vw - 24px));
                    max-height:none;
                    height:auto;
                }
                body.dashboard-home .chat-panel-shell {
                    height:100%;
                    max-height:none;
                }
                body.dashboard-home .chat-messages {
                    max-height:none;
                }
            }
            .chat-panel.is-chat-scrolling #notify-status.has-install-action {
                visibility:hidden;
                height:0;
                margin:0;
                overflow:hidden;
                pointer-events:none;
            }
            .chat-head { position:relative; flex:0 0 auto; }
            [data-theme="dark"] .chat-head, [data-theme="dark"] .chat-compose { border-bottom-color:rgba(255,255,255,.08); }
            .chat-compose {
                border-bottom:0;
                border-top:1px solid rgba(185,28,28,.10);
                padding-top:12px;
                padding-bottom:max(14px, env(safe-area-inset-bottom, 0px));
                flex:0 0 auto;
                background:#fff;
                box-shadow:0 -8px 24px rgba(185,28,28,.04);
            }
            [data-theme="dark"] .chat-compose {
                background:var(--panel-strong);
                border-top-color:rgba(255,255,255,.08);
                box-shadow:none;
            }
            [data-theme="dark"] .chat-messages {
                background:linear-gradient(180deg, rgba(251,146,60,.14), transparent 140px);
            }
            [data-theme="dark"] .bubble.user {
                background:rgba(251,146,60,.20);
                border-color:rgba(251,146,60,.36);
            }
            [data-theme="dark"] .bubble-action,
            [data-theme="dark"] .bubble-action-language,
            [data-theme="dark"] .bubble-language-choice {
                background:#2a1822;
                color:#f6e7ee;
                border-color:rgba(246,231,238,.22);
            }
            [data-theme="dark"] .chat-head-actions .btn,
            [data-theme="dark"] .voice-trigger {
                background:#2a1822;
                color:#f6e7ee;
                border-color:rgba(246,231,238,.22);
                box-shadow:none;
            }
            [data-theme="dark"] .chat-panel.is-maximized .chat-history-rail {
                background:linear-gradient(180deg, rgba(36,21,32,.98), rgba(36,26,18,.96));
                border-right-color:rgba(255,255,255,.08);
            }
            .chat-head-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
            .chat-head-copy { min-width:0; flex:1 1 auto; }
            .chat-head-copy strong {
                display:block;
                font-size:.92rem;
                line-height:1.2;
                color:var(--accent-dark);
            }
            .chat-head-copy .muted,
            .chat-head-copy > div.muted {
                margin-top:3px;
                font-size:.72rem;
                line-height:1.3;
                display:-webkit-box;
                -webkit-line-clamp:2;
                -webkit-box-orient:vertical;
                overflow:hidden;
            }
            .chat-active-profile {
                display:flex;
                flex-direction:column;
                gap:8px;
                margin-top:10px;
                padding:8px 10px;
                border-radius:14px;
                background:rgba(139, 30, 63, .06);
                border:1px solid rgba(139, 30, 63, .12);
            }
            .chat-active-profile[hidden] { display:none !important; }
            .chat-active-profile-top {
                display:flex;
                align-items:center;
                gap:8px;
                width:100%;
            }
            .chat-active-profile-label {
                font-size:.78rem;
                font-weight:700;
                color:var(--text);
                min-width:0;
                flex:1 1 auto;
            }
            .chat-active-profile-toggle {
                flex:0 0 auto;
                display:inline-flex;
                align-items:center;
                justify-content:center;
                width:32px;
                min-width:32px;
                height:32px;
                padding:0;
                border-radius:10px;
                border:1px solid rgba(139, 30, 63, .18);
                background:rgba(255,255,255,.88);
                color:var(--accent-dark);
                cursor:pointer;
            }
            .chat-active-profile-edit {
                flex:0 0 auto;
                min-height:30px;
                padding:4px 9px;
                border-radius:9px;
                font-size:.7rem;
                font-weight:800;
                line-height:1;
            }
            .chat-active-profile-toggle:hover {
                border-color:var(--line-strong);
                background:var(--accent-soft);
            }
            .chat-active-profile-toggle-icon {
                display:block;
                width:14px;
                height:14px;
                transition:transform .18s ease;
            }
            .chat-active-profile.is-collapsed .chat-active-profile-toggle-icon {
                transform:rotate(-90deg);
            }
            .chat-active-profile-actions {
                display:inline-flex;
                flex-wrap:wrap;
                gap:6px;
                width:100%;
            }
            .chat-active-profile.is-collapsed .chat-active-profile-actions {
                display:none;
            }
            .chat-active-profile-actions .btn {
                min-height:30px;
                padding:4px 10px;
                font-size:.72rem;
            }
            .chat-panel.has-started-chat .chat-active-profile {
                display:flex;
                margin-top:7px;
                padding:6px 8px;
                gap:5px;
            }
            .chat-panel.has-started-chat .chat-active-profile-actions .btn {
                min-height:28px;
                padding:3px 8px;
            }
            .chat-panel.has-started-chat .chat-messages {
                padding-top:8px;
                padding-bottom:8px;
                gap:10px;
            }
            .chat-panel.has-started-chat .chat-compose { padding-top:8px; }
            .bubble-profile-board-head {
                display:flex;
                align-items:center;
                justify-content:space-between;
                gap:8px;
                margin-bottom:2px;
            }
            .bubble-profile-board-title {
                margin:0;
                font-size:.84rem;
                font-weight:800;
                color:var(--text);
            }
            .bubble-profile-board-toggle {
                flex:0 0 auto;
                display:inline-flex;
                align-items:center;
                justify-content:center;
                width:30px;
                min-width:30px;
                height:30px;
                padding:0;
                border-radius:10px;
                border:1px solid rgba(185,28,28,.14);
                background:rgba(255,255,255,.88);
                color:var(--accent-dark);
                cursor:pointer;
            }
            .bubble-profile-board-toggle-icon {
                display:block;
                width:14px;
                height:14px;
                transition:transform .18s ease;
            }
            .bubble-profile-board.is-collapsed .bubble-profile-board-toggle-icon {
                transform:rotate(-90deg);
            }
            .bubble-profile-board.is-collapsed .bubble-profile-group {
                display:none;
            }
            [data-theme="dark"] .chat-active-profile-toggle,
            [data-theme="dark"] .bubble-profile-board-toggle {
                background:rgba(48,34,24,.95);
                border-color:rgba(251,146,60,.22);
                color:var(--text);
            }
            .chat-panel-shell {
                display:flex;
                flex-direction:column;
                height:100%;
                min-height:0;
                max-height:inherit;
                overflow:hidden;
                border-radius:24px;
                background:transparent;
            }
            .chat-panel.settings-open,
            .chat-panel.settings-open .chat-panel-shell,
            .chat-panel.settings-open .chat-head {
                overflow:visible;
            }
            .chat-panel.settings-open .chat-head {
                z-index:42;
            }
            .chat-panel.has-started-chat .chat-head { padding:10px 14px 8px; }
            .chat-panel.has-started-chat .chat-head-top {
                align-items:center;
            }
            .chat-panel.has-started-chat .chat-head-copy > :not(strong) {
                display:none;
            }
            .chat-resize,
            .chat-minimize {
                min-width:40px;
                min-height:40px;
                padding:0 12px;
                flex-shrink:0;
            }
            .chat-resize {
                display:inline-flex;
                align-items:center;
                justify-content:center;
            }
            .chat-resize-icon { width:18px; height:18px; display:block; }
            .chat-panel.is-maximized {
                top:12px;
                right:12px;
                bottom:12px;
                left:12px;
                width:auto;
                max-height:none;
                height:auto;
                border-radius:24px;
            }
            body.dashboard-home .chat-panel.is-maximized {
                top:12px;
                right:12px;
                bottom:12px;
                left:12px;
                width:auto;
                max-height:none;
                height:auto;
                border-radius:24px;
            }
            .chat-history-rail {
                display:none;
            }
            .chat-panel.is-maximized .chat-panel-shell {
                display:grid;
                grid-template-columns:minmax(220px, 270px) minmax(0, 1fr);
                grid-template-rows:auto minmax(0, 1fr) auto;
                grid-template-areas:
                    "rail head"
                    "rail messages"
                    "rail compose";
                height:100%;
                max-height:none;
                min-height:0;
            }
            .chat-panel.is-maximized .chat-history-rail {
                display:flex;
                flex-direction:column;
                grid-area:rail;
                min-height:0;
                border-right:1px solid rgba(185,28,28,.10);
                background:linear-gradient(180deg, rgba(255,250,252,.98), rgba(255,243,223,.78));
                padding:14px 12px 16px;
                gap:10px;
            }
            [data-theme="dark"] .chat-panel.is-maximized .chat-history-rail {
                border-right-color:rgba(255,255,255,.08);
                background:linear-gradient(180deg, rgba(34,26,30,.98), rgba(28,22,26,.92));
            }
            .chat-history-rail-head {
                display:grid;
                gap:2px;
                padding:0 4px 4px;
                flex:0 0 auto;
            }
            .chat-history-rail-title {
                margin:0;
                font-size:.84rem;
                font-weight:800;
                color:var(--accent-dark);
                letter-spacing:.01em;
            }
            .chat-history-rail-copy {
                margin:0;
                font-size:.72rem;
                line-height:1.35;
                color:var(--muted);
            }
            .chat-history-list {
                display:flex;
                flex-direction:column;
                gap:6px;
                flex:1 1 auto;
                min-height:0;
                overflow:auto;
                padding-right:2px;
                scrollbar-width:thin;
            }
            .chat-history-empty {
                margin:8px 4px 0;
                font-size:.76rem;
                line-height:1.4;
                color:var(--muted);
            }
            .chat-history-item {
                display:block;
                flex:0 0 auto;
                width:100%;
                appearance:none;
                -webkit-appearance:none;
                text-align:left;
                border:1px solid rgba(185,28,28,.10);
                background:rgba(255,255,255,.88);
                color:var(--text);
                border-radius:12px;
                padding:10px 12px;
                font:inherit;
                font-size:.82rem;
                font-weight:600;
                line-height:1.45;
                white-space:normal;
                overflow-wrap:anywhere;
                word-break:break-word;
                cursor:pointer;
                transition:border-color .16s ease, background .16s ease, color .16s ease;
            }
            .chat-history-item:hover,
            .chat-history-item:focus-visible {
                border-color:rgba(234,88,12,.28);
                background:#fff;
                outline:none;
            }
            .chat-history-item.is-active {
                border-color:rgba(234,88,12,.34);
                background:var(--accent-soft);
                color:var(--accent-strong);
            }
            [data-theme="dark"] .chat-history-item {
                background:rgba(255,255,255,.04);
                border-color:rgba(255,255,255,.08);
            }
            [data-theme="dark"] .chat-history-item.is-active {
                background:rgba(251,146,60,.16);
                color:#f3c9da;
            }
            .bubble.user.is-history-focus {
                box-shadow:0 0 0 2px rgba(234,88,12,.28);
            }
            .chat-panel.is-maximized .chat-head {
                grid-area:head;
                width:auto;
                max-width:none;
                margin:0;
                padding:14px 20px 12px;
            }
            .chat-panel.is-maximized .chat-head-copy .muted,
            .chat-panel.is-maximized .chat-head-copy > div.muted {
                -webkit-line-clamp:2;
                max-width:58ch;
            }
            .chat-panel.is-maximized .chat-messages {
                grid-area:messages;
                width:min(980px, calc(100% - 40px));
                margin-inline:auto;
                padding-inline:0;
                padding-bottom:12px;
                height:auto;
                max-height:none;
                min-height:0;
            }
            .chat-panel.is-maximized .bubble {
                max-width:min(680px, 100%);
            }
            .chat-panel.is-maximized .chat-compose {
                grid-area:compose;
                display:grid;
                grid-template-columns:minmax(0, 1fr) auto;
                grid-template-areas:
                    "shell actions"
                    "hint hint";
                column-gap:10px;
                row-gap:6px;
                align-items:end;
                align-content:end;
                justify-items:stretch;
                width:min(980px, calc(100% - 40px));
                margin-inline:auto;
                padding:8px 0 max(10px, env(safe-area-inset-bottom, 0px));
                box-sizing:border-box;
            }
            .chat-panel.is-maximized .chat-compose-shell {
                grid-area:shell;
                min-width:0;
            }
            .chat-panel.is-maximized .chat-voice-hint {
                grid-area:hint;
                margin-top:0;
            }
            .chat-panel.is-maximized .chat-compose > .chat-voice-meter,
            .chat-panel.is-maximized .chat-compose > .chat-voice-status,
            .chat-panel.is-maximized .chat-compose > .notice {
                grid-column:1 / -1;
            }
            .chat-panel.is-maximized .chat-compose textarea { min-height:56px; max-height:120px; }
            .chat-panel.is-maximized .chat-compose-actions {
                grid-area:actions;
                display:flex;
                flex-direction:column;
                justify-content:flex-end;
                align-items:stretch;
                gap:8px;
                width:auto;
                margin-top:0;
                grid-template-columns:none;
            }
            .chat-panel.is-maximized .chat-compose-actions .btn,
            .chat-panel.is-maximized #ai-guru-send,
            .chat-panel.is-maximized .live-voice-toggle {
                width:100%;
                min-width:0;
                max-width:none;
            }
            .chat-panel.is-maximized .chat-live-voice {
                left:0;
                right:0;
                bottom:0;
                width:auto;
                max-width:none;
                transform:none;
                max-height:min(52vh, 420px);
                border-radius:18px;
            }
            .chat-panel.is-maximized .chat-settings-popup {
                width:340px;
                min-width:300px;
                max-width:min(340px, calc(100vw - 40px));
            }
            @media (max-width: 640px) {
                .chat-panel.is-maximized .chat-history-rail { display:none; }
                .chat-panel.is-maximized .chat-panel-shell {
                    display:flex;
                    flex-direction:column;
                    grid-template-columns:none;
                    grid-template-areas:none;
                }
            }
            .notice-install-link {
                display:inline;
                margin:0;
                padding:0;
                border:0;
                background:none;
                color:inherit;
                font:inherit;
                font-weight:700;
                text-decoration:underline;
                text-underline-offset:3px;
                cursor:pointer;
            }
            .notice-install-link:hover,
            .notice-install-link:focus-visible {
                color:var(--accent-strong);
                outline:none;
            }
            .notice.has-install-action {
                color:var(--accent-strong);
            }
            .chat-messages {
                flex:1 1 auto;
                min-height:0;
                max-height:none;
                overflow-y:auto;
                overflow-x:hidden;
                padding:16px 16px 18px;
                display:grid;
                align-content:start;
                gap:14px;
                min-width:0;
                background:linear-gradient(180deg, rgba(255,243,223,.35), transparent 120px);
            }
            .bubble {
                padding:13px 15px;
                border-radius:18px;
                max-width:min(92%, 100%);
                min-width:0;
                width:fit-content;
                white-space:pre-wrap;
                overflow-wrap:anywhere;
                word-break:normal;
                line-break:auto;
                font-size:.88rem;
                line-height:1.5;
                font-family:"Nirmala UI","Noto Sans Devanagari","Mukta","Hind",var(--font, inherit);
            }
            .bubble-language-actions {
                margin-top:10px;
                padding-top:2px;
                padding-bottom:2px;
            }
            .bubble.user { margin-left:auto; max-width:min(84%, 420px); background:rgba(234,88,12,.12); border:1px solid rgba(234,88,12,.24); color:var(--text); }
            .bubble.assistant { justify-self:start; width:min(100%, 560px); max-width:100%; background:#fff; border:1px solid rgba(185,28,28,.10); color:var(--text); box-shadow:0 6px 18px rgba(185,28,28,.05); }
            .bubble.assistant.is-analyzing {
                display:grid;
                grid-template-columns:auto minmax(0, 1fr);
                gap:12px 14px;
                align-items:center;
                white-space:normal;
                width:min(100%, 92%);
                max-width:min(560px, 100%);
                min-width:min(100%, 260px);
                justify-self:start;
                color:var(--text);
                font-size:.92rem;
                line-height:1.45;
                padding:14px 16px;
                background:
                    radial-gradient(circle at 12% 40%, rgba(234,88,12,.10), transparent 42%),
                    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,243,223,.88));
                border:1px solid rgba(234,88,12,.20);
                box-shadow:0 8px 22px rgba(185,28,28,.08);
                overflow:visible;
            }
            [data-theme="dark"] .bubble.assistant { background:rgba(232,232,232,.05); border-color:rgba(232,232,232,.08); }
            [data-theme="dark"] .bubble.assistant.is-analyzing {
                background:
                    radial-gradient(circle at 12% 40%, rgba(251,146,60,.14), transparent 44%),
                    linear-gradient(180deg, rgba(36,28,32,.96), rgba(28,22,26,.88));
                border-color:rgba(251,146,60,.22);
            }
            .bubble.assistant.is-analyzing::after { display:none; content:none; }
            .ai-wait-visual {
                position:relative;
                width:52px;
                height:52px;
                flex:0 0 auto;
                display:grid;
                place-items:center;
                overflow:visible;
            }
            .ai-wait-aura,
            .ai-wait-aura-soft {
                position:absolute;
                inset:0;
                border-radius:50%;
                border:1px solid rgba(234,88,12,.22);
                pointer-events:none;
            }
            .ai-wait-aura {
                animation:aiWaitFocusOut 2.8s ease-in-out infinite;
            }
            .ai-wait-aura-soft {
                inset:-4px;
                border-color:rgba(234,88,12,.12);
                animation:aiWaitFocusOut 2.8s ease-in-out infinite .45s;
            }
            .ai-wait-om {
                position:relative;
                z-index:2;
                display:grid;
                place-items:center;
                width:40px;
                height:40px;
                border-radius:50%;
                font-family:"Nirmala UI","Noto Sans Devanagari","Mangal","Mukta","Hind",Georgia,serif;
                font-size:1.55rem;
                font-weight:700;
                line-height:1;
                color:#b91c1c;
                background:radial-gradient(circle at 35% 30%, #fffaf0, #f6d5e4);
                box-shadow:0 4px 14px rgba(185,28,28,.16);
                animation:aiWaitOmBreath 1.8s ease-in-out infinite;
                transform-origin:center;
            }
            .ai-wait-om-glyph {
                display:block;
                transform:translateY(1px);
            }
            .ai-wait-copy-text {
                margin:0;
                color:var(--text);
                font-weight:600;
            }
            [data-theme="dark"] .ai-wait-om {
                color:#f3c9da;
                background:radial-gradient(circle at 35% 30%, rgba(62,36,48,.95), rgba(40,26,34,.92));
                box-shadow:0 4px 14px rgba(0,0,0,.28);
            }
            [data-theme="dark"] .ai-wait-aura,
            [data-theme="dark"] .ai-wait-aura-soft {
                border-color:rgba(243,201,218,.28);
            }
            [data-theme="dark"] .ai-wait-dots span { background:#f3c9da; }
            .ai-wait-copy {
                min-width:0;
                display:grid;
                gap:6px;
            }
            .ai-wait-dots {
                display:inline-flex;
                align-items:center;
                gap:5px;
                min-height:10px;
            }
            .ai-wait-dots span {
                width:8px;
                height:8px;
                border-radius:50%;
                background:#b91c1c;
                opacity:.35;
                animation:aiWaitDot 1.05s ease-in-out infinite;
            }
            .ai-wait-dots span:nth-child(2) { animation-delay:.16s; }
            .ai-wait-dots span:nth-child(3) { animation-delay:.32s; }
            @keyframes aiWaitOmBreath {
                0%, 100% { transform:scale(.86); box-shadow:0 2px 8px rgba(185,28,28,.12); }
                50% { transform:scale(1.14); box-shadow:0 0 0 6px rgba(234,88,12,.16), 0 6px 16px rgba(185,28,28,.18); }
            }
            @keyframes aiWaitFocusOut {
                0% { transform:scale(.7); opacity:.7; }
                70% { transform:scale(1.35); opacity:0; }
                100% { transform:scale(1.35); opacity:0; }
            }
            @keyframes aiWaitDot {
                0%, 70%, 100% { transform:translateY(0); opacity:.3; }
                35% { transform:translateY(-7px); opacity:1; }
            }
            @media (prefers-reduced-motion: reduce) {
                .ai-wait-om,
                .ai-wait-aura,
                .ai-wait-aura-soft,
                .ai-wait-dots span {
                    animation:none !important;
                }
                .ai-wait-om { transform:none; }
                .ai-wait-aura,
                .ai-wait-aura-soft { opacity:.35; transform:none; }
                .ai-wait-dots span { opacity:.55; }
            }
            .bubble-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:10px; }
            .bubble-copy-row { display:flex; justify-content:flex-end; margin:-6px 0 2px; }
            .bubble-action {
                display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:0 10px;
                border-radius:999px; border:1px solid var(--line-strong); background:#fff; color:var(--accent-strong);
                font:inherit; font-size:.82rem; font-weight:700; cursor:pointer;
            }
            .bubble-action.is-active { background:var(--accent-soft); color:var(--accent); }
            .bubble-action-icon { width:34px; min-width:34px; padding:0; font-size:1rem; line-height:1; }
            .bubble-action-icon svg { display:block; }
            .palm-chat-photo { display:grid; gap:6px; margin-bottom:8px; }
            .palm-chat-photo .bubble-followup { justify-self:start; }
            .bubble-action-icon:disabled { opacity:.55; cursor:wait; }
            .bubble-action:focus-visible,
            .chat-settings-toggle:focus-visible,
            .chat-settings-close:focus-visible {
                outline:3px solid rgba(234,88,12,.32);
                outline-offset:2px;
            }
            .bubble-action-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
            .bubble-action-language {
                border-color:var(--line-strong);
                background:#fff;
                color:var(--accent-strong);
            }
            .bubble-location-action { margin-top:10px; }
            .bubble-festival-wrap { margin-top:12px; overflow-x:auto; border:1px solid var(--line); border-radius:8px; }
            .bubble-festival-table { width:100%; min-width:520px; border-collapse:collapse; font-size:.9rem; }
            .bubble-festival-table th, .bubble-festival-table td { padding:9px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
            .bubble-festival-table th { background:var(--accent-soft); color:var(--ink); font-weight:800; }
            .bubble-festival-table tr:last-child td { border-bottom:0; }
            [data-theme="dark"] .bubble-action { background:var(--panel); }
            [data-theme="dark"] .bubble-action-language { background:var(--panel); }
            .chat-compose textarea, input, select { width:100%; padding:12px; border-radius:14px; border:1px solid rgba(23,23,23,.08); background:#fff; color:var(--text); font:inherit; font-size:16px; }
            [data-theme="dark"] .chat-compose textarea, [data-theme="dark"] input, [data-theme="dark"] select { background:var(--panel); border-color:rgba(255,255,255,.08); }
            .chat-compose textarea {
                min-height:72px;
                max-height:148px;
                resize:none;
                margin-bottom:0;
                field-sizing:content;
                line-height:1.45;
                padding:14px 52px 14px 14px;
                border-radius:16px;
                border:1px solid rgba(234,88,12,.22);
                background:#fffdfd;
            }
            .chat-compose textarea:focus {
                outline:none;
                border-color:rgba(234,88,12,.55);
                box-shadow:0 0 0 3px rgba(234,88,12,.12);
            }
            [data-theme="dark"] .chat-compose textarea,
            [data-theme="dark"] .chat-compose textarea#ai-guru-input {
                background:#241a12;
                color:#f6e7ee;
                border-color:rgba(251,146,60,.42);
                color-scheme:dark;
                caret-color:#f6e7ee;
            }
            [data-theme="dark"] .chat-compose textarea::placeholder {
                color:#c9b3be;
            }
            [data-theme="dark"] .chat-compose textarea:focus {
                border-color:#e7b4c8;
                box-shadow:0 0 0 3px rgba(251,146,60,.28);
            }
            [data-theme="dark"] .chat-compose .btn-secondary,
            [data-theme="dark"] .chat-compose .live-voice-toggle {
                color:#f6e7ee;
            }
            [data-theme="dark"] .chat-voice-hint {
                color:#d2c6cf;
            }
            .chat-compose-shell .voice-trigger-waves { display:none; }
            .chat-compose-shell .voice-trigger.is-listening .voice-trigger-waves { display:inline-flex; }
            .chat-voice-hint {
                margin-top:8px;
                margin-bottom:0;
                font-size:.78rem;
                line-height:1.35;
                color:var(--muted, #6d5a62);
            }
            .chat-compose-actions {
                display:grid;
                grid-template-columns:1fr 1fr;
                justify-content:end;
                width:fit-content;
                max-width:100%;
                margin-left:auto;
                gap:8px;
                align-items:center;
                margin-top:8px;
            }
            #ai-guru-send,
            .live-voice-toggle {
                width:100%;
                max-width:none;
                min-width:0;
                min-height:40px;
                padding-inline:12px;
                justify-content:center;
                white-space:nowrap;
            }
            .chat-head-actions { display:flex; align-items:center; gap:4px; position:static; z-index:3; flex-shrink:0; }
            .chat-head-actions .btn,
            .chat-head-actions .chat-settings-toggle {
                width:34px;
                min-width:34px;
                height:34px;
                min-height:34px;
                padding:0;
                font-size:.95rem;
            }
            .chat-install {
                width:40px;
                min-width:40px;
                height:40px;
                min-height:40px;
                padding:0;
                border-radius:999px;
                display:inline-flex;
                align-items:center;
                justify-content:center;
            }
            .chat-install svg { display:block; }
            .chat-head-actions .chat-install,
            .chat-head-actions .chat-resize,
            .chat-head-actions .chat-minimize,
            .chat-head-actions .chat-settings-toggle {
                box-sizing:border-box;
                width:36px;
                min-width:36px;
                max-width:36px;
                height:36px;
                min-height:36px;
                max-height:36px;
                padding:0;
                border-radius:12px;
                flex:0 0 36px;
            }
            @media (max-width: 768px) {
                .chat-head-actions .btn,
                .chat-head-actions .chat-install,
                .chat-head-actions .chat-resize,
                .chat-head-actions .chat-minimize,
                .chat-head-actions .chat-settings-toggle {
                    width:36px;
                    min-width:36px;
                    max-width:36px;
                    height:36px;
                    min-height:36px;
                    max-height:36px;
                    padding:0;
                    border-radius:12px;
                    flex:0 0 36px;
                }
            }
            #notify-status:empty { display:none; margin:0; }
            .chat-panel-shell { position:relative; }
            .chat-settings-wrap { position:static; }
            .chat-settings-toggle {
                min-width:44px;
                min-height:44px;
                padding:0 14px;
                border-radius:999px;
                border:1px solid var(--line-strong);
                background:rgba(255,255,255,.92);
                color:var(--accent-strong);
                font-size:1.05rem;
                font-weight:700;
            }
            .chat-settings-toggle.is-active {
                background:var(--accent-soft);
                color:var(--accent);
            }
            .chat-settings-popup {
                position:absolute;
                top:72px;
                left:12px;
                right:12px;
                z-index:50;
                box-sizing:border-box;
                width:auto;
                min-width:0;
                max-width:none;
                max-height:min(70vh, 520px);
                overflow:auto;
                padding:14px;
                border-radius:18px;
                border:1px solid var(--line-strong);
                background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,243,223,.98));
                box-shadow:0 18px 36px rgba(32, 12, 24, .18);
                display:none;
                gap:12px;
            }
            .chat-settings-popup.is-open { display:grid; }
            .chat-settings-head {
                display:flex;
                align-items:flex-start;
                justify-content:space-between;
                gap:10px;
            }
            .chat-settings-title {
                margin:0;
                font-size:1rem;
                color:var(--accent-strong);
            }
            .chat-settings-copy {
                margin:4px 0 0;
                font-size:.8rem;
                line-height:1.4;
                color:var(--muted);
            }
            .chat-settings-close {
                min-width:36px;
                min-height:36px;
                padding:0;
                border-radius:999px;
            }
            .chat-tts-row { display:grid; gap:12px; margin:0; width:100%; }
            .chat-tts-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%; }
            .chat-tts-actions .btn { width:100%; min-height:42px; justify-content:center; white-space:normal; line-height:1.25; }
            .chat-settings-popup select {
                width:100%;
                min-height:44px;
                font-size:.95rem;
                padding:8px 10px;
            }
            .chat-tts-toggle {
                display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:14px;
                border:1px solid var(--line); background:rgba(255,255,255,.86); color:var(--accent-strong);
                font-size:.92rem; font-weight:700; width:100%; box-sizing:border-box;
            }
            .chat-tts-toggle input { width:auto; margin:0; accent-color:var(--accent); }
            .chat-tts-disabled-note {
                width:100%;
                margin:0;
                color:var(--muted);
                font-size:.8rem;
            }
            .chat-tts-status {
                width:100%;
                margin:0;
                color:var(--muted);
                font-size:.8rem;
            }
            .chat-tts-status.is-ready { color:#166534; }
            .chat-tts-status.is-warn { color:#9a3412; }
            .chat-tts-row.is-disabled {
                opacity:.64;
            }
            .chat-tts-row.is-disabled .chat-tts-toggle,
            .chat-tts-row.is-disabled .chat-tts-field select,
            .chat-tts-row.is-disabled .chat-tts-rate {
                cursor:not-allowed;
            }
            .chat-tts-controls {
                display:grid;
                grid-template-columns:1fr;
                gap:10px;
                width:100%;
            }
            .chat-tts-field { display:grid; gap:8px; min-width:0; }
            .chat-tts-field-label {
                display:flex;
                align-items:center;
                justify-content:space-between;
                gap:10px;
                color:var(--muted);
                font-size:.84rem;
                font-weight:700;
            }
            .chat-tts-rate {
                appearance:none;
                height:8px;
                padding:0;
                border-radius:999px;
                border:0;
                background:linear-gradient(90deg, rgba(234,88,12,.22), rgba(185,28,28,.48));
                cursor:pointer;
            }
            .chat-tts-rate::-webkit-slider-thumb {
                appearance:none;
                width:18px;
                height:18px;
                border-radius:50%;
                border:2px solid #fff;
                background:var(--accent);
                box-shadow:0 4px 10px rgba(185,28,28,.18);
            }
            .chat-tts-rate::-moz-range-thumb {
                width:18px;
                height:18px;
                border-radius:50%;
                border:2px solid #fff;
                background:var(--accent);
                box-shadow:0 4px 10px rgba(185,28,28,.18);
            }
            .install-app-link {
                display:inline-flex;
                align-items:center;
                justify-content:center;
                min-height:36px;
                white-space:nowrap;
            }
            .live-voice-toggle {
                width:100%;
                min-height:46px;
                justify-content:center;
                gap:8px;
                margin-top:0;
            }
            .live-voice-toggle strong { font-size:1rem; display:none; }
            .chat-live-voice {
                position:absolute;
                inset:auto 12px 12px;
                z-index:28;
                margin:0;
                padding:14px;
                width:auto;
                max-width:none;
                justify-items:center;
                align-content:start;
                max-height:min(58vh, 420px);
                box-sizing:border-box;
                border-radius:20px;
                border:1px solid var(--line-strong);
                background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,243,223,.98));
                box-shadow:0 18px 36px rgba(32, 12, 24, .16);
                display:none;
                gap:12px;
                text-align:center;
                overflow:auto;
            }
            .chat-live-voice.is-open { display:grid; }
            .chat-compose { position:relative; }
            .chat-live-voice-top {
                display:flex;
                align-items:flex-start;
                justify-content:space-between;
                gap:12px;
                width:100%;
                text-align:left;
            }
            .chat-live-voice-body {
                width:min(100%, 560px);
                margin:0 auto;
                display:grid;
                justify-items:center;
                gap:14px;
            }
            .chat-live-voice-title {
                margin:0;
                color:var(--accent-strong);
                font-size:1rem;
            }
            .chat-live-voice-copy {
                margin:4px 0 0;
                color:var(--muted);
                font-size:.84rem;
            }
            .chat-live-voice-close {
                min-width:40px;
                min-height:40px;
                padding:0;
                border-radius:999px;
            }
            .chat-live-voice-stage {
                display:grid;
                justify-items:center;
                gap:14px;
                min-width:0;
            }
            .chat-live-voice-orb {
                width:min(100%, 220px);
                min-height:96px;
                border-radius:22px;
                position:relative;
                padding:16px 18px;
                display:flex;
                align-items:center;
                justify-content:center;
                background:
                    radial-gradient(circle at 18% 20%, rgba(255,255,255,.82), rgba(255,255,255,0) 34%),
                    linear-gradient(135deg, rgba(255,108,138,.94), rgba(124,94,255,.92) 40%, rgba(32,195,200,.88) 72%, rgba(255,197,84,.92));
                box-shadow:0 14px 28px rgba(128, 24, 63, .2);
                transition:transform .2s ease, box-shadow .2s ease, filter .2s ease, background .2s ease;
                overflow:hidden;
            }
            .chat-live-voice-orb::before,
            .chat-live-voice-orb::after {
                content:"";
                position:absolute;
                inset:10px;
                border-radius:22px;
                border:1px solid rgba(255,255,255,.24);
                opacity:0;
                transform:scale(.9);
            }
            .chat-live-voice-bars {
                position:relative;
                z-index:1;
                display:flex;
                align-items:flex-end;
                justify-content:center;
                gap:6px;
                min-height:clamp(72px, 15vh, 104px);
                height:clamp(72px, 15vh, 104px);
            }
            .chat-live-voice-bar {
                width:11px;
                height:26px;
                border-radius:999px;
                background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.18));
                box-shadow:0 8px 18px rgba(27, 8, 18, .18);
                transform-origin:center bottom;
                transform:scaleY(var(--bar-scale, .28));
                opacity:calc(.48 + (var(--bar-scale, .28) * .52));
                transition:transform .08s linear, background .08s linear, opacity .08s linear;
            }
            .chat-live-voice-bar.is-low { background:linear-gradient(180deg, #6ee7b7, #34d399); }
            .chat-live-voice-bar.is-mid { background:linear-gradient(180deg, #60a5fa, #8b5cf6); }
            .chat-live-voice-bar.is-high { background:linear-gradient(180deg, #f59e0b, #f43f5e); }
            .chat-live-voice.is-listening .chat-live-voice-orb,
            .chat-live-voice.is-speaking .chat-live-voice-orb {
                animation:liveVoicePulse 1.25s ease-in-out infinite;
            }
            .chat-live-voice.is-listening .chat-live-voice-orb::before,
            .chat-live-voice.is-listening .chat-live-voice-orb::after,
            .chat-live-voice.is-speaking .chat-live-voice-orb::before,
            .chat-live-voice.is-speaking .chat-live-voice-orb::after {
                opacity:1;
                animation:liveVoiceRing 1.6s ease-out infinite;
            }
            .chat-live-voice.is-speaking .chat-live-voice-orb {
                filter:saturate(1.1) brightness(1.02);
            }
            .chat-live-voice.is-thinking .chat-live-voice-orb {
                animation:liveVoiceThink 1.1s ease-in-out infinite;
            }
            .chat-live-voice-state {
                font-weight:800;
                color:var(--accent-strong);
                font-size:1rem;
            }
            .chat-live-voice-transcript {
                margin:0;
                min-height:44px;
                color:var(--text);
                font-size:.95rem;
                overflow-wrap:anywhere;
            }
            .chat-live-voice-readout {
                width:min(100%, 560px);
                margin:0 auto;
                padding:0 6px;
                display:grid;
                gap:8px;
                text-align:center;
            }
            .chat-live-voice-actions {
                display:flex;
                gap:10px;
                justify-content:center;
                flex-wrap:wrap;
                width:min(100%, 560px);
                margin:0 auto;
            }
            .chat-live-voice-actions .btn {
                width:min(100%, 360px);
                min-width:min(100%, 220px);
            }
            .chat-live-voice-spectrum {
                width:min(100%, 560px);
                display:none;
                grid-template-columns:repeat(20, minmax(0, 1fr));
                align-items:end;
                gap:4px;
                padding:12px 14px 6px;
                border-radius:18px;
                background:rgba(255,255,255,.42);
                border:1px solid rgba(255,255,255,.34);
                box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
            }
            .chat-live-voice-spectrum-bar {
                height:22px;
                border-radius:999px;
                transform-origin:center bottom;
                transform:scaleY(var(--spectrum-scale, .16));
                background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.12));
                opacity:calc(.42 + (var(--spectrum-scale, .16) * .58));
                transition:transform .08s linear, background .08s linear, opacity .08s linear;
            }
            .chat-live-voice-spectrum-bar.is-low { background:linear-gradient(180deg, #6ee7b7, #22c55e); }
            .chat-live-voice-spectrum-bar.is-mid { background:linear-gradient(180deg, #60a5fa, #8b5cf6); }
            .chat-live-voice-spectrum-bar.is-high { background:linear-gradient(180deg, #f59e0b, #f43f5e); }
            @media (max-height: 860px) {
                .chat-live-voice {
                    padding:14px;
                    gap:12px;
                    max-height:min(66vh, 480px);
                }
                .chat-live-voice-stage {
                    gap:10px;
                }
                .chat-live-voice-orb {
                    width:min(100%, 220px);
                    min-height:110px;
                    padding:14px 16px;
                }
                .chat-live-voice-bars {
                    min-height:74px;
                    height:74px;
                    gap:5px;
                }
                .chat-live-voice-bar {
                    width:10px;
                }
                .chat-live-voice-transcript {
                    min-height:34px;
                    font-size:.9rem;
                }
            }
            @keyframes liveVoicePulse {
                0%, 100% { transform:scale(1); box-shadow:0 20px 42px rgba(128, 24, 63, .24); }
                50% { transform:scale(1.06); box-shadow:0 26px 48px rgba(128, 24, 63, .30); }
            }
            @keyframes liveVoiceRing {
                0% { opacity:.42; transform:scale(.9); }
                100% { opacity:0; transform:scale(1.25); }
            }
            @keyframes liveVoiceThink {
                0%, 100% { transform:translateY(0) scale(1); }
                50% { transform:translateY(-4px) scale(1.04); }
            }
            .chat-launcher.is-hidden { opacity:0; pointer-events:none; transform:translateY(16px); }
            .notice { margin-top:10px; font-size:.9rem; color:#c2410c; }
            .notice.success { color:#166534; }
            [data-theme="dark"] .notice { color:#ff9770; }
            [data-theme="dark"] .notice.success { color:#66bb6a; }
            [data-theme="dark"] .chat-settings-toggle {
                background:rgba(29,22,28,.92);
                color:#f4d9e3;
            }
            [data-theme="dark"] .chat-settings-popup {
                background:linear-gradient(180deg, rgba(36,26,18,.98), rgba(43,19,29,.96));
                box-shadow:0 24px 46px rgba(0,0,0,.34);
            }
            [data-theme="dark"] .chat-tts-toggle {
                background:rgba(255,243,223,.08);
                border-color:rgba(247,210,223,.18);
                color:#ffedd5;
            }
            [data-theme="dark"] .chat-tts-field-label {
                color:#d8bcc8;
            }
            [data-theme="dark"] .chat-tts-status {
                color:#cfb8c2;
            }
            [data-theme="dark"] .chat-settings-copy {
                color:#cfb8c2;
            }
            .notice:empty { display:none; }
            [data-theme="dark"] .chat-live-voice {
                background:linear-gradient(180deg, rgba(36,26,18,.98), rgba(43,19,29,.96));
            }
            [data-theme="dark"] .chat-live-voice-orb {
                background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.20), rgba(196,67,114,.92));
            }
            .app-engage-strip {
                position:fixed;
                left:max(12px, env(safe-area-inset-left));
                right:max(12px, env(safe-area-inset-right));
                bottom:calc(16px + env(safe-area-inset-bottom, 0px));
                z-index:90;
                display:grid;
                gap:8px;
                max-width:420px;
                margin-inline:auto;
                padding:12px;
                border-radius:18px;
                border:1px solid rgba(255,247,249,.18);
                background:linear-gradient(135deg, #991b1b 0%, #b91c1c 58%, #c2410c 100%);
                color:#fff7f9;
                box-shadow:0 16px 36px rgba(75, 16, 40, 0.32);
                transform:translateY(130%);
                opacity:0;
                pointer-events:none;
                visibility:hidden;
                transition:transform .42s cubic-bezier(0.22, 1, 0.36, 1), opacity .28s ease, visibility 0s linear .42s;
            }
            .app-engage-strip.is-visible {
                transform:translateY(0);
                opacity:1;
                pointer-events:auto;
                visibility:visible;
                transition:transform .42s cubic-bezier(0.22, 1, 0.36, 1), opacity .28s ease, visibility 0s;
            }
            .app-engage-strip__head {
                display:flex;
                align-items:flex-start;
                justify-content:space-between;
                gap:10px;
            }
            .app-engage-strip__copy {
                min-width:0;
                flex:1;
            }
            .app-engage-strip__title {
                margin:0;
                font-size:0.92rem;
                font-weight:800;
                line-height:1.3;
                color:#fff;
            }
            .app-engage-strip__body {
                margin:0.2rem 0 0;
                font-size:0.78rem;
                line-height:1.4;
                color:rgba(255, 247, 249, 0.9);
            }
            .app-engage-strip__close {
                flex:0 0 34px;
                width:34px;
                height:34px;
                border:0;
                border-radius:999px;
                background:rgba(255,255,255,0.12);
                color:#fff;
                font-size:1.15rem;
                line-height:1;
                cursor:pointer;
            }
            .app-engage-strip__actions {
                display:grid;
                grid-template-columns:1fr;
                gap:6px;
            }
            .app-engage-strip__btn {
                border:0;
                border-radius:999px;
                min-height:38px;
                padding:0.45rem 0.85rem;
                font-size:0.82rem;
                font-weight:700;
                line-height:1.2;
                cursor:pointer;
                text-align:center;
                box-sizing:border-box;
                white-space:normal;
            }
            .app-engage-strip__btn--install {
                background:#fff;
                color:#991b1b;
            }
            .app-engage-strip__btn--notify,
            .app-engage-strip__btn--location {
                background:rgba(255,255,255,0.14);
                color:#fff7f9;
                border:1px solid rgba(255,247,249,0.42);
            }
            .app-engage-strip__btn[hidden] { display:none !important; }
            body.ai-guru-open .app-engage-strip,
            body.menu-open .app-engage-strip {
                opacity:0;
                pointer-events:none;
                transform:translateY(130%);
                visibility:hidden;
            }
            @media (max-width: 960px) {
                .app-engage-strip {
                    max-width:none;
                    bottom:calc(var(--mobile-nav-offset, 72px) + 8px);
                }
                body.has-engage-strip .chat-launcher {
                    bottom:calc(var(--mobile-nav-offset, 72px) + 210px);
                }
                .install-banner { display:none !important; }
            }
            @media (min-width: 961px) {
                .app-engage-strip {
                    left:auto;
                    right:20px;
                    bottom:96px;
                    width:min(380px, calc(100vw - 40px));
                    margin-inline:0;
                }
            }
            .install-banner { display:none; position:sticky; top:68px; z-index:20; background:rgba(255,255,255,.94); border-bottom:1px solid rgba(23,23,23,.08); }
            [data-theme="dark"] .install-banner { background:rgba(26,26,26,.94); border-bottom-color:rgba(255,255,255,.08); }
            .install-banner.is-ready { display:block; }
            .install-inner { min-height:54px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 0; }
            .install-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
            .install-dismiss { min-height:42px; padding:0 16px; }
            .tool-location-status { margin-top:8px; font-size:.88rem; color:#9a3412; }
            .tool-location-status.success { color:#166534; }
            .ai-ask-prompt { position:fixed; right:18px; bottom:96px; z-index:97; display:none; align-items:center; gap:6px; }
            .ai-ask-prompt.is-open { display:flex; }
            .ai-ask-prompt-bubble { position:relative; border:0; cursor:pointer; border-radius:999px; padding:8px 14px; background:#fff; color:var(--accent-dark); font-weight:800; font-size:.82rem; box-shadow:0 10px 24px rgba(185,28,28,.18); white-space:nowrap; }
            .ai-ask-prompt-bubble::after { content:''; position:absolute; right:18px; bottom:-5px; width:10px; height:10px; background:#fff; transform:rotate(45deg); }
            .ai-ask-prompt-dismiss { width:28px; height:28px; border-radius:999px; border:1px solid var(--line); background:#fff; color:var(--accent-dark); cursor:pointer; font-size:1rem; line-height:1; }
            [data-theme="dark"] .ai-ask-prompt-bubble,
            [data-theme="dark"] .ai-ask-prompt-bubble::after,
            [data-theme="dark"] .ai-ask-prompt-dismiss {
                background:#2a1822;
                color:#f6e7ee;
                border-color:rgba(246,231,238,.22);
            }
            [data-theme="dark"] .ai-ask-prompt-bubble {
                box-shadow:0 10px 24px rgba(0,0,0,.35);
            }
            .ai-ask-prompt-actions { display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
            .feedback-shell { padding-top:6px; }
            .feedback-card { display:grid; gap:18px; padding:20px; background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(252,246,249,.96)); }
            .feedback-shell { transition:opacity .22s ease, transform .22s ease; }
            .feedback-shell.is-submitted { opacity:0; transform:translateY(6px); pointer-events:none; }
            .feedback-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,285px); gap:18px; align-items:start; }
            .feedback-choices { display:flex; flex-wrap:wrap; gap:10px; }
            .feedback-choice { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid var(--line); border-radius:999px; background:var(--panel); color:var(--text); cursor:pointer; transition:border-color .18s ease, background .18s ease, transform .18s ease; }
            .feedback-choice:hover { border-color:var(--line-strong); background:var(--accent-soft); transform:translateY(-1px); }
            .feedback-choice input { width:auto; margin:0; accent-color:var(--accent); }
            .feedback-stars { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; width:100%; max-width:285px; }
            .feedback-star { position:relative; min-width:0; overflow:hidden; }
            .feedback-star input { position:absolute; opacity:0; pointer-events:none; }
            .feedback-star label { display:inline-flex; align-items:center; justify-content:center; width:100%; min-width:0; min-height:44px; padding:0 8px; box-sizing:border-box; border-radius:999px; border:1px solid var(--line); background:var(--panel); color:var(--accent-dark); font-weight:700; cursor:pointer; transition:border-color .18s ease, background .18s ease, transform .18s ease; }
            .feedback-star label:hover { border-color:var(--line-strong); background:var(--accent-soft); transform:translateY(-1px); }
            .feedback-star input:checked + label { border-color:var(--line-strong); background:var(--accent-soft); color:var(--accent); }
            .feedback-form { display:grid; gap:14px; }
            .feedback-field { display:grid; gap:8px; }
            .feedback-field-label { font-size:.92rem; font-weight:700; color:var(--accent-dark); }
            .feedback-note-wrap {
                position:relative;
                border-radius:20px;
                border:1px solid transparent;
                background-image:
                    linear-gradient(rgba(255,255,255,.96), rgba(255,255,255,.96)),
                    linear-gradient(135deg, rgba(216,183,197,.95) 0%, rgba(234,88,12,.94) 50%, rgba(185,28,28,.95) 100%);
                background-origin:border-box;
                background-clip:padding-box, border-box;
                box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
            }
            .feedback-form textarea {
                width:100%;
                min-height:112px;
                resize:vertical;
                padding:14px 16px;
                border:0;
                outline:none;
                background:transparent;
                color:var(--text);
                font:inherit;
                line-height:1.6;
            }
            .feedback-form textarea::placeholder { color:color-mix(in srgb, var(--muted) 88%, white); }
            .feedback-note-wrap:focus-within { box-shadow:0 0 0 4px rgba(234,88,12,.10), 0 12px 24px rgba(185,28,28,.08); }
            [data-theme="dark"] .feedback-card { background:linear-gradient(180deg, rgba(36,26,18,.98), rgba(48,34,24,.96)); }
            [data-theme="dark"] .feedback-note-wrap {
                background-image:
                    linear-gradient(rgba(36,26,18,.96), rgba(36,26,18,.96)),
                    linear-gradient(135deg, rgba(251,146,60,.88) 0%, rgba(185,28,28,.94) 55%, rgba(247,210,223,.72) 100%);
            }
            .toast { position:fixed; top:92px; right:20px; z-index:70; max-width:min(360px, calc(100vw - 24px)); padding:14px 16px; border-radius:18px; border:1px solid var(--line-strong); background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,243,223,.96)); box-shadow:var(--shadow); display:none; }
            .toast.is-open { display:block; }
            [data-theme="dark"] .toast { background:linear-gradient(180deg, rgba(36,26,18,.98), rgba(43,19,29,.96)); }
            .toast-actions { display:flex; justify-content:flex-end; margin-top:10px; }
            .bubble-guide-image {
                margin-top:12px;
                padding:12px;
                border-radius:16px;
                border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line));
                background:rgba(255,248,251,.9);
            }
            [data-theme="dark"] .bubble-guide-image {
                background:rgba(48,34,24,.72);
            }
            .bubble-guide-image strong {
                display:block;
                font-size:.92rem;
            }
            .bubble-guide-image img {
                display:block;
                width:100%;
                max-width:100%;
                height:auto;
                margin-top:10px;
                border-radius:12px;
                border:1px solid color-mix(in srgb, var(--accent) 16%, var(--line));
                background:#fff;
            }
            .bubble-tool-card { margin-top:10px; padding:12px; border-radius:16px; border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line)); background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,243,223,.82)); }
            [data-theme="dark"] .bubble-tool-card { background:linear-gradient(180deg, rgba(48,34,24,.95), rgba(36,26,18,.95)); }
            .bubble-tool-badge { display:inline-flex; align-items:center; gap:6px; min-height:28px; padding:0 10px; border-radius:999px; border:1px solid var(--line-strong); background:var(--accent-soft); color:var(--accent); font-weight:800; font-size:.78rem; letter-spacing:.02em; text-transform:uppercase; }
            .bubble-tool-copy { margin-top:8px; font-size:.9rem; color:var(--muted); }
            .bubble-chart-package { margin-top:12px; display:grid; gap:12px; }
            .bubble-chart-package-title { font-size:.95rem; font-weight:800; color:var(--text); }
            .bubble-chart-tabs { display:flex; gap:6px; overflow-x:auto; scrollbar-width:thin; padding-bottom:2px; }
            .bubble-chart-tab { flex:0 0 auto; min-height:34px; padding:0 11px; border:1px solid var(--line-strong); border-radius:999px; background:var(--panel); color:var(--muted); font:inherit; font-size:.78rem; font-weight:750; cursor:pointer; }
            .bubble-chart-tab.is-active { background:var(--accent); border-color:var(--accent); color:#fff; }
            .bubble-chart-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line-strong); border-radius:8px; overflow:hidden; background:var(--panel); }
            .bubble-chart-house { min-width:0; min-height:68px; padding:7px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
            .bubble-chart-house:nth-child(4n) { border-right:0; }
            .bubble-chart-house:nth-last-child(-n+4) { border-bottom:0; }
            .bubble-chart-house-no { display:block; color:var(--accent); font-size:.68rem; font-weight:800; }
            .bubble-chart-sign { display:block; margin-top:2px; font-size:.75rem; font-weight:750; overflow-wrap:anywhere; }
            .bubble-chart-planets { display:block; margin-top:3px; color:var(--muted); font-size:.68rem; line-height:1.35; overflow-wrap:anywhere; }
            .bubble-dasha-card { padding:11px; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
            .bubble-dasha-current { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
            .bubble-dasha-pill { padding:5px 8px; border-radius:999px; background:var(--accent-soft); color:var(--accent); font-size:.72rem; font-weight:750; }
            .bubble-dasha-table { width:100%; margin-top:8px; border-collapse:collapse; font-size:.7rem; }
            .bubble-dasha-table th,.bubble-dasha-table td { padding:5px 4px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
            .bubble-dasha-table tr.is-current td { color:var(--accent); font-weight:800; }
            .bubble-chart-note { margin:0; color:var(--muted); font-size:.75rem; line-height:1.45; }
            .bubble-priority-summary { margin:10px 0 4px; padding:11px; border:1px solid var(--line-strong); border-radius:8px; background:color-mix(in srgb, var(--accent-soft) 42%, var(--panel)); }
            .bubble-priority-title { display:block; margin-bottom:8px; font-size:.86rem; font-weight:850; color:var(--text); }
            .bubble-priority-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
            .bubble-priority-item { min-width:0; padding:8px; border:1px solid var(--line); border-radius:7px; background:var(--panel); }
            .bubble-priority-item:last-child:nth-child(odd) { grid-column:1/-1; }
            .bubble-priority-label { display:block; color:var(--muted); font-size:.68rem; font-weight:750; }
            .bubble-priority-value { display:block; margin-top:3px; color:var(--text); font-size:.78rem; font-weight:800; line-height:1.4; overflow-wrap:anywhere; }
            .bubble-priority-item.is-positive { border-color:rgba(30,128,91,.28); }
            .bubble-priority-item.is-positive .bubble-priority-value { color:#176b4d; }
            .bubble-priority-item.is-caution { border-color:rgba(165,105,15,.3); }
            .bubble-priority-item.is-caution .bubble-priority-value { color:#8a590d; }
            .bubble-priority-note { margin:8px 0 0; color:var(--muted); font-size:.7rem; line-height:1.4; }
            .bubble-reply-section { margin:0 0 10px; }
            .bubble-reply-section:last-child { margin-bottom:0; }
            .bubble-reply-section.is-intro { font-weight:700; color:var(--text); }
            .bubble-reply-details { margin-top:8px; border-top:1px solid var(--line); padding-top:8px; }
            .bubble-reply-details > summary { display:inline-flex; align-items:center; min-height:38px; padding:0 14px; border:1px solid var(--line-strong); border-radius:999px; color:var(--accent); background:var(--accent-soft); font-weight:800; cursor:pointer; list-style:none; }
            .bubble-reply-details > summary::-webkit-details-marker { display:none; }
            .bubble-reply-details > summary::after { content:'+'; margin-left:8px; font-size:1.05rem; }
            .bubble-reply-details[open] > summary::after { content:'−'; }
            .bubble-reply-details-body { margin-top:12px; }
            .bubble-reply-details-body h3 { margin:12px 0 4px; font-size:.95rem; line-height:1.35; }
            @media (max-width:520px) {
                .bubble-chart-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
                .bubble-chart-house:nth-child(4n) { border-right:1px solid var(--line); }
                .bubble-chart-house:nth-child(3n) { border-right:0; }
                .bubble-chart-house:nth-last-child(-n+4) { border-bottom:1px solid var(--line); }
                .bubble-chart-house:nth-last-child(-n+3) { border-bottom:0; }
            }
            .bubble-links { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
            .bubble-link { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:0 12px; border-radius:999px; border:1px solid var(--line-strong); background:var(--accent-soft); color:var(--accent); font-weight:700; font-size:.85rem; }
            .bubble-link.is-donation {
                min-height:44px;
                padding:0 17px 0 11px;
                gap:9px;
                border-color:#a76b16;
                background:#76143a;
                color:#fff;
                box-shadow:0 8px 20px rgba(118,20,58,.2), inset 0 0 0 1px rgba(255,255,255,.12);
                font-size:.92rem;
                font-weight:800;
            }
            .bubble-link.is-donation:hover { background:#8d1947; color:#fff; transform:translateY(-1px); }
            .bubble-link.is-donation:focus-visible { outline:3px solid rgba(213,157,54,.38); outline-offset:2px; }
            .bubble-link-coin {
                display:inline-flex;
                align-items:center;
                justify-content:center;
                width:27px;
                height:27px;
                flex:0 0 27px;
                border:1px solid rgba(255,255,255,.64);
                border-radius:50%;
                background:#d59d36;
                color:#40101f;
                box-shadow:inset 0 0 0 2px rgba(255,255,255,.2);
                font-size:.85rem;
                font-weight:900;
                line-height:1;
            }
            .bubble-followups,
            .bubble-language-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
            .bubble-language-choice,
            .bubble-language-button { min-width:0; padding:6px 12px; font-size:.82rem; }
            .bubble-profile-board {
                display:grid;
                gap:10px;
                margin-top:10px;
            }
            .bubble-profile-group {
                padding:10px 12px;
                border-radius:14px;
                border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
                background:rgba(255,255,255,.72);
            }
            [data-theme="dark"] .bubble-profile-group {
                background:rgba(48,34,24,.82);
                border-color:rgba(251,146,60,.18);
            }
            .bubble-profile-group-name {
                margin:0 0 8px;
                font-size:.86rem;
                font-weight:800;
                color:var(--text);
                line-height:1.35;
            }
            .bubble-profile-actions {
                display:grid;
                grid-template-columns:repeat(3, minmax(0, 1fr));
                gap:8px;
            }
            .bubble-profile-actions .bubble-followup {
                width:100%;
                min-height:36px;
                padding:0 8px;
                font-size:.78rem;
            }
            .bubble-followup.is-add {
                width:100%;
                justify-content:center;
            }
            .bubble-followup.is-danger {
                border-color:rgba(176,32,64,.24);
                color:#9f1239;
                background:rgba(255,241,245,.92);
            }
            [data-theme="dark"] .bubble-followup.is-danger {
                border-color:rgba(251,113,133,.28);
                color:#fecdd3;
                background:rgba(76,17,32,.72);
            }
            .bubble-followup {
                display:inline-flex;
                align-items:center;
                justify-content:center;
                min-height:34px;
                padding:0 12px;
                border-radius:999px;
                border:1px solid rgba(185,28,28,.12);
                background:rgba(255,255,255,.88);
                color:var(--accent-dark);
                font-weight:700;
                font-size:.82rem;
                cursor:pointer;
            }
            .bubble-language-button { min-width:96px; }
            .bubble-followup:hover { border-color:var(--line-strong); background:var(--accent-soft); color:var(--accent); }
            [data-theme="dark"] .bubble-followup { background:rgba(48,34,24,.95); border-color:rgba(251,146,60,.20); color:var(--text); }
            .bubble.assistant:has(.bubble-confirm-card) {
                width:100%;
                max-width:100%;
                padding:12px;
            }
            .bubble-confirm-card {
                margin-top:10px;
                padding:14px 12px 12px;
                border-radius:16px;
                border:1.5px solid color-mix(in srgb, var(--accent) 48%, var(--line-strong));
                background:
                    radial-gradient(circle at 12% 0%, rgba(255,255,255,.9), rgba(255,255,255,0) 34%),
                    linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,243,223,.9));
                display:grid;
                gap:10px;
                width:100%;
                min-width:0;
                box-sizing:border-box;
                box-shadow:0 8px 18px rgba(185,28,28,.07);
            }
            .bubble-confirm-copy {
                margin:0;
                font-size:.82rem;
                color:var(--muted);
                line-height:1.45;
            }
            .bubble-profile-form {
                display:grid;
                grid-template-columns:1fr 1fr;
                gap:10px 12px;
                padding:0;
                border:0;
                border-radius:0;
                background:transparent;
                min-width:0;
            }
            .bubble-profile-form .field-full {
                grid-column:1 / -1;
            }
            .bubble-profile-form label {
                display:grid;
                gap:5px;
                min-width:0;
                font-size:.8rem;
                color:var(--text);
                font-weight:700;
                letter-spacing:.01em;
            }
            .bubble-profile-form label > span:first-child {
                line-height:1.25;
            }
            .bubble-profile-form .field-hint {
                font-size:.72rem;
                font-weight:600;
                color:var(--muted);
                line-height:1.3;
            }
            .bubble-profile-form input {
                min-width:0;
                width:100%;
                min-height:42px;
                padding:9px 11px;
                border-radius:12px;
                border:1px solid rgba(185,28,28,.24);
                background:#fff;
                color:var(--text);
                font:inherit;
                font-size:16px;
                line-height:1.25;
                box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
                transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
            }
            .bubble-profile-form input::placeholder {
                color:color-mix(in srgb, var(--muted) 78%, transparent);
                font-size:.88em;
            }
            .bubble-profile-form input:focus {
                outline:none;
                border-color:var(--accent);
                box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);
            }
            .bubble-profile-form .place-suggestions-dropdown {
                position:absolute;
                top:calc(100% + 6px);
                right:0;
                left:0;
                z-index:40;
                max-height:min(240px, 34vh);
                overflow-y:auto;
                border:1px solid var(--line-strong);
                border-radius:12px;
                background:#fff;
                box-shadow:0 14px 34px rgba(45,18,31,.18);
            }
            .bubble-profile-form .place-suggestion-item {
                display:block;
                width:100%;
                padding:10px 12px;
                border:0;
                border-bottom:1px solid var(--line);
                background:transparent;
                color:var(--text);
                text-align:left;
                cursor:pointer;
            }
            .bubble-profile-form .place-suggestion-item:last-child { border-bottom:0; }
            .bubble-profile-form .place-suggestion-item:hover,
            .bubble-profile-form .place-suggestion-item.is-active { background:var(--accent-soft); }
            .bubble-profile-form .place-suggestion-name { display:block; font-weight:750; line-height:1.3; }
            .bubble-profile-form .place-suggestion-meta { display:block; margin-top:2px; color:var(--muted); font-size:.72rem; font-weight:600; }
            [data-theme="dark"] .bubble-profile-form .place-suggestions-dropdown { background:var(--panel); }
            .bubble-profile-form input[type="text"],
            .bubble-profile-form input[name="birth_place"],
            .bubble-profile-form input[name="full_name"] {
                border-color:rgba(185,28,28,.28);
                background:#fff;
            }
            .bubble-profile-form input[type="date"],
            .bubble-profile-form input[type="time"] {
                appearance:none;
                -webkit-appearance:none;
                color-scheme:light;
                font-size:15px;
                font-variant-numeric:tabular-nums;
                letter-spacing:0;
                padding-inline:8px;
            }
            .bubble-profile-form input[type="date"]::-webkit-calendar-picker-indicator,
            .bubble-profile-form input[type="time"]::-webkit-calendar-picker-indicator {
                opacity:1;
                cursor:pointer;
                width:16px;
                height:16px;
                margin-left:2px;
            }
            .bubble-confirm-actions {
                display:grid;
                grid-template-columns:1fr;
                gap:8px;
                margin-top:2px;
            }
            .bubble-confirm-actions .bubble-followup {
                width:100%;
                min-height:42px;
                height:42px;
                padding:8px 12px;
                border-radius:12px;
                font-size:.82rem;
                font-weight:700;
                line-height:1.2;
                white-space:normal;
                text-align:center;
                box-sizing:border-box;
            }
            .bubble-followup.is-primary {
                background:var(--accent);
                border-color:var(--accent);
                color:#fff;
            }
            .bubble-followup.is-primary:hover {
                background:var(--accent-strong);
                border-color:var(--accent-strong);
                color:#fff;
            }
            [data-theme="dark"] .bubble-confirm-card {
                background:linear-gradient(180deg, rgba(48,34,24,.95), rgba(36,26,18,.95));
                border-color:color-mix(in srgb, var(--accent) 58%, rgba(255,255,255,.22));
            }
            [data-theme="dark"] .bubble-profile-form {
                background:transparent;
                border-color:transparent;
            }
            [data-theme="dark"] .bubble-profile-form input {
                background:rgba(18,14,18,.96);
                border-color:rgba(251,146,60,.38);
                color:var(--text);
                box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
            }
            [data-theme="dark"] .bubble-profile-form input[type="text"],
            [data-theme="dark"] .bubble-profile-form input[name="birth_place"],
            [data-theme="dark"] .bubble-profile-form input[name="full_name"] {
                border-color:rgba(251,146,60,.42);
                background:rgba(18,14,18,.98);
            }
            [data-theme="dark"] .bubble-profile-form input[type="date"],
            [data-theme="dark"] .bubble-profile-form input[type="time"] {
                color-scheme:dark;
            }
            [data-theme="dark"] .bubble-profile-form input[type="date"]::-webkit-calendar-picker-indicator,
            [data-theme="dark"] .bubble-profile-form input[type="time"]::-webkit-calendar-picker-indicator {
                filter:invert(0.92);
            }
            [data-theme="dark"] .bubble-profile-form label,
            [data-theme="dark"] .bubble-confirm-copy {
                color:#f6e7ee;
            }
            [data-theme="dark"] .bubble-profile-form .field-hint,
            [data-theme="dark"] .bubble-profile-form .place-suggestion-meta {
                color:#d2c6cf;
            }
            [data-theme="dark"] .bubble-profile-form .place-suggestions-dropdown {
                background:#241a12;
                border-color:rgba(251,146,60,.42);
            }
            [data-theme="dark"] .bubble-profile-form .place-suggestion-item {
                color:#f6e7ee;
                border-bottom-color:rgba(255,255,255,.08);
            }
            [data-theme="dark"] .bubble-profile-form .place-suggestion-item:hover,
            [data-theme="dark"] .bubble-profile-form .place-suggestion-item.is-active {
                background:#302218;
            }
            @media (min-width: 420px) {
                .chat-panel.is-maximized .bubble-confirm-actions {
                    grid-template-columns:1fr 1fr;
                }
            }
            @media (max-width: 360px) {
                .bubble-profile-form {
                    grid-template-columns:1fr;
                }
                .bubble-profile-form input[type="date"],
                .bubble-profile-form input[type="time"] {
                    font-size:15px;
                }
            }
            .ad-shell { display:grid; gap:14px; }
            .ad-slot {
                min-height:120px;
                border-radius:24px;
                border:1px dashed color-mix(in srgb, var(--accent) 18%, var(--line));
                background:
                    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,243,223,.76));
                padding:18px;
                box-shadow:var(--shadow);
            }
            .ad-slot.is-mobile-inline { min-height:104px; }
            [data-theme="dark"] .ad-slot {
                background:linear-gradient(180deg, rgba(36,26,18,.95), rgba(43,19,29,.88));
                border-color:rgba(251,146,60,.22);
            }
            @media (max-width: 960px) { .feedback-grid { grid-template-columns:1fr; } }
            @media (min-width: 1280px) { .section { padding:24px 0; } .card { padding:18px; } }
            .section.feedback-shell { padding-top:4px !important; padding-bottom:4px !important; }
            body.tool-form-page .section.feedback-shell { padding-top:4px !important; padding-bottom:4px !important; }
            .section:has(+ .feedback-shell) { padding-bottom:4px !important; }
            .feedback-shell + .tools-guide-section { padding-top:4px !important; }
            .feedback-card { gap:10px; padding:12px 14px; }
            .feedback-card h2 { margin-top:4px !important; margin-bottom:0; font-size:.95rem !important; }
            .feedback-shell .eyebrow { font-size:.68rem; }
            .feedback-shell p,
            .feedback-shell .feedback-field-label,
            .feedback-shell .feedback-star label,
            .feedback-shell textarea,
            .feedback-shell .btn { font-size:.78rem; }
            .feedback-card .muted { margin-top:4px !important; }
            .feedback-form { gap:8px; }
            .feedback-form textarea { min-height:72px; padding:10px 12px; }
            @media (min-width: 1181px) { .desktop-header-shell .nav { grid-template-columns:minmax(0,1fr) auto; } }
            @media (max-width: 1480px) { .locale-switch span { display:none; } .brand-word { font-size:.98rem; } .nav-links { font-size:.82rem; } .nav-links a { padding:6px 7px; max-width:none; } .header-search { max-width:200px; min-width:140px; } .header-search-input { font-size:.82rem; padding:8px 42px 8px 12px; } .utility-link { font-size:.75rem; padding:0 9px; } }
            /* Narrow laptop: keep 4 primary nav links, hide secondary chrome */
            @media (min-width: 1181px) and (max-width: 1360px) {
                .desktop-sidebar-toggle span:not(.toggle-icon) { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
                .desktop-sidebar-toggle { padding:0 10px; }
                .nav-links { flex-shrink:0; overflow:visible; min-width:max-content; }
                .nav-links a { max-width:none; flex:0 0 auto; overflow:visible; text-overflow:clip; }
                .header-search { max-width:160px; min-width:120px; }
                .header-utility.desktop-utility { display:none; }
                #theme-toggle-btn { padding:8px 10px; font-size:.78rem; }
                .voice-trigger { opacity:.72; }
                .header-search-shell:focus-within .voice-trigger,
                .voice-trigger:hover,
                .voice-trigger:focus-visible,
                .voice-trigger.is-listening { opacity:1; }
            }
            /* Standard desktop: all nav links; soft-hide only utility strip */
            @media (min-width: 1361px) and (max-width: 1500px) {
                .nav-links a { max-width:none; text-overflow:clip; }
                .header-search { max-width:200px; min-width:148px; }
                .header-utility.desktop-utility { display:none; }
                #theme-toggle-btn { padding:8px 10px; font-size:.78rem; }
            }
            @media (max-width: 1280px) { .header-search { max-width:200px; min-width:140px; } .nav-links a { max-width:none; } .locale-switch { gap:4px; } .locale-pill { padding:5px 8px; font-size:.78rem; } }
            @media (min-width: 1501px) { .header-utility.desktop-utility { display:none !important; } }
            @media (max-width: 1180px) { .nav { grid-template-columns:minmax(0,1fr) auto; min-height:auto; padding:10px 0; gap:12px; align-items:center; } .desktop-nav-cluster { min-width:0; } .brand { min-width:0; } .brand img { width:48px; height:48px; } .brand-word { font-size:1rem; } .nav-links { display:none; } .header-controls { display:flex; gap:6px; } .header-controls > .header-utility,
                .header-controls > .nav-auth { display:none !important; } .header-controls > .header-search { max-width:150px; min-width:110px; } .header-controls > .locale-switch { display:flex; } .header-controls > #theme-toggle-btn { display:inline-flex; padding:8px 10px; font-size:.78rem; } .mobile-menu-btn { display:inline-flex !important; width:auto; grid-column:3; grid-row:1; justify-self:end; align-self:center; } .desktop-header-shell .nav { grid-template-columns:auto minmax(0,1fr) auto; } .desktop-nav-cluster { grid-column:1; grid-row:1; } .header-controls { grid-column:2; grid-row:1; min-width:0; } .header-controls > .nav-auth { display:flex !important; } .header-controls > .header-search { flex:1 1 180px; max-width:260px; min-width:0; } .desktop-sidebar-toggle { display:none !important; } .mobile-drawer { top:0; left:0; bottom:0; width:min(318px, 86vw); max-width:86vw; min-width:0; height:100dvh; max-height:100dvh; border-right:1px solid var(--line); border-left:none; border-top:none; border-bottom:none; border-radius:0 24px 24px 0; box-shadow:18px 0 42px rgba(0,0,0,.15); transform:translateX(-105%); } .mobile-drawer .locale-switch, .mobile-drawer .nav-auth, .mobile-drawer .header-utility { width:100%; justify-content:flex-start; flex-wrap:wrap; } .mobile-drawer .nav-auth a, .mobile-drawer button, .mobile-drawer .utility-link { flex:1 1 auto; } .install-banner { top:64px; } }
            @media (min-width: 1181px) {
                .mobile-drawer-backdrop { display:block; opacity:0; pointer-events:none; transition:opacity .22s ease; }
                .mobile-drawer-backdrop.is-open { opacity:1; pointer-events:auto; }
                .mobile-drawer {
                    display:block;
                    top:74px;
                    left:14px;
                    bottom:14px;
                    right:auto;
                    width:288px;
                    max-width:min(288px, calc(100vw - 28px));
                    min-width:288px;
                    height:calc(100dvh - 88px);
                    max-height:calc(100dvh - 88px);
                    margin:0;
                    border-radius:22px;
                    padding:16px 14px 20px;
                    background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,243,223,.94));
                    border:1px solid rgba(185,28,28,.10);
                    box-shadow:22px 18px 44px rgba(0,0,0,.16);
                    overflow-y:auto;
                    overflow-x:hidden;
                    -webkit-overflow-scrolling:touch;
                    overscroll-behavior:contain;
                    touch-action:pan-y;
                    transform:translateX(-104%) scale(.985);
                    opacity:0;
                    transition:transform .26s ease, opacity .2s ease;
                    pointer-events:none;
                }
                .mobile-drawer.is-open { transform:translateX(0) scale(1); opacity:1; pointer-events:auto; }
                .mobile-drawer-heading { display:flex; }
            }
            @media (max-width: 960px) { .install-inner { flex-direction:column; align-items:flex-start; padding:12px 0; } .grid, main .shell[style*="display:grid"][style*="grid-template-columns"], main .shell[style*="display: grid"][style*="grid-template-columns"] { grid-template-columns:minmax(0,1fr) !important; } .section-head p { max-width:none; } .header-utility { width:100%; } .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } .footer-brand { grid-column:1 / -1; } .footer-meta { flex-direction:column; } .footer-meta-legal { text-align:left; } }
            @media (min-width: 769px) and (max-width: 1100px) {
                .footer-grid { grid-template-columns:1fr 1fr; }
                .footer-brand { grid-column:1 / -1; }
                .footer-brand .footer-actions { grid-template-columns:repeat(4, minmax(0, 1fr)); }
                .footer-actions-support { margin-top:0; }
                .footer-brand .footer-actions-primary,
                .footer-brand .footer-actions-support { display:contents; }
                .footer-brand { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); align-items:start; }
                .footer-brand > strong,
                .footer-brand > p,
                .footer-brand > .footer-note { grid-column:1 / -1; }
            }
            @media (max-width: 768px) {
                html, body { margin:0; padding-top:0; overflow-x:hidden; }
                body { padding-bottom:var(--mobile-nav-offset); }
                body.tool-form-page { padding-bottom:var(--mobile-nav-offset); }
                body.tool-form-page .section { padding-top:8px !important; padding-bottom:4px; }
                body.menu-open { overflow:hidden; }
                .desktop-header-shell { display:none; }
                .mobile-app-header { display:block; position:sticky; top:0; z-index:74; background:rgba(255,255,255,.98); color:var(--text); border-bottom:1px solid rgba(185,28,28,.10); box-shadow:0 10px 24px rgba(30,10,20,.04); margin:0; padding:0; }
                .mobile-app-shell { width:min(var(--max), calc(100% - 20px)); margin:0 auto; }
                .mobile-app-topbar { position:relative; display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:7px; min-height:56px; padding:6px 0; overflow:hidden; }
                .mobile-app-topbar.is-searching { overflow:visible; z-index:5; }
                .mobile-app-brand { display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; overflow:hidden; }
                .mobile-app-brand img { width:36px; height:36px; border-radius:11px; display:block; background:#fffaf0; padding:3px; flex:0 0 36px; }
                .mobile-app-brand-copy { min-width:0; }
                .mobile-app-brand-title { display:block; max-width:176px; font-size:.92rem; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--accent-dark); letter-spacing:-0.03em; text-transform:uppercase; }
                .mobile-app-brand-subtitle { display:none; }
                .mobile-app-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; min-width:0; }
                .tablet-chrome-locale,
                .tablet-chrome-theme { display:none; }
                .tablet-chrome-locale { align-items:center; gap:3px; padding:2px; border-radius:12px; border:1px solid rgba(185,28,28,.12); background:#fff; }
                .tablet-chrome-locale-pill { display:inline-flex; align-items:center; justify-content:center; min-width:34px; min-height:32px; padding:0 8px; border-radius:9px; color:var(--muted); font-size:.72rem; font-weight:800; }
                .tablet-chrome-locale-pill.is-active { background:var(--accent); color:#fff; }
                #mobile-app-menu-toggle { justify-self:start; align-self:center; position:relative; left:0; margin:0; }
                .mobile-app-icon-btn { display:inline-flex; align-items:center; justify-content:center; width:42px; min-width:42px; height:42px; border-radius:12px; border:1px solid rgba(185,28,28,.12); background:#fff; color:var(--accent-dark); font-size:1rem; box-shadow:0 5px 13px rgba(30,10,20,.05); cursor:pointer; transition:all .15s ease; }
                .tablet-chrome-theme { display:none !important; }
                .mobile-search-icon { position:relative; display:block; width:18px; height:18px; box-sizing:border-box; border:2px solid currentColor; border-radius:50%; overflow:visible; }
                .mobile-search-icon::after { content:''; position:absolute; width:6px; height:2px; right:-2px; bottom:0; border-radius:2px; background:currentColor; transform:rotate(45deg); transform-origin:center; }
                .mobile-header-search { position:absolute; inset:6px 0; z-index:3; display:flex; align-items:center; gap:7px; padding:0 2px; background:inherit; transform:translateX(104%); opacity:0; pointer-events:none; transition:transform .22s ease, opacity .18s ease; }
                .mobile-app-topbar.is-searching .mobile-header-search { transform:translateX(0); opacity:1; pointer-events:auto; }
                .mobile-header-search form { flex:1; min-width:0; }
                .mobile-header-search input { width:100%; height:42px; border:1px solid rgba(185,28,28,.18); border-radius:12px; padding:0 13px; background:#fff; color:var(--text); font:inherit; outline:none; }
                .mobile-header-search input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(194,65,12,.09); }
                .mobile-header-search-close { flex:0 0 42px; }
                .mobile-header-search-results { position:absolute; top:calc(100% + 8px); left:0; right:0; max-height:min(68vh, 420px); overflow:auto; z-index:40; }
                .mobile-app-icon-btn:hover { border-color:var(--accent); background:var(--accent-soft); transform:translateY(-1px); box-shadow:0 8px 20px rgba(30,10,20,.08); }
                .mobile-app-icon-btn:active { transform:translateY(0); box-shadow:0 4px 12px rgba(30,10,20,.04); }
                .mobile-app-icon-btn.is-badge { position:relative; }
                .mobile-app-icon-btn-badge { position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#d33c67; color:#fff; font-size:.67rem; font-weight:800; display:inline-flex; align-items:center; justify-content:center; }
                #mobile-install-open,
                #mobile-notify-open { display:none !important; }
                @media (min-width: 600px) {
                    .tablet-chrome-locale { display:inline-flex; }
                    .tablet-chrome-theme { display:inline-flex !important; }
                    .mobile-app-brand-title { max-width:132px; font-size:.92rem; }
                }
                .mobile-app-tabs { display:none !important; gap:14px; overflow:auto; padding:0 0 10px; scrollbar-width:none; }
                .mobile-app-tabs::-webkit-scrollbar { display:none; }
                .mobile-app-tab { position:relative; flex:0 0 auto; padding:9px 2px 11px; color:#765f6c; font-weight:700; font-size:.82rem; }
                .mobile-app-tab.is-active { color:var(--accent); }
                .mobile-app-tab.is-active::after { content:''; position:absolute; left:0; right:0; bottom:0; height:3px; border-radius:999px; background:linear-gradient(90deg, var(--accent), #d9a21b); }
                .mobile-drawer-backdrop { display:block; opacity:0; pointer-events:none; transition:opacity .22s ease; }
                .mobile-drawer-backdrop.is-open { opacity:1; pointer-events:auto; background:rgba(20,8,16,.58); }
                .mobile-drawer { display:block; top:0; left:0; bottom:0; right:auto; width:min(88vw, 380px); max-width:88vw; height:100dvh; max-height:100dvh; margin:0; border-radius:0 22px 22px 0; padding:calc(10px + env(safe-area-inset-top)) 12px calc(112px + env(safe-area-inset-bottom)); background:linear-gradient(180deg, rgba(255,255,255,1), rgba(255,243,223,.99)); color:var(--text); border-right:1px solid rgba(185,28,28,.10); box-shadow:24px 0 48px rgba(0,0,0,.18); overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; touch-action:pan-y; scrollbar-width:none; transform:translateX(-104%) scale(.985); opacity:0; transition:transform .26s ease, opacity .2s ease; pointer-events:none; }
                .mobile-drawer::-webkit-scrollbar { width:0; height:0; }
                .mobile-drawer.is-open { transform:translateX(0) scale(1); opacity:1; pointer-events:auto; }
                .mobile-drawer.shell { width:min(88vw, 380px); max-width:88vw; }
                .mobile-drawer .header-search-input,
                .mobile-drawer .header-search-empty,
                .mobile-drawer .header-search-more,
                .mobile-drawer .header-search-item,
                .mobile-drawer .mobile-search-results,
                .mobile-drawer .mobile-drawer-links a,
                .mobile-drawer .utility-link,
                .mobile-drawer .locale-pill { background:#fff; color:var(--text); border-color:rgba(185,28,28,.12); }
                .mobile-drawer .header-search-input::placeholder { color:rgba(185,28,28,.58); opacity:1; }
                .mobile-drawer .header-search-item strong,
                .mobile-drawer .header-search-more,
                .mobile-drawer .header-search-more span,
                .mobile-drawer .header-search-item-meta,
                .mobile-drawer .muted { color:var(--muted); }
                .mobile-drawer-heading { align-items:center; padding-bottom:8px; margin-bottom:2px; gap:8px; }
                .mobile-drawer-heading-title { font-size:.98rem; }
                .mobile-drawer-heading-subtitle { font-size:.74rem; margin-top:2px; }
                .mobile-drawer-close { width:44px; height:44px; flex:0 0 44px; border-radius:999px; }
                .mobile-drawer-profile { display:grid; gap:10px; padding-bottom:12px; margin-bottom:10px; border-bottom:1px solid rgba(185,28,28,.10); }
                .mobile-drawer-profile-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
                .mobile-drawer-profile-user { display:flex; align-items:center; gap:12px; min-width:0; }
                .mobile-drawer-avatar { width:44px; height:44px; border-radius:14px; background:linear-gradient(135deg, #f4d4dc, #a53c63); display:inline-flex; align-items:center; justify-content:center; color:#991b1b; font-size:1.05rem; font-weight:800; }
                .mobile-drawer-profile-title { font-size:1.05rem; font-weight:800; }
                .mobile-drawer-profile-subtitle { font-size:.8rem; color:var(--muted); }
                .mobile-search-shell { margin-bottom:12px; }
                .drawer-section-kicker { font-size:.68rem; letter-spacing:.11em; }
                .mobile-drawer-links a { background:#fff; border:1px solid rgba(185,28,28,.10); min-height:54px; padding:10px 12px; color:var(--text); font-weight:700; box-shadow:0 6px 16px rgba(30,10,20,.04); border-radius:14px; }
                .mobile-drawer-links a.is-active { background:var(--accent-soft); color:var(--accent); border-color:var(--line-strong); }
                .mobile-drawer-parent { min-height:56px; padding:10px 12px; border-radius:14px; background:#fff; border-color:rgba(185,28,28,.10); box-shadow:0 6px 16px rgba(30,10,20,.04); font-size:1rem; }
                .mobile-drawer-child { min-height:46px; padding:9px 11px; border-radius:12px; background:#fff; border-color:rgba(185,28,28,.08); }
                .mobile-drawer-meta { border-top-color:rgba(185,28,28,.10); }
                .mobile-theme-toggle { display:inline-flex; }
                .mobile-theme-toggle .mobile-theme-toggle-icon { flex:0 0 24px; }
                .mobile-bottom-nav { display:grid; grid-template-columns:repeat(5, 1fr); position:fixed; left:0; right:0; bottom:0; z-index:58; min-height:72px; padding:6px 8px calc(6px + env(safe-area-inset-bottom)); gap:6px; background:rgba(255,255,255,.98); backdrop-filter:blur(18px); border-top:1px solid rgba(185,28,28,.10); box-shadow:0 -10px 24px rgba(30,10,20,.06); }
                body.menu-open .mobile-bottom-nav { opacity:0; pointer-events:none; transform:translateY(110%); transition:transform .2s ease, opacity .2s ease; }
                .mobile-bottom-nav-item { display:grid; justify-items:center; gap:3px; min-height:58px; padding:4px 2px; color:var(--muted); font-size:.75rem; font-weight:700; text-align:center; background:none; border:0; }
                .mobile-bottom-nav-item strong { width:48px; height:48px; border-radius:13px; display:inline-flex; align-items:center; justify-content:center; background:#fff; border:1px solid rgba(185,28,28,.10); font-size:.96rem; font-weight:800; color:var(--accent-dark); box-shadow:0 6px 14px rgba(30,10,20,.04); }
                .mobile-bottom-nav-item.is-active { color:var(--accent); }
                .mobile-bottom-nav-item.is-active strong { background:linear-gradient(135deg, #8e234c, #991b1b); color:#fffaf0; border-color:rgba(244,212,220,.28); }
                [data-theme="dark"] .mobile-app-header {
                    background:rgba(24,12,20,.96);
                    color:var(--text);
                    border-bottom-color:rgba(255,255,255,.08);
                    box-shadow:0 12px 28px rgba(0,0,0,.28);
                }
                [data-theme="dark"] .mobile-app-brand-title { color:#fff7ed; }
                [data-theme="dark"] .mobile-app-brand-subtitle { color:#d7c3cd; }
                [data-theme="dark"] .mobile-app-icon-btn {
                    background:rgba(49,27,39,.95);
                    color:#ffdce8;
                    border-color:rgba(255,255,255,.10);
                    box-shadow:0 8px 20px rgba(0,0,0,.24);
                }
                [data-theme="dark"] .mobile-app-icon-btn:hover {
                    background:rgba(68,35,51,.98);
                    border-color:rgba(251,146,60,.34);
                }
                [data-theme="dark"] .mobile-header-search { background:rgba(24,12,20,.98); }
                [data-theme="dark"] .mobile-header-search input { background:rgba(49,27,39,.98); color:#fff7ed; border-color:rgba(255,255,255,.12); }
                [data-theme="dark"] .mobile-app-tab { color:#d4bec9; }
                [data-theme="dark"] .mobile-app-tab.is-active { color:#ffd6e2; }
                [data-theme="dark"] .mobile-drawer {
                    background:linear-gradient(180deg, rgba(36,26,18,.99), rgba(39,21,32,.98));
                    color:#f7eef3;
                    border-right-color:rgba(255,255,255,.08);
                }
                [data-theme="dark"] .mobile-drawer .header-search-input,
                [data-theme="dark"] .mobile-drawer .header-search-empty,
                [data-theme="dark"] .mobile-drawer .header-search-more,
                [data-theme="dark"] .mobile-drawer .header-search-item,
                [data-theme="dark"] .mobile-drawer .mobile-search-results,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-links a,
                [data-theme="dark"] .mobile-drawer .utility-link,
                [data-theme="dark"] .mobile-drawer .locale-pill,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-parent,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-child {
                    background:rgba(54,31,43,.96);
                    color:#fff1f6;
                    border-color:rgba(255,255,255,.09);
                    box-shadow:none;
                }
                [data-theme="dark"] .mobile-drawer .header-search-input::placeholder { color:rgba(255,238,246,.62); opacity:1; }
                [data-theme="dark"] .mobile-drawer .header-search-item strong,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-links a,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-parent,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-child,
                [data-theme="dark"] .mobile-drawer .header-search-empty,
                [data-theme="dark"] .mobile-drawer .header-search-more {
                    color:#fff1f6;
                }
                [data-theme="dark"] .mobile-drawer .header-search-item-meta,
                [data-theme="dark"] .mobile-drawer .header-search-more span,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-heading-subtitle,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-profile-subtitle,
                [data-theme="dark"] .mobile-drawer .muted,
                [data-theme="dark"] .drawer-section-kicker {
                    color:#d7c2cc;
                }
                [data-theme="dark"] .mobile-drawer .header-search-item:hover,
                [data-theme="dark"] .mobile-drawer .header-search-item.is-active,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-links a.is-active,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-parent.is-open,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-parent.is-active,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-child:hover,
                [data-theme="dark"] .mobile-drawer .mobile-drawer-child.is-active {
                    background:rgba(103,45,69,.95);
                    color:#fffaf0;
                    border-color:rgba(251,146,60,.34);
                }
                [data-theme="dark"] .mobile-drawer-close {
                    background:rgba(54,31,43,.96);
                    color:#ffe4ec;
                    border-color:rgba(255,255,255,.09);
                }
                [data-theme="dark"] .mobile-bottom-nav {
                    background:rgba(24,12,20,.98);
                    border-top-color:rgba(255,255,255,.08);
                    box-shadow:0 -12px 28px rgba(0,0,0,.26);
                }
                [data-theme="dark"] .mobile-bottom-nav-item { color:#d7c4ce; }
                [data-theme="dark"] .mobile-bottom-nav-item strong {
                    background:rgba(49,27,39,.95);
                    border-color:rgba(255,255,255,.09);
                    color:#ffe3ec;
                    box-shadow:none;
                }
                [data-theme="dark"] .mobile-bottom-nav-item.is-active { color:#ffd6e3; }
                [data-theme="dark"] .mobile-bottom-nav-item.is-active strong {
                    background:linear-gradient(135deg, #c2410c, #991b1b);
                    color:#fff7fa;
                }
                .install-banner { position:static; top:auto; background:rgba(255,255,255,.96); border-bottom-color:rgba(185,28,28,.10); color:var(--text); }
                .install-banner .muted { color:var(--muted); }
                .footer { padding-bottom:16px; }
                body.ai-guru-open { overflow:hidden; }
                body.ai-guru-open .mobile-bottom-nav,
                body.ai-guru-open .chat-launcher,
                body.ai-guru-open .notify-launcher {
                    display:none !important;
                }
                .chat-panel {
                    left:0;
                    right:0;
                    top:0;
                    bottom:0;
                    width:100vw;
                    height:100dvh;
                    max-height:100dvh;
                    border-radius:0;
                    z-index:120;
                    border:0;
                    box-shadow:none;
                }
                .chat-panel-shell {
                    border-radius:0;
                    height:100%;
                    max-height:100dvh;
                }
                .chat-resize { display:none !important; }
                .chat-head { padding-top:calc(12px + env(safe-area-inset-top)); padding-bottom:10px; }
                .chat-head-copy .muted,
                .chat-head-copy > div.muted {
                    -webkit-line-clamp:1;
                    font-size:.74rem;
                }
                .chat-compose { padding-bottom:calc(12px + env(safe-area-inset-bottom)); }
                .chat-messages { max-height:none; flex:1 1 auto; padding-bottom:16px; }
                .chat-tts-controls { grid-template-columns:1fr; }
                .chat-compose-actions { grid-template-columns:1fr 1fr; }
                .chat-settings-popup {
                    position:fixed;
                    top:max(70px, calc(env(safe-area-inset-top, 0px) + 58px));
                    left:12px;
                    right:12px;
                    bottom:auto;
                    width:auto;
                    max-width:none;
                    max-height:min(58dvh, 420px);
                }
                .chat-live-voice {
                    inset:auto 10px calc(12px + env(safe-area-inset-bottom, 0px));
                    max-height:min(52dvh, 380px);
                }
            .chat-launcher.btn {
                display:inline-flex;
                right:14px;
                bottom:var(--mobile-launcher-offset);
                z-index:86;
                width:96px;
                height:54px;
                min-width:96px;
                min-height:54px;
                max-width:96px;
                padding:0;
                border-radius:999px;
                box-shadow:0 14px 28px rgba(185,28,28,.18);
            }
            /* Tools directory: keep FAB from covering the last tool-card CTAs */
            body:has(.tools-directory-shell) .chat-launcher.btn {
                width:52px;
                min-width:52px;
                max-width:52px;
                height:52px;
                min-height:52px;
                font-size:0;
            }
            body:has(.tools-directory-shell) .chat-launcher.btn::after {
                content:'✦';
                font-size:1.15rem;
                line-height:1;
                color:#fff;
            }
            body:has(.tools-directory-shell) .tools-directory-shell {
                padding-bottom:72px;
            }
            /* Tool forms: keep primary CTA / fields clear of FAB + bottom nav */
            body.tool-form-page main,
            body.tool-form-page .shell {
                padding-bottom:8px;
            }
            body.tool-form-page .feedback-shell .shell,
            body.tool-form-page .best-remedy-shell .shell,
            body.tool-form-page .tools-guide-section .shell {
                padding-bottom:0;
            }
            @media (max-width: 640px) {
                body.tool-form-page .chat-launcher.btn {
                    width:52px;
                    min-width:52px;
                    max-width:52px;
                    height:52px;
                    min-height:52px;
                    font-size:0;
                    padding:0;
                }
                body.tool-form-page .chat-launcher.btn::after {
                    content:'✦';
                    font-size:1.15rem;
                    line-height:1;
                    color:#fff;
                }
            }
                .notify-launcher { display:none; }
                .ai-ask-prompt { right:12px; bottom:calc(var(--mobile-launcher-offset, 84px) + 58px); }
                .footer-shell { padding:22px 18px 18px; }
                .section { padding:18px 0; }
                .ad-slot { min-height:110px; border-radius:20px; padding:16px; }
            }
            @media (max-width: 640px) { .shell { width:min(var(--max), calc(100% - 20px)); } .card { padding:17px; border-radius:20px; } .tab-row { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; margin-right:-2px; } .tab-row a { flex:0 0 auto; white-space:nowrap; } .locale-switch { flex-wrap:wrap; } .footer-grid { gap:18px; } .footer-actions .btn { width:100%; } .footer-meta-copy { font-size:.82rem; } .chat-launcher { right:10px; bottom:var(--mobile-launcher-offset); width:92px; height:52px; min-width:92px; min-height:52px; max-width:92px; padding:0; } .chat-launcher::before { font-size:.82rem; } .chat-tts-row { align-items:stretch; } .chat-settings-wrap { position:relative; } .chat-settings-popup { position:fixed; top:max(66px, calc(env(safe-area-inset-top, 0px) + 58px)); right:10px; left:10px; bottom:auto; width:auto; min-width:0; max-height:calc(100dvh - max(86px, calc(env(safe-area-inset-top, 0px) + 78px))); overflow:auto; overscroll-behavior:contain; border-radius:20px; } .chat-head-actions { position:static; } .chat-live-voice { padding:14px; max-height:min(64vh, 460px); } .chat-live-voice-orb { min-height:124px; width:100%; } .chat-live-voice-bars { gap:4px; } .chat-live-voice-bar { width:9px; } .chat-live-voice-spectrum { grid-template-columns:repeat(16, minmax(0, 1fr)); gap:3px; } .chat-messages { padding-bottom:42px; } .chat-compose { padding-bottom:calc(24px + env(safe-area-inset-bottom)); } .chat-compose textarea { min-height:76px; margin-bottom:10px; } .chat-compose-actions { grid-template-columns:1fr 1fr; gap:8px; margin-top:8px; } #ai-guru-send, .live-voice-toggle { width:100%; min-height:46px; padding-inline:10px; border-radius:18px; font-size:.9rem; } .live-voice-toggle { gap:6px; } .live-voice-toggle strong { display:none; } .live-voice-toggle span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .chat-panel.is-maximized { top:0; right:0; bottom:0; left:0; width:100vw; max-height:100dvh; height:100dvh; } .chat-panel.is-maximized .chat-compose textarea { min-height:68px; } .chat-panel.is-maximized .chat-compose-actions { grid-template-columns:1fr 1fr; } }
            @media (max-width: 420px) { .chat-live-voice { max-height:min(60vh, 420px); padding:12px; border-radius:20px; } .chat-live-voice-title { font-size:.94rem; } .chat-live-voice-copy { font-size:.8rem; } .chat-live-voice-state { font-size:.92rem; } .chat-live-voice-transcript { font-size:.88rem; min-height:30px; } }
            @media (max-width: 640px) {
                .chat-messages { padding-bottom:18px; }
                .chat-compose { padding:10px 12px calc(12px + env(safe-area-inset-bottom)); }
                .chat-compose textarea { min-height:64px; margin-bottom:6px; }
                .chat-voice-hint { margin-top:5px; font-size:.76rem; }
                .chat-compose-actions {
                    display:grid;
                    grid-template-columns:1fr 1fr;
                    width:fit-content;
                    max-width:100%;
                    margin-left:auto;
                    gap:8px;
                    margin-top:8px;
                }
                #ai-guru-send,
                .live-voice-toggle {
                    min-height:44px;
                    padding-inline:10px;
                    border-radius:16px;
                    font-size:.88rem;
                }
                .live-voice-toggle { gap:5px; }
                .chat-panel.is-maximized .chat-compose textarea { min-height:68px; }
                .chat-panel.is-maximized .chat-compose-actions {
                    display:flex;
                    flex-direction:column;
                    justify-content:flex-end;
                    grid-template-columns:none;
                }
            }
            @media (max-width: 768px) {
                .mobile-drawer-backdrop.is-open {
                    background:rgba(20, 14, 18, .70);
                    backdrop-filter:blur(2px);
                }
                aside.mobile-drawer,
                aside.mobile-drawer.shell {
                    box-sizing:border-box;
                    width:min(340px, 88vw);
                    max-width:88vw;
                    padding:calc(8px + env(safe-area-inset-top)) 10px calc(26px + env(safe-area-inset-bottom));
                    border-radius:0 22px 22px 0;
                    background:linear-gradient(180deg, rgba(255,253,247,1), rgba(255,243,223,.995));
                    overflow-y:auto;
                    overflow-x:hidden;
                    scrollbar-width:thin;
                    scrollbar-color:rgba(185,28,28,.35) transparent;
                }
                aside.mobile-drawer::-webkit-scrollbar { width:4px; }
                aside.mobile-drawer::-webkit-scrollbar-track { background:transparent; }
                aside.mobile-drawer::-webkit-scrollbar-thumb { background:rgba(185,28,28,.35); border-radius:999px; }
                .mobile-drawer-heading {
                    align-items:center;
                    min-height:44px;
                    padding:0 0 6px;
                    margin:0 0 8px;
                    border-bottom:1px solid rgba(185,28,28,.10);
                }
                .mobile-drawer-heading-title { font-size:.9rem; line-height:1.12; }
                .mobile-drawer-heading-subtitle { margin-top:1px; font-size:.68rem; line-height:1.18; }
                .mobile-drawer button.mobile-drawer-close,
                button.mobile-drawer-close {
                    width:44px;
                    min-width:44px;
                    max-width:44px;
                    height:44px;
                    min-height:44px;
                    max-height:44px;
                    flex:0 0 44px;
                    padding:0;
                    border-radius:999px;
                    display:inline-flex;
                    align-items:center;
                    justify-content:center;
                    font-size:1.25rem;
                    line-height:1;
                    justify-self:end;
                }
                .mobile-drawer-profile {
                    gap:8px;
                    padding:0 0 8px;
                    margin:0 0 8px;
                }
                .mobile-drawer-profile-user { gap:10px; }
                .mobile-drawer-avatar {
                    width:42px;
                    height:42px;
                    flex:0 0 42px;
                    border-radius:14px;
                    font-size:.98rem;
                }
                .mobile-drawer-profile-title { font-size:1rem; line-height:1.12; }
                .mobile-drawer-profile-subtitle { font-size:.74rem; line-height:1.24; }
                .mobile-search-shell {
                    margin:8px 0 10px;
                }
                .mobile-drawer .voice-input-shell {
                    min-height:48px;
                    align-items:center;
                }
                .mobile-drawer .header-search-input {
                    min-height:48px;
                    font-size:.9rem;
                }
                .mobile-drawer-group { gap:7px; }
                .drawer-section-kicker {
                    margin:10px 4px 5px;
                    font-size:.66rem;
                    letter-spacing:.12em;
                    line-height:1.2;
                    text-transform:uppercase;
                }
                .mobile-drawer .mobile-drawer-parent,
                .mobile-drawer .mobile-drawer-links a {
                    min-height:50px;
                    padding:0 13px;
                    border-radius:15px;
                    display:flex;
                    align-items:center;
                    justify-content:space-between;
                    gap:12px;
                    font-size:.93rem;
                    line-height:1.25;
                }
                .mobile-drawer .mobile-drawer-child {
                    min-height:42px;
                    padding:8px 12px;
                    border-radius:12px;
                    font-size:.86rem;
                    line-height:1.25;
                }
                .mobile-drawer-meta {
                    padding-top:10px;
                    padding-bottom:calc(22px + env(safe-area-inset-bottom));
                }
            }
            @media (max-width: 380px) {
                aside.mobile-drawer,
                aside.mobile-drawer.shell {
                    width:min(320px, 90vw);
                    max-width:90vw;
                }
                .mobile-drawer .mobile-drawer-parent,
                .mobile-drawer .mobile-drawer-links a {
                    min-height:48px;
                    font-size:.9rem;
                    padding:0 12px;
                }
            }
            @media (display-mode: standalone) { .site-header { padding-top:env(safe-area-inset-top); } .mobile-app-header { padding-top:env(safe-area-inset-top); } .mobile-bottom-nav { padding-bottom:calc(10px + env(safe-area-inset-bottom)); } .notify-launcher { bottom:calc(84px + env(safe-area-inset-bottom)); } .chat-launcher { bottom:calc(124px + env(safe-area-inset-bottom)); } }
            .chat-launcher.btn {
                width:118px;
                min-width:118px;
                max-width:118px;
                height:46px;
                min-height:46px;
                padding:0 14px;
                border:1px solid rgba(255,255,255,.20);
                border-radius:999px;
                background:#84163f;
                background-image:linear-gradient(135deg, #b91c1c 0%, #991b1b 100%);
                color:#fffaf0;
                font-size:.76rem;
                font-weight:900;
                line-height:1;
                letter-spacing:0;
                white-space:nowrap;
                box-shadow:0 18px 34px rgba(84,16,42,.26), inset 0 1px 0 rgba(255,255,255,.18);
                text-shadow:0 1px 0 rgba(39,8,20,.18);
            }
            .chat-launcher.btn:hover {
                transform:translateY(-2px);
                box-shadow:0 22px 42px rgba(84,16,42,.31), inset 0 1px 0 rgba(255,255,255,.18);
            }
            .chat-launcher.btn:active {
                transform:translateY(0);
            }
            .chat-launcher::before { content:none; }
            [data-theme="dark"] .chat-launcher.btn {
                background:#a92b5c;
                background-image:linear-gradient(135deg, #ea580c 0%, #b91c1c 100%);
                box-shadow:0 18px 38px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.16);
            }
            @media (max-width: 980px) {
                .chat-launcher.btn {
                    right:10px;
                    bottom:var(--mobile-launcher-offset);
                    width:112px;
                    min-width:112px;
                    max-width:112px;
                    height:44px;
                    min-height:44px;
                    padding:0 12px;
                    font-size:.72rem;
                    z-index:86;
                }
            }
            @media (max-width: 380px) {
                .chat-launcher.btn {
                    right:8px;
                    width:108px;
                    min-width:108px;
                    max-width:108px;
                    height:42px;
                    min-height:42px;
                    padding:0 10px;
                    font-size:.69rem;
                }
            }
            @media (max-width: 768px) {
                .tools-guide-section {
                    padding-top:6px !important;
                }
                .tool-seo-split {
                    grid-template-columns:1fr !important;
                }
                .tools-guide-section .tool-seo-teaser {
                    display:-webkit-box;
                    -webkit-line-clamp:4;
                    -webkit-box-orient:vertical;
                    overflow:hidden;
                }
                /* Tool forms: keep guide/FAQ as a compact teaser + explicit expand */
                body:has(.tool-form-page) .tools-guide-section .tool-seo-teaser {
                    -webkit-line-clamp:2;
                }
                body:has(.tool-form-page) .tools-guide-section > .shell {
                    gap:10px !important;
                }
                body:has(.tool-form-page) .tools-guide-section > .shell > .card:first-child {
                    padding:14px 16px;
                }
                body:has(.tool-form-page) .tools-guide-section > .shell > .card:first-child h2 {
                    font-size:1.05rem;
                    margin-top:8px !important;
                }
                .tool-seo-guide-more,
                .mobile-editorial-more {
                    display:grid;
                    gap:0;
                }
                .tool-seo-guide-toggle,
                .mobile-editorial-toggle {
                    display:inline-flex;
                    align-items:center;
                    justify-content:center;
                    list-style:none;
                    cursor:pointer;
                    width:100%;
                    min-height:44px;
                    text-align:center;
                }
                .tool-seo-guide-toggle::-webkit-details-marker,
                .mobile-editorial-toggle::-webkit-details-marker { display:none; }
                .tool-seo-guide-more:not([open]) .tool-seo-guide-more-body,
                .mobile-editorial-more:not([open]) .mobile-editorial-more-body { margin-top:0; }
                .tool-seo-guide-more[open] .tool-seo-guide-toggle,
                .mobile-editorial-more[open] .mobile-editorial-toggle { margin-bottom:14px; }
                .hub-editorial-section,
                .tools-guide-section {
                    scroll-margin-top:64px;
                    scroll-margin-bottom:var(--mobile-nav-offset);
                }
                .tools-guide-section {
                    padding-top:6px !important;
                }
                .hub-page .hub-editorial-panel,
                .hub-page .guru-primary-panel,
                .hub-page aside.panel {
                    padding:16px !important;
                }
                .hub-page .hub-hero-actions .btn {
                    width:100%;
                    justify-content:center;
                }
                .hub-page .guru-prompt-grid,
                .hub-page .guru-faq-grid {
                    display:grid !important;
                    overflow:visible;
                    scroll-snap-type:none;
                    padding:0;
                }
                .hub-page .guru-prompt-grid > *,
                .hub-page .guru-faq-grid > * {
                    flex:none;
                    width:auto;
                }
                .tools-guide-section .card h2,
                .hub-editorial-section .section-head h2 {
                    font-size:clamp(1.08rem, 4.6vw, 1.28rem);
                    line-height:1.22;
                    text-wrap:balance;
                }
                .hub-editorial-section .section-head h1 {
                    font-size:clamp(1.35rem, 5vw, 1.85rem);
                    line-height:1.12;
                    text-wrap:balance;
                }
                .hub-page .hub-guide-link-card {
                    padding:14px 16px;
                }
                .hub-page .hub-guide-link-btn {
                    margin-top:10px;
                    width:100%;
                    justify-content:center;
                    min-height:44px;
                }
                .hub-guide-link-section {
                    scroll-margin-bottom:var(--mobile-nav-offset);
                }
                .prediction-feature-grid,
                .prediction-tool-grid,
                .service-catalog-grid {
                    display:grid !important;
                    grid-template-columns:1fr !important;
                    overflow:visible !important;
                    scroll-snap-type:none !important;
                    padding:0 !important;
                }
                .prediction-feature-grid > *,
                .prediction-tool-grid > *,
                .service-catalog-grid > * {
                    flex:none !important;
                    width:auto !important;
                    min-height:auto !important;
                }
                .footer {
                    padding:6px 0 100px;
                }
                .footer-shell {
                    padding:10px 10px 8px;
                    border-radius:16px;
                }
                .footer-grid {
                    display:grid;
                    grid-template-columns:1fr 1fr;
                    gap:8px 12px;
                    padding-bottom:8px;
                }
                .footer-brand {
                    grid-column:1 / -1;
                    grid-row:1;
                    text-align:center;
                }
                .footer-brand > p.muted:nth-of-type(2) {
                    display:none;
                }
                .footer-note {
                    display:none;
                }
                .footer-brand > p.muted:first-of-type {
                    max-width:40ch;
                    margin-left:auto;
                    margin-right:auto;
                }
                .footer-brand {
                    display:grid;
                    grid-template-columns:repeat(4,minmax(0,1fr));
                    gap:6px;
                    align-items:start;
                }
                .footer-brand > strong,
                .footer-brand > p { grid-column:1 / -1; }
                .footer-brand .footer-actions-primary,
                .footer-brand .footer-actions-support { display:contents; }
                .footer-brand .footer-actions .btn {
                    width:100%;
                    min-height:34px;
                    padding:5px 2px;
                    font-size:.74rem;
                    line-height:1.2;
                    white-space:nowrap;
                    box-shadow:none;
                }
                .footer-col-quick { grid-column:1; grid-row:2; }
                .footer-col-legal { grid-column:2; grid-row:2; align-self:start; }
                .footer-col-premium { display:none; }
                .footer-link-ai-guru { display:list-item; }
                .footer-col-quick,
                .footer-col-legal { min-width:0; text-align:left; }
                .footer-links a { overflow-wrap:anywhere; }
                .footer-brand p,
                .footer-col p { margin:0; font-size:.82rem !important; line-height:1.35; }
                .footer-brand strong,
                .footer-col strong { font-size:.9rem; line-height:1.3; }
                .footer-links { margin-top:4px; gap:2px; }
                .footer-links li { line-height:1.3; }
                .footer-links a { display:inline-block; padding:2px 0; font-size:.84rem; line-height:1.3; }
                .footer-actions .btn { min-width:0; }
                .footer-meta {
                    padding-top:6px;
                    justify-content:center;
                    text-align:center;
                }
                .footer-meta-legal {
                    font-size:.74rem;
                    line-height:1.4;
                    text-align:center;
                }
            }
            @media (max-width: 640px) {
                body { padding-bottom:var(--mobile-nav-offset); }
                main > .section:first-child[style*="padding-top:64px"],
                main > .section:first-child[style*="padding-top: 64px"] {
                    padding-top:8px !important;
                }
                main > .section:first-child .section-head h1 {
                    font-size:clamp(1.75rem, 9vw, 2.2rem) !important;
                    line-height:1.08 !important;
                    margin-top:10px !important;
                    text-wrap:balance;
                }
                main > .section:first-child .section-head p {
                    margin-top:8px;
                    line-height:1.48;
                }
                .tool-seo-split {
                    grid-template-columns:1fr !important;
                }
                .mobile-bottom-nav {
                    min-height:66px;
                    padding:5px 7px calc(5px + env(safe-area-inset-bottom));
                    transition:transform .2s ease, opacity .2s ease;
                }
                .mobile-bottom-nav-item { min-height:58px; font-size:.78rem; line-height:1.2; }
                .mobile-bottom-nav-item strong { width:38px; height:38px; border-radius:11px; font-size:.83rem; }
                body:has(input:focus, select:focus, textarea:focus) .mobile-bottom-nav {
                    opacity:0;
                    pointer-events:none;
                    transform:translateY(110%);
                }
                body.mobile-nav-retracted .mobile-bottom-nav {
                    opacity:0;
                    pointer-events:none;
                    transform:translateY(110%);
                }
                body:has(input:focus, select:focus, textarea:focus) .chat-launcher.btn {
                    opacity:.18;
                    pointer-events:none;
                    transform:translateY(12px) scale(.88);
                }
                body.tool-form-page details .grid[style*="grid-template-columns: repeat(2"] {
                    grid-template-columns:1fr !important;
                }
            }
            @media (min-width: 769px) {
                .tool-seo-guide-more > summary,
                .mobile-editorial-more > summary { display:none !important; }
                .tool-seo-guide-more:not([open]) > .tool-seo-guide-more-body,
                .mobile-editorial-more:not([open]) > .mobile-editorial-more-body {
                    display:grid !important;
                }
                .tools-guide-section .tool-seo-teaser {
                    display:block;
                    -webkit-line-clamp:unset;
                    overflow:visible;
                }
            }
            /* Tablet: keep tool FAQ/guide collapsed like phone — short forms first */
            @media (min-width: 769px) and (max-width: 1100px) {
                body:has(.tool-form-page) .tools-guide-section .tool-seo-teaser {
                    display:-webkit-box;
                    -webkit-line-clamp:3;
                    -webkit-box-orient:vertical;
                    overflow:hidden;
                }
                body:has(.tool-form-page) .tool-seo-guide-more > summary {
                    display:inline-flex !important;
                    width:100%;
                    min-height:44px;
                    align-items:center;
                    justify-content:center;
                }
                body:has(.tool-form-page) .tool-seo-guide-more:not([open]) > .tool-seo-guide-more-body {
                    display:none !important;
                }
                body:has(.tool-form-page) .tool-seo-guide-more[open] > .tool-seo-guide-more-body {
                    display:grid !important;
                    gap:18px;
                    margin-top:14px;
                }
            }
            /* Language Selector Modal Styles */
            .language-selector-backdrop { display:flex; position:fixed; inset:0; align-items:center; justify-content:center; background:rgba(0,0,0,.45); backdrop-filter:blur(4px); z-index:200; animation:fadeIn .3s ease-out; }
            .language-selector-backdrop[hidden] { display:none; }
            @keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
            .language-selector-modal { display:flex; flex-direction:column; align-items:center; padding:32px; border-radius:28px; background:var(--panel); border:1px solid var(--line); box-shadow:var(--shadow), 0 32px 64px rgba(0,0,0,.16); max-width:420px; width:calc(100% - 32px); animation:slideUp .4s cubic-bezier(0.34, 1.56, 0.64, 1); }
            @keyframes slideUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
            .language-selector-content { display:flex; flex-direction:column; align-items:center; gap:20px; }
            .language-selector-title { margin:0; font-size:1.5rem; font-weight:800; text-align:center; color:var(--text); }
            .language-selector-subtitle { margin:0; font-size:.95rem; color:var(--muted); text-align:center; }
            .language-selector-buttons { display:flex; gap:16px; width:100%; }
            .language-btn { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; flex:1; padding:20px 16px; border-radius:16px; border:2px solid var(--line); background:var(--panel); cursor:pointer; transition:all .25s ease; text-align:center; color:var(--text); }
            .language-btn:hover { border-color:var(--accent); background:var(--accent-soft); transform:translateY(-2px); }
            .language-btn:active { transform:translateY(0); }
            .language-btn-icon { font-size:32px; display:block; }
            .language-btn-label { font-size:1rem; font-weight:700; display:block; }
            @media (max-width:768px) { .language-selector-modal { padding:24px; max-width:min(100vw - 32px, 340px); } .language-btn { padding:16px 12px; } .language-btn-icon { font-size:28px; } .language-btn-label { font-size:0.9rem; } }



/* Second tools batch: shared premium result language */
.second-five-layout{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:20px;align-items:start}
.tool-result-card{min-width:0;overflow:hidden}
.tool-result-banner{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:14px 16px;margin:14px 0;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:17px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 72%,var(--panel)),var(--panel))}
.tool-result-banner span{padding:7px 10px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-weight:700}
.tool-score-hero{display:grid;grid-template-columns:108px minmax(0,1fr);gap:18px;align-items:center;padding:18px;margin-top:16px;border-radius:20px;background:linear-gradient(135deg,#7c2d12,#991b1b 58%,#b9653e);color:#fff;box-shadow:0 16px 36px rgba(71,24,69,.2)}
.tool-score-orb{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#f6d98f calc(var(--score)*1%),rgba(255,255,255,.16) 0);position:relative}
.tool-score-orb::after{content:'';position:absolute;inset:8px;border-radius:50%;background:#48163f}
.tool-score-orb strong{position:relative;z-index:1;font-size:1.35rem}
.tool-score-copy strong{display:block;font-size:1.25rem}.tool-score-copy p{margin:6px 0 0;color:rgba(255,255,255,.84)}
.tool-result-section{padding:16px;margin-top:14px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 96%,var(--accent-soft))}
.tool-result-section>strong:first-child{font-size:1.02rem;color:var(--accent-dark)}
.tool-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tool-chip{padding:7px 10px;border-radius:999px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));font-weight:750;color:var(--accent-dark)}
.tool-signal-list{display:grid;gap:9px;margin:10px 0 0;padding:0;list-style:none}.tool-signal-list li{padding:12px 13px 12px 38px;border:1px solid var(--line);border-radius:13px;position:relative;background:var(--panel)}.tool-signal-list li::before{content:'✦';position:absolute;left:14px;color:var(--accent)}
.tool-tara-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.tool-tara-card{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.tool-tara-card strong{display:block;color:var(--accent-dark)}
.tool-score-track{height:10px;border-radius:999px;background:color-mix(in srgb,var(--line) 72%,transparent);overflow:hidden;margin-top:12px}.tool-score-track span{display:block;height:100%;width:calc(var(--score)*1%);background:linear-gradient(90deg,#b7653d,#991b1b);border-radius:inherit}
.gochar-table{width:100%;border-collapse:separate!important;border-spacing:0;font-size:.92rem}.gochar-table thead{background:var(--accent-soft)}.gochar-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--accent-soft) 30%,transparent)}.gochar-table th,.gochar-table td{padding:10px!important}.gochar-table th:first-child{border-radius:10px 0 0 0}.gochar-table th:last-child{border-radius:0 10px 0 0}
.nakshatra-result-hero{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:14px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#7c2d12,#991b1b 62%,#bb6b43);color:#fff}.nakshatra-result-hero strong{display:block;font-size:1.6rem}.nakshatra-star-seal{width:74px;height:74px;display:grid;place-items:center;flex:0 0 74px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);font-size:2rem;color:#f9dc92}
@media(max-width:900px){.second-five-layout{grid-template-columns:1fr}.tool-result-card{overflow:visible}}
@media(max-width:520px){.tool-score-hero{grid-template-columns:78px minmax(0,1fr);padding:14px;gap:13px}.tool-score-orb{width:72px;height:72px}.tool-score-orb::after{inset:6px}.tool-score-orb strong{font-size:1rem}.tool-tara-grid{grid-template-columns:1fr}.nakshatra-star-seal{width:58px;height:58px;flex-basis:58px}}

/* Third-five tools: premium result hierarchy */
.tool-result-card{position:relative;overflow:hidden}.tool-result-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#991b1b,#d9a441,#991b1b)}
[data-audit-result="shaadi-yog"] .tool-score-hero,.tara-result-hero{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-top:18px;padding:20px;border:1px solid rgba(185,28,28,.18);border-radius:18px;background:linear-gradient(135deg,rgba(185,28,28,.08),rgba(217,164,65,.12));color:var(--text)}
[data-audit-result="shaadi-yog"] .tool-score-hero h3,.tara-result-hero h3{margin:5px 0 6px;font-size:clamp(1.15rem,2vw,1.55rem)}
[data-audit-result="shaadi-yog"] .tool-score-orb,.tara-orbit{width:100px;height:100px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(#991b1b calc(var(--score,70)*1%),#f4dfbd 0);position:relative;color:#fff;box-shadow:0 12px 28px rgba(64,19,38,.18)}
[data-audit-result="shaadi-yog"] .tool-score-orb:before,.tara-orbit:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#411326}[data-audit-result="shaadi-yog"] .tool-score-orb strong,[data-audit-result="shaadi-yog"] .tool-score-orb span,.tara-orbit strong,.tara-orbit span{position:relative;z-index:1}[data-audit-result="shaadi-yog"] .tool-score-orb strong,.tara-orbit strong{font-size:1.65rem}[data-audit-result="shaadi-yog"] .tool-score-orb span,.tara-orbit span{font-size:.78rem;opacity:.8}
.shaadi-window-list{display:grid;gap:9px;margin-top:10px}.shaadi-window{padding:11px 13px;border-left:4px solid #d9a441;border-radius:0 10px 10px 0;background:rgba(217,164,65,.1);color:var(--muted)}
.tool-result-note{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:rgba(185,28,28,.07);color:var(--muted);font-size:.92rem}.past-life-banner{margin-top:18px;padding:18px;border:1px solid rgba(217,164,65,.35);border-radius:18px;background:linear-gradient(145deg,rgba(56,27,75,.09),rgba(217,164,65,.12))}
.tool-insight-row{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:start;margin-top:9px;padding:11px;border-radius:12px;background:rgba(185,28,28,.055)}.tool-insight-row span{font-size:.74rem;font-weight:800;letter-spacing:.05em;color:#991b1b}.tool-insight-row p{margin:0;color:var(--muted)}
.tara-orbit{--score:78;background:conic-gradient(#d9a441 78%,#f4dfbd 0)}.tara-cycle-strip{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin:16px 0}.tara-cycle-strip span{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:rgba(185,28,28,.07);font-size:.8rem;font-weight:700}.tara-cycle-strip span.active{background:#991b1b;color:#fff;box-shadow:0 0 0 5px rgba(217,164,65,.2)}
.ghati-output-hero{display:grid;gap:5px;margin-top:18px;padding:22px;border-radius:18px;color:#fff;background:radial-gradient(circle at 90% 10%,rgba(217,164,65,.45),transparent 35%),linear-gradient(135deg,#7c2d12,#991b1b)}.ghati-output-hero strong{font-size:clamp(1.35rem,2.8vw,2rem)}.ghati-output-hero small{opacity:.82}.ghati-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.ghati-fact-grid>div{padding:12px;border-radius:12px;background:rgba(185,28,28,.05)}.ghati-formula{margin-top:16px;padding:15px;border:1px dashed rgba(185,28,28,.35);border-radius:14px}.ghati-formula p{margin:7px 0 0;color:var(--muted)}
.havan-plan-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.havan-plan-summary div{display:grid;gap:3px;text-align:center;padding:15px 8px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,rgba(217,164,65,.09))}.havan-plan-summary strong{font-size:1.5rem;color:#991b1b}.havan-plan-summary span{font-size:.82rem;color:var(--muted)}.havan-flow-rail{display:flex;align-items:center;gap:8px;overflow:auto;padding:10px 0 18px}.havan-flow-rail span{white-space:nowrap;padding:8px 12px;border-radius:999px;background:#7c2d12;color:#fff;font-size:.82rem}.havan-flow-rail span+span:before{content:"→";margin-right:12px;color:#d9a441}
@media(max-width:700px){[data-audit-result="shaadi-yog"] .tool-score-hero,.tara-result-hero{grid-template-columns:1fr;text-align:center}[data-audit-result="shaadi-yog"] .tool-score-orb,.tara-orbit{margin:auto;width:88px;height:88px}.tool-insight-row{grid-template-columns:1fr}.tara-cycle-strip{gap:3px}.tara-cycle-strip span{font-size:.7rem}.ghati-fact-grid{grid-template-columns:1fr 1fr}.havan-plan-summary{grid-template-columns:repeat(2,1fr)}}

/* Fourth-five tools */
.ritual-flow-summary,.reading-snapshot,.kundli-preview-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.ritual-flow-summary>div,.reading-snapshot>div,.kundli-preview-meta>div{padding:14px 10px;text-align:center;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,rgba(217,164,65,.1))}
.ritual-flow-summary strong,.reading-snapshot strong{display:block;font-size:1.35rem;color:#991b1b}
.ritual-flow-summary span,.reading-snapshot span{display:block;font-size:.78rem;color:var(--muted);margin-bottom:4px}
.ritual-progress,.havan-flow-rail{display:flex;gap:8px;overflow:auto;padding:4px 0 14px}
.ritual-progress span{min-width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#7c2d12;color:#fff;font-weight:700}
.fourth-result-grid{grid-template-columns:1fr 1fr;align-items:start}
.match-score-hero{display:grid;grid-template-columns:128px minmax(0,1fr);gap:16px;align-items:center;margin-top:14px;padding:16px;border-radius:18px}
.match-score-ring{width:112px;height:112px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1;background:conic-gradient(#991b1b calc(var(--match)*1%),rgba(255,255,255,.35) 0);position:relative}
.match-score-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.match-score-ring strong,.match-score-ring span{position:relative;z-index:1;margin:0;padding:0}
.match-score-ring strong{font-size:1.6rem;color:#991b1b;line-height:1}
.match-score-ring span{font-size:.72rem;line-height:1;margin-top:2px}
.guna-result-summary{border-radius:16px}
.guna-table-scroll{overflow-x:auto;margin-top:8px}
.guna-meaning-card{margin-top:14px;padding:14px 16px;border-left:4px solid #d9a441;border-radius:0 14px 14px 0;background:rgba(217,164,65,.12)}
.guna-meaning-card p{margin:8px 0 0;color:var(--muted)}
.koota-track{height:8px;border-radius:999px;background:rgba(185,28,28,.12);overflow:hidden;margin-top:6px}
.koota-track span{display:block;height:100%;background:linear-gradient(90deg,#d9a441,#991b1b)}
.download-ready-banner{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,rgba(47,158,98,.12),rgba(217,164,65,.12));border:1px solid rgba(47,158,98,.35)}
.download-ready-banner>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#2f9e62;color:#fff;font-weight:800}
.download-ready-banner p{margin:4px 0 0;color:var(--muted)}
.dasha-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dasha-chip-row span{padding:8px 12px;border-radius:999px;background:rgba(185,28,28,.08);font-weight:700}
@media(max-width:900px){.fourth-result-grid,.ritual-flow-summary,.reading-snapshot{grid-template-columns:1fr}.match-score-hero{grid-template-columns:1fr;justify-items:center;text-align:center}}
.num-score-hero{display:grid;grid-template-columns:108px minmax(0,1fr);gap:14px;align-items:center;margin-top:14px;padding:14px;border-radius:999px;background:rgba(185,28,28,.06);position:relative;overflow:hidden}
.num-score-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(var(--match, 0) * 1%);border-radius:999px;background:linear-gradient(90deg,rgba(185,28,28,.22),rgba(217,164,65,.55));animation:score-capsule-fill 1.1s ease-out both}
.num-score-hero::after{content:"";position:absolute;top:0;bottom:0;left:0;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:score-capsule-shine 1.6s ease-in-out 0.2s both;pointer-events:none}
.num-score-hero > *{position:relative;z-index:1}
@keyframes score-capsule-fill{from{width:0}to{width:calc(var(--match, 0) * 1%)}}
@keyframes score-capsule-shine{from{transform:translateX(-130%)}to{transform:translateX(360%)}}
.reading-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.score-capsule{position:relative;overflow:hidden;flex:0 0 auto;min-width:68px;padding:3px 8px;border-radius:999px;background:rgba(185,28,28,.06);text-align:center;font-size:.75rem;line-height:1.1;font-weight:800;color:#991b1b}
.score-capsule::before{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(var(--match, 0) * 1%);border-radius:999px;background:linear-gradient(90deg,rgba(185,28,28,.22),rgba(217,164,65,.55));animation:score-capsule-fill 1.1s ease-out both}
.score-capsule::after{content:"";position:absolute;top:0;bottom:0;left:0;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:score-capsule-shine 1.6s ease-in-out .2s both;pointer-events:none}
.score-capsule b,.score-capsule small{position:relative;z-index:1;font-weight:800}
.score-capsule small{font-size:.68rem}
.num-score-hero .match-score-ring strong,.num-score-hero .match-score-ring span{display:block;line-height:1}
.num-score-hero .match-score-ring span{font-size:.72rem;color:#635448}
.num-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.num-chip{min-width:44px;padding:8px 10px;border-radius:12px;text-align:center;background:#fff;border:1px solid rgba(185,28,28,.18);font-weight:800;color:#991b1b}
.num-chip.is-on{background:#fff1df}
[data-theme="dark"] .num-chip{background:#241a12;color:#ffedd5;border-color:rgba(247,210,223,.28)}
[data-theme="dark"] .num-chip.is-on{background:#302218;color:#fff}
.premium-order-thumb{border-radius:12px;background:var(--panel-strong);padding:10px;border:1px solid var(--line)}
.plate-list{display:grid;gap:10px;margin-top:10px}
.plate-card{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,rgba(217,164,65,.08))}
.plate-card strong{font-family:ui-monospace,monospace;font-size:1.05rem;letter-spacing:.04em}
.dosha-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dosha-stat{padding:16px;border-radius:16px;border:1px solid var(--line);background:#fff}
.dosha-stat strong{display:block;margin-top:8px;font-size:1.35rem;color:#991b1b}
.dosha-flag{padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:800}
.dosha-flag.is-on{background:#fff1df;color:#7f1d1d}
.dosha-flag.is-off{background:#e8f6ee;color:#14532d}
.first-step{margin-top:4px;padding:14px 16px;border-left:4px solid #991b1b;border-radius:0 14px 14px 0;background:rgba(185,28,28,.06)}
@media(max-width:800px){.dosha-board,.num-score-hero,.kundli-preview-meta{grid-template-columns:1fr}}
@media(max-width:800px){
.num-score-hero{grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:start;margin-top:10px;padding:10px 12px;border-radius:18px}
.num-score-hero::before{border-radius:18px}
.num-score-hero .match-score-ring{width:72px;height:72px}
.num-score-hero .match-score-ring:after{inset:6px}
.num-score-hero .match-score-ring strong{font-size:1.15rem}
.num-score-hero .match-score-ring span{font-size:.6rem;max-width:52px;white-space:normal;line-height:1.1}
.num-score-hero > div > strong{display:block;font-size:.9rem;line-height:1.4}
.num-score-hero .num-chip-row{gap:5px;margin-top:6px}
.num-score-hero .num-chip{min-width:0;padding:4px 8px;border-radius:10px;font-size:.74rem}
.num-score-hero .first-step{margin-top:8px !important;padding:8px 10px;font-size:.8rem;line-height:1.4}
}

/* Stable AI Guru composer actions: override older responsive/maximized rules. */
.chat-panel:not(.is-maximized) .chat-compose {
    padding-left:14px;
    padding-right:14px;
}
.chat-compose .chat-compose-actions {
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(104px, .72fr);
    align-items:stretch;
    width:100%;
    max-width:none;
    margin:10px 0 0;
    gap:10px;
}
.chat-compose #ai-guru-live-open,
.chat-compose #ai-guru-send {
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    min-width:0;
    max-width:none;
    min-height:46px;
    height:46px;
    padding:0 14px;
    border-radius:14px;
    line-height:1.15;
    white-space:nowrap;
}
.chat-compose #ai-guru-send {
    justify-self:stretch;
    box-shadow:0 8px 18px rgba(234,88,12,.18);
}
.chat-action-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    flex:0 0 18px;
}
.chat-action-icon svg { display:block; width:18px; height:18px; }
.chat-panel.is-maximized .chat-compose-actions {
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(112px, .72fr);
    width:100%;
    margin-top:0;
}
@media (max-width: 640px) {
    .chat-compose .chat-compose-actions,
    .chat-panel.is-maximized .chat-compose-actions {
        display:grid;
        grid-template-columns:minmax(0, 1fr) minmax(96px, .72fr);
        width:100%;
        gap:8px;
        margin-top:8px;
    }
    .chat-compose #ai-guru-live-open,
    .chat-compose #ai-guru-send {
        min-height:44px;
        height:44px;
        padding-inline:10px;
        border-radius:13px;
        font-size:.86rem;
    }
    .chat-action-icon,
    .chat-action-icon svg { width:17px; height:17px; flex-basis:17px; }
}
@media (max-width: 380px) {
    .chat-compose .chat-compose-actions,
    .chat-panel.is-maximized .chat-compose-actions { grid-template-columns:minmax(0, 1fr) 96px; }
    .chat-compose #ai-guru-live-open { font-size:.8rem; }
}

/* Keep desktop-header search suggestions anchored to the search field. */
.chat-panel.is-maximized .chat-panel-shell{grid-template-columns:minmax(210px,240px) minmax(0,1fr)}
.chat-panel.is-maximized .chat-head,.chat-panel.is-maximized .chat-messages,.chat-panel.is-maximized .chat-compose{width:min(1120px,calc(100% - 28px));max-width:none;margin-inline:auto}
.chat-panel.is-maximized .chat-head{padding:10px 0 8px}
.chat-panel.is-maximized .chat-messages{padding-inline:0}
.chat-panel.is-maximized .chat-compose #ai-guru-live-open,.chat-panel.is-maximized .chat-compose #ai-guru-send{height:40px;min-height:40px;border-radius:12px}
@media(max-width:768px){
  html,body{max-width:100%;overflow-x:hidden}
  .card,.grid>*,.num-score-hero>*,.tool-form-page .shell>*{min-width:0;max-width:100%}
  .mobile-drawer .mobile-drawer-parent,.mobile-drawer .mobile-drawer-links a{min-height:46px;font-size:.9rem;padding:0 12px}
  .mobile-drawer .mobile-drawer-child{min-height:40px;font-size:.84rem}
  .chat-panel.is-maximized .chat-head,.chat-panel.is-maximized .chat-messages,.chat-panel.is-maximized .chat-compose{width:calc(100% - 20px)}
}
.desktop-header-shell .header-search-shell {
    isolation:isolate;
}
.desktop-header-shell .header-search-results.is-open {
    position:absolute;
    top:calc(100% + 8px);
    left:auto;
    right:0;
    width:min(380px, calc(100vw - 24px));
    max-width:calc(100vw - 24px);
    max-height:min(60vh, 440px);
    overflow:auto;
    overscroll-behavior:contain;
    z-index:90;
}
@media (max-width: 640px) {
    .desktop-header-shell .header-search-results.is-open {
        width:min(340px, calc(100vw - 20px));
        max-width:calc(100vw - 20px);
        max-height:min(56vh, 400px);
        border-radius:16px;
    }
}
@media (max-width: 768px) {
    .tool-insert-heading { display:none !important; }
    main.tool-form-page .shell .grid.number-evaluation-layout.has-result { grid-template-columns:minmax(0,1fr) !important; }
    .number-evaluation-layout.has-result > .card { min-width:0; }
    @media(min-width:961px) {
        .number-evaluation-layout.has-result > .card:first-child form { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:end; }
        .number-evaluation-layout.has-result > .card:first-child form > details { grid-column:1 / -1; }
    }
    h1.tool-insert-heading { display:block !important; position:absolute !important; width:1px; height:1px; margin:0 !important; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
    .tool-insert > summary {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:6px;
        list-style:none;
        cursor:pointer;
        min-height:0;
        margin:0;
        padding:0;
        font-size:.84rem;
        font-weight:700;
        line-height:1.2;
    }
    body.tool-form-page .card:has(> .tool-insert:not([open])) { padding:7px 10px; }
    .tool-insert > summary::-webkit-details-marker { display:none; }
    .tool-insert > summary::after { content:">"; font-weight:700; line-height:1; }
    .tool-insert[open] > summary::after { content:"⌄"; }
    .tool-insert:not([open]) > form,
    .tool-insert:not([open]) > .notice { display:none !important; }
    #tool-result-card { scroll-margin-top:72px; }
}
@media (min-width: 769px) {
    .tool-insert > summary { display:none; }
    .tool-insert-heading { display:block !important; }
    .tool-insert:not([open]) > form { display:grid !important; }
    .tool-insert:not([open]) > .notice { display:block !important; }
}
@media (max-width: 640px) {
    main .card,
    main .shell,
    main form,
    main section { min-width:0; max-width:100%; }
    main img,
    main video,
    main canvas,
    main svg { max-width:100%; height:auto; }
    main table { display:block; max-width:100%; overflow-x:auto; }
    main [style*="grid-template-columns:1fr 1fr"],
    main [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns:minmax(0,1fr) !important; }
    .tool-form-page h1,
    .hub-page h1 { overflow-wrap:anywhere; }
    .section-guru-link { margin-left:0; white-space:normal; max-width:100%; }
    body.tool-form-page .section-head {
        display:flex;
        flex-wrap:nowrap;
        align-items:center;
        justify-content:space-between;
        gap:8px;
    }
    body.tool-form-page main.tool-form-page > .section[style*="padding-top:64px"],
    body.tool-form-page main.tool-form-page > .section[style*="padding-top: 64px"] {
        padding-top:8px !important;
    }
    body.tool-form-page .section-head h1 { order:1; flex:1 1 0; min-width:0; margin-top:0 !important; }
    body.tool-form-page main > .section:first-child .section-head h1 { margin-top:0 !important; }
    body.tool-form-page .section-head .eyebrow { order:2; margin:0; flex:0 0 auto; align-self:center; }
    body.tool-form-page .section-head p { order:3; flex:1 0 100%; }
    body.tool-form-page main > .section .section-head h1 {
        font-size:1.05rem !important;
        line-height:1.2 !important;
        margin-top:0 !important;
        white-space:normal !important;
        text-wrap:wrap !important;
        overflow-wrap:anywhere;
    }
    body.tool-form-page main > .section .section-head h1 .section-guru-link,
    body.tool-form-page main h2 .section-guru-link {
        display:none !important;
    }
    body.tool-form-page .shell > .grid[style*="grid-template-columns"] {
        grid-template-columns:minmax(0,1fr) !important;
    }
    body.tool-form-page .card .grid[style*="repeat(2"],
    body.tool-form-page .card .grid[style*="repeat(3"],
    body.tool-form-page .card .grid[style*="1fr 1fr"],
    body.tool-form-page .card .grid[style*="1fr 1fr 1fr"] {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important;
    }
    body.tool-form-page .card .grid[style*="repeat(2"] > div,
    body.tool-form-page .card .grid[style*="repeat(3"] > div {
        min-width:0;
    }
    body.tool-form-page .card .grid strong {
        display:block;
        font-size:.9rem;
        letter-spacing:.03em;
        line-height:1.25;
        text-transform:uppercase;
        color:var(--muted);
    }
    body.tool-form-page .section-head { margin-bottom:6px; }
    body.tool-form-page .section-head > p { display:none; }
    body.tool-form-page .card { padding:10px 12px; }
    body.tool-form-page .card > h2 { font-size:.95rem !important; margin:0 0 6px; }
    body.tool-form-page .card form {
        margin-top:8px !important;
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:2px 8px;
    }
    body.tool-form-page .card form label { gap:2px !important; }
    body.tool-form-page .card form > * { grid-column:1 / -1; min-width:0; }
    body.tool-form-page .card form > label:has(input[type="date"]),
    body.tool-form-page .card form > label:has(input[type="time"]),
    body.tool-form-page .card form > label:has(input[data-twelve-hour]) { grid-column:auto; }
    body.tool-form-page .card form label:not(:has(input[type="checkbox"])) > p,
    body.tool-form-page .card form > p,
    body.tool-form-page .card form label:not(:has(input[type="checkbox"])) > .muted:not(:first-child),
    body.tool-form-page .card form > .muted,
    body.tool-form-page .js-ip-timezone-status { display:none; }
    body.tool-form-page .card form input[type="checkbox"] { min-height:0 !important; width:auto !important; padding:0 !important; }
    body.tool-form-page .card form input,
    body.tool-form-page .card form select {
        min-height:34px !important;
        font-size:.85rem !important;
        padding:6px 8px !important;
    }
    body.tool-form-page .card form .btn { min-height:36px; padding:6px 12px; font-size:.85rem; width:100%; }
    body.tool-form-page .moon-fact-grid,
    body.tool-form-page .nakshatra-summary { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    body.tool-form-page .kundli-feature-grid { display:none; }
    body.tool-form-page .tool-insert:not([open]) > form,
    body.tool-form-page .tool-insert:not([open]) > .notice { display:none !important; }
}

@media (max-width: 768px) {
    .best-remedy-shell { padding-top:4px !important; }
    .best-remedy-shell .card { padding:10px 12px; }
    .best-remedy-shell .eyebrow { font-size:.68rem !important; }
    .best-remedy-shell h2 { margin-top:4px !important; font-size:.95rem !important; }
    .best-remedy-shell strong { font-size:.78rem; }
    .best-remedy-shell p,
    .best-remedy-shell li { font-size:.78rem !important; line-height:1.35; margin-top:4px !important; }
    .best-remedy-shell .grid { gap:8px !important; margin-top:8px !important; }
    .best-remedy-shell .btn { min-height:34px; font-size:.78rem; }
    body.tool-form-page .card form label { font-size:.8rem; line-height:1.25; align-content:start; }
    body.tool-form-page .card form label > .muted,
    body.tool-form-page .card form label > span:first-child,
    body.tool-form-page .card form label > div:first-child { font-size:.8rem !important; line-height:1.25 !important; margin:0 !important; }
    body.tool-form-page .card form details > summary { font-size:.78rem; }
    body.tool-form-page .card form > label:has(input[name*="place"]):has(+ label input[name="timezone"]),
    body.tool-form-page .card form > label:has(input[name*="place"]) + label:has(input[name="timezone"]) { grid-column:auto; }
    body.tool-form-page .card form > label:has(> select):has(+ label > select),
    body.tool-form-page .card form > label:has(> select) + label:has(> select) { grid-column:auto; align-content:start; }
    body.tool-form-page .card form > label:has(input[type="text"][name*="name"]:not([name*="place"])):has(+ label input[type="date"]):not(:has(+ label + label input[type="time"])) { grid-column:auto; }
    body.tool-form-page .card form > label:has(> input[type="number"]),
    body.tool-form-page .card form > label:has(> input[type="month"]) { grid-column:auto; align-content:start; }
    body.tool-form-page .card form > label:has(input[name="calendar_year"]):has(+ label input[name="timezone"]),
    body.tool-form-page .card form > label:has(input[name="calendar_year"]) + label:has(input[name="timezone"]),
    body.tool-form-page .card form > label:has(> input[type="month"]) + label:has(input[name="timezone"]) { grid-column:auto; align-content:start; }
    body.tool-form-page .card form > label:not(label:has(input[type="text"][name*="name"]:not([name*="place"])) + label):has(input[type="date"]) + label:has(input[name="calendar_year"]) + label:has(input[name="timezone"]),
    body.tool-form-page .card form > label:has(input[type="text"][name*="name"]:not([name*="place"])) + label:has(input[type="date"]) + label:has(input[name="calendar_year"]):not(:has(+ label)),
    body.tool-form-page .card form > label:has(> select):not(label:has(> select) + label) + label:has(> select) + label:has(> select):not(:has(+ label > select)),
    body.tool-form-page .card form > label:has(> select):not(label:has(> select) + label) + label:has(> select) + label:has(> select) + label:has(> select) + label:has(> select):not(:has(+ label > select)) { grid-column:1 / -1; }
    main.tool-form-page .card:not(#donate):not(:has(form)):not(:has(> :nth-child(4))):has(> h2:first-child + p.muted) { padding:10px 12px; }
    main.tool-form-page .card:not(#donate):not(:has(form)):not(:has(> :nth-child(4))):has(> h2:first-child + p.muted) > h2 { font-size:.95rem !important; }
    main.tool-form-page .card:not(#donate):not(:has(form)):not(:has(> :nth-child(4))):has(> h2:first-child + p.muted) > h2 + p.muted { margin-top:4px !important; font-size:.8rem; line-height:1.4; }
    main.tool-form-page #donate { padding:10px 12px; }
    main.tool-form-page #donate .eyebrow { font-size:.68rem !important; }
    main.tool-form-page #donate h2,
    main.tool-form-page #donate h3 { margin-top:6px !important; font-size:.95rem !important; line-height:1.3; }
    main.tool-form-page #donate p { margin-top:4px !important; font-size:.78rem !important; line-height:1.35; }
    main.tool-form-page #donate .btn { min-height:34px; font-size:.78rem; }
    main.tool-form-page #donate > div { margin-top:8px !important; }
    main.tool-form-page .card:has(> .tool-related-links) { margin-top:10px !important; padding:8px 10px; box-shadow:none; }
    main.tool-form-page .card:has(> .tool-related-links) > .eyebrow { font-size:.66rem !important; }
    main.tool-form-page .tool-related-links { gap:6px !important; margin-top:6px !important; }
    main.tool-form-page .tool-related-links .btn { min-height:30px; padding:4px 10px; font-size:.74rem; }
    .feedback-shell .eyebrow { font-size:.68rem !important; }
    .feedback-shell h2,
    .feedback-card h2 { font-size:.95rem !important; }
    .feedback-shell p,
    .feedback-shell .feedback-field-label,
    .feedback-shell label,
    .feedback-shell .feedback-star label,
    .feedback-shell textarea,
    .feedback-shell .btn { font-size:.78rem !important; }
    .feedback-shell .feedback-grid > div > p.muted { display:none; }
    .feedback-card { gap:8px; }
    .feedback-grid { gap:8px !important; }
    .feedback-stars { max-width:none; gap:6px; }
    .feedback-star label { min-height:34px; }
    body .feedback-card:not(:has(.feedback-star input:checked)) form.feedback-form { display:none !important; }
}

.result-stack { display:grid; gap:14px; margin-top:14px; }
.result-row { margin:0; color:var(--muted); line-height:1.55; }
.result-row > b,
.result-block > b { color:var(--text); font-weight:700; }
.result-block > b { display:block; }
.result-list { margin:6px 0 0; padding-left:18px; display:grid; gap:6px; color:var(--muted); }
.result-item { border:1px solid var(--line); border-radius:14px; background:var(--panel); }
.result-item > summary { display:grid; gap:4px; padding:12px 14px; list-style:none; cursor:pointer; }
.result-item > summary::-webkit-details-marker { display:none; }
.result-item-head { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.result-item-head h3 { margin:0; font-size:1rem; line-height:1.3; }
.result-item-head .result-item-meta { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.result-item-head .result-item-meta::after { content:"+"; font-weight:800; color:var(--accent); }
.result-item[open] .result-item-head .result-item-meta::after { content:"−"; }
.result-item > summary p { margin:0; color:var(--muted); font-size:.92rem; line-height:1.5; }
.result-item-body { display:grid; gap:6px; padding:0 14px 12px; }
.result-item .koota-track { margin:2px 0 0; }
.dosha-item-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
.result-item-list { display:grid; gap:8px; }
.result-item-body .result-row { margin:0; }
@media (max-width: 768px) {
    .dosha-item-grid { grid-template-columns:minmax(0,1fr); gap:6px; }
    .result-item-list { gap:6px; }
    .result-item .num-chip { padding:2px 7px; font-size:.7rem; }
    body.tool-form-page .tool-side-note { padding:8px 10px; }
    .tool-side-note > strong { font-size:.86rem; }
    .tool-side-note > p,
    .tool-side-note .tool-side-hints > * { margin:3px 0 0 !important; font-size:.78rem !important; line-height:1.4; }
    .tool-side-note .tool-side-hints { gap:0 !important; margin-top:2px !important; }
    .tool-side-note .tool-side-hints > *::before { content:"• "; }
    [data-audit-result="dosha-checker"] > .shell { gap:8px !important; }
    .result-stack { gap:8px; margin-top:8px; }
    .result-row,
    .result-list,
    .result-block > p,
    .result-item > summary p,
    .result-item-body p { font-size:.8rem !important; line-height:1.45; }
    .result-block > b,
    .result-item-head h3 { font-size:.86rem !important; }
    .result-block > p { margin:3px 0 0 !important; }
    .result-list { gap:3px; margin-top:3px; padding-left:16px; }
    .result-item { border-radius:12px; }
    .result-item > summary { gap:3px; padding:8px 10px; }
    .result-item-body { gap:4px; padding:0 10px 8px; }
    .result-item .dosha-flag { font-size:.68rem; padding:2px 7px; }
    body.tool-form-page .first-step { padding:8px 10px; font-size:.8rem; line-height:1.45; }
    body.tool-form-page .first-step strong { font-size:.84rem; }
    body.tool-form-page .first-step p { margin-top:3px !important; font-size:.8rem; }
    .num-score-hero p { margin-top:3px !important; font-size:.8rem; line-height:1.4; }
}

/* Desktop tool actions finish at the right edge of their own form.
   Do not target search bars, chat composers, or mobile action layouts. */
@media (min-width:1024px) {
    main.tool-form-page form > div:has(> button[type="submit"]),
    body.tool-form-page main form > div:has(> button[type="submit"]),
    main.tool-form-page .palm-manual-action {
        display:flex;
        flex-wrap:wrap;
        justify-content:flex-end;
        align-items:center;
        gap:10px;
        grid-column:1 / -1;
        width:100%;
    }
    main.tool-form-page form > button[type="submit"],
    body.tool-form-page main form > button[type="submit"] {
        justify-self:end;
        margin-left:auto;
    }
}

/* Long translated page titles must not compete with the eyebrow in a row. */
@media (max-width:767px) {
    body main.tool-form-page .section-head,
    body main .hub-page .section-head { display:block !important; min-width:0; }
    body main.tool-form-page .section-head h1,
    body main .hub-page .section-head h1 { display:block !important; width:100%; min-width:0; white-space:normal !important; overflow-wrap:anywhere; line-height:1.4 !important; }
}


