@charset "UTF-8";
:root{color-scheme:dark;--bg:#101715;--side:#111b18;--panel:#17211d;--panel2:#1c2822;--hover:#233329;--line:#2c3930;--text:#e6e9dc;--muted:#9ba899;--dim:#778875;--gold:#dabd82;--gold-bg:#332f21;--green:#9ec9a3;--green-bg:#203e2c;--red:#f2a49c;--red-bg:#3a2624;--shadow:0 24px 80px #0005;--radius:14px;font:14px/1.55 'Segoe UI',system-ui,sans-serif}
:root[data-theme=light]{color-scheme:light;--bg:#f2f3eb;--side:#e9ece1;--panel:#fcfcf6;--panel2:#f0f2e8;--hover:#e4e9dc;--line:#d6dccf;--text:#27372c;--muted:#5f705f;--dim:#788673;--gold:#8b662e;--gold-bg:#f4e7ce;--green:#2d6b46;--green-bg:#e0eddd;--red:#aa4238;--red-bg:#f8e2db;--shadow:0 24px 80px #39493420}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}a{color:var(--gold);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.25}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:36px;letter-spacing:-.8px}h2{font-size:18px;font-weight:600}h3{font-size:15px;font-weight:600}small{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.gold{color:var(--gold)}.green{color:var(--green)}.danger{color:var(--red)}.mono{font-variant-numeric:tabular-nums}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.loading{padding:50px}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--panel);padding:12px}.skip-link:focus{top:10px}
.app-shell{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--side);border-right:1px solid var(--line);padding:27px 17px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px;z-index:5}.brand{display:flex;gap:11px;align-items:center;padding:0 9px}.brand img{width:38px;height:38px}.brand-name{font:22px Georgia,serif;letter-spacing:.5px}.brand-sub{font-size:9px;letter-spacing:2.2px;text-transform:uppercase;color:var(--muted)}.nav-label{padding:0 14px;margin-bottom:9px;font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:var(--dim)}.nav-group{display:grid;gap:5px}.nav-item{background:none;border:0;color:var(--muted);display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:7px;width:100%;text-align:left;font-size:13px}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.active{background:var(--green-bg);color:var(--green)}.nav-item.active:after{content:'';width:5px;height:5px;border-radius:50%;background:var(--green);margin-left:auto}.sidebar-bottom{margin-top:auto;display:grid;gap:17px}.local-label{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:11px;padding:0 11px}.dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%}.character-switch{border-top:1px solid var(--line);padding-top:16px}.character-switch label{display:block;font-size:10px;color:var(--muted);margin:0 7px 5px;letter-spacing:1px;text-transform:uppercase}.character-switch select{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:9px}.mini-char{display:flex;gap:10px;align-items:center;padding:8px}.avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:50% 30%;border:1px solid var(--line);background:var(--green-bg);display:grid;place-items:center;font-family:Georgia,serif;color:var(--gold)}
.workspace{min-width:0}.topbar{min-height:73px;padding:16px 36px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.breadcrumb{color:var(--muted);font-size:12px;display:flex;gap:12px;align-items:center}.breadcrumb strong{font-weight:500;color:var(--text)}.topbar-actions{display:flex;gap:10px;align-items:center}.pill{border:1px solid var(--line);background:var(--panel);border-radius:50px;padding:6px 12px;font-size:11px;white-space:nowrap;color:var(--muted)}.pill .dot{margin-right:7px}main{max-width:1550px;margin:0 auto;padding:30px 36px 60px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);text-transform:uppercase;font-weight:600;margin-bottom:9px}.page-header p{color:var(--muted);margin-top:8px;font-size:13px}.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:7px;min-height:37px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:500;line-height:1.4;text-decoration:none;transition:background .15s,border .15s;white-space:nowrap}.btn:hover{background:var(--hover);border-color:var(--dim)}.btn.primary{background:var(--gold);color:#20291f;border-color:var(--gold);font-weight:650}.btn.primary:hover{filter:brightness(1.08)}.btn.green{background:var(--green-bg);color:var(--green);border-color:#42694a}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{color:var(--text);background:var(--hover)}.btn.icon-only{padding:8px;width:37px}.btn.small{padding:5px 9px;min-height:30px;font-size:11px}.btn .icon{width:16px;height:16px}.btn.danger{color:var(--red);background:var(--red-bg)}.btn.wide{width:100%}.badge{border-radius:4px;padding:3px 7px;display:inline-block;font-size:10px;letter-spacing:.3px;background:var(--panel2);color:var(--muted);line-height:1.5}.badge.gold{background:var(--gold-bg);color:var(--gold)}.badge.green{background:var(--green-bg);color:var(--green)}.badge.red{background:var(--red-bg);color:var(--red)}.notice{border:1px solid #685436;background:var(--gold-bg);border-radius:9px;display:flex;gap:11px;padding:13px 16px;color:var(--gold);margin-bottom:20px;font-size:12px;align-items:flex-start}.notice .icon{width:18px;height:18px;margin-top:1px}.notice p{flex:1}.notice strong{font-weight:600}.notice .btn{flex-shrink:0}.notice.error{border-color:var(--red);background:var(--red-bg);color:var(--red)}
.hero{position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(105deg,#203b2d 0%,#1d3026 64%,#242f24 100%);min-height:202px;border-radius:var(--radius);padding:29px 32px;margin-bottom:23px;color:#e6e9dc}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,#142b1a00 60%,#142b1a30)}.hero-copy{position:relative;z-index:2;max-width:70%}.hero h2{font:34px Georgia,serif;margin:7px 0 9px;letter-spacing:-.4px}.hero p{color:#b5c3ae;font-size:12px}.hero .eyebrow{color:#d8c99b}.hero-tags{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:21px}.hero-tags span{padding:3px 9px;border:1px solid #61705170;border-radius:4px;color:#c7d0bf;font-size:10px}.hero-image{position:absolute;right:0;top:-110px;width:39%;height:530px;object-fit:cover;object-position:center 30%;mask-image:linear-gradient(90deg,transparent,#000 32%);opacity:.87}.hero-mark{position:absolute;right:10%;top:15%;width:150px;height:150px;color:#798061;opacity:.15}.hero-mark .icon{width:100%;height:100%}.hero .level{position:absolute;right:24px;bottom:20px;z-index:3;color:#f0e3b6;background:#10271cc0;border:1px solid #d6c48c65;border-radius:8px;text-align:center;padding:8px 11px;line-height:1.2}.level b{font:23px Georgia;display:block}.level small{font-size:9px;color:inherit;letter-spacing:1px}
.stats-row{display:grid;grid-template-columns:1.65fr repeat(3,1fr);gap:14px;margin-bottom:25px}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-width:0}.stat-card{padding:20px}.card-label{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:7px}.card-label .icon{width:16px;height:16px;color:var(--gold)}.stat-number{font-size:36px;line-height:1.2;margin:14px 0 8px;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:-1px}.stat-number small{font-size:17px;font-weight:400;letter-spacing:0;color:var(--dim)}.stat-detail{font-size:11px;color:var(--muted)}.stat-click{display:block;width:100%;border:0;padding:0;background:none;text-align:left;color:inherit}.health-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.health-card{background:linear-gradient(130deg,var(--panel),var(--green-bg))}.health-bar{height:5px;overflow:hidden;border-radius:3px;background:var(--line);margin:13px 0 12px}.health-bar span{display:block;height:100%;background:var(--green);border-radius:3px}.health-bar.low span{background:var(--red)}.health-card .stat-number{margin:12px 0 0}.health-card .health-actions{display:flex;gap:6px}.health-actions .btn{min-height:29px;padding:5px 10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:23px}.stack{display:flex;flex-direction:column;gap:23px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-heading h2{font-size:16px}.section-heading p{font-size:11px;margin-top:4px;color:var(--muted)}.card-pad{padding:22px}.attack-row{display:flex;align-items:center;gap:14px;padding:19px 21px;border-bottom:1px solid var(--line)}.attack-row:last-child{border-bottom:0}.item-icon{width:43px;height:43px;background:var(--gold-bg);border:1px solid #7d6d423d;color:var(--gold);border-radius:10px;display:grid;place-items:center;flex-shrink:0}.attack-info{flex:1;min-width:0}.attack-info p{font-size:11px;margin-top:4px;color:var(--muted)}.attack-bonus{font-size:25px;font-variant-numeric:tabular-nums;color:var(--gold)}.attack-footer{padding:12px 20px;background:var(--panel2);border-radius:0 0 var(--radius) var(--radius);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.toggle{display:flex;gap:8px;align-items:center;background:none;border:0;color:var(--muted);font-size:11px;padding:4px 0}.toggle-track{display:block;width:29px;height:16px;background:var(--line);border-radius:10px;padding:3px}.toggle-track:after{content:'';display:block;width:10px;height:10px;background:var(--muted);border-radius:50%;transition:transform .15s}.toggle.on{color:var(--gold)}.toggle.on .toggle-track{background:var(--gold)}.toggle.on .toggle-track:after{background:#243327;transform:translateX(13px)}.save-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.save-button{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:15px 10px;text-align:left;color:var(--text)}.save-button:hover{background:var(--hover);border-color:var(--dim)}.save-button .icon{width:16px;color:var(--muted)}.save-button b{display:block;font-size:25px;font-weight:500;margin:5px 0}.save-button span{font-size:11px;color:var(--muted)}.resource-row{padding:14px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.resource-row:last-child{border:0;padding-bottom:0}.resource-row:first-child{padding-top:0}.resource-row h3{font-size:13px}.resource-row p{font-size:10px;color:var(--muted);margin-top:4px}.resource-count{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--gold);font-size:15px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-item{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:12px}.quick-item:hover{background:var(--hover)}.quick-item b{color:var(--gold);font-weight:500}.effect-chips{display:flex;gap:8px;flex-wrap:wrap}.effect-chip{background:var(--gold-bg);border:1px solid #71603f;border-radius:7px;color:var(--gold);padding:7px 10px;font-size:12px;display:flex;align-items:center;gap:7px}.effect-chip button{color:inherit;border:0;background:none;padding:0}.effect-chip .icon{width:14px;height:14px}.journal-teaser{border-left:2px solid var(--gold);padding-left:15px;margin:15px 0}.journal-teaser p{font-size:12px;color:var(--muted);margin-top:5px}.small-head{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--dim);margin-bottom:12px}.timeline-mini{display:grid;gap:17px}.timeline-event{display:flex;gap:11px;align-items:flex-start}.timeline-event .event-dot{width:7px;height:7px;border:1px solid var(--dim);border-radius:50%;margin-top:6px;flex-shrink:0}.timeline-event p{font-size:12px;overflow-wrap:anywhere}.timeline-event time{display:block;font-size:10px;color:var(--dim);margin-top:3px}.empty{padding:27px 20px;text-align:center;color:var(--muted)}.empty>.icon{width:30px;height:30px;opacity:.6;margin-bottom:12px}.empty h3{color:var(--text);font-size:14px;margin-bottom:7px}.empty p{font-size:12px;max-width:360px;margin:0 auto 14px}.empty .btn{margin-top:3px}
.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin:0 0 25px;overflow:auto}.tab{background:none;border:0;padding:12px 1px;color:var(--muted);font-size:12px;white-space:nowrap;border-bottom:2px solid transparent}.tab.active{color:var(--gold);border-bottom-color:var(--gold)}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.ability-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:25px}.ability{text-align:center;padding:18px 8px}.ability small{font-size:10px;letter-spacing:1px;text-transform:uppercase}.ability b{display:block;font-size:29px;font-weight:500;margin:5px 0;color:var(--gold)}.ability span{font-size:11px;color:var(--muted)}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-label{font-size:10px;color:var(--muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.8px}.detail-value{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.searchbar{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:0 12px;min-width:180px;flex:1}.searchbar .icon{width:17px;color:var(--dim)}.searchbar input{border:0;background:none;padding:10px 0;color:var(--text);width:100%;outline:0}.filter-row{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.filter-row select{background:var(--panel);border:1px solid var(--line);padding:10px;color:var(--text);border-radius:8px}.skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);overflow:hidden;border:1px solid var(--line);border-radius:12px}.skill-row{background:var(--panel);display:flex;align-items:center;gap:10px;padding:12px 17px;min-width:0}.skill-row .skill-name{flex:1;min-width:0}.skill-name strong{font-size:12px;font-weight:500}.skill-name small{display:block;font-size:10px}.skill-value{font-size:18px;color:var(--gold);min-width:33px;text-align:right}.feature-card{padding:19px 21px;margin-bottom:13px}.feature-card p{color:var(--muted);font-size:12px;margin-top:8px;white-space:pre-wrap}.feature-card footer{margin-top:12px;font-size:10px;color:var(--dim);display:flex;justify-content:space-between;align-items:center}.item-list{display:grid;gap:10px}.inventory-row{padding:15px 19px;display:flex;gap:15px;align-items:center}.inventory-info{flex:1;min-width:0}.inventory-info h3{font-size:13px;overflow-wrap:anywhere}.inventory-info p{font-size:11px;color:var(--muted);margin-top:4px}.item-quantity{display:flex;gap:6px;align-items:center;white-space:nowrap}.quantity{font-variant-numeric:tabular-nums;text-align:center;min-width:25px}.coins{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.coin b{font-size:24px;font-weight:500;color:var(--gold)}.coin span{display:block;font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:1px}.inventory-summary{display:flex;justify-content:space-between;gap:20px;padding:20px 23px;margin-bottom:24px;align-items:center;flex-wrap:wrap}.load-info{text-align:right;font-size:12px;color:var(--muted)}.load-info b{color:var(--text);font-size:21px;font-weight:500}.spell-slots{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:23px}.slot{padding:14px 18px;text-align:center;min-width:105px}.slot b{font-size:23px;color:var(--gold);display:block;margin:4px 0}.slot small{font-size:10px}.reading{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:var(--muted)}
.combat-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:23px}.turn-list{padding:8px}.participant{padding:13px 12px;border-radius:8px;display:flex;gap:11px;align-items:center;margin:5px 0;border:1px solid transparent}.participant.active{border-color:#708159;background:var(--green-bg)}.initiative-num{font-size:20px;width:33px;text-align:center;color:var(--gold);font-variant-numeric:tabular-nums}.participant-info{flex:1;min-width:0}.participant-info strong{font-size:12px;display:block}.participant-info small{font-size:10px}.combat-round{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid var(--line)}.combat-round b{font-size:18px;font-weight:500}.turn-hero{padding:23px;margin-bottom:22px;position:relative;overflow:hidden}.turn-hero h2{font:29px Georgia,serif;margin:8px 0}.turn-hero p{font-size:12px;color:var(--muted)}.action-tokens{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 17px}.action-token{background:var(--green-bg);color:var(--green);border:1px solid #527259;border-radius:7px;padding:10px 13px;display:flex;gap:8px;align-items:center;font-size:12px}.action-token.used{background:var(--panel2);color:var(--dim);border-color:var(--line);text-decoration:line-through}.turn-actions{display:flex;gap:8px;flex-wrap:wrap}.turn-note{font-size:11px;color:var(--dim);margin-top:13px}.combat-log{max-height:350px;overflow:auto}.journal-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:23px}.entry-card{padding:22px;margin-bottom:14px}.entry-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.entry-card h3{font:21px Georgia,serif;margin-bottom:10px}.entry-card p{font-size:13px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.entry-meta{margin-top:16px;display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.entity-row{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}.entity-row:last-child{border:0}.entity-row h3{font-size:12px}.entity-row p{font-size:11px;color:var(--muted);margin-top:4px}.visibility{display:flex;gap:5px;align-items:center;font-size:10px;color:var(--dim)}.visibility .icon{width:12px;height:12px}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.help-card{padding:20px}.help-card p{font-size:12px;color:var(--muted);margin:10px 0;white-space:pre-wrap}.help-card footer{font-size:10px;color:var(--dim)}details{border:1px solid var(--line);border-radius:9px;background:var(--panel);margin-bottom:11px}summary{cursor:pointer;padding:15px 18px;font-size:13px;font-weight:500}details .details-body{padding:0 18px 18px;font-size:12px;color:var(--muted)}.source-table{width:100%;border-collapse:collapse;font-size:11px}.source-table td,.source-table th{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;max-width:300px}.source-table th{color:var(--muted);font-weight:500}.source-table td{white-space:pre-wrap}.review-item{border-left:2px solid var(--gold);padding:15px 18px;margin-bottom:12px;background:var(--panel2);border-radius:0 8px 8px 0}.review-item h3{font-size:13px}.review-item p{font-size:12px;color:var(--muted);margin:8px 0 12px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.archive-card{padding:23px}.archive-card>.icon{color:var(--gold);width:25px;height:25px;margin-bottom:17px}.archive-card p{font-size:12px;color:var(--muted);margin:10px 0 20px}.file-row{display:flex;gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.file-row .icon{color:var(--gold)}.file-row div{flex:1}.file-row a{font-size:12px}.file-row p{font-size:11px;color:var(--muted)}
dialog{border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 50px);padding:0;box-shadow:var(--shadow);overflow:auto}dialog::backdrop{background:#050c08b0;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:21px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}.dialog-head h2{font:23px Georgia,serif}.dialog-body{padding:23px 24px}.dialog-intro{font-size:12px;color:var(--muted);margin-bottom:20px}.dialog-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--panel);z-index:2}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:block;min-width:0}.field>span{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.field input,.field textarea,.field select{display:block;width:100%;color:var(--text);background:var(--bg);border:1px solid var(--line);padding:10px 12px;border-radius:6px;min-height:40px}.field textarea{resize:vertical;line-height:1.6}.full{grid-column:1/-1}.check-field{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--muted);padding:5px 0}.check-field input{accent-color:var(--gold);margin-top:3px}.form-section{grid-column:1/-1;border-top:1px solid var(--line);padding-top:17px;margin-top:3px;font-size:12px;font-weight:600;color:var(--gold)}.field-note{font-size:11px;color:var(--dim);grid-column:1/-1}.form-error{color:var(--red);background:var(--red-bg);padding:10px 13px;margin-bottom:15px;border-radius:7px;font-size:12px;display:none}.form-error.visible{display:block}.roll-result{padding:23px;text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:11px;margin-top:18px}.roll-total{font-size:64px;font-weight:400;font-variant-numeric:tabular-nums;color:var(--gold);line-height:1.2}.roll-explain{font-size:12px;color:var(--muted);margin:8px 0}.roll-outcome{font-size:13px;color:var(--green)}.breakdown{display:grid;gap:9px;margin:15px 0}.breakdown-row{display:flex;justify-content:space-between;font-size:12px;padding-bottom:8px;border-bottom:1px solid var(--line);gap:15px}.breakdown-row span{color:var(--muted)}.roll-history{margin-top:22px;padding:17px;background:var(--panel2);border-radius:10px}.roll-history .roll-total{font-size:31px}.roll-history p{font-size:11px;color:var(--muted)}.list-checks{display:grid;grid-template-columns:1fr 1fr;gap:5px}#toast{position:fixed;left:calc(50% + 100px);bottom:24px;transform:translateX(-50%) translateY(15px);padding:11px 20px;background:var(--text);color:var(--bg);box-shadow:var(--shadow);border-radius:8px;font-size:12px;z-index:30;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:80vw}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.footer-note{color:var(--dim);font-size:10px;margin-top:30px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.global-error{padding:20px;margin:20px;border:1px solid var(--red)}
@media(min-width:1550px){main{padding-top:38px}.hero{min-height:220px}.hero h2{font-size:39px}.hero-image{width:37%;top:-115px;height:560px}}
@media(max-width:1180px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.brand-name{font-size:20px}.brand{gap:7px;padding:0 4px}.topbar{padding:16px 23px}main{padding:25px 23px 45px}.stats-row{grid-template-columns:1.4fr repeat(3,1fr);gap:10px}.stat-card{padding:16px}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(245px,1fr);gap:18px}.attack-row{padding:16px}.attack-info h3{font-size:13px}.combat-layout{grid-template-columns:250px minmax(0,1fr)}.archive-grid{grid-template-columns:1fr 1fr}.journal-grid{grid-template-columns:1fr}.journal-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hero{padding:25px}.hero-copy{max-width:75%}.hero h2{font-size:31px}.topbar .pill{display:none}}
@media(max-width:950px){.app-shell{grid-template-columns:75px minmax(0,1fr)}.sidebar{padding:24px 12px;align-items:center}.brand{padding:0}.brand-text,.nav-label,.nav-item span,.sidebar-bottom .local-label,.character-switch{display:none}.nav-item{padding:12px;width:47px;justify-content:center}.nav-item.active:after{display:none}.nav-group{gap:9px}.sidebar-bottom{width:100%}.sidebar-bottom .btn{width:100%;padding:9px}.sidebar-bottom .btn span{display:none}.brand img{width:41px;height:41px}.stats-row{grid-template-columns:repeat(4,1fr)}.health-top{align-items:flex-start}.health-top .badge{display:none}.stat-number{font-size:32px}.stat-card{padding:14px}.health-card{grid-column:span 1}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(220px,1fr)}.health-actions .btn{padding:5px 7px}.health-actions .btn span{font-size:10px}.attack-row{flex-wrap:wrap;gap:10px}.attack-info{min-width:140px}.attack-bonus{margin-left:auto}.ability-grid{gap:8px}.card-pad{padding:18px}.combat-layout{grid-template-columns:230px minmax(0,1fr)}#toast{left:calc(50% + 35px)}}
@media(max-width:760px){.topbar{padding:13px 18px;min-height:61px}.breadcrumb{font-size:11px;gap:7px}.topbar-actions{gap:5px}.topbar .btn span{display:none}.topbar .btn{padding:8px}.page-header{align-items:flex-start}.page-header h1{font-size:30px}.page-header .button-row .btn{font-size:11px;padding:8px 9px}main{padding:23px 18px 40px}.hero{padding:22px;min-height:193px}.hero-copy{max-width:79%}.hero h2{font-size:27px}.hero-image{width:46%;right:-4%;top:-50px;height:420px;opacity:.6}.hero-tags{gap:6px}.hero .level{right:15px;bottom:15px;padding:6px 8px}.hero .level b{font-size:20px}.stats-row{grid-template-columns:1.3fr 1fr;gap:12px}.dashboard-grid,.split-grid,.combat-layout{grid-template-columns:1fr}.stat-card{padding:17px}.stat-number{font-size:34px}.hero-copy p{max-width:80%}.dashboard-grid{gap:25px}.stack{gap:22px}.health-top .badge{display:inline}.ability-grid{grid-template-columns:repeat(3,1fr)}.skill-list{grid-template-columns:1fr}.help-grid{grid-template-columns:1fr}.archive-grid{grid-template-columns:1fr}.combat-layout .turn-list{display:flex;overflow:auto}.participant{min-width:210px}.combat-round{padding:10px 16px}.journal-side{grid-template-columns:1fr}.inventory-row{flex-wrap:wrap;padding:15px}.inventory-info{min-width:calc(100% - 65px)}.inventory-row>.button-row{margin-left:auto}.notice{flex-wrap:wrap}.notice p{min-width:75%}.notice .btn{margin-left:28px}.source-table{font-size:10px}.source-table td{padding:8px 6px}.page-header>.button-row{justify-content:flex-end}.footer-note{font-size:9px}}
@media(max-width:480px){.app-shell{grid-template-columns:1fr}.sidebar{height:61px;position:fixed;top:auto;bottom:0;left:0;right:0;flex-direction:row;padding:5px 7px;gap:0;justify-content:space-around;border-right:0;border-top:1px solid var(--line);background:var(--side)}.brand,.sidebar-bottom{display:none}.sidebar>.nav-container{display:contents}.nav-group{display:contents}.nav-item{width:42px;height:46px;padding:9px}.nav-item .icon{width:20px;height:20px}.nav-item[data-view=archive]{display:none}.workspace{padding-bottom:62px}main{padding:20px 14px 32px}.topbar{padding:12px 14px}.breadcrumb>span{display:none}.page-header{flex-wrap:wrap;gap:12px}.page-header h1{font-size:29px}.page-header p{font-size:12px}.page-header>.button-row{justify-content:flex-start}.hero{padding:20px 17px}.hero h2{font-size:26px;max-width:200px}.hero-copy{max-width:90%}.hero-copy p{font-size:11px;max-width:75%}.hero-tags span{font-size:9px;padding:2px 6px}.hero-image{width:53%;opacity:.6}.hero .level{display:none}.stats-row{gap:10px}.card-label{font-size:9px;letter-spacing:.7px}.stat-detail{font-size:10px}.stat-card{padding:14px}.save-grid{gap:8px}.section-heading h2{font-size:15px}.quick-grid{gap:8px}.form-grid,.details-grid{grid-template-columns:1fr}.form-grid .full,.form-section{grid-column:1}.dialog-body{padding:18px}.dialog-head{padding:17px 18px}.dialog-foot{padding:14px 18px}.dialog-head h2{font-size:21px}.coins{gap:19px}.load-info{text-align:left}.filter-row .searchbar{min-width:100%}.item-quantity{margin-left:0}.attack-info{min-width:110px}.attack-info p{font-size:10px}.attack-row{padding:14px}.attack-bonus{font-size:23px}.attack-row>.btn{padding:7px 9px}.attack-footer{font-size:10px;padding:12px 14px}.list-checks{grid-template-columns:1fr}#toast{left:50%;bottom:77px;max-width:92vw;width:max-content}.card-pad{padding:17px}.notice{padding:12px}.source-table td,.source-table th{max-width:150px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.btn,.filter-row,.tabs,.notice,dialog,#toast{display:none!important}.app-shell{display:block}main{padding:10px}.hero-image{display:none}.card{break-inside:avoid}body{color:#111;background:white}.muted,small{color:#444}.hero{background:white;color:#111}.hero p,.hero .eyebrow{color:#444}.dashboard-grid{grid-template-columns:1fr 1fr}}

/* Identidad de campaña y guía de ciudades. */
.brand img{flex-shrink:0}
.brand-text{min-width:0}
.brand-name{line-height:1.12;letter-spacing:.2px}
.brand-sub{margin-top:5px;letter-spacing:1.1px}
.cities-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.city-card{padding:26px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.city-card-top{width:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.city-kind{display:inline-flex;align-items:center;gap:9px;font-size:11px;color:var(--muted);letter-spacing:.6px}
.city-kind .icon{width:18px;height:18px;color:var(--gold)}
.city-card h2{font:28px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.3px}
.city-description{color:var(--muted);line-height:1.8;max-width:85ch}
.city-landmarks{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:auto 0 0;padding:5px 0 0}
.city-landmarks li{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:4px 9px;font-size:11px;color:var(--muted)}
.city-current{grid-column:1/-1;border-color:var(--green);background:linear-gradient(115deg,var(--green-bg),var(--panel) 75%)}
.city-current h2{font-size:34px}
.city-current .city-kind,.city-current .city-kind .icon{color:var(--green)}
@media(max-width:1180px){.brand-name{font-size:20px}.brand-sub{font-size:8px;letter-spacing:.8px}}
@media(max-width:760px){.cities-grid{grid-template-columns:1fr;gap:16px}.city-card{padding:22px}.city-card h2{font-size:27px}.city-current h2{font-size:31px}}
@media(max-width:480px){.nav-item{width:calc((100vw - 14px)/8);padding:8px 2px}.city-card{padding:20px}.city-description{font-size:13px}}
@media print{.cities-grid{grid-template-columns:1fr 1fr}.city-current{background:white}}

/* Acceso web en pantallas táctiles y dispositivos con área segura. */
html{-webkit-text-size-adjust:100%}
.loading h1{font-size:30px;margin-bottom:12px}.loading p{color:var(--muted);max-width:50ch;margin-bottom:18px}
@media(min-width:481px){.sidebar{overflow-y:auto}}
@media(max-width:480px){.sidebar{height:calc(61px + env(safe-area-inset-bottom,0px));padding-bottom:calc(5px + env(safe-area-inset-bottom,0px))}.workspace{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}#toast{bottom:calc(77px + env(safe-area-inset-bottom,0px))}}
@media(pointer:coarse){.btn{min-height:42px}.nav-item{min-height:44px}input,textarea,select{font-size:16px}}

/* Encuadre de los retratos originales de los nuevos héroes. */
.hero[data-character=faelon] .hero-image,.hero[data-character=hrunir] .hero-image,.hero[data-character=sylvana] .hero-image{top:0;height:100%;object-position:center 15%}

/* Mesa de grupo y mapa de la escena. */
.table-party{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}
.party-card{padding:16px;min-width:0;display:flex;flex-direction:column;gap:12px}
.party-card.is-active{border-color:var(--gold)}
.party-head{display:flex;gap:10px;align-items:center;min-width:0}.party-head>div{min-width:0}.party-head h2{font-size:14px;line-height:1.25}.party-head small{font-size:10px}.party-head .avatar{width:34px;height:34px;flex-shrink:0}
.party-location{display:flex;gap:5px;align-items:flex-start;color:var(--muted);font-size:10px}.party-location .icon{width:13px;height:13px;flex-shrink:0;margin-top:2px}
.party-stats{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:5px}.party-stats>div,.party-stats>button{background:var(--panel2);border:1px solid var(--line);border-radius:7px;text-align:center;padding:7px 2px;color:var(--text)}
.party-stats small,.party-stats b{display:block}.party-stats small{font-size:9px}.party-stats b{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.party-stats>button b{font-size:12px}
.party-abilities{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.party-abilities span{text-align:center;min-width:0}.party-abilities small{display:block;font-size:8px}.party-abilities b{font-size:11px}.party-abilities i{display:block;font-style:normal;color:var(--gold);font-size:10px;font-weight:400}
.party-saves{display:flex;gap:5px}.party-saves button{border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--muted);padding:5px 3px;font-size:10px;flex:1}.party-saves b{color:var(--text)}
.party-defense{font-size:10px;color:var(--muted);line-height:1.6}.party-more{border-top:1px solid var(--line);padding-top:9px}.party-more summary{font-size:11px;color:var(--gold);cursor:pointer}.party-more-body{max-height:270px;overflow:auto;font-size:11px;padding-top:10px;display:grid;gap:9px;overflow-wrap:anywhere}.party-skill-grid{display:grid;gap:5px}.party-skill-grid span{display:flex;justify-content:space-between;gap:8px}.party-skill-grid b{color:var(--gold);white-space:nowrap}.party-actions{margin-top:auto}.party-actions .btn{font-size:10px;padding:6px 9px}
.scene-location-note{display:flex;gap:9px;align-items:center;color:var(--muted);margin-bottom:18px;font-size:12px}.scene-location-note .icon{color:var(--gold);width:17px}
.scene-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:22px;align-items:start}
.scene-board{overflow:hidden}.scene-board-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;gap:10px}.scene-board-head h2{font-size:18px}.scene-board-head p{font-size:11px;color:var(--muted)}
.scene-map{position:relative;width:min(100%,560px);aspect-ratio:199/217;margin:0 auto;background:#343c33;isolation:isolate;user-select:none}
.scene-map-image{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;pointer-events:none}
.scene-token{position:absolute;z-index:2;width:10%;aspect-ratio:1;border-radius:50%;border:3px solid var(--token-color,var(--green));background:var(--panel);color:#fff;padding:0;transform:translate(-50%,-50%);box-shadow:0 2px 7px #000b;touch-action:none;cursor:grab;display:grid;place-items:center;transition:box-shadow .12s}
.scene-token:before{content:'';position:absolute;inset:-5px;border-radius:50%}.scene-token img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;border-radius:50%;pointer-events:none}.scene-token b{font-size:clamp(12px,1.6vw,20px);color:var(--token-color)}.scene-token>span{position:absolute;top:calc(100% + 2px);left:50%;transform:translateX(-50%);font-size:clamp(8px,.8vw,11px);font-weight:600;background:#101715ed;color:#fff;border-radius:4px;padding:2px 4px;white-space:nowrap;pointer-events:none;line-height:1.2}.scene-token.selected{z-index:4;outline:3px solid var(--gold);outline-offset:3px}.scene-token:active{cursor:grabbing}.scene-token.enemy{background:#411f18}
.scene-map-controls{padding:16px 18px 5px;display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.scene-map-controls label{display:grid;gap:5px;font-size:10px;color:var(--muted);flex:1;min-width:150px}.scene-map-controls select{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:8px;color:var(--text);min-width:0;width:100%}.map-arrows{display:flex;gap:5px}.map-arrows .btn{min-width:33px;justify-content:center;padding:7px}
.scene-help{font-size:11px;color:var(--muted);line-height:1.7;margin-top:10px}.scene-board>.scene-help,.scene-board>.scene-source{padding:0 18px}.scene-source{font-size:10px;color:var(--dim);line-height:1.7;margin-top:9px}.scene-board>.scene-source{padding-bottom:16px}
.scene-creatures>.section-heading{margin-bottom:14px}.scene-creatures>.section-heading p{color:var(--muted);font-size:11px}.scene-npc-list{display:grid;gap:12px}.scene-npc{padding:16px;display:grid;gap:10px}.scene-npc.is-enemy{border-color:#855342}.scene-npc-head{display:flex;align-items:center;gap:10px}.scene-npc-head h3{font-size:16px}.scene-npc-head small{font-size:10px}.npc-monogram{width:34px;height:34px;border-radius:50%;border:2px solid var(--npc-color);display:grid;place-items:center;flex-shrink:0;color:var(--npc-color);font-weight:600}.npc-stats{display:grid;grid-template-columns:2fr 1fr 1fr;gap:7px}.npc-stats>span,.npc-stats>button{border:1px solid var(--line);border-radius:6px;padding:6px;background:var(--panel2);color:var(--text);text-align:center}.npc-stats small,.npc-stats b{display:block}.npc-stats small{font-size:9px}.npc-stats b{font-size:14px}.npc-edition{font-size:10px;color:var(--gold)}
.scene-combat-sheets{margin-top:28px}.scene-combat-sheets .scene-npc-list{grid-template-columns:repeat(3,minmax(0,1fr))}.scene-back{margin-bottom:18px}.npc-sheet{display:grid;gap:15px}.npc-sheet p{font-size:12px;line-height:1.7;white-space:pre-line}.npc-sheet h3{margin-top:5px;font-size:15px}.npc-sheet-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.npc-sheet-stats>div{border:1px solid var(--line);padding:9px;border-radius:7px}.npc-sheet-stats small,.npc-sheet-stats b{display:block}.npc-sheet-stats b{font-size:18px}.npc-sheet-abilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;font-size:11px;color:var(--muted)}.npc-sheet-abilities b{color:var(--text)}.npc-attack{display:flex;gap:12px;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:12px;border-radius:8px}.npc-attack p{font-size:11px;color:var(--muted)}
@media(max-width:1200px){.table-party{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-columns{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr)}.party-abilities b{font-size:12px}}
@media(max-width:900px){.scene-columns{grid-template-columns:1fr}.scene-npc-list{grid-template-columns:repeat(3,minmax(0,1fr))}.scene-npc{padding:13px}.scene-npc-head{flex-wrap:wrap}.scene-combat-sheets .scene-npc-list{grid-template-columns:1fr}.scene-map{width:min(100%,550px)}}
@media(max-width:650px){.scene-npc-list{grid-template-columns:1fr}.table-party{gap:10px}.party-card{padding:12px;gap:9px}.party-head{gap:7px}.party-head .avatar{width:28px;height:28px}.party-head h2{font-size:12px;overflow-wrap:anywhere}.party-head small{font-size:9px}.party-location{font-size:8px}.party-stats b{font-size:12px}.party-abilities b{font-size:10px}.party-defense{font-size:9px}.party-saves{gap:3px}.party-saves button{font-size:9px}.party-actions .btn{font-size:9px;padding:5px 7px}.scene-board-head{padding:15px}.scene-board-head h2{font-size:16px}.scene-board-head .btn{font-size:10px}.npc-attack{flex-wrap:wrap}.scene-combat-sheets>.card{padding:15px}}
@media print{.table-party{grid-template-columns:repeat(2,1fr)}.scene-columns{display:block}.scene-map-controls{display:none}.scene-token{print-color-adjust:exact}}

/* Preparación privada, proyección de Mesa y manuales. */
.workspace-shortcuts{justify-content:flex-end;margin-bottom:18px}.scene-grid{background-color:var(--panel2);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:10% 10%}.scene-grid-label{position:absolute;top:12px;left:12px;color:var(--dim);font-size:12px}.scene-token:disabled{opacity:1;cursor:default}
.director-lock{max-width:660px;margin:35px auto;padding:42px;display:grid;justify-items:center;gap:20px;text-align:center}.director-lock-mark{width:66px;height:66px;background:var(--green-bg);border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--gold)}.director-lock-mark .icon{width:28px;height:28px}.director-lock h2{font:27px Georgia,serif}.director-lock p{font-size:14px;color:var(--muted);max-width:440px;line-height:1.8}.director-lock small{max-width:460px;color:var(--dim);font-size:11px;line-height:1.8}.director-tools{margin-bottom:18px}.director-list{display:grid;gap:16px}.director-encounter{display:flex;padding:24px;gap:22px}.director-order{font:32px Georgia,serif;color:var(--gold);opacity:.6}.director-encounter-body{display:grid;gap:12px;flex:1;min-width:0}.director-encounter h2{font:26px Georgia,serif}.director-encounter p,.director-encounter small{color:var(--muted);font-size:12px;line-height:1.7}.director-preview{white-space:pre-line}.director-empty{display:grid;gap:16px;justify-items:start}.director-empty p{color:var(--muted);max-width:640px;font-size:14px;line-height:1.8}.director-archived{margin-top:25px}.director-detail{display:grid;gap:16px}.director-detail h3{font-size:15px;color:var(--gold)}.director-detail .reading{font-size:13px}.director-secret{padding:15px;background:var(--panel2);border-left:2px solid var(--gold);border-radius:4px}.director-map-preview{max-height:300px;max-width:100%;object-fit:contain;display:block;border:1px solid var(--line);border-radius:8px;margin:10px auto}.director-detail .resource-row{flex-wrap:wrap}
.pdf-library{display:grid;gap:14px;margin:22px 0}.pdf-file-card{display:flex;gap:20px;align-items:center;padding:22px}.pdf-file-card>div:nth-child(2){flex:1;min-width:0}.pdf-file-card h2{font-size:16px;overflow-wrap:anywhere}.pdf-file-card p{font-size:12px;color:var(--muted);margin-top:8px}.pdf-file-icon{width:47px;height:60px;border:1px solid var(--line);border-radius:5px;background:var(--green-bg);display:grid;place-items:center;font-size:12px;color:var(--gold);flex-shrink:0}.pdf-empty{display:grid;gap:18px;justify-items:start}.pdf-empty p{color:var(--muted);line-height:1.8;max-width:560px}
.pdf-window{position:fixed;z-index:30;right:18px;bottom:18px;width:min(760px,calc(100vw - 40px));height:min(780px,calc(100dvh - 40px));min-width:330px;min-height:340px;resize:both;overflow:hidden;background:var(--panel);border:1px solid var(--gold);border-radius:12px;box-shadow:0 18px 90px #000a;display:flex;flex-direction:column}.pdf-window.is-maximized{inset:12px;width:auto;height:auto;resize:none}.pdf-window-head{padding:12px 16px;display:flex;align-items:center;gap:12px;justify-content:space-between;background:var(--side);border-bottom:1px solid var(--line)}.pdf-window-head strong{font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pdf-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--line);font-size:11px}.pdf-toolbar label{display:flex;align-items:center;gap:6px;color:var(--muted)}.pdf-toolbar input{width:62px;padding:7px;background:var(--panel2);border:1px solid var(--line);border-radius:5px;color:var(--text)}.pdf-toolbar .btn{padding:6px 9px;min-width:30px;justify-content:center}.pdf-page-scroll{overflow:auto;flex:1;min-height:0;padding:16px;background:#3a4140;position:relative}.pdf-page-scroll canvas{display:block;margin:auto;background:#fff;box-shadow:0 3px 12px #0006}.pdf-page-scroll canvas[hidden]{display:none}.pdf-page-scroll>[role=status]{color:#fff;font-size:13px;line-height:1.7;padding:12px}.pdf-window-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--line)}.pdf-window-foot small{color:var(--muted);font-size:10px}
.player-table{max-width:1400px;margin:auto;padding:30px;display:grid;gap:22px}.player-table>header{display:flex;gap:18px;align-items:center}.player-table>header img{width:46px}.player-table>header span{font-size:11px;letter-spacing:1px;color:var(--gold)}.player-table h1{font:34px Georgia,serif;margin:8px 0}.player-table header p{font-size:12px;color:var(--muted)}.player-heroes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.player-heroes article{padding:18px;display:grid;gap:9px}.player-heroes h2{font-size:15px}.player-heroes p,.player-heroes small{font-size:11px;color:var(--muted)}.player-heroes strong{color:var(--text)}.player-table .scene-board{max-width:900px;width:100%;margin:auto}.player-table .scene-map{width:min(100%,700px)}.player-table .scene-source{padding-top:10px}.player-narrative{max-width:900px}.player-actors{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(max-width:950px){.player-heroes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.sidebar{overflow-x:auto;justify-content:flex-start}.nav-item{flex:0 0 44px;width:44px}.director-lock{padding:27px 20px;margin:15px 0}.director-encounter{padding:18px;gap:12px}.director-order{font-size:25px}.director-encounter h2{font-size:23px}.pdf-file-card{padding:16px;gap:12px;flex-wrap:wrap}.pdf-file-card>.button-row{margin-left:auto}.pdf-window{inset:8px 8px calc(75px + env(safe-area-inset-bottom,0px));width:auto;height:auto;min-width:0;resize:none}.pdf-window.is-maximized{inset:0;bottom:0;border-radius:0}.pdf-toolbar{gap:5px}.pdf-window-foot small{display:none}.pdf-window-head{padding:9px}.pdf-window-head .btn{font-size:10px}.pdf-page-scroll{padding:8px}.player-table{padding:18px;gap:18px}.player-table h1{font-size:27px}.player-heroes{gap:10px}.player-heroes article{padding:13px}.player-heroes h2{font-size:13px}}
@media print{.workspace-shortcuts,.pdf-window,.director-tools{display:none!important}.player-table{padding:0}}

.roll-dialog{width:min(470px,calc(100vw - 24px));max-height:calc(100dvh - 26px)}.roll-dialog .dialog-head{padding:15px 20px}.roll-dialog .dialog-head h2{font:22px Georgia,serif}.roll-dialog .dialog-body{padding:16px 20px}.roll-dialog .dialog-foot{padding:12px 20px}.roll-formula-summary{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);margin-bottom:14px;font-size:12px;color:var(--muted)}.roll-formula-summary strong{font-size:19px;color:var(--gold);font-variant-numeric:tabular-nums}.roll-primary-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.roll-primary-fields .field{min-width:0}.roll-primary-fields .field span{font-size:11px}.roll-dialog .field input,.roll-dialog .field select{padding:8px 10px}.roll-dialog .check-field{font-size:11px;margin:8px 0}.roll-dialog .roll-advanced{margin:12px 0 0}.roll-dialog .roll-advanced summary{font-size:11px;padding:9px 12px;color:var(--muted)}.roll-dialog .roll-advanced .details-body{padding:8px 12px 12px;gap:11px}.roll-dialog .roll-result{padding:16px 6px 2px;margin-top:10px;border-top:1px solid var(--line);text-align:center}.roll-dialog .roll-explain{font-size:11px;line-height:1.6}.roll-dialog .roll-outcome{font-size:12px;margin-top:8px}.roll-result-total{display:flex;gap:10px;align-items:baseline;justify-content:center;margin:6px 0}.roll-result-total small{font-size:11px;color:var(--muted)}.roll-result-total strong{font:34px Georgia,serif;color:var(--gold)}
.dice-animation{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;margin:0 auto 8px;perspective:500px}.dice-tile{position:relative;width:73px;height:84px;flex:0 0 73px;animation:die-tumble .62s cubic-bezier(.2,.7,.2,1) var(--die-delay,0ms) both}.dice-tile svg{width:100%;height:100%;filter:drop-shadow(0 5px 5px #0005)}.die-body{fill:var(--green-bg);stroke:var(--gold);stroke-width:2}.die-facets{fill:none;stroke:var(--gold);stroke-width:1;opacity:.5}.die-face{position:absolute;top:36%;left:0;right:0;text-align:center;font:700 26px Georgia,serif;line-height:1;color:var(--text);animation:die-face-in .62s ease-out var(--die-delay,0ms) both}.dice-tile small{position:absolute;bottom:-1px;left:0;right:0;text-align:center;font-size:9px;color:var(--muted);background:var(--panel);width:max-content;margin:auto;padding:1px 4px;border-radius:4px}.die-square{position:absolute;inset:9px 4px 10px;border:2px solid var(--gold);border-radius:12px;background:var(--green-bg);box-shadow:0 4px 7px #0004}.dice-tile.is-natural-20 .die-body{fill:#3c5735}.dice-more{font-size:11px;color:var(--muted)}.is-physical .dice-tile,.is-physical .die-face{animation:none}
@keyframes die-tumble{0%{transform:translateY(-15px) rotateX(100deg) rotateZ(-40deg) scale(.75);opacity:.3}38%{transform:translateY(3px) rotateX(-18deg) rotateZ(20deg) scale(1.08);opacity:1}70%{transform:translateY(-3px) rotateX(9deg) rotateZ(-8deg)}100%{transform:translateY(0) rotateX(0) rotateZ(0)}}@keyframes die-face-in{0%,35%{opacity:0}100%{opacity:1}}
.initiative-panel{align-self:start;overflow:hidden}.combat-layout .turn-list{display:block;position:relative;max-height:560px;max-height:min(62dvh,560px);overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;overscroll-behavior:contain}.combat-layout .participant{min-width:0;width:auto}.session-history{margin-top:27px;padding:22px}.session-history>.section-heading{margin-bottom:12px;align-items:center}.session-history h2{display:flex;gap:7px;align-items:center;font-size:17px}.session-history h2 .icon{color:var(--gold);width:18px}.session-history .section-heading p,.session-history .section-heading>small{font-size:10px;color:var(--muted)}.session-history-list{max-height:390px;overflow:auto;padding-right:8px;overscroll-behavior:contain}.session-event{display:flex;gap:13px;padding:14px 0;border-top:1px solid var(--line);font-size:12px}.session-event>div{flex:1;min-width:0}.session-event-icon{color:var(--gold);padding-top:3px}.session-event-icon .icon{width:17px;height:17px}.session-event-meta{display:flex;gap:12px;align-items:baseline;justify-content:space-between;margin-bottom:6px}.session-event-meta strong{font-size:11px}.session-event-meta time{font-size:10px;color:var(--dim);white-space:nowrap}.session-event p{color:var(--muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere}.history-empty{font-size:12px;color:var(--muted);padding:14px 0}
@media(max-width:760px){.combat-layout .turn-list{display:block;max-height:340px}.combat-layout .participant{min-width:0}.session-history{padding:17px}.session-event-meta{flex-wrap:wrap;gap:4px}.session-history .section-heading{flex-wrap:wrap;gap:8px}}
@media(max-width:480px){.roll-dialog .roll-primary-fields{grid-template-columns:1fr 1fr}.roll-dialog .dialog-body{padding:13px 16px}.roll-dialog .dialog-head{padding:13px 16px}.roll-dialog .dialog-head h2{font-size:20px}.roll-dialog .dialog-foot{padding:11px 16px}.roll-dialog .roll-primary-fields input{font-size:16px;min-width:0}.roll-dialog .form-grid{grid-template-columns:1fr}.dice-tile{width:63px;height:74px;flex-basis:63px}.die-face{font-size:24px}.roll-result-total strong{font-size:31px}}
@media(prefers-reduced-motion:reduce){.dice-tile,.die-face{animation:none}.combat-layout .turn-list{scroll-behavior:auto}}

.dice-drop-stage,.dice-drop-stage[popover]{position:fixed;inset:0;width:100vw;height:100dvh;margin:0;padding:0;border:0;background:transparent;pointer-events:none;overflow:hidden;z-index:10000;opacity:1;transition:opacity .17s ease-out}.dice-drop-stage.is-finished{opacity:0}.dice-drop-stage canvas{display:block;pointer-events:none}.dice-results{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin-bottom:10px}.dice-value{display:flex;gap:7px;align-items:center;padding:5px 10px;border-radius:7px;background:var(--green-bg);border:1px solid var(--line)}.dice-value small{font-size:10px;color:var(--muted)}.dice-value b{font-size:17px;color:var(--text)}.dice-value.natural-max{border-color:var(--gold);box-shadow:0 0 14px #dfbd6530}.roll-dialog .roll-result-total strong{font-size:58px;font-weight:700;line-height:1.05;text-shadow:0 0 22px #dfbd6524}.roll-dialog .roll-result-total{margin:6px 0 12px}.roll-result-total small{font-size:12px;text-transform:uppercase;letter-spacing:1px}.awaiting-roll .roll-result{min-height:120px;position:relative}.awaiting-roll .roll-result>*{visibility:hidden}.awaiting-roll .roll-result:after{content:'Lanzando dados…';position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:var(--gold)}.session-event-result{display:flex;gap:14px;align-items:center}.history-roll-total{flex-shrink:0;min-width:62px;min-height:60px;display:grid;place-items:center;padding:7px 10px;border:1px solid #b49a57;background:var(--green-bg);border-radius:10px;font:700 30px Georgia,serif;color:var(--gold);font-variant-numeric:tabular-nums}.history-roll-total.is-maximum{border-color:#a5d18b;color:#c7efa5;background:#2b4329;box-shadow:0 0 14px #76933d20}.history-roll-total.is-minimum{border-color:#c68568;color:#f0b99d;background:#3e2922}
@media(max-width:480px){.roll-dialog .roll-result-total strong{font-size:51px}.history-roll-total{min-width:53px;min-height:53px;font-size:27px}.session-event-result{gap:10px}}
@media(prefers-reduced-motion:reduce){.dice-drop-stage{display:none}}

.mobile-workspace-tools{display:none}@media(max-width:480px){.mobile-workspace-tools{display:contents}.topbar-actions{gap:3px}.topbar .btn{padding:7px}.topbar .icon{width:18px;height:18px}}

.mobile-nav-more{display:none}.participant-tools{display:flex;gap:2px;flex-shrink:0}.participant-tools .btn{padding:7px}.combat-layout .turn-list{touch-action:pan-y;overscroll-behavior-y:auto;scroll-behavior:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.sidebar{touch-action:pan-y;-webkit-overflow-scrolling:touch}.initiative-result{display:flex;align-items:center;gap:14px;justify-content:space-between;text-align:left;padding:9px 0;border-bottom:1px solid var(--line)}.initiative-result>div{display:grid;gap:4px;min-width:0}.initiative-result strong{font-size:12px}.initiative-result small{font-size:10px;color:var(--muted)}.initiative-result>b{font:700 27px Georgia,serif;color:var(--gold)}.initiative-results{max-height:55dvh;overflow:auto}
.scene-token{width:var(--token-size,10%)}.scene-grid-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:6;color:#f6edc250}.scene-map.scene-grid{background-image:none}.scene-map-tools{padding:13px 18px 0;flex-wrap:wrap}.scene-measure{margin-left:auto;font-size:18px;font-weight:700;color:var(--gold)}.ruler-line{stroke:#ffe18f;stroke-linecap:round;filter:drop-shadow(0 1px 2px #000)}.ruler-point{fill:#ffe18f;stroke:#11261b;stroke-width:2}.scene-map.is-measuring{cursor:crosshair}.is-measuring .scene-token{touch-action:pan-y;cursor:crosshair}.scene-token:disabled{pointer-events:none}.scene-board>.ruler-help{padding:0 18px;color:var(--gold)}.dice-drop-stage{transition-duration:.25s}
@media(max-width:950px){.combat-layout{grid-template-columns:1fr}.combat-layout .turn-list{max-height:360px}}
@media(max-width:480px){.sidebar{overflow:visible;justify-content:space-around;z-index:40;height:calc(72px + env(safe-area-inset-bottom,0px));padding-top:4px;padding-bottom:calc(5px + env(safe-area-inset-bottom,0px))}.sidebar>.nav-secondary{display:none}.sidebar>.nav-primary{display:contents}.sidebar .nav-item{flex:1 1 0;width:0;min-width:0;height:56px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:6px 1px}.sidebar .nav-item span{display:block;font-size:9px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.sidebar .nav-item .icon{width:20px;height:20px}.mobile-nav-more{position:relative;display:block;flex:1 1 0;min-width:0;margin:0;border:0;background:none}.mobile-nav-more>summary{height:56px;padding:6px 1px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:9px;color:var(--muted);list-style:none}.mobile-nav-more>summary::-webkit-details-marker{display:none}.mobile-nav-more>nav{position:absolute;bottom:calc(100% + 15px);right:0;width:230px;max-height:55dvh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:7px;box-shadow:0 -8px 40px #0008;touch-action:pan-y}.mobile-nav-more>nav .nav-item{width:100%;height:auto;min-height:44px;flex-direction:row;justify-content:flex-start;gap:12px;padding:11px 13px}.mobile-nav-more>nav .nav-item span{font-size:13px}.mobile-nav-more[open]>summary{color:var(--gold)}.workspace{padding-bottom:calc(85px + env(safe-area-inset-bottom,0px))}.pdf-window{bottom:calc(86px + env(safe-area-inset-bottom,0px))}.pdf-window.is-maximized{bottom:0}.initiative-results{max-height:54dvh}}

.interactive-turn{margin:18px 0 22px;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.interactive-turn>.button-row{gap:9px}.interactive-turn .turn-note{margin-bottom:0}.strike-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px;margin-top:13px;font-size:12px;color:var(--gold)}.strike-summary.is-resolved{color:var(--green)}.bestiary-list{max-height:55dvh;overflow:auto;margin-top:14px;touch-action:pan-y;-webkit-overflow-scrolling:touch}.bestiary-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.bestiary-row[hidden]{display:none}.bestiary-row strong{display:block;font-size:14px}.bestiary-row small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.bestiary-row .button-row{flex-shrink:0}.npc-original-text{white-space:pre-line;font-size:13px;line-height:1.7}.movement-notice{position:sticky;top:10px;z-index:12;background:var(--panel);box-shadow:0 4px 22px #0003;flex-wrap:wrap;justify-content:space-between}.movement-notice strong{color:var(--gold)}.movement-notice p{margin:4px 0}.movement-notice .button-row{flex-shrink:0}@media(max-width:480px){.interactive-turn{padding:12px}.interactive-turn .btn{flex:1;justify-content:center;padding:10px;font-size:11px}.bestiary-row{align-items:flex-start;gap:8px}.bestiary-row .button-row{flex-direction:column;gap:3px}.bestiary-row .btn{padding:7px 10px}.movement-notice{position:static}}
