:root{color-scheme:dark;--navy:#080f20;--panel:#111c30;--gold:#e5ba67;--gold-light:#f7deb0;--text:#f0ecdf;--muted:#a7afbe;--line:#c4a36535;--green:#a5dac5;--red:#ffaca4}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 15%,#1a2940 0,transparent 50%),var(--navy);color:var(--text);font:16px/1.6 'Segoe UI',Arial,sans-serif}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold-light);outline-offset:5px}a{color:var(--gold-light);text-underline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(2.3rem,3.2vw,3.4rem);line-height:1.12;letter-spacing:-.03em;margin:14px 0 18px}h2{font-size:1.6rem;line-height:1.25;margin-bottom:14px}h3{font-size:1.4rem;color:var(--gold-light);margin-top:28px}p{color:var(--muted);margin-bottom:14px}.topbar{max-width:1540px;margin:auto;padding:24px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:15px;align-items:center;color:var(--gold-light);text-decoration:none;font-family:Georgia,serif;font-size:1.15rem;letter-spacing:.11em}.brand small{font-family:'Segoe UI',sans-serif;display:block;font-size:.65rem;letter-spacing:.28em;color:var(--muted);margin-top:4px}.om{font-size:2.5rem;color:var(--gold)}nav{display:flex;gap:9px}.quiet{border:1px solid var(--line);border-radius:7px;background:#15203566;color:var(--text);padding:10px 15px;font-size:.875rem;transition:background .2s}.quiet:hover{background:#24324a}.eyebrow{font-size:.75rem;letter-spacing:.17em;color:var(--gold);font-weight:600}main{max-width:1500px;margin:0 auto;padding:30px 36px 20px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);gap:40px;align-items:start}.board-section{position:sticky;top:18px}.board-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px;gap:10px}.board-key{font-size:.75rem;color:var(--muted);white-space:nowrap}.board-key i{display:inline-block;width:8px;height:8px;background:#fff4c6;border-radius:50%;box-shadow:0 0 12px #f5c95a;margin-right:6px}.board-frame{position:relative;border:1px solid #d9ad5770;box-shadow:0 30px 80px #0009,0 0 50px #d5a53c0a;border-radius:5px;overflow:hidden;background:#11192a}.board-frame>img{display:block;width:100%;height:auto}.board-caption{display:flex;justify-content:space-between;font-size:.75rem;margin-top:13px}.board-caption a{color:var(--muted)}#squares{position:absolute;inset:0}.square-hit{position:absolute;transform:translate(-50%,-50%);width:10%;height:9.3%;border:0;border-radius:4px;background:transparent;color:transparent;padding:0}.square-hit:hover,.square-hit:focus-visible{background:#fff2bb22;outline:2px solid #ffefb5;outline-offset:-4px}.square-hit.selected{background:#fff2bb33;outline:2px solid #fff8d1;outline-offset:-4px}.route-layer{position:absolute;width:100%;height:100%;inset:0;pointer-events:none;overflow:visible}.route-layer path{fill:none;stroke:var(--gold-light);stroke-width:.5;stroke-linecap:round;stroke-dasharray:1 1;opacity:0;filter:drop-shadow(0 0 1px #ffe497)}.route-layer path.active{opacity:.85}.route-layer path.snake{stroke:#ffaca4}#token{position:absolute;width:4.2%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 30%,#fffef5,#f6d27c 45%,#9b6820);border:2px solid #fff5cf;box-shadow:0 0 0 4px #02081888,0 0 18px #ffe9ad;z-index:4;pointer-events:none;transition:top .2s ease-in-out,left .2s ease-in-out}#token span{position:absolute;inset:26%;border:1px solid #8a631c;border-radius:50%}#token::after{content:'';position:absolute;inset:-40%;border:1px solid #fff0ad88;border-radius:50%;animation:breathe 3s infinite}.bite{display:none;position:absolute;inset:-85%;font-size:clamp(25px,3vw,50px);line-height:.7;color:#ff938b;text-align:center;transform:rotate(-20deg)}#token.bitten{animation:shake .14s 5;background:#ec6a64}#token.bitten .bite{display:block}.board-notice{position:absolute;bottom:8%;left:12%;right:12%;padding:10px 16px;background:#09101fea;border:1px solid var(--gold);border-radius:8px;text-align:center;color:var(--gold-light);font-size:.875rem;z-index:6;pointer-events:none}.journey-panel{padding-top:10px;min-width:0}.intro p{max-width:34ch}.card{padding:23px;border:1px solid var(--line);background:linear-gradient(135deg,#162238ee,#0f192cee);border-radius:12px;margin:19px 0;box-shadow:0 15px 35px #0002}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{font-size:.8125rem;color:var(--muted)}.dice-area{display:flex;align-items:center;gap:28px;padding:28px 4px 17px}.dice{width:83px;height:83px;background:linear-gradient(145deg,#fff4d4,#d5ad66);border-radius:16px;box-shadow:inset 0 2px 2px #fff9,inset 0 -5px 1px #84602666,0 10px 25px #0005;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:14px;gap:6px;flex-shrink:0}.dice i{background:#172039;border-radius:50%;visibility:hidden;box-shadow:inset 1px 2px 2px #0008}.dice.rolling{animation:roll .6s ease-in-out infinite}.dice-value{font-family:Georgia,serif;font-size:1.4rem;color:var(--gold-light)}.dice-area p{font-size:.875rem;margin:4px 0}.status{font-size:.9375rem;min-height:48px}.primary{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:1px solid #f4cf89;background:linear-gradient(110deg,#f0ce8a,#d7aa56);color:#192033;border-radius:7px;padding:13px 17px;font-weight:650;box-shadow:0 4px 20px #d9aa5514;transition:filter .2s}.primary:hover{filter:brightness(1.1)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.metrics div{display:flex;flex-direction:column}.metrics strong{font-family:Georgia,serif;font-weight:400;font-size:1.6rem;color:var(--gold-light)}.metrics span{font-size:.75rem;color:var(--muted)}.number{font-family:Georgia,serif;font-size:1.45rem;color:var(--gold)}.square-card h2{margin-top:9px}.micro{font-size:.75rem;color:var(--muted)}.connection{border-top:1px solid var(--line);padding-top:12px;margin-top:16px;font-size:.875rem;color:var(--gold-light)}.text-button,.inline-button{border:0;background:transparent;color:var(--gold-light);padding:10px 0;text-decoration:underline;text-underline-offset:4px;font-size:.875rem}.text-button{display:block}.inline-button{padding:0;font-size:inherit}.history-card h2{font-size:1.2rem;margin:0}#history{list-style:none;padding:0;margin:15px 0 0;max-height:340px;overflow:auto;scrollbar-color:#5a513c transparent}#history li{padding:13px 0;border-top:1px solid var(--line);font-size:.875rem}#history li strong{display:block;color:var(--gold-light);font-weight:500}#history li span{font-size:.8125rem;color:var(--muted)}#history li.empty{color:var(--muted)}.source-note{font-size:.75rem}.ritual-steps{display:flex;gap:5px;margin:10px 0 18px}.ritual-steps span{flex:1;border-top:2px solid #616676;color:var(--muted);padding-top:7px;font-size:.75rem}.ritual-steps span.done{border-color:var(--gold);color:var(--gold-light)}.button-pair{display:flex;gap:10px}.button-pair>*{flex:1}.button-pair .primary{width:auto;font-size:.875rem}#outcomes p{font-size:.875rem;margin-top:14px}.intention{font-family:Georgia,serif;font-style:italic;font-size:1.2rem;color:var(--text);overflow-wrap:anywhere;margin-top:12px}dialog{color:var(--text);border:1px solid #b7924c88;background:linear-gradient(145deg,#17233a,#0a1324);border-radius:15px;padding:32px;max-width:650px;width:calc(100% - 30px);max-height:90dvh;box-shadow:0 30px 140px #000c}dialog::backdrop{background:#020816cc;backdrop-filter:blur(7px)}dialog h2{font-size:2.1rem;margin-top:20px}dialog p,dialog li{font-size:.9375rem}dialog li{color:var(--muted);margin:10px 0}dialog strong{color:var(--text)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.close{font-size:1.7rem;line-height:1;border:1px solid var(--line);border-radius:50%;width:35px;height:35px;background:transparent;color:var(--gold-light)}.prayer{border:1px solid var(--line);padding:18px;border-radius:8px;background:#dcb87008;margin:20px 0}.prayer summary{color:var(--gold-light);cursor:pointer}.prayer summary span{float:right;font-size:.75rem;color:var(--muted)}blockquote{font:1rem/1.8 Georgia,serif;margin:20px 0;color:#e6dcc6}.form-row{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}label{display:block;font-size:.875rem;color:var(--gold-light);margin-bottom:14px}input:not([type=checkbox]),textarea{display:block;width:100%;border:1px solid #a88c564f;border-radius:7px;background:#070f20;color:var(--text);padding:12px;margin-top:7px;font-size:1rem}input:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:2px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8993a7}.check{display:flex;align-items:flex-start;gap:12px;line-height:1.5;margin:20px 0;color:var(--muted)}input[type=checkbox]{accent-color:var(--gold);width:19px;height:19px;flex-shrink:0}.check small{display:block;margin-top:5px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.8125rem}th{text-align:left;color:var(--gold-light)}td,th{padding:10px 6px;border-bottom:1px solid var(--line)}td{color:var(--muted)}footer{max-width:1428px;margin:20px auto 0;border-top:1px solid var(--line);padding:24px 36px 36px;display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.75rem}footer span{letter-spacing:.12em;color:var(--gold)}[hidden]{display:none!important}@keyframes roll{0%{transform:rotate(-12deg) translateY(0)}25%{transform:rotate(18deg) translateY(-12px)}50%{transform:rotate(-25deg) translateY(0)}75%{transform:rotate(15deg) translateY(-7px)}100%{transform:rotate(-12deg)}}@keyframes breathe{50%{transform:scale(1.25);opacity:.25}}@keyframes shake{50%{translate:3px -3px;rotate:12deg}}@media(min-width:1500px){main{grid-template-columns:minmax(0,850px) minmax(340px,1fr)}}@media(max-width:1000px){main{gap:24px;padding:24px;grid-template-columns:minmax(0,1.2fr) minmax(310px,1fr)}.topbar{padding:20px 24px}.card{padding:18px}.board-heading .eyebrow{font-size:.65rem}.board-key{display:none}.dice-area{gap:20px}}@media(max-width:760px){.topbar{padding:16px;align-items:flex-start;gap:12px;flex-wrap:wrap}.brand{font-size:1rem}.om{font-size:2rem}nav{width:100%;justify-content:space-between}nav .quiet{flex:1;padding:8px;font-size:.8125rem}main{display:flex;flex-direction:column;padding:18px 14px;gap:15px}.board-section{position:relative;top:0;width:100%}.journey-panel{width:100%;padding-top:0}.intro{display:none}.board-heading .eyebrow{font-size:.7rem}.board-key{display:block}.card{margin:14px 0;padding:20px}.controls{margin-top:0}.dice-area{padding:16px 4px;gap:26px}.dice{width:70px;height:70px;padding:12px;gap:4px}.status{min-height:0}.metrics{margin-top:16px;padding-top:14px}dialog{padding:23px}.form-row{grid-template-columns:1fr 1fr}footer{padding:22px 16px;flex-wrap:wrap}.board-caption{font-size:.7rem}.button-pair{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Perspective dice and board motion */
.dice-stage{--die-size:76px;--die-half:38px;width:114px;height:124px;position:relative;display:grid;place-items:center;perspective:650px;flex-shrink:0;isolation:isolate}
.dice{position:relative;width:var(--die-size);height:var(--die-size);padding:0;display:block;background:none;border-radius:0;box-shadow:none;transform-style:preserve-3d;z-index:2}
.die-face{position:absolute;inset:0;border:1px solid #f8dda3;border-radius:12px;background:linear-gradient(135deg,#fff8df,#edcf90 65%,#c59748);display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:6px;padding:13px;box-shadow:inset 0 0 7px #7e571977,inset 2px 2px 2px #fff8;backface-visibility:hidden}
.die-face i{width:100%;height:100%;background:radial-gradient(circle at 65% 70%,#33415a,#071124 70%);box-shadow:inset 1px 2px 2px #000b,0 1px 0 #fff9;border-radius:50%}
.face-1{transform:translateZ(var(--die-half))}.face-6{transform:rotateY(180deg) translateZ(var(--die-half));background:linear-gradient(135deg,#eacf8f,#c39950)}
.face-2{transform:rotateY(90deg) translateZ(var(--die-half));background:linear-gradient(135deg,#eed293,#ae7d38)}.face-5{transform:rotateY(-90deg) translateZ(var(--die-half))}
.face-3{transform:rotateX(90deg) translateZ(var(--die-half));background:linear-gradient(135deg,#fffbe7,#e6c685)}.face-4{transform:rotateX(-90deg) translateZ(var(--die-half))}
.dice-shadow{position:absolute;bottom:3px;left:13px;width:88px;height:17px;border-radius:50%;background:radial-gradient(ellipse,#0009,transparent 70%);filter:blur(3px);z-index:0}
.tossing .dice{animation:die-lift 1.45s linear}.tossing .dice-shadow{animation:die-shadow 1.45s linear}
@keyframes die-lift{0%{translate:0 0}28%{translate:3px -30px}59%{translate:-5px -15px}78%{translate:1px 0}87%{translate:0 -9px}100%{translate:0 0}}
@keyframes die-shadow{0%,78%,100%{scale:1;opacity:1}28%{scale:.65;opacity:.35}59%{scale:.8;opacity:.55}87%{scale:.85;opacity:.65}}
#boardEffects{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}
#token{transform-style:preserve-3d;box-shadow:0 4px 0 #947026,0 7px 10px #0009,0 0 18px #ffe9ad}
#token.bitten{animation:bite-impact .24s 4;background:radial-gradient(circle at 35% 30%,#ffedc4,#e77c52,#68283c)}
#token.bitten .bite{display:none}
@keyframes bite-impact{50%{translate:2px -2px;rotate:-7deg;filter:brightness(1.25)}}
.square-hit.stepped{background:#fff2bb55;box-shadow:inset 0 0 18px #ffdc90;outline:1px solid #fff1b8;outline-offset:-3px}
@media(max-width:760px){.dice-stage{--die-size:68px;--die-half:34px;width:100px;height:112px}.die-face{padding:11px;gap:5px}.dice-shadow{width:78px;left:11px}}
@media(prefers-reduced-motion:reduce){.tossing .dice,.tossing .dice-shadow,#token.bitten{animation:none!important}}
