@font-face{font-family:MedievalSharp;font-style:normal;font-weight:400;font-display:swap;src:url("./media/MedievalSharp-Regular-SP2V2GG6.woff") format("woff")}@font-face{font-family:IM Fell English;font-style:normal;font-weight:400;font-display:swap;src:url("./media/IMFellEnglish-Regular-H3Z64UD5.woff") format("woff")}@font-face{font-family:IM Fell English;font-style:italic;font-weight:400;font-display:swap;src:url("./media/IMFellEnglish-Italic-J7DMEYSM.woff") format("woff")}:root{--surface: #f4ecda;--surface-raised: #fbf6ea;--surface-sunken: #eaddc2;--masthead: #111714;--on-masthead: #e8dcc0;--on-masthead-muted: #a8b0aa;--line: #c9b48f;--line-strong: #8a7558;--ink: #2a2118;--ink-muted: #5c5348;--ember: #d9622b;--copper: #e3a26a;--iron: #6e5a4d;--primary: #a84317;--primary-hover: #8e3812;--primary-edge: #7a2f0f;--on-primary: #ffffff;--link: #983c14;--focus: #1f5f8b;--success: #2a6b5c;--success-soft: #dde8dc;--warning: #7f5400;--warning-soft: #f1e2be;--danger: #9b2c2c;--danger-soft: #f2d9d2;--info: #2e5a88;--info-soft: #dce4ec;--shadow-raised: 0 1px 0 rgba(42,33,24,.1), 0 2px 6px rgba(42,33,24,.06);--shadow-overlay: 0 8px 24px rgba(42,33,24,.18);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-16: 64px;--radius-0: 0px;--radius-sm: 3px;--radius-round: 999px;--border-hairline: 1px;--border-edge: 3px;--measure: 65ch;--page-max: 1120px;--page-narrow: 640px;--font-display: "MedievalSharp", Georgia, "Times New Roman", serif;--font-fell: "IM Fell English", Georgia, "Times New Roman", serif;--font-serif: Georgia, "Times New Roman", Times, serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--surface: #111714;--surface-raised: #19211d;--surface-sunken: #0b0f0d;--masthead: #0b0f0d;--on-masthead: #e8dcc0;--on-masthead-muted: #a8b0aa;--line: #34403a;--line-strong: #6b7a71;--ink: #ece3cf;--ink-muted: #a9b1ab;--ember: #e8743a;--copper: #c98a55;--iron: #6e5a4d;--primary: #e8743a;--primary-hover: #f08a55;--primary-edge: #9a4316;--on-primary: #111714;--link: #f0a06a;--focus: #8db4e2;--success: #6fc2aa;--success-soft: #14261f;--warning: #e2b45e;--warning-soft: #2a2210;--danger: #f08c80;--danger-soft: #2e1614;--info: #93b8e4;--info-soft: #152030;--shadow-raised: 0 1px 0 rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.35);--shadow-overlay: 0 8px 24px rgba(0,0,0,.6);color-scheme:dark}}:root[data-theme=dark]{--surface: #111714;--surface-raised: #19211d;--surface-sunken: #0b0f0d;--masthead: #0b0f0d;--on-masthead: #e8dcc0;--on-masthead-muted: #a8b0aa;--line: #34403a;--line-strong: #6b7a71;--ink: #ece3cf;--ink-muted: #a9b1ab;--ember: #e8743a;--copper: #c98a55;--iron: #6e5a4d;--primary: #e8743a;--primary-hover: #f08a55;--primary-edge: #9a4316;--on-primary: #111714;--link: #f0a06a;--focus: #8db4e2;--success: #6fc2aa;--success-soft: #14261f;--warning: #e2b45e;--warning-soft: #2a2210;--danger: #f08c80;--danger-soft: #2e1614;--info: #93b8e4;--info-soft: #152030;--shadow-raised: 0 1px 0 rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.35);--shadow-overlay: 0 8px 24px rgba(0,0,0,.6);color-scheme:dark}.hf-root,body{font-family:var(--font-serif);color:var(--ink)}.hf-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);border:var(--border-hairline) solid var(--line-strong);border-bottom-width:var(--border-edge);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);font:700 14px/1 var(--font-serif);letter-spacing:2px;text-transform:uppercase;text-decoration:none;cursor:pointer}.hf-btn:hover{background:var(--surface-sunken)}.hf-btn:active{transform:translateY(1px);border-bottom-width:2px}.hf-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.hf-btn--primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary-edge)}.hf-btn--primary:hover{background:var(--primary-hover)}.hf-btn--ghost{background:transparent;border-color:transparent;color:var(--link);padding-left:var(--space-4);padding-right:var(--space-4)}.hf-btn--ghost:hover{background:var(--surface-sunken)}.hf-btn--sm{padding:var(--space-3) var(--space-4);font-size:12px}.hf-btn[disabled],.hf-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.hf-field{display:flex;flex-direction:column;gap:var(--space-2);max-width:var(--page-narrow)}.hf-field__label{font:700 12px/1.3 var(--font-serif);letter-spacing:2px;text-transform:uppercase;color:var(--ink-muted)}.hf-input{font:400 17px/1.4 var(--font-serif);color:var(--ink);background:var(--surface-raised);border:var(--border-hairline) solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.hf-input::placeholder{color:var(--ink-muted)}.hf-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.hf-input--mono{font:400 14px/1.5 var(--font-mono)}.hf-field__help{font:400 14px/1.5 var(--font-serif);color:var(--ink-muted)}.hf-field--error .hf-input{border-color:var(--danger)}.hf-field--error .hf-field__help{color:var(--danger)}.hf-status{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:var(--border-hairline) solid currentColor;border-radius:var(--radius-sm);font:700 12px/1.3 var(--font-serif);letter-spacing:2px;text-transform:uppercase}.hf-status:before{content:"";width:8px;height:8px;border-radius:var(--radius-round);background:currentColor}.hf-status--online{color:var(--success);background:var(--success-soft)}.hf-status--starting,.hf-status--maintenance{color:var(--warning);background:var(--warning-soft)}.hf-status--offline{color:var(--danger);background:var(--danger-soft)}.hf-status--offline:before{border-radius:0}.hf-status--starting:before{background:transparent;border:2px solid currentColor;width:4px;height:4px}.hf-ornament{display:flex;align-items:center;gap:var(--space-2);color:var(--ember);margin:var(--space-6) 0}.hf-ornament:before,.hf-ornament:after{content:"";flex:1;border-top:var(--border-hairline) solid var(--line)}.hf-ornament__mark{font-size:12px;line-height:1}.hf-notice{padding:var(--space-4);background:var(--surface-sunken);border-left:var(--border-edge) solid var(--copper)}.hf-notice__label{margin:0 0 var(--space-2);font:700 12px/1.3 var(--font-serif);letter-spacing:2px;text-transform:uppercase;color:var(--link)}.hf-notice__body{margin:0;font:400 16px/1.6 var(--font-serif);color:var(--ink)}.hf-notice--success{background:var(--success-soft);border-left-color:var(--success)}.hf-notice--success .hf-notice__label{color:var(--success)}.hf-notice--warning{background:var(--warning-soft);border-left-color:var(--warning)}.hf-notice--warning .hf-notice__label{color:var(--warning)}.hf-notice--danger{background:var(--danger-soft);border-left-color:var(--danger)}.hf-notice--danger .hf-notice__label{color:var(--danger)}.hf-notice--info{background:var(--info-soft);border-left-color:var(--info)}.hf-notice--info .hf-notice__label{color:var(--info)}.hf-facts{width:100%;border-collapse:collapse;background:var(--surface-raised);border:var(--border-hairline) solid var(--line)}.hf-facts th,.hf-facts td{padding:var(--space-3) var(--space-4);border-bottom:var(--border-hairline) solid var(--line);text-align:left;vertical-align:middle}.hf-facts th{width:38%;font:400 12px/1.3 var(--font-serif);letter-spacing:2px;text-transform:uppercase;color:var(--ink-muted)}.hf-facts td{font:700 17px/1.4 var(--font-serif);color:var(--ink)}.hf-facts td.hf-mono{font:400 14px/1.5 var(--font-mono)}.hf-facts tr:last-child th,.hf-facts tr:last-child td{border-bottom:0}.hf-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--surface-raised);border:var(--border-hairline) solid var(--line);border-radius:var(--radius-0)}.hf-card:hover{box-shadow:var(--shadow-raised)}.hf-card__eyebrow{font:700 12px/1.3 var(--font-serif);letter-spacing:2px;text-transform:uppercase;color:var(--link)}.hf-card__title{margin:0;font:700 20px/1.3 var(--font-serif);color:var(--ink)}.hf-card__meta{margin:0;font:400 14px/1.5 var(--font-mono);color:var(--ink-muted)}.hf-card__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.hf-masthead{background:var(--masthead);color:var(--on-masthead)}.hf-masthead__inner{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);flex-wrap:wrap}.hf-masthead__logo{display:block;height:60px;width:auto}@media(max-width:720px){.hf-masthead__logo{height:48px}}.hf-masthead__nav{display:flex;gap:var(--space-6);margin-left:auto;flex-wrap:wrap;align-items:center}.hf-masthead__nav a:not(.hf-btn){color:var(--on-masthead);text-decoration:none;font:400 16px/1.4 var(--font-serif)}.hf-masthead__nav a:not(.hf-btn):hover,.hf-masthead__nav a[aria-current=page]{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--ember)}.hf-masthead__nav a:not(.hf-btn):focus-visible{outline:2px solid var(--on-masthead);outline-offset:2px}.hf-masthead__rule{height:var(--border-edge);background:var(--ember);border-bottom:2px solid var(--masthead);box-shadow:0 1px 0 var(--copper)}.hf-footer{background:var(--masthead);color:var(--on-masthead-muted);padding:var(--space-8) var(--space-6);text-align:center;border-top:4px solid var(--iron)}.hf-footer__links{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-3);font:400 14px/1.6 var(--font-serif)}.hf-footer__links a{color:var(--on-masthead-muted)}.hf-footer__links span{color:var(--ember)}.hf-footer__legal{max-width:var(--page-narrow);margin:var(--space-4) auto 0;font:400 12px/1.6 var(--font-serif)}.hf-page{background:var(--surface);padding:var(--space-3)}.hf-page__frame{border:var(--border-hairline) solid var(--line);padding:var(--space-10)}@media(max-width:620px){.hf-page__frame{padding:var(--space-6)}}.hf-headline{margin:0;font:700 44px/1.15 var(--font-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-wrap:balance}@media(max-width:860px){.hf-headline{font-size:36px}}@media(max-width:480px){.hf-headline{font-size:28px;letter-spacing:.04em}}.hf-game{display:flex;flex-direction:column;gap:var(--space-3);padding:0 var(--space-4) var(--space-4);overflow:hidden;background:var(--surface-raised);border:var(--border-hairline) solid var(--line);border-radius:var(--radius-0)}.hf-game:hover{box-shadow:var(--shadow-raised)}.hf-game__banner{position:relative;margin:0 calc(-1 * var(--space-4)) var(--space-1);height:184px;background:var(--masthead);border-bottom:var(--border-edge) solid var(--ember);overflow:hidden}.hf-game__banner:before{content:"\25c6";position:absolute;inset:0;display:grid;place-items:center;color:var(--ember);font-size:20px}.hf-game__banner img{position:relative;display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.hf-game:hover .hf-game__banner img{transform:scale(1.03)}@media(prefers-reduced-motion:reduce){.hf-game__banner img{transition:none}}.hf-game__chip{position:absolute;left:var(--space-3);bottom:var(--space-3);background:var(--masthead);color:var(--on-masthead);font:700 12px/1.3 var(--font-serif);letter-spacing:2px;text-transform:uppercase;padding:var(--space-1) var(--space-2);border:var(--border-hairline) solid var(--copper)}.hf-game__name{margin:0;font:700 20px/1.25 var(--font-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.hf-game__text{margin:0;flex:1;font:400 16px/1.6 var(--font-serif);color:var(--ink-muted)}.hf-game__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:var(--border-hairline) solid var(--line)}.hf-game__regions{font:700 12px/1.3 var(--font-serif);letter-spacing:2px;color:var(--ink-muted)}:root{--font: var(--font-serif);--mono: var(--font-mono);--font-accent: var(--font-fell);--bg: var(--surface);--sidebar: var(--surface-sunken);--surface-hover: var(--surface-sunken);--border: var(--line);--border-strong: var(--line-strong);--text: var(--ink);--text-secondary: var(--ink-muted);--text-muted: var(--ink-muted);--amber: var(--primary);--amber-hover: var(--primary-hover);--running: var(--success);--failed: var(--danger);--neutral: var(--ink-muted);--shadow: var(--shadow-overlay);--radius: var(--radius-0);--space-5: 20px;--space-12: 48px;--canvas: var(--surface);--ink-faint: var(--ink-muted);--signal: var(--primary);--signal-dark: var(--primary-hover);--positive: var(--success);--positive-soft: var(--success-soft);--positive-line: var(--success)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--surface);scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{min-width:320px;min-height:100vh;margin:0;background-color:var(--surface);color:var(--ink);font-family:var(--font);font-size:16px;letter-spacing:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;font-synthesis:none}h3 small,.online-players h3,.mod-details-dependencies h3,.character-facts-traits h3,.character-knowledge-group h3{font-family:var(--font);font-weight:700}.accent-phrase,.accent-block{font-family:var(--font-accent);font-weight:400;font-synthesis:none}.accent-phrase{font-style:italic}.save-upload-progress{display:grid;gap:.45rem;color:var(--text-secondary);font-size:.76rem}.save-upload-progress-label{display:flex;justify-content:space-between;gap:var(--space-3)}.save-upload-progress-label strong{color:var(--text);font-variant-numeric:tabular-nums}.save-upload-progress-track{height:.4rem;overflow:hidden;border-radius:999px;background:var(--surface-raised)}.save-upload-progress-value{height:100%;border-radius:inherit;background:var(--amber);transition:width .12s ease-out}.save-upload-progress-value.processing{background:repeating-linear-gradient(-45deg,var(--amber),var(--amber) .6rem,var(--warning) .6rem,var(--warning) 1.2rem);background-size:2rem 2rem;animation:save-progress-stripes .8s linear infinite}.save-file-input input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.selected-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file-size{flex:0 0 auto;color:var(--text-muted);font-size:.72rem;white-space:nowrap}.backup-panel{grid-column:1/-1}.backup-toolbar,.backup-actions,.backup-row,.backup-row-title,.backup-row-meta,.backup-row-actions,.backup-state,.backup-empty{display:flex;align-items:center}.backup-toolbar{justify-content:space-between;gap:var(--space-4)}.backup-toolbar p{margin:0;color:var(--text-secondary);font-size:.78rem}.backup-toolbar .button,.backup-row-actions .button{flex:0 0 auto}.backup-toolbar ng-icon,.backup-state ng-icon,.backup-empty ng-icon{flex:0 0 auto}.backup-toolbar ng-icon[name=lucideLoaderCircle],.backup-state ng-icon[name=lucideLoaderCircle]{animation:spin .8s linear infinite}.backup-list{display:grid;gap:var(--space-2)}.backup-row{justify-content:space-between;gap:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);padding:var(--space-4)}.backup-row-main{display:grid;min-width:0;gap:.45rem}.backup-row-title{flex-wrap:wrap;gap:.45rem;min-width:0}.backup-row-title ng-icon{flex:0 0 auto;color:var(--amber)}.backup-row-title strong{min-width:0;overflow-wrap:anywhere;font-size:.8rem}.backup-status{border:1px solid var(--border-strong);border-radius:999px;padding:.16rem .42rem;color:var(--text-secondary);font-size:.64rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.backup-status-completed{border-color:var(--success);color:var(--success)}.backup-status-failed{border-color:var(--danger);color:var(--danger)}.backup-status-pending,.backup-status-deleting{border-color:var(--primary);color:var(--warning)}.backup-row-meta{flex-wrap:wrap;gap:.35rem .8rem;color:var(--text-muted);font:.68rem var(--mono)}.backup-checksum{max-width:100%;overflow-wrap:anywhere}.backup-error{margin:0;color:var(--danger);font-size:.72rem;overflow-wrap:anywhere}.backup-row-actions{flex:0 0 auto;gap:var(--space-2)}.backup-state,.backup-empty{justify-content:center;gap:var(--space-2);min-height:88px;color:var(--text-muted);font-size:.78rem;text-align:center}.backup-state-error{justify-content:flex-start;border:1px solid var(--danger);background:var(--danger-soft);padding:var(--space-3) var(--space-4);color:var(--danger);text-align:left}@keyframes save-progress-stripes{to{background-position:2rem 0}}button,input,select,textarea{font:inherit;letter-spacing:0}button,select,input[type=checkbox]{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed}button{border:0}.google-button [role=button]{border:0!important}.google-button>#container-div{padding:0!important}a{color:inherit}svg{display:block}.shell{width:min(1180px,100% - 3rem);margin-inline:auto}.content-width{width:min(1320px,100%);margin-inline:auto}.eyebrow{margin:0;color:var(--amber);font:500 .72rem/1.2 var(--mono);text-transform:uppercase}.section-kicker{color:var(--text-muted);font:500 .74rem/1.3 var(--mono);text-transform:uppercase}.button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);padding:.55rem .9rem;color:var(--text);font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{border-color:var(--border);background:var(--surface-raised);color:var(--text-muted);transform:none}.button-primary{border-color:var(--primary-edge);background:var(--amber);color:var(--on-primary)}.button-primary:hover:not(:disabled){border-color:var(--amber-hover);background:var(--amber-hover)}.button-secondary{border-color:var(--border-strong);background:var(--surface-raised)}.button-secondary:hover:not(:disabled){border-color:var(--text-muted);background:var(--surface-hover)}.button-quiet{background:transparent;color:var(--text-secondary)}.button-quiet:hover:not(:disabled){background:var(--surface-raised);color:var(--text)}.button-danger{border-color:color-mix(in srgb,var(--failed) 56%,var(--border));background:var(--danger-soft);color:var(--danger)}.icon-button{display:inline-grid;width:40px;height:40px;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-secondary);transition:background-color .16s ease,border-color .16s ease,color .16s ease}.icon-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover);color:var(--text)}.field{display:grid;gap:var(--space-2)}.field-label{color:var(--text-secondary);font-size:.84rem;font-weight:600}.field-hint,.field-error{margin:0;font-size:.76rem;line-height:1.45}.field-hint{color:var(--text-muted)}.field-error{color:var(--danger)}.text-input,.select-input,.text-area{width:100%;min-height:42px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text);padding:.62rem .72rem;outline:0;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}select.select-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M4 5.5l3 3 3-3' fill='none' stroke='%23727c76' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:calc(100% - .75rem) 50%;background-repeat:no-repeat;background-size:14px 14px;padding-right:2.2rem}.text-area{min-height:88px;line-height:1.5;resize:vertical}.text-input::placeholder,.text-area::placeholder{color:var(--text-muted)}.text-input:hover,.select-input:hover,.text-area:hover{border-color:var(--border-strong)}.text-input:focus,.select-input:focus,.text-area:focus{border-color:var(--amber);background:var(--surface-sunken);box-shadow:0 0 0 3px var(--warning-soft)}.text-input.ng-invalid.ng-touched,.select-input.ng-invalid.ng-touched,.text-area.ng-invalid.ng-touched{border-color:var(--failed)}.checkbox-row,.toggle-row{display:flex;min-height:40px;align-items:center;gap:var(--space-3);color:var(--text-secondary);font-size:.88rem}.checkbox-row input,.toggle-row input{width:18px;height:18px;margin:0;accent-color:var(--amber)}.resource-panel{display:grid}.resource-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--space-4) var(--space-5);padding:var(--space-5)}.resource-controls .field{align-content:start}.resource-input{position:relative;display:block}.resource-input .text-input{height:42px;padding-right:4rem;font-family:var(--mono)}.resource-input>span{position:absolute;top:50%;right:var(--space-3);transform:translateY(-50%);color:var(--text-muted);font:.78rem var(--mono);pointer-events:none}.resource-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-top:1px solid var(--border);padding:var(--space-4) var(--space-5);color:var(--text-muted);font-size:.8rem}.resource-footer .button{flex:0 0 auto}.resource-state{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-5);color:var(--text-secondary);font-size:.8rem}.resource-state ng-icon,.resource-footer ng-icon{animation:spin .8s linear infinite}.resource-feedback{margin:0;padding:0 var(--space-5) var(--space-4);color:var(--success);font-size:.78rem}.resource-feedback.error{color:var(--danger)}@media(max-width:760px){.resource-controls{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.resource-footer{align-items:stretch;flex-direction:column}.resource-footer .button{width:100%}}.configuration-diff{display:grid;gap:var(--space-3);margin-top:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);background:var(--surface)}.configuration-diff header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.configuration-diff header>div:first-child{display:grid;gap:2px}.configuration-diff header span{color:var(--text-muted);font-size:.84rem}.configuration-diff-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.configuration-diff-note{margin:0;border-left:2px solid var(--amber);padding-left:var(--space-3);color:var(--text-secondary);font-size:.84rem}.configuration-diff-lines{max-height:420px;margin:0;overflow:auto;padding:0;list-style:none;font:.8rem/1.5 var(--mono, ui-monospace, monospace)}.configuration-diff-lines li{display:grid;grid-template-columns:3.2em 3.2em 1.4em minmax(0,1fr);white-space:pre}.configuration-diff-lines code{overflow-wrap:anywhere;white-space:pre-wrap;font:inherit}.configuration-diff-lines .diff-number{padding-right:var(--space-2);color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none}.configuration-diff-lines .diff-mark{-webkit-user-select:none;user-select:none}.configuration-diff-lines .diff-add{background:var(--success-soft);color:var(--text)}.configuration-diff-lines .diff-remove{background:var(--danger-soft);color:var(--text)}.configuration-diff-lines .diff-same{color:var(--text-secondary)}.configuration-diff-lines .diff-skip{display:block;padding:2px 0 2px 7.8em;color:var(--text-muted);font-style:italic}.tabs .tab-group-start{margin-left:auto}.visibility-choice{display:grid;gap:var(--space-3);min-width:0;margin:0;border:0;border-top:1px solid var(--border);padding:var(--space-4) 0 0}.visibility-choice legend{float:left;width:100%;margin:0;padding:0}fieldset.visibility-choice .toggle-row{border-top:0;padding-top:0}dd .field-hint{display:block}.wizard-password{max-width:420px;margin-top:var(--space-3)}.capacity-notice{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:var(--space-5);border:1px solid color-mix(in srgb,var(--amber) 45%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--amber) 8%,var(--surface));padding:var(--space-4);color:var(--text-secondary);font-size:.84rem;line-height:1.5}.capacity-notice ng-icon{flex:0 0 auto;margin-top:.1rem;color:var(--amber)}.capacity-notice div{display:grid;gap:.2rem}.capacity-notice strong,.capacity-notice a{color:var(--text)}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--border);padding:var(--space-5)}.panel-heading h2,.panel-heading h3{margin:0;font-size:1rem}.panel-heading>div{display:grid;gap:.25rem}.panel-heading>div>span{color:var(--text-muted);font-size:.78rem}.team-tab{display:grid;gap:var(--space-5);margin-top:var(--space-6)}.team-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:var(--space-5)}.team-layout.manager-view{grid-template-columns:minmax(0,760px)}.team-panel{min-width:0}.team-panel-body{display:grid;gap:var(--space-4);padding:var(--space-5)}.team-panel-body>.button{justify-self:start}.team-link-field{display:grid;gap:var(--space-2)}.team-link-field>div{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:var(--space-2)}.team-link-field .text-input{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-link-field .icon-button{width:42px;height:42px}.team-people,.team-invitation-list{display:grid}.team-person,.team-invitation-row{display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);padding:var(--space-4) var(--space-5)}.team-person:last-child,.team-invitation-row:last-child{border-bottom:0}.owner-person{background:var(--warning-soft)}.person-avatar{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface-raised);color:var(--amber);font:500 .72rem var(--mono)}.person-details,.invitation-recipient{display:grid;min-width:0;gap:.2rem}.person-details strong,.invitation-recipient strong{overflow-wrap:anywhere;font-size:.82rem}.person-details span,.invitation-recipient span{overflow-wrap:anywhere;color:var(--text-muted);font-size:.72rem}.person-role{flex:0 0 auto;margin-left:auto;color:var(--text-muted);font:.7rem var(--mono);text-transform:uppercase}.technical-details{border-top:1px solid var(--border)}.technical-details summary{padding:var(--space-3) var(--space-5);color:var(--text-secondary);font-size:.8rem;cursor:pointer}.technical-details[open] summary{border-bottom:1px solid var(--border)}.console-filter{flex:1 1 220px;max-width:320px;margin-left:auto}.console-filter .text-input{min-height:34px;font-size:.8rem}.team-empty{margin:0;padding:var(--space-5);color:var(--text-muted);font-size:.8rem}.team-invitations{width:100%}.team-invitation-row{justify-content:space-between}.invitation-recipient{flex:1 1 auto}.invitation-revoke{width:34px;height:34px;flex:0 0 auto;color:var(--danger)}.invitation-revoke ng-icon{transition:transform .16s ease}.invitation-revoke:hover:not(:disabled) ng-icon{transform:rotate(90deg)}.team-state{display:flex;min-height:220px;align-items:center;justify-content:center;gap:var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-muted)}.team-state ng-icon{animation:spin .8s linear infinite}.team-state-error{flex-wrap:wrap;border-style:solid;border-color:var(--danger);background:var(--danger-soft);color:var(--danger);padding:var(--space-5)}.team-feedback{display:flex;align-items:flex-start;gap:var(--space-2);margin:0;border-left:2px solid var(--running);padding-left:var(--space-3);color:var(--success);font-size:.78rem;line-height:1.45}.team-feedback.error{border-color:var(--failed);color:var(--danger)}.configuration-tab{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);margin-top:var(--space-6)}.configuration-tab .configuration{max-width:none;margin-top:0}.configuration-editor{min-width:0;overflow:hidden}.configuration-file-tabs-row{display:flex;align-items:stretch;min-width:0;border-bottom:1px solid var(--border)}.configuration-file-tabs{display:flex;flex:1 1 auto;min-width:0;gap:.15rem;overflow-x:auto;padding:var(--space-2) var(--space-3) 0}.configuration-file-tabs button{flex:0 0 auto;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);padding:.7rem var(--space-3);font:.73rem var(--mono);white-space:nowrap}.configuration-file-tabs button:hover,.configuration-file-tabs button.active{border-bottom-color:var(--amber);color:var(--text)}.configuration-editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.configuration-editor-actions .button,.configuration-diff-actions .button{white-space:nowrap}.configuration-editor-actions span{color:var(--text-muted);font:.72rem var(--mono)}.configuration-file-tools{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.configuration-upload{cursor:pointer}.configuration-upload input{display:none}.configuration-file-editor{display:block;width:100%;min-height:440px;resize:none;border:0;border-bottom:1px solid var(--border);border-radius:0;outline:0;background:var(--surface-sunken);color:var(--text);padding:var(--space-5);font:.78rem/1.65 var(--mono);tab-size:2;scrollbar-color:var(--border) transparent;scrollbar-width:thin;transition:background-color .12s ease}.configuration-file-editor:focus,.configuration-file-editor:focus-visible{outline:none;background:var(--surface-sunken);box-shadow:inset 2px 0 0 var(--primary)}.configuration-file-editor:disabled{color:var(--text-muted)}.configuration-file-tabs .configuration-file-queued-dot{display:inline-block;width:6px;height:6px;margin-left:.45rem;border-radius:50%;background:var(--amber);vertical-align:.1em}.configuration-file-note{margin:0;border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-5);color:var(--text-secondary);font-size:.84rem}.configuration-queued{display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);background:var(--warning-soft);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-5)}.configuration-queued>ng-icon{flex:0 0 auto;color:var(--amber)}.configuration-queued p{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-2);min-width:0;margin:0;font-size:.82rem}.configuration-queued strong{color:var(--text);font-weight:600}.configuration-queued p span{color:var(--text-muted)}.configuration-queued-actions{display:flex;flex:0 0 auto;gap:var(--space-1)}.configuration-queued-actions .button{min-height:32px;padding:0 var(--space-3);font-size:.8rem;white-space:nowrap}.configuration-editor>.save-feedback{margin:0 var(--space-5) var(--space-4);border:1px solid var(--success-soft);border-radius:var(--radius-sm);background:var(--success-soft);padding:var(--space-2) var(--space-3);color:var(--success);font-size:.8rem}.configuration-editor>.save-feedback.error{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}@media(max-width:560px){.configuration-queued{flex-wrap:wrap;padding-left:var(--space-4)}.configuration-queued-actions{width:100%;justify-content:flex-end}}.configuration-queued-diff{margin:0;border:0;border-bottom:1px solid var(--border);border-radius:0}.configuration-editor-actions span{margin-right:auto}.configuration-file-loading{display:flex;align-items:center;gap:var(--space-2);min-height:440px;justify-content:center;color:var(--text-muted);font-size:.82rem}.configuration-file-loading ng-icon{animation:spin .8s linear infinite}.configuration-file-warning{margin:var(--space-4) var(--space-5) 0}@media(max-width:560px){.configuration-editor-actions{align-items:stretch;flex-direction:column}.configuration-file-tabs-row{flex-wrap:wrap}.configuration-file-tabs{flex-basis:100%}.configuration-file-tools{flex-basis:100%;justify-content:space-between;border-top:1px solid var(--border)}.configuration-upload{white-space:nowrap}.configuration-file-editor{min-height:360px;padding:var(--space-3) var(--space-4);font-size:.72rem}.configuration-editor-actions span{margin-right:0}}.alert{display:flex;align-items:flex-start;gap:var(--space-3);border:1px solid var(--danger);border-left:3px solid var(--failed);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);padding:var(--space-3) var(--space-4)}.alert p{margin:0}.status-dot{display:inline-block;width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--neutral)}.status-dot[data-state=running]{background:var(--running);box-shadow:0 0 0 3px var(--success-soft)}.status-dot[data-state=provisioning],.status-dot[data-state=starting],.status-dot[data-state=stopping],.status-dot[data-state=restarting]{background:var(--warning);animation:pulse-status 1.6s ease-in-out infinite}.status-dot[data-state=failed]{background:var(--failed)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:var(--primary);color:var(--on-primary)}@keyframes pulse-status{50%{opacity:.45}}@keyframes spin{to{transform:rotate(360deg)}}.tabs{overflow-x:auto}.tabs button{white-space:nowrap}.mods-tab,.support-tab{margin-top:var(--space-6)}.viewpoint-panel{margin-bottom:var(--space-5)}.viewpoint-panel.on{border-color:var(--primary)}.viewpoint-status{flex:0 0 auto;border:1px solid var(--border-strong);border-radius:999px;padding:.1rem .6rem;color:var(--text-secondary);font-size:.75rem}.viewpoint-status.on{border-color:var(--success);color:var(--running)}.viewpoint-body{gap:var(--space-3)}.viewpoint-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:start;gap:var(--space-5)}.viewpoint-controls{display:grid;align-content:start;gap:var(--space-3)}@media(max-width:760px){.viewpoint-layout{grid-template-columns:minmax(0,1fr)}.viewpoint-layout app-viewpoint-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}.viewpoint-body .toggle-row input{flex:0 0 auto}.viewpoint-body .toggle-row span{display:grid;gap:.18rem}.viewpoint-body .toggle-row strong{color:var(--text);font-size:.85rem}.viewpoint-body .toggle-row small{color:var(--text-muted);font-size:.78rem;line-height:1.45}.viewpoint-players{margin-left:calc(18px + var(--space-3))}.viewpoint-players summary{display:inline-flex;align-items:center;gap:.4rem;color:var(--amber);cursor:pointer;font-size:.84rem;list-style:none}.viewpoint-players summary::-webkit-details-marker{display:none}.viewpoint-players[open] summary{margin-bottom:var(--space-3)}.viewpoint-players[open] summary ng-icon{transform:rotate(180deg)}.mods-note{margin:0;color:var(--text-secondary);font-size:.8rem;line-height:1.55}.mods-note code{color:var(--amber);font-family:var(--mono)}.mod-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-3);border-block:1px solid var(--border);padding-block:var(--space-4)}.mod-form label{display:grid;gap:.4rem;color:var(--text-secondary);font-size:.76rem}.mod-search-field{position:relative;min-width:0}.mod-search-menu{position:absolute;z-index:4;top:calc(100% + var(--space-2));right:0;left:0;max-height:260px;overflow-y:auto;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);box-shadow:var(--shadow);padding:var(--space-1)}.mod-search-menu button{display:grid;width:100%;gap:.2rem;border-radius:4px;background:transparent;padding:var(--space-2) var(--space-3);color:var(--text);text-align:left}.mod-search-menu button:hover{background:var(--surface-hover)}.mod-search-menu strong{overflow-wrap:anywhere;font-size:.78rem;font-weight:500}.mod-search-menu small,.mod-search-status{color:var(--text-muted);font-size:.72rem}.mod-search-status{margin:0;padding:var(--space-3)}.mod-form button{min-height:42px;white-space:nowrap}.mod-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.mod-list-heading h3{margin:0}.mod-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.mod-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);padding:var(--space-3) var(--space-4)}.mod-row>div{display:grid;min-width:0;gap:.25rem}.mod-row-details{display:grid;min-width:0;flex:1;gap:.25rem;border:0;background:transparent;padding:0;color:var(--text);text-align:left}.mod-row-details:hover strong{color:var(--amber-hover)}.mod-row strong{overflow-wrap:anywhere;color:var(--text);font:.78rem var(--mono)}.mod-row span,.mod-list-heading span{color:var(--text-muted);font-size:.72rem}.mod-row .icon-button{flex:0 0 auto;color:var(--danger)}.mod-change{margin-left:var(--space-2);color:var(--amber);font-style:normal}.mod-pack{margin-left:var(--space-2);border:1px solid var(--border-strong);border-radius:999px;padding:0 .45rem;color:var(--text-secondary);font-style:normal}.mod-unlisted{margin-left:var(--space-2);border:1px solid var(--danger);border-radius:999px;padding:0 .45rem;background:var(--danger-soft);color:var(--danger);font-style:normal;white-space:nowrap}.mod-row-removed strong{color:var(--text-muted);text-decoration:line-through}.mod-empty{display:flex;min-height:90px;align-items:center;justify-content:center;gap:var(--space-2);border:1px dashed var(--border-strong);color:var(--text-muted)}@media(max-width:560px){.mod-form{grid-template-columns:1fr}.mod-form button{justify-self:start}}@media(max-width:640px){.shell{width:min(100% - 2rem,1180px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.stats-tab{display:grid;gap:var(--space-5);margin-top:var(--space-6)}.stats-toolbar{border-bottom:1px solid var(--border)}.stats-view-tabs{display:flex;gap:var(--space-1)}.stats-view-tabs button{display:inline-flex;align-items:center;gap:var(--space-2);border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);padding:var(--space-3) var(--space-4);font:.76rem var(--font)}.stats-view-tabs button.active{border-bottom-color:var(--amber);color:var(--text)}.player-highlights{overflow:hidden}.player-highlights-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--border);padding:var(--space-4) var(--space-5)}.player-highlights-heading>div{display:grid;gap:.25rem}.player-highlights-heading h3{margin:0;font-size:.92rem}.player-highlights-heading p{margin:0;color:var(--text-muted);font-size:.7rem}.player-highlights-heading>ng-icon{flex:0 0 auto;color:var(--amber)}.player-highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:start;gap:var(--space-4);background:var(--surface-raised);padding:var(--space-4)}.player-highlight-card{align-self:start;display:flex;height:100%;min-height:248px;flex-direction:column;overflow:hidden;min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 20px #00000024;transition:border-color .16s ease}.player-highlight-card:hover{border-color:var(--border-strong)}.player-highlight-card-heading{display:flex;align-items:center;min-height:52px;border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-4)}.player-highlight-card-heading>div{display:grid;min-width:0;gap:.2rem}.player-highlight-list{display:grid;align-content:start;gap:var(--space-2);padding:var(--space-3)}.player-highlight{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-2);min-width:0;border-radius:var(--radius-sm);background:transparent;padding:var(--space-2);transition:background-color .16s ease}.player-highlight:hover{background:var(--surface-hover)}.player-highlight-icon{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--amber-hover)}.player-highlight-green .player-highlight-icon{border-color:var(--success);background:var(--success-soft);color:var(--success)}.player-highlight-blue .player-highlight-icon{border-color:var(--info);background:var(--info-soft);color:var(--info)}.player-highlight-rust .player-highlight-icon{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.player-highlight-body{display:grid;grid-template-areas:"title value" "metric value";grid-template-columns:minmax(0,1fr) auto;min-width:0;align-content:start;align-items:center;column-gap:var(--space-2);row-gap:.08rem}.player-highlight-title,.player-highlight-metric{color:var(--text-muted);font-size:.66rem}.player-highlight-title{grid-area:title;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.player-highlight-body>strong{grid-area:value;color:var(--text);font:500 .96rem var(--mono);line-height:1.15}.player-highlight-metric{grid-area:metric;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-highlight-player{display:inline-flex;min-width:0;align-items:center;gap:.3rem;overflow:hidden;color:var(--text);font-size:.86rem;font-weight:600;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.player-highlight-player:hover{color:var(--amber-hover)}.player-highlight-player ng-icon{flex:0 0 auto}@media(max-width:880px){.player-highlights-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}}.dead-profiles{overflow:hidden}.dead-player-list{list-style:none;margin:0;padding:0}.dead-character{display:grid;grid-template-columns:minmax(180px,1.05fr) minmax(105px,.65fr) minmax(115px,.65fr) minmax(180px,1.45fr) auto;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border);color:var(--text-secondary);padding:var(--space-4) var(--space-5);text-decoration:none}.dead-player-list>li:last-child .dead-character{border-bottom:0}.dead-character:hover{background:var(--surface-hover)}.dead-character-identity{display:flex;min-width:0;align-items:center;gap:var(--space-3)}.dead-character-icon{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger)}.dead-character-name{display:grid;min-width:0;gap:.15rem}.dead-character-name small{overflow:hidden;color:var(--text-muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.dead-character-identity strong{overflow:hidden;color:var(--text);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.dead-character-stat{display:grid;min-width:0;gap:.3rem}.dead-character-stat>span{color:var(--text-muted);font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.dead-character-stat>strong{overflow:hidden;color:var(--text-secondary);font:.76rem var(--mono);text-overflow:ellipsis;white-space:nowrap}.dead-character-cause>strong{color:var(--text);font-family:var(--font)}.dead-character-arrow{color:var(--text-muted);transition:color .16s ease,transform .16s ease}.dead-character:hover .dead-character-arrow{color:var(--amber-hover);transform:translate(2px)}.player-name{color:var(--text);text-decoration:none}.player-name:hover{color:var(--amber)}.character-profile{display:grid;gap:var(--space-5)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);color:var(--text-secondary);font-size:.84rem;text-decoration:none}.back-link:hover{color:var(--text)}.character-profile-heading{display:flex;justify-content:space-between;gap:var(--space-4);align-items:start}.character-profile-heading h1{margin:.25rem 0}.character-profile-heading p{color:var(--text-muted);font:.72rem var(--mono);margin:0}.character-state{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--success);font-size:.74rem}.character-state.dead{color:var(--danger)}.character-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:var(--space-4)}.character-facts,.character-skills,.character-knowledge{padding:var(--space-5)}.character-facts{display:flex;flex-direction:column}.character-facts h2,.character-skills h2,.character-knowledge h2{margin:0 0 var(--space-4);font-size:.92rem}.character-facts-traits{margin-top:auto;padding-top:var(--space-4)}.character-facts-traits h3{margin:0 0 var(--space-3);color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:0;text-transform:uppercase}.character-knowledge h2 small{display:inline-flex;min-width:1.6rem;justify-content:center;border:1px solid var(--border-strong);color:var(--amber);font:.68rem var(--mono);margin-left:var(--space-2);padding:2px 5px;vertical-align:2px}.character-facts dl{display:grid;gap:var(--space-3);margin:0}.character-facts dl div{display:flex;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}.character-facts dl div:last-child{border-bottom:0}.character-facts dt{color:var(--text-muted);font-size:.72rem}.character-facts dd{color:var(--text-secondary);font-size:.74rem;margin:0;text-align:right}.character-skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-5)}.character-skill-list div{display:flex;align-items:center;gap:var(--space-3);justify-content:space-between;border-bottom:1px solid var(--border);padding:var(--space-2) 0}.character-skill-list span{color:var(--text-secondary);font-size:.74rem}.character-skill-list .skill-bar{flex:1 1 auto;max-width:96px;height:4px;margin-left:auto;overflow:hidden;border-radius:999px;background:var(--surface-raised)}.character-skill-list .skill-bar b{display:block;max-width:100%;height:100%;border-radius:inherit;background:var(--amber)}.character-skill-list strong{color:var(--amber);font:.76rem var(--mono)}.character-skill-list p{color:var(--text-muted);font-size:.74rem}.character-trait-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.character-trait-list span{border:1px solid var(--border-strong);color:var(--text-secondary);padding:var(--space-2) var(--space-3);font-size:.74rem}.character-trait-list p{color:var(--text-muted);font-size:.74rem}.character-knowledge-list{display:flex;flex-wrap:wrap;gap:8px}.character-knowledge-groups{display:grid;gap:var(--space-4)}.character-knowledge-group h3{margin:0 0 var(--space-2);color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:0;text-transform:uppercase}.character-knowledge-list span{border:1px solid var(--border);color:var(--text-secondary);font-size:.82rem;padding:6px 8px}.character-knowledge-list .knowledge-more{min-height:0;padding:6px 8px;font-size:.8rem}.character-knowledge-group h3 small{margin-left:4px;font:500 .68rem var(--mono)}.character-knowledge-list p{color:var(--text-muted);margin:0}.stats-state{display:flex;min-height:240px;align-items:center;justify-content:center;gap:var(--space-3);border:1px solid var(--border);background:var(--surface-raised);color:var(--text-secondary);font-size:.82rem}.stats-state ng-icon{color:var(--amber)}.stats-state-error{flex-direction:column;color:var(--danger)}.stats-state-error .button{margin-top:var(--space-1)}.stats-state-error ng-icon{color:var(--danger)}.player-stats-panel{overflow:hidden}.player-stats-toolbar{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--border);padding:var(--space-4) var(--space-5)}.player-stats-toolbar>div{display:grid;gap:.25rem}.player-stats-toolbar h3{margin:0;font-size:.92rem}.player-stats-toolbar>div>span{color:var(--text-muted);font-size:.7rem}.player-stats-sort-button{display:inline-flex;align-items:center;gap:.3rem;border:0;background:transparent;color:inherit;padding:0;font:inherit;text-transform:inherit}.player-stats-sort-button:hover,.player-stats-sort-button.active{color:var(--amber-hover)}.player-stats-sort-button ng-icon{opacity:.3;transition:opacity .16s ease}.player-stats-sort-button.active ng-icon{opacity:1}.player-stats-sort-button.ascending ng-icon{transform:rotate(180deg)}.player-stats-table-wrap{overflow-x:auto}.player-stats-table{width:100%;min-width:760px;border-collapse:collapse}.player-stats-table th,.player-stats-table td{border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-4);color:var(--text-secondary);font-size:.76rem;text-align:right;white-space:nowrap}.player-stats-table thead th{color:var(--text-muted);font-size:.67rem;font-weight:600;text-transform:uppercase}.player-stats-table th:first-child,.player-stats-table td:first-child{text-align:left}.player-stats-table tbody tr:last-child th,.player-stats-table tbody tr:last-child td{border-bottom:0}.player-stats-table tbody tr:hover{background:var(--surface-hover)}.player-stats-table tbody th{min-width:150px;color:var(--text);font-weight:600}.player-name,.player-presence{display:block}.player-presence{margin-top:.22rem;color:var(--text-muted);font-size:.64rem;font-weight:400}.player-presence.online{color:var(--success)}.player-presence.dead{color:var(--danger)}@media(max-width:560px){.team-layout,.team-layout.manager-view{grid-template-columns:1fr}.team-person,.team-invitation-row{align-items:flex-start}.team-invitation-row{gap:var(--space-2)}.person-role{padding-top:.35rem}.team-link-field>div{grid-template-columns:minmax(0,1fr) 40px}.team-link-field .icon-button{width:40px;height:42px}.player-stats-toolbar{align-items:stretch;flex-direction:column}.player-highlights-heading{align-items:flex-start}.player-highlights-grid{grid-template-columns:1fr;padding:var(--space-3)}.stats-state{padding:var(--space-5);text-align:center}.dead-character{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:flex-start;gap:var(--space-3)}.dead-character-identity,.dead-character-cause{grid-column:1/-1}.dead-character-arrow{grid-column:3;grid-row:1}.character-profile-heading{flex-direction:column}.character-profile-grid{grid-template-columns:1fr}}.location-panel{grid-column:1/-1}.location-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1.2fr) auto;align-items:end;gap:var(--space-5);padding:var(--space-5)}.location-current,.location-selector{display:grid;gap:.35rem}.location-current span,.location-selector span{color:var(--text-muted);font-size:.72rem}.location-current strong{display:flex;min-height:40px;align-items:center}.location-select-wrap{position:relative}.location-select-wrap select{appearance:none;width:100%;min-height:40px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:0 2.5rem 0 .7rem;font:.8rem var(--font)}.location-select-wrap select:focus{border-color:var(--amber);outline:0;box-shadow:0 0 0 3px var(--warning-soft)}.location-select-wrap ng-icon{position:absolute;top:50%;right:.8rem;pointer-events:none;color:var(--text-muted);transform:translateY(-50%)}.location-submit{min-height:40px;white-space:nowrap}.location-spinner{animation:spin .8s linear infinite;color:var(--amber)}.location-progress{display:flex;align-items:center;gap:.55rem;color:var(--text);font-size:.82rem}.location-note,.location-feedback{grid-column:1/-1;margin:0;color:var(--text-muted);font-size:.78rem}.location-feedback{border-left:2px solid var(--success);padding-left:var(--space-3);color:var(--success)}.location-feedback.error{border-color:var(--danger);color:var(--danger)}@media(max-width:880px){.location-body{grid-template-columns:1fr 1fr}.location-submit{width:100%}}@media(max-width:560px){.location-body{grid-template-columns:1fr}.location-submit{justify-content:center}}
