.dm-view-switch{display:inline-flex;flex-wrap:wrap;gap:4px;padding:5px;border:1px solid var(--line);background:var(--surface);border-radius:13px;margin:18px 0 24px}
.dm-view-switch button{display:flex;align-items:center;justify-content:center;gap:9px;border-radius:9px;padding:12px 18px;font-size:12px;min-height:44px;color:var(--muted)}
.dm-view-switch button[aria-pressed=true]{background:var(--green);color:var(--surface)}
.dm-view-switch .icon{width:17px;height:17px}
.dm-workspace{min-width:0}
.dm-workspace-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px;flex-wrap:wrap}
.dm-eyebrow{display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:600}
.dm-eyebrow .icon{width:15px;height:15px}
.dm-tabs{overflow:auto;margin-bottom:26px;gap:4px;scrollbar-width:thin}
.dm-tabs .tab{font-size:11px;gap:7px;padding:13px 12px;white-space:nowrap;flex-shrink:0}
.dm-tabs .icon{width:16px;height:16px}
.dm-mobile-tabs{display:none}
.dm-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:22px 0;flex-wrap:wrap}
.dm-section-heading h2{font-size:34px;margin:0 0 8px}.dm-section-heading h3{font-size:29px;margin:0 0 6px}
.dm-section-heading p{font-size:12px;line-height:1.65;color:var(--muted);margin:0;max-width:600px}
.dm-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.dm-actions .btn{white-space:normal;min-width:0;min-height:40px;line-height:1.4}
.dm-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;background:radial-gradient(ellipse at top right,#78917c33,transparent 70%),linear-gradient(140deg,#385e4d,#1c3f32);color:#eff0e5;border:1px solid #adc29850;border-radius:24px;padding:34px 36px;margin-bottom:23px;overflow:hidden}
.dm-hero>div:first-child{min-width:0}.dm-hero .eyebrow{font-size:10px;color:#bfcfaf;letter-spacing:.15em}
.dm-hero h2{font-size:44px;line-height:1.12;margin:15px 0 12px}
.dm-hero p{font-size:13px;line-height:1.7;color:#d1daca;max-width:530px;margin-bottom:23px}
.dm-hero .btn{color:#eff0e5;border-color:#c5d0b14d;background:#b7c79c0a}
.dm-hero .btn.primary{background:#c0d0a0;border-color:#c0d0a0;color:#213c2e}
.dm-hero-icon{flex:0 0 130px;display:grid;place-items:center;height:130px;position:relative;border:1px solid #c2ceae38;border-radius:50%;box-shadow:0 0 0 16px #b9c69f08,0 0 0 32px #b9c69f05;color:#c0d0a0}
.dm-hero-icon .icon{width:72px;height:72px;stroke-width:1.1}
.dm-guidance{border:1px solid var(--line);border-radius:14px;background:var(--pale);padding:15px 18px;margin:18px 0 24px}
.dm-guidance summary{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600;cursor:pointer;list-style:none}
.dm-guidance summary:after{content:'+';margin-left:auto;font-size:18px;font-weight:400;color:var(--muted)}.dm-guidance[open] summary:after{content:'−'}
.dm-guidance .icon{width:18px;height:18px;color:var(--green)}
.dm-guidance p{font-size:12px;line-height:1.8;margin:12px 0 0;color:var(--muted);max-width:850px}
.dm-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
.dm-summary{display:grid;justify-items:start;text-align:left;padding:22px;gap:8px;min-width:0;transition:border-color .18s,transform .18s}
.dm-summary:hover{border-color:var(--sage)}.dm-summary:active{transform:scale(.98)}
.dm-summary>.icon{width:19px;height:19px;color:var(--sage);margin-bottom:5px}.dm-summary strong{font-family:'Libre Caslon Display',Georgia,serif;font-size:31px;font-weight:400;line-height:1.1}.dm-summary span{font-size:11px;color:var(--muted)}
.dm-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.dm-dashboard-grid .card{min-width:0}.dm-dashboard-grid h3{font-size:26px;margin:18px 0 10px}
.dm-dashboard-grid .campaign-prose{margin:14px 0 22px}.dm-small-print{margin:18px 0 0!important;line-height:1.7}
.dm-scene-preview{display:grid;gap:8px;margin-top:22px;border-top:1px solid var(--line);padding-top:14px}
.dm-scene-preview>button{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 0;min-width:0}
.dm-scene-preview>button>span{font-size:11px;color:var(--sage)}.dm-scene-preview>button>div{flex:1;min-width:0}.dm-scene-preview strong{display:block;font-size:13px}.dm-scene-preview small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.dm-scene-preview .icon{width:16px}
.dm-essential-links{display:grid}.dm-essential-links>button{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);text-align:left;font-size:12px}
.dm-essential-links>button:last-child{border:0}.dm-essential-links>button>span{flex:1}.dm-essential-links .icon{width:18px;color:var(--sage)}.dm-essential-links .icon:last-child{width:13px}
.dm-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px}.dm-tool-grid .btn{min-width:0;white-space:normal;text-align:left;justify-content:flex-start;font-size:11px;line-height:1.4;padding:12px}
.dm-planner-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);align-items:start;gap:22px}.dm-planner-grid>.card{position:sticky;top:88px}
.dm-session-select .field{margin-bottom:15px}.dm-checklist-title{font-size:27px;margin:27px 0 18px}
.dm-checklist{display:grid;gap:17px}.dm-checklist>label{display:flex;align-items:flex-start;gap:11px;cursor:pointer}.dm-checklist input{margin-top:2px}.dm-checklist strong{display:block;font-size:12px;line-height:1.5}.dm-checklist small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:4px}.dm-checklist input:checked+span strong{text-decoration:line-through;color:var(--muted)}
.dm-scene-list{display:grid;gap:16px}.dm-scene{min-width:0}.dm-scene.is-complete{background:var(--pale)}
.dm-scene-heading{display:flex;align-items:center;gap:13px}.dm-scene-heading>div:nth-child(2){min-width:0;flex:1}.dm-scene-heading h3{font-size:27px;margin:5px 0 0;overflow-wrap:anywhere}.dm-scene-heading .eyebrow{font-size:9px}
.dm-scene-number{display:grid;place-items:center;width:35px;height:35px;flex-shrink:0;border:1px solid var(--line);border-radius:11px;color:var(--sage);font-size:11px}
.dm-scene .campaign-prose{margin:18px 0}.dm-order-buttons{display:flex;gap:4px}.dm-order-buttons button{display:grid;place-items:center;min-width:32px;min-height:34px;border:1px solid var(--line);border-radius:8px}.dm-order-buttons .icon{width:14px}
.dm-empty{text-align:center;padding:40px 25px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.dm-empty>.icon{width:30px;height:30px;color:var(--sage);margin-bottom:8px}.dm-empty h3,.dm-empty>.help{width:100%;margin:0}.dm-empty h3{font-size:28px}.dm-empty>.help{line-height:1.8;margin-bottom:8px}
.dm-note-grid,.dm-encounter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dm-note,.dm-encounter{min-width:0}.dm-note h3,.dm-encounter h3{font-size:31px;margin:20px 0 13px;overflow-wrap:anywhere}.dm-note .campaign-prose{margin-bottom:18px}.dm-note .chip{font-size:10px}
.dm-encounter-stats{display:grid;gap:6px;padding:14px 0;border-block:1px solid var(--line);margin:20px 0}.dm-encounter-stats strong{font-size:13px;color:var(--green)}.dm-encounter-stats span{font-size:11px;color:var(--muted)}
.dm-party-list{display:grid;gap:16px}.dm-party-name{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.dm-party-name>div{flex:1;min-width:150px}.dm-party-name h3{font-size:29px;margin-bottom:5px}.dm-party-avatar{width:43px;height:43px;display:grid;place-items:center;background:var(--pale);color:var(--sage);border-radius:13px}.dm-party-avatar .icon{width:21px}
.dm-attendance{font-size:11px;display:flex;align-items:center;gap:8px}.dm-party-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 17px;padding:16px 0;border-block:1px solid var(--line)}.dm-party-stats small{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-bottom:5px}.dm-party-stats strong{font-size:18px;font-weight:500}
.dm-form-check{display:flex;align-items:center;gap:10px;font-size:12px;margin:16px 0;line-height:1.6}.dm-form-check input,.dm-checklist input,.dm-party-choices input,.dm-conditions input,.dm-attendance input{width:18px;height:18px;flex-shrink:0;accent-color:var(--green)}
.dm-form-disclosure{border:1px solid var(--line);border-radius:13px;padding:16px;margin:19px 0}.dm-form-disclosure>summary{font-size:12px;font-weight:600;cursor:pointer;line-height:1.6}.dm-form-disclosure[open]>summary{margin-bottom:18px}
.dm-party-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dm-party-choices>label{display:flex;align-items:center;gap:10px;font-size:12px}.dm-party-choices small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.dm-opponent-builder{padding-top:8px}.dm-opponent-builder>h3{font-size:30px;margin-bottom:10px}.dm-opponent-builder>p{margin-bottom:18px}
.dm-add-opponent{display:grid;grid-template-columns:minmax(0,1fr) 95px auto;gap:12px;align-items:end}.dm-add-opponent .field{margin:0}.dm-add-opponent .btn{min-height:43px;margin-bottom:0}
.dm-opponent-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:13px;padding:16px;margin:12px 0}.dm-opponent-row>div{flex:1;min-width:140px}.dm-opponent-row strong{font-size:13px}.dm-opponent-row small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.dm-count-check{display:flex;gap:8px;align-items:center;font-size:10px;width:100%;color:var(--muted)}
.dm-budget{margin:22px 0;padding:20px}.dm-budget-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.dm-budget-heading h3{font-size:28px;margin-top:7px}.dm-budget-heading>strong{font-size:25px;font-weight:500;text-align:right}.dm-budget-heading strong small{display:block;font-size:10px;color:var(--muted);margin-top:4px;font-weight:400}.dm-budget-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.dm-budget-values small{font-size:10px;color:var(--muted);display:block}.dm-budget-values strong{display:block;font-size:16px;font-weight:500;margin-top:5px}.dm-budget .help{font-size:11px;line-height:1.7}.dm-source-link{font-size:11px;color:var(--green);display:inline-block;margin-top:12px}
#dm-form-error:not([hidden]){padding:13px;border:1px solid var(--red);border-radius:9px;color:var(--red);font-size:12px;margin-top:18px}
.dm-world-selector{max-width:400px;margin:20px 0}
.dm-run-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(245px,.85fr);gap:22px;align-items:start}.dm-run-layout>section,.dm-run-aside{min-width:0}
.dm-turn-banner{border-radius:19px;padding:24px;background:var(--pale);border:1px solid var(--sage);display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.dm-turn-banner h2{font-size:34px;margin:8px 0;overflow-wrap:anywhere}.dm-turn-banner p{font-size:12px;color:var(--muted);line-height:1.7}
.dm-tracker-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.dm-tracker-toolbar .btn{white-space:normal;min-width:0;font-size:11px}
.dm-actor-list{display:grid;gap:12px}.dm-actor{padding:19px;min-width:0;border-left:3px solid var(--line);transition:border-color .2s,background .2s}.dm-actor.is-active{border-color:var(--sage);background:var(--pale)}.dm-actor.is-excluded{opacity:.65}
.dm-actor-top{display:flex;align-items:center;gap:13px}.dm-actor-name{min-width:0;flex:1}.dm-actor-name h3{font-size:27px;margin:6px 0 0;overflow-wrap:anywhere}.dm-actor-name .eyebrow{font-size:9px;line-height:1.5}
.dm-initiative{min-width:49px;min-height:56px;display:grid;justify-items:center;gap:3px;border:1px solid var(--line);border-radius:12px;padding:9px}.dm-initiative strong{font-size:24px;font-weight:500}.dm-initiative small{font-size:8px;letter-spacing:.06em;color:var(--muted)}
.dm-actor-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.dm-actor-health{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dm-actor-health>strong{font-size:22px;font-weight:500}.dm-actor-health small,.dm-actor-health>span{font-size:10px;color:var(--muted);font-weight:400}.dm-actor-bottom .btn{font-size:10px;padding:9px 10px}.dm-condition-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.dm-condition-tags .chip{font-size:9px}
.dm-concentration{display:flex;gap:5px;align-items:center;font-size:10px;color:var(--green);margin-top:8px}.dm-concentration .icon{width:13px}
.dm-run-aside{display:grid;gap:18px}.dm-run-aside h3{font-size:25px;margin:15px 0}.dm-run-aside .card-title h2{font-size:27px}
.dm-run-detail{margin:16px 0}.dm-run-detail summary{font-size:12px;cursor:pointer}.dm-run-detail .campaign-prose{font-size:12px;margin:12px 0}
.dm-reminder{margin-top:15px;border-top:1px solid var(--line);padding-top:15px}.dm-reminder p{font-size:12px;line-height:1.7;margin:12px 0}.dm-reminder.is-due .chip{background:var(--pale);color:var(--green);border:1px solid var(--sage)}
.dm-conditions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:17px;border:1px solid var(--line);border-radius:13px;margin-bottom:20px}.dm-conditions legend{font-size:12px;padding:0 8px}.dm-conditions label{font-size:11px;display:flex;gap:8px;align-items:center;min-width:0}
.dm-dice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.dm-dice-grid .btn{min-height:55px}
.dm-roll-history{display:grid;gap:12px;margin-top:22px}.dm-roll-history article{display:flex;align-items:center;gap:20px;padding:17px;border:1px solid var(--line);border-radius:12px}.dm-roll-history article>strong{font-size:35px;font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;color:var(--green);min-width:48px;text-align:center}.dm-roll-history article>div{flex:1;min-width:0}.dm-roll-history b{font-size:13px}.dm-roll-history p,.dm-roll-history small,.dm-roll-history time{font-size:11px;color:var(--muted);line-height:1.7;overflow-wrap:anywhere}
.dm-help-guide{display:grid;gap:25px;margin:12px 0 25px}.dm-help-guide section{display:flex;gap:15px}.dm-help-guide section>span{font-size:11px;color:var(--sage);padding-top:5px}.dm-help-guide h3{font-size:28px;margin-bottom:10px}.dm-help-guide p{font-size:13px;line-height:1.8;color:var(--muted)}
.dm-public-display{max-width:1100px;margin:auto;padding:45px 30px}.dm-public-display>header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:35px}.dm-public-display h1{font-size:56px;margin-top:15px}.dm-public-order{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dm-public-order article{border:1px solid var(--line);border-radius:20px;padding:25px;background:var(--surface);display:grid;gap:12px}.dm-public-order article.is-active{border:2px solid var(--sage);background:var(--pale)}.dm-public-order article>span:first-child{font-size:11px;color:var(--muted)}.dm-public-order h2{font-size:31px;overflow-wrap:anywhere}.dm-public-order article>strong{font-size:42px;color:var(--green);font-weight:400}.dm-public-order article>div{display:flex;gap:6px;flex-wrap:wrap}.dm-public-order .chip{font-size:11px}.dm-public-display .footnote{margin-top:30px}
#modal:has(.dm-opponent-builder){width:min(850px,calc(100vw - 32px));max-width:850px}
@media(max-width:1100px){.dm-planner-grid{grid-template-columns:1fr 1.4fr}.dm-run-layout{grid-template-columns:minmax(0,1fr)}.dm-run-aside{grid-template-columns:1fr 1fr}.dm-hero-icon{flex-basis:90px;height:90px}.dm-hero-icon .icon{width:55px;height:55px}.dm-hero h2{font-size:39px}}
@media(max-width:900px){.dm-tabs{display:none}.dm-mobile-tabs{display:block;margin:15px 0 20px}.dm-mobile-tabs .field{margin:0}.dm-mobile-tabs label{font-size:13px}.dm-hero{padding:27px;border-radius:21px}.dm-view-switch{display:flex;width:100%;margin:18px 0}.dm-view-switch button{flex:1;font-size:13px;padding:11px 9px}.dm-eyebrow{font-size:11px}.dm-actions .btn{font-size:12px;min-height:44px}.dm-guidance summary,.dm-guidance p,.dm-section-heading p,.dm-checklist strong,.dm-checklist small{font-size:13px}.dm-summary span{font-size:12px}.dm-tool-grid .btn{font-size:12px;min-height:46px}.dm-planner-grid{grid-template-columns:minmax(0,1fr)}.dm-planner-grid>.card{position:static}.dm-checklist{grid-template-columns:1fr 1fr}.dm-party-name .help,.dm-encounter-stats span{font-size:12px}.dm-run-detail summary,.dm-run-detail .campaign-prose{font-size:13px}.dm-initiative small,.dm-actor-name .eyebrow,.dm-condition-tags .chip,.dm-actor-health small,.dm-actor-health>span{font-size:11px}.dm-actor-bottom .btn{font-size:12px;min-height:44px}.dm-essential-links>button{font-size:13px;min-height:48px}}
@media(max-width:650px){.dm-hero-icon{display:none}.dm-hero{padding:25px 22px}.dm-hero h2{font-size:34px}.dm-hero p{font-size:13px}.dm-hero .eyebrow{font-size:9px;line-height:1.6}.dm-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.dm-summary{padding:18px}.dm-dashboard-grid,.dm-note-grid,.dm-encounter-grid,.dm-run-aside{grid-template-columns:1fr;gap:16px}.dm-workspace-top{gap:10px}.dm-workspace-top>.dm-actions{width:100%;justify-content:space-between}.dm-workspace-top .btn{padding:10px 8px;font-size:12px}.dm-section-heading h2{font-size:31px}.dm-section-heading>.dm-actions{width:100%}.dm-checklist{grid-template-columns:1fr}.dm-planner-grid{gap:20px}.dm-scene-heading{flex-wrap:wrap;gap:10px}.dm-order-buttons button{min-width:40px;min-height:40px}.dm-scene-heading h3{font-size:26px}.dm-party-stats{grid-template-columns:1fr 1fr;gap:18px}.dm-party-stats small{font-size:12px}.dm-attendance{font-size:13px}.dm-party-avatar{display:none}.dm-add-opponent{grid-template-columns:minmax(0,1fr) 85px}.dm-add-opponent>.btn{grid-column:1/-1;justify-content:center;margin-top:4px}.dm-party-choices{grid-template-columns:1fr}.dm-party-choices>label{font-size:13px;min-height:40px}.dm-party-choices small{font-size:12px}.dm-opponent-row .btn{font-size:12px;min-height:44px}.dm-opponent-row .icon-btn{min-width:44px;min-height:44px}.dm-opponent-row small,.dm-count-check{font-size:12px;line-height:1.6}.dm-form-check{font-size:13px}.dm-form-disclosure>summary{font-size:13px;min-height:25px}.dm-budget-values{grid-template-columns:1fr 1fr}.dm-budget .help,.dm-source-link,.dm-budget-values small{font-size:12px}.dm-budget-heading .eyebrow{font-size:9px;line-height:1.6}.dm-budget-heading h3{font-size:27px}.dm-turn-banner{padding:21px}.dm-turn-banner h2{font-size:31px}.dm-tracker-toolbar .btn{font-size:12px;min-height:44px}.dm-actor{padding:16px}.dm-actor-name h3{font-size:26px}.dm-actor-bottom .dm-actions{width:100%}.dm-actor-bottom .dm-actions .btn{flex:1;justify-content:center}.dm-actor-top>.icon-btn{min-width:44px;min-height:44px}.dm-conditions{grid-template-columns:1fr 1fr;padding:15px}.dm-conditions label{font-size:12px;min-height:35px}.dm-roll-history article{padding:13px;gap:12px;flex-wrap:wrap}.dm-roll-history time{margin-left:auto}.dm-roll-history p,.dm-roll-history small{font-size:12px}.dm-public-display{padding:25px 18px}.dm-public-display>header{flex-wrap:wrap}.dm-public-display h1{font-size:44px}.dm-public-order{grid-template-columns:1fr 1fr;gap:10px}.dm-public-order article{padding:18px}.dm-public-order h2{font-size:27px}}
@media(max-width:600px){#modal:has(.dm-opponent-builder){width:100%;max-width:100%}.dm-dice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.dm-summary,.dm-actor{transition:none}.dm-summary:active{transform:none}}

@media(max-width:450px){.dm-public-order{grid-template-columns:1fr}.dm-public-order article{grid-template-columns:minmax(0,1fr) auto;align-items:center}.dm-public-order article>span:first-child,.dm-public-order article>div{grid-column:1/-1}.dm-public-order h2{font-size:29px;overflow-wrap:break-word}.dm-public-order article>strong{font-size:36px}.dm-public-order .chip{justify-self:start}}
