@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#e9e1d2;background:#10110f;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#10110f}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}.setup-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 18%,#393020 0,#171713 44%,#10110f 78%)}.auth-card{width:min(100%,440px);padding:38px;background:#191a16;border:1px solid #51442d;border-radius:12px;box-shadow:0 25px 90px #0008;display:flex;flex-direction:column;gap:12px}.brand-mark{font-size:42px;color:#d2b276;text-align:center}.auth-card h1{font:500 38px Cinzel,serif;text-align:center;margin:0;color:#ead6ae}.auth-card>p{text-align:center;color:#aaa18f;margin:0 0 4px}.auth-card .eyebrow{font-size:10px;letter-spacing:3px;color:#c5a56c}.tagline{font-size:13px!important;margin-bottom:16px!important}.auth-card label{font-size:11px;color:#c8b995;margin-top:7px}.auth-card input,.create-panel input,.action-compose input,.scene-controls select{background:#10110e;border:1px solid #49402f;border-radius:6px;padding:13px;color:#eee5d5;outline:none;width:100%;min-width:0}.auth-card input:focus,.create-panel input:focus,.action-compose input:focus{border-color:#c2a36c}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#11120f;padding:4px;border-radius:7px;margin:8px 0}.auth-tabs button{border:0;background:none;color:#9d9585;padding:10px;border-radius:5px;font-size:12px}.auth-tabs button.active{background:#393022;color:#f0d6a3}.primary,.outline,.secondary{border-radius:6px;padding:12px 16px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:700}.primary{background:#b7945d;border:1px solid #d0b078;color:#17140e}.primary:hover{background:#d1b47e}.outline{background:transparent;border:1px solid #786443;color:#e0c48f}.secondary{background:#25251e;border:1px solid #48402f;color:#e6d5b2}.full{width:100%;margin-top:6px}.text-button{background:none;border:0;color:#c5a56c;font-size:11px;padding:6px}.auth-divider{display:flex;align-items:center;gap:12px;color:#746d5e;font-size:10px;margin:4px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#39362d;flex:1}.small-note{font-size:10px!important;line-height:1.6;color:#8f887a!important;margin-top:6px!important}.notice{background:#352c1e;border:1px solid #725b37;border-radius:6px;padding:10px;color:#efd7a8!important;font-size:12px}.recovery-card{width:min(100%,520px)}.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.recovery-grid code{background:#10110e;border:1px solid #51442d;padding:10px;border-radius:5px;text-align:center;color:#f2d9a8;letter-spacing:1px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#171814;border-right:1px solid #302d24;padding:25px 17px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 36px}.brand-symbol{font-size:30px;color:#c6a66c}.brand b,.brand small{display:block}.brand b{font:600 14px Cinzel,serif;letter-spacing:2px}.brand small{font-size:9px;color:#847b69;letter-spacing:2px;margin-top:4px}.realm-label,.eyebrow{font-size:10px;letter-spacing:2px;color:#b99a62;font-weight:700}.realm-label{padding:0 12px 13px;color:#716b5e}.nav-item{width:100%;border:0;background:transparent;color:#aaa395;display:flex;align-items:center;gap:13px;padding:12px;border-radius:7px;text-align:left;font-size:13px}.nav-item:hover,.nav-item.selected{background:#29271f;color:#e6c78c}.sidebar-bottom{margin-top:auto}.player-mini{display:flex;align-items:center;gap:10px;padding:14px 8px;border-top:1px solid #302d25;margin-bottom:8px}.avatar{width:34px;height:34px;border-radius:50%;background:#51432d;color:#e7c88c;display:grid;place-items:center;font-family:Cinzel,serif}.player-mini b,.player-mini small{display:block}.player-mini b{font-size:12px}.player-mini small{color:#827c6f;font-size:10px;margin-top:3px}.main-area{margin-left:245px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:64px;border-bottom:1px solid #302d25;display:flex;align-items:center;justify-content:space-between;padding:0 38px;color:#aaa395;font-size:10px;letter-spacing:1.5px}.crumb-sep{color:#5b5549;padding:0 9px}.top-right{display:flex;align-items:center;gap:9px;font-size:9px;color:#8e887b}.online-dot{width:6px;height:6px;border-radius:50%;background:#8baf7b}.content{width:min(1180px,100%);margin:0 auto;padding:36px 42px 55px;flex:1}.hero{min-height:310px;background:linear-gradient(90deg,#201f19,#1f1d16f0 45%,#1f1d1633),radial-gradient(ellipse at 80% 45%,#776344,#26241c 52%,#171713 80%);border:1px solid #3c3528;border-radius:10px;position:relative;overflow:hidden;display:flex;align-items:center;padding:42px}.hero-copy{position:relative;z-index:1;max-width:510px}.hero h1,.room-heading h1{font:500 clamp(34px,4vw,52px) Cinzel,serif;line-height:1.2;margin:15px 0}.hero h1 em{color:#d0ae73;font-style:normal}.hero p:not(.eyebrow),.room-heading p:not(.eyebrow){color:#aaa293;line-height:1.8;font-size:13px;max-width:430px}.hero-rune{position:absolute;right:12%;top:7%;font-size:230px;color:#e5c68c;opacity:.12;text-shadow:0 0 50px #d6b77b}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:40px 0 18px}.section-heading h2{font:500 25px Cinzel,serif;margin:7px 0}.muted{color:#898273;font-size:12px}.campaign-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.create-panel{background:#1c1c17;border:1px solid #363226;border-radius:8px;padding:22px;display:flex;flex-direction:column;gap:10px}.create-panel>svg{color:#c2a06a}.create-panel h3{font:500 17px Cinzel,serif;margin:2px 0}.create-panel p{font-size:12px;color:#928a7b;margin:0 0 5px}.campaign-list{display:grid;gap:8px;margin-top:20px}.campaign-row{display:flex;align-items:center;gap:14px;padding:15px;background:#1b1b17;border:1px solid #363226;color:#e8e0d0;border-radius:7px;text-align:left}.campaign-row>span:nth-child(2){display:grid;gap:5px;flex:1}.campaign-row b{font:500 14px Cinzel,serif}.campaign-row small{font-size:10px;color:#898273}.campaign-emblem{font-size:25px;color:#b99a62}.empty-state{border:1px dashed #494131;padding:28px;text-align:center;color:#898273;font-size:12px;border-radius:8px;margin-top:18px}.room-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:15px}.room-heading h1{font-size:34px;margin:7px 0}.room-heading p:not(.eyebrow){margin:0}.tabletop{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:15px}.map-panel,.action-panel{background:#1b1b17;border:1px solid #383326;border-radius:8px;overflow:hidden}.map-toolbar{display:flex;justify-content:space-between;padding:13px 16px;color:#c9b68e;font-size:10px;letter-spacing:1px;border-bottom:1px solid #383326}.map-toolbar span:first-child{display:flex;align-items:center;gap:8px}.fantasy-map{height:410px;position:relative;overflow:hidden;display:grid;place-content:center;text-align:center;background-color:#5a523e;background-image:radial-gradient(ellipse at 20% 20%,#8b8060 0 9%,transparent 10%),radial-gradient(ellipse at 80% 30%,#8c7955 0 12%,transparent 13%),radial-gradient(ellipse at 55% 75%,#77704f 0 16%,transparent 17%),repeating-linear-gradient(35deg,transparent 0 28px,#d5c79a22 29px 31px),linear-gradient(135deg,#665c43,#333b32 50%,#76684b);border:12px solid #30291d;box-shadow:inset 0 0 55px #17140d}.fantasy-map:before{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:2px solid #d7c18d88;border-radius:48% 38% 53% 42%;transform:rotate(-12deg)}.fantasy-map:after{content:"";position:absolute;top:22%;right:18%;bottom:22%;left:18%;border:1px dashed #e0d0a077;border-radius:35% 55% 42% 52%;transform:rotate(18deg)}.fantasy-map.scene-1{filter:hue-rotate(22deg) saturate(.8)}.fantasy-map.scene-2{filter:hue-rotate(-28deg) brightness(.8)}.map-compass{position:absolute;right:18px;top:12px;color:#ead6a8;font:16px Cinzel,serif;z-index:1}.map-title{font:600 clamp(22px,3vw,34px) Cinzel,serif;color:#f0dfb9;text-shadow:0 2px 8px #16130c;z-index:1}.map-subtitle{font-size:9px;letter-spacing:3px;color:#f0dfb9;z-index:1;margin-top:8px}.map-landmark{position:absolute;color:#f2dfb4;font-size:27px;text-shadow:0 2px 6px #16130c;z-index:1}.landmark-one{left:24%;top:25%}.landmark-two{right:25%;bottom:23%}.landmark-three{left:50%;bottom:16%}.scene-controls{display:flex;gap:9px;padding:12px;border-top:1px solid #383326}.scene-controls select{flex:1}.dice-tray{display:flex;align-items:center;gap:8px;padding:15px;border-top:1px solid #383326}.dice-tray>div{display:grid;gap:4px;margin-right:auto}.dice-tray b{font:500 14px Cinzel,serif}.dice-tray small{font-size:10px;color:#8e887b}.dice-tray button{background:#2b281f;border:1px solid #655438;color:#e7c98e;border-radius:5px;padding:9px 12px;display:flex;align-items:center;gap:5px;font-size:11px}.action-panel{display:flex;flex-direction:column;min-height:510px}.panel-title{padding:15px;border-bottom:1px solid #383326;display:flex;align-items:center;justify-content:space-between}.panel-title h2{font:500 17px Cinzel,serif;margin:0}.panel-title span{font-size:10px;color:#8f887a}.event-list{padding:12px;display:flex;flex-direction:column;gap:11px;overflow:auto;max-height:390px;flex:1}.event-item{border-bottom:1px solid #302e26;padding-bottom:9px}.event-item small{font-size:9px;color:#958b77;letter-spacing:.7px}.event-item p{font-size:12px;line-height:1.6;color:#d8cebc;margin:6px 0 0;overflow-wrap:anywhere}.event-item b{color:#e7c98e}.empty-log{font-size:12px;color:#8f887a;line-height:1.7;text-align:center;margin:auto}.action-compose{display:flex;gap:7px;padding:11px;border-top:1px solid #383326}.action-compose input{font-size:11px}.icon-button{padding:10px 13px}.invite-inline{margin:0 11px 10px;padding:9px;background:transparent;border:1px solid #55482f;color:#d7bb85;border-radius:5px;display:flex;justify-content:center;align-items:center;gap:7px;font-size:11px}.invite-code{display:flex;justify-content:space-between;padding:8px 12px;color:#e5cb96;font-family:monospace;letter-spacing:2px}.invite-code button{background:none;border:0;color:#e5cb96}.notice-bar{position:fixed;right:22px;bottom:22px;max-width:min(480px,calc(100vw - 30px));background:#352c1e;border:1px solid #725b37;border-radius:7px;padding:12px 14px;color:#efd7a8;font-size:12px;display:flex;gap:15px;align-items:center;z-index:10;box-shadow:0 8px 30px #0008}.notice-bar button{border:0;background:none;color:#efd7a8;display:grid;place-items:center}.footer{border-top:1px solid #302d25;padding:17px 38px;color:#716b5e;font-size:9px;letter-spacing:1.5px}@media(max-width:1050px){.content{padding:28px 24px 45px}.tabletop{grid-template-columns:1fr}.action-panel{min-height:350px}.event-list{max-height:250px}.fantasy-map{height:340px}}@media(max-width:720px){.sidebar{position:relative;width:auto;height:auto;inset:auto;padding:12px 16px;display:block;border-right:0;border-bottom:1px solid #302d25}.brand{padding:0 4px 10px}.realm-label,.sidebar-bottom{display:none}.sidebar>.nav-item{display:none}.main-area{margin-left:0}.topbar{height:48px;padding:0 16px;font-size:9px}.content{padding:20px 14px 35px}.hero{min-height:260px;padding:25px}.hero-rune{font-size:150px;right:5%}.campaign-grid{grid-template-columns:1fr}.room-heading{align-items:flex-start;flex-direction:column}.room-heading h1{font-size:28px}.fantasy-map{height:280px}.dice-tray{flex-wrap:wrap}.dice-tray>div{width:100%;margin-bottom:4px}.footer{padding:14px;font-size:8px}.auth-card{padding:27px 22px}.recovery-grid{grid-template-columns:1fr}}
