@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap";:root{color:#eee8da;font-synthesis:none;text-rendering:optimizelegibility;--gold:#d6b36a;--muted:#aaa396;--panel:#191916;--line:#393328;background:#10100f;font-family:Inter,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.app{background:radial-gradient(at 80% 12%,#45331a22,#0000 40%),#10100f;max-width:1440px;min-height:100vh;margin:auto;padding:0 6%;overflow:hidden}.navbar{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;height:82px;display:flex}.brand{color:#f3ead8;letter-spacing:1px;align-items:center;gap:12px;font-family:Cinzel,serif;font-weight:800;text-decoration:none;display:flex}.brand-icon{color:var(--gold);border:1px solid #b99b5c66;border-radius:50%;place-items:center;width:43px;height:43px;display:grid}.gold,h1 span,h2 span{color:var(--gold)}.nav-right{align-items:center;gap:25px;display:flex}.online{color:var(--muted);font-size:12px}.online i{background:#77b77a;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.nav-button,.secondary-button{color:#eee8da;border:1px solid var(--line);background:0 0;border-radius:5px;align-items:center;gap:9px;padding:12px 18px;font-size:13px;display:flex}.hero{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;min-height:440px;display:flex;position:relative}.hero-content{z-index:1;max-width:650px;padding:65px 0}.eyebrow{color:var(--gold);letter-spacing:2px;align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}h1,h2,h3{font-family:Cinzel,serif}h1{margin:22px 0 17px;font-size:clamp(38px,5vw,65px);font-weight:700;line-height:1.17}.hero-content>p,.section-heading p{color:var(--muted);max-width:490px;font-size:14px;line-height:1.9}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:29px;display:flex}.primary-button{color:#19150e;background:linear-gradient(135deg,#e1c27d,#b48a43);border:1px solid #e0bf7a;border-radius:5px;justify-content:center;align-items:center;gap:9px;padding:14px 20px;font-size:13px;font-weight:800;transition:all .2s;display:flex}.primary-button:hover,.banner-button:hover{filter:brightness(1.12);transform:translateY(-2px)}.secondary-button:hover,.nav-button:hover{border-color:var(--gold);color:var(--gold)}.hero-features{color:#a9a193;flex-wrap:wrap;gap:22px;margin-top:37px;font-size:11px;display:flex}.hero-features span{align-items:center;gap:7px;display:flex}.hero-symbol{background:radial-gradient(circle,#9a72231c,#0000 65%);border:1px solid #b99b5c30;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:350px;height:350px;margin-right:6%;display:flex;position:relative}.hero-symbol:before,.hero-symbol:after{content:"";border:1px solid #b99b5c28;border-radius:50%;position:absolute}.hero-symbol:before{inset:18px}.hero-symbol:after{inset:38px}.hero-emblem{color:var(--gold);filter:drop-shadow(0 0 25px #c39a4b55);z-index:1;place-items:center;width:180px;height:180px;display:grid;transform:rotate(-35deg)}.emblem-caption{letter-spacing:4px;color:#c5a96f;z-index:1;font-family:Cinzel,serif;font-size:10px}.rune{color:var(--gold);font-size:25px;position:absolute}.rune-one{top:25px}.rune-two{bottom:27px}.world-section{padding:65px 0 55px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.section-heading h2{margin:12px 0 5px;font-size:30px}.section-heading p{margin:0;font-size:12px}.text-button{color:var(--gold);white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;font-size:12px;display:flex}.world-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.world-card{text-align:left;color:#eee8da;background:linear-gradient(135deg,#27241e,#171715);border:1px solid #ffffff16;border-radius:6px;align-items:center;gap:18px;min-height:165px;padding:20px;transition:all .25s;display:flex}.world-card:hover{border-color:var(--gold);background:#29251d;transform:translateY(-3px)}.world-art{width:67px;height:67px;color:var(--gold);background:#b99b5c0d;border:1px solid #b99b5c55;border-radius:50%;flex-shrink:0;place-items:center;font-size:31px;display:grid}.world-info h3{margin:0 0 8px;font-size:15px}.world-info p{color:var(--muted);margin:0 0 12px;font-size:11px;line-height:1.7}.world-info span{color:var(--gold);letter-spacing:1px;align-items:center;font-size:9px;display:flex}.bottom-banner{background:linear-gradient(110deg,#292317,#191916);border:1px solid #b99b5c40;border-radius:6px;align-items:center;gap:20px;margin-bottom:55px;padding:25px 30px;display:flex}.banner-icon{color:var(--gold)}.bottom-banner h3{margin:0 0 6px;font-size:15px}.bottom-banner p{color:var(--muted);margin:0;font-size:11px}.banner-button{background:var(--gold);color:#18130b;border:0;border-radius:4px;align-items:center;gap:8px;margin-left:auto;padding:12px 15px;font-size:11px;font-weight:700;display:flex}footer{min-height:75px;color:var(--muted);border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;font-size:10px;display:flex}footer span{color:var(--gold);letter-spacing:1px;align-items:center;gap:8px;display:flex}.modal-backdrop{z-index:10;background:#000b;place-items:center;padding:15px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:#1b1a16;border:1px solid #b99b5c66;border-radius:8px;width:min(100%,480px);margin:auto;padding:35px;position:relative}.close-button{color:#aaa;background:0 0;border:none;position:absolute;top:15px;right:15px}.modal-icon{width:48px;height:48px;color:var(--gold);border:1px solid #b99b5c66;border-radius:50%;place-items:center;margin-bottom:22px;display:grid}.modal h2{margin:12px 0 5px;font-size:25px}.modal-desc{color:var(--muted);margin-bottom:25px;font-size:12px;line-height:1.7}.modal form{flex-direction:column;gap:10px;display:flex}.modal label{color:#d4c7ad;margin-top:7px;font-size:11px}.modal input,.modal textarea,.modal select{color:#eee8da;background:#11110f;border:1px solid #484032;border-radius:4px;outline:none;width:100%;padding:12px;font-size:12px}.modal input:focus,.modal textarea:focus,.modal select:focus{border-color:var(--gold)}.modal textarea{resize:vertical}.full-button{width:100%;margin-top:18px}@media (width<=800px){.app{padding:0 5%}.hero{min-height:380px}.hero-symbol{width:220px;height:220px;margin-right:0}.hero-emblem{transform:scale(.75)rotate(-35deg)}.world-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.navbar{height:68px}.brand{gap:8px;font-size:12px}.brand-icon{width:35px;height:35px}.online{display:none}.nav-button{padding:9px 11px;font-size:11px}.hero{min-height:auto}.hero-content{padding:65px 0 45px}.hero-symbol{display:none}h1{font-size:39px}.hero-content>p{font-size:12px}.hero-features{gap:13px;font-size:10px}.world-section{padding:45px 0}.section-heading{flex-direction:column;align-items:start}.section-heading h2{font-size:25px}.world-grid{grid-template-columns:1fr}.world-card{min-height:130px}.bottom-banner{flex-wrap:wrap;padding:20px}.banner-button{margin-left:0}footer{gap:10px}footer p{text-align:right}.modal{padding:27px 21px}}.lobby-page{min-height:100vh}.lobby-container{width:min(850px,92%);margin:65px auto;padding-bottom:60px}.lobby-container h1{color:#e8c77a;margin:15px 0;font-family:Cinzel,serif;font-size:clamp(30px,5vw,48px)}.lobby-subtitle{color:#aaa;margin-bottom:35px}.room-code-box{background:#171713;border:1px solid #8e7139;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;padding:22px;display:flex}.room-code-box span,.lobby-details span{color:#999;letter-spacing:1.5px;font-size:11px;display:block}.room-code-box strong{color:#e8c77a;letter-spacing:5px;font-size:27px}.room-code-box button{color:#17130c;cursor:pointer;background:#b38b45;border:none;border-radius:6px;padding:10px 17px;font-weight:700}.lobby-details{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:35px;display:grid}.lobby-details>div{background:#171713;border:1px solid #333027;border-radius:9px;padding:18px}.lobby-details strong{color:#e8c77a;margin-top:9px;display:block}.members-panel{background:#171713;border:1px solid #383328;border-radius:12px;padding:24px}.members-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.members-heading h2{color:#e8c77a;font-family:Cinzel,serif;font-size:21px}.members-heading p,.lobby-message{color:#999;margin-top:7px;font-size:13px}.members-heading>span{color:#e8c77a;font-size:13px}.member-list{gap:12px;display:grid}.member-item{background:#211f19;border:1px solid #393329;border-radius:8px;align-items:center;gap:14px;padding:14px;display:flex}.member-avatar{color:#e8c77a;background:#3b3020;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.member-info{flex:1}.member-info strong{color:#eee;display:block}.member-info span{color:#999;font-size:12px}.host-label{color:#e8c77a;letter-spacing:1px;border:1px solid #8e7139;border-radius:4px;padding:5px 8px;font-size:10px}.world-setting-box{background:#171713;border:1px solid #383328;border-radius:10px;margin-top:25px;padding:22px}.world-setting-box h3{color:#e8c77a;align-items:center;gap:9px;margin-bottom:12px;display:flex}.world-setting-box p{color:#bbb;white-space:pre-wrap;line-height:1.7}.lobby-back-button{margin-top:25px}@media (width<=600px){.lobby-container{margin-top:35px}.lobby-details{grid-template-columns:1fr}.room-code-box{flex-direction:column;align-items:flex-start}.members-panel{padding:16px}}.character-section,.all-characters{background:#171713;border:1px solid #383328;border-radius:12px;margin-top:35px;padding:25px}.character-section-heading{margin-bottom:25px}.character-section-heading h2{color:#e8c77a;margin-top:12px;font-family:Cinzel,serif;font-size:25px}.character-section-heading p{color:#999;margin-top:8px;font-size:13px;line-height:1.6}.character-form{flex-direction:column;gap:13px;display:flex}.character-form label{color:#e5d9bd;margin-top:10px;font-size:13px;font-weight:600}.character-form input{color:#fff;background:#211f19;border:1px solid #49402f;border-radius:7px;outline:none;width:100%;padding:14px}.character-form input:focus{border-color:#c29a50}.choice-grid,.class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.choice-card,.class-card{text-align:left;color:#eee;cursor:pointer;background:#211f19;border:1px solid #393329;border-radius:9px;padding:15px;transition:all .2s}.choice-card:hover,.class-card:hover{border-color:#a98443;transform:translateY(-2px)}.choice-card.selected,.class-card.selected{background:#302719;border:1px solid #d0a64e;box-shadow:inset 0 0 0 1px #d0a64e}.choice-card strong,.class-card strong{color:#e8c77a;margin-bottom:8px;font-size:15px;display:block}.choice-card span,.class-card span{color:#aaa;font-size:12px;line-height:1.5;display:block}.class-card small{color:#e8c77a;margin-top:12px;display:block}.preview-stats{background:#211f19;border:1px solid #393329;border-radius:9px;margin-top:20px;padding:20px}.preview-stats h3{color:#e8c77a;margin-bottom:16px;font-family:Cinzel,serif;font-size:17px}.stats-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.stat-item{text-align:center;background:#171713;border:1px solid #49402f;border-radius:7px;padding:12px 5px}.stat-item span{color:#aaa;font-size:11px;display:block}.stat-item strong{color:#e8c77a;margin-top:6px;font-size:20px;display:block}.character-form button:disabled{opacity:.6;cursor:not-allowed}.character-error{color:#ff8585;margin-top:12px;font-size:13px}.character-complete{text-align:center;color:#e8c77a;padding:30px 15px}.character-complete h3{margin-top:12px;font-family:Cinzel,serif}.character-complete p{color:#999;margin-top:8px;font-size:13px}.character-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.character-card{background:#211f19;border:1px solid #49402f;border-radius:10px;padding:20px;position:relative}.character-card-top{align-items:center;gap:12px;display:flex}.character-avatar{color:#e8c77a;background:#3b3020;border-radius:50%;place-items:center;min-width:48px;height:48px;display:grid}.character-card-top h3{color:#f0e4c6;font-family:Cinzel,serif;font-size:16px}.character-card-top span{color:#aaa;margin-top:5px;font-size:11px;display:block}.character-card-top .character-level{color:#e8c77a;white-space:nowrap;margin-left:auto;font-weight:700}.character-hp{margin-top:22px}.character-hp>div:first-child{justify-content:space-between;gap:10px;margin-bottom:9px;display:flex}.character-hp span,.character-inventory>span{color:#aaa;letter-spacing:1px;font-size:10px}.character-hp strong{color:#e8c77a;font-size:12px}.hp-bar{background:#3d2926;border-radius:20px;width:100%;height:8px;overflow:hidden}.hp-bar>div{background:#b75b4c;border-radius:20px;height:100%;transition:width .3s}.character-stats{grid-template-columns:repeat(6,1fr);gap:5px;margin-top:20px;display:grid}.character-stats>div{text-align:center;background:#171713;border-radius:5px;padding:9px 3px}.character-stats span{color:#999;font-size:10px;display:block}.character-stats strong{color:#e8c77a;margin-top:4px;font-size:15px;display:block}.character-inventory{border-top:1px solid #49402f;margin-top:18px;padding-top:15px}.character-inventory p{color:#bbb;margin-top:8px;font-size:12px;line-height:1.7}.your-character-label{color:#e8c77a;letter-spacing:1px;border:1px solid #987638;border-radius:4px;margin-top:15px;padding:5px 9px;font-size:10px;display:inline-block}@media (width<=650px){.character-section,.all-characters{padding:17px}.choice-grid,.class-grid,.character-list{grid-template-columns:1fr}.stats-grid,.character-stats{grid-template-columns:repeat(3,1fr)}.character-card{padding:15px}}.choice-grid,.class-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-card,.class-card{flex-direction:column;justify-content:flex-start;min-height:105px;display:flex}.choice-card strong,.class-card strong{font-family:Cinzel,serif}@media (width<=700px){.choice-grid,.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.choice-grid,.class-grid{grid-template-columns:1fr}}.portrait-section{background:#cfa44c09;border:1px solid #cfa44c4d;border-radius:14px;margin:28px 0;padding:22px}.portrait-heading{color:#d9b66c;align-items:center;gap:12px;margin-bottom:22px;display:flex}.portrait-heading h3{color:#f5e8ca;margin:0 0 5px}.portrait-heading p{color:#a9a29a;margin:0;font-size:13px}.portrait-section textarea{color:#f5e8ca;resize:vertical;width:100%;font:inherit;background:#151411;border:1px solid #49402e;border-radius:8px;margin:10px 0 18px;padding:13px}.portrait-preview{aspect-ratio:3/4;background:#11100e;border:1px solid #cfa44c66;border-radius:12px;width:100%;max-width:300px;margin:0 auto 18px;overflow:hidden}.portrait-preview img{object-fit:cover;width:100%;height:100%;display:block}.portrait-placeholder{color:#b99a5c;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;display:flex}.portrait-placeholder span{color:#898176;font-size:12px}.portrait-generate-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#92713a,#604821);border:1px solid #b99752;border-radius:8px;justify-content:center;align-items:center;gap:9px;width:100%;padding:14px;font-weight:600;transition:all .2s;display:flex}.portrait-generate-button:hover:not(:disabled){filter:brightness(1.2)}.portrait-generate-button:disabled{opacity:.55;cursor:not-allowed}.portrait-status{text-align:center;color:#d0b879;margin-top:12px;font-size:13px}.character-avatar{border-radius:9px;flex-shrink:0;width:65px;height:65px;overflow:hidden}.character-avatar img{object-fit:cover;width:100%;height:100%}.completed-character-avatar{object-fit:cover;border-radius:12px;width:120px;height:150px;margin-bottom:12px}@media (width<=600px){.portrait-section{padding:15px}.portrait-preview{max-width:240px}.character-avatar{width:54px;height:54px}}.game-room-launch{background:linear-gradient(115deg,#342918aa,#1a1915);border:1px solid #806b3b66;border-radius:10px;justify-content:space-between;align-items:center;gap:22px;margin:42px 0 28px;padding:25px 28px;display:flex}.game-room-launch h2,.game-room-header h2{margin:10px 0 5px;font-family:Cinzel,serif}.game-room-launch p,.game-room-header p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.game-room{background:#141411;border:1px solid #55462b;border-radius:12px;margin:34px 0 45px;overflow:hidden;box-shadow:0 18px 55px #0005}.game-room-header{border-bottom:1px solid var(--line);background:radial-gradient(at 80% 0,#72532322,#0000 60%);justify-content:space-between;align-items:center;gap:18px;padding:25px 28px;display:flex}.game-room-header h2{font-size:25px}.game-mode-switch{gap:8px;padding:15px 22px 0;display:flex}.game-mode-switch button{color:#aaa396;background:#1b1a16;border:1px solid #393328;border-radius:6px;align-items:center;gap:8px;padding:11px 15px;font-size:12px;font-weight:700;display:flex}.game-mode-switch button.active{color:#211a0e;background:var(--gold);border-color:var(--gold)}.mode-explainer{color:#c8c5b9;background:#22251d;border-left:3px solid #8c9b72;margin:13px 22px 18px;padding:12px 15px;font-size:12px;line-height:1.7}.mode-explainer.adventure{border-left-color:var(--gold);background:#292317}.game-room-layout{grid-template-columns:minmax(0,1fr) 280px;gap:18px;padding:0 22px 22px;display:grid}.game-chat-panel,.party-mini-card{background:#191916;border:1px solid #393328;border-radius:8px;min-width:0}.chat-panel-heading{border-bottom:1px solid #393328;justify-content:space-between;align-items:center;padding:17px 18px;display:flex}.chat-panel-heading h3,.party-mini-card h3{margin:0 0 4px;font-family:Cinzel,serif;font-size:16px}.chat-panel-heading span{color:var(--muted);font-size:10px}.chat-live{letter-spacing:1px;font-weight:800;color:#8dc28d!important;font-size:9px!important}.chat-live i,.party-dot{background:#79b878;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.game-message-list{flex-direction:column;gap:12px;height:390px;padding:16px;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--muted);margin:auto;font-size:12px}.chat-empty-state{color:#8f846d;text-align:center;flex-direction:column;align-items:center;gap:9px;margin:auto;display:flex}.chat-empty-state strong{color:#d7cbb2;font-family:Cinzel,serif;font-size:13px}.chat-empty-state span{color:var(--muted);font-size:11px}.game-message{background:#24231e;border:1px solid #38342b;border-radius:8px 8px 8px 2px;align-self:flex-start;max-width:88%;padding:11px 13px}.game-message.own{background:#332a1b;border-color:#6b542e;border-radius:8px 8px 2px;align-self:flex-end}.game-message.dm-message{background:#22251e;border-color:#66704d;align-self:stretch;max-width:100%}.message-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.message-meta strong{color:#e5d7b8;font-size:11px}.message-meta span{color:var(--gold);letter-spacing:1px;font-size:8px;font-weight:800}.message-meta time{color:#827b6e;margin-left:auto;font-size:9px}.game-message p{color:#d5d0c4;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0;font-size:12px;line-height:1.7}.chat-error{color:#ef9b8d;padding:0 16px;font-size:11px}.chat-composer{border-top:1px solid #393328;padding:14px}.chat-composer textarea{resize:vertical;color:#eee8da;background:#11110f;border:1px solid #393328;border-radius:6px;outline:none;width:100%;min-height:58px;padding:12px;font-size:12px}.chat-composer textarea:focus{border-color:var(--gold)}.composer-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.composer-footer>span{color:#958b79;letter-spacing:1px;font-size:9px}.composer-footer .primary-button{padding:10px 15px;font-size:11px}.primary-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.game-sidebar{flex-direction:column;gap:14px;display:flex}.dm-card{text-align:center;background:radial-gradient(circle at 50% 0,#765a292b,#0000 65%),#1c1a15;border:1px solid #5d4c2e;border-radius:8px;padding:19px}.dm-emblem{width:54px;height:54px;color:var(--gold);border:1px solid #9b7d43;border-radius:50%;place-items:center;margin:0 auto 13px;display:grid}.dm-card h3{margin:8px 0;font-size:16px}.dm-card p{color:var(--muted);font-size:11px;line-height:1.7}.coming-soon-label{color:#d7b875;letter-spacing:1px;background:#5b48231f;border:1px solid #6b542e;border-radius:20px;padding:6px 9px;font-size:8px;font-weight:800;display:inline-block}.party-mini-card{padding:16px}.party-mini-card h3{align-items:center;gap:8px;margin-bottom:14px;display:flex}.party-mini-member{border-top:1px solid #302e27;align-items:flex-start;padding:10px 0;display:flex}.party-mini-member div{flex-direction:column;gap:4px;display:flex}.party-mini-member strong{color:#e2d7c3;font-size:11px}.party-mini-member span:not(.party-dot){color:var(--muted);font-size:9px}@media (width<=760px){.game-room-launch,.game-room-header{flex-direction:column;align-items:flex-start}.game-room-launch .primary-button{width:100%}.game-room-layout{grid-template-columns:1fr;padding:0 12px 12px}.game-mode-switch{padding-left:12px;padding-right:12px}.game-mode-switch button{flex:1;justify-content:center;padding:10px 7px;font-size:10px}.mode-explainer{margin-left:12px;margin-right:12px}.game-message-list{height:340px}}.table-tools-card{background:#191916;border:1px solid #393328;border-radius:8px;flex-direction:column;gap:9px;padding:16px;display:flex}.table-tools-card h3{color:#e8d9b9;align-items:center;gap:8px;margin:0 0 3px;font-family:Cinzel,serif;font-size:15px;display:flex}.tool-character{background:#242119;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.tool-character strong{color:#e8d9b9;font-size:11px}.tool-character span,.tool-hint{color:#9b927f;font-size:10px;line-height:1.6}.tool-label{letter-spacing:1px;color:#b5a98e;margin-top:3px;font-size:9px;font-weight:800}.table-tools-card select,.table-tools-card input{color:#e8e1d3;background:#11110f;border:1px solid #494131;border-radius:5px;outline:none;width:100%;min-width:0;padding:9px;font-size:11px}.tool-action{color:#e8d5ad;cursor:pointer;background:#3b301d;border:1px solid #80683d;border-radius:5px;width:100%;padding:10px;font-size:10px;font-weight:800;transition:background .15s}.tool-action:hover{background:#554326}.tool-action.secondary-tool{color:#c7bda8;background:#24231e;border-color:#494131}.tool-inline{grid-template-columns:1fr 76px;gap:7px;display:grid}.tool-divider{background:#393328;height:1px;margin:3px 0}.last-roll{background:#2a2418;border:1px solid #705a31;border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:4px;padding:11px;display:grid}.last-roll span{letter-spacing:1px;color:#b9a477;font-size:8px;font-weight:800}.last-roll strong{color:#e8c77e;grid-area:1/2/3;font-family:Cinzel,serif;font-size:28px}.last-roll small{color:#bdb29a;font-size:9px;line-height:1.5}.journal-input{resize:vertical;color:#e8e1d3;background:#11110f;border:1px solid #494131;border-radius:5px;outline:none;width:100%;min-height:115px;padding:10px;font:11px/1.6 inherit}.journal-input:focus,.table-tools-card select:focus,.table-tools-card input:focus{border-color:#b49350}@media (width<=760px){.table-tools-card{padding:13px}.last-roll strong{font-size:24px}}.game-message p strong{color:#f0d9a0;font-weight:800}.game-message p em{color:#cbd6b0;font-style:italic}.roll-request{background:#2a2418;border:1px solid #705a31;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;display:flex}.roll-request strong{color:#e8c77e;font-size:12px;display:block}.roll-request small{color:#bdb29a;margin-top:2px;font-size:10px;line-height:1.5;display:block}.roll-request button{color:#fff1cf;cursor:pointer;background:#5a4524;border:1px solid #a8864a;border-radius:5px;flex:none;padding:9px 13px;font-size:11px;font-weight:800}.roll-request button:hover:not(:disabled){background:#7a5f30}.roll-request button:disabled{opacity:.55;cursor:default}.round-card{background:#1d1c17;border:1px solid #4a4332;border-radius:8px;gap:9px;margin:0 14px 12px;padding:12px;display:grid}.round-title{color:#e8d5ad;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;display:flex}.round-title span{color:#958b79;font-size:10px}.round-chips{flex-wrap:wrap;gap:6px;display:flex}.round-chip{color:#958b79;background:#24231e;border:1px solid #4a4332;border-radius:99px;padding:4px 9px;font-size:10px}.round-chip.done{color:#c9d6a3;background:#22251e;border-color:#66704d}.round-button{width:100%}.round-card .tool-hint{margin:0}.dice-help{color:#c7bda8;background:#1d1c17;border:1px solid #4a4332;border-radius:6px;margin:0 0 10px;padding:9px 11px;font-size:11px}.dice-help summary,.dice-manual summary{cursor:pointer;color:#e8d5ad;font-size:11px;font-weight:800}.dice-help ul{margin:8px 0 0;padding-left:16px;line-height:1.65}.dice-manual{margin-top:10px}.dice-manual>:not(summary){margin-top:8px}@media (width<=760px){.roll-request{flex-direction:column;align-items:stretch}.round-card{margin:0 12px 12px}}.lobby-container.wide{width:min(1500px,98%);margin-top:30px}.lobby-page:has(.lobby-container.wide){padding-left:1.5%;padding-right:1.5%}@media (width>=761px){.game-room-layout{grid-template-columns:minmax(0,1fr) 320px}}.game-message-wrap{position:relative}.game-message-list{height:clamp(440px,68vh,820px)}.game-message{max-width:92%}.game-message p{font-size:13px;line-height:1.75}.new-message-pill{color:#fff1cf;background:#5a4524;border:1px solid #a8864a;border-radius:99px;padding:8px 16px;font-size:11px;font-weight:800;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0008}.game-sidebar{align-self:start}@media (width>=1000px){.game-sidebar{max-height:calc(100vh - 24px);position:sticky;top:12px;overflow-y:auto}}.party-mini-member{align-items:center;gap:8px;display:flex}.party-mini-member>div{flex:1;min-width:0}.kick-button{color:#e0a39b;background:#2a1b19;border:1px solid #6b3a34;border-radius:5px;flex:none;place-items:center;width:24px;height:24px;padding:0;display:grid}.kick-button:hover{background:#4a2723}.kick-text-button{color:#e0a39b;background:#2a1b19;border:1px solid #6b3a34;border-radius:5px;margin-left:auto;padding:6px 11px;font-size:11px;font-weight:700}.kick-text-button:hover{background:#4a2723}.dice-lead{margin-top:0}.dice-row{grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0;display:grid}.dice-row .tool-action{padding:9px 4px}.tool-inline input{width:64px}@media (width<=760px){.game-message-list{height:62vh}.lobby-container.wide{width:100%}.game-room-layout{flex-direction:column;gap:14px;padding:0 10px 12px;display:flex}.game-chat-panel,.game-sidebar{width:100%;min-width:0}.game-sidebar{max-height:none;position:static;overflow:visible}.game-message-list{height:60vh;min-height:320px}.game-message{max-width:96%}.game-room-header{padding:14px}}.game-message.dm-message{background:#1f2219;padding:16px 18px}.game-message.dm-message p{color:#e6e0d0;font-size:14.5px;line-height:1.95}.dice-card{align-items:center;gap:12px;margin-top:6px;display:flex}.dice-card>strong{color:#e8c77e;background:#2a2418;border:1px solid #705a31;border-radius:8px;flex:none;place-items:center;min-width:48px;height:48px;font-family:Cinzel,serif;font-size:24px;display:grid}.dice-card>strong.ok{color:#a8e0a0;background:#1f2a1d;border-color:#4f7a4a}.dice-card>strong.fail{color:#f0a39b;background:#2a1b19;border-color:#7a423b}.dice-card b{color:#e8d5ad;font-size:13px;display:block}.dice-card small{color:#bdb29a;margin-top:2px;font-size:11px;line-height:1.5;display:block}.scene-image{background:#11110f;border:1px solid #55462b;border-radius:8px;min-height:120px;margin:14px 0 4px;position:relative;overflow:hidden}.scene-image img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.scene-image-loading{text-align:center;color:#bdb29a;background:#11110fcc;place-items:center;gap:8px;padding:12px;font-size:12px;display:grid;position:absolute;inset:0}.scene-image-loading button{color:#e8d5ad;background:#3b301d;border:1px solid #80683d;border-radius:5px;padding:6px 12px;font-size:11px}.scene-image figcaption{color:#c7bda8;z-index:1;background:#191916;border-top:1px solid #38342b;padding:8px 12px;font-size:11px;font-style:italic;position:relative}.hp-changes{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.hp-changes span{border:1px solid;border-radius:99px;padding:5px 10px;font-size:11px;font-weight:800}.hp-changes small{opacity:.85;font-weight:500}.hp-changes .loss{color:#f0a39b;background:#2a1b19;border-color:#7a423b}.hp-changes .gain{color:#a8e0a0;background:#1f2a1d;border-color:#4f7a4a}.mini-hp{align-items:center;gap:8px;margin-top:5px;display:flex}.mini-hp-bar{background:#2a2824;border-radius:99px;flex:1;height:5px;overflow:hidden}.mini-hp-bar i{background:#79b878;height:100%;transition:width .4s;display:block}.mini-hp small{color:#bdb29a;white-space:nowrap;font-size:9px}.event-card{color:#d5d0c4;background:#1d1c17;border:1px solid #4a4332;border-radius:99px;align-self:center;align-items:center;gap:10px;max-width:92%;padding:8px 14px;font-size:12px;display:flex}.event-icon{flex:none;font-size:16px}.event-body strong{font-size:12px;font-weight:700;display:block}.event-body small{opacity:.85;margin-top:1px;font-size:10px;display:block}.event-card.damage{color:#f3c1ba;background:#2a1b19;border-color:#7a423b}.event-card.heal{color:#bfe8b8;background:#1f2a1d;border-color:#4f7a4a}.event-card.item_gain{color:#f0d9a0;background:#2a2418;border-color:#8a6d34}.event-card.item_lose{color:#bdb29a;background:#22211c;border-color:#5a5547}.event-card.effect{color:#d8c4f0;background:#241d2d;border-color:#6a4f8a}@media (width<=760px){.event-card{border-radius:12px;max-width:100%}}.cs-backdrop{z-index:200;background:#050504c7;justify-content:center;align-items:flex-start;padding:28px 14px;display:flex;position:fixed;inset:0;overflow-y:auto}.cs-modal{color:#eee8da;background:#191916;border:1px solid #49402f;border-radius:12px;flex-direction:column;gap:12px;width:100%;max-width:760px;padding:26px 24px 22px;display:flex;position:relative}.cs-modal.wide{max-width:900px}.cs-modal h2{color:#e8d9b9;margin:0;font-family:Cinzel,serif;font-size:22px}.cs-eyebrow{letter-spacing:1.6px;color:#d6b36a;align-items:center;gap:7px;font-size:10px;font-weight:800;display:flex}.cs-close{color:#c7bda8;background:0 0;border:1px solid #49402f;border-radius:6px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:14px;right:14px}.cs-close:hover{background:#2a261d}.cs-hint{color:#9b927f;margin:0;font-size:11px;line-height:1.6}.cs-error{color:#f0a39a;background:#3a1f1c;border:1px solid #6b3430;border-radius:6px;margin:0;padding:9px 11px;font-size:12px}.cs-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.cs-btn{color:#e8d5ad;background:#3b301d;border:1px solid #80683d;border-radius:6px;padding:10px 16px;font-size:12px;font-weight:800}.cs-btn:hover{background:#554326}.cs-btn.ghost{color:#c7bda8;background:#24231e;border-color:#494131}.cs-btn:disabled{opacity:.55;cursor:not-allowed}.cs-picker{flex-direction:column;gap:18px;display:flex}.cs-pick-block h4{color:#e8d9b9;margin:0 0 3px;font-family:Cinzel,serif;font-size:14px}.cs-pick-block select,.cs-pick-block textarea,.cs-search{color:#e8e1d3;background:#11110f;border:1px solid #494131;border-radius:6px;outline:none;width:100%;margin-top:6px;padding:10px;font-size:12px}.cs-pick-block select:focus,.cs-pick-block textarea:focus,.cs-search:focus{border-color:#b49350}.cs-chip-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:8px;display:grid}.cs-card{text-align:left;color:#d9cfb8;background:#211f19;border:1px solid #3f3727;border-radius:8px;flex-direction:column;gap:3px;padding:10px 11px;display:flex}.cs-card strong{color:#e8d9b9;font-size:12px}.cs-card strong em{color:#9b927f;font-size:10px;font-style:normal}.cs-card span{color:#a89f8b;font-size:10.5px;line-height:1.5}.cs-card small{color:#d6b36a;font-size:10px}.cs-card.on{background:#2c2618;border-color:#d6b36a}.cs-card.locked{opacity:.8;cursor:default}.cs-card:disabled:not(.locked){opacity:.4;cursor:not-allowed}.cs-chip-row{flex-wrap:wrap;gap:7px;margin:4px 0;display:flex}.cs-chip{color:#cfc4ab;background:#211f19;border:1px solid #3f3727;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:700}.cs-chip.on{color:#f0dcaa;background:#3b301d;border-color:#d6b36a}.cs-spell-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin-top:8px;display:grid}.cs-spell{text-align:left;color:#d9cfb8;background:#211f19;border:1px solid #3f3727;border-radius:8px;flex-direction:column;gap:3px;padding:10px 11px;display:flex}.cs-spell strong{color:#e8d9b9;font-size:12px}.cs-spell small{color:#d6b36a;letter-spacing:.3px;font-size:9.5px}.cs-spell span{color:#a89f8b;font-size:10.5px;line-height:1.5}.cs-spell.on{background:#2c2618;border-color:#d6b36a}.cs-spell:disabled{opacity:.4;cursor:not-allowed}.cs-sheet{flex-direction:column;gap:14px;display:flex}.cs-head{align-items:center;gap:14px;display:flex}.cs-head h3{color:#e8d9b9;margin:0;font-family:Cinzel,serif;font-size:21px}.cs-head p{color:#b5a98e;margin:2px 0 0;font-size:12px}.cs-head .cs-sub{color:#d6b36a;font-size:11px}.cs-avatar{color:#d6b36a;background:#242119;border:1px solid #6e5a33;border-radius:50%;flex:none;place-items:center;width:68px;height:68px;display:grid;overflow:hidden}.cs-avatar img{object-fit:cover;width:100%;height:100%}.cs-banner{background:#2a2418;border:1px solid #705a31;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.cs-banner div{flex-direction:column;gap:2px;display:flex}.cs-banner strong{color:#e8c77e;font-size:12px}.cs-banner span{color:#bdb29a;font-size:11px}.cs-vitals{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;display:grid}.cs-vital{background:#211f19;border:1px solid #3f3727;border-radius:8px;flex-direction:column;gap:3px;padding:10px 11px;display:flex}.cs-vital.wide{grid-column:span 2}.cs-vital span{letter-spacing:1px;color:#9b927f;text-transform:uppercase;font-size:9px;font-weight:800}.cs-vital strong{color:#e8c77e;font-family:Cinzel,serif;font-size:19px}.cs-vital i{background:#11110f;border-radius:99px;height:6px;display:block;overflow:hidden}.cs-vital i b{background:#8fb36a;height:100%;display:block}.cs-block{flex-direction:column;gap:7px;display:flex}.cs-block h4{color:#e8d9b9;border-bottom:1px solid #393328;margin:0;padding-bottom:6px;font-family:Cinzel,serif;font-size:14px}.cs-block h5{letter-spacing:1.2px;text-transform:uppercase;color:#d6b36a;margin:8px 0 0;font-size:10px}.cs-abilities{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.cs-ability{text-align:center;background:#211f19;border:1px solid #3f3727;border-radius:8px;flex-direction:column;gap:1px;padding:10px;display:flex}.cs-ability span{letter-spacing:1px;color:#b5a98e;font-size:10px;font-weight:800}.cs-ability strong{color:#eee8da;font-family:Cinzel,serif;font-size:21px}.cs-ability em{color:#e8c77e;font-size:12px;font-style:normal;font-weight:700}.cs-ability small{color:#9b927f;font-size:9.5px}.cs-ability.prof{border-color:#80683d}.cs-ability.prof small{color:#d6b36a}.cs-skills{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 14px;display:grid}.cs-skill{color:#a89f8b;border-bottom:1px solid #26231b;grid-template-columns:18px 1fr auto;align-items:center;gap:6px;padding:5px 2px;font-size:12px;display:grid}.cs-skill.prof{color:#e8e1d3}.cs-skill b{color:#d6b36a;font-size:10px}.cs-skill em{color:#7f7767;font-size:10px;font-style:normal}.cs-skill strong{color:#e8c77e;font-family:Cinzel,serif;font-size:13px}.cs-feature{background:#211f19;border:1px solid #3f3727;border-radius:8px;flex-direction:column;gap:2px;padding:9px 11px;display:flex}.cs-feature strong{color:#e8d9b9;font-size:12px}.cs-feature span{color:#a89f8b;font-size:11px;line-height:1.55}.cs-spellstats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.cs-spellstats div{background:#211f19;border:1px solid #3f3727;border-radius:8px;flex-direction:column;gap:2px;padding:9px 11px;display:flex}.cs-spellstats span{letter-spacing:1px;color:#9b927f;text-transform:uppercase;font-size:9px;font-weight:800}.cs-spellstats strong{color:#e8c77e;font-family:Cinzel,serif;font-size:17px}.cs-spell-row{background:#1d1b16;border-left:2px solid #6e5a33;border-radius:4px;flex-direction:column;gap:2px;padding:8px 11px;display:flex}.cs-spell-row strong{color:#e8d9b9;font-size:12px}.cs-spell-row small{color:#d6b36a;font-size:9.5px}.cs-spell-row span{color:#a89f8b;font-size:11px;line-height:1.5}.cs-inventory,.cs-story{color:#cfc4ab;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.75}.cs-tabs{border-bottom:1px solid #393328;flex-wrap:wrap;gap:6px;padding-bottom:10px;display:flex}.cs-tabs button{color:#b5a98e;background:#211f19;border:1px solid #3f3727;border-radius:6px;align-items:center;gap:6px;padding:8px 13px;font-size:12px;font-weight:700;display:flex}.cs-tabs button.on{color:#f0dcaa;background:#3b301d;border-color:#d6b36a}.cs-npc-list{flex-direction:column;gap:8px;display:flex}.cs-npc{background:#211f19;border:1px solid #3f3727;border-radius:8px;overflow:hidden}.cs-npc.dead{opacity:.72}.cs-npc-top{text-align:left;width:100%;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;display:flex}.cs-npc-top div:first-child{flex-direction:column;gap:2px;display:flex}.cs-npc-top strong{color:#e8d9b9;font-size:13px}.cs-npc-top span{color:#9b927f;font-size:11px}.cs-badges{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.cs-badges em{color:#c7bda8;background:#2a261d;border:1px solid #494131;border-radius:99px;padding:3px 8px;font-size:9.5px;font-style:normal;font-weight:800}.cs-badges .att-friendly{color:#a8d68f;border-color:#4a6a38}.cs-badges .att-hostile,.cs-badges .st-dead{color:#f0a39a;border-color:#6b3430}.cs-badges .st-missing{color:#e8c77e;border-color:#705a31}.cs-npc-body{flex-direction:column;gap:6px;padding:2px 13px 13px;display:flex}.cs-npc-body p{color:#cfc4ab;margin:0;font-size:12px;line-height:1.65}.cs-npc-body b{color:#d6b36a}.cs-open-card{flex-direction:column;gap:9px;display:flex}@media (width<=640px){.cs-modal{padding:22px 14px 16px}.cs-vital.wide{grid-column:span 1}.cs-skills{grid-template-columns:1fr}}
