:root {
  color-scheme: dark;
  --midnight: #040c1b;
  --navy: #07162d;
  --navy-glass: rgba(8, 26, 52, .84);
  --electric: #72c6f6;
  --cyan: #a2e7ff;
  --mist: #adc4d8;
  --parchment: #edf1ee;
  --border: rgba(120, 186, 224, .23);
  --gold: #d6bd8e;
  --serif: 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif;
  --sans: 'Trebuchet MS', 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { min-height: 100%; }
body { margin: 0; min-height: 100vh; background: var(--midnight); color: #e8f1fc; font-family: var(--sans); overflow-x: hidden; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid #acebff; outline-offset: 3px; }
.ambient-glow, .stardust { position: fixed; inset: 0; pointer-events: none; }
.ambient-glow { background: radial-gradient(ellipse 46% 72% at 86% 46%, rgba(18,89,145,.29), transparent 75%), radial-gradient(ellipse 54% 60% at -8% 94%, rgba(16,85,116,.17), transparent 74%), linear-gradient(150deg,#050b19 4%,#071326 55%,#030b17 100%); }
.stardust { opacity: .72; background-image: radial-gradient(circle at 7% 12%,#89d6ff 0 1px, transparent 2px),radial-gradient(circle at 67% 18%,#fff 0 1px, transparent 2px),radial-gradient(circle at 35% 81%,#77b8f9 0 1px, transparent 2px),radial-gradient(circle at 84% 72%,#70bffe 0 1px, transparent 2px);background-size:330px 370px, 475px 420px, 420px 380px, 570px 500px;animation:stars 13s ease-in-out infinite alternate; }
@keyframes stars { to { opacity: .3; transform: translateY(-10px); } }
.page-shell { position: relative; max-width: 1300px; margin:auto; padding: 0 53px; }
.topbar { height: 100px; border-bottom: 1px solid rgba(166,207,237,.13); display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.identity { display:flex; gap:14px; align-items:center; }
.brand-mark { width: 46px; height: 46px; border: 1px solid rgba(154,210,249,.48); border-radius: 50%; display:grid; place-items:center; color: var(--cyan); font-size:29px; box-shadow:inset 0 0 14px #4f9ac627,0 0 26px #397b941a; }
.identity .eyebrow, .brand-name { display:block; }
.identity .eyebrow { font-size: 9px; letter-spacing: 3px; color:#97bdd5; margin-bottom:1px; }
.brand-name { font: 22px/1.3 var(--serif); letter-spacing:.3px; color:#e5e9e9; }
.topbar-right { display:flex; gap:14px; align-items:center; color:#7994b4; letter-spacing:2.5px; font-size:9px; }
.topbar-line { width:29px; height:1px; background:#607c9c; }
.content-grid { display:grid; grid-template-columns: minmax(0,1.09fr) minmax(350px,.91fr); gap:50px; align-items:start; min-height: 690px; }
.control-area { padding: 66px 0 25px; }
.section-overline, .card-kicker { color:#90b9d6; letter-spacing:3px; text-transform:uppercase; font-size:10px; font-weight:700; }
.section-overline { margin:0 0 19px; }
.little-star {font-size:17px; vertical-align:-2px; color:#87cfff;margin-right:6px; }
h1 { font: normal clamp(52px,5.4vw,81px)/1.01 var(--serif); margin:0 0 23px; letter-spacing:-2px; color:#f1f2ee; text-shadow:0 0 36px #276a8c21; }
h1 em { font-weight:400; color:#88c8ed; }
.intro-copy { margin:0; max-width:445px; color:#aec1d4; font: 16px/1.6 var(--serif); }
.asterisk { color:var(--gold); }
.fine-print { margin:9px 0 29px; color:#6c819a; font: italic 12px/1.3 var(--serif); }
.choices-card { border: 1px solid var(--border); background:linear-gradient(138deg,rgba(19,48,75,.71),rgba(9,28,56,.92) 51%,rgba(7,25,46,.96)); padding:25px 26px 19px; box-shadow:0 13px 80px #0003,inset 0 1px #7ecaf11a; position:relative; }
.choices-card::before, .choices-card::after {content:'✧';position:absolute;color:#77b7dd;opacity:.67;font-size:17px;} .choices-card::before {left:-5px;top:-8px;} .choices-card::after{right:-5px;bottom:-11px;}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.card-kicker{margin:0 0 7px;color:#83b8d5;font-size:9px;}
h2{font:normal 26px var(--serif);margin:0;color:#eef2f4;}
.wax-seal{font-size:30px;color:var(--gold);opacity:.85;text-shadow:0 0 28px #ffda8b70;}
.helper-copy{font:13px/1.6 var(--sans);color:#91a9bf;margin:11px 0 19px;}
.choice-list{display:flex;flex-direction:column;gap:9px;max-height:380px;overflow:auto;scrollbar-color:#365e83 transparent;scrollbar-width:thin;padding:3px 3px 3px 0;}
.choice-row{display:flex;align-items:center;gap:7px;}
.choice-number{display:grid;place-items:center;width:23px;flex:0 0 23px;color:#70a0ba;font-size:12px;font-family:var(--serif);}
.choice-input{background:rgba(4,15,32,.7);border:1px solid rgba(130,190,219,.22);color:#f1f6fc;min-width:0;width:100%;height:43px;padding:9px 12px;border-radius:3px;font-size:14px;transition:border-color .2s,box-shadow .2s;}
.choice-input::placeholder{color:#637e99;}
.choice-input:focus{border-color:#70c7f4;box-shadow:0 0 12px #4da9dc18;outline:0;}
.choice-voice,.choice-record,.choice-remove{width:30px;height:35px;flex:0 0 30px;background:transparent;border:1px solid transparent;color:#7fadc5;font-size:16px;border-radius:3px;display:grid;place-items:center;padding:0;}
.choice-record{font-size:13px;color:#9aa6b7;}.choice-record.is-recording{color:#ff8787;box-shadow:0 0 14px #db49495e;animation:recordPulse .8s infinite alternate;}
@keyframes recordPulse{to{background:#da252526;}}
.choice-voice:hover,.choice-record:hover{background:#2d65852a;border-color:#6cadd540;color:#bceaff;}.choice-voice.has-audio{color:#bdf4a7;}
.choice-remove{color:#64849d;font-size:22px;}.choice-remove:hover{color:#ffd0d0;background:#d43d3d19;}
.add-option{border:0;background:none;color:#8ed2f6;font-size:13px;padding:16px 0 14px 33px;letter-spacing:.25px;}.add-option:hover{color:#e3f9ff;}.plus{font-size:20px;vertical-align:-2px;margin-right:4px;}
.card-footer{padding-top:15px;border-top:1px solid #90b5d226;}
.settings{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.toggle-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#a8bfd4;user-select:none;}.toggle-label input{position:absolute;opacity:0;width:1px;height:1px;}.toggle-ui{display:block;width:27px;height:15px;border-radius:15px;background:#32506b;position:relative;transition:background .2s;border:1px solid #6388a2;}.toggle-ui::before{content:'';width:9px;height:9px;background:#aac5d8;position:absolute;left:2px;top:2px;border-radius:50%;transition:transform .2s;}.toggle-label input:checked+.toggle-ui{background:#295d77;}.toggle-label input:checked+.toggle-ui::before{transform:translateX(12px);background:#abf1ff;}.toggle-label input:focus-visible+.toggle-ui{outline:2px solid #abe5ff;outline-offset:3px;}
.voice-settings{margin-top:17px;color:#94b5cf;font-size:12px;}.voice-settings summary{cursor:pointer;display:inline-block;list-style:none;text-decoration:underline;text-decoration-color:#7094ac6e;text-underline-offset:3px;}.voice-settings summary span{margin-left:4px;}.voice-settings-body{padding:13px 0 0;}.voice-settings-body label{display:block;margin-bottom:8px;}.voice-settings-body select{max-width:100%;min-width:200px;width:100%;background:#0c2745;border:1px solid #3a6481;border-radius:3px;color:#e8f5fc;padding:8px;}.voice-settings-body p{font:12px/1.5 var(--sans);margin:8px 0 0;color:#7f9ab2;}
.summon-button{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:14px;min-height:62px;margin-top:18px;width:100%;background:linear-gradient(115deg,#80caea,#a8e6fc 55%,#67b9e2);border:1px solid #d5f0ffb0;color:#051830;font: bold 15px var(--serif);letter-spacing:3px;box-shadow:0 0 42px #268fc73a,inset 0 2px #efffff77;transition:transform .18s,filter .18s;}.summon-button:hover{transform:translateY(-2px);filter:brightness(1.09);}.summon-button:active{transform:translateY(1px);}.summon-icon{font-size:25px;}.button-shine{position:absolute;width:80px;inset:-50px auto -50px -130px;transform:rotate(20deg);background:#ffffff50;filter:blur(25px);transition:left .5s;}.summon-button:hover .button-shine{left:110%;}
.form-notice{min-height:18px;font-size:12px;color:#ffbba7;margin:8px 0 0;text-align:center;}
.art-area{position:relative;min-height:715px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:34px 38px 18px;overflow:visible;}
.art-area::before{position:absolute;content:'';width:115%;height:90%;top:3%;left:0;border:1px solid rgba(127,196,243,.08);border-radius:50%;transform:rotate(-21deg);pointer-events:none;}
.art-area::after{content:'';position:absolute;width:68%;height:68%;border:1px solid rgba(143,199,234,.09);border-radius:50%;top:16%;left:16%;transform:rotate(12deg);pointer-events:none;}
.orb{position:absolute;border-radius:50%;background:#30baff;filter:blur(10px);opacity:.24;}.orb-one{height:9px;width:9px;top:12%;right:4%;}.orb-two{height:12px;width:12px;bottom:18%;left:1%;}
.art-topline,.art-bottomline{color:#8cbad4;font-size:10px;letter-spacing:3px;text-align:center;z-index:2;}.art-topline{margin-bottom:18px;white-space:nowrap;}.art-topline span{margin:0 12px;color:#b8d9ef;}.art-bottomline{margin-top:23px;color:#6e9ab5;}
.ornate-art-frame{position:relative;aspect-ratio:438/720;max-width:335px;width:100%;border:1px solid #86bee347;box-shadow:0 0 0 8px #071b3025,0 0 0 9px #70b9e01d,0 34px 100px #0008,0 0 85px #1283ca30;overflow:visible;z-index:1;}
.ornate-art-frame>img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.83) contrast(1.08);}.art-shade{position:absolute;inset:47% 0 0;background:linear-gradient(transparent 0%,#051328bd 57%,#031123f2 100%);}.art-caption{position:absolute;bottom:5%;left:7%;right:7%;text-align:center;color:#f2f8ff;text-shadow:0 2px 12px #000;}.art-caption p{font:italic 18px/1.45 var(--serif);margin:13px 0 0;}.art-caption strong{font:normal 20px var(--serif);color:#a9e9ff;}.tiny-stars{font-size:15px;color:#acd9f5;letter-spacing:3px;}
.frame-corner{width:17px;height:17px;position:absolute;z-index:3;border-color:#b8e7ff;pointer-events:none;}.top-left{top:-5px;left:-5px;border-top:1px solid;border-left:1px solid;}.top-right{top:-5px;right:-5px;border-top:1px solid;border-right:1px solid;}.bottom-left{bottom:-5px;left:-5px;border-bottom:1px solid;border-left:1px solid;}.bottom-right{bottom:-5px;right:-5px;border-bottom:1px solid;border-right:1px solid;}
.page-footer{display:flex;justify-content:space-between;gap:20px;padding:20px 0 22px;border-top:1px solid #83b9db1a;color:#66849d;letter-spacing:1.4px;font-size:9px;}
/* The full-screen council ritual */
.ritual{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse 85% 65% at 50% 40%,#073760 0%,#061a34 57%,#030a17 100%);display:none;align-items:center;justify-content:center;flex-direction:column;padding:10px 22px 25px;isolation:isolate;}
.ritual.is-open{display:flex;animation:ritualEntrance .38s ease-out;}
@keyframes ritualEntrance{from{opacity:0}to{opacity:1}}
.ritual-cosmic{position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle at 14% 19%,#56c5ff85 0 2px, transparent 4px),radial-gradient(circle at 80% 65%,#63c8f778 0 3px,transparent 6px),radial-gradient(circle at 65% 15%,#8bd7fa96 0 1px,transparent 2px),radial-gradient(circle at 30% 82%,#f1fbff80 0 1px,transparent 2px);background-size:460px 390px,540px 480px,350px 280px,280px 290px;animation:stars 8s ease-in-out infinite alternate;}
.ritual-close{position:absolute;right:clamp(12px,4vw,48px);top:clamp(12px,3vw,32px);background:#0a315362;border:1px solid #75a6c545;border-radius:50%;width:38px;height:38px;color:#c1ddeb;font-size:15px;z-index:5;}.ritual-close:hover{background:#2354789e;}
.ritual-header{display:flex;align-items:center;justify-content:center;gap:18px;color:#add4ed;font:11px/1.3 var(--sans);letter-spacing:3px;text-align:center;padding:12px 35px 16px;}.rune-mark{font-size:21px;color:#a8e5ff;}
.ritual-stage{position:relative;aspect-ratio:438/720;height:min(77vh,720px);max-width:96vw;border:1px solid #7cc5ee79;background:#0c3658;box-shadow:0 0 0 9px #18578222,0 0 0 10px #81d2ff30,0 20px 100px #000b,0 0 110px #49bcff3b;overflow:hidden;}
.ritual-stage::before{position:absolute;inset:0;content:'';z-index:6;pointer-events:none;border:12px solid #07192a25;}
.ritual-stage video,.verdict-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.verdict-art{opacity:0;transition:opacity .5s;z-index:1;filter:contrast(1.07);}.ritual.show-verdict .verdict-art{opacity:1;}
.ritual.show-verdict video{opacity:0;transition:opacity .3s;}
.reveal-shimmer{position:absolute;inset:-50%;z-index:2;opacity:0;pointer-events:none;background:radial-gradient(ellipse at center,#ffffffb8 0%,#bceaff66 13%,transparent 50%);}
.ritual.show-verdict .reveal-shimmer{animation:verdictFlash .85s ease-out forwards;}
@keyframes verdictFlash{0%{opacity:0;transform:scale(.65)}18%{opacity:.9}100%{opacity:0;transform:scale(1.3)}}
.verdict-content{position:absolute;z-index:4;left:0;right:0;bottom:0;text-align:center;padding:90px 18px 45px;visibility:hidden;opacity:0;transform:translateY(20px);background:linear-gradient(transparent 0%,rgba(4,16,33,.98) 16%,#051328 100%);}
.ritual.show-verdict .verdict-content{visibility:visible;animation:showChoice .6s .18s both;}
@keyframes showChoice{to{transform:translateY(0);opacity:1}}
.verdict-ribbon{font: bold 10px var(--sans);letter-spacing:2.6px;color:#c7e7fb;margin-bottom:15px;text-shadow:0 0 18px #c0efff;}
.verdict-name{font:normal clamp(22px,3.7vw,35px)/1.14 var(--serif);color:#f5f6ec;overflow-wrap:anywhere;text-shadow:0 0 18px #64c7fdad,0 1px 2px #020a16;max-height:38vh;overflow:auto;}
.verdict-decoration{font:10px var(--serif);letter-spacing:2.2px;color:#7eb7d6;margin-top:18px;}
.ritual-footer{min-height:67px;display:flex;align-items:center;justify-content:center;margin-top:18px;text-align:center;color:#9ec5df;font:italic 15px var(--serif);}
.ritual-footer p{margin:0;}
.result-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;}.result-actions[hidden]{display:none;}
.result-button{padding:11px 16px;border:1px solid #8abdd671;border-radius:2px;background:#11375687;color:#d3ecfc;font:12px var(--sans);letter-spacing:.3px;}.result-button:hover{background:#2b6689c2;}.result-button.primary{border-color:#9adef1;background:#8acded;color:#061d31;font-weight:bold;}.result-button.primary:hover{background:#c0eafb;}
@media(max-width:1000px){.page-shell{padding:0 30px;}.content-grid{gap:26px;grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr);}.art-area{padding-inline:12px;}.topbar-right{font-size:8px;}}
@media(max-width:750px){.page-shell{padding:0 22px;}.topbar{height:78px;}.topbar-right{display:none;}.content-grid{grid-template-columns:1fr;}.control-area{padding-top:43px;}.art-area{grid-row:2;min-height:auto;padding:35px 25px 50px;}.ornate-art-frame{max-width:300px;}h1{font-size:clamp(51px,12vw,71px);}.page-footer{flex-direction:column;gap:5px;}.ritual-stage{height:min(70vh,720px);}.ritual-header{font-size:9px;letter-spacing:2px;}.ritual-footer{margin-top:15px;}}
@media(max-width:420px){.page-shell{padding:0 14px;}.choices-card{padding:19px 12px;}.brand-name{font-size:20px;}.card-head h2{font-size:23px;}.settings{gap:14px;}.choice-row{gap:4px;}.choice-number{width:17px;flex-basis:17px;}.choice-input{padding:8px;font-size:13px;}.choice-voice,.choice-record,.choice-remove{width:27px;flex-basis:27px;}.summon-button{letter-spacing:1.9px;}.ritual-header{gap:8px;padding:8px 30px 12px;font-size:8px;}.result-button{padding:9px 10px;}.verdict-content{padding-bottom:30px;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}}

/* Original council chant plays above the revealed choice, then the result returns. */
#wololo-video{z-index:5;opacity:0;pointer-events:none;visibility:hidden;}
.ritual.show-wololo #wololo-video{visibility:visible;opacity:1;transition:opacity .16s;}
.ritual.show-wololo .verdict-content{opacity:0;visibility:hidden;}
