*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:Inter,"Microsoft YaHei",sans-serif;background:#f5f5dc;color:#004d4d;--panel:#fcfbef;--line:#004d4d18;--muted:#698078;--ink:#004d4d}html[data-theme=aurora] body{background:#003333;color:#f5f5dc;--panel:#124747;--line:#ffffff18;--muted:#b8cec0;--ink:#f5f5dc}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #c9a52c;outline-offset:3px}#consultation-workspace{position:fixed;inset:72px 0 0;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,1fr);gap:16px;padding:20px 28px}.conversation,.consultants{min-height:0;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:22px;overflow:hidden}.conversation{display:flex;flex-direction:column}.conversation-header{display:flex;align-items:center;gap:14px;padding:20px 26px;border-bottom:1px solid var(--line)}.conversation-header img{width:48px;height:48px;border-radius:50%;object-fit:cover}.conversation-header h1{font-size:19px;margin:0 0 5px}.subtle{font-size:12px;color:var(--muted)}.mode-switch{margin-inline-start:auto;display:flex;gap:5px}.mode-switch a{color:var(--muted);text-decoration:none;padding:10px 15px;border-radius:30px;font-size:13px}.mode-switch a[aria-current=page]{background:#d4af37;color:#003333}.message-list{flex:1;min-height:0;overflow-y:auto;padding:30px clamp(20px,5vw,90px);overscroll-behavior:contain}.welcome{text-align:center;max-width:460px;margin:10vh auto 30px}.welcome .symbol{font-size:44px;color:#d4af37}.welcome h2{font-weight:500;font-size:25px}.welcome p{font-size:14px;line-height:1.9;color:var(--muted)}.message{margin:16px 0 16px auto;width:fit-content;max-width:80%;background:#004d4d;color:#fff;padding:14px 18px;border-radius:18px 18px 4px 18px;white-space:pre-wrap;overflow-wrap:anywhere}.message small{display:block;color:#c8ddd4;font-size:10px;margin-top:8px}.composer{padding:16px 24px 20px;border-top:1px solid var(--line)}.composer label{display:block;font-size:11px;color:var(--muted);margin-bottom:10px}.compose-row{display:flex;align-items:flex-end;gap:12px}.compose-row textarea{resize:none;min-height:64px;max-height:130px;flex:1;min-width:0;border:1px solid var(--line);border-radius:14px;background:transparent;padding:14px;color:var(--ink)}.compose-row button,.call-button{border:0;background:#d4af37;color:#003333;border-radius:12px;padding:14px 20px;font-weight:600}.composer-status{font-size:12px;color:var(--muted);min-height:18px;margin-top:8px}.consultants{display:flex;flex-direction:column}.consultants-header{padding:20px 16px 14px;border-bottom:1px solid var(--line)}.consultants h2{font-size:17px;margin:0 0 6px}.consultants input{margin-top:14px;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);font-size:12px}.people-list{overflow-y:auto;flex:1;min-height:0;padding:12px;overscroll-behavior:contain}.person{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;margin-bottom:10px;background:transparent;border:1px solid var(--line);border-radius:16px;text-align:center}.person[aria-pressed=true]{background:#d4af371b;border-color:#d4af37;box-shadow:inset 0 0 0 1px #d4af37}.person img{width:62px;height:62px;border-radius:50%;object-fit:cover}.person strong{font-size:14px;overflow-wrap:anywhere}.person span{font-size:11px;color:var(--muted)}.person em{font-size:11px;font-style:normal;color:var(--ink)}.call-banner{padding:12px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted)}.call-button{padding:9px 14px;white-space:nowrap}body>#site-footer{display:none!important}@media(max-width:1279px){#consultation-workspace{top:60px;padding:14px;gap:12px}}@media(max-width:600px){#consultation-workspace{padding:7px;gap:7px;grid-template-columns:minmax(0,1fr) 104px}.conversation,.consultants{border-radius:14px}.conversation-header{padding:12px;gap:8px;flex-wrap:wrap}.conversation-header h1{font-size:14px}.conversation-header img{width:34px;height:34px}.mode-switch{width:100%;margin:0}.mode-switch a{padding:7px 11px}.consultants-header{padding:13px 8px}.consultants h2{font-size:13px}.consultants-header .subtle{font-size:10px}.consultants input{padding:9px 5px;font-size:11px}.people-list{padding:6px}.person{padding:12px 4px}.person img{width:45px;height:45px}.person strong{font-size:12px}.message-list{padding:12px}.welcome{margin:6vh auto 20px}.welcome h2{font-size:19px}.welcome p{font-size:12px}.composer{padding:10px}.compose-row{flex-wrap:wrap;gap:7px}.compose-row textarea{flex-basis:100%}.compose-row button{padding:9px 12px;margin-left:auto;font-size:12px}.message{max-width:95%;font-size:13px}.call-banner{padding:10px;flex-wrap:wrap}}

/* A continuous, quiet consultation space, articulated through typography and space. */
body{--muted:#66786f}html[data-theme=aurora] body{background:#002e2e;--muted:#a6bbb1;--ink:#eeeada;color:#eeeada}
.conversation,.consultants{background:transparent;border:0;border-radius:0;box-shadow:none}
.conversation-header,.consultants-header,.composer,.call-banner{border:0;background:transparent}
.conversation-header{padding-top:26px;padding-bottom:26px}
.conversation-header h1,.consultants h2,.welcome h2,.person strong{font-family:"Noto Serif SC","Songti SC","SimSun",Georgia,serif;font-weight:500;letter-spacing:.09em}
.welcome{max-width:490px;margin:12vh auto 36px}.welcome h2{font-size:28px;letter-spacing:.18em;margin:26px 0}.welcome p{font-size:13px;line-height:2.2}.welcome .symbol{font-size:34px;color:#b99b50}
.mode-switch a,.mode-switch a[aria-current=page]{border-radius:0;background:transparent;color:var(--muted);padding:10px 14px;letter-spacing:.08em}.mode-switch a[aria-current=page]{color:#ae8b32}html[data-theme=aurora] .mode-switch a[aria-current=page]{color:#d1b977}
.consultants-header{padding-top:28px;padding-bottom:24px}.consultants h2{margin-bottom:12px}
.consultants input,.compose-row textarea{border:0;border-radius:0;background:transparent;box-shadow:none;padding-left:0}
.consultants input::placeholder,.compose-row textarea::placeholder{color:var(--muted);opacity:.75}
.people-list{scrollbar-width:thin;scrollbar-color:#a9925133 transparent}
.person,.person[aria-pressed=true]{border:0;border-radius:0;box-shadow:none;background:transparent;padding-top:22px;padding-bottom:26px;margin-bottom:14px;gap:10px}
.person[aria-pressed=true] strong,.person[aria-pressed=true] em{color:#ad8b36}html[data-theme=aurora] .person[aria-pressed=true] strong,html[data-theme=aurora] .person[aria-pressed=true] em{color:#d1b977}
.person:hover{background:transparent}.person:hover strong{color:#b99b50}.person img{filter:saturate(.65)}.person span{opacity:.75}.person em{letter-spacing:.12em}
.compose-row button,.call-button{border-radius:0;background:transparent;color:#a38230;font-weight:500;letter-spacing:.1em;padding-right:0}html[data-theme=aurora] .compose-row button,html[data-theme=aurora] .call-button{color:#d1b977}
.message{background:transparent;color:var(--ink);border-radius:0;padding:14px 0;line-height:1.9}.message small{color:var(--muted)}
.composer{padding-bottom:24px}.composer label{opacity:.7}.compose-row textarea{min-height:72px}.composer-status{opacity:.8}
@media(max-width:600px){.conversation-header{padding:16px 8px}.consultants-header{padding:18px 5px}.consultants h2{font-size:12px;letter-spacing:.04em}.welcome{margin-top:7vh}.welcome h2{font-size:20px;letter-spacing:.1em}.person{padding:18px 3px;margin-bottom:10px}.person strong{letter-spacing:.03em}.composer{padding:12px 8px}.mode-switch a{padding:8px}.compose-row button{padding:10px 0}.welcome p{font-size:12px}}

/* Retain scrolling without visible scrollbar chrome. */
.people-list,.message-list,.compose-row textarea{scrollbar-width:none;-ms-overflow-style:none}
.people-list::-webkit-scrollbar,.message-list::-webkit-scrollbar,.compose-row textarea::-webkit-scrollbar{display:none;width:0;height:0}

/* Stellarium sky stays behind the complete consultation surface. */
body,html[data-theme=aurora] body{background:#020b12;color:#eeeada;--ink:#eeeada;--muted:#bdc9c8}
#consultation-sky{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:linear-gradient(90deg,rgba(1,12,18,.6),rgba(1,12,18,.3) 65%,rgba(1,12,18,.72))}
#consultation-workspace{z-index:1}.conversation,.consultants{background:transparent}
.compose-row button,.person[aria-pressed=true] strong,.person[aria-pressed=true] em{color:#d1b977}

#consultation-workspace h1,#consultation-workspace h2,#consultation-workspace .person strong{color:#eeeada!important}#consultation-workspace .person[aria-pressed=true] strong{color:#d1b977!important}

/* The open consultation area exposes the interactive planetarium beneath it. */
#consultation-sky{pointer-events:auto;touch-action:none;cursor:grab}
#consultation-sky:active{cursor:grabbing}
#consultation-workspace,.conversation,.message-list{pointer-events:none}
.conversation-header,.welcome{display:none!important}
.consultants,.composer,.message{pointer-events:auto}
.message-list:has(.message){pointer-events:auto}

/* Minimal profile presentation; operational feedback appears only after an action. */
.consultants-header h2,.consultants-header [data-count],.composer label{display:none}.consultants-header{padding-top:8px;padding-bottom:8px}.consultants input{margin-top:0}.person{gap:9px}.composer-status:empty{display:none}.composer-status{min-height:0}

/* A rounded gold outline identifies only the selected consultant. */
.person{border:1px solid transparent;border-radius:20px;transition:border-color .2s ease,background-color .2s ease}
.person[aria-pressed=true]{border:1px solid #c8aa60;border-radius:20px;box-shadow:none;background:rgba(200,170,96,.035)}
.consultants input,.compose-row textarea{border-radius:16px;padding-left:12px;padding-right:12px}
.compose-row button,.call-button,.message{border-radius:16px}
#consultation-workspace button:focus-visible,#consultation-workspace input:focus-visible,#consultation-workspace textarea:focus-visible{outline:none;box-shadow:0 0 0 2px #c8aa60;border-radius:16px}
#consultation-workspace .person:focus-visible{border-radius:20px}

/* Compact profiles and center the narrower composer within the left pane. */
.person,.person[aria-pressed=true]{width:80%;margin-inline:auto;padding:17.6px 8px 20.8px;gap:7.2px;margin-bottom:11.2px;border-radius:16px}
.person img{width:49.6px;height:49.6px}.person strong{font-size:11.2px}.person span{font-size:8.8px}
#consultation-workspace .person:focus-visible{border-radius:16px}
.compose-row{width:66.666667%;margin-inline:auto}
.composer-status{width:66.666667%;margin-inline:auto}
@media(max-width:600px){.person,.person[aria-pressed=true]{padding:14.4px 2.4px;margin-bottom:8px;gap:7.2px}.person img{width:36px;height:36px}.person strong{font-size:9.6px}}

/* Taller frosted composer, visible before focus. */
.compose-row textarea{height:108px;min-height:108px;max-height:195px;background:rgba(17,37,43,.64);backdrop-filter:blur(28px) saturate(115%);-webkit-backdrop-filter:blur(28px) saturate(115%);border:1px solid rgba(200,170,96,.42);border-radius:16px;padding:18px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}

.celestial-composer-toolbar { display:flex; align-items:center; gap:12px; min-height:38px; margin-top:0; }
.composer-icon,.composer-round-button { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:transparent; color:#f6f6f6; cursor:pointer; transition:background .2s; }
.composer-icon:hover { background:#ffffff12; }
.composer-round-button { background:var(--hc-gold,#d4af37);color:#003333; }
.composer-round-button:hover { background:var(--hc-gold-light,#e8c84a); }
.composer-round-button .composer-send-icon { display:inline-block; transform:scaleY(calc(2 / 3)); transform-origin:center; }
.composer-icon:focus-visible,.composer-round-button:focus-visible { outline:2px solid #d4af37; outline-offset:3px; }
.composer-attachment-name { color:#bdbdbd; font:12px system-ui,sans-serif; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:640px) { .celestial-input-container { width:calc(100% - 24px); bottom:max(14px, env(safe-area-inset-bottom)); } .celestial-composer { border-radius:25px; } }

.composer-approval,.composer-model { display:inline-flex; align-items:center; gap:6px; padding:4px 0; background:none; border:0; color:#eee9db; font:14px/1.3 system-ui,sans-serif; white-space:nowrap; }
.composer-approval { color:#b5b1a5; }
.composer-toolbar-right { display:flex; align-items:center; gap:12px; margin-inline-start:auto; flex-shrink:0; }
.composer-effort,.composer-model>svg { color:#aaa698; }
.composer-attachment-name:empty { display:none; }
.composer-attachment-name { max-width:120px; }
@media(max-width:640px) { .celestial-composer-toolbar { gap:8px; flex-wrap:wrap; } .composer-toolbar-right { gap:6px; } .composer-model,.composer-approval { font-size:11px; gap:4px; } .composer-attachment-name { max-width:65px; } .composer-icon,.composer-round-button { width:32px; height:32px; } }

.composer-approval,.composer-microphone { display:none; }
.composer-model-dropdown { position:relative; }
.composer-model { cursor:pointer; list-style:none; }
.composer-model::-webkit-details-marker { display:none; }
.composer-model:focus-visible { outline:2px solid #d4af37; outline-offset:4px; border-radius:4px; }
.composer-model-menu { position:absolute; bottom:calc(100% + 14px); inset-inline-end:0; min-width:220px; padding:10px; border:1px solid #d4af3799; border-radius:16px; background:rgba(9,20,17,.9); backdrop-filter:blur(32px); box-shadow:0 10px 35px #0007; color:#eee9db; }
.composer-model-menu button { display:flex; justify-content:space-between; gap:16px; width:100%; padding:10px; border:0; border-radius:8px; background:transparent; color:inherit; cursor:pointer; font:14px system-ui,sans-serif; }
.composer-model-menu button:hover { background:#d4af3722; }
.composer-model-menu small { display:block; padding:4px 10px; color:#aaa698; font:12px system-ui,sans-serif; }


.compose-row{display:block;position:relative;padding:16px 14px 10px;border:1px solid rgba(223,185,75,.75);border-radius:27px;background:rgba(5,15,14,.72);backdrop-filter:blur(48px) saturate(135%);-webkit-backdrop-filter:blur(48px) saturate(135%)}
.compose-row textarea{width:100%;height:64px;min-height:64px;max-height:120px;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0}
#consultation-workspace .compose-row textarea:focus-visible{box-shadow:none}
.compose-row:focus-within{border-color:#e7c56a}
.compose-row .composer-icon{font-size:27px;padding:0;width:36px;height:36px;color:#eee9db;letter-spacing:0}
.compose-row .composer-round-button{font-size:27px;padding:0;width:36px;height:36px;background:#d4af37;color:#003333;border-radius:50%;letter-spacing:0}
.compose-row .composer-model-menu button{padding:10px;color:inherit;letter-spacing:0;border-radius:8px}
.composer-model-menu{max-height:300px;overflow-y:auto;scrollbar-width:none}
.compose-row .composer-model-menu{z-index:5}.composer-spread-inactive{opacity:.4;pointer-events:none}
@media(max-width:600px){.compose-row{width:90%;padding:12px 10px}.composer-toolbar-right{gap:5px}.compose-row .composer-icon,.compose-row .composer-round-button{width:30px;height:30px;font-size:23px}.composer-model{font-size:10px}.composer-model-menu{min-width:170px;max-width:210px}}

/* A single full-width sky workspace, without the consultant sidebar. */
#consultation-workspace{grid-template-columns:minmax(0,1fr)}
.consultants{display:none!important}
.compose-row,.composer-status{width:min(908px,66.666667%);margin-inline:auto}
@media(max-width:600px){#consultation-workspace{grid-template-columns:minmax(0,1fr)}.compose-row,.composer-status{width:92%}}

/* Restore the original composer width, centered across the page. */
.compose-row,.composer-status{width:min(908px,calc(100% - 40px));margin-inline:auto}
@media(max-width:600px){.compose-row,.composer-status{width:calc(100% - 24px)}}

/* Match the consultation scene composer, including its mobile sizing. */
.compose-row,.composer-status{width:min(726.4px,calc(80vw - 32px));margin-inline:auto}
@media(max-width:640px){.compose-row,.composer-status{width:calc(80vw - 19.2px)}}

/* Isolated local tarot project preview above the existing composer. */
#mystic-tarot-preview{display:block;flex:1;min-height:0;width:100%;border:0;background:transparent;pointer-events:auto}
.conversation:has(#mystic-tarot-preview) .message-list:empty{flex:0;padding:0}
.conversation:has(#mystic-tarot-preview) .message-list:has(.message){flex:0 1 120px}

/* The new tarot project is the only full-page scene. */
body:has(#mystic-tarot-preview)::after{display:none}
#consultation-workspace:has(#mystic-tarot-preview){inset:0;padding:0;gap:0}
#mystic-tarot-preview{position:fixed;inset:0;width:100%;height:100dvh;z-index:0;flex:none}
.conversation:has(#mystic-tarot-preview) .composer{position:fixed;bottom:20px;left:0;right:0;z-index:2}
.conversation:has(#mystic-tarot-preview) .message-list{position:fixed;bottom:190px;left:10%;right:10%;z-index:2;max-height:25vh}

body.tarot-reading-active .composer,body.tarot-reading-active .message-list{display:none!important}

/* Compact mobile question composer. */
@media(max-width:640px){.compose-row,.composer-status{width:calc(100% - 24px);max-width:none}.compose-row{padding:10px 14px;gap:6px}.compose-row textarea{height:40px;min-height:40px;max-height:80px}.composer-toolbar{min-height:30px}}

/* Keep the two toolbar groups at opposite input edges. */
.celestial-composer-toolbar{display:flex;width:100%;flex-wrap:nowrap;justify-content:flex-start}.celestial-composer-toolbar>.composer-icon{margin:0;flex:0 0 auto}.celestial-composer-toolbar>.composer-mode-dropdown{margin:0}.celestial-composer-toolbar>.composer-toolbar-right{margin-inline-start:auto;margin-inline-end:0;justify-content:flex-end;min-width:0}.celestial-composer-toolbar .composer-round-button{margin:0;flex-shrink:0}

/* Mobile popovers stay inside the viewport and use compact option sizing. */
@media(max-width:640px){
 .celestial-composer-toolbar .composer-model-dropdown{position:static}
 .celestial-composer,.compose-row{position:relative}
 .celestial-composer-toolbar .composer-model-menu{position:absolute;bottom:calc(100% + 8px);inset-inline-start:0;inset-inline-end:auto;width:max-content;min-width:0;max-width:100%;max-height:min(300px,calc(100dvh - 210px));padding:6px;border-radius:12px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}
 .celestial-composer-toolbar .composer-toolbar-right .composer-model-menu{inset-inline-start:auto;inset-inline-end:0}
 .celestial-composer-toolbar .composer-model-menu button{padding:7px 9px;min-height:30px;font-size:12px;line-height:1.3;gap:6px;white-space:normal;overflow-wrap:anywhere}
 .celestial-composer-toolbar .composer-model-menu small{font-size:10px;padding:4px 9px}
}

/* Compact question panel corners. */
.celestial-composer,.compose-row{border-radius:16px}

/* Neutral translucent frosted question surface. */
.celestial-composer,.compose-row{background:rgba(229,229,229,.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:0;outline:none;box-shadow:none;color:#262626}
.celestial-composer:focus-within,.compose-row:focus-within{border:0;outline:none;box-shadow:none}
.celestial-question,.compose-row textarea{color:#262626}
.celestial-question::placeholder,.compose-row textarea::placeholder{color:#404040;opacity:.8}
.celestial-composer-toolbar .composer-icon,.celestial-composer-toolbar .composer-model{color:#262626}

/* Keep the scene visible through the frosted surface. */
.celestial-composer,.compose-row{background:rgba(229,229,229,.14);backdrop-filter:blur(20px) saturate(120%);-webkit-backdrop-filter:blur(20px) saturate(120%);color:#f1f1eb;border:0;box-shadow:none}
.celestial-question,.compose-row textarea{color:#f1f1eb}
.celestial-question::placeholder,.compose-row textarea::placeholder{color:rgba(241,241,235,.65);opacity:1}
.celestial-composer-toolbar .composer-icon,.celestial-composer-toolbar .composer-model{color:#f1f1eb}
.composer{backdrop-filter:none;-webkit-backdrop-filter:none}

/* Lighter glass tint lets moving particles show through a stronger blur. */
.celestial-composer,.compose-row{background:rgba(229,229,229,.07);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%);border:0;box-shadow:none}

/* Preserve moving light detail rather than blending it into a solid haze. */
.celestial-composer,.compose-row{background:rgba(229,229,229,.025)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;border:0!important;box-shadow:none!important}

@media(max-width:640px){.compose-row{height:128px;display:flex;flex-direction:column;align-items:stretch}.compose-row textarea{flex:1;min-height:40px;max-height:none}.compose-row .celestial-composer-toolbar{margin-top:auto;flex-shrink:0}}

/* Popovers share the question surface's transparent frosted finish. */
.celestial-composer-toolbar .composer-model-menu{background:rgba(229,229,229,.025)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;border:0!important;outline:none;box-shadow:none!important;color:#f1f1eb}
.celestial-composer-toolbar .composer-model-menu button{color:#f1f1eb}
.celestial-composer-toolbar .composer-model-menu button:hover{background:rgba(229,229,229,.1)}
.celestial-composer-toolbar .composer-model-menu button[aria-pressed=true]{background:rgba(229,229,229,.14);color:#f1f1eb}

/* Match the input's perceived dark glass against bright scene details. */
.celestial-composer-toolbar .composer-model-menu{background:rgba(18,18,18,.78)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}

/* Put input blur on a sibling layer so nested popovers can sample the scene. */
.celestial-composer,.compose-row{position:relative;z-index:0;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.celestial-composer::before,.compose-row::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:rgba(229,229,229,.025);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.celestial-composer-toolbar .composer-model-menu{background:rgba(18,18,18,.5)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important}
