:root{color-scheme:dark;--bg: #1d131c;--bg-2: #2e1c29;--panel: rgba(40, 25, 36, .84);--panel-border: rgba(255, 233, 206, .14);--text: #fff5ea;--muted: #d7c2b2;--accent: #ff9d4d;--accent-2: #ffd670;--danger: #ff6c63;--shadow: 0 24px 60px rgba(6, 4, 7, .34);font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;line-height:1.4;font-weight:500;color:var(--text);background:radial-gradient(circle at top left,rgba(255,157,77,.22),transparent 35%),radial-gradient(circle at top right,rgba(255,214,112,.14),transparent 28%),linear-gradient(180deg,#241521,#150f17)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}button,input,textarea{font:inherit}button{border:none;cursor:pointer}input,textarea{width:100%;border-radius:16px;border:1px solid rgba(255,233,206,.16);background:#ffffff0d;color:var(--text);padding:.9rem 1rem}textarea{resize:vertical}.app-shell,.auth-shell{min-height:100vh;padding:1rem}.app-shell{padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.auth-shell{display:grid;place-items:center}.auth-card,.panel{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--panel-border);border-radius:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-card{width:min(100%,34rem);padding:1.5rem}.auth-card:after,.panel:after{content:"";position:absolute;inset:auto -20% -35% auto;width:14rem;height:14rem;background:radial-gradient(circle,rgba(255,214,112,.22),transparent 60%);pointer-events:none}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;color:var(--accent-2)}h1,h2,h3{margin:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,serif;line-height:1.1}.lead{color:var(--muted);max-width:48rem}.lead.compact{margin-top:.4rem}.mode-switch,.split-fields,.inline-row,.topbar-actions,.section-heading,.event-heading,.character-header{display:flex;gap:.75rem}.mode-switch{margin:1.25rem 0}.mode-pill,.ghost-button,.secondary-button,.danger-button,.primary-button{border-radius:999px;padding:.9rem 1.15rem;transition:transform .18s ease,background .18s ease}.icon-button{width:2.85rem;min-width:2.85rem;height:2.85rem;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;line-height:1}.mode-pill,.ghost-button{background:#ffffff0f;color:var(--text)}.mode-pill.active,.primary-button,.secondary-button{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);color:#2f1808;font-weight:700}.danger-button{background:linear-gradient(135deg,#ff826f,#ffb16d);color:#38140d;font-weight:700}.ghost-button:hover,.secondary-button:hover,.danger-button:hover,.primary-button:hover{transform:translateY(-1px)}.field{display:grid;gap:.45rem;margin-bottom:.9rem}.compact-field{margin-bottom:0}.field span{color:var(--muted);font-size:.92rem}.error-banner{border-radius:16px;padding:.85rem 1rem;background:#ff6c6329;border:1px solid rgba(255,108,99,.34)}.error-banner.global{margin-bottom:1rem}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.topbar-actions{position:relative;align-items:flex-start}.topbar-context{margin:.18rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.25}.menu-trigger-button{min-width:2.4rem;padding:.42rem .7rem;font-size:1rem}.workspace-menu{position:absolute;top:calc(100% + .45rem);right:0;z-index:30;min-width:12.5rem;display:grid;gap:.45rem;padding:.6rem;border-radius:18px;background:#1b111af5;box-shadow:0 18px 36px #00000047}.workspace-menu-copy{display:grid;gap:.16rem;padding:.2rem .1rem .1rem}.workspace-menu-copy strong{font-size:.96rem}.workspace-menu-button{width:100%;justify-content:flex-start;border-radius:14px;padding:.62rem .8rem;text-align:left}.status-badge{padding:.75rem 1rem;border-radius:999px;background:#ffffff0f;color:var(--muted)}.workspace-grid{display:grid;grid-template-columns:minmax(18rem,28rem) 1fr;gap:1rem}.mobile-workspace{display:grid;gap:1rem;padding-bottom:calc(6.75rem + env(safe-area-inset-bottom,0px))}.mobile-stage{display:grid}.mobile-tabbar{position:fixed;left:.75rem;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));z-index:10;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.55rem;border-radius:24px;background:#1c121bf0}.mobile-tab{display:grid;gap:.18rem;padding:.72rem .8rem;border-radius:18px;text-align:left;background:#ffffff0a;color:var(--muted)}.mobile-tab span{color:var(--text);font-weight:700;font-size:.92rem}.mobile-tab small{color:inherit;font-size:.75rem}.mobile-tab.active{background:linear-gradient(135deg,#ff9d4d42,#ffd67038);color:#ffe4c3;box-shadow:inset 0 0 0 1px #ffd67038}.gm-workspace-panel{padding:1.2rem}.player-sheet-shell,.gm-sheet-shell{padding:0;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible}.player-sheet-shell:after,.gm-sheet-shell:after{display:none}.gm-workspace-stack{display:grid;gap:1rem}.gm-action-stack{gap:.75rem}.gm-section{display:grid;gap:.75rem}.campaign-rail,.character-panel,.subpanel,.empty-state{padding:1.2rem}.campaign-rail{display:grid;gap:1rem;align-content:start}.section-heading{justify-content:space-between;align-items:baseline;margin-bottom:.8rem;gap:.65rem}.section-heading-copy{display:grid;gap:.18rem}.section-heading span{color:var(--muted)}.section-heading-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.campaign-list,.inventory-list,.event-list,.member-list,.stacked-form{display:grid;gap:.75rem}.campaign-card,.member-chip,.inventory-card,.event-card{border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.campaign-card{text-align:left;padding:1rem}.campaign-card.active,.character-card:hover{border-color:#ffd67066}.campaign-name{display:block;font-weight:700}.campaign-meta,.member-chip span,.inventory-card span,.event-meta{display:block;color:var(--muted);font-size:.92rem}.member-list{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.member-list-stacked{grid-template-columns:1fr}.member-chip,.inventory-card{padding:.9rem}.member-chip-row{display:flex;justify-content:space-between;gap:.75rem;align-items:start}.member-chip-content{display:grid;gap:.15rem}.member-chip-content.single-line{display:flex;align-items:center;min-height:1.2rem}.member-chip-content.single-line strong{display:inline}.compact-action-button{padding:.55rem .9rem;white-space:nowrap}.action-plus-button{font-size:1.35rem;line-height:1}.compact-member-button{padding:.42rem .72rem;font-size:.82rem}.compact-header-button{padding:.56rem .8rem;font-size:.9rem}.compact-topbar-button{padding:.48rem .82rem;font-size:.84rem}.gm-players-heading{margin-bottom:1rem;align-items:flex-start}.gm-players-heading .section-heading-actions{margin-left:auto;justify-content:flex-end;align-self:flex-start}.gm-workspace-stack>.gm-section{margin-top:.35rem}.gm-section .section-heading-copy{gap:.3rem}.character-header{justify-content:space-between;align-items:start;margin-bottom:1rem}.health-card{min-width:12rem;padding:1rem;border-radius:22px;background:linear-gradient(180deg,#ffffff17,#ffffff08)}.health-card strong{display:block;font-size:1.45rem;margin-top:.3rem}.health-bar{height:.7rem;margin-top:.9rem;border-radius:999px;background:#ffffff14;overflow:hidden}.health-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff6c63,#ffd670)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.subpanel{background:#ffffff0a;border-radius:24px}.character-panel>.subpanel{margin-bottom:1rem}.sheet-main-grid{margin-bottom:1.1rem}.sheet-main-section{padding:0;border:none;background:transparent;border-radius:0}.sheet-actions-panel{margin-top:.3rem}.sheet-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.gm-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-action-button{display:grid;gap:.2rem;text-align:left;border-radius:18px;padding:.9rem 1rem}.sheet-action-button strong{font-size:.95rem}.sheet-action-button span{color:var(--muted);font-size:.84rem}.action-buttons button{flex:1}.inventory-card,.event-card{display:flex;justify-content:space-between;gap:1rem;align-items:start}.event-card{display:grid;padding:1rem}.event-card pre{margin:0;white-space:pre-wrap;word-break:break-word;color:#ffe6c4;font-size:.84rem}.event-summary{margin:0;color:var(--text)}.event-payload summary{cursor:pointer;color:var(--accent-2);font-size:.82rem}.event-payload pre{margin-top:.5rem}.template-block{display:grid;gap:.75rem}.info-card{display:grid;gap:.45rem;padding:1rem;border-radius:20px;border:1px solid rgba(255,214,112,.2);background:#ffd67014}.info-card p{margin:0;color:var(--muted)}.info-card input[readonly]{background:#ffffff14}.compact-heading{margin-bottom:0}.defaults-form{gap:1.05rem}.defaults-intro{display:grid;gap:.78rem;padding:.9rem 1rem;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.defaults-template-block{gap:.28rem}.defaults-template-block+.defaults-template-block{margin-top:.9rem}.defaults-heading{justify-content:flex-start;align-items:flex-start;margin-bottom:.04rem}.defaults-heading-copy{display:grid;gap:.14rem}.defaults-heading-main{display:flex;align-items:center;gap:.42rem}.defaults-heading-copy span{color:var(--muted);font-size:.82rem;line-height:1.3}.defaults-plus-button{min-width:2.15rem;width:2.15rem;padding:0;font-size:1.05rem}.template-list,.stats-grid,.balance-grid,.weapon-list,.form-list,.companion-list{display:grid;gap:.75rem}.health-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:stretch}.sheet-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.9rem}.template-row{display:grid;grid-template-columns:minmax(0,1fr) 7rem auto;gap:.65rem;align-items:center}.template-row-simple{grid-template-columns:minmax(0,1fr) auto}.weapon-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr) minmax(0,.9fr) auto;gap:.65rem;align-items:center}.template-row-label{color:var(--muted);font-weight:600}.template-card,.stat-card,.balance-card{display:grid;gap:.75rem;padding:.9rem;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.metric-card{min-height:8.75rem;gap:.5rem;padding:.75rem;align-content:space-between}.metric-card strong{font-size:1.5rem;font-weight:700}.form-chip{display:grid;gap:.2rem;padding:.85rem 1rem;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:inherit;text-align:left}.form-chip.active{border-color:#ffd67080;background:#ffd6701f}.form-chip span{color:var(--muted)}.square-button{min-width:3rem;width:3rem;padding:.85rem 0;text-align:center}.compact-square-button{min-width:2.4rem;width:2.4rem;padding:.5rem 0;font-size:.88rem}.stat-input-card{margin-bottom:0;padding:.85rem .95rem;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.dashboard-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid-equal{align-items:stretch}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-header,.balance-card{align-items:center}.stat-header,.balance-name,.control-row{display:flex;align-items:center}.stat-header,.control-row{justify-content:space-between}.stat-header span,.balance-name{color:var(--muted)}.stat-bar{height:.75rem;border-radius:999px;background:#ffffff14;overflow:hidden}.stat-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center}.stat-control-row{justify-content:flex-end}.stat-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd670,#ff9d4d)}.control-row{gap:.65rem}.balance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-card-column{align-items:stretch}.inventory-card-column div:first-child{display:grid;gap:.25rem}.mobile-health-toolbar{display:none}.mobile-health-topline{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.mobile-health-summary{display:grid;gap:.18rem}.mobile-health-summary strong{display:block;font-size:1.2rem}.mobile-health-actions{display:flex;gap:.55rem;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}.mobile-health-action-group{display:grid;gap:.22rem;justify-items:end}.mobile-health-action-group span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.companion-card{width:100%;text-align:left;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#ffffff0a}.companion-card div{display:grid;gap:.2rem}.roster-card{display:grid;gap:.4rem}.roster-meta{display:grid;gap:.15rem}.modal-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#0a080bb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-card{width:min(100%,46rem);max-height:calc(100vh - 2rem);overflow:auto;padding:1.1rem 1.1rem 1rem;border-radius:28px;border:1px solid var(--panel-border);background:#1c121bf5;box-shadow:var(--shadow)}.modal-header{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.85rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.modal-header h2{margin:0;font-size:1.22rem;line-height:1.15}.modal-close-button{min-width:2.9rem;width:2.9rem;height:2.9rem;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:1.8rem;line-height:1}.modal-body{display:grid;gap:.85rem}.modal-body>.stacked-form{gap:.85rem}.modal-body .field{margin-bottom:0}.modal-body .section-heading{margin-bottom:.45rem}.modal-body .section-heading-copy{gap:.12rem}.modal-body .section-heading-actions{gap:.45rem}.modal-body>.panel{padding:0;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-body>.panel:after{display:none}.modal-intro-card{display:grid;gap:.78rem;padding:.88rem .95rem;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}@media(max-width:1100px){.workspace-grid,.dashboard-grid,.health-control-grid,.sheet-meta-grid,.stats-grid{grid-template-columns:1fr}.character-header,.topbar{flex-direction:column;align-items:stretch}}@media(max-width:920px){.app-shell{padding:.72rem}.topbar{flex-direction:row;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:.75rem}.topbar-actions{width:auto;flex-shrink:0}.status-badge{width:100%}.campaign-rail,.character-panel,.gm-workspace-panel,.empty-state{padding:.95rem;border-radius:22px}.character-panel>.subpanel{margin-bottom:.75rem}.health-card{min-width:0;width:100%}.campaign-list,.inventory-list,.event-list,.member-list,.stacked-form,.gm-workspace-stack{gap:.65rem}.campaign-card,.member-chip,.inventory-card,.event-card,.template-card,.stat-card,.balance-card,.info-card,.form-chip{border-radius:18px}.campaign-card,.member-chip,.inventory-card,.event-card,.template-card,.stat-card,.balance-card,.info-card{padding:.82rem}.field{margin-bottom:.72rem}input,textarea{padding:.78rem .9rem}.section-heading{margin-bottom:.65rem}.compact-header-button{padding:.5rem .72rem;font-size:.84rem}.compact-topbar-button{padding:.42rem .74rem;font-size:.78rem}.menu-trigger-button{min-width:2.2rem;padding:.36rem .62rem;font-size:.96rem}.workspace-menu{min-width:11.5rem;padding:.52rem;border-radius:16px}.workspace-menu-button{padding:.54rem .7rem;font-size:.82rem}.modal-close-button{min-width:2.6rem;width:2.6rem;height:2.6rem;font-size:1.6rem}.compact-member-button{padding:.38rem .66rem;font-size:.76rem}.character-header{margin-bottom:.8rem}.health-card{padding:.85rem}.metric-card{min-height:7.25rem;padding:.7rem}.metric-card strong{font-size:1.35rem}.campaign-name{font-size:.95rem}.campaign-meta,.member-chip span,.inventory-card span,.event-meta,.field span,.topbar-context{font-size:.82rem}.event-payload summary{font-size:.76rem}.sheet-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.sheet-action-button{padding:.76rem .82rem;border-radius:16px}.gm-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-shell,.auth-shell{padding:.58rem}.split-fields,.inline-row{flex-direction:column}.auth-card,.panel{border-radius:20px}.topbar{flex-direction:row;align-items:flex-start}.topbar-actions{width:auto;justify-content:flex-end}.topbar-actions .ghost-button{margin-left:0}.mobile-tabbar{left:.5rem;right:.5rem;bottom:calc(.5rem + env(safe-area-inset-bottom,0px));padding:.45rem;border-radius:22px}.mobile-tab{min-height:3.75rem;padding:.62rem .72rem}.section-heading{align-items:flex-start}.section-heading-actions{width:100%;justify-content:space-between}.section-heading-actions .secondary-button,.section-heading-actions .danger-button,.section-heading-actions .ghost-button:not(.icon-button){padding:.72rem .95rem}.compact-header-button,.section-heading-actions .compact-header-button{padding:.46rem .66rem;font-size:.8rem}.section-heading-actions .action-plus-button{padding:0}.defaults-form{gap:.92rem}.defaults-intro{gap:.68rem;padding:.82rem .9rem;border-radius:18px}.defaults-template-block+.defaults-template-block{margin-top:.76rem}.defaults-plus-button{min-width:2rem;width:2rem;font-size:1rem}.compact-topbar-button{padding:.36rem .64rem;font-size:.74rem}.menu-trigger-button{min-width:2.05rem;padding:.34rem .54rem;font-size:.92rem}.workspace-menu{top:calc(100% + .35rem);min-width:10.75rem;padding:.48rem;border-radius:15px}.workspace-menu-copy strong{font-size:.9rem}.workspace-menu-button{padding:.5rem .66rem;font-size:.8rem}.modal-close-button{min-width:2.45rem;width:2.45rem;height:2.45rem;font-size:1.45rem}.compact-member-button{padding:.34rem .58rem;font-size:.72rem}.campaign-card{padding:.64rem}.campaign-name{font-size:.9rem}.campaign-meta,.member-chip span,.inventory-card span,.event-meta,.field span,.topbar-context{font-size:.8rem}.member-chip-content{gap:.08rem}.icon-button{width:2.65rem;min-width:2.65rem;height:2.65rem}.weapon-row{grid-template-columns:1fr}.health-card,.health-section{display:none}.mobile-health-toolbar{display:grid;gap:.55rem;padding:.8rem}.mobile-health-actions .control-row{justify-content:flex-start}.balance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.balance-card.metric-card{min-height:0;gap:.4rem;padding:.56rem}.balance-card.metric-card strong{font-size:1.12rem}.balance-card .control-row{gap:.28rem}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .75rem}.stat-card{padding:0;border:none;background:transparent;border-radius:0}.stat-header{margin-bottom:.2rem}.stat-header strong,.stat-header span{font-size:.86rem}.stat-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}.stat-control-row{justify-content:flex-end;gap:.35rem}.stat-bar{height:.55rem}.square-button.compact-square-button{min-width:1.72rem;width:1.72rem;padding:.22rem 0;font-size:.7rem}.control-row{gap:.35rem}.sheet-action-grid,.gm-action-grid{grid-template-columns:1fr}.modal-card{width:100%;padding:1rem;border-radius:22px}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.mobile-health-actions{gap:.45rem}.mobile-health-topline{gap:.55rem}.mobile-health-summary strong{font-size:1.08rem}.balance-card.metric-card{padding:.5rem}.balance-card.metric-card strong{font-size:1rem}.modal-intro-card{gap:.7rem;padding:.78rem .82rem;border-radius:18px}}
