:root{--bg:#0b0f12;--panel:#0f1720;--accent:#c9a25a;--muted:#9aa6b2;--text:#e6eef6;--glass:hsla(0,0%,100%,.04);--bg-blur:10px;--bg-brightness:0.25;--bg-scale:1.03}*{box-sizing:border-box}#__next,body,html{height:100%}body{margin:0;font-family:EB Garamond,serif;background:radial-gradient(1200px 600px at 10% 10%,rgba(30,30,30,.6),transparent),radial-gradient(800px 400px at 90% 90%,hsla(0,0%,4%,.5),transparent),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.85) 100%);z-index:4}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{background-image:url(/images/background.png);background-size:cover;background-position:50%;filter:blur(var(--bg-blur)) brightness(var(--bg-brightness));transform:scale(var(--bg-scale));z-index:1}.atmosphere{position:fixed;inset:0;pointer-events:none;z-index:2}.atmosphere .fog{position:absolute;left:-20%;right:-20%;bottom:-5%;height:50%;background:radial-gradient(60% 40% at 20% 70%,hsla(0,0%,100%,.06),hsla(0,0%,100%,.02) 30%,transparent 60%),radial-gradient(50% 30% at 80% 80%,hsla(0,0%,100%,.05),transparent 40%);opacity:.6;mix-blend-mode:screen;filter:blur(28px) saturate(1.15) contrast(1.05);transform:translateZ(0);animation:fog-drift 40s linear infinite}@keyframes fog-drift{0%{transform:translateX(-5%) translateY(0) scale(1)}50%{transform:translateX(6%) translateY(-4%) scale(1.02)}to{transform:translateX(-5%) translateY(0) scale(1)}}.atmosphere .torch-left,.atmosphere .torch-right{position:absolute;top:20%;width:36vw;height:70vh;pointer-events:none;mix-blend-mode:screen;opacity:.5;filter:blur(28px);transform-origin:center;animation:torch-flicker 3.6s infinite}.atmosphere .torch-left{left:-8vw}.atmosphere .torch-left,.atmosphere .torch-right{background:radial-gradient(closest-side,rgba(201,162,90,.16),rgba(201,162,90,.04) 40%,transparent 60%)}.atmosphere .torch-right{right:-8vw}@keyframes torch-flicker{0%{opacity:.05;transform:scale(1) translateY(0)}25%{opacity:.08;transform:scale(1.02) translateY(-1%)}50%{opacity:.04;transform:scale(.98) translateY(.5%)}75%{opacity:.07;transform:scale(1.01) translateY(-.4%)}to{opacity:.05;transform:scale(1) translateY(0)}}.atmosphere .fog:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='800' height='400' viewBox='0 0 800 400'><defs><linearGradient id='g' x1='0' x2='1'><stop offset='0' stop-color='%23ffffff' stop-opacity='0.06'/><stop offset='1' stop-color='%23ffffff' stop-opacity='0.01'/></linearGradient></defs><rect width='800' height='400' fill='url(%23g)' opacity='0.85'/></svg>");background-size:140% 140%;background-position:0 50%;mix-blend-mode:screen;opacity:1;animation:fog-layer-move 55s linear infinite}@keyframes fog-layer-move{0%{background-position:0 50%}50%{background-position:50% 40%}to{background-position:0 50%}}.container{max-width:1100px;margin:36px auto;padding:24px;display:grid;grid-template-columns:360px 1fr;grid-gap:20px;gap:20px;position:relative;z-index:1000;border:1px solid rgba(201,162,90,.06)}.ornaments{position:fixed;inset:0;pointer-events:none;z-index:9}.frame-left,.frame-right{position:absolute;top:0;bottom:0;width:84px;pointer-events:none;display:flex;align-items:center;justify-content:center}.frame-left{left:0}.frame-right{right:0}.frame-left:before,.frame-right:before{content:"";display:block;width:90px;height:90px;background-image:linear-gradient(135deg,hsla(0,0%,100%,.12),rgba(0,0,0,.06));border-radius:8px;opacity:.18;transform:translateY(8px);box-shadow:inset 0 8px 30px rgba(0,0,0,.6)}.glyphs{width:6px;height:70%;background-image:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.02) 30%,rgba(201,162,90,.06) 40%,hsla(0,0%,100%,.01));box-shadow:inset 0 0 12px rgba(201,162,90,.02);position:relative;overflow:hidden;border-radius:6px}.glyphs:before{content:"ᚠᚢᚦᚨᚱᚲ";position:absolute;left:50%;top:0;transform:translateX(-50%);writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed;color:rgba(201,162,90,.28);font-size:28px;line-height:1.25;opacity:1;letter-spacing:2px}.rune-circle{position:fixed;bottom:20px;width:120px;height:120px;border-radius:50%;pointer-events:none;z-index:11;opacity:.28;filter:blur(4px);background-image:radial-gradient(circle at 40% 40%,rgba(255,210,140,.85),rgba(201,162,90,.35) 30%,hsla(0,0%,100%,.04) 60%);box-shadow:inset 0 0 80px rgba(255,200,120,.18),0 0 30px rgba(255,160,80,.06);transition:transform .16s ease,opacity .16s ease}.rune-circle#rune-left{left:18px}.rune-circle#rune-right{right:18px}.rune-circle.pulse{transform:scale(1.6);opacity:.95;box-shadow:0 0 140px rgba(255,200,120,.28),0 0 60px rgba(255,160,80,.18)}.mist{position:absolute;left:0;right:0;top:10%;height:30%;background:linear-gradient(90deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.02),hsla(0,0%,100%,.08));opacity:.5;mix-blend-mode:screen;filter:blur(22px);animation:mist-scroll 40s linear infinite}@keyframes mist-scroll{0%{background-position:0 0}to{background-position:140% 0}}.embers{position:absolute;inset:0;pointer-events:none}.embers .ember{position:absolute;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 40% 30%,rgba(255,220,160,.98),rgba(255,140,60,.95));opacity:.6;filter:blur(2px);mix-blend-mode:screen}.embers .e1{left:6%;bottom:8%;animation:ember-move 14s linear infinite}.embers .e2{left:10%;bottom:6%;animation:ember-move 18s linear infinite}.embers .e3{left:18%;bottom:12%;animation:ember-move 12s linear infinite}.embers .e4{left:86%;bottom:10%;animation:ember-move 16s linear infinite}.embers .e5{left:78%;bottom:8%;animation:ember-move 13s linear infinite}.embers .e6{left:70%;bottom:14%;animation:ember-move 19s linear infinite}.embers .e7{left:40%;bottom:6%;animation:ember-move 17s linear infinite}.embers .e8{left:34%;bottom:10%;animation:ember-move 15s linear infinite}.embers .e9{left:52%;bottom:5%;animation:ember-move 20s linear infinite}.embers .e10{left:60%;bottom:12%;animation:ember-move 11s linear infinite}.embers .e11{left:24%;bottom:4%;animation:ember-move 22s linear infinite}.embers .e12{left:92%;bottom:6%;animation:ember-move 21s linear infinite}@keyframes ember-move{0%{transform:translateY(0) translateX(0) scale(.6);opacity:.02}50%{transform:translateY(-6vh) translateX(4vw) scale(1);opacity:.12}to{transform:translateY(6vh) translateX(-2vw) scale(.6);opacity:.02}}.atmosphere:before{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;opacity:.04;animation:ambient-hue 18s infinite}@keyframes ambient-hue{0%{background:linear-gradient(90deg,rgba(255,160,80,.02),rgba(150,120,255,.02))}50%{background:linear-gradient(90deg,rgba(200,120,60,.02),rgba(190,140,255,.02))}to{background:linear-gradient(90deg,rgba(255,160,80,.02),rgba(150,120,255,.02))}}.ambient-control{position:fixed;top:12px;right:12px;z-index:40}.ambient-btn{background:rgba(0,0,0,.5);color:var(--text);border:1px solid hsla(0,0%,100%,.06);padding:8px 12px;border-radius:8px;cursor:pointer;font-family:inherit}body.ambient-low body:before{background:radial-gradient(ellipse at center,transparent 65%,rgba(0,0,0,.35) 100%)}body.ambient-low .atmosphere .fog{opacity:.08!important;filter:blur(20px) saturate(1)}body.ambient-low .atmosphere .torch-left,body.ambient-low .atmosphere .torch-right{opacity:.06!important;filter:blur(32px)}body.ambient-low .mist{opacity:.06!important;filter:blur(14px)}body.ambient-low .embers .ember{opacity:.04!important;filter:blur(4px)}body.ambient-low .rune-circle{opacity:.12!important;transform:scale(1)}body.ambient-low body:before{background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.45) 100%)}.atmosphere .torch-left:empty,.atmosphere .torch-right:empty{display:block}.panel{background-color:rgba(15,17,20,.88);background:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.01));border:1px solid hsla(0,0%,100%,.06);border-radius:12px;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.6),inset 0 1px 0 hsla(0,0%,100%,.02)}.header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.title{font-family:Cinzel,serif;font-size:28px;letter-spacing:1px;color:var(--accent)}.role-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}@media(min-width:900px){.role-grid{grid-template-columns:1fr 1fr}}.role-card{padding:12px;border-radius:10px;position:relative;z-index:1001;background-color:rgba(17,20,24,.8);background:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.008));border:1px solid hsla(0,0%,100%,.035);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.role-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.6)}.role-card.selected{outline:2px solid rgba(201,162,90,.16);box-shadow:0 0 0 4px rgba(201,162,90,.06)}.role-name{font-weight:700;color:var(--accent)}.role-desc{color:var(--muted);font-size:13px;margin-top:6px}.stats{display:flex;gap:8px;margin-top:10px}.stat{background:var(--glass);padding:6px 8px;border-radius:6px;font-size:13px}.chat-window{display:flex;flex-direction:column;height:70vh}.messages{flex:1 1 auto;min-height:0;overflow:auto;padding:12px;border-radius:8px;background:linear-gradient(180deg,hsla(0,0%,100%,.01),rgba(0,0,0,.02));word-break:break-word;white-space:pre-wrap;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}.messages::-webkit-scrollbar{display:none;height:0;width:0}.msg{margin-bottom:10px}.msg.dm{color:var(--muted)}.input-row{display:flex;gap:8px;margin-top:10px}.input{flex:1 1;padding:10px;border-radius:8px;border:1px solid hsla(0,0%,100%,.04);background:transparent;color:var(--text)}.btn{background:var(--accent);color:#0b0f12;padding:10px 14px;border-radius:8px;border:none;cursor:pointer}.character{display:flex;flex-direction:column;gap:8px}.ch-icon{width:96px;height:96px;object-fit:cover;border-radius:8px;margin-right:12px;flex-shrink:0}.ch-name{font-weight:700;font-size:18px}.ch-line{display:flex;justify-content:space-between;color:var(--muted)}.hp{color:#f87171}.footer-note{color:var(--muted);font-size:12px;margin-top:8px}