@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Inter,Arial,sans-serif;color:#e5e4d9;background:#111410;font-synthesis:none;--gold:#c6a66b;--muted:#8f9688;--line:#30362b;--panel:#1a1f18}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent}button:disabled{opacity:.5;cursor:not-allowed}button:hover{filter:brightness(1.16)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,.brand{font-family:Cinzel,Georgia,serif}h1{font-size:32px;font-weight:500;margin:10px 0}h2{font-weight:500}h3{font-size:15px;font-weight:500;margin:0}p{line-height:1.7}small{font-size:11px}em{font-style:normal}input,textarea,select{background:#12170f;border:1px solid #394030;color:#e8e9dc;border-radius:5px;padding:11px;max-width:100%;color-scheme:dark}textarea{display:block;width:100%;min-height:130px;resize:vertical;line-height:1.7}label{font-size:12px;color:#b1b7a9}label>input,label>textarea{display:block;margin:8px 0 16px;width:100%}.shell{display:flex;min-height:100vh}.sidebar{width:242px;position:fixed;inset:0 auto 0 0;background:#151a13;border-right:1px solid var(--line);padding:30px 19px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:#d2b681;text-decoration:none;font-size:17px;letter-spacing:2px;font-weight:600}.brand>span>span{display:block;font-size:23px;letter-spacing:7px;line-height:1.2}.brand small{display:block;font:8px Inter,Arial;letter-spacing:2px;margin-top:7px;color:#7e856f}.brand-mark{display:grid;place-items:center;width:48px;height:57px;border:1px solid #78683f;clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%);background:linear-gradient(140deg,#393723,#171d14)}.workspace-label{font-size:8px;color:#707967;letter-spacing:1.4px;margin-top:38px}.campaign-select{margin:17px 0 24px;padding:14px 10px;background:#1e2419;border:1px solid #38412b;border-radius:5px}.campaign-select small{font-size:8px;letter-spacing:1.6px;color:#8b966f}.campaign-select select{width:100%;font-size:12px;padding:8px 0;background:transparent;border:0;color:#d9dfce}.campaign-select>span{font-size:10px;color:#8f9a83}.sidebar nav{display:grid;gap:8px}.sidebar nav button{justify-content:flex-start;font-size:12px;padding:14px 12px;border:1px solid transparent;color:#a2ac96;border-radius:5px}.sidebar nav button.active{color:#d9bd83;background:linear-gradient(90deg,#353422,#24291b);border-color:#4b4830}.sidebar nav button small{margin-left:auto;background:#40432d;border-radius:4px;padding:2px 6px}.new-campaign{border:1px dashed #414832;margin-top:24px;padding:11px;color:#a8b392;font-size:12px;border-radius:4px}.sidebar-footer{margin-top:auto;padding-top:35px;text-align:center}.sidebar-footer .rune{color:#776c45;font-size:37px}.sidebar-footer p{font:italic 12px/1.8 Georgia;color:#7c8771;margin:10px 0 30px}.sidebar-footer button{border-top:1px solid var(--line);padding:20px 0;width:100%;justify-content:flex-start;color:#929c87;font-size:12px}.sidebar-footer>small{font-size:8px;letter-spacing:1.3px;color:#5e6955}main{margin-left:242px;width:calc(100% - 242px)}.topbar{height:76px;border-bottom:1px solid #2b3225;display:flex;align-items:center;padding:0 42px;gap:20px;background:#141811}.topbar>span{display:flex;align-items:center;gap:12px;font-size:11px;color:#b1b8a5}.breadcrumb{color:#737f68}.role-switch{display:flex;border:1px solid #3a412f;background:#1b2016;padding:4px;border-radius:6px;margin-left:auto}.role-switch button{font-size:11px;padding:8px 14px;color:#98a28a;border-radius:3px}.role-switch .selected{background:#393824;color:#dfc38b;box-shadow:0 1px 4px #0004}.avatar{border:1px solid #6d633c;border-radius:50%;width:33px;height:33px;color:#d5bd83;background:#363825;font:16px Georgia}.content{max-width:1460px;margin:auto;padding:36px 42px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:29px}.eyebrow{font-size:8px;letter-spacing:2px;color:#b8a16d;font-weight:600}.page-heading p{font-size:12px;color:#8f9b81;margin:0}.demo-badge{font-size:8px;letter-spacing:1px;background:#20281a;border:1px solid #3d4c30;color:#a5b58e;padding:9px 12px;border-radius:4px;white-space:nowrap}.demo-badge i,.hero-tag span{display:inline-block;width:5px;height:5px;background:#90a869;border-radius:50%;margin-right:5px}.campaign-hero{position:relative;min-height:295px;border:1px solid #4c4b32;border-radius:7px;overflow:hidden;background:#1f2a21}.hero-content{position:relative;padding:32px 35px;z-index:2;background:linear-gradient(90deg,#161e16 0%,#172118ee 36%,transparent 80%);min-height:295px}.hero-content h2{font-size:32px;color:#f0e6cb;margin:15px 0 10px;max-width:560px}.hero-content p{font:14px/1.8 Georgia;color:#bac1a9;margin-bottom:17px}.hero-meta{display:flex;gap:17px;font-size:10px;color:#aab69a;margin-bottom:21px}.hero-meta span{display:flex;align-items:center;gap:6px}.gold{background:linear-gradient(115deg,#d8bd81,#b79b60);border:1px solid #dbc28d;color:#25291b;font-size:11px;font-weight:600;padding:12px 19px;border-radius:4px;box-shadow:0 3px 13px #0002}.hero-landscape{position:absolute;inset:0;background:radial-gradient(ellipse at 77% 20%,#c5c69a66,transparent 32%),linear-gradient(#556653,#293f31 65%,#17251e);overflow:hidden}.moon{position:absolute;width:75px;height:75px;border-radius:50%;right:20%;top:26px;background:#ddd8b8;box-shadow:0 0 55px #e1e4b566;opacity:.65}.mountain{position:absolute;inset:15% -10% -10% 30%;clip-path:polygon(0 100%,0 75%,10% 48%,19% 61%,30% 18%,36% 34%,40% 20%,51% 69%,60% 40%,75% 65%,87% 14%,100% 60%,100% 100%);background:#324b3e}.m2{transform:translate(80px,45px);background:#21382e}.m3{transform:translate(20px,130px);background:#10271e}.tower{position:absolute;right:24%;top:86px;width:61px;height:140px;background:linear-gradient(90deg,#151f1c,#3f4b3c,#1d2d24);clip-path:polygon(0 100%,9% 34%,20% 34%,20% 20%,33% 20%,45% 0,57% 20%,73% 20%,73% 35%,86% 35%,100% 100%)}.tower:after{content:"";position:absolute;inset:46px 25px 70px;background:#b9c77d;box-shadow:0 0 15px #d5cf91}.hero-tag{position:absolute;bottom:23px;right:26px;font-size:8px;letter-spacing:2px;color:#c3cbae;z-index:3}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0 26px}.quick-actions button{background:#1d2319;border:1px solid #343e2b;border-radius:5px;padding:18px 16px;text-align:left;justify-content:flex-start;gap:13px}.quick-actions button>svg:first-child{color:#c6ad74;width:23px;flex-shrink:0}.quick-actions button>svg:last-child{margin-left:auto;width:13px;color:#7b876c}.quick-actions b{display:block;font-size:12px;font-weight:500}.quick-actions small{display:block;color:#839175;font-size:10px;margin-top:6px}.overview-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.panel{background:linear-gradient(130deg,#1d231a,#191e16);border:1px solid #343d2c;border-radius:6px;padding:23px;margin-bottom:22px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section-title h3{display:flex;align-items:center;gap:10px}.section-title h3 svg{color:#bca26d}.text-btn{font-size:10px;color:#c0ac7e;padding:3px 0}.scene-heading{border-left:2px solid #8e7d4a;padding-left:14px;margin:24px 0 15px}.scene-heading span{font-size:8px;letter-spacing:2px;color:#99936b}.scene-heading h2{font:18px Cinzel,Georgia;margin:7px 0 0;color:#d7d4bf}blockquote{font:italic 15px/1.9 Georgia,serif;color:#adb69e;margin:15px 0 25px}.scene-footer{border-top:1px solid #333c2b;padding-top:16px;display:flex;align-items:center;justify-content:space-between}.scene-footer>span{font-size:9px;color:#8d9a7f;display:flex;align-items:center;gap:6px}.muted{color:#8f9a81;font-size:11px;line-height:1.7}.empty-roll{text-align:center;padding:13px 0 27px;color:#657451}.empty-roll p{font-size:11px;color:#9ba68e;margin:13px 0 3px}.empty-roll small{font-size:10px;color:#6f7e62}.outline{border:1px solid #4a5039;border-radius:4px;color:#bdc6ac;background:#22291c;padding:10px 14px;font-size:11px}.wide{width:100%}.party-title{margin:5px 0 17px}.count{font:10px Inter;background:#2e3725;padding:3px 6px;border-radius:4px;margin-left:6px;color:#a7b890}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.character-card{display:block;background:linear-gradient(120deg,#20271b,#191f16);border:1px solid #38422e;border-radius:6px;padding:19px;text-align:left;min-width:0}.char-top{display:flex;align-items:center;gap:12px}.portrait{width:52px;height:60px;flex-shrink:0;border-radius:5px;border:1px solid #626948;background:radial-gradient(circle at 55% 25%,#95936b44,transparent 65%),linear-gradient(140deg,#3d503d,#101e19);display:flex;align-items:center;justify-content:center;color:#bfccb0;font:42px Georgia;text-shadow:0 0 13px #d4d99255}.portrait.thorin{background:linear-gradient(140deg,#6a5439,#28261d);color:#c7ab79}.portrait.aelin{background:linear-gradient(140deg,#55636d,#1a2837);color:#b0cdd6}.portrait.goblin{background:#403c2b;color:#d8c28d}.portrait.small{width:36px;height:39px;font-size:27px}.char-top b{font:14px Cinzel,Georgia;display:block;color:#dfddc8}.char-top small{display:block;color:#8f9b80;font-size:9px;margin:6px 0}.char-top em{font-size:8px;letter-spacing:1px;color:#b9aa74}.health{margin-top:19px}.health>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;color:#889b7b}.health span{display:flex;align-items:center;gap:5px}.health svg{color:#829f6b}.health b{font-size:11px;color:#d7dec9}.health em{font-size:9px;color:#849074;font-weight:400}.bar{height:4px;background:#343e2a;border-radius:4px;margin-top:10px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#647f4e,#95af76);transition:width .2s}.char-bottom{display:flex;justify-content:space-between;border-top:1px solid #343d2b;padding-top:13px;margin-top:16px;font-size:9px;color:#9ca98b;gap:8px}.char-bottom>span{display:flex;align-items:center;gap:5px}.online{font-size:8px;color:#81946b}.online:before{content:"";width:4px;height:4px;border-radius:50%;background:#8da56f}.main-footer{display:flex;align-items:center;gap:8px;padding:28px 0 22px;font-size:9px;color:#68755d}.main-footer>span:last-child{margin-left:auto}.floating-dice{position:fixed;bottom:25px;right:25px;background:#c2a262;color:#22291c;width:48px;height:48px;border-radius:13px;border:1px solid #e0c78b;box-shadow:0 5px 22px #0008;z-index:21}.mobile-nav{display:none}.roll-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #343c2b}.roll-row b{font-size:11px;display:block}.roll-row small{display:block;color:#8e9d7c;margin-top:6px;font-size:9px}.roll-row time{font-size:9px;color:#6f7d61;margin-left:auto}.die-icon{width:34px;height:36px;display:grid;place-items:center;color:#d7bb7d;background:#343b26;border:1px solid #626342;border-radius:7px;font:18px Georgia}.activity .outline{margin-top:15px}.character-tabs{display:flex;gap:12px;overflow:auto;margin-bottom:20px}.character-tabs button{background:#1d2519;padding:10px 15px;border:1px solid #39452e;border-radius:5px;white-space:nowrap;font-size:12px}.character-tabs button.active{border-color:#b29d62;background:#343724}.sheet-header{display:flex;gap:18px;align-items:center}.sheet-header .portrait{width:70px;height:80px;font-size:52px}.sheet-header p{font-size:12px;color:#8f9c81;margin:8px 0}.name-input{font:23px Cinzel,Georgia;border:0;padding:3px;background:transparent;width:100%}.badge{font-size:10px;border:1px solid #5a5737;color:#c4ad78;padding:8px;white-space:nowrap;margin-left:auto}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:28px 0}.stats>div{text-align:center;border:1px solid #4b5036;border-radius:6px;background:#151d12;padding:12px 5px}.stats label{display:block;letter-spacing:2px;font-size:9px;color:#acb395}.stats input{display:block;width:100%;text-align:center;font:26px Georgia;background:transparent;border:0;padding:8px 0}.stats button{font-size:12px;color:#d7bd80}.sheet-vitals{display:grid;grid-template-columns:2fr 1fr 1fr;gap:25px;border-block:1px solid #343e2b;padding:5px 0 20px;margin-bottom:23px}.sheet-vitals>label{padding-top:18px}.sheet-vitals input{width:100%}.sheet-vitals select{margin-top:8px;width:100%}.hp-controls{display:flex;gap:8px;margin-top:14px}.hp-controls button{padding:9px 10px;background:#2c3822;border:1px solid #485638;border-radius:4px;font-size:11px}.skill-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.skill-buttons button{background:#272f1f;border:1px solid #454d33;padding:11px;border-radius:4px;font-size:11px}.skill-buttons b{color:#c7b17e}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #323d29;padding:13px 0;font-size:12px}.list-row input{display:inline-block;width:auto;margin:0}.icon-btn{padding:5px;color:#b2bb9e;min-width:30px;min-height:30px}.panel>h3{margin-bottom:18px}.secret-title{color:#c6ad76;border-top:1px solid #41462e;padding-top:23px}.journal-entry{border-left:1px solid #726c41;padding:0 0 1px 20px;margin:25px 0}.journal-entry small{font-size:9px;color:#c3ad78;letter-spacing:1px}.journal-entry p{font-size:13px;color:#b3bca5;margin-top:9px}.session-control{margin-top:25px}.combat-row{display:flex;gap:15px;align-items:center;padding:16px 9px;border-bottom:1px solid #35412b}.combat-row.current{background:#333b23;border-left:3px solid #ccac69}.combat-row label{font-size:8px;text-align:center}.combat-row input{width:50px;text-align:center;padding:8px;margin:4px 0 0}.combat-name{min-width:130px}.combat-name b{display:block;font-size:12px}.combat-name small{display:block;font-size:10px;color:#8e9d7d;margin-top:6px}.armor{display:flex;align-items:center;gap:5px;font-size:12px;color:#a1b28d}.combat-hp{flex:1;min-width:80px}.combat-hp .health{margin:0}.combat-row .outline{padding:10px}.next-turn{display:flex;margin:23px 0 20px auto}.map-tools{display:flex;gap:15px;margin-bottom:20px}.map-scroll{overflow:auto;max-height:650px;margin-bottom:20px}.battle-map{aspect-ratio:10/8;min-width:400px;display:grid;grid-template-columns:repeat(10,1fr);background:radial-gradient(ellipse at 50% 50%,#626146,#293527 75%);border:8px solid #3f4732;box-shadow:inset 0 0 60px #000}.cell{border:1px solid #b7b18b22;position:relative;min-height:30px;padding:1px;background:linear-gradient(35deg,#ffffff03,#0002)}.cell:hover{background:#c8af6b44}.cell.stone{background:#191f18;border:3px solid #4a5139;box-shadow:4px 4px 8px #0007}.map-token{border:2px solid #c7b178;background:#3c6146;width:70%;max-width:43px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font:18px Georgia;box-shadow:0 3px 8px #000a}.map-token.goblin{background:#854c35}.map-token.aelin{background:#3c526f}.map-token.thorin{background:#75603b}.empty-state{text-align:center;padding:65px 10px;color:#a9b793}.empty-state svg{color:#b9a36f}.empty-state h2{margin-top:25px}.settings{max-width:780px}.settings h3{color:#c9b078;margin-top:30px}.settings>p{font-size:13px;color:#a2af92}.toast{position:fixed;z-index:100;bottom:28px;left:50%;transform:translate(-50%);background:#35442a;border:1px solid #90a26b;padding:16px 23px;border-radius:5px;box-shadow:0 8px 25px #0008;display:flex;gap:10px;align-items:center;font-size:12px;max-width:85vw}.modal-backdrop{position:fixed;inset:0;z-index:60;background:#070d08cf;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px}.modal{width:500px;max-width:100%;max-height:85vh;overflow:auto;box-shadow:0 30px 120px #0008;margin:0}.modal h2{font-size:21px;margin:0}.modal textarea{min-height:180px}.dice-options{display:flex;gap:7px;flex-wrap:wrap;margin:22px 0}.dice-options button{border:1px solid #505a3c;border-radius:5px;padding:12px;color:#b8c4a5}.dice-options .selected{color:#ddc38a;background:#41462c;border-color:#b5a16a}.dice-history{margin-top:20px;max-height:280px;overflow:auto}@media(min-width:1500px){.content{padding-top:44px}.campaign-hero,.hero-content{min-height:325px}.hero-content{padding:40px}.hero-content h2{font-size:38px}.sidebar{width:265px}main{margin-left:265px;width:calc(100% - 265px)}}@media(max-width:1150px){.sidebar{width:210px;padding:25px 14px}main{margin-left:210px;width:calc(100% - 210px)}.content{padding:28px 25px 0}.topbar{padding:0 25px}.hero-content h2{font-size:28px}.character-grid{gap:10px}.character-card{padding:13px}.char-top{gap:8px}.char-top b{font-size:11px}.portrait{width:40px;height:50px}.quick-actions{gap:10px}.quick-actions button{padding:16px 10px;gap:8px}.quick-actions small{font-size:8px}.overview-grid{gap:14px}.panel{padding:19px}.demo-badge{font-size:7px}.combat-row{flex-wrap:wrap}.combat-hp{min-width:120px}.combat-name{min-width:110px}.two-columns{gap:14px}}@media(max-width:850px){.sidebar{display:none}main{margin-left:0;width:100%}.topbar{height:65px}.content{padding-bottom:70px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#161e13f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid #48513a;padding:8px 6px max(9px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{display:flex;flex-direction:column;font-size:9px;gap:5px;color:#849775;min-width:52px;padding:3px}.mobile-nav button.active{color:#d2b57a}.floating-dice{bottom:84px;right:18px}.main-footer>span:last-child{display:none}.toast{bottom:89px}.stats{gap:8px}}@media(max-width:580px){.topbar{padding:0 17px;gap:10px}.topbar>span{font-size:10px}.breadcrumb{display:none}.topbar>span>svg{display:none}.role-switch{gap:0}.role-switch button{padding:7px 10px;font-size:10px}.content{padding:26px 17px 75px}.page-heading{align-items:flex-start;margin-bottom:23px;position:relative;padding-top:27px}.page-heading .eyebrow{font-size:7px;letter-spacing:1.2px}.demo-badge{position:absolute;top:0;left:0;font-size:6px;letter-spacing:1px;padding:5px 7px}h1{font-size:26px;margin:10px 0}.page-heading p{font-size:10px}.campaign-hero,.hero-content{min-height:307px}.hero-content{padding:26px 22px;background:linear-gradient(90deg,#151d16f5,#17211888)}.hero-content h2{font-size:27px;max-width:260px;line-height:1.35}.hero-content p{font-size:13px}.hero-meta{gap:10px;font-size:9px}.hero-tag{font-size:6px;bottom:14px;right:15px}.hero-landscape .moon{right:10%;width:60px;height:60px}.tower{right:12%;top:125px}.mountain{left:0}.quick-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 21px}.quick-actions button{flex-direction:column;text-align:center;padding:15px 5px;gap:10px}.quick-actions button>svg:last-child{display:none}.quick-actions b{font-size:10px;line-height:1.5}.quick-actions small{display:none}.overview-grid{grid-template-columns:1fr;gap:0}.panel{padding:19px;margin-bottom:18px}.section-title h3{font-size:13px}.scene-heading h2{font-size:17px}blockquote{font-size:14px}.activity .empty-roll{padding:5px 0 18px}.character-grid{grid-template-columns:1fr}.character-card{padding:17px}.char-top b{font-size:15px}.char-top small{font-size:11px}.char-top em{font-size:10px}.portrait{width:52px;height:58px}.char-top{gap:15px}.character-card .health{margin-top:15px}.char-bottom{font-size:11px}.online{font-size:9px}.party-title{margin-top:8px}.main-footer{font-size:8px;padding:25px 0 10px}.character-tabs button{padding:7px 10px;font-size:11px}.sheet-header{gap:10px}.sheet-header .portrait{width:48px;height:62px;font-size:37px}.name-input{font-size:17px;padding:3px 0}.sheet-header p{font-size:9px}.badge{display:none}.stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.stats>div{padding:9px 5px}.stats input{font-size:25px}.sheet-vitals{grid-template-columns:1fr 1fr;gap:16px}.sheet-vitals>div:first-child{grid-column:1/-1}.sheet-vitals>label{padding-top:0}.two-columns{grid-template-columns:1fr;gap:0}.skill-buttons{display:grid;grid-template-columns:1fr 1fr}.skill-buttons button{font-size:10px}.combat-row{gap:10px}.combat-name{flex:1}.combat-hp{flex-basis:calc(100% - 160px);margin-right:5px}.combat-hp .health>div:first-child{font-size:8px}.combat-row .outline{font-size:10px;padding:8px}.combat-row .portrait{display:none}.combat-row .armor{font-size:11px}.section-title:has(.gold){align-items:flex-start}.section-title .gold{padding:10px;font-size:9px}.section-title p{font-size:10px}.map-tools select{font-size:10px;flex:1;min-width:0}.map-token{font-size:14px}.modal{padding:20px}.modal h2{font-size:18px}.dice-options{gap:5px}.dice-options button{padding:10px;font-size:12px}.toast{padding:12px;font-size:11px;width:max-content}.settings h2{font-size:22px}.settings p{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.portrait{overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover}.upload-label{display:inline-flex;align-items:center;gap:10px;background:#303b25;border:1px solid #68764b;border-radius:5px;padding:11px 14px;color:#d6c18c;font-size:11px;cursor:pointer}.upload-label input{max-width:220px;font-size:10px;padding:5px;background:transparent;border:0;margin:0}.portrait-upload{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:14px}.map-editor{background:#131a11;border:1px solid #3f4b31;border-radius:5px;padding:18px;margin-bottom:22px}.grid-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.grid-settings select{display:block;width:100%;margin:8px 0 16px}.grid-settings input{margin-bottom:6px}.calibration-tools{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:12px}.calibration-tools>label:first-child{max-width:150px}.calibration-tools label input[type=checkbox]{width:auto;display:inline-block;margin:0}.calibration-hint{color:#edcd85;font-size:13px;background:#393a21;padding:12px;border-radius:4px}.uploaded-map{border:1px solid #4a5537;border-radius:5px;max-width:100%;max-height:70vh;background:#0d130c;overscroll-behavior:contain}.token-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.map-tools label{min-width:120px}.map-tools input{display:block;width:100%}.magic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:17px}.magic-item{border:1px solid #635537;background:#25291b;border-radius:6px;overflow:hidden}.magic-item>img{display:block;width:100%;height:200px;object-fit:contain;background:#12170f}.item-symbol{text-align:center;font-size:65px;color:#cdb16d;background:radial-gradient(ellipse,#62532c55,#161d13);padding:15px}.magic-item>div:last-child{padding:17px}.magic-item small{color:#d1b573;font-size:9px;text-transform:uppercase;letter-spacing:1.5px}.magic-item h3{font:18px Cinzel,Georgia;margin:9px 0}.magic-item p{font-size:12px;color:#bac3ab;white-space:pre-wrap}.magic-item .text-btn{display:block;margin-top:15px}.gift-form{border-top:1px solid #454b32;margin-top:22px;padding-top:20px}.gift-form summary{color:#ceb57a;cursor:pointer;font-size:13px}.gift-form form{margin-top:22px}.gift-form input[type=file]{padding:10px}.sound-toolbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.sound-toolbar input[type=range]{display:block}.sound-track{padding:20px;border:1px solid #4c5639;border-radius:6px;background:#20291a;margin-bottom:15px;min-width:0}.sound-track h3{font-size:12px;word-break:break-word}.sound-track audio{width:100%;height:42px}.sound-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px}.sound-controls input[type=range]{display:block;width:130px}.sound-controls input[type=checkbox]{display:inline-block;width:auto}.sound-controls label{font-size:10px}[hidden]{display:none!important}@media(max-width:580px){.mobile-nav button{min-width:43px;font-size:8px}.grid-settings{grid-template-columns:1fr 1fr;gap:12px}.map-editor{padding:13px}.grid-settings label{font-size:10px}.grid-settings input{padding:9px;font-size:12px}.upload-label{flex-wrap:wrap;font-size:10px;max-width:100%}.upload-label input{max-width:100%;width:100%}.sound-toolbar{gap:12px}.map-tools{align-items:center}.map-tools select{max-width:170px}.magic-grid{grid-template-columns:1fr}.portrait-upload .upload-label{max-width:230px}.calibration-tools{gap:12px}.map-scroll.uploaded-map{max-height:60vh}}.mobile-campaign{display:none}@media(max-width:850px){.mobile-campaign{display:flex;gap:10px;margin-bottom:19px}.mobile-campaign select{flex:1;font-size:11px;background:#1e2619;border-color:#3f4a32}.mobile-campaign button{border:1px solid #5a5b3b;color:#c4ad75;border-radius:5px;width:40px}}.grid-editor-heading,.grid-edit-actions,.grid-locked-info{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.grid-visual-controls{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:20px;margin-top:22px}.grid-visual-controls input{width:100%;margin-bottom:14px}.grid-mode-tag{font-size:9px;letter-spacing:1.5px;color:#e1bc6e;margin-right:auto}.grid-locked-info{margin-top:18px;font-size:11px;color:#b1c19a;justify-content:space-between}.grid-locked-info input{width:auto;display:inline-block}.grid-advanced{border-top:1px solid #414c31;padding-top:15px;margin-top:15px}.grid-advanced summary{font-size:11px;color:#97a881;cursor:pointer;margin-bottom:16px}.grid-edit-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 4px}.grid-edit-bottom>span{font-size:11px;color:#d7bd86}.is-editing-grid{border-color:#ba9854;box-shadow:0 0 0 3px #c6a66b11}.grid-selection{user-select:none;-webkit-user-select:none}.grid-selection rect:focus-visible{outline:none;stroke:#fff;stroke-width:3px}.grid-selection rect[data-grid-action]:hover{filter:brightness(1.2)}@media(max-width:580px){.grid-visual-controls{grid-template-columns:1fr 1fr;gap:10px}.grid-visual-controls>label:last-child{grid-column:1/-1}.grid-edit-actions{gap:10px}.grid-mode-tag{width:100%;font-size:8px}.grid-edit-actions button{min-height:40px}.grid-edit-bottom{position:sticky;bottom:70px;z-index:3;background:#1b2317ee;border:1px solid #5f6039;border-radius:5px;padding:10px;margin-top:10px}.grid-edit-bottom>span{font-size:9px}.map-tools{flex-wrap:wrap}.map-tools>label{flex:1}.map-tools>.outline{padding:8px;font-size:10px}}.shell:has(.is-editing-grid) .floating-dice{display:none}.adventure-shortcut{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #4e5135;border-radius:5px;background:#22291b;padding:13px 17px;margin-top:18px}.adventure-shortcut>span{display:flex;gap:10px;align-items:center;font-size:11px;color:#b5bb9c}.adventure-shortcut svg{color:#c6ab72}.adventure-library>.section-title>div>h2{margin:10px 0;font-size:27px}.adventure-library>.section-title>svg{color:#c4aa71;flex-shrink:0}.adventure-upload{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:24px}.adventure-selector{display:flex;align-items:center;gap:22px;padding:20px 0;border-block:1px solid #414a31;margin-bottom:20px}.adventure-selector label{flex:1}.adventure-selector select{display:block;width:100%;margin-top:8px}.pdf-reader-bar{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:20px}.private-badge{display:inline-flex;align-items:center;gap:6px;background:#3c3621;color:#d6ba7b;font-size:9px;letter-spacing:1px;padding:8px;border:1px solid #655436;border-radius:4px}.pdf-page-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.pdf-page-controls label{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:11px}.pdf-page-controls input{width:64px;margin:0;padding:8px;text-align:center}.pdf-page-controls button{padding:9px}.pdf-search{display:flex;align-items:center;gap:10px;color:#bdab7b;margin-bottom:18px}.pdf-search input{flex:1;min-width:0}.pdf-results{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.pdf-results small{color:#a9b298}.pdf-results button{padding:8px}.pdf-page{background:#222b1c;border:1px solid #4b573a;border-radius:5px;padding:25px;margin:0 0 25px}.pdf-page-heading{display:flex;align-items:center;gap:10px;color:#ccb47e;font-size:11px;padding-bottom:17px;border-bottom:1px solid #455036;margin-bottom:22px}.pdf-page-text{white-space:pre-wrap;font:17px/1.95 Georgia,serif;color:#d6dbc8;max-height:570px;overflow:auto;overflow-wrap:anywhere}.pdf-no-text{color:#aeb99d;font-size:13px;line-height:1.8}.pdf-no-text h3{color:#d4bd87;margin-bottom:10px}.pdf-workspace{border:1px solid #3d4a30;border-radius:5px;padding:20px;margin-bottom:20px;background:#151f12}.pdf-workspace>h3{color:#c5b581;margin-bottom:16px}.pdf-workspace textarea{margin-bottom:15px;min-height:190px}.pdf-workspace>small{display:block;margin-top:12px}.pdf-workspace .section-title{flex-wrap:wrap}.pdf-local-note{display:flex;align-items:center;gap:8px;border-top:1px solid #39482e;padding-top:18px}.original-pdf iframe{display:block;width:100%;height:650px;background:#242a21;border:1px solid #485337;border-radius:5px}.pdf-progress,.pdf-remove{display:flex;align-items:center;gap:15px;flex-wrap:wrap;background:#34381f;border:1px solid #6e7045;padding:16px;margin:15px 0;border-radius:5px;font-size:12px}.pdf-remove p{width:100%;margin:0}.pdf-error{padding:15px;border:1px solid #8f6551;color:#e1b599;background:#3b2b21;border-radius:5px;font-size:12px}@media(max-width:580px){.adventure-shortcut{align-items:flex-start;flex-direction:column;padding:13px}.adventure-shortcut>span{font-size:10px}.adventure-shortcut button{width:100%}.adventure-library>.section-title>div>h2{font-size:21px}.adventure-library>.section-title>svg{display:none}.adventure-selector{flex-direction:column;align-items:stretch;gap:12px}.pdf-reader-bar{gap:10px}.pdf-reader-bar>.private-badge{width:100%;justify-content:center}.pdf-page-controls{margin-left:0;flex:1}.pdf-page{padding:16px}.pdf-page-text{font-size:16px}.pdf-workspace{padding:15px}.original-pdf iframe{height:460px}.mobile-nav button{min-width:39px;font-size:7px}.mobile-nav button svg{width:18px}}.pdf-canvas-scroll{max-height:700px;overflow:auto;background:#10150d;border:1px solid #4b563b;padding:4px;margin-bottom:15px}.pdf-canvas-scroll canvas{background:#fff;max-width:none}.pdf-preview-tools{display:flex;justify-content:flex-end;margin-bottom:12px}.pdf-preview-tools label{display:flex;align-items:center;gap:12px}.pdf-preview-tools select{padding:8px;font-size:11px}@media(max-width:580px){.pdf-canvas-scroll{max-height:65vh}.pdf-preview-tools label{font-size:10px}}.campaign-description{white-space:pre-line;overflow-wrap:anywhere}.hero-edit{position:absolute;top:20px;right:22px;z-index:4;background:#192117dd;color:#dbc28e;border-color:#777147}.hero-content h2{overflow-wrap:anywhere}.hero-tag{max-width:50%;text-align:right;line-height:1.6;overflow-wrap:anywhere}.campaign-scene-fields{display:grid;grid-template-columns:1fr 1.5fr;gap:15px}.campaign-details-form textarea{min-height:100px}.campaign-details-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}@media(max-width:580px){.campaign-hero .hero-content{padding-top:60px;padding-bottom:55px}.hero-edit{top:13px;right:13px;font-size:10px;padding:9px 12px}.hero-tag{max-width:85%;bottom:15px;font-size:7px}.campaign-scene-fields{grid-template-columns:1fr;gap:0}}.dice-3d-modal{width:880px;background:radial-gradient(ellipse at 50% 25%,#172843,#131e30 60%,#151c20);border-color:#72623e;box-shadow:0 20px 100px #000b}.dice-3d-modal .section-title h2{color:#ead39e}.dice-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 16px;padding-bottom:14px;border-bottom:1px solid #4d4c36}.dice-mode label{display:flex;align-items:center;gap:8px;color:#c2d0e6;font-size:11px}.dice-mode input{width:auto;margin:0;accent-color:#d2b16a}.dice-mode .text-btn{font-size:10px}.dice-visual{position:relative;background:radial-gradient(ellipse at 50% 35%,#20395b,#0b1423 75%);border:1px solid #6a5c3c;border-radius:10px;overflow:hidden;margin-bottom:16px;box-shadow:inset 0 0 35px #0006}.dice-tray-heading{display:flex;justify-content:space-between;gap:10px;padding:13px 17px;border-bottom:1px solid #7888a51b;color:#9bb2d3;font-size:9px}.dice-tray-heading>span:first-child{color:#d5b975;letter-spacing:2px}.dice-canvas{height:265px;width:100%;overflow:hidden}.dice-canvas canvas{display:block;width:100%;height:100%}.dice-loading{position:absolute;inset:65px 0 auto;text-align:center;color:#d5bd84;font-size:12px;pointer-events:none}.dice-3d-error{padding:15px;color:#d6c7a3;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.dice-big-result{text-align:center;padding:0 15px 18px;animation:dice-reveal .4s ease-out}.dice-big-result>small{display:block;color:#a8bddc;font-size:10px;letter-spacing:1.8px}.dice-big-result>strong{display:block;font:52px/1.15 Cinzel,Georgia;color:#f0d08b;text-shadow:0 0 25px #d4b36a40}.dice-big-result>span{font-size:11px;color:#afc0d8}.dice-big-result.critical>small{color:#f4d17f}.dice-big-result.critical>strong{text-shadow:0 0 35px #efc46588}.dice-result-chips{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:12px}.dice-result-chips>span{font-size:9px;color:#91aacd;border:1px solid #425778;background:#12243e;padding:5px 8px;border-radius:5px}.dice-result-chips b{color:#e9c884;margin-left:4px}.dice-ready{text-align:center;padding:0 10px 18px;font-size:10px;color:#8ca4c6;letter-spacing:.4px}.dice-3d-modal .dice-options{margin:12px 0}.dice-3d-modal .dice-options button{flex:1;background:#172a46;border-color:#385077;color:#bfcee3;padding:10px}.dice-3d-modal .dice-options .selected{background:#233f66;border-color:#ceaf6c;color:#f2d390}.dice-3d-modal .dice-history{max-height:145px;margin-top:12px}.dice-3d-modal .roll-row{border-color:#344158}.dice-3d-modal input:not([type=checkbox]){background:#0e1c2f;border-color:#3d5272;color:#d8e3f3}.dice-3d-modal form>label{display:block;color:#97aecd}.dice-3d-modal .die-icon{background:#17375b;border-color:#56719b;color:#efc975}@keyframes dice-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:580px){.dice-3d-modal{padding:15px;max-height:92vh}.dice-3d-modal h2{font-size:17px}.dice-canvas{height:235px}.dice-tray-heading{font-size:7px;padding:12px}.dice-mode{flex-wrap:wrap;gap:10px}.dice-mode .text-btn{font-size:9px}.dice-3d-modal .dice-options{gap:4px}.dice-3d-modal .dice-options button{padding:10px 5px;font-size:11px}.dice-big-result>strong{font-size:44px}.dice-big-result>span{font-size:10px}.dice-ready{font-size:9px}.dice-3d-error{flex-direction:column;font-size:11px}.dice-3d-modal .dice-history{max-height:115px}}.modal.dice-3d-modal{width:min(880px,calc(100vw - 40px));min-width:0}.dice-canvas{min-width:0}.dice-canvas canvas{max-width:100%}@media(max-width:580px){.modal.dice-3d-modal{width:calc(100vw - 28px)}.modal-backdrop:has(.dice-3d-modal){padding:14px}}.dice-3d-modal .dice-canvas{height:235px}.dice-history-toggle{margin-top:16px}.dice-history-toggle summary{color:#9bb0d0;font-size:11px;cursor:pointer}.dice-3d-modal .dice-big-result>strong{font-size:44px}.dice-3d-modal .dice-big-result{padding-bottom:13px}.dice-3d-modal .dice-result-chips{margin-top:8px}@media(max-width:580px){.dice-3d-modal .dice-canvas{height:205px}.dice-3d-modal .dice-big-result>strong{font-size:38px}}.dice-click-controls{margin:12px 0 17px}.dice-quantity,.dice-bonus{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.dice-quantity>span,.dice-bonus>span{font-size:10px;color:#a8bbd4;min-width:115px}.quantity-stepper{display:flex;align-items:center;border:1px solid #4d6281;border-radius:5px;background:#0f2038;overflow:hidden}.quantity-stepper button{width:36px;height:32px;color:#e1c17e;background:#1e3554;font-size:19px}.quantity-stepper output{display:grid;place-items:center;min-width:40px;padding:0 8px;color:#f0d69d;font-size:13px}.quantity-presets{display:flex;gap:5px}.quantity-presets button{min-width:29px;height:30px;border:1px solid #3f5578;border-radius:4px;background:#14253e;color:#abc0df;font-size:11px}.quantity-presets .selected{border-color:#d4b373;color:#f5d58f;background:#31476a}.dice-bonus .text-btn{font-size:10px}@media(max-width:580px){.dice-quantity,.dice-bonus{gap:8px}.dice-quantity>span,.dice-bonus>span{font-size:9px;min-width:99px}.quantity-presets{width:100%;justify-content:space-between}.quantity-presets button{flex:1;height:34px}.quantity-stepper button{width:34px;height:32px}}.mixed-dice-controls{margin:15px 0 18px}.mixed-dice-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.mixed-dice-heading b{display:block;color:#d9c28c;font-size:12px;font-weight:500}.mixed-dice-heading small{display:block;margin-top:5px;font-size:10px;color:#92a8c6}.mixed-dice-heading>span{font-size:9px;color:#8ea5c3;white-space:nowrap}.dice-add-palette{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.dice-add-palette button{position:relative;display:flex;flex-direction:column;gap:5px;background:linear-gradient(145deg,#1c3558,#10223c);border:1px solid #3e587d;border-radius:7px;padding:10px 7px;color:#95b4e4;min-width:0;transition:border-color .15s,background .15s}.dice-add-palette button:hover{background:#244569;border-color:#cfb16d}.dice-add-palette svg{width:35px;height:35px}.dice-add-palette b{font-size:11px;font-weight:500}.dice-add-palette small{position:absolute;left:7px;top:4px;color:#b5c7df;font-size:15px}.dice-add-palette .has-dice{border-color:#c8a76a;color:#efce87;background:linear-gradient(145deg,#2d4770,#1a3151)}.die-count{position:absolute;right:-5px;top:-7px;min-width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#d5b575;color:#1a2840;font-weight:700;font-size:10px;border:2px solid #142339}.dice-pool-summary{display:flex;justify-content:space-between;align-items:center;margin:20px 0 10px}.dice-pool-summary>span{font-size:8px;letter-spacing:1.5px;color:#a0b3cb}.dice-pool-actions{display:flex;gap:15px}.dice-pool-actions button{font-size:10px}.dice-pool-empty{padding:13px;background:#0e1b2c;border:1px dashed #3e536e;border-radius:5px;font-size:11px;line-height:1.7;color:#8da4c3;margin:0}.dice-pool-groups{display:flex;gap:9px;flex-wrap:wrap}.dice-pool-group{display:flex;align-items:center;gap:9px;padding:8px 9px;border:1px solid #5b6580;background:#152b48;border-radius:6px}.dice-pool-group>svg{width:23px;height:23px;color:#c4aa6f}.dice-pool-group>b{color:#d8e2f1;font-size:13px;font-weight:500}.pool-group-buttons{display:flex;gap:3px;margin-left:5px}.pool-group-buttons button{width:26px;height:27px;background:#244261;border-radius:4px;color:#d9c28f;font-size:16px}.pool-group-buttons button:last-child{background:transparent;color:#8ca0bc}.dice-formula-preview{color:#f1d492;font:15px/1.5 Cinzel,Georgia;border-left:2px solid #a68a51;margin-top:14px;padding-left:12px;overflow-wrap:anywhere}.mixed-dice-controls .dice-bonus{margin-top:16px}@media(max-width:580px){.dice-add-palette{gap:5px}.dice-add-palette button{padding:10px 3px}.dice-add-palette svg{width:29px;height:29px}.dice-add-palette b{font-size:10px}.dice-add-palette small{font-size:12px;left:4px}.die-count{min-width:17px;height:17px;font-size:8px;right:-3px}.mixed-dice-heading small{font-size:9px;max-width:220px}.mixed-dice-heading b{font-size:11px}.mixed-dice-heading>span{font-size:8px}.dice-pool-group{padding:7px;gap:6px}.dice-pool-group>svg{width:20px;height:20px}.dice-pool-group>b{font-size:11px}.pool-group-buttons button{width:27px;height:29px}.dice-pool-actions{gap:12px}.dice-formula-preview{font-size:13px}}.dice-roll-form{position:sticky;bottom:-23px;z-index:4;background:linear-gradient(#14233cfa,#14233c);padding:10px 0 14px;border-top:1px solid #3b4d69}.dice-manual{margin-bottom:10px}.dice-manual summary{font-size:10px;color:#91a7c4;cursor:pointer}.dice-manual label{display:block;margin-top:14px}.dice-manual input{margin-bottom:10px}@media(max-width:580px){.dice-roll-form{bottom:-15px;padding-bottom:12px}.dice-manual summary{font-size:9px}}.cloud-lobby{max-width:780px;margin:40px auto;padding:24px}.cloud-lobby .panel{margin:24px 0}.cloud-lobby form{display:grid;gap:16px}.cloud-lobby .wide{margin:8px 0}.cloud-bar{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px 24px;background:#17263a;color:#d8c491;flex-wrap:wrap}.cloud-bar button,.cloud-error button{color:inherit;text-decoration:underline;background:none;border:0;cursor:pointer}.cloud-error{padding:16px;background:#492f26;color:#ffcead;overflow-wrap:anywhere}.role-switch[hidden]{display:none}.cloud-lobby input{width:100%}.account-access{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;max-width:1200px;padding:48px;margin:auto}.access-art{padding:32px}.forge-sigil{display:block;color:#d8b76b;font-size:100px;text-shadow:0 0 70px #b4a25455}.access-art>p{font-size:12px;letter-spacing:5px;color:#c9ac69}.access-art h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,4vw,55px);line-height:1.2;color:#f1e5c3}.access-art blockquote{font-size:17px;line-height:1.8;color:#9cacac}.access-form{padding:36px!important}.access-form h2{font-size:30px}.access-form>p{color:#aab9c8;line-height:1.6}.access-form form,.account-settings form{display:grid;gap:18px;margin:24px 0}.access-links{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin:22px 0}.access-links button{background:none;border:0;color:#dac186;padding:0;text-align:left;cursor:pointer}.access-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:#8495a7;font-size:12px}.access-divider:before,.access-divider:after{content:"";height:1px;flex:1;background:#ffffff18}.access-note{font-size:12px;border-top:1px solid #ffffff14;padding-top:20px}.account-message{padding:14px;border:1px solid #c3ac6c55;background:#c3ac6c12;color:#e4d19e}.campaign-hub{max-width:1160px;margin:auto;padding:0 36px}.hub-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:26px 0;border-bottom:1px solid #ffffff12}.hub-brand{color:#d4b570;text-decoration:none;letter-spacing:3px;display:flex;align-items:center;gap:12px;font-size:25px}.hub-brand span{font-size:13px}.hub-header>div{display:flex;gap:14px}.hub-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:48px 0 32px}.hub-welcome h1{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:12px 0}.hub-welcome p{color:#a5b4c6}.hub-tabs{display:flex;gap:8px;border-bottom:1px solid #ffffff18;margin:30px 0}.hub-tabs button{padding:16px 14px;background:none;border:0;border-bottom:2px solid transparent;color:#9eafc4;cursor:pointer;display:flex;gap:10px;align-items:center}.hub-tabs .active{color:#ead59d;border-bottom-color:#d3b36d}.hub-tabs span{font-size:10px;background:#ffffff0b;padding:3px 7px;border-radius:5px}.hub-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}.hub-card{display:flex;flex-direction:column;align-items:flex-start;min-height:290px;padding:26px!important}.hub-card .eyebrow{font-size:9px}.hub-card-icon{color:#bca164;font-size:38px;margin:22px 0 10px}.hub-card h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:5px 0}.hub-card p{line-height:1.6;color:#94a6bb;flex:1}.hub-card .wide{margin-top:18px}.hub-empty{text-align:center;padding:50px 24px!important;border-style:dashed!important;background:#ffffff02!important}.hub-empty>span{font-size:48px;color:#bda56b}.hub-empty p{color:#96a8bc;max-width:500px;margin:16px auto 24px;line-height:1.7}.hub-tools{margin:28px 0}.hub-tools summary,.hub-local summary{cursor:pointer;color:#bcae8c}.hub-tools form,.new-table form{display:grid;gap:18px;margin-top:20px}.new-table{margin:25px 0}.new-table form>div{display:flex;gap:12px}.pending-invite{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#bda56b!important}.hub-local{margin:30px 0;color:#94a6bb;font-size:13px}.hub-footer{color:#6f8194;text-align:center;font-size:11px;letter-spacing:1px;padding:40px 0}.online-navigation{display:flex;gap:16px;align-items:center;margin-left:auto}.online-navigation button{white-space:nowrap}.account-settings{max-width:650px;margin:40px auto}.account-settings h2{margin-top:30px}.account-access input,.campaign-hub input{width:100%}@media(max-width:700px){.account-access{grid-template-columns:1fr;padding:24px 18px;gap:15px}.access-art{padding:8px;text-align:center}.forge-sigil{font-size:40px}.access-art h1{font-size:26px}.access-art blockquote{display:none}.access-art>p{font-size:10px;letter-spacing:3px}.access-form{padding:26px!important}.campaign-hub{padding:0 18px}.hub-header{padding:20px 0}.hub-brand{letter-spacing:1px}.hub-brand span{font-size:10px}.hub-welcome{display:block;margin:30px 0}.hub-welcome>.gold{margin-top:16px}.hub-tabs{gap:0;overflow:auto}.hub-tabs button{padding:14px 10px;font-size:11px;white-space:nowrap;gap:6px}.pending-invite{display:block}.pending-invite .gold{margin-top:10px}.online-navigation{gap:8px}.online-navigation .outline{font-size:10px;padding:8px}.topbar>span:has(+.online-navigation){display:none}.hub-cards{grid-template-columns:1fr}}.character-editor{display:grid;gap:18px}.editor-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.roster-manager{margin-bottom:24px}.roster-manager .section-title{align-items:flex-start}.roster-manager summary,.spell-editor summary{cursor:pointer;color:#d4ba7f;padding:12px 0}.roster-manager .list-row{gap:16px;flex-wrap:wrap}.spell-editor form{display:grid;gap:12px;margin:14px 0}.player-assignment{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid #ffffff15}.player-assignment>div{flex:1;min-width:150px}.player-assignment small,.list-row>span>small{display:block;color:#95a5b5;margin-top:6px}.player-assignment select{min-width:160px;max-width:100%}.invite-result{padding:20px;border:1px solid #bda56b55;border-radius:8px;margin-top:18px}.invite-result button{margin-top:12px}.character-editor .grid-settings{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.roster-manager .section-title>div:first-child{flex:1}.roster-manager h2{margin:0}.stats>label{color:#cbbb90;font-size:12px;text-align:center;display:grid;gap:8px}.settings .list-row{gap:14px;flex-wrap:wrap}@media(max-width:700px){.roster-manager .section-title{display:block}.roster-manager .editor-actions{margin-top:12px}.player-assignment{align-items:flex-start}.player-assignment>label{width:100%}.player-assignment select{width:100%}.character-editor .stats{grid-template-columns:repeat(3,1fr)}}.sheet-rolls summary{cursor:pointer;color:#d4ba7f;padding:14px 0}.sheet-rolls details{border-top:1px solid #ffffff12}.sheet-rolls details>.gold{margin:16px 0}.skill-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.skill-config-grid>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:#ffffff04;border-radius:5px}.skill-config-grid label{display:flex;align-items:center;gap:8px;font-size:12px}.skill-config-grid button{white-space:nowrap;font-size:11px}.modal-backdrop{grid-template-columns:minmax(0,1fr)}.modal,.character-editor,.character-editor label{min-width:0}.character-editor input{width:100%;min-width:0}.character-editor .grid-settings{min-width:0}@media(max-width:420px){.character-editor .grid-settings{grid-template-columns:1fr}.character-editor .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.roster-manager .editor-actions button{max-width:100%}}.danger-btn{border:1px solid #be7960;background:#6e302933;color:#f2bfa9;padding:9px 14px;border-radius:5px;cursor:pointer}.danger-btn:hover{background:#9d463a55}.delete-character-confirm p{line-height:1.7;margin:14px 0}.delete-character-confirm strong{color:#efce8c}
