:root{color-scheme:dark;--ink:#e2efeb;--dim:#829d98;--mint:#9bf3d4;--line:#8ac6b329;--gold:#cbb78b}*{box-sizing:border-box}body{margin:0;background:#050d10;color:var(--ink);font:15px/1.6 system-ui,-apple-system,sans-serif;min-height:100dvh}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button{color:inherit}#cosmos{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;opacity:.6}header{position:relative;z-index:1;max-width:1440px;margin:auto;padding:32px 54px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--ink);font-size:14px;letter-spacing:4px}.brand small{display:block;font-size:7px;letter-spacing:2px;color:var(--dim);margin-top:3px}.sigil{font-size:38px;font-weight:200;color:var(--gold)}.icon{background:none;border:1px solid var(--line);border-radius:50%;width:42px;height:42px;font-size:21px;color:var(--dim)}main{position:relative;display:grid;grid-template-columns:46% 54%;max-width:1400px;margin:12px auto 0;padding:0 54px 60px;gap:0}.presence{height:660px;position:sticky;top:35px;display:flex;align-items:center;justify-content:center;isolation:isolate}.portrait{width:86%;height:90%;position:relative;z-index:1;mask-image:radial-gradient(ellipse 49% 47% at 50% 46%,#000 53%,transparent 100%)}#face{width:100%;height:100%;object-fit:contain;filter:saturate(.68) brightness(.85)}.orbit{position:absolute;border:1px solid #91cbb323;border-radius:50%;height:65%;width:87%;transform:rotate(-25deg);box-shadow:0 0 80px #25846f0a}.orbit2{height:81%;width:72%;border-style:dashed;border-color:#9de2c512;transform:rotate(26deg)}.orbit3{height:90%;width:96%;border-color:#d6c4970b}.orbit1:after{content:'';position:absolute;top:10%;left:10%;width:4px;height:4px;background:var(--gold);border-radius:100%;box-shadow:0 0 18px 3px #cbb78b50}.side-note{position:absolute;left:-8px;top:45%;font-size:8px;color:#729d90;letter-spacing:3px;writing-mode:vertical-rl;z-index:2}.presence-foot{position:absolute;bottom:23px;text-align:center;letter-spacing:2px;font-size:9px;text-transform:uppercase;display:flex;gap:12px;align-items:center}.live-dot{width:5px;height:5px;border-radius:100%;background:var(--mint);box-shadow:0 0 12px var(--mint)}.workspace{padding:52px 0 0 34px;max-width:690px}.eyebrow{letter-spacing:3px;font-size:9px;color:var(--gold);font-weight:600}h1{font:400 45px/1.2 Georgia,serif;letter-spacing:-1.5px;margin:17px 0}p{color:var(--dim);margin:14px 0 26px;font-size:14px}.intro{margin-bottom:32px}#question-form{border:1px solid #88c3ad3d;background:linear-gradient(140deg,#183b332b,#0d1d202b);border-radius:12px;padding:20px;box-shadow:0 10px 60px #0002}textarea{display:block;width:100%;background:none;border:0;outline:0;color:var(--ink);resize:vertical;min-height:85px;max-height:230px;font-size:16px;line-height:1.6}textarea::placeholder{color:#6d8982}.input-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.input-bottom>span{font-size:9px;color:#7e9991;max-width:180px}.primary{border:1px solid #ace7cf65;background:#a2e4c9;color:#0b2821;font-weight:600;padding:10px 20px;border-radius:7px;font-size:12px;white-space:nowrap}.primary span{margin-left:15px;font-size:18px}.controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0 24px}.controls label>span{display:block;font-size:7px;letter-spacing:1.6px;color:#617d75;margin-bottom:3px}select{background:#071315;border:0;color:#bad1c7;font-size:10px;padding:4px 15px 4px 0}.sound-label{font-size:10px;color:#a3c2b5;display:flex;align-items:center;margin-left:auto;gap:5px}input[type=checkbox]{accent-color:#a2e4c9}.suggestions{display:flex;gap:8px;flex-wrap:wrap}.suggestions button{background:none;border:1px solid var(--line);border-radius:6px;color:#aac4b8;font-size:10px;padding:9px 12px}.suggestions span{margin-left:9px;color:#6b9b87}footer{color:#6c8980;font-size:9px;text-align:center;margin:42px 0 18px;letter-spacing:.1px}footer small{display:block;font-size:8px;margin-top:8px;color:#587168}.tiny-sigil{color:var(--gold);padding-right:7px}.session-bar{border-top:1px solid var(--line);padding-top:23px;margin-top:28px;display:flex;align-items:center;gap:15px;justify-content:space-between}#status{font-size:12px;color:var(--mint)}.quiet{border:0;background:none;font-size:10px;color:var(--dim);padding:8px}.steps{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.5px;color:#637e73;padding:23px 0}.steps .done{color:var(--gold)}#council{display:flex;gap:8px;margin:0 0 24px}#council .expert{flex:1;border:1px solid var(--line);border-radius:8px;padding:12px 10px;background:#0c211c33}#council .expert b{display:block;font-size:11px;font-weight:500;color:#c4ddce}#council .expert small{display:block;font-size:9px;color:#759d88}#council .expert .number{color:var(--gold);font-size:10px;margin-bottom:8px}.output-nav{display:flex;border-bottom:1px solid var(--line);gap:15px}.output-nav button{font-size:10px;border:0;background:none;color:#7b9d8d;padding:12px 0;border-bottom:1px solid transparent}.output-nav button.active{border-color:var(--mint);color:var(--mint)}.output-pane{padding-top:20px;min-height:120px}.statement{padding:0 0 22px;margin-bottom:20px;border-bottom:1px solid #9bddbb14;animation:reveal .7s ease}.statement header{padding:0;display:flex;align-items:center;gap:8px;margin-bottom:10px}.statement b{font-size:11px;color:#c4e0ca}.statement .stage{font-size:9px;color:#849b81}.statement .listen{margin-left:auto;background:none;border:1px solid var(--line);border-radius:100%;width:30px;height:30px;color:#a9d7b5}.matrix{font:12px/1.9 ui-monospace,Consolas,monospace;color:#9ddeaf;text-shadow:0 0 13px #77ec9924;white-space:pre-wrap;overflow-wrap:anywhere}.matrix a{color:#c3efcf;text-decoration-color:#8be0a144}.statement .source-link{display:inline-block;font-size:9px;color:#82b594;margin:7px 8px 0 0}.verdict-kind{letter-spacing:3px;color:var(--gold);font-size:9px;margin:8px 0 12px}#verdict h2{font:normal 26px/1.35 Georgia,serif;margin:0 0 22px;color:#e2e9d9}#verdict h3{font-size:10px;color:var(--gold);font-weight:400;letter-spacing:2px;margin-top:26px}#verdict ul{padding-left:18px}#sources a{display:block;text-decoration:none;color:#bdd9c9;border-bottom:1px solid var(--line);padding:14px 0;font-size:12px;overflow-wrap:anywhere}#sources small{display:block;color:#6c9680;font-size:10px}.empty{font-size:12px;color:#688675}.session-actions{display:flex;justify-content:space-between}#notice{padding:15px;border:1px solid #cbb78b65;border-radius:7px;color:#dbcaa8;font-size:12px;margin:20px 0}dialog{max-width:440px;width:calc(100% - 32px);border:1px solid #779e8b60;border-radius:15px;padding:30px;background:#0b1b1c;color:var(--ink)}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}dialog h2{font:normal 27px Georgia,serif}dialog p{font-size:12px}dialog label{display:block;font-size:11px;color:#a4c4b5;margin:20px 0}dialog input{display:block;width:100%;padding:12px;background:#050e10;border:1px solid var(--line);border-radius:5px;color:var(--ink);margin-top:8px}dialog .hint{font-size:10px}.dialog-close{float:right;background:none;border:0;font-size:25px;color:var(--dim)}#player{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:18px;min-width:300px;max-width:95%;padding:13px 18px;background:#142923ec;backdrop-filter:blur(16px);border:1px solid #b3daba3a;border-radius:12px;box-shadow:0 10px 40px #0009}#player b{font-size:11px;display:block}#player small{display:block;font-size:9px;color:#81a994}#player button{border:0;background:none;font-size:20px;min-width:32px}#player>div:nth-child(2){flex:1}.wave{display:flex;gap:3px;align-items:center;height:25px}.wave i{width:2px;height:16px;background:#a4e1bd;animation:wave 1s infinite alternate}.wave i:nth-child(2n){animation-delay:-.7s;height:23px}.wave i:nth-child(3n){animation-delay:-.3s;height:9px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes wave{to{transform:scaleY(.3)}}@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:800px){header{padding:20px 24px}.brand{font-size:12px}.brand small{font-size:6px;letter-spacing:1px}.sigil{font-size:30px}main{display:block;padding:0 24px 65px;margin:0 auto;max-width:620px}.presence{position:relative;top:0;height:330px;margin-top:-12px}.portrait{height:106%;width:72%;mask-image:radial-gradient(ellipse 49% 49% at 50% 48%,#000 47%,transparent 100%)}.orbit1{width:64%;height:80%}.orbit2{width:70%;height:90%}.orbit3{width:79%;height:97%}.presence-foot{bottom:0;font-size:8px}.side-note{left:6px;font-size:7px}.workspace{padding:34px 0 0;max-width:none}h1{font-size:34px;margin-top:13px}.intro{text-align:center;margin-bottom:23px}.intro p{font-size:12px;line-height:1.8}.eyebrow{font-size:8px}.controls{gap:10px}.sound-label{font-size:9px;margin-left:0}.suggestions{justify-content:center}.suggestions button{font-size:9px}footer{margin-top:30px}.input-bottom>span{max-width:150px}#council .expert{padding:10px 8px}#council .expert b{font-size:10px}.matrix{font-size:12px}.output-nav{gap:18px}.output-nav button{font-size:9px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
/* The council manifests as translucent blue apparitions. */
#council{gap:12px;align-items:stretch}
#council .ghost-expert{position:relative;min-width:0;padding:0 9px 14px;border:0;border-bottom:1px solid #6fbafb30;border-radius:0;background:linear-gradient(0deg,#3269a215,transparent 70%);text-align:center;transition:background .4s,border-color .4s}
.apparition{height:230px;position:relative;isolation:isolate}
.apparition canvas{position:relative;width:100%;height:100%;object-fit:contain;opacity:.58;mix-blend-mode:screen;mask-image:radial-gradient(ellipse 48% 49% at 50% 47%,black 40%,transparent 100%);transition:opacity .5s,filter .5s;filter:saturate(.9);animation:spirit-float 9s ease-in-out infinite}
.ghost-expert:nth-child(2) canvas{animation-delay:-3s}.ghost-expert:nth-child(3) canvas{animation-delay:-6s}
.spirit-ring{position:absolute;inset:20% 10% 10%;border:1px solid #82bfff20;border-radius:50%;transform:rotate(-12deg);box-shadow:0 0 30px #65aafa08}
.expert-meta{display:flex;align-items:center;justify-content:center;gap:7px;margin:0 0 8px}
#council .expert-meta .number{margin:0;color:#8fc2e5;font-size:9px}.spirit-state{font-size:8px;color:#7295b0;letter-spacing:.5px}
#council .ghost-expert b{color:#c0dbec;overflow-wrap:anywhere;line-height:1.45}#council .ghost-expert small{color:#7796aa;line-height:1.5;margin-top:5px;overflow-wrap:anywhere}
#council .is-speaking{border-color:#8acaff;background:linear-gradient(0deg,#3269a236,transparent 85%)}
#council .is-speaking canvas{opacity:.95;filter:saturate(1.15) drop-shadow(0 0 9px #79bfff50)}
#council .is-speaking .spirit-state{color:#bfe4ff}#council .is-paused .spirit-state{color:#b5bfd1}
.speaker-ghost{width:44px;height:62px;margin:-8px 0;object-fit:contain;opacity:.8;mix-blend-mode:screen;mask-image:radial-gradient(ellipse 50% 50%,black 40%,transparent 100%)}
#player:has(.speaker-ghost:not([hidden])) .wave{display:none}
@keyframes spirit-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:800px){#council{gap:5px}#council .ghost-expert{padding:0 4px 12px}.apparition{height:172px}.expert-meta{gap:4px}.spirit-state{font-size:7px}#council .ghost-expert b{font-size:10px}#council .ghost-expert small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.apparition canvas{animation:none;transition:none}}
/* Locally bundled SIL OFL fonts: mythic inscriptions with readable council names. */
@font-face{font-family:'Cinzel Decorative';src:url('CinzelDecorative-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cinzel';src:url('Cinzel.ttf') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
.brand>span:last-child,h1,dialog h2{font-family:'Cinzel Decorative',Georgia,serif;font-weight:400}
.brand{letter-spacing:2px}.brand small{font-family:system-ui,sans-serif;letter-spacing:1.5px}
h1{font-size:39px;line-height:1.35;letter-spacing:.2px}
#verdict h2{font-family:'Cinzel',Georgia,serif;font-size:25px;line-height:1.45;font-weight:400;letter-spacing:.2px}
.eyebrow,.verdict-kind,#verdict h3,#council .ghost-expert b,#player b{font-family:'Cinzel',Georgia,serif}
#council .ghost-expert b{font-weight:500;line-height:1.6;font-size:11px}
@media(max-width:800px){h1{font-size:clamp(25px,7.2vw,33px);letter-spacing:0}#verdict h2{font-size:23px}#council .ghost-expert b{font-size:10px}.brand{font-size:11px;letter-spacing:1.5px}.brand small{letter-spacing:.7px}}
