@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-cyrillic-ext-400-normal-7Z3465FB.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-ext-400-normal-YU2ZJYJL.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-cyrillic-400-normal-APB4EUBL.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-400-normal-7FSQ77DP.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-greek-400-normal-L4LAXORB.woff2") format("woff2"),url("./media/ibm-plex-sans-greek-400-normal-X3NYKSO2.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-vietnamese-400-normal-P5ZB55LJ.woff2") format("woff2"),url("./media/ibm-plex-sans-vietnamese-400-normal-A4XVIM4G.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-latin-ext-400-normal-EDOVP6TU.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-400-normal-IC47YBOO.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-latin-400-normal-COQVXTP6.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-400-normal-JC3YNCCZ.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-cyrillic-ext-500-normal-SJW52W6D.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-ext-500-normal-Z7QHO46N.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-cyrillic-500-normal-R6B2XZIQ.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-500-normal-WNQEPSX2.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-greek-500-normal-4XELGUF7.woff2") format("woff2"),url("./media/ibm-plex-sans-greek-500-normal-B6ARYOP3.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-vietnamese-500-normal-J2J6G2N5.woff2") format("woff2"),url("./media/ibm-plex-sans-vietnamese-500-normal-OZE7IZOF.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-latin-ext-500-normal-SG2XNXKB.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-500-normal-4YL5ICYH.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-latin-500-normal-JTONHBWS.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-500-normal-7DOULDHV.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-cyrillic-ext-600-normal-HGPMDSPK.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-ext-600-normal-UU6N6VST.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-cyrillic-600-normal-AFPTCLK6.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-600-normal-7XGRL4XO.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-greek-600-normal-NTJH3CYY.woff2") format("woff2"),url("./media/ibm-plex-sans-greek-600-normal-GD52DGQ2.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-vietnamese-600-normal-JKSXZXZW.woff2") format("woff2"),url("./media/ibm-plex-sans-vietnamese-600-normal-5IGNKSLH.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-latin-ext-600-normal-ZNWKNRXL.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-600-normal-OPCHJXXH.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-latin-600-normal-DTNZULF4.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-600-normal-B3O423MA.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/ibm-plex-sans-cyrillic-ext-700-normal-HXT6NHIL.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-ext-700-normal-T4K2CWU3.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/ibm-plex-sans-cyrillic-700-normal-C5IRGH35.woff2") format("woff2"),url("./media/ibm-plex-sans-cyrillic-700-normal-2HZMNQMS.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/ibm-plex-sans-greek-700-normal-PVSCNDAB.woff2") format("woff2"),url("./media/ibm-plex-sans-greek-700-normal-H76UTX7D.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/ibm-plex-sans-vietnamese-700-normal-WVQ27POF.woff2") format("woff2"),url("./media/ibm-plex-sans-vietnamese-700-normal-JZPPIPWP.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/ibm-plex-sans-latin-ext-700-normal-SLLSGF4A.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-700-normal-ZAY2DYTH.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/ibm-plex-sans-latin-700-normal-IXG35DPN.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-700-normal-ZYEEATR5.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-cyrillic-ext-400-normal-M2ROQZIK.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-ext-400-normal-RD4P2WYJ.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-cyrillic-400-normal-MUN4S7RW.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-400-normal-SUZ3KICP.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-vietnamese-400-normal-CEHCU5UT.woff2") format("woff2"),url("./media/ibm-plex-mono-vietnamese-400-normal-PVEVI4WT.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-latin-ext-400-normal-T6XOR2FX.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-ext-400-normal-6FH7XELU.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-latin-400-normal-A2WATXFY.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-400-normal-4MWPPJAM.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-mono-cyrillic-ext-500-normal-MC56NSC2.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-ext-500-normal-TFGJMWK5.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-mono-cyrillic-500-normal-FIG3KNRY.woff2") format("woff2"),url("./media/ibm-plex-mono-cyrillic-500-normal-2KWAQPQZ.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-mono-vietnamese-500-normal-ZWG7QFOJ.woff2") format("woff2"),url("./media/ibm-plex-mono-vietnamese-500-normal-4U6XTONH.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-mono-latin-ext-500-normal-LJE4XY22.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-ext-500-normal-7HZM7XEP.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-mono-latin-500-normal-33HAQIPI.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-500-normal-EJMP6L36.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font: "IBM Plex Sans", sans-serif;--mono: "IBM Plex Mono", monospace;--bg: #0a0d0c;--sidebar: #0e1210;--surface: #141917;--surface-raised: #1a201d;--surface-hover: #202723;--border: #29312d;--border-strong: #3a4640;--text: #edf1ed;--text-secondary: #a0aaa4;--text-muted: #727c76;--amber: #d99a3d;--amber-hover: #e8ab50;--running: #4dba7a;--warning: #e0a33a;--failed: #d76157;--info: #6495c8;--neutral: #89938d;--shadow: 0 16px 34px rgba(0, 0, 0, .22);--radius-sm: 6px;--radius: 8px;--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;--canvas: var(--bg);--ink: var(--text);--ink-muted: var(--text-secondary);--ink-faint: var(--text-muted);--line: var(--border);--line-strong: var(--border-strong);--signal: var(--amber);--signal-dark: #b97827;--positive: var(--running);--positive-soft: rgba(77, 186, 122, .1);--positive-line: rgba(77, 186, 122, .42);--danger: var(--failed);--danger-soft: rgba(215, 97, 87, .11);color-scheme:dark}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--bg);scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;background-color:var(--bg);background-image:linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:72px 72px;color:var(--text);font-family:var(--font);font-size:16px;letter-spacing:0}.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,#e0a83f .6rem,#e0a83f 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:#101412;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:#8bd9a959;color:#a9e4bb}.backup-status-failed{border-color:#d761576b;color:#f0a39c}.backup-status-pending,.backup-status-deleting{border-color:#f4ba5361;color:#f7cb7d}.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:#f0a39c;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 rgba(215,97,87,.42);background:#d7615714;padding:var(--space-3) var(--space-4);color:#f0a39c;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}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{opacity:.48}.button-primary{border-color:#e4aa55;background:var(--amber);color:#16130d}.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:#d761571f;color:#f5aba5}.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:#f0a39c}.text-input,.select-input,.text-area{width:100%;min-height:42px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#101412;color:var(--text);padding:.62rem .72rem;outline:0;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.text-area{min-height:88px;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:#121714;box-shadow:0 0 0 3px #d99a3d33}.text-input.ng-invalid.ng-touched,.select-input.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)}.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}.team-tab{display:grid;gap:var(--space-5);margin-top:var(--space-6)}.team-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5)}.team-heading h2{margin:var(--space-2) 0 0;font-size:1.3rem}.team-heading p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:.82rem}.team-heading .icon-button{flex:0 0 auto}.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:#d99a3d0b}.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}.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:#f0a39c}.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:#d761576b;background:#d7615714;color:#f0a39c;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:#a9e4bb;font-size:.78rem;line-height:1.45}.team-feedback.error{border-color:var(--failed);color:#f0a39c}.configuration-tab{display:grid;max-width:1100px;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;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.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:vertical;border:0;border-bottom:1px solid var(--border);border-radius:0;outline:0;background:#0b0e0c;color:var(--text);padding:var(--space-5);font:.78rem/1.65 var(--mono);tab-size:2}.configuration-file-editor:focus{box-shadow:inset 0 0 0 1px var(--amber)}.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-tools{justify-content:space-between}.configuration-editor-actions span{margin-right:0}}.alert{display:flex;align-items:flex-start;gap:var(--space-3);border:1px solid rgba(215,97,87,.42);border-left:3px solid var(--failed);border-radius:var(--radius-sm);background:#d761571a;color:#f1b6b1;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 #4dba7a1f}.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:3px solid rgba(232,171,80,.72);outline-offset:3px}::selection{background:#d99a3dd1;color:#15120c}@keyframes pulse-status{50%{opacity:.45}}@keyframes spin{to{transform:rotate(360deg)}}.tabs{overflow-x:auto}.tabs button{white-space:nowrap}.mods-tab{margin-top:var(--space-6)}.mods-panel{max-width:980px}.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:#101412;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:#f0a39c}.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)}.mod-details-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;background:#040605c7;padding:var(--space-5)}.mod-details-modal{display:flex;width:min(900px,100%);max-height:min(88vh,900px);flex-direction:column;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow)}.mod-details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--border);padding:var(--space-5)}.mod-details-header>div{display:grid;min-width:0;gap:.3rem}.mod-details-header h2{margin:0;overflow-wrap:anywhere;font-size:1.2rem}.mod-details-header>div>span:last-child{color:var(--text-muted);font:.7rem var(--mono)}.mod-details-content{display:grid;gap:var(--space-5);overflow:auto;padding:var(--space-5)}.mod-details-actions{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:.76rem}.mod-description{margin:0;color:var(--text-secondary);font-size:.84rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.mod-description.empty{color:var(--text-muted);font-style:italic}.mod-screenshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.mod-screenshot-grid a{display:block;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0b0e0c}.mod-screenshot-grid img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .16s ease}.mod-screenshot-grid a:hover img{transform:scale(1.02)}.mod-steam-link{justify-self:start}.mod-details-state{display:flex;min-height:180px;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-secondary);padding:var(--space-5)}.mod-details-state ng-icon{animation:spin .8s linear infinite}.mod-details-state.error{color:#f0a39c}@media(max-width:560px){.mod-form{grid-template-columns:1fr}.mod-form button{justify-self:start}.mod-details-backdrop{align-items:end;padding:0}.mod-details-modal{max-height:92vh;border-right:0;border-bottom:0;border-left:0;border-radius:var(--radius) var(--radius) 0 0}.mod-screenshot-grid{grid-template-columns:1fr}.mod-details-actions{align-items:flex-start;flex-direction:column}}@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-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4)}.stats-heading>div{display:grid;gap:.3rem}.stats-heading h2{margin:0;font-size:1.1rem}.stats-heading p{max-width:620px;margin:0;color:var(--text-muted);font-size:.76rem}.stats-heading .icon-button{flex:0 0 auto}.stats-heading .icon-button ng-icon{color:var(--amber)}.stats-view-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border)}.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(5,minmax(0,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 rgba(217,154,61,.38);border-radius:var(--radius-sm);background:#d99a3d1a;color:var(--amber-hover)}.player-highlight-green .player-highlight-icon{border-color:#4dba7a61;background:#4dba7a1a;color:#8bd9a9}.player-highlight-blue .player-highlight-icon{border-color:#6495c861;background:#6495c81a;color:#9dc4eb}.player-highlight-rust .player-highlight-icon{border-color:#d7615761;background:#d761571a;color:#f0a39c}.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 rgba(215,97,87,.38);border-radius:var(--radius-sm);background:#d761571a;color:#f0a39c}.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:#8bd9a9;font-size:.74rem}.character-state.dead{color:#f0a39c}.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;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 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 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:#f0a39c}.stats-state-error .button{margin-top:var(--space-1)}.stats-state-error ng-icon{color:#f0a39c}.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:#8bd9a9}.player-presence.dead{color:#f0a39c}@media(max-width:560px){.stats-heading,.team-heading{align-items:flex-start}.team-heading p{max-width:34ch}.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 #d99a3d33}.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;min-height:40px;align-items:center;gap:.55rem;color:var(--text);font-size:.82rem}.location-progress small{margin-top:.2rem;color:var(--text-muted)}.location-note,.location-feedback{grid-column:1/-1;margin:0;color:var(--text-muted);font-size:.78rem}.location-feedback{border-left:2px solid #8bd9a9;padding-left:var(--space-3);color:#a9e4bb}.location-feedback.error{border-color:#d76157;color:#f0a39c}@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}}
