@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&display=swap";:root{--text:#4a4d52;--text-h:#1e2024;--bg:#edeef0;--border:#b0b3b8;--code-bg:#e2e4e7;--accent:#2c5282;--accent-bg:#2c52821a;--accent-border:#2c528280;--shadow:#00000026 0 10px 15px -3px, #00000014 0 4px 6px -2px;--wood-light:#6b6e73;--wood-dark:#3a3d42;--wood-grain-1:#585b60;--wood-grain-2:#4a4d52;--stone-light:#c8cad0;--stone-dark:#a8abb2;--parchment:#edeef0;--parchment-dark:#dfe0e4;--card-border:#8e9198;--card-bg:#f5f6f7;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Cinzel", Georgia, "Times New Roman", serif;--mono:ui-monospace, Consolas, monospace;font:18px / 145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#a8abb2;--text-h:#d8dae0;--bg:#141517;--border:#2e3035;--code-bg:#1e2024;--accent:#c9a84c;--accent-bg:#c9a84c26;--accent-border:#c9a84c80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--wood-light:#3a3d42;--wood-dark:#1e2024;--wood-grain-1:#2e3035;--wood-grain-2:#28292e;--stone-light:#2e3035;--stone-dark:#1e2024;--parchment:#141517;--parchment-dark:#101113;--card-border:#3a3d42;--card-bg:#1a1c1f}}body{background:repeating-linear-gradient(0deg, transparent, transparent 50px, #00000004 50px, #00000004 51px), var(--bg);margin:0}#root{text-align:center;border-inline:2px solid var(--stone-dark);box-sizing:border-box;flex-direction:column;width:1600px;max-width:100%;min-height:100svh;margin:0 auto;display:flex;box-shadow:4px 0 12px #0000001a,-4px 0 12px #0000001a}h1,h2,h3{font-family:var(--heading);color:var(--text-h);font-weight:600}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app-header{background:repeating-linear-gradient(87deg, transparent, transparent 3px, #00000008 3px, #00000008 4px), linear-gradient(180deg, var(--wood-light) 0%, var(--wood-grain-1) 30%, var(--wood-grain-2) 60%, var(--wood-dark) 100%);color:#f5f0e1;border-bottom:3px solid var(--wood-dark);justify-content:space-between;align-items:center;padding:6px 24px;display:flex;box-shadow:0 2px 8px #0000004d}.app-title{font-family:var(--heading);font-size:1rem;font-weight:600}.app-title-link{font-family:var(--heading);color:inherit;white-space:nowrap;font-size:1rem;font-weight:600;text-decoration:none}.app-title-link:hover{opacity:.8}.user-info{align-items:center;gap:8px;display:flex}.user-avatar{border:1px solid #f5f0e14d;border-radius:50%}.user-menu{position:relative}.user-menu-trigger{align-items:center;gap:8px;display:flex}.user-menu-arrow{opacity:.7;font-size:.7em}.user-menu-dropdown{background:var(--card-bg);border:1px solid var(--card-border);z-index:100;border-radius:4px;min-width:160px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #0000004d}.app-header .user-menu-dropdown button{text-align:left;width:100%;color:var(--text);font-family:var(--heading);cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:0;padding:8px 16px;font-size:.85rem;display:block}.app-header .user-menu-dropdown button:hover{background:var(--parchment-dark)}.app-header button{font-family:var(--heading);color:#f5f0e1;white-space:nowrap;cursor:pointer;background:#f5f0e126;border:1px solid #f5f0e14d;border-radius:3px;padding:4px 10px;font-size:.78rem;font-weight:500;transition:background .15s}.app-header button:hover{background:#f5f0e140}.app-header button.advance-turn-confirm{color:#f5f0e1;background:linear-gradient(#5fb86b 0%,#3d9b4a 50%,#2e7a39 100%);border-color:#2e7a39;animation:1s ease-in-out infinite advance-turn-confirm-pulse}.app-header button.advance-turn-confirm:hover{filter:brightness(1.1);background:linear-gradient(#5fb86b 0%,#3d9b4a 50%,#2e7a39 100%)}@keyframes advance-turn-confirm-pulse{0%,to{box-shadow:0 0 #5fb86b99}50%{box-shadow:0 0 0 4px #5fb86b00}}.loading{min-height:100vh;font-family:var(--heading);color:var(--text);justify-content:center;align-items:center;display:flex}.app-title-group{align-items:baseline;gap:12px;display:flex}.turn-log-link{font-family:var(--heading);color:inherit;opacity:.85;white-space:nowrap;font-size:.8rem;text-decoration:none}.turn-log-link:hover{opacity:1;text-decoration:underline}.summary-nav{justify-content:space-between;align-items:center;gap:12px;max-width:480px;margin:12px 0 20px;display:flex}.summary-sections section{margin-bottom:20px}.summary-change-list,.summary-change-detail{margin:0;padding-left:0;list-style:none}.summary-change-detail{opacity:.9;margin:4px 0 8px;padding-left:28px}.summary-change-toggle{box-shadow:none;cursor:pointer;font:inherit;color:inherit;text-align:left;background:0 0;border:none;align-items:baseline;gap:8px;padding:2px 0;display:inline-flex}.summary-change-caret{width:1em;display:inline-block}.summary-total{font-variant-numeric:tabular-nums;font-weight:600}.summary-total-positive{color:#2e7a39}.summary-total-negative{color:#b03030}.summary-empty{opacity:.8;font-style:italic}main button{font-family:var(--heading);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 34%, var(--bg)) 0%, color-mix(in srgb, var(--accent) 22%, var(--bg)) 100%);color:var(--text-h);border:1px solid color-mix(in srgb, var(--accent) 60%, var(--bg));cursor:pointer;border-radius:3px;padding:6px 16px;font-size:.9rem;font-weight:600;transition:filter .15s;box-shadow:inset 0 1px #ffffff40,inset 0 -1px #0003,0 1px 2px #0000004d}main button:hover:not(:disabled){filter:brightness(1.25)}main button.confirm-button-confirming{color:#f5f0e1;background:linear-gradient(#5fb86b 0%,#3d9b4a 50%,#2e7a39 100%);border-color:#2e7a39;animation:1s ease-in-out infinite confirm-button-pulse}main button.confirm-button-confirming:hover:not(:disabled){filter:brightness(1.1)}@keyframes confirm-button-pulse{0%,to{box-shadow:0 0 #5fb86b99}50%{box-shadow:0 0 0 4px #5fb86b00}}main button:disabled{background:linear-gradient(180deg, var(--stone-light) 0%, var(--stone-dark) 100%);color:var(--text-h);border-color:var(--wood-dark);opacity:.6;cursor:not-allowed;filter:none}.tab-bar{border-bottom:2px solid var(--wood-dark);background:var(--parchment-dark);gap:0;padding:0 24px;display:flex;overflow-x:auto}.tab-button-wrapper{align-items:center;display:flex}.tab-button{font-family:var(--heading);box-shadow:none;color:var(--text);cursor:pointer;white-space:nowrap;opacity:.7;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;align-items:center;gap:6px;padding:6px 20px;font-size:.9rem;font-weight:500;transition:border-color .15s,opacity .15s;display:flex}main button.tab-button:hover:not(:disabled){filter:none;opacity:1}.tab-button:hover:not(:disabled){opacity:1}.tab-button-active{border-bottom-color:var(--accent);opacity:1;color:var(--text-h)}.tab-button:disabled{opacity:.4;cursor:not-allowed}.tab-lock-icon{all:unset;cursor:pointer;opacity:.6;margin-left:-14px;margin-right:8px;padding:2px;font-size:.8em;line-height:1;position:relative;top:-3px}.tab-lock-icon:hover{opacity:1}.tab-panel{text-align:left;padding:24px}.active-pc-name{opacity:.8;white-space:nowrap;font-size:.8rem}.login-page{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100vh;display:flex}.login-page h1{text-align:center;font-size:2rem}.discord-login-btn{color:#fff;cursor:pointer;background:#5865f2;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.discord-login-btn:hover{background:#4752c4}.settlement-list{padding:24px}.settlement-list-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.settlement-cards{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.settlement-card{text-align:left;border-width:2px;flex-direction:column;gap:4px;padding:16px;display:flex;box-shadow:inset 0 1px #ffffff4d,inset 0 -1px #0000001a,0 2px 4px #0000001a}a.settlement-card{color:inherit;cursor:pointer;text-decoration:none}a.settlement-card:hover{border-color:var(--accent);box-shadow:inset 0 1px #ffffff4d,inset 0 -1px #0000001a,0 4px 8px #00000026}.create-settlement-modal{border:2px solid var(--card-border);background:var(--card-bg);width:100%;max-width:600px;color:var(--text);border-radius:4px;padding:24px;box-shadow:0 8px 32px #0006}.create-settlement-modal.modal-wide{max-width:960px}.create-settlement-modal::backdrop{background:#140f0ab3}.create-settlement-modal input:not([type=checkbox]):not([type=radio]),.create-settlement-modal textarea,.create-settlement-modal select{width:100%}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.addon-item-list{margin:0 0 8px;padding-left:20px}.create-settlement-modal p+.addon-item-list,.create-settlement-modal h3+.addon-item-list{margin-top:-8px}.create-settlement-modal section p{margin:4px 0}.create-settlement-modal section h3{margin:12px 0 4px}.event-log-table{border-collapse:collapse;border:1px solid var(--card-border);border-radius:4px;width:100%;margin-top:12px}.event-log-table th{font-family:var(--heading);text-align:left;background:linear-gradient(180deg, var(--stone-light) 0%, var(--stone-dark) 100%);color:var(--text-h);border-bottom:2px solid var(--wood-dark);vertical-align:top;padding:8px 12px;font-size:.85rem;font-weight:600}.event-log-th-content{all:unset;cursor:pointer;-webkit-user-select:none;user-select:none;font:inherit;color:inherit;align-items:center;gap:4px;display:inline-flex}.sort-indicator{font-size:.75rem}.event-log-table th input,.event-log-table th select{width:100%;margin-top:6px;font-size:.8rem;display:block}.event-log-table td{border-bottom:1px solid var(--border);text-align:left;padding:6px 12px}.event-log-col-shrink{white-space:nowrap;width:1%}.event-log-col-right{text-align:right}.event-log-table tbody tr:nth-child(2n){background:var(--parchment-dark)}.event-log-table tbody tr:hover{background:var(--accent-bg)}.settlement-admin-section{background:var(--parchment-dark);border:1px solid var(--border);border-radius:4px;margin-bottom:24px;padding:16px}.settlement-admin-name{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settlement-admin-name input{font-size:.95rem}.settlement-admin-name .success-text{color:#3a7d44;font-size:.85rem}.settlement-admin-name .error-text{color:var(--accent);font-size:.85rem}.settlement-admin-actions{gap:8px;margin-top:12px;display:flex}main button.delete-btn:not(:disabled){color:#f5f0e1;background:linear-gradient(#b83232 0%,#8b1a1a 50%,#6a1212 100%);border-color:#6a1212}.delete-settlement-modal,.dndbeyond-import-modal{border:2px solid var(--card-border);background:var(--card-bg);width:100%;max-width:480px;color:var(--text);border-radius:4px;padding:24px;box-shadow:0 8px 32px #0006}.delete-settlement-modal::backdrop,.dndbeyond-import-modal::backdrop{background:#140f0ab3}.delete-settlement-modal .warning-text,.dndbeyond-import-modal .warning-text{color:var(--accent);margin-bottom:12px}.delete-settlement-modal label,.dndbeyond-import-modal label{margin-bottom:4px;font-size:.9rem;display:block}.delete-settlement-modal input,.dndbeyond-import-modal input{width:100%;margin-bottom:12px}.dndbeyond-import-modal{max-width:640px}.dndbeyond-import-modal ol{margin:8px 0 12px;padding-left:24px}.dndbeyond-import-modal ol li{margin-bottom:4px}.dndbeyond-import-modal .error-text{color:var(--accent);font-size:.9rem}.dndbeyond-import-summary{color:var(--text-h);font-weight:600}.dndbeyond-import-results{margin-bottom:16px}.dndbeyond-import-results td{vertical-align:top}.dndbeyond-import-results .success-text td:nth-child(-n+2){color:#3a7d44}.dndbeyond-import-results .error-text td:nth-child(-n+2){color:var(--accent)}.dndbeyond-import-results .muted-text td{opacity:.65}.dndbeyond-status-icon{width:1.4em;display:inline-block}.discord-config{background:var(--parchment-dark);border:1px solid var(--border);border-radius:4px;margin-bottom:24px;padding:16px}.discord-config form{flex-direction:column;gap:12px;display:flex}.discord-config-toggle{cursor:pointer;color:var(--text-h);align-items:center;gap:8px;font-weight:600;display:flex}.discord-config-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.discord-config-field{color:var(--text);flex-direction:column;gap:4px;font-size:.9rem;display:flex}.discord-config-field input{font-family:var(--mono);font-size:.85rem}.discord-config-field input:disabled{opacity:.5;cursor:not-allowed}.discord-config-actions{align-items:center;gap:12px;display:flex}.discord-config-actions .success-text{color:#3a7d44;font-size:.85rem}.discord-config-actions .error-text{color:var(--accent);font-size:.85rem}.downtime-budget{background:var(--parchment-dark);border:1px solid var(--border);border-radius:4px;margin-bottom:24px;padding:16px}.downtime-budget form{flex-direction:column;gap:12px;display:flex}.downtime-budget .discord-config-field input{max-width:8em}.downtime-budget-hint{opacity:.75;margin:0;font-size:.85rem}.dndbeyond-section{background:var(--parchment-dark);border:1px solid var(--border);border-radius:4px;margin-bottom:24px;padding:16px}.dndbeyond-section p{margin:0 0 12px}.player-list-section{margin-bottom:24px}.player-list-table,.dndbeyond-import-results{border-collapse:collapse;border:1px solid var(--card-border);border-radius:4px;width:100%;margin-top:12px}.player-list-table th,.dndbeyond-import-results th{font-family:var(--heading);text-align:left;background:linear-gradient(180deg, var(--stone-light) 0%, var(--stone-dark) 100%);color:var(--text-h);border-bottom:2px solid var(--wood-dark);padding:8px 12px;font-size:.85rem;font-weight:600}.player-list-table td,.dndbeyond-import-results td{border-bottom:1px solid var(--border);padding:6px 12px}.player-list-table tbody tr:nth-child(2n),.dndbeyond-import-results tbody tr:nth-child(2n){background:var(--parchment-dark)}.player-list-table tbody tr:hover{background:var(--accent-bg)}.player-character-links{flex-direction:column;gap:2px;display:flex}.manager-badge{color:#3a7d44;font-weight:600}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:0 32px;display:grid}@media (width<=899px){.admin-grid{grid-template-columns:minmax(0,1fr)}}.crafting-section{margin-top:32px}.crafting-links{align-items:baseline;gap:12px;display:flex}.crafting-links button{padding:2px 10px;font-size:.85rem}.crafting-project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.crafting-project-card{border:1px solid var(--border);border-radius:4px;padding:12px}.crafting-project-card h4{margin:0}.crafting-project-card h5{opacity:.8;margin:12px 0 4px;font-size:.85rem}.crafting-project-meta{opacity:.8;margin:4px 0 0;font-size:.85rem}.crafting-project-tools{margin:8px 0 0;font-size:.9rem}.crafting-project-progress{white-space:nowrap;align-items:center;gap:8px;margin-top:8px;font-size:.85rem;display:flex}.crafting-project-progress progress{appearance:none;background:var(--parchment-dark);min-width:0;height:10px;box-shadow:inset 0 0 0 1px var(--border);accent-color:var(--accent);border:none;border-radius:5px;flex:1;overflow:hidden}.crafting-project-progress progress::-webkit-progress-bar{background:var(--parchment-dark)}.crafting-project-progress progress::-webkit-progress-value{background:var(--accent)}.crafting-project-progress progress::-moz-progress-bar{background:var(--accent)}.crafting-project-materials{flex-direction:column;gap:2px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.crafting-project-materials li{grid-template-columns:1.2em 1fr auto auto;align-items:baseline;gap:8px;display:grid}.crafting-project-materials .crafting-material-cost{font-family:var(--mono);white-space:nowrap}.crafting-project-materials .crafting-material-kind{opacity:.7;font-size:.8rem}.crafting-material-missing .crafting-material-mark{color:var(--error,#a33);font-weight:600}.crafting-table{border-collapse:collapse;width:100%;font-size:.95rem}.crafting-table th,.crafting-table td{text-align:left;border-bottom:1px solid var(--border);padding:6px 10px}.crafting-table th{font-family:var(--heading);opacity:.8;font-size:.85rem;font-weight:600}.crafting-table .crafting-stock{text-align:right;white-space:nowrap}.crafting-table td.crafting-stock{font-family:var(--mono)}.crafting-table .crafting-kind{text-transform:capitalize;opacity:.85}.crafting-table .crafting-actions{white-space:nowrap;text-align:right}.crafting-table .crafting-actions button{margin-left:6px;padding:2px 10px;font-size:.85rem}.crafting-form{background:var(--parchment-dark);border:1px solid var(--border);border-radius:4px;flex-wrap:wrap;align-items:end;gap:8px 12px;margin-top:8px;padding:10px 12px;display:flex}.crafting-form label{flex-direction:column;gap:2px;font-size:.85rem;display:flex}.crafting-form fieldset{border:none;gap:10px;margin:0;padding:0;font-size:.85rem;display:flex}.crafting-form fieldset legend{margin-bottom:2px;padding:0}.crafting-form fieldset label{flex-direction:row;align-items:center;gap:4px}.crafting-form input[type=number]{width:80px}.crafting-form-actions{gap:8px;display:flex}.crafting-request-buttons{gap:8px;margin-top:12px;display:flex}.crafting-open-requests{margin-top:16px}.crafting-open-requests h4{margin:0 0 8px}.crafting-direction{border:none;gap:12px;margin:0 0 8px;padding:0;display:flex}.crafting-direction label{align-items:center;gap:4px;display:flex}.crafting-hint{opacity:.8;font-size:.85rem}.crafting-request-rows{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.crafting-request-row{grid-template-columns:1fr 100px auto auto;align-items:center;gap:8px;display:grid}.create-settlement-modal .crafting-request-row input[type=number]{width:100px}.crafting-row-error{grid-column:1/-1;font-size:.85rem}.crafting-table .crafting-size-row td{opacity:.9;border-bottom:none;padding-top:2px;padding-bottom:2px;font-size:.85rem}.crafting-table .crafting-size-row+tr:not(.crafting-size-row) td{border-top:1px solid var(--border)}.crafting-table .crafting-size-label{font-family:var(--mono);white-space:nowrap;padding-left:32px}.crafting-table .crafting-size-gp{text-align:right;font-family:var(--mono);white-space:nowrap}.crafting-table .crafting-size-count{padding-right:32px}.crafting-table .crafting-size-times{margin-right:6px}.crafting-table .crafting-size-count input[type=number],.crafting-table .crafting-size-count .resource-stock-display{box-sizing:border-box;width:60px;min-width:0}.crafting-table .crafting-size-total{font-family:var(--mono);white-space:nowrap}.crafting-table .crafting-size-total .resource-btn{margin-left:8px}.crafting-size-toggle{margin-left:6px;padding:0 6px;font-size:.8rem;line-height:1.4}.crafting-sizes-editor{flex-direction:column;flex-basis:100%;gap:4px;display:flex}.crafting-sizes-editor .crafting-size-inputs{align-items:end;gap:8px;display:flex}.crafting-sizes-editor input[type=text]{width:140px}.crafting-request-row.sized{grid-template-columns:1fr 140px 70px auto auto}.create-settlement-modal .crafting-request-row.sized input[type=number]{width:70px}.crafting-conversion-units{align-items:end;gap:8px;display:flex}.downtime-hours-section{margin-bottom:8px}.downtime-hours-budget{opacity:.8;font-size:.9em}.downtime-hours-table .downtime-hours-cell{text-align:right;white-space:nowrap}.downtime-hours-table td.downtime-hours-cell{font-family:var(--mono)}.downtime-pc-panel{text-align:left;margin-bottom:12px;padding:16px 20px}.downtime-pc-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.downtime-pc-panel-header h3{margin:0}.downtime-hour-bar{border-radius:5px;gap:2px;height:10px;margin:12px 0 6px;display:flex;overflow:hidden}.downtime-hour-segment{background:var(--accent)}.downtime-hour-tail{background:var(--parchment-dark);box-shadow:inset 0 0 0 1px var(--border)}.downtime-pc-panel-legend{font-family:var(--mono);justify-content:space-between;gap:12px;font-size:.9em;display:flex}.downtime-pc-panel-spends{margin:8px 0 0;padding-left:18px;font-size:.9em}.downtime-pc-panel-work{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;padding-top:8px;display:flex}.downtime-others summary{cursor:pointer;margin:8px 0 4px;font-weight:600}.downtime-others summary .downtime-hours-budget{font-weight:400}.downtime-hours-hint{opacity:.75;margin:8px 0 0;font-size:.85rem}.downtime-band{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:24px;margin:24px 0;display:grid}.downtime-band>:only-child{grid-column:1/-1}@media (width<=900px){.downtime-band{grid-template-columns:minmax(0,1fr)}}.settlement-work-status{font-family:var(--mono);white-space:nowrap;font-size:.9em}.settlement-work-hint{opacity:.75;font-size:.85em}.settlement-work-action{align-items:center;gap:6px;display:inline-flex}.settlement-work-action .error-text{color:var(--accent);font-size:.85em}.downtime-activities-section{margin-bottom:8px}.downtime-activities-section h4,.downtime-activities-section h5{margin:10px 0 4px}.downtime-activities-section h5{opacity:.85;font-size:.95em}.downtime-activities-unavailable summary{cursor:pointer;margin:10px 0 4px;font-weight:600}.downtime-activity-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.downtime-activity-card{border:1px solid var(--border);background:color-mix(in srgb, var(--border) 8%, transparent);border-radius:6px}.downtime-activity-card.is-available{border-color:var(--accent)}.downtime-activity-card p{margin:4px 0}.downtime-activity-summary{cursor:pointer;align-items:center;gap:8px;padding:8px 10px;list-style:none;display:flex}.downtime-activity-summary::-webkit-details-marker{display:none}.downtime-activity-summary:before{content:"▸";opacity:.7;flex:none;font-size:.8em}.downtime-activity-details[open]>.downtime-activity-summary:before{content:"▾"}.downtime-activity-summary strong{overflow-wrap:anywhere;flex:1;min-width:0}.downtime-activity-badges{flex:none;align-items:center;gap:6px;display:flex}.downtime-activity-body{padding:0 10px 8px}.downtime-activity-facts{grid-template-columns:max-content 1fr;gap:3px 10px;margin:6px 0;font-size:.85em;display:grid}.downtime-activity-fact{display:contents}.downtime-activity-facts dt{opacity:.7}.downtime-activity-facts dd{margin:0}.downtime-fact-item{display:block}.downtime-boost-badge{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent);white-space:nowrap;border-radius:10px;padding:1px 6px;font-size:.8em;font-weight:600}.downtime-activity-description,.downtime-activity-link{font-size:.9em}.downtime-activity-blocker{opacity:.8;font-size:.85em}.downtime-activity-spend{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.downtime-activity-hours-input{align-items:center;gap:6px;font-size:.9em;display:inline-flex}.downtime-activity-hours-input input{width:64px}.downtime-activity-answer{flex-basis:100%;align-items:center;gap:6px;font-size:.9em;display:flex}.downtime-activity-answer input{flex:1;max-width:320px}.downtime-activity-effective{font-family:var(--mono);font-size:.85em}.downtime-activity-spend .error-text{color:var(--accent);font-size:.85em}.downtime-activity-totals{font-family:var(--mono);flex-basis:100%;font-size:.85em}.training-section{margin-bottom:8px}.training-section h4{margin:10px 0 4px}.training-request-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.downtime-band .training-request-form{flex-direction:column;align-items:stretch}.training-request-select{align-items:center;gap:6px;font-size:.9em;display:inline-flex}.training-request-form .error-text,.training-request-action .error-text{color:var(--accent);font-size:.85em}.training-request-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.training-request-row{border:1px solid var(--border);background:color-mix(in srgb, var(--border) 8%, transparent);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.training-request-action{align-items:center;gap:6px;display:inline-flex}.training-request-hint,.training-request-empty{opacity:.75;font-size:.85em}.training-request-empty{margin:4px 0}.downtime-breakdown{margin-top:12px}.downtime-breakdown h4{margin:0 0 4px}.downtime-breakdown-list{margin:0;padding-left:18px}.downtime-breakdown-empty,.downtime-breakdown-total{margin:4px 0;font-size:.9em}.downtime-breakdown-total{font-weight:600}.downtime-unit-picker{flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.9rem;display:flex}.downtime-unit-picker-title{flex-basis:100%;font-weight:600}.downtime-unit-picker label{align-items:center;gap:4px;display:inline-flex}.downtime-unit-picker input[type=number]{width:56px}.downtime-unit-picker .downtime-unit-available{opacity:.75;font-size:.85rem}.management-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:24px;margin:24px 0;display:grid}@media (width<=900px){.management-grid{grid-template-columns:minmax(0,1fr)}}.buildings-section{text-align:left;margin:24px 0}.building-card.building-upgrade-ready{border-color:var(--accent)}.building-card.building-disabled{opacity:.6}.building-disabled-badge{color:var(--warning,#d69e2e);cursor:help;font-size:.9rem;line-height:1}.building-card .benefits-list{margin-top:0}.building-card{background:var(--card-bg);border:1px solid var(--card-border);text-align:left;color:var(--text);border-radius:4px;flex-direction:column;gap:4px;padding:12px 16px;display:flex}.building-card:hover{border-color:var(--accent)}.upgrade-accordion{margin-top:8px}.upgrade-accordion summary{cursor:pointer;padding:4px 0;font-weight:700}.building-name{font-family:var(--heading);font-weight:600}.building-card-header{align-items:baseline;gap:8px;display:flex}.building-card-header .building-name{min-width:0;color:inherit;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;flex:1;text-decoration:none}.building-card-header .building-name:hover{text-decoration:underline}.building-level-mark{font-family:var(--heading);color:var(--text-h);white-space:nowrap;font-size:.95rem;font-weight:600}main button.building-card-row,.building-card-row{text-align:left;width:100%;box-shadow:none;font:inherit;font-family:var(--sans);color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:0;margin:0;padding:2px 0;font-size:.85em;display:block}.building-card-row:before{content:"▸ ";color:var(--accent)}.building-card-row-static{cursor:default;opacity:.85}.building-card-row-static:before{content:"   "}main button.building-card-row:hover:not(:disabled){filter:none;text-decoration:underline}main button.building-card-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.building-card-row-label{font-weight:600}.building-card-row-count{opacity:.7}.building-dialog-costs{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;display:grid}.building-dialog-costs dt{font-weight:600}.building-dialog-costs dd{margin:0}.building-dialog-shortfalls{font-family:var(--mono);font-variant-numeric:tabular-nums;margin:4px 0 0;padding-left:20px}.building-dialog-note{opacity:.85;margin-top:12px}.building-detail-status{opacity:.8;margin-left:12px;font-size:.7em;font-weight:400}.building-level-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:4px;margin:16px 0;padding:16px}.building-level-section h3{border-bottom:1px solid var(--border);margin-top:0;padding-bottom:8px}.building-level-current{border-left:3px solid var(--accent)}.building-level-past{opacity:.7}.building-level-editing{border-left:3px solid var(--accent)}.building-level-section fieldset{border:1px solid var(--border);border-radius:4px;margin:8px 0;padding:12px}.building-level-section legend{font-family:var(--heading);padding:0 6px;font-size:.9rem;font-weight:600}.building-level-section>form>label,.building-level-section>form>div>label{font-family:var(--heading);margin:12px 0 6px;font-size:.9rem;font-weight:600;display:block}.level-costs p{margin:2px 0}.dm-actions{border-top:1px dashed var(--border);margin-top:16px;padding-top:12px}.dm-actions-heading{font-family:var(--heading);text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin:0 0 8px;font-size:.8rem;font-weight:600}.no-upgrade-defined{opacity:.6;font-style:italic}.benefit-requirement-costs{opacity:.8;margin-left:16px;font-size:.85em}.impact-list{text-align:left}.benefit-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.benefit-row input[type=number]{width:4.5em}.benefits-list{margin-top:8px}.benefit-effect-line{font-size:.85em}.resources-section{text-align:left}.resources-section h4{font-family:var(--heading);color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 6px;font-size:.85rem}.resources-group{margin-bottom:12px}.resources-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.resource-row{background:var(--parchment-dark);border:1px solid var(--border);border-radius:3px;align-items:center;gap:8px;padding:6px 12px;display:flex}.resource-name{min-width:100px;font-weight:500}.resource-stock{font-family:var(--mono);text-align:right;min-width:40px}.resource-stock-display{font-family:var(--mono);text-align:center;border:1px dashed var(--border);cursor:pointer;min-width:40px;color:var(--text-h);font-size:inherit;background:0 0;border-radius:3px;padding:2px 8px}.resource-stock-display:hover{border-color:var(--accent);background:var(--accent-bg)}.resource-stock-input{font-family:var(--mono);text-align:center;width:64px}.resource-btn{min-width:32px;padding:2px 10px;font-size:.85rem}.resource-btn-toggle{margin-left:auto;padding:2px 10px;font-size:.8rem}.add-resource-form{align-items:center;gap:8px;margin-top:8px;display:flex}.benefit-groups-section{margin-bottom:16px}.benefit-groups-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.benefit-group-row{background:var(--parchment-dark);border:1px solid var(--border);border-radius:3px;align-items:center;gap:8px;padding:6px 12px;display:flex}.benefit-group-name{flex:1;font-weight:500}.add-benefit-group-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;margin-bottom:8px;display:flex}.statuses-section{text-align:left}.statuses-list{flex-direction:column;gap:10px;display:flex}.status-card{padding:12px 16px}.status-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.status-name{font-family:var(--heading);font-size:.95rem;font-weight:600}.status-bar-track{background:var(--parchment-dark);border:1px solid var(--border);border-radius:5px;height:10px;overflow:hidden}.status-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-border));border-radius:5px;height:100%;transition:width .3s}.status-bar-label{font-family:var(--mono);color:var(--text);font-size:.85rem}.status-effects-heading{opacity:.6;margin:8px 0 2px;font-size:.8em;font-weight:600}.status-effects{flex-direction:column;gap:2px;margin:8px 0 0;padding:0;list-style:none;display:flex}.status-effect-positive{color:var(--text);padding-left:4px;font-size:.85rem}.status-effect-negative{color:#8b4513;padding-left:4px;font-size:.85rem}.threshold-value{opacity:.7;font-weight:600}.status-breakdown{font-family:var(--mono);flex-direction:column;gap:2px;margin-top:8px;font-size:.85rem;display:flex}.status-breakdown-row{opacity:.8;justify-content:space-between;display:flex}.effect-positive{color:#2d6a2d}.effect-negative{color:#8b1a1a}@media (prefers-color-scheme:dark){.effect-positive{color:#6abf6a}.effect-negative{color:#c9a84c}}.status-manage-card{margin-bottom:12px;padding:16px}.status-manage-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.status-manage-name{font-family:var(--heading);margin:0;font-size:1rem}.status-edit-fields{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.status-manage-values{align-items:center;gap:16px;margin-bottom:8px;display:flex}.status-num-input{font-family:var(--mono);text-align:center;width:56px}.status-manage-thresholds h5{font-family:var(--heading);margin:8px 0 4px;font-size:.85rem}.threshold-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.threshold-row{background:var(--parchment-dark);border:1px solid var(--border);border-radius:3px;align-items:center;gap:8px;padding:4px 8px;display:flex}.threshold-row.threshold-editing{padding:8px 12px;display:block}.threshold-condition{font-family:var(--mono);min-width:48px;font-size:.85rem}.threshold-effect{flex:1}.threshold-remove-btn{min-width:auto;padding:0 6px;font-size:1.1rem;line-height:1}.threshold-form{flex-direction:column;gap:8px;margin-top:8px;display:flex}.threshold-fields{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.threshold-value-input{width:64px}.threshold-effect-input{flex:1;min-width:120px}.threshold-actions{gap:8px;display:flex}.threshold-delete-btn{color:#8b1a1a;border-color:#8b1a1a;margin-left:auto}.add-threshold-btn{margin-top:8px;font-size:.85rem}.add-status-form{background:var(--parchment-dark);border:1px solid var(--border);border-radius:4px;margin-top:12px;padding:16px}.add-status-fields{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.add-status-actions{gap:8px;display:flex}.workers-section{text-align:left}.overview-table{border-collapse:collapse;border:1px solid var(--card-border);border-radius:4px;width:100%;overflow:hidden}.overview-table th{font-family:var(--heading);text-align:left;background:linear-gradient(180deg, var(--stone-light) 0%, var(--stone-dark) 100%);color:var(--text-h);border-bottom:2px solid var(--wood-dark);padding:8px 12px;font-size:.85rem;font-weight:600}.overview-table th,.overview-table td{border-right:1px solid var(--border)}.overview-table th:last-child,.overview-table td:last-child{border-right:none}.overview-table td{border-bottom:1px solid var(--border);padding:6px 12px}.overview-table th.overview-table-num{text-align:right}.overview-table tbody tr:last-child td{border-bottom:none}.overview-table tbody tr:nth-child(2n):not(.overview-table-expanded-row){background:var(--parchment-dark)}.overview-table tbody tr:not(.overview-table-expanded-row):hover{background:var(--accent-bg)}.overview-table-num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.overview-table-toggle{text-align:center;width:1%}.overview-table-toggle button{all:unset;cursor:pointer;color:var(--text);padding:0 4px}.overview-table-expanded-row td{background:var(--parchment-dark);padding:8px 16px 12px}.overview-table-expanded-row ul{font-family:var(--mono);flex-direction:column;gap:2px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.overview-table-expanded-row li{opacity:.85;justify-content:space-between;display:flex}.overview-table-expanded-row .overview-next-round-summary{border-top:1px solid var(--border);opacity:1;margin-top:2px;padding-top:4px;font-weight:600}.overview-table tfoot td{border-top:2px solid var(--wood-dark);background:var(--parchment-dark);border-bottom:none;font-weight:600}.active-votes-section{margin-bottom:16px}.active-votes-list{flex-direction:column;gap:8px;display:flex}.vote-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:12px}.vote-card strong{margin-bottom:4px;display:block}.vote-card p{opacity:.85;margin:2px 0;font-size:.9rem}.vote-reserved{margin-top:6px;font-size:.9rem}.vote-reserved strong{margin-bottom:0}.vote-reserved ul{margin:2px 0 0;padding-left:18px}.vote-buttons{gap:8px;margin-top:8px;display:flex}.vote-against-btn{background:var(--danger,#c53030)}.vote-status{opacity:.7;font-style:italic}.inline-vote-info{border:1px dashed var(--border);border-radius:4px;margin-top:8px;padding:8px;font-size:.9rem}.inline-vote-info p{margin:2px 0}.building-level-edit-tabs{border-bottom:1px solid var(--wood-dark);gap:4px;margin-bottom:12px;display:flex}.building-level-edit-tab{font-family:var(--heading);box-shadow:none;color:var(--text);cursor:pointer;opacity:.7;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:4px 12px;font-size:.9rem;transition:border-color .15s,opacity .15s}.building-level-edit-tab:hover:not(:disabled){opacity:1}.building-level-edit-tab-active{border-bottom-color:var(--accent);opacity:1;color:var(--text-h)}.building-level-edit-tabpanel{padding-top:8px}.benefit-add-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.building-group{margin-top:16px}.building-group-heading{font-family:var(--heading);color:var(--text-h);border-bottom:1px solid var(--border);margin:0 0 8px;padding-bottom:4px;font-size:.95rem;font-weight:600}.building-group-count{font-family:var(--sans);color:var(--text);margin-left:6px;font-weight:400}.building-panel-bar{border-bottom:1px solid var(--wood-dark);align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.building-panel-bar .building-panel-tabs{border-bottom:none;margin-bottom:0}.building-panel-bar .quiet-btn{margin-bottom:4px;margin-left:auto}.building-panel-body h3{margin:0 0 8px;font-size:1rem}.dm-actions-buttons{flex-wrap:wrap;gap:8px;display:flex}.building-level-group{border-top:1px solid var(--border);margin-top:24px;padding-top:8px}.building-level-group>summary{cursor:pointer}.building-level-group>summary h3{margin:0;display:inline}.building-dialog-title-link{color:inherit;text-decoration:none}.building-dialog-title-link:hover,.building-dialog-title-link:focus-visible{color:var(--accent);text-decoration:underline}.active-effects-section{text-align:left}.active-effects-list{flex-direction:column;gap:6px;display:flex}.active-effect-item{background:var(--parchment-dark);border:1px solid var(--border);border-radius:3px}.active-effect-item.effect-active{border-left:3px solid var(--accent)}.active-effect-item.effect-inactive>details>summary,.active-effect-item.effect-inactive>.effect-card-summary,.active-effect-item.effect-inactive .effect-card-body>.effect-card-section,.active-effect-item.effect-halted>details>summary,.active-effect-item.effect-halted>.effect-card-summary,.active-effect-item.effect-halted .effect-card-body>.effect-card-section{opacity:.6}.effect-halted-label{color:var(--warning,#d69e2e);font-style:italic;font-weight:400}.active-effect-item.effect-voting{border-left:3px solid var(--warning,#d69e2e)}.effect-voting-label{color:var(--warning,#d69e2e);font-style:italic;font-weight:400}.active-effect-item details>summary{list-style:none}.active-effect-item details>summary::-webkit-details-marker{display:none}.effect-card-summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 12px;display:flex}.effect-card-summary:before{content:"▸";opacity:.5;flex-shrink:0;font-size:.75em;transition:transform .15s}details[open]>.effect-card-summary:before{transform:rotate(90deg)}.effect-card-title{flex:1;font-weight:500}.effect-active .effect-card-title{color:var(--accent);font-weight:600}.effect-inactive-label{font-style:italic;font-weight:400}.effect-card-static{cursor:default}.effect-card-static:before{content:none}.effect-card-source{opacity:.6;flex-shrink:0;font-size:.8em}.effect-card-body{padding:0 12px 8px 24px;font-size:.9em;line-height:1.35}.effect-card-details{margin:0 0 4px;padding:0;list-style:none}.effect-card-details li{padding:1px 0 1px 4px}.effect-card-section{margin-bottom:4px}.effect-card-section-title{opacity:.7;margin:0 0 2px;font-size:.85em;font-weight:600}.effect-card-group{margin-bottom:2px}.effect-card-group-label{opacity:.5;margin-left:2px;font-size:.85em;font-weight:600}.effect-card-cost{opacity:.8}.effect-card-qualifier{opacity:.6;font-size:.9em;font-style:italic}.effect-card-duration{opacity:.6;font-size:.8em;font-weight:400}.benefit-activate-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.benefit-activate-blocker{opacity:.75;font-size:.85em;font-style:italic}.benefit-activate-btn{margin-top:6px;padding:2px 10px;font-size:.8rem}.quests-section{text-align:left;margin:24px 0}.quests-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width<=600px){.quests-grid{grid-template-columns:1fr}}.quests-list{flex-direction:column;gap:12px;display:flex}.quest-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.quest-actions button{font-size:.85rem}.quest-fail-warning{color:#8b1a1a;cursor:pointer;background:#8b1a1a14;border:1px solid #8b1a1a4d;border-radius:4px;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;font-size:.9em;line-height:1.4;display:flex}.quest-fail-warning input[type=checkbox]{accent-color:#8b1a1a;flex-shrink:0;width:auto}.quest-fail-warning ul{margin:4px 0;padding-left:20px}.dm-tools-section{text-align:left;margin:24px 0}.dm-tools-actions{align-items:center;gap:12px;display:flex}.effect-card-addon{margin-bottom:6px}.effect-card-addon-name{font-weight:600}.effect-card-addon>.effect-card-section{margin:0 0 0 12px}.maps-tab{flex-direction:column;gap:1rem;display:flex}.map-pill-strip{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.map-pill{border:1px solid var(--border);background:var(--card-bg);color:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .9rem;display:inline-flex}.map-pill-active{border-color:var(--accent);background:var(--accent-bg)}.map-pill-hidden{opacity:.65}.map-pill-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:.75em}.map-new-button{margin-left:auto}.map-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.map-toolbar h3{margin:0}.map-toolbar-actions,.map-rename-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.map-view-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.map-file-input{display:none}.map-no-image{border:1px dashed var(--border);text-align:center;color:var(--text);border-radius:6px;padding:2rem}.map-canvas{border:1px solid var(--card-border);background:var(--card-bg);-webkit-user-select:none;user-select:none;border-radius:6px;line-height:0;position:relative;overflow:hidden}.map-canvas img{width:100%;height:auto;display:block}.map-fullscreen{z-index:100;width:100%;max-width:none;height:100%;max-height:none;color:inherit;box-sizing:border-box;background:#000000d9;border:none;justify-content:center;align-items:center;margin:0;padding:1.5rem;display:flex;position:fixed;inset:0;overflow:hidden}.map-fullscreen .map-canvas{background:0 0;border:none;max-width:100%}.map-fullscreen .map-canvas img{width:auto;max-width:min(100%,100vw - 3rem);height:auto;max-height:calc(100dvh - 3rem)}.map-fullscreen-actions{z-index:101;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.map-canvas,.marker-color-picker{--marker-red:#d64545;--marker-orange:#d97706;--marker-yellow:#cca300;--marker-green:#2f855a;--marker-blue:#2b6cb0;--marker-purple:#7c3aed;--marker-safe:#2c7a7b;--quest-available:#b45309}@media (prefers-color-scheme:dark){.map-canvas,.marker-color-picker{--marker-safe:#4fd1c5;--quest-available:#e0a458}}.map-canvas-editing{cursor:crosshair;touch-action:none}.map-canvas-editing .map-marker{cursor:move}.map-marker-handle{border:1px solid var(--card-bg);background:var(--accent);cursor:nwse-resize;z-index:2;border-radius:2px;width:10px;height:10px;position:absolute;bottom:-5px;right:-5px}.map-marker-handle-radius{margin:-5px 0 0 -5px;inset:85.36% auto auto 85.36%}.map-marker{box-sizing:border-box;box-shadow:none;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;line-height:normal;display:flex;position:absolute;overflow:visible}.map-marker,.map-marker-shape{pointer-events:none}.map-marker-shape>*,.map-marker-label,.map-marker-handle,.map-marker-vertex{pointer-events:auto}.map-marker-shape{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.map-marker-shape>*{stroke:var(--marker-current);stroke-width:2px;vector-effect:non-scaling-stroke;fill:color-mix(in srgb, var(--marker-current) 18%, transparent)}.map-danger-mask{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.map-danger-mask-dimmed{opacity:.35}.map-marker-draft{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.map-marker-draft>*{stroke:var(--accent);stroke-width:2px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;fill:var(--accent-bg)}.map-marker-label{z-index:1;text-align:center;background:var(--card-bg);color:var(--text-h);overflow-wrap:break-word;border-radius:3px;flex-direction:column;flex:none;align-items:center;width:fit-content;max-width:max(100%,14ch);margin:0;padding:.1rem .4rem;font-size:.75rem;display:flex;position:relative}.map-marker-quests{color:var(--quest-available);font-size:.7rem;font-weight:600}.map-marker-name{align-items:center;display:inline-flex}.map-marker-icons{gap:.15rem;margin-right:.25rem;display:inline-flex}.map-marker-label-start{justify-content:flex-start}.map-marker-flipped{justify-content:flex-end}.map-marker-red,.marker-swatch-red{--marker-current:var(--marker-red)}.map-marker-orange,.marker-swatch-orange{--marker-current:var(--marker-orange)}.map-marker-yellow,.marker-swatch-yellow{--marker-current:var(--marker-yellow)}.map-marker-green,.marker-swatch-green{--marker-current:var(--marker-green)}.map-marker-blue,.marker-swatch-blue{--marker-current:var(--marker-blue)}.map-marker-purple,.marker-swatch-purple{--marker-current:var(--marker-purple)}.map-marker-safe{--marker-current:var(--marker-safe)}.map-popover{z-index:5;-webkit-user-select:text;user-select:text;max-height:none;color:inherit;border:1px solid var(--card-border);background:var(--card-bg);max-width:min(20rem,80%);box-shadow:var(--shadow);text-align:left;border-radius:6px;margin:0;padding:.6rem .8rem;line-height:145%;position:absolute}.map-popover h4{margin:0 0 .3rem}.map-popover p{margin:0 0 .5rem}.map-popover-link{font-weight:600;display:inline-block}.map-popover-quests{margin:0 0 .5rem}.map-popover-quests h5{color:var(--quest-available);margin:0 0 .2rem;font-size:.8rem;font-weight:600}.map-popover-quests ul{margin:0;padding-left:1.1rem}.map-workspace{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;display:grid}@media (width<=900px){.map-workspace{grid-template-columns:minmax(0,1fr)}}.marker-form{flex-direction:column;gap:.6rem;min-width:16rem;display:flex}.marker-form h4{margin:0}.marker-color-picker{border:none;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;display:flex}.marker-swatch{border:2px solid var(--marker-current);background:color-mix(in srgb, var(--marker-current) 18%, transparent);cursor:pointer;border-radius:50%;width:1.6rem;height:1.6rem;padding:0}.marker-swatch-active{outline:2px solid var(--accent);outline-offset:2px}.marker-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.marker-form-delete{margin-left:auto}.map-edit-toggle-active{border-color:var(--accent);background:var(--accent-bg)}.marker-quest-picker{border:none;flex-direction:column;gap:.25rem;max-height:12rem;margin:0;padding:0;display:flex;overflow-y:auto}.marker-quest-picker label{align-items:center;gap:.4rem;font-weight:400;display:flex}.marker-quest-status{color:var(--text);margin-left:auto;font-size:.75rem}.marker-quest-finished{align-items:center;gap:.4rem;display:flex}.map-shape-tools{gap:.25rem;display:flex}.map-shape-tools button{width:2rem;padding:.2rem 0;line-height:1}.map-shape-tool-active{border-color:var(--accent);background:var(--accent-bg)}.map-view-tabs{border:1px solid var(--card-border);border-radius:6px;align-items:center;gap:.25rem;margin:.5rem 0;padding:.25rem .5rem;display:flex}.map-view-tabs legend{padding:0 .25rem;font-size:.8rem}.map-view-tab-active{border-color:var(--accent);background:var(--accent-bg)}.map-toolbar-hint{color:var(--text);font-size:.8rem}.map-marker-vertex,.map-draft-vertex{z-index:2;border:1px solid var(--card-bg);background:var(--accent);border-radius:50%;width:9px;height:9px;margin:-5px 0 0 -5px;position:absolute}.map-marker-vertex{cursor:move}.map-draft-vertex{pointer-events:none}.map-draft-vertex-first{pointer-events:auto;cursor:pointer;width:13px;height:13px;margin:-7px 0 0 -7px}.map-draft-vertex-first:hover{width:17px;height:17px;margin:-9px 0 0 -9px}.map-scale-line{stroke:var(--accent);stroke-width:3px;stroke-dasharray:none;vector-effect:non-scaling-stroke}.map-measure{white-space:nowrap;background:var(--card-bg);color:var(--text-h);pointer-events:none;border-radius:3px;padding:.1rem .4rem;font-size:.75rem;line-height:normal;position:absolute;transform:translate(.6rem,.6rem)}.map-scale-row{color:var(--text);flex-wrap:wrap;align-items:center;gap:.75rem;margin:0;font-size:.85rem;display:flex}.map-scale-stale{color:var(--accent);font-weight:600}.marker-form-size{color:var(--text);gap:.4rem;margin:0;font-size:.85rem;display:flex}.map-marker-preview,.map-marker-preview *{pointer-events:none}.pcs-section-actions{margin-top:12px}@media (width>=1024px) and (width<=1399px){.pcs-section .card-grid,.npcs-section .card-grid{grid-template-columns:repeat(3,1fr)}}.npc-worker-type-badge,.npc-status-badge{opacity:.7;font-size:.85em}.npc-desc{opacity:.7;margin:4px 0 0;font-size:.85em}.npc-detail-actions{margin:16px 0}.npc-worker-type{opacity:.7;font-size:.85em}.character-detail{text-align:left;padding:24px}.character-detail .back-link{margin-bottom:16px;display:inline-block}.character-classes{color:var(--text-h);margin:0 0 16px;font-size:1.1em}.character-detail-summary{flex:1;min-width:0}.character-detail-summary h2{margin-top:0}.character-detail-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.character-player-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:4px;flex-direction:column;gap:12px;min-width:180px;padding:10px 14px;font-size:.9em;display:flex}.character-discord-user{flex-direction:column;gap:6px;display:flex}.character-discord-label{font-family:var(--heading);text-transform:uppercase;letter-spacing:.05em;opacity:.7;font-size:.75rem;font-weight:600}.character-discord-user-row{align-items:center;gap:10px;display:flex}.character-discord-avatar{border-radius:50%}.character-discord-name{color:var(--text-h)}.character-sheet{flex-direction:column;gap:6px;display:flex}.character-discord-user+.character-sheet{border-top:1px solid var(--card-border);padding-top:12px}.character-sheet-view{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.character-sheet-empty{opacity:.6;font-style:italic}.character-sheet-input{background:var(--parchment-dark);border:1px solid var(--border);font-family:var(--sans);color:var(--text-h);box-sizing:border-box;border-radius:3px;width:100%;padding:6px 8px}.character-sheet-input:focus{border-color:var(--accent);outline:none}.character-status{margin:0 0 12px}.character-description-section{margin:24px 0}.character-proficiencies,.character-description-section,.character-quests-section{border-top:1px solid var(--card-border);padding-top:16px}.character-section-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.character-section-header h3{margin:0}.character-description-input{background:var(--parchment-dark);border:1px solid var(--border);font-family:var(--sans);color:var(--text-h);box-sizing:border-box;resize:vertical;border-radius:3px;width:100%;padding:8px}.character-description-input:focus{border-color:var(--accent);outline:none}.character-description-empty{opacity:.6;font-style:italic}.character-proficiencies{margin:24px 0}.proficiency-category{margin:6px 0}.proficiency-category>summary{cursor:pointer;padding:4px 0;font-size:1.05em;font-weight:600}.proficiency-group{margin:4px 0 8px 16px}.proficiency-checkboxes{flex-wrap:wrap;gap:4px 12px;margin-top:4px;display:flex}.proficiency-checkboxes label{white-space:nowrap}.proficiency-checkboxes .proficiency-covered{opacity:.5}.proficiency-weapons{margin-left:22px}.proficiency-weapons>summary{cursor:pointer;opacity:.7;font-size:.85em}.proficiency-actions{gap:8px;margin-top:8px;display:flex}.proficiency-in-training{opacity:.85;margin:6px 0 0;font-size:.9em}.character-quests-section{margin:24px 0}.character-quests-section h3{margin-bottom:12px}.pcs-section{text-align:left;margin:0 0 24px}.npcs-section{text-align:left;margin:24px 0}.worker-type-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px;display:grid}@media (width<=768px){.worker-type-grid{grid-template-columns:1fr}}.worker-type-card{text-align:left;padding:12px 16px}.worker-type-card h4{font-family:var(--heading);margin:0 0 8px}.worker-type-card-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.worker-type-card-row label{white-space:nowrap;font-size:.9em}.worker-type-card-row .worker-count-input{width:64px;font-family:var(--mono);text-align:center}.worker-type-detail{margin-bottom:4px;font-size:.9em}.worker-type-delete-btn{margin-top:4px;font-size:.85rem}.worker-type-requirements{margin:6px 0 8px;font-size:.9em}.worker-type-requirements-header{align-items:center;gap:8px;margin-bottom:2px;display:flex}.worker-type-requirements-editing{border:1px solid var(--border);background:color-mix(in srgb, var(--border) 12%, transparent);border-radius:4px;padding:6px 8px 8px}.specialization-checkboxes{flex-direction:column;gap:4px;margin-top:4px;display:flex}.specialization-option{align-items:baseline;gap:6px;display:flex}.specialization-option-disabled{opacity:.6}.specialization-requirement{opacity:.7;font-size:.85em}.specialization-warning{color:var(--warning,#b8860b);font-size:.85em}.pc-gate-create,.pc-gate-select{flex-direction:column;align-items:center;gap:16px;padding:48px 16px;display:flex}.pc-gate-create h3,.pc-gate-select h3{margin:0 0 8px;font-size:1.4rem}.pc-gate-create form{border-width:2px;width:100%;max-width:360px;padding:24px;box-shadow:inset 0 1px #ffffff4d,inset 0 -1px #0000001a,0 2px 4px #0000001a}.pc-gate-create form>div{margin-bottom:12px}.pc-gate-create form label{font-family:var(--heading);color:var(--text-h);margin-bottom:4px;font-size:.85rem;display:block}.pc-gate-create form input,.pc-gate-create form select{width:100%}.pc-gate-create form button[type=submit]{width:100%;margin-top:4px}.pc-gate-create form p[role=alert]{color:var(--accent);margin:0 0 8px;font-size:.85rem}.pc-selection-grid{grid-template-columns:1fr;gap:12px;width:100%;max-width:480px;display:grid}@media (width>=480px){.pc-selection-grid{grid-template-columns:1fr 1fr}}.pc-selection-card{border-width:2px;flex-direction:column;align-items:center;gap:6px;padding:16px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:inset 0 1px #ffffff4d,inset 0 -1px #0000001a,0 2px 4px #0000001a}.pc-selection-card:hover{border-color:var(--accent);box-shadow:inset 0 1px #ffffff4d,inset 0 -1px #0000001a,0 4px 8px #00000026}.pc-selection-card .pc-name{font-family:var(--heading);color:var(--text-h);font-size:1.1rem}.pc-selection-card .pc-class{color:var(--text);text-transform:capitalize;font-size:.85rem}.pc-selection-card .pc-owner{color:var(--text-muted,var(--text));font-size:.8rem;font-style:italic}.pc-filter-input{box-sizing:border-box;width:100%;max-width:480px;margin-bottom:12px;padding:8px 12px}.create-pc-form{margin-top:12px;padding:16px;box-shadow:0 2px 4px #0000001a}.create-pc-form>div{margin-bottom:8px}.create-pc-form label{font-family:var(--heading);color:var(--text-h);margin-bottom:4px;font-size:.85rem;display:block}.create-pc-form input,.create-pc-form select{width:100%}.create-pc-form p[role=alert]{color:var(--accent);margin:0 0 8px;font-size:.85rem}.create-pc-form-actions{gap:8px;display:flex}main input,main select,main textarea{background:var(--parchment-dark);border:1px solid var(--border);font-family:var(--sans);color:var(--text-h);box-sizing:border-box;border-radius:3px;padding:6px 8px}main input:focus,main select:focus,main textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-border);outline:none}.card{background:linear-gradient(135deg, var(--card-bg) 0%, var(--parchment-dark) 100%);border:1px solid var(--card-border);border-radius:4px}.card-grid{grid-template-columns:1fr;gap:8px;display:grid}@media (width>=600px){.card-grid{grid-template-columns:1fr 1fr}}@media (width>=1024px){.card-grid{grid-template-columns:repeat(4,1fr)}}.inline-edit-input,.inline-edit-textarea{background:var(--parchment-dark);border:1px solid var(--border);font-family:var(--sans);color:var(--text-h);box-sizing:border-box;border-radius:3px;width:100%;padding:6px 8px}.inline-edit-textarea{resize:vertical}.inline-edit-heading{font-family:var(--heading);font-size:1em;font-weight:600}.inline-edit-select{background:var(--parchment-dark);border:1px solid var(--border);font-family:var(--sans);color:var(--text-h);border-radius:3px;padding:4px 8px}.inline-edit-input:focus,.inline-edit-textarea:focus,.inline-edit-select:focus{border-color:var(--accent);outline:none}.npc-card{text-align:left;padding:12px 16px}a.npc-card{color:inherit;text-decoration:none;display:block}a.npc-card:hover{border-color:var(--accent)}.npc-card-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;margin-bottom:4px;display:flex}.npc-name{font-family:var(--heading);font-weight:600}a.npc-card.pc-card{align-items:flex-start;gap:12px;display:flex}.pc-card-text{flex:1;min-width:0}.pc-card-avatar{border-radius:50%;flex-shrink:0}.npc-short-desc{opacity:.85;margin:0;font-size:.9em}.spec-chips{vertical-align:middle;font-size:.8em;font-family:var(--body,inherit);flex-wrap:wrap;gap:4px;font-weight:400;display:inline-flex}.npc-card .spec-chips{margin-top:6px;display:flex}.spec-chip{border:1px solid var(--border);opacity:.85;white-space:nowrap;border-radius:10px;padding:0 7px;line-height:1.5}.spec-chip-more{border-color:var(--accent-border);color:var(--accent);opacity:1}.quest-card{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:6px;padding:12px 16px;text-decoration:none;display:block}a.quest-card:hover{border-color:var(--accent)}.quest-urgent{background:#c9841a14;border-color:#c9841a}.quest-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.quest-title{font-size:1.05em;font-weight:600}.quest-status-badge{border-radius:4px;padding:2px 8px;font-size:.85em}.quest-draft{color:#7a6b3a;font-style:italic}.quest-completed{color:#2d7d46}.quest-failed{color:#8b1a1a}.quest-description{opacity:.85;white-space:pre-wrap;margin:4px 0;font-size:.9em}.quest-giver,.quest-timer{margin:4px 0;font-size:.9em}.quest-urgent .quest-timer{color:#c9841a;font-weight:600}.quest-benefits-section{margin-top:8px;font-size:.9em}.quest-benefits-label{margin:4px 0}.quest-hidden{opacity:.5;font-style:italic}.quest-reveal-indicator{opacity:.6;font-size:.85em}.section-heading{align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.section-heading a{font-family:var(--heading);color:var(--text);opacity:.7;font-size:.85em;text-decoration:none}.section-heading a:hover{opacity:1}.back-link{cursor:pointer;font:inherit;color:inherit;opacity:.7;background:0 0;border:none;padding:4px 0}.back-link:hover{opacity:1}.hint{opacity:.6;margin:4px 0;font-size:.85rem}.benefit-effect-summary{opacity:.8;font-size:.85em}.pc-working-badge{color:#8a6d1a;background:#c9a2272e;border-radius:3px;margin-top:4px;padding:1px 6px;font-size:.75rem;font-weight:600;display:inline-block}.generic-worker-picker{margin-top:12px}.generic-worker-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.generic-worker-header h3{margin:0}.generic-worker-picker h4{margin:10px 0 4px;font-size:.9em}.generic-worker-count{color:var(--text);font-size:.9em}.generic-worker-row{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;display:flex}.generic-worker-row label{align-items:center;gap:8px;display:flex}.generic-worker-row input[type=number]{width:4.5em}.generic-worker-available,.generic-worker-note{color:var(--text);font-size:.9em}.requirement-group{border-left:2px solid var(--accent-border);margin:4px 0;padding:2px 0 2px 8px}.requirement-group-header{justify-content:space-between;align-items:center;margin-bottom:2px;font-weight:600;display:flex}.requirement-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.requirement-row select{flex:auto;min-width:0;font-size:.9em}.requirement-or{opacity:.7;font-style:italic}.requirement-or-divider{margin:2px 0 2px 10px}.requirement-actions{align-items:center;gap:6px;margin-top:6px;display:flex}.requirement-actions-spacer{flex:1}main button.quiet-btn{box-shadow:none;color:var(--accent);background:0 0;border:1px solid #0000;padding:2px 6px;font-family:inherit;font-size:.85rem;line-height:1.2}main button.quiet-btn:hover:not(:disabled){border-color:var(--accent-border);filter:none}main button.quiet-btn:disabled{color:var(--text-h);opacity:.5;background:0 0;border-color:#0000}main button.quiet-remove-btn{opacity:.7;border-radius:50%;flex-shrink:0;width:20px;height:20px;padding:0;font-size:1rem;line-height:1}main button.quiet-remove-btn:hover:not(:disabled){opacity:1;background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:#0000}.benefit-group-badge{background:var(--accent-bg,#0000000f);color:var(--text-muted,inherit);border:1px solid var(--border,#0000001a);vertical-align:middle;border-radius:10px;margin-left:6px;padding:1px 8px;font-size:.75em;font-weight:500;display:inline-block}.accordion-row{text-align:left;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.accordion-row+.accordion-row{border-top:1px solid var(--border)}.accordion-row:not(.accordion-open):hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}main button.accordion-row-main{min-width:0;box-shadow:none;color:inherit;font:inherit;font-family:var(--sans);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;flex:1;padding:2px 0;display:block}main button.accordion-row-main:hover:not(:disabled){filter:none}main button.accordion-row-main:focus-visible,main button.quiet-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.accordion-title{overflow-wrap:anywhere;display:block}.accordion-badges{opacity:.7;white-space:nowrap;margin-left:8px;font-size:.85rem}.accordion-meta{opacity:.7;margin-top:2px;font-size:.85rem;display:block}.accordion-icons{flex-shrink:0;align-items:center;gap:2px;padding-top:2px;display:flex}main button.accordion-icon{width:24px;height:24px;padding:0;font-size:1rem;line-height:1}.accordion-open{background:var(--card-bg);border-left:3px solid var(--accent);flex-direction:column;align-items:stretch;gap:0;padding:0}.accordion-header{align-items:center;gap:6px;padding:6px 8px 4px 6px;display:flex}.accordion-header .accordion-title{flex:1;min-width:0;font-weight:600}.accordion-body{padding:4px 8px 10px 12px}.editor-grid{grid-template-columns:9rem 1fr;align-items:start;gap:8px 12px;display:grid}.editor-field{display:contents}.editor-label{font-family:var(--sans);padding-top:6px;font-size:.85rem;font-weight:600}.editor-control{min-width:0}.editor-control>*+*{margin-top:4px}.editor-control>input[type=text],.editor-control>textarea{width:100%;display:block}.editor-control>textarea{resize:vertical;font-family:inherit}.editor-inline{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.editor-inline>*+*{margin-top:0}.editor-inline input[type=number]{width:4.5em}.editor-inline-label,.editor-unit{font-size:.85rem}.editor-inline-label{font-weight:600}.editor-unit{opacity:.7}.segmented{border:1px solid var(--border);border-radius:3px;display:inline-flex;overflow:hidden}.segment{cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 12px;font-size:.85rem;line-height:1.4;position:relative}.segment+.segment{border-left:1px solid var(--border)}.segment input{opacity:0;pointer-events:none;width:0;height:0;margin:0;position:absolute}.segment:has(:checked){background:var(--accent);color:var(--bg)}.segment:has(:focus-visible){outline:2px solid var(--accent);outline-offset:2px}@media (width<=640px){.editor-grid{grid-template-columns:1fr;row-gap:4px}.editor-label{padding-top:8px}.editor-inline{flex-wrap:wrap}}
