@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&family=Pirata+One&family=Fira+Sans&family=Cardo:ital,wght@0,400;0,700;1,400&family=Source+Sans+3:wght@400;500;600&display=swap";.selector-prebuilt{display:flex;flex-direction:column;gap:var(--space-2)}.selector-prebuilt .label{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:var(--color-ink-700)}.selector-prebuilt .select-wrapper{position:relative}.selector-prebuilt .select{width:100%;font-family:var(--font-ui);font-size:var(--text-base);padding:var(--space-3) var(--space-4);padding-right:var(--space-10);border:1px solid var(--color-ink-500);border-radius:var(--radius-md);background-color:var(--color-parchment-50);color:var(--color-ink-800);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234d4540' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.selector-prebuilt .select:hover{border-color:var(--color-ink-700)}.selector-prebuilt .select:focus{outline:none;border-color:var(--color-heritage);box-shadow:0 0 0 3px var(--color-heritage-bg)}.selector-prebuilt .hint{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink-500);font-style:italic;margin:0}.card-trait{background:var(--color-parchment-50);border:.0625rem solid oklch(from var(--category-border) l c h / .5);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;padding:var(--space-3) var(--space-4) var(--space-4);position:relative;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.card-trait:hover:not(.disabled){background:var(--color-card-bg-hover);border-color:var(--color-ink-700);box-shadow:var(--shadow-md)}.card-trait:focus-visible{outline:.125rem solid var(--color-accent);outline-offset:.125rem}.card-trait.selected{background-color:var(--color-card-bg-selected);outline:.0625rem solid var(--category-border);border-color:var(--category-border);box-shadow:var(--shadow-sm),inset .1875rem 0 var(--category-border)}.card-trait.selected:hover,.card-trait.selected:focus-visible,.card-trait.selected:active{box-shadow:var(--shadow-sm),inset .1875rem 0 var(--category-border)}.card-trait.disabled{background:var(--color-parchment-100);color:var(--color-ink-500);cursor:default}.card-trait.disabled:hover{transform:none;box-shadow:none}.card-trait.locked{cursor:default}.card-trait.locked:hover{box-shadow:var(--shadow-sm),inset .1875rem 0 var(--category-border)}.card-trait.required:not(:has(.option.selected)){outline:.0625rem solid var(--color-warning);box-shadow:var(--shadow-sm),inset .1875rem 0 var(--color-warning)}.card-trait.required:not(:has(.option.selected)):hover,.card-trait.required:not(:has(.option.selected)):focus-visible,.card-trait.required:not(:has(.option.selected)):active{outline:.0625rem solid var(--color-warning);box-shadow:var(--shadow-sm),inset .1875rem 0 var(--color-warning)}.card-trait:not(.selected) .pill.required{background:var(--pill-bg-required);color:var(--pill-text-required)}.card-trait:not(.selected):hover .pill.required,.card-trait:not(.selected):focus-visible .pill.required,.card-trait:not(.selected):active .pill.required{background:var(--color-warning);color:#fff}.card-trait:not(.selected):hover .pill.cost,.card-trait:not(.selected):focus-visible .pill.cost,.card-trait:not(.selected):active .pill.cost{background:oklch(from var(--pill-bg-cost) l c h / .72);color:#fff}.card-trait .header{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-1)}.card-trait .name{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--color-ink-900);margin:0;line-height:var(--leading-tight)}.card-trait .name .selected-option{color:var(--color-heritage)}.card-trait.disabled .name{color:var(--color-ink-300)}.card-trait .description{font-size:.9375rem;color:var(--color-ink-800);line-height:var(--leading-normal);margin:0;padding-right:var(--space-8)}.card-trait.disabled .description{color:var(--color-ink-400)}.card-trait .disabled-reason{margin-top:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-warning-bg);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-warning)}.card-trait .pill.requirement,.card-trait .pill.restriction{margin-top:var(--space-1);margin-left:-.25rem}.card-trait.has-options.selected{padding:var(--space-4)}.card-trait.has-options.selected .indicator{display:none}.card-trait .options{margin-top:var(--space-3);padding-top:var(--space-3);border-top:.0625rem solid var(--color-parchment-300)}.card-trait .options-label{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-600);margin-bottom:var(--space-2)}.card-trait .option{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-1);background:var(--color-parchment-100);border:.0625rem solid var(--color-parchment-400);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.card-trait .option:hover{background:var(--color-parchment-200);border-color:var(--color-ink-400)}.card-trait .option.selected{background-color:var(--color-card-bg-selected);outline:.0625rem solid var(--color-heritage);border-color:var(--color-heritage);box-shadow:inset .1875rem 0 var(--color-heritage)}.card-trait .option-radio{margin-top:.3125rem;accent-color:var(--color-heritage)}.card-trait .option-content-container{display:flex;flex:1;flex-direction:column;gap:var(--space-1)}.card-trait .option-content{display:flex;align-items:center;gap:var(--space-2);flex:1}.card-trait .option-name{display:flex;flex:1;font-family:var(--font-heading);font-size:var(--text-base);font-weight:700;color:var(--color-ink-800)}.card-trait .option-desc{width:100%;font-size:var(--text-sm);color:var(--color-ink-500);line-height:var(--leading-relaxed)}.card-trait.compact{padding:var(--space-2) var(--space-3)}.card-trait.compact .indicator{display:none}.card-trait.compact .header{margin-bottom:0}.card-trait.compact .name{display:flex;align-items:center;gap:var(--space-2)}.card-trait.compact .indicator{width:20px;height:20px;font-size:var(--text-sm);bottom:50%;transform:translateY(50%)}.card-trait.compact.selected,.card-trait.compact.required:not(:has(.option.selected)){box-shadow:var(--shadow-sm)}.main.at-budget .card-trait:not(.selected):not(:has(.pill.free)){opacity:.5;cursor:not-allowed;pointer-events:none}@keyframes highlight-flash{0%{box-shadow:0 0 0 0 var(--color-accent)}25%{box-shadow:0 0 0 4px var(--color-accent)}to{box-shadow:0 0 0 0 var(--color-accent)}}.card-trait.highlight-flash{animation:highlight-flash 1.5s ease-out}.category-trait{--category-border: var(--color-heritage);--category-background-light: var(--color-ink-400);--category-background-dark: var(--color-ink-500);--category-background-light-hover: var(--color-ink-500);--category-background-dark-hover: var(--color-ink-600);background:var(--color-parchment-100);border-radius:var(--radius-lg);overflow:hidden;break-inside:avoid}.category-trait.culture{--category-border: var(--color-culture);--category-background-light: var(--color-green-43);--category-background-dark: var(--color-green-29);--category-background-light-hover: var(--color-green-38);--category-background-dark-hover: var(--color-green-21)}.category-trait.heritage{--category-border: var(--color-red-45);--category-background-light: var(--color-red-45);--category-background-dark: var(--color-red-31);--category-background-light-hover: var(--color-red-31);--category-background-dark-hover: var(--color-red-27)}.category-trait.core-attribute{--category-border: var(--color-blue-green-50);--category-background-light: var(--color-blue-green-50);--category-background-dark: var(--color-blue-green-30);--category-background-light-hover: var(--color-blue-green-40);--category-background-dark-hover: var(--color-blue-green-21)}.category-trait.missing-required{--category-border: var(--color-warning);--category-background-light: var(--color-warning);--category-background-dark: oklch(from var(--color-warning) calc(l - .15) c h);--category-background-light-hover: oklch(from var(--color-warning) calc(l - .05) c h);--category-background-dark-hover: oklch(from var(--color-warning) calc(l - .2) c h)}.category-trait>.header{background:linear-gradient(135deg,var(--category-background-light) 0%,var(--category-background-dark) 100%);width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border:none;cursor:pointer;transition:background var(--transition-fast)}.category-trait>.header:hover,.category-trait>.header:focus-visible,.category-trait>.header:active{background:linear-gradient(135deg,var(--category-background-light-hover) 0%,var(--category-background-dark-hover) 100%)}.category-trait>.header .header-content{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.category-trait>.header .name{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:#fffffff2;margin:0}.category-trait .chevron{font-size:var(--text-base);color:var(--color-parchment-200);transition:transform var(--transition-fast);flex-shrink:0}.category-trait .chevron.expanded{transform:rotate(180deg)}.trait-category-content{background:var(--color-parchment-50);border:.0625rem solid var(--category-border);box-shadow:inset 0 0 1px .0625rem oklch(from var(--category-border) l c h / .2);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}.category-trait.collapsed .trait-category-content:not(:has(.selected-traits)){height:0;padding:0;outline:none;border:none}.trait-category-content>.description{margin-bottom:var(--space-1)}.category-trait>.description{font-size:var(--text-base);color:var(--color-ink-900)}.category-trait .trait-list{display:flex;flex-direction:column;gap:var(--space-2)}.category-trait .selected-traits{display:flex;flex-direction:column;gap:var(--space-1)}.category-trait .empty-state{color:var(--color-ink-400);font-style:italic;margin-top:var(--space-2);margin-bottom:var(--space-2)}.heritage-group{background:var(--color-parchment-100);border:.0625rem solid var(--color-parchment-400);border-radius:var(--radius-lg);overflow:hidden;break-inside:avoid}.heritage-group .group-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);background:var(--color-parchment-200);border:none;cursor:pointer;transition:background var(--transition-fast)}.heritage-group .group-header:hover{background:var(--color-parchment-300)}.heritage-group .group-header-right{display:flex;align-items:center;gap:var(--space-2)}.heritage-group .group-name{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:var(--color-ink-600);margin:0;text-transform:uppercase;letter-spacing:.05em}.heritage-group .group-header .chevron{color:var(--color-ink-500)}.heritage-group .group-content{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);background:var(--color-parchment-50)}.heritage-group .group-collapsed-content{padding:var(--space-2) var(--space-3);background:var(--color-parchment-50);display:flex;flex-direction:column;gap:var(--space-2)}.heritage-group .collapsed-category{display:flex;flex-direction:column;gap:var(--space-1)}.heritage-group .collapsed-category-name{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-heritage)}.at-budget .category-trait:not(:has(.selected))>.header{background:linear-gradient(135deg,var(--category-background-light) 0%,var(--category-background-dark) 100%)}.trait-tooltip-trigger{display:inline-flex;cursor:pointer}.trait-tooltip{z-index:1000;min-width:240px;max-width:320px;padding:var(--space-3);background:var(--color-ink-800);color:var(--color-parchment-100);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-family:var(--font-ui);pointer-events:none;animation:tooltip-fade-in .15s ease-out}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.trait-tooltip .tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.trait-tooltip .tooltip-name{font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;color:var(--color-parchment-50)}.trait-tooltip .tooltip-option{font-size:var(--text-sm);color:var(--color-parchment-300);margin-bottom:var(--space-2);padding:var(--space-1) var(--space-2);background:#ffffff14;border-radius:var(--radius-sm)}.trait-tooltip .tooltip-option .option-label{font-weight:500;color:var(--color-parchment-400)}.trait-tooltip .tooltip-description{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-parchment-200);margin:0 0 var(--space-2)}.trait-tooltip .tooltip-meta{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-ink-600)}.trait-tooltip .tooltip-meta:empty,.trait-tooltip .tooltip-meta:not(:has(*)){display:none}.layout{display:flex;flex-direction:column;gap:0}.layout>.header{background:linear-gradient(135deg,var(--color-ink-700) 0%,var(--color-ink-900) 100%);padding:var(--space-4) var(--space-8)}.layout .header-content{max-width:var(--max-width)}.layout .header-actions{gap:var(--space-2)}.layout .header-actions .selector-prebuilt label{display:flex;align-items:center;color:var(--color-parchment-50)}.layout .title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--color-parchment-300);margin:0}.sticky-toolbar{position:sticky;top:0;z-index:100;background:var(--color-parchment-50);border-bottom:1px solid var(--color-parchment-300);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.sticky-toolbar.scrolled{box-shadow:var(--shadow-md)}.sticky-toolbar .toolbar-content{display:flex;flex-direction:column;transition:all var(--transition-fast)}.sticky-toolbar .toolbar-progress{height:4px;background:var(--color-parchment-300);overflow:hidden}.sticky-toolbar .toolbar-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-heritage) 0%,var(--color-heritage-light) 100%);transition:width var(--transition-base)}.sticky-toolbar .toolbar-progress-bar.over{background:linear-gradient(90deg,var(--color-error) 0%,#b22222 100%)}.sticky-toolbar .toolbar-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-6);min-height:3rem;transition:all var(--transition-fast)}.sticky-toolbar.scrolled .toolbar-row{max-height:3.5rem;overflow:hidden}.sticky-toolbar .toolbar-points{display:flex;align-items:baseline;gap:.125rem;flex-shrink:0;padding-right:var(--space-3);border-right:1px solid var(--color-parchment-300)}.sticky-toolbar .points-spent{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-heritage);line-height:1}.sticky-toolbar .points-spent.over{color:var(--color-error)}.sticky-toolbar .points-divider{font-size:var(--text-base);color:var(--color-ink-500)}.sticky-toolbar .points-total{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-ink-700)}.sticky-toolbar .points-label{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-ink-500);margin-left:var(--space-1)}.sticky-toolbar .toolbar-pills{display:flex;align-items:center;gap:.125rem var(--space-1);flex:1;flex-wrap:wrap;overflow:hidden}.sticky-toolbar .pills-label{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-500);flex-shrink:0}.sticky-toolbar .no-pills{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-ink-400);font-style:italic}.sticky-toolbar .toolbar-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto}.sticky-toolbar .warning-indicator{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-sm);cursor:help}.sticky-toolbar .warning-icon{font-size:var(--text-base);color:var(--color-warning)}.sticky-toolbar .warning-tooltip{position:absolute;top:100%;right:0;margin-top:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-ink-800);color:var(--color-parchment-100);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-family:var(--font-ui);font-size:var(--text-sm);min-width:240px;max-width:320px;z-index:200;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all var(--transition-fast)}.sticky-toolbar .warning-indicator:hover .warning-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.sticky-toolbar .warning-item{padding:var(--space-1) 0;border-bottom:1px solid var(--color-ink-600)}.sticky-toolbar .warning-item:last-child{border-bottom:none}.sticky-toolbar .summary-btn{flex-shrink:0}.layout .main{padding:var(--space-4) var(--space-6);overflow-y:auto}.layout .section{margin-bottom:var(--space-8)}.layout .section-header{gap:var(--space-4);margin:0 0 var(--space-2)}.layout .section-title{align-items:center;color:var(--color-ink-800);display:flex;font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;gap:var(--space-2)}.layout .section-header-controls{display:flex;flex-direction:row;align-items:flex-end;gap:var(--space-1)}.layout .section-limit{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:400;color:var(--color-ink-500);margin-left:var(--space-2)}.layout .section-desc{font-size:var(--text-base);color:var(--color-ink-600);margin:0 0 var(--space-4);max-width:700px}.layout .core-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.layout .heritage-grid,.layout .culture-grid{column-count:3;column-gap:var(--space-4)}.layout .heritage-grid>*,.layout .culture-grid>*{margin-bottom:var(--space-4)}.layout>.footer{grid-area:footer;padding:var(--space-4) var(--space-6);background:var(--color-ink-900);color:var(--color-parchment-400);text-align:center;font-family:var(--font-ui);font-size:var(--text-sm)}.layout>.footer p{margin:0}@media (max-width: 1366px){.layout .heritage-grid,.layout .culture-grid{column-count:2}}@media (max-width: 1024px){.sticky-toolbar .toolbar-row{flex-wrap:wrap}.sticky-toolbar .toolbar-pills{order:3;flex-basis:100%;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-parchment-300)}.sticky-toolbar.scrolled .toolbar-pills{display:none}}@media (max-width: 900px){.layout .heritage-grid,.layout .culture-grid{column-count:1}}@media (max-width: 640px){.layout>.header{padding:var(--space-3) var(--space-4)}.layout .title{font-size:var(--text-xl)}.sticky-toolbar .toolbar-row{padding:var(--space-2) var(--space-4);gap:var(--space-2)}.sticky-toolbar .pills-label{display:none}.layout .main{padding:var(--space-4)}.layout .core-grid{grid-template-columns:1fr}.layout .heritage-grid,.layout .culture-grid{column-count:1}}.panel-summary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a161099;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end;z-index:1000;animation:fadeIn var(--transition-fast) ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.panel-summary{width:100%;max-width:480px;height:100%;background:var(--color-parchment-50);box-shadow:-4px 0 20px #1a161033;display:flex;flex-direction:column;animation:slideIn var(--transition-base) ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.panel-summary .header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);background:var(--color-ink-800);border-bottom:3px solid var(--color-accent)}.panel-summary .title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-parchment-100);margin:0}.panel-summary .close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);color:var(--color-parchment-300);background:transparent;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.panel-summary .close-btn:hover{background:#ffffff1a;color:var(--color-parchment-100)}.panel-summary .content{flex:1;padding:var(--space-6);overflow-y:auto}.panel-summary .prebuilt-pill{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-culture);background:var(--color-culture-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.panel-summary .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);padding:var(--space-4);background:var(--color-parchment-200);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.panel-summary .stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.panel-summary .stat-value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-heritage);text-transform:capitalize}.panel-summary .stat-label{font-family:var(--font-ui);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-500)}.panel-summary .warnings{margin-bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.panel-summary .warning{font-family:var(--font-ui);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.panel-summary .warning.warning{color:var(--color-warning);background:var(--color-warning-bg)}.panel-summary .warning.info{color:var(--color-culture);background:var(--color-culture-bg)}.panel-summary .empty{text-align:center;color:var(--color-ink-500);font-style:italic;padding:var(--space-8) 0}.panel-summary .trait-lists{display:flex;flex-direction:column;gap:var(--space-6)}.panel-summary .trait-section{display:flex;flex-direction:column;gap:var(--space-3)}.panel-summary .section-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-ink-800);margin:0;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-parchment-300)}.panel-summary .trait-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;padding:0;margin:0}.panel-summary .trait-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-parchment-100);border-radius:var(--radius-sm);border:1px solid transparent;transition:all var(--transition-fast)}.panel-summary .pill-wrapper:hover .trait-item{background:var(--color-parchment-200);border-color:var(--color-parchment-400)}.panel-summary .trait-info{display:flex;flex-direction:column;gap:2px}.panel-summary .trait-name{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-ink-800)}.panel-summary .trait-category{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-ink-500);text-transform:uppercase;letter-spacing:.03em}.panel-summary .footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);background:var(--color-parchment-200);border-top:1px solid var(--color-parchment-300)}.panel-summary .export-btns{display:flex;gap:var(--space-2)}:root{--font-display: "New Spirit", "Lapture", "Modesto Condensed", "Palatino Linotype", serif;--font-heading: "Lapture", "Source Serif 4", "Palatino Linotype", serif;--font-body: "Source Sans 3", "Fira Sans", "Cardo", "Roboto", "Helvetica", "Arial", sans-serif;--font-ui: "Trade Gothic Next LT Pro Cn", "Segoe UI", system-ui, sans-serif;--font-mono: "Fira Code", "Consolas", monospace;--text-xs: .8125rem;--text-sm: 1rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.5rem;--leading-tight: 1.25;--leading-normal: 1.3125;--leading-relaxed: 1.5;--color-parchment-50: rgba(251, 250, 247, 1);--color-parchment-100: #f9f6ef;--color-parchment-200: #f0ead8;--color-parchment-300: #e4dbc0;--color-parchment-400: #d4c9a8;--color-ink-900: #1a1610;--color-ink-800: #2d2820;--color-ink-700: #3d3730;--color-ink-600: #4d4540;--color-ink-500: #635850;--color-ink-400: #796d63;--color-heritage: #8b4513;--color-heritage-light: #a0522d;--color-heritage-dark: #6b3410;--color-heritage-bg: rgba(139, 69, 19, .08);--color-card-bg-hover: rgba(255, 255, 255, .75);--color-card-bg-selected: rgba(255, 255, 255, .95);--color-culture: #2e5a4c;--color-culture-light: #3d7a65;--color-culture-dark: #1e3a32;--color-culture-bg: rgba(46, 90, 76, .08);--color-accent: #8b6914;--color-accent-light: #b8922a;--color-accent-dark: #745812;--color-warning: #b8860b;--color-warning-bg: rgba(184, 134, 11, .1);--color-error: #8b0000;--color-error-bg: rgba(139, 0, 0, .1);--color-success: #228b22;--color-success-bg: rgba(34, 139, 34, .1);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--border-thin: 1px solid var(--color-ink-500);--border-decorative: 2px solid var(--color-accent);--shadow-sm: 0 1px 2px rgba(26, 22, 16, .1);--shadow-md: 0 4px 6px rgba(26, 22, 16, .12);--shadow-lg: 0 10px 15px rgba(26, 22, 16, .15);--shadow-inset: inset 0 2px 4px rgba(26, 22, 16, .08);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--max-width: 1200px;--sidebar-width: 320px;--header-height: 64px;--pill-bg-default: rgba(228, 219, 192, 1);--pill-text-default: rgba(77, 69, 64, 1);--pill-bg-restricted: rgba(190, 40, 53, .16);--pill-text-restricted: rgba(133, 28, 37, 1);--pill-bg-required: rgba(184, 134, 11, .16);--pill-text-required: rgba(133, 102, 28, 1);--pill-bg-free: rgba(46, 90, 76, .16);--pill-text-free: rgba(30, 58, 50, 1);--pill-bg-cost: rgba(139, 105, 20, 1);--pill-text-cost: rgba(250, 250, 250, 1);--pill-bg-size: rgba(212, 201, 168, 1);--pill-text-size: rgba(77, 69, 64, 1);--color-gold-94: rgba(240, 240, 225, 1);--color-gold-89: rgba(226, 208, 168, 1);--color-gold-75: rgba(192, 173, 129, 1);--color-gold-62: rgba(159, 146, 117, 1);--color-gold-56: rgb(127, 110, 69);--color-gold-45: rgb(115, 99, 63);--color-red: rgba(116, 27, 43, 1);--color-red-100: rgba(255, 0, 0, 1);--color-red-60: rgba(154, 42, 48, 1);--color-red-45: rgba(116, 27, 43, 1);--color-red-31: rgba(80, 0, 0, 1);--color-red-27: rgba(68, 25, 26, 1);--color-orange: rgba(179, 99, 25, 1);--color-orange-100: rgba(255, 100, 0, 1);--color-orange-97: rgba(248, 117, 88, 1);--color-orange-70: rgba(179, 99, 25, 1);--color-orange-55: rgba(170, 78, 20, 1);--color-orange-40: rgba(101, 56, 14, 1);--color-yellow: rgba(255, 182, 42, 1);--color-yellow-100: rgba(255, 182, 42, 1);--color-green: rgba(55, 109, 71, 1);--color-green-68: rgba(114, 173, 17, 1);--color-green-65: rgba(59, 165, 93, 1);--color-green-43: rgba(55, 109, 71, 1);--color-green-38: rgba(49, 95, 63, 1);--color-green-29: rgba(27, 75, 41, 1);--color-green-21: rgba(19, 53, 29, 1);--color-blue: rgba(31, 76, 145, 1);--color-blue-70: rgba(36, 124, 178, 1);--color-blue-57: rgba(31, 76, 145, 1);--color-blue-33: rgba(18, 44, 84, 1);--color-blue-green: rgba(2, 90, 128, 1);--color-blue-green-50: rgba(2, 90, 128, 1);--color-blue-green-40: rgb(2, 84, 119);--color-blue-green-30: rgba(1, 54, 77, 1);--color-blue-green-21: rgba(1, 36, 49, 1)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{text-wrap:balance}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer}ul,ol{list-style:none}summary{cursor:pointer}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{font-size:16px}body{font-family:var(--font-body);font-weight:410;font-size:var(--text-base);color:var(--color-ink-800);background-color:var(--color-parchment-100);background-image:radial-gradient(ellipse at top,var(--color-parchment-50) 0%,transparent 50%),radial-gradient(ellipse at bottom right,var(--color-parchment-200) 0%,transparent 40%);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-weight:700;color:var(--color-ink-900);line-height:var(--leading-tight)}h1{font-weight:900;font-family:var(--font-display);font-size:var(--text-3xl)}h2{font-weight:900;font-family:var(--font-heading);font-size:var(--text-2xl)}h3{font-family:var(--font-heading);font-size:var(--text-lg)}h4{font-family:var(--font-heading);font-size:var(--text-base)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}small{font-size:var(--text-sm)}strong{font-weight:600}a{color:var(--color-heritage);transition:color var(--transition-fast)}a:hover{color:var(--color-heritage-light)}.flex1{flex:1}.flexshrink{flex:0 1 auto}.flexcol{display:flex;flex-direction:column}.flexrow{display:flex;flex-direction:row}.uppercase{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-heritage{color:var(--color-heritage)}.text-culture{color:var(--color-culture)}.text-warning{color:var(--color-warning)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-parchment-200)}::-webkit-scrollbar-thumb{background:var(--color-ink-500);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-ink-600)}.pill{display:inline-flex;align-items:center;flex:0 1 fit-content;padding:0 .375rem .125rem;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:2%;border-radius:var(--radius-sm);white-space:nowrap;background:var(--pill-bg-default);color:var(--pill-text-default);width:fit-content}.pill .points{font-variation-settings:"wght" 640}.pill.cost{background:oklch(from var(--pill-bg-cost) l c h / .16);color:oklch(from var(--pill-bg-cost) calc(l*.88) c h);flex-shrink:0}.pill.cost.selected,.card-trait.selected .pill.cost,.option.selected .pill.cost{background:var(--pill-bg-cost);color:var(--pill-text-cost)}.pill.cost.free,.pill.free{background:var(--pill-bg-free);color:var(--pill-text-free)}.pill.required{background:var(--color-warning);color:#fff}.pill.restriction{background:var(--pill-bg-restricted);color:var(--pill-text-restricted)}.pill.requirement{background:var(--pill-bg-required);color:var(--pill-text-required)}.pill.size{background:var(--pill-bg-size);color:var(--pill-text-size)}.pill.selected-option{font-weight:500;background:var(--pill-bg-free);color:var(--pill-text-free);border:.0625rem solid var(--pill-text-free)}.pill.type{text-transform:uppercase;letter-spacing:.05em}.pill.type.heritage{background:var(--color-heritage-bg);color:var(--color-heritage-light)}.pill.type.culture{background:var(--color-culture-bg);color:var(--color-culture-light)}.pill.type.core{background:var(--color-gold-89);color:var(--color-gold-45)}.pill.type.on-dark{background:#ffffff29;color:#ffffffb8;border:.0625rem solid rgba(255,255,255,.24)}.pill.trait{text-transform:none;font-size:.875rem;font-weight:500;padding:.0625rem .375rem .125rem;background:var(--color-parchment-200);color:var(--color-ink-700);border:1px solid var(--color-parchment-300);transition:all var(--transition-fast);cursor:pointer}.pill.trait:hover{background:var(--color-parchment-300);border-color:var(--color-ink-400);color:var(--color-ink-800)}.pill.count{font-weight:600;padding:.125rem var(--space-2);background:#ffffff40;color:var(--color-parchment-100)}.pill.count.heritage{background:var(--color-heritage);color:#fff}.pill.count.culture{background:var(--color-culture);color:#fff}.pill.dark{background:var(--color-gold-56);color:var(--color-parchment-50)}.pill.dark.free{background:var(--color-green-38)}.pill.spaced{margin-top:var(--space-2);margin-right:var(--space-1)}.pill-wrapper{display:inline-flex;cursor:pointer}.pill-wrapper.block{display:block}.btn{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;padding:.4375rem var(--space-4) .5625rem;border-radius:var(--radius-sm);transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn-primary{background-color:var(--color-heritage);color:var(--color-parchment-50);border:1px solid var(--color-heritage-dark)}.btn-primary:hover{background-color:var(--color-heritage-light)}.btn-secondary{background-color:transparent;color:var(--color-ink-700);border:1px solid var(--color-ink-500)}.btn-secondary:hover{background-color:var(--color-parchment-200);border-color:var(--color-ink-700)}.btn-small{padding:.0625rem var(--space-2) .1875rem}select{font-family:var(--font-ui);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border:1px solid var(--color-ink-500);border-radius:var(--radius-sm);background-color:var(--color-parchment-50);cursor:pointer}select:hover{border-color:var(--color-ink-700)}
