:root{--color-path-intro:#8899b0;--color-path-p5:#4a90d9;--color-path-p6:#5e3a8c;--color-path-p7:#b84fa0;--color-path-p8:#3da86a;--color-path-p28:#2b5fa8;--color-path-p29:#2aa8e0;--color-path-p61:#c9a020;--color-path-p65:#505565;--color-path-p69:#c43434;--color-path-p78:#c96520;--color-path-p81:#d4bf90;--color-path-side:#707888;--color-status-available:#38c0f5;--color-status-complete:#5dd87a;--color-status-locked:#b03a2e;--color-status-unavailable:#5c6070;--color-bg:#1a1d23;--color-surface:#22262e;--color-surface-raised:#2c3140;--color-border:#383d4a;--color-overlay:#0009;--color-text-primary:#e8e8e8;--color-text-secondary:#9aa0b0;--color-text-muted:#5c6070;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--transition-fast:.12s ease;--transition-base:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text-primary);min-height:100vh;font-family:Georgia,serif;font-size:16px;line-height:1.5}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}h1,h2,h3,h4{line-height:1.2}ul{list-style:none}.auth-gate__loading{background-color:var(--color-bg);position:fixed;inset:0}.auth-gate{background-color:var(--color-bg);min-height:100dvh;padding:var(--space-lg);justify-content:center;align-items:center;display:flex}.auth-gate__card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:360px;padding:var(--space-xl);gap:var(--space-lg);flex-direction:column;display:flex}.auth-gate__brand{text-align:center}.auth-gate__title{color:var(--color-text-primary);letter-spacing:.02em;font-size:1.5rem}.auth-gate__form{gap:var(--space-sm);flex-direction:column;display:flex}.auth-gate__label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-family:sans-serif;font-size:.8rem;font-weight:600}.auth-gate__input{width:100%;padding:var(--space-sm) var(--space-md);background-color:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);transition:border-color var(--transition-fast);box-sizing:border-box;outline:none;font-family:sans-serif;font-size:.95rem}.auth-gate__input:focus{border-color:var(--color-status-available)}.auth-gate__input:disabled{opacity:.5}.auth-gate__error{color:var(--color-status-locked);margin:0;font-family:sans-serif;font-size:.85rem}.auth-gate__btn{margin-top:var(--space-xs);padding:var(--space-sm) var(--space-md);background-color:var(--color-status-available);color:#0a1520;border-radius:var(--radius-sm);letter-spacing:.02em;transition:opacity var(--transition-fast);cursor:pointer;font-family:sans-serif;font-size:.9rem;font-weight:700}.auth-gate__btn:hover:not(:disabled){opacity:.85}.auth-gate__btn:disabled{opacity:.4;cursor:not-allowed}.filter-bar{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--color-border);background-color:var(--color-surface);display:flex}.filter-bar__toggle{align-items:center;gap:var(--space-xs);color:var(--color-text-muted);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);transition:color var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;background-color:#0000;border-radius:99px;font-family:sans-serif;font-size:.8rem;display:flex}.filter-bar__toggle:hover{color:var(--color-text-secondary)}.filter-bar__toggle--on{color:var(--color-text-secondary);border-color:var(--color-text-muted)}.filter-bar__toggle-pip{border:1px solid var(--color-text-muted);width:10px;height:10px;transition:background-color var(--transition-fast);background-color:#0000;border-radius:50%;flex-shrink:0}.filter-bar__toggle--on .filter-bar__toggle-pip{background-color:var(--color-text-secondary);border-color:var(--color-text-secondary)}.path-legend{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background-color:var(--color-surface)}.path-legend__heading{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--space-sm);font-family:sans-serif;font-size:.75rem;font-weight:600}.path-legend__list{gap:var(--space-sm) var(--space-md);flex-wrap:wrap;display:flex}.path-legend__item{align-items:center;gap:var(--space-xs);display:flex}.path-legend__swatch{border-radius:50%;flex-shrink:0;width:12px;height:12px}.path-legend__label{color:var(--color-text-secondary);font-family:sans-serif;font-size:.8rem}.scenario-tags{flex-wrap:wrap;align-items:center;display:flex}.scenario-tags--compact{gap:3px;margin-top:4px}.scenario-tags--full{align-items:stretch;gap:var(--space-xs);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border);flex-direction:column}.scenario-tag--compact{border-radius:var(--radius-sm);background-color:color-mix(in srgb, var(--tag-color) 15%, transparent);border:1px solid color-mix(in srgb, var(--tag-color) 35%, transparent);color:var(--tag-color);align-items:center;gap:2px;padding:1px 4px;line-height:1;display:inline-flex}.scenario-tag__detail{font-family:monospace;font-size:.65rem;font-weight:700}.scenario-tag--full{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background-color:color-mix(in srgb, var(--tag-color) 12%, transparent);border:1px solid color-mix(in srgb, var(--tag-color) 30%, transparent);color:var(--tag-color);font-family:sans-serif;font-size:.9rem;line-height:1.4;display:flex}.scenario-tag__label{color:var(--color-text-secondary)}.scenario-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;width:100%;transition:border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);cursor:pointer;flex-direction:row;display:flex;position:relative;overflow:hidden}.scenario-card:hover{border-color:var(--path-color,var(--color-border));transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.scenario-card--selected{border-color:var(--path-color,var(--color-border));box-shadow:0 0 0 2px var(--path-color,transparent)}.scenario-card__linked-stripe{opacity:.85;background-color:#e07820;height:3px;position:absolute;top:0;left:0;right:0}.scenario-card__path-bar{background-color:var(--path-color,#888);opacity:.9;flex-shrink:0;width:5px}.scenario-card__body{padding:var(--space-sm) var(--space-md);flex:1;min-width:0;position:relative}.scenario-card__status-icon{top:var(--space-sm);right:var(--space-sm);position:absolute}.scenario-card__status-icon--complete{color:var(--color-status-complete)}.scenario-card__status-icon--locked{color:var(--color-status-locked)}.scenario-card__header{align-items:center;gap:var(--space-xs);margin-bottom:2px;display:flex}.scenario-card__number{color:var(--color-text-muted);font-family:monospace;font-size:.75rem}.scenario-card__title{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.scenario-card__status-label{margin-top:2px;font-family:sans-serif;font-size:.75rem;display:inline-block}.scenario-card--available .scenario-card__status-label{color:var(--color-status-available)}.scenario-card--complete .scenario-card__status-label{color:var(--color-status-complete)}.scenario-card--complete .scenario-card__title{opacity:.75;text-decoration:line-through}.scenario-card--locked{opacity:.55}.scenario-card--locked .scenario-card__status-label{color:var(--color-status-locked)}.scenario-card--unavailable{opacity:.45;cursor:default}.scenario-card--unavailable .scenario-card__status-label{color:var(--color-status-unavailable)}.scenario-board{padding:var(--space-lg);flex-direction:column;flex:1;gap:0;display:flex;overflow:auto}.scenario-board--empty{padding:var(--space-xl);justify-content:center;align-items:center;display:flex}.scenario-board__empty-msg{color:var(--color-text-muted);font-family:sans-serif;font-size:.9rem}.scenario-board__row{align-items:flex-start;gap:var(--space-md);min-width:max-content;padding-bottom:var(--space-lg);flex-direction:row;display:flex}.scenario-board__divider{align-items:center;gap:var(--space-sm);min-width:max-content;padding:var(--space-sm) 0 var(--space-md);display:flex}.scenario-board__divider:before,.scenario-board__divider:after{content:"";background-color:var(--color-border);flex:1;min-width:24px;height:1px}.scenario-board__divider-label{text-transform:uppercase;letter-spacing:.09em;color:var(--color-text-muted);white-space:nowrap;font-family:sans-serif;font-size:.7rem;font-weight:600}.scenario-col{gap:var(--space-sm);flex-direction:column;flex-shrink:0;width:220px;display:flex}.scenario-col--no-header{padding-top:0}.scenario-col__header{align-items:center;gap:var(--space-xs);padding-bottom:var(--space-sm);border-bottom:2px solid var(--path-color,var(--color-border));margin-bottom:var(--space-xs);display:flex}.scenario-col__swatch{background-color:var(--path-color,#888);border-radius:50%;flex-shrink:0;width:10px;height:10px}.scenario-col__label{text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-family:sans-serif;font-size:.75rem;font-weight:600;overflow:hidden}.scenario-col__items{gap:var(--space-sm);flex-direction:column;min-height:0;display:flex}.or-group{gap:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm);background-color:var(--color-surface-raised);flex-direction:column;display:flex}.or-group__label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);text-align:center;padding-bottom:var(--space-xs);border-bottom:1px dashed var(--color-border);font-family:sans-serif;font-size:.65rem;font-weight:700}.or-group__items{gap:var(--space-xs);flex-direction:column;display:flex}.confirm-modal__overlay{background-color:var(--color-overlay);z-index:200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal{background-color:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);width:90%;max-width:420px}.confirm-modal__title{color:var(--color-text-primary);margin-bottom:var(--space-sm);font-size:1.1rem}.confirm-modal__message{color:var(--color-text-secondary);margin-bottom:var(--space-lg);font-size:.9rem;line-height:1.6}.confirm-modal__actions{gap:var(--space-sm);justify-content:flex-end;display:flex}.confirm-modal__btn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:opacity var(--transition-fast);font-size:.9rem;font-weight:600}.confirm-modal__btn:hover{opacity:.85}.confirm-modal__btn--cancel{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.confirm-modal__btn--confirm{background-color:var(--color-status-locked);color:#fff}.scenario-detail__backdrop{background-color:var(--color-overlay);z-index:90;position:fixed;inset:0}.scenario-detail{background-color:var(--color-surface);border-left:1px solid var(--color-border);z-index:100;flex-direction:column;width:380px;max-width:95vw;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden}.scenario-detail__header{border-bottom:1px solid var(--color-border);flex-direction:row;flex-shrink:0;align-items:stretch;display:flex}.scenario-detail__path-bar{background-color:var(--path-color,#888);flex-shrink:0;width:6px}.scenario-detail__header-content{padding:var(--space-md);flex:1;min-width:0}.scenario-detail__number{color:var(--color-text-muted);font-family:monospace;font-size:.75rem}.scenario-detail__title{color:var(--color-text-primary);margin-top:2px;margin-bottom:var(--space-sm);font-size:1.25rem}.scenario-detail__badges{gap:var(--space-xs);flex-wrap:wrap;display:flex}.scenario-detail__path-badge,.scenario-detail__status-badge,.scenario-detail__linked-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);border:1px solid;padding:1px 6px;font-family:sans-serif;font-size:.72rem;font-weight:600}.scenario-detail__path-badge{background-color:#0000}.scenario-detail__status-badge--available{color:var(--color-status-available);border-color:var(--color-status-available)}.scenario-detail__status-badge--complete{color:var(--color-status-complete);border-color:var(--color-status-complete)}.scenario-detail__status-badge--locked{color:var(--color-status-locked);border-color:var(--color-status-locked)}.scenario-detail__status-badge--unavailable{color:var(--color-text-muted);border-color:var(--color-text-muted)}.scenario-detail__linked-badge{color:var(--color-status-available);border-color:var(--color-status-available)}.scenario-detail__close{padding:var(--space-md);color:var(--color-text-muted);transition:color var(--transition-fast);flex-shrink:0;align-self:flex-start;font-size:1rem}.scenario-detail__close:hover{color:var(--color-text-primary)}.scenario-detail__body{padding:var(--space-lg);gap:var(--space-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.scenario-detail__description{color:var(--color-text-secondary);font-size:.95rem;line-height:1.7}.scenario-detail__section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--space-sm);font-family:sans-serif;font-size:.72rem;font-weight:600}.scenario-detail__scenario-list{gap:var(--space-xs);flex-direction:column;display:flex}.scenario-detail__scenario-ref{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface-raised);color:var(--color-text-secondary);font-family:sans-serif;font-size:.875rem;display:flex}.scenario-detail__scenario-ref--complete{color:var(--color-status-complete);border-color:#2e6fba4d}.scenario-detail__scenario-ref--locked{color:var(--color-status-locked);opacity:.7;border-color:#b03a2e4d}.scenario-detail__scenario-ref--unlock{color:var(--color-status-available);border-color:#4caf8a4d}.scenario-detail__scenario-ref--lock{color:var(--color-status-locked);border-color:#b03a2e4d}.scenario-detail__ref-number{color:var(--color-text-muted);min-width:28px;font-family:monospace;font-size:.75rem}.scenario-detail__actions{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);gap:var(--space-sm);flex-direction:column;flex-shrink:0;display:flex}.scenario-detail__action-btn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:opacity var(--transition-fast);text-align:center;font-family:sans-serif;font-size:.9rem;font-weight:600}.scenario-detail__action-btn:hover{opacity:.85}.scenario-detail__action-btn--complete{background-color:var(--color-status-complete);color:#fff}.scenario-detail__action-btn--lock{border:1px solid var(--color-status-locked);color:var(--color-status-locked);background-color:#0000}.scenario-detail__action-btn--reset{border:1px solid var(--color-border);color:var(--color-text-secondary);background-color:#0000;font-size:.8rem}.scenario-detail__action-btn--linked{color:#e07820;opacity:.7;background-color:#0000;border:1px solid #e0782066;font-size:.8rem}.scenario-detail__action-btn--linked-active{opacity:1;background-color:#e0782026}.campaign-sheet{padding:var(--space-lg);gap:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.cs-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);gap:var(--space-sm);flex-direction:column;display:flex}.cs-section__title{text-transform:uppercase;letter-spacing:.09em;color:var(--color-text-muted);font-family:sans-serif;font-size:.7rem;font-weight:700}.cs-section__header{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.cs-divider{background-color:var(--color-border);height:1px;margin:var(--space-xs) 0}.cs-main-grid{gap:var(--space-md);grid-template-columns:260px 1fr;align-items:start;display:grid}.cs-right-col{gap:var(--space-md);flex-direction:column;display:flex}.cs-bottom-grid{gap:var(--space-md);grid-template-columns:1fr 1fr 1fr;align-items:start;display:grid}.cs-btn{align-items:center;gap:var(--space-xs);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast);border:none;padding:5px 10px;font-family:sans-serif;font-size:.8rem;display:inline-flex}.cs-btn--primary{background-color:var(--color-status-available);color:#0a1520;font-weight:600}.cs-btn--primary:hover{filter:brightness(1.1)}.cs-btn--primary:disabled{opacity:.4;cursor:default}.cs-btn--secondary{background-color:var(--color-surface-raised);color:var(--color-text-secondary);border:1px solid var(--color-border)}.cs-btn--secondary:hover{background-color:var(--color-border)}.cs-btn--secondary:disabled{opacity:.4;cursor:default}.cs-btn--icon{background-color:var(--color-surface-raised);color:var(--color-text-secondary);border:1px solid var(--color-border);flex-shrink:0;padding:5px}.cs-btn--icon:hover{background-color:var(--color-border);color:var(--color-text-primary)}.cs-btn--remove{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;display:flex}.cs-btn--remove:hover{color:var(--color-status-locked)}.cs-counter{background-color:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-shrink:0;align-items:center;gap:0;display:inline-flex;overflow:hidden}.cs-counter__btn{color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;padding:3px 8px;font-size:1rem;line-height:1}.cs-counter__btn:hover:not(:disabled){background-color:var(--color-border);color:var(--color-text-primary)}.cs-counter__btn:disabled{opacity:.3;cursor:default}.cs-counter__input{text-align:center;width:38px;color:var(--color-text-primary);cursor:text;background:0 0;border:none;padding:2px 4px;font-family:monospace;font-size:.9rem}.cs-counter__input:focus{background-color:var(--color-bg);border-radius:2px;outline:none}.cs-counter__input::-webkit-inner-spin-button{-webkit-appearance:none}.cs-counter__input::-webkit-outer-spin-button{-webkit-appearance:none}.cs-counter__input{-moz-appearance:textfield}.cs-stat-row{align-items:center;gap:var(--space-sm);display:flex}.cs-stat-row--inline{margin-left:auto}.cs-stat-label{color:var(--color-text-secondary);flex:1;font-family:sans-serif;font-size:.85rem}.cs-time-track .cs-section__header{justify-content:space-between}.cs-time-track__current{color:var(--color-status-available);font-family:sans-serif;font-size:.8rem;font-weight:600}.cs-time-track__controls{gap:var(--space-sm);margin-left:auto;display:flex}.cs-time-track__layout{gap:var(--space-md);align-items:flex-start;display:flex;overflow-x:auto}.cs-time-track__grid{gap:var(--space-sm);flex-direction:column;flex-shrink:0;display:flex}.cs-time-track__year-row{align-items:flex-start;gap:var(--space-sm);min-width:max-content;display:flex}.cs-time-track__notes-panel{gap:var(--space-xs);width:220px;padding:var(--space-xs) var(--space-sm);background-color:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;flex-shrink:0;align-self:stretch;display:flex}.cs-time-track__year-label{color:var(--color-text-muted);text-align:right;flex-shrink:0;width:22px;padding-top:10px;font-family:monospace;font-size:.65rem}.cs-time-track__seasons-row{gap:var(--space-md);align-items:flex-start;display:flex}.cs-time-track__season-group{align-items:flex-start;gap:var(--space-xs);padding-top:4px;display:flex}.cs-time-track__blocks{gap:3px;display:flex}.cs-time-notes__heading{align-items:center;gap:var(--space-xs);color:var(--color-text-secondary);font-family:sans-serif;font-size:.78rem;font-weight:600;display:flex}.cs-time-notes__list{flex-direction:column;gap:3px;display:flex}.cs-time-notes__hint{color:var(--color-text-muted);padding-top:10px;font-family:sans-serif;font-size:.72rem;font-style:italic}.cs-time-block{border-radius:var(--radius-sm);cursor:pointer;width:50px;min-height:40px;transition:background-color var(--transition-fast), border-color var(--transition-fast);text-align:left;border:1px solid #0000;flex-direction:column;flex-shrink:0;justify-content:flex-start;align-items:stretch;padding:3px 4px;display:flex}.cs-time-block__top{justify-content:space-between;align-items:center;width:100%;display:flex}.cs-time-block__week{color:var(--color-text-muted);font-family:monospace;font-size:.6rem;line-height:1.2}.cs-time-block__marker{color:var(--color-text-primary);font-size:.6rem;line-height:1.2}.cs-time-block__notes{flex-direction:column;gap:1px;margin-top:2px;display:flex}.cs-time-block__note-line{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-family:sans-serif;font-size:.7rem;line-height:1.2;overflow:hidden}.cs-time-block__note-more{color:var(--color-text-muted);font-family:monospace;font-size:.5rem}.cs-time-block--summer{background-color:color-mix(in srgb, #c9a020 12%, var(--color-surface-raised));border-color:#c9a02040}.cs-time-block--summer:hover{background-color:color-mix(in srgb, #c9a020 22%, var(--color-surface-raised))}.cs-time-block--winter{background-color:color-mix(in srgb, #70b0e0 12%, var(--color-surface-raised));border-color:#70b0e040}.cs-time-block--winter:hover{background-color:color-mix(in srgb, #70b0e0 22%, var(--color-surface-raised))}.cs-time-block--past.cs-time-block--summer{background-color:color-mix(in srgb, #c9a020 30%, var(--color-surface-raised))}.cs-time-block--past.cs-time-block--winter{background-color:color-mix(in srgb, #70b0e0 30%, var(--color-surface-raised))}.cs-time-block--current{border-color:var(--color-text-primary)!important}.cs-time-block--current .cs-time-block__week{opacity:1}.cs-time-block--current.cs-time-block--summer{background-color:color-mix(in srgb, #c9a020 45%, var(--color-surface-raised))}.cs-time-block--current.cs-time-block--winter{background-color:color-mix(in srgb, #70b0e0 45%, var(--color-surface-raised))}.cs-time-block--focused{outline:2px solid var(--color-status-available);outline-offset:-2px}.cs-sticker-chip--note{background-color:color-mix(in srgb, #c9a020 12%, var(--color-surface-raised));color:var(--color-text-primary);border-color:#c9a0204d}.cs-resource-group{flex-direction:column;gap:4px;display:flex}.cs-resource-group+.cs-resource-group{padding-top:var(--space-xs);border-top:1px solid var(--color-border)}.cs-resource-group__label{text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);margin-bottom:2px;font-family:sans-serif;font-size:.65rem;font-weight:600}.cs-resource-row{align-items:center;gap:var(--space-sm);display:flex}.cs-resource-label{color:var(--color-text-secondary);flex:1;font-family:sans-serif;font-size:.85rem}.cs-morale-label{font-size:.8rem;font-style:italic}.cs-morale-unlock{align-items:center;gap:var(--space-xs);color:#c9a020;background-color:color-mix(in srgb, #c9a020 10%, var(--color-surface-raised));border-radius:var(--radius-sm);padding:5px var(--space-sm);cursor:pointer;text-align:left;width:100%;transition:background-color var(--transition-fast);border:1px solid #c9a0204d;font-family:sans-serif;font-size:.82rem;display:flex}.cs-morale-unlock:hover{background-color:color-mix(in srgb, #c9a020 18%, var(--color-surface-raised))}.cs-morale-unlock--done{color:#5dd87a;background-color:color-mix(in srgb, #5dd87a 10%, var(--color-surface-raised));border-color:#5dd87a4d}.cs-morale-unlock--done span{opacity:.7;text-decoration:line-through}.cs-stat-note{color:var(--color-text-muted);font-size:.72rem;font-style:italic}.cs-morale-bar{flex-wrap:wrap;gap:3px;display:flex}.cs-morale-pip{border:1px solid var(--color-border);background-color:var(--color-surface-raised);cursor:pointer;width:18px;height:18px;transition:background-color var(--transition-fast);border-radius:50%;flex-shrink:0;padding:0}.cs-morale-pip:hover{border-color:#c9a020}.cs-morale-pip--filled{background-color:#c9a020;border-color:#c9a020}.cs-morale-pip__book{background-color:#fff;border-radius:50%;width:4px;height:4px;position:absolute;top:2px;right:2px}.cs-morale-pip{position:relative}.cs-defence-total{background-color:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);flex-direction:column;gap:2px;display:flex}.cs-defence-total__label{text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);font-family:sans-serif;font-size:.65rem;font-weight:700}.cs-defence-total__value{color:var(--color-text-primary);font-family:monospace;font-size:1.8rem;font-weight:700;line-height:1}.cs-defence-total__breakdown{color:var(--color-text-muted);font-family:sans-serif;font-size:.7rem}.cs-prosperity-track{flex-wrap:wrap;gap:4px;display:flex}.cs-prosperity-pip{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface-raised);width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;font-family:monospace;font-size:.7rem;display:flex}.cs-prosperity-pip:hover{color:#c9a020;border-color:#c9a020}.cs-prosperity-pip--filled{background-color:color-mix(in srgb, #c9a020 30%, var(--color-surface-raised));color:#e8c040;border-color:#c9a020;font-weight:700}.cs-prosperity-progress{flex-direction:column;gap:4px;display:flex}.cs-prosperity-progress__bar{background-color:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:999px;height:6px;overflow:hidden}.cs-prosperity-progress__fill{background-color:#c9a020;border-radius:999px;height:100%;transition:width .3s}.cs-prosperity-progress__label{color:var(--color-text-muted);font-family:sans-serif;font-size:.72rem}.cs-prosperity-maxed{color:#c9a020;font-family:sans-serif;font-size:.8rem;font-style:italic}.cs-perk-check-row{align-items:center;gap:var(--space-xs);display:flex}.cs-perk-hint{color:var(--color-text-muted);margin-left:var(--space-xs);font-family:sans-serif;font-size:.7rem}.cs-perk-dots{flex-wrap:wrap;gap:5px;display:flex}.cs-perk-dot{border:1px solid var(--color-border);background-color:var(--color-surface-raised);border-radius:50%;width:16px;height:16px;display:inline-block}.cs-perk-dot--earned{background-color:#5dd87a;border-color:#5dd87a}.cs-perk-count{color:var(--color-text-muted);font-family:sans-serif;font-size:.75rem}.cs-add-row{gap:var(--space-xs);display:flex}.cs-input{background-color:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);flex:1;min-width:0;padding:5px 8px;font-family:sans-serif;font-size:.85rem}.cs-input:focus{border-color:var(--color-status-available);outline:none}.cs-input--class{flex:0 0 80px}.cs-input--sm{padding:3px 6px;font-size:.78rem}.cs-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.cs-list__item{align-items:center;gap:var(--space-xs);padding:4px var(--space-sm);background-color:var(--color-surface-raised);border-radius:var(--radius-sm);font-size:.85rem;display:flex}.cs-list__text{color:var(--color-text-primary);flex:1}.cs-list__sub{color:var(--color-text-muted)}.cs-sticker-list{gap:var(--space-xs);flex-wrap:wrap;min-height:28px;display:flex}.cs-sticker-chip{background-color:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);align-items:center;gap:4px;padding:3px 6px 3px 8px;font-family:sans-serif;font-size:.8rem;display:inline-flex}.cs-sticker-chip__remove{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:2px;align-items:center;padding:0;display:flex}.cs-sticker-chip__remove:hover{color:var(--color-status-locked)}.cs-empty{color:var(--color-text-muted);font-family:sans-serif;font-size:.8rem;font-style:italic}.user-select{align-items:center;gap:var(--space-xs);display:flex}.user-select__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;font-family:sans-serif;font-size:.75rem}.user-select__select{color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);appearance:auto;background-color:#0000;align-self:stretch;font-family:sans-serif;font-size:.85rem}.user-select__select:hover{color:var(--color-text-secondary);border-color:var(--color-text-muted)}.user-select__select:focus{color:var(--color-text-secondary);border-color:var(--color-text-muted);outline:none}.user-select__reset{padding:var(--space-xs);border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-muted);transition:color var(--transition-fast), border-color var(--transition-fast);background-color:#0000;justify-content:center;align-items:center;display:flex}.user-select__reset:hover{color:var(--color-status-locked);border-color:var(--color-status-locked)}.app{flex-direction:column;min-height:100vh;display:flex}.app__header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:50;flex-wrap:wrap;display:flex;position:sticky;top:0}.app__header-content{align-items:baseline;gap:var(--space-sm);display:flex}.app__title{letter-spacing:.02em;background:linear-gradient(120deg,#a8d8f0 0%,#5bcfef 40%,#1a5fa0 75%,#0d2d5e 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.app__subtitle{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-family:sans-serif;font-size:.85rem}.progress-bar{align-items:center;gap:var(--space-sm);font-family:sans-serif;font-size:.8rem;display:flex}.progress-bar__stat{color:var(--color-text-muted)}.progress-bar__stat--complete{color:var(--color-status-complete)}.progress-bar__stat--available{color:var(--color-status-available)}.progress-bar__stat--locked{color:var(--color-status-locked)}.progress-bar__divider{color:var(--color-border)}.app__header-controls{align-items:center;gap:var(--space-xs);display:flex}.app__view-toggle{padding:var(--space-xs);border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-muted);transition:color var(--transition-fast), border-color var(--transition-fast);background-color:#0000;justify-content:center;align-items:center;display:flex}.app__view-toggle:hover,.app__view-toggle--active{color:var(--color-text-secondary);border-color:var(--color-text-muted)}.app__main{flex-direction:column;flex:1;display:flex}
