@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--bg:#0c201e;--panel:#142a27;--gold:#d9bd83;--text:#eeeade;--muted:#99aaa1;--border:#ffffff13;--rose:#bf8c86;color-scheme:dark;font-family:Manrope,Arial,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 15%,#28413c55,transparent 45%),radial-gradient(ellipse at 5% 70%,#25423b40,transparent 40%),var(--bg);min-height:100vh}button,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:var(--gold)}button{color:inherit}button:active{transform:translateY(1px)}[hidden]{display:none!important}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:4;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.5' filter='url(%23n)'/%3E%3C/svg%3E")}header{max-width:1440px;margin:auto;padding:26px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--text)}.brand img{width:45px;height:45px}.brand>span{font-family:'Cormorant Garamond',Georgia,serif;font-size:38px;line-height:.9;letter-spacing:2px}.brand small{display:block;font:8px Manrope,sans-serif;letter-spacing:2px;margin-top:9px;color:var(--muted)}nav{display:flex;gap:30px}.nav{background:none;border:0;color:var(--muted);font-size:12px;padding:12px 0;position:relative}.nav.active{color:var(--gold)}.nav.active:after{content:'';height:2px;background:var(--gold);position:absolute;bottom:0;left:0;width:20px}.nav span{display:inline-flex;align-items:center;justify-content:center;background:#ffffff0c;border-radius:10px;min-width:19px;height:19px;margin-left:4px;font-size:10px}.header-actions{display:flex;gap:20px;align-items:center}.icon-button{border:1px solid var(--border);background:transparent;width:36px;height:36px;border-radius:50%;color:var(--muted);font-size:20px}.icon-button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.avatar{background:#d5bd8317;border:1px solid #d5bd8333;color:var(--gold);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:12px}main{max-width:1440px;margin:auto;padding:0 48px}.intro{display:flex;justify-content:space-between;align-items:center;padding:44px 0 34px}.eyebrow,.overline{font-size:9px;font-weight:600;letter-spacing:2px;color:var(--gold)}.eyebrow{margin:0 0 17px}.eyebrow>span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:9px}h1,h2,h3,p{margin-top:0}h1{font:500 clamp(38px,4.3vw,62px)/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:-1.5px;margin-bottom:15px}h1 em{color:var(--gold);font-weight:400}h2{font:500 30px/1.1 'Cormorant Garamond',Georgia,serif;margin-bottom:0}.subtitle{font-size:12px;color:var(--muted);margin:0}.intro-symbol{font:64px Georgia;color:var(--gold);text-align:center;padding-right:18px}.intro-symbol span{display:block;font:9px Manrope,sans-serif;color:var(--muted);letter-spacing:1px;margin-top:8px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.board-panel{border:1px solid #9aae9529;border-radius:18px;background:linear-gradient(135deg,#203a3138,#122825);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 26px 20px}.panel-heading h2{font-size:28px;margin-top:7px}.text-button{border:0;background:none;padding:0;color:var(--gold);font-size:10px;line-height:1.8}.text-button span{margin-left:8px}.board-shell{padding:0 22px 0 10px;display:flex;gap:9px}.levels{width:17px;display:flex;flex-direction:column;justify-content:space-around;flex-shrink:0}.levels i{font:8px Georgia;color:#8ca193;text-align:center}.board-wrap{width:100%;position:relative}.board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));gap:3px;aspect-ratio:9/8}.cell{border:1px solid #a0b39516;position:relative;border-radius:5px;padding:7px 4px 5px;background:var(--cell-bg);display:flex;flex-direction:column;justify-content:space-between;align-items:center;transition:background .3s,border-color .3s;min-width:0;overflow:hidden}.cell:hover,.cell.selected{border-color:var(--gold);background:#d9bd8315}.cell.selected{box-shadow:inset 0 0 14px #d9bd8310}.cell-number{font:500 clamp(13px,1.5vw,21px) 'Cormorant Garamond',Georgia,serif;align-self:flex-start;line-height:1;z-index:1;color:#f2ead9b8}.cell-name{font-size:clamp(5px,.58vw,9px);line-height:1.35;text-align:center;color:#b3c1b0;z-index:1;max-width:100%;text-wrap:balance}.cell-arrow,.cell-snake{position:absolute;right:4px;top:5px;color:var(--gold);font-size:11px}.cell-snake{color:var(--rose)}.cell.goal{border-color:#d9bd8366;background:#d9bd831a}.cell.goal .cell-name{color:var(--gold)}.connections{pointer-events:none;position:absolute;inset:0;width:100%;height:100%;opacity:.52;transition:opacity .3s}.connections.off{opacity:0}.player{position:absolute;top:22%;left:33%;width:34%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff9df,#d8bb78 50%,#806737);box-shadow:0 0 0 3px #f8e3a225,0 0 20px #f8e3a25c;z-index:2;border:1px solid #fff3c5;display:grid;place-items:center;color:#735b2b;font:12px Georgia;animation:appear .4s ease}.player.waiting{opacity:.55}.board-legend{display:flex;align-items:center;gap:17px;flex-wrap:wrap;font-size:8px;color:var(--muted);padding:20px 25px 16px}.board-legend>span{display:flex;align-items:center;gap:6px}.board-legend .text-button{margin-left:auto;font-size:8px}.dot{width:5px;height:5px;border-radius:50%;display:inline-block}.gold{background:var(--gold)}.rose{background:var(--rose)}.white{background:#f1e8d4}.board-foot{margin:0 25px;padding:16px 0 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;color:#7e9789;font-size:9px}.board-foot>span:last-child{font:19px Georgia;color:var(--gold)}.journey-panel{display:grid;gap:14px}.intention-card{padding:21px 23px;background:#d9bd830a;border:1px solid #d9bd832b;border-radius:14px;position:relative}.intention-card p{font:italic 23px/1.25 'Cormorant Garamond',Georgia,serif;margin:12px 0;color:#e5dac5;overflow-wrap:anywhere}.intention-card .text-button{font-size:9px}.current-card{padding:23px;background:linear-gradient(160deg,#203b33,#172e29);border:1px solid var(--border);border-radius:14px}.card-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.card-top .overline{font-size:8px;letter-spacing:1.5px}.pill{font-size:8px;color:#a9b4a2;border:1px solid #b3c8ac26;border-radius:12px;padding:4px 8px;white-space:nowrap}.cell-symbol{color:var(--gold);font:55px Georgia;text-align:center;margin:14px 0 10px}.current-card h2{text-align:center;font-size:29px;margin-bottom:15px}.current-card>p{font-size:11px;line-height:1.85;color:#acbbae;margin-bottom:20px}.question-box{border-top:1px solid #d9bd8330;padding-top:16px}.question-box span{font-size:7px;letter-spacing:1.5px;color:#bcad87}.question-box p{font:italic 20px/1.3 'Cormorant Garamond',Georgia,serif;margin:10px 0 0;color:#e4d7bc}.current-card>.text-button{margin-top:16px}.roll-card{padding:21px 23px;border:1px solid var(--border);border-radius:14px;background:#132a26}.roll-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.roll-top p{font-size:10px;color:var(--muted);margin:8px 0 0;max-width:175px;line-height:1.5}.dice{height:45px;width:45px;flex-shrink:0;border-radius:10px;background:linear-gradient(140deg,#eee2c4,#c4a66b);color:#214032;box-shadow:0 5px 0 #6d5e3b,0 10px 15px #0003;display:grid;place-items:center;font:28px Georgia}.dice.rolling{animation:tumble .18s infinite alternate}.dice .pips{display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);width:28px;height:28px;gap:4px}.pip{border-radius:50%;background:transparent}.pip.on{background:#304737}.primary{width:100%;border:1px solid #ebd2a0;background:linear-gradient(115deg,#e6d1a6,#cbae78);color:#29372c;border-radius:8px;padding:15px 16px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 18px #d9bd8310}.primary:hover{filter:brightness(1.06)}.primary span{font-size:19px;line-height:12px;font-weight:400}.roll-message{font-size:9px;line-height:1.6;text-align:center;color:var(--muted);margin:12px 0 0;min-height:15px}.session-stats{display:flex;justify-content:space-around;padding:5px 0}.session-stats span{display:flex;flex-direction:column;gap:5px;font-size:8px;color:var(--muted);text-align:center}.session-stats b{font:23px 'Cormorant Garamond',Georgia,serif;color:#e0d3b5;font-weight:400}footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:30px 0;color:#799084;font-size:9px}.footer-brand{font:26px 'Cormorant Garamond',Georgia,serif;color:#bdaa7e}dialog{border:1px solid #d9bd8344;background:#162e29;color:var(--text);border-radius:18px;padding:36px;width:min(520px,calc(100% - 28px));max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#04110ed9;backdrop-filter:blur(7px)}dialog h2{font-size:36px;margin-bottom:16px}.dialog-close{position:absolute;top:12px;right:15px;background:none;border:0;font-size:24px;color:var(--muted)}label{display:block;font-size:10px;margin:23px 0 10px;color:var(--gold)}textarea{width:100%;border:1px solid #a4b19e36;border-radius:9px;padding:14px;background:#0b201c;color:var(--text);resize:vertical;font-size:13px;line-height:1.6}textarea::placeholder{color:#738d7e}.muted{font-size:12px;line-height:1.8;color:var(--muted)}.suggestions{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 24px}.suggestions button{border:1px solid var(--border);border-radius:20px;padding:7px 11px;font-size:9px;background:#ffffff05;color:var(--muted)}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:14px 22px;background:#e1c997;color:#23372c;z-index:10;border-radius:8px;font-size:12px;max-width:90%;box-shadow:0 10px 40px #0005}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:10px 0 20px}.section-top h2{font-size:40px}.secondary{border:1px solid #d9bd8355;background:#d9bd8308;color:var(--gold);padding:12px 18px;border-radius:8px;font-size:10px}.journal-entry{padding:22px 26px;border:1px solid var(--border);border-radius:12px;background:#18312b;display:grid;grid-template-columns:42px 1fr auto;gap:18px;margin-top:12px}.journal-dice{color:var(--gold);font:30px Georgia}.journal-entry h3{font:26px 'Cormorant Garamond',Georgia,serif;margin:0 0 6px}.journal-entry p{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 8px}.journal-note{white-space:pre-wrap;color:var(--text)!important;overflow-wrap:anywhere}.journal-entry small{font-size:9px;color:#7f9787}.empty{padding:70px 20px;text-align:center;border:1px dashed #d9bd8333;border-radius:16px;margin-top:30px}.empty img{width:70px;opacity:.6;margin-bottom:20px}.empty h3{font:30px 'Cormorant Garamond',Georgia,serif}.empty p{color:var(--muted);font-size:12px}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:28px 0}.guide-grid article,.guide-detail{border:1px solid var(--border);background:#173029;padding:28px;border-radius:14px}.guide-grid article>span{font-size:9px;letter-spacing:1.5px;color:var(--gold)}.guide-grid h3,.guide-detail h3{font:28px 'Cormorant Garamond',Georgia,serif;margin:15px 0}.guide-grid p,.guide-detail p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:0}.guide-detail p{margin-bottom:20px}.guide-lotus{width:100px;opacity:.6}#archives{margin-top:32px}#archives h3{font:26px 'Cormorant Garamond',Georgia,serif}details{padding:17px 20px;border:1px solid var(--border);margin-top:10px;border-radius:10px}summary{cursor:pointer;color:var(--gold);font-size:12px;overflow-wrap:anywhere}.archive-item{margin-top:14px}.archive-item p{font-size:11px;line-height:1.8;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}@keyframes tumble{from{transform:rotate(-15deg) translateY(-2px)}to{transform:rotate(17deg) translateY(3px)}}@keyframes appear{from{transform:scale(.3);opacity:.3}to{transform:scale(1);opacity:1}}
@media(min-width:1400px){.game-layout{grid-template-columns:minmax(0,1fr) 350px}.cell-name{font-size:9px}.cell-number{font-size:22px}.current-card{padding:26px}.current-card>p{font-size:12px}.current-card h2{font-size:33px}.cell-symbol{margin:20px 0}.roll-card{padding:24px}}
@media(max-width:1050px){header{padding:22px 26px}main{padding:0 26px}.game-layout{grid-template-columns:minmax(0,1fr) 280px;gap:16px}.board-shell{padding-right:12px;gap:4px}.panel-heading{padding:20px 18px}.cell{padding:5px 3px}.cell-name{font-size:6px}.intention-card,.current-card,.roll-card{padding:19px}.board-legend{gap:9px;padding:16px 15px}.board-foot{margin:0 15px}.intro-symbol{display:none}nav{gap:20px}.current-card>p{font-size:10px}.card-top .overline{letter-spacing:1px}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
