@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url("./media/barlow-semi-condensed-latin-500-normal-36SXIXAP.woff2") format("woff2"),url("./media/barlow-semi-condensed-latin-500-normal-GIM4YUXF.woff") format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:italic;font-display:swap;font-weight:500;src:url("./media/barlow-semi-condensed-latin-500-italic-2QBXLPJU.woff2") format("woff2"),url("./media/barlow-semi-condensed-latin-500-italic-EZW5FJTR.woff") format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url("./media/barlow-semi-condensed-latin-600-normal-YSX2SY2B.woff2") format("woff2"),url("./media/barlow-semi-condensed-latin-600-normal-PUSKTFKN.woff") format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url("./media/barlow-semi-condensed-latin-700-normal-DVQBTNQV.woff2") format("woff2"),url("./media/barlow-semi-condensed-latin-700-normal-RQTTCVLQ.woff") format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/jetbrains-mono-latin-400-normal-3OOWLGQ2.woff2") format("woff2"),url("./media/jetbrains-mono-latin-400-normal-WDD34GPP.woff") format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url("./media/jetbrains-mono-latin-600-normal-5PVSJ4PH.woff2") format("woff2"),url("./media/jetbrains-mono-latin-600-normal-DJM6S6N3.woff") format("woff")}html{height:100%;--mat-sys-background: #181210;--mat-sys-error: #ffb4ab;--mat-sys-error-container: #93000a;--mat-sys-inverse-on-surface: #362f2b;--mat-sys-inverse-primary: #964900;--mat-sys-inverse-surface: #ece0da;--mat-sys-on-background: #ece0da;--mat-sys-on-error: #690005;--mat-sys-on-error-container: #ffdad6;--mat-sys-on-primary: #502400;--mat-sys-on-primary-container: #ffdcc7;--mat-sys-on-primary-fixed: #311300;--mat-sys-on-primary-fixed-variant: #723600;--mat-sys-on-secondary: #422b1b;--mat-sys-on-secondary-container: #ffdcc7;--mat-sys-on-secondary-fixed: #2b1708;--mat-sys-on-secondary-fixed-variant: #5b4130;--mat-sys-on-surface: #ece0da;--mat-sys-on-surface-variant: #f4ded3;--mat-sys-on-tertiary: #003737;--mat-sys-on-tertiary-container: #00fbfb;--mat-sys-on-tertiary-fixed: #002020;--mat-sys-on-tertiary-fixed-variant: #004f4f;--mat-sys-outline: #9f8d83;--mat-sys-outline-variant: #52443c;--mat-sys-primary: #ffb787;--mat-sys-primary-container: #723600;--mat-sys-primary-fixed: #ffdcc7;--mat-sys-primary-fixed-dim: #ffb787;--mat-sys-scrim: #000000;--mat-sys-secondary: #e5bfa8;--mat-sys-secondary-container: #5b4130;--mat-sys-secondary-fixed: #ffdcc7;--mat-sys-secondary-fixed-dim: #e5bfa8;--mat-sys-shadow: #000000;--mat-sys-surface: #181210;--mat-sys-surface-bright: #3f3834;--mat-sys-surface-container: #241e1b;--mat-sys-surface-container-high: #2f2926;--mat-sys-surface-container-highest: #3a3330;--mat-sys-surface-container-low: #201a17;--mat-sys-surface-container-lowest: #120d0b;--mat-sys-surface-dim: #181210;--mat-sys-surface-tint: #ffb787;--mat-sys-surface-variant: #52443c;--mat-sys-tertiary: #00dddd;--mat-sys-tertiary-container: #004f4f;--mat-sys-tertiary-fixed: #00fbfb;--mat-sys-tertiary-fixed-dim: #00dddd;--mat-sys-neutral-variant20: #3a2e26;--mat-sys-neutral10: #201a17;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Barlow Semi Condensed;--mat-sys-body-large-font: Barlow Semi Condensed;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Barlow Semi Condensed;--mat-sys-body-medium-font: Barlow Semi Condensed;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Barlow Semi Condensed;--mat-sys-body-small-font: Barlow Semi Condensed;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Barlow Semi Condensed;--mat-sys-display-large-font: Barlow Semi Condensed;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Barlow Semi Condensed;--mat-sys-display-medium-font: Barlow Semi Condensed;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Barlow Semi Condensed;--mat-sys-display-small-font: Barlow Semi Condensed;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Barlow Semi Condensed;--mat-sys-headline-large-font: Barlow Semi Condensed;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Barlow Semi Condensed;--mat-sys-headline-medium-font: Barlow Semi Condensed;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Barlow Semi Condensed;--mat-sys-headline-small-font: Barlow Semi Condensed;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Barlow Semi Condensed;--mat-sys-label-large-font: Barlow Semi Condensed;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Barlow Semi Condensed;--mat-sys-label-medium-font: Barlow Semi Condensed;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Barlow Semi Condensed;--mat-sys-label-small-font: Barlow Semi Condensed;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Barlow Semi Condensed;--mat-sys-title-large-font: Barlow Semi Condensed;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Barlow Semi Condensed;--mat-sys-title-medium-font: Barlow Semi Condensed;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Barlow Semi Condensed;--mat-sys-title-small-font: Barlow Semi Condensed;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--mat-tooltip-container-color: transparent;--mat-tooltip-container-shape: 3px;--mat-tooltip-supporting-text-color: var(--td-text-primary);--mat-tooltip-supporting-text-font: var(--td-font);--mat-tooltip-supporting-text-size: var(--td-fs-body);--mat-tooltip-supporting-text-weight: 500;--mat-tooltip-supporting-text-line-height: 1.35;--mat-tooltip-supporting-text-tracking: 0}.mat-mdc-tooltip .mdc-tooltip__surface{border-radius:var(--td-radius);background:var(--td-surface);box-shadow:var(--td-panel-recess),var(--td-popup-drop);color:var(--td-text-secondary)}.mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-color: var(--td-brass)}body{color-scheme:dark;margin:0;height:100%;background:var(--td-bg-dark);font-size:var(--td-fs-body);-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}body{font-family:var(--td-font);color:var(--td-text-primary)}button,input,select,textarea{font-family:inherit}*{scrollbar-width:thin;scrollbar-color:var(--td-frame-mid) transparent}[hidden]{display:none!important}:where(button,a,summary,[tabindex],input[type=checkbox],input[type=radio],input[type=range]):focus,:where(button,a,summary,[tabindex],input[type=checkbox],input[type=radio],input[type=range]):focus-visible{outline:none}@keyframes td-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0s!important;transition-delay:0s!important}}.td-dense{--td-fs-text: var(--td-dense-text);--td-fs-button: var(--td-dense-button);--td-fs-lead: var(--td-dense-lead);--td-fs-title: var(--td-dense-title);--td-h-button: var(--td-dense-h-button);--td-h-button-sm: var(--td-dense-h-button-sm);--td-h-field: var(--td-dense-h-field);--td-h-row: var(--td-dense-h-row);--td-tool-size: var(--td-dense-tool);font-size:var(--td-fs-small)}.td-dense .td-group{gap:var(--td-sp-1)}.td-dense .td-group+.td-group{padding-top:var(--td-sp-2)}.td-dense .td-dlg-head{margin:10px 12px 0;padding-bottom:6px}.td-dense .td-dlg-body{gap:var(--td-sp-2);padding:8px 12px}.td-dense .td-dlg-foot{padding:4px 12px 10px}.td-dense .td-table td{height:auto;padding:2px 6px}[data-branch=arcane]{--td-mark: var(--td-teal)}[data-branch=biology]{--td-mark: var(--td-branch-biology)}[data-branch=engineering]{--td-mark: var(--td-branch-engineering)}.td-stack{display:flex;flex-direction:column;gap:var(--td-sp-3);min-width:0}.td-stack.is-loose{gap:var(--td-sp-5)}.td-inline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--td-sp-2) var(--td-sp-4);min-width:0}.td-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.td-actions.is-start{justify-content:flex-start}.td-actions.is-split{justify-content:space-between}.td-group{display:flex;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;border:0}.td-group+.td-group{padding-top:var(--td-sp-4);border-top:var(--td-line-width) solid var(--td-line-dark);box-shadow:inset 0 var(--td-line-gap) 0 var(--td-line-light)}.td-setting{display:flex;align-items:center;justify-content:space-between;gap:var(--td-sp-4);min-height:var(--td-h-field);font-size:var(--td-fs-text);color:var(--td-text-primary)}.td-chip-slot{position:absolute;top:18%;left:0;right:0;z-index:5;display:flex;justify-content:center;pointer-events:none}.td-backdrop{background:var(--td-backdrop)}.td-panel{background:var(--td-surface);box-shadow:var(--td-panel-recess),var(--td-panel-drop);color:var(--td-text-secondary)}.td-overlay{position:relative;isolation:isolate;border-radius:var(--td-radius);box-shadow:var(--td-panel-drop);color:var(--td-text-secondary);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.td-overlay:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--td-surface-overlay);box-shadow:var(--td-panel-recess);opacity:var(--td-overlay-opacity);pointer-events:none}.td-overlay.is-error{outline:1px solid var(--td-danger-edge);outline-offset:-1px}.td-chip{position:relative;isolation:isolate;border-radius:var(--td-radius);box-shadow:var(--td-panel-drop);color:var(--td-text-secondary);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.td-chip:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--td-surface-overlay);box-shadow:var(--td-panel-recess);opacity:var(--td-overlay-opacity);pointer-events:none}.td-chip.is-error{outline:1px solid var(--td-danger-edge);outline-offset:-1px}.td-chip{display:flex;align-items:center;gap:10px;padding:8px 18px 10px 12px;overflow:hidden}.td-popup{border-radius:var(--td-radius);background:var(--td-surface);box-shadow:var(--td-panel-recess),var(--td-popup-drop);color:var(--td-text-secondary)}.td-reveal{opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity var(--td-dur-mid) var(--td-ease-out),transform var(--td-dur-mid) var(--td-ease-out),visibility 0s linear var(--td-dur-mid)}.td-reveal.is-up{transform:translateY(8px)}.td-reveal.is-open{opacity:1;visibility:visible;transform:none;transition-delay:0s}.td-reveal.is-fade{transform:none}.td-dlg{background:var(--td-surface);box-shadow:var(--td-panel-recess),var(--td-panel-drop);color:var(--td-text-secondary);display:flex;flex-direction:column;box-sizing:border-box;width:560px;max-width:calc(100vw - 32px);max-height:calc(100vh - var(--td-h-topbar) - 32px);font-size:var(--td-fs-text);line-height:1.4}.td-dlg-head{position:relative;display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:var(--td-sp-3);margin:18px 22px 0;padding-bottom:8px}.td-dlg-head:after{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--td-line-width) + var(--td-line-gap));background:linear-gradient(90deg,var(--td-line-dark) 60%,transparent) 0 0/100% var(--td-line-width) no-repeat,linear-gradient(90deg,var(--td-line-light) 60%,transparent) 0 var(--td-line-gap)/100% var(--td-line-width) no-repeat;pointer-events:none}.td-dlg-title{margin:0;font-family:var(--td-font);font-size:var(--td-fs-title);font-weight:700;line-height:1.1;color:var(--td-text-engraved);text-shadow:var(--td-engrave)}.td-dlg-body{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--td-sp-3);min-height:0;overflow:auto;padding:14px 22px}.td-dlg-body strong,.td-dlg-body b{color:var(--td-text-primary);font-weight:600}.td-dlg-body{scrollbar-width:thin;scrollbar-color:var(--td-frame-mid) transparent}.td-dlg-body.is-loose{gap:var(--td-sp-4)}.td-dlg-foot{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:10px;padding:4px 22px 18px}.td-rule{height:0;margin:var(--td-sp-1) 0;border:0;border-bottom:var(--td-line-width) solid var(--td-line-dark);box-shadow:0 var(--td-line-gap) 0 var(--td-line-light)}.td-line-top{border-top:var(--td-line-width) solid var(--td-line-dark);box-shadow:inset 0 var(--td-line-gap) 0 var(--td-line-light)}.td-line-bottom{border-bottom:var(--td-line-width) solid var(--td-line-dark);box-shadow:0 var(--td-line-gap) 0 var(--td-line-light)}.td-line-left{border-left:1px solid var(--td-line-dark);box-shadow:inset 1px 0 0 var(--td-line-light)}.td-line-right{border-right:1px solid var(--td-line-dark);box-shadow:1px 0 0 var(--td-line-light)}.td-hairline-top{border-top:1px solid var(--td-hairline)}.td-hairline-bottom{border-bottom:1px solid var(--td-hairline)}.td-section{margin:0;font-size:var(--td-fs-text);font-weight:700;line-height:1.2;color:var(--td-brass)}.td-head{margin:0;font-size:var(--td-fs-text);font-weight:700;line-height:1.2;color:var(--td-brass);padding-bottom:4px;border-bottom:1px solid var(--td-hairline)}.td-well{border-radius:var(--td-radius);background:var(--td-well-soft);box-shadow:var(--td-well-soft-shadow)}.td-well.is-deep{border-radius:var(--td-radius);background:var(--td-well);box-shadow:var(--td-well-shadow)}.td-card{border-radius:var(--td-radius);background:var(--td-well-soft);box-shadow:var(--td-well-soft-shadow);color:var(--td-text-primary);transition:box-shadow var(--td-dur-fast) var(--td-ease-out),color var(--td-dur-fast) var(--td-ease-out)}button.td-card{margin:0;padding:0;border:0;text-align:inherit;cursor:pointer}button.td-card:disabled,button.td-card[aria-disabled=true],button.td-card.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}button.td-card.is-busy{opacity:1;cursor:default}button.td-card:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}.td-card.is-selected,.td-card[aria-pressed=true]{box-shadow:var(--td-well-deep),inset 0 0 0 1px var(--td-brass);color:var(--td-brass-light)}.td-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--td-sp-2);box-sizing:border-box;height:var(--td-h-button);padding:0 16px 3px;border:0;border-radius:var(--td-radius);font-family:var(--td-font);font-size:var(--td-fs-button);font-weight:600;line-height:1;text-decoration:none;text-shadow:var(--td-engrave);white-space:nowrap;cursor:pointer;transition:color var(--td-dur-fast) var(--td-ease-out),filter var(--td-dur-fast) var(--td-ease-out),box-shadow var(--td-dur-fast) var(--td-ease-out),transform var(--td-dur-fast) var(--td-ease-out)}.td-btn-primary:disabled,.td-btn-primary[aria-disabled=true],.td-btn-primary.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-btn-primary.is-busy{opacity:1;cursor:default}.td-btn-primary{background:var(--td-stone-dark);box-shadow:var(--td-raised);color:var(--td-brass-light)}.td-btn-primary:hover:not(:disabled,[aria-disabled=true],.is-locked){filter:brightness(1.12)}.td-btn-primary:active:not(:disabled,[aria-disabled=true],.is-locked){transform:translateY(1px);box-shadow:var(--td-pressed);filter:brightness(.95)}.td-btn-primary.is-on,.td-btn-primary[aria-pressed=true]{box-shadow:var(--td-pressed)}.td-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--td-sp-2);box-sizing:border-box;height:var(--td-h-button);padding:0 16px 3px;border:0;border-radius:var(--td-radius);font-family:var(--td-font);font-size:var(--td-fs-button);font-weight:600;line-height:1;text-decoration:none;text-shadow:var(--td-engrave);white-space:nowrap;cursor:pointer;transition:color var(--td-dur-fast) var(--td-ease-out),filter var(--td-dur-fast) var(--td-ease-out),box-shadow var(--td-dur-fast) var(--td-ease-out),transform var(--td-dur-fast) var(--td-ease-out)}.td-btn-secondary:disabled,.td-btn-secondary[aria-disabled=true],.td-btn-secondary.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-btn-secondary.is-busy{opacity:1;cursor:default}.td-btn-secondary{background:var(--td-stone-darker);box-shadow:var(--td-raised-quiet);color:var(--td-text-quiet)}.td-btn-secondary:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}.td-btn-secondary:active:not(:disabled,[aria-disabled=true],.is-locked){box-shadow:var(--td-pressed)}.td-btn-secondary.is-on,.td-btn-secondary[aria-pressed=true]{background:color-mix(in srgb,var(--td-ink) 45%,transparent);box-shadow:var(--td-well-deep);color:var(--td-brass-light)}.td-btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--td-sp-2);box-sizing:border-box;height:var(--td-h-button);padding:0 16px 3px;border:0;border-radius:var(--td-radius);font-family:var(--td-font);font-size:var(--td-fs-button);font-weight:600;line-height:1;text-decoration:none;text-shadow:var(--td-engrave);white-space:nowrap;cursor:pointer;transition:color var(--td-dur-fast) var(--td-ease-out),filter var(--td-dur-fast) var(--td-ease-out),box-shadow var(--td-dur-fast) var(--td-ease-out),transform var(--td-dur-fast) var(--td-ease-out)}.td-btn-danger:disabled,.td-btn-danger[aria-disabled=true],.td-btn-danger.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-btn-danger.is-busy{opacity:1;cursor:default}.td-btn-danger{background:var(--td-stone-darker);box-shadow:var(--td-raised-quiet);color:var(--td-text-quiet)}.td-btn-danger:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}.td-btn-danger:active:not(:disabled,[aria-disabled=true],.is-locked){box-shadow:var(--td-pressed)}.td-btn-danger.is-on,.td-btn-danger[aria-pressed=true]{background:color-mix(in srgb,var(--td-ink) 45%,transparent);box-shadow:var(--td-well-deep);color:var(--td-brass-light)}.td-btn-danger{color:var(--td-danger-text)}.td-btn-danger:hover:not(:disabled,[aria-disabled=true],.is-locked),.td-btn-danger.is-armed{color:var(--td-error-text)}.td-btn-danger.is-armed{box-shadow:var(--td-pressed)}.td-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--td-sp-2);box-sizing:border-box;height:var(--td-h-button);padding:0 16px 3px;border:0;border-radius:var(--td-radius);font-family:var(--td-font);font-size:var(--td-fs-button);font-weight:600;line-height:1;text-decoration:none;text-shadow:var(--td-engrave);white-space:nowrap;cursor:pointer;transition:color var(--td-dur-fast) var(--td-ease-out),filter var(--td-dur-fast) var(--td-ease-out),box-shadow var(--td-dur-fast) var(--td-ease-out),transform var(--td-dur-fast) var(--td-ease-out)}.td-btn-ghost:disabled,.td-btn-ghost[aria-disabled=true],.td-btn-ghost.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-btn-ghost.is-busy{opacity:1;cursor:default}.td-btn-ghost{background:none;color:var(--td-text-quiet)}.td-btn-ghost:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}.td-btn-sm{height:var(--td-h-button-sm);padding:0 10px 2px;font-size:var(--td-fs-body)}.td-icon-btn{display:inline-grid;place-items:center;flex:0 0 auto;box-sizing:border-box;width:var(--td-icon-btn);height:var(--td-icon-btn);padding:0;border:0;border-radius:var(--td-radius);background:var(--td-stone-darker);box-shadow:var(--td-raised-quiet);color:var(--td-text-muted);cursor:pointer;transition:color var(--td-dur-fast) var(--td-ease-out),box-shadow var(--td-dur-fast) var(--td-ease-out)}.td-icon-btn:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}.td-icon-btn:active:not(:disabled,[aria-disabled=true],.is-locked){box-shadow:var(--td-pressed);color:var(--td-brass-light)}.td-icon-btn.is-on,.td-icon-btn[aria-pressed=true],.td-icon-btn[aria-expanded=true]{background:color-mix(in srgb,var(--td-ink) 45%,transparent);box-shadow:var(--td-well-deep);color:var(--td-brass-light)}.td-icon-btn:disabled,.td-icon-btn[aria-disabled=true],.td-icon-btn.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-icon-btn.is-busy{opacity:1;cursor:default}.td-icon-btn.is-sm{width:var(--td-icon-sm);height:var(--td-icon-sm)}.td-icon-btn.is-over-map:not(.is-on,[aria-pressed=true],[aria-expanded=true],:active){box-shadow:var(--td-raised-over-map)}.td-close{display:inline-grid;place-items:center;flex:0 0 auto;box-sizing:border-box;width:var(--td-close-size);height:var(--td-close-size);padding:0;border:0;border-radius:var(--td-radius);background:var(--td-stone-darker);box-shadow:var(--td-raised-quiet);color:var(--td-text-muted);cursor:pointer;transition:color var(--td-dur-fast) var(--td-ease-out),box-shadow var(--td-dur-fast) var(--td-ease-out)}.td-close:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}.td-close:active:not(:disabled,[aria-disabled=true],.is-locked){box-shadow:var(--td-pressed);color:var(--td-brass-light)}.td-close.is-on,.td-close[aria-pressed=true],.td-close[aria-expanded=true]{background:color-mix(in srgb,var(--td-ink) 45%,transparent);box-shadow:var(--td-well-deep);color:var(--td-brass-light)}.td-close:disabled,.td-close[aria-disabled=true],.td-close.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-close.is-busy{opacity:1;cursor:default}.td-tool{display:inline-grid;place-items:center;flex:0 0 auto;width:var(--td-tool-size);height:var(--td-tool-size);padding:0;border:0;border-radius:var(--td-radius);background:none;color:var(--td-text-muted);filter:var(--td-engrave-icon);cursor:pointer;transition:color var(--td-dur-fast) var(--td-ease-out)}.td-tool:hover:not(:disabled,[aria-disabled=true],.is-locked),.td-tool.is-on,.td-tool[aria-pressed=true],.td-tool[aria-expanded=true]{color:var(--td-brass-light)}.td-tool.is-armed{color:var(--td-error-text)}.td-tool:disabled,.td-tool[aria-disabled=true],.td-tool.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-tool.is-busy{opacity:1;cursor:default}.td-stone-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 6px 4px 9px;border-radius:var(--td-radius);background:var(--td-stone-dark);box-shadow:var(--td-raised);font-size:var(--td-fs-small);opacity:var(--td-chip-rest-opacity);cursor:pointer;transition:opacity var(--td-dur-fast) var(--td-ease-out),color var(--td-dur-fast) var(--td-ease-out)}.td-stone-chip:hover,.td-stone-chip:focus-visible{opacity:1}.td-tool.is-sm{width:var(--td-icon-sm);height:var(--td-icon-sm)}.td-tool-gap{align-self:stretch;width:0;margin:10px 4px;border-left:1px solid var(--td-line-dark);box-shadow:1px 0 0 var(--td-line-light)}.td-field{display:flex;flex-direction:column;gap:5px;min-width:0}.td-label{font-size:var(--td-fs-body);font-weight:600;line-height:1.2;color:var(--td-text-muted)}.td-input{box-sizing:border-box;width:100%;min-width:0;height:var(--td-h-field);padding:0 12px;border:0;border-radius:var(--td-radius);background:var(--td-well);box-shadow:var(--td-well-shadow);color:var(--td-text-primary);font-family:var(--td-font);font-size:var(--td-fs-text);font-weight:500;outline:none;transition:box-shadow var(--td-dur-fast) var(--td-ease-out)}.td-input::placeholder{color:color-mix(in srgb,var(--td-text-primary) 60%,transparent)}.td-input:focus,.td-input:focus-visible{outline:none;box-shadow:var(--td-well-shadow),inset 0 0 0 var(--td-focus-width) var(--td-focus-color)}.td-input:disabled,.td-input[aria-disabled=true],.td-input.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-input.is-busy{opacity:1;cursor:default}.td-input.is-error,.td-input[aria-invalid=true]{box-shadow:var(--td-well-shadow),inset 0 0 0 1px color-mix(in srgb,var(--td-danger-edge) 80%,transparent)}.td-input[type=number]{-moz-appearance:textfield;appearance:textfield}.td-input[type=number]::-webkit-inner-spin-button,.td-input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.td-input.is-code{font-family:var(--td-font-mono);font-weight:600;letter-spacing:.18em;text-transform:uppercase}.td-input.is-sm{height:var(--td-h-button-sm);padding:0 8px;font-size:var(--td-fs-body)}.td-input.is-group{display:flex;align-items:center;gap:var(--td-sp-2)}.td-input.is-group:focus-within{outline:none;box-shadow:var(--td-well-shadow),inset 0 0 0 var(--td-focus-width) var(--td-focus-color)}.td-input.is-group.is-error,.td-input.is-group:has(>input[aria-invalid=true]){box-shadow:var(--td-well-shadow),inset 0 0 0 1px color-mix(in srgb,var(--td-danger-edge) 80%,transparent)}.td-input.is-group:has(>input:disabled){opacity:var(--td-disabled-opacity)}.td-input.is-group>td-icon{flex:0 0 auto;color:var(--td-text-muted)}.td-input.is-group>input{flex:1 1 auto;min-width:0;height:100%;padding:0;border:0;background:none;color:inherit;font:inherit;outline:none}.td-input.is-group>input::placeholder{color:color-mix(in srgb,var(--td-text-primary) 60%,transparent)}.td-select{box-sizing:border-box;width:100%;min-width:0;height:var(--td-h-field);padding:0 12px;border:0;border-radius:var(--td-radius);background:var(--td-well);box-shadow:var(--td-well-shadow);color:var(--td-text-primary);font-family:var(--td-font);font-size:var(--td-fs-text);font-weight:500;outline:none;transition:box-shadow var(--td-dur-fast) var(--td-ease-out)}.td-select::placeholder{color:color-mix(in srgb,var(--td-text-primary) 60%,transparent)}.td-select:focus,.td-select:focus-visible{outline:none;box-shadow:var(--td-well-shadow),inset 0 0 0 var(--td-focus-width) var(--td-focus-color)}.td-select:disabled,.td-select[aria-disabled=true],.td-select.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-select.is-busy{opacity:1;cursor:default}.td-select.is-error,.td-select[aria-invalid=true]{box-shadow:var(--td-well-shadow),inset 0 0 0 1px color-mix(in srgb,var(--td-danger-edge) 80%,transparent)}.td-select[type=number]{-moz-appearance:textfield;appearance:textfield}.td-select[type=number]::-webkit-inner-spin-button,.td-select[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.td-select{padding-right:32px;appearance:none;cursor:pointer;background:linear-gradient(45deg,transparent 50%,var(--td-brass) 50%) calc(100% - 17px) 50%/6px 6px no-repeat,linear-gradient(-45deg,transparent 50%,var(--td-brass) 50%) calc(100% - 11px) 50%/6px 6px no-repeat,var(--td-well)}.td-select option{background:var(--td-bg-surface);color:var(--td-text-primary)}.td-select.is-auto{width:auto}.td-error{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--td-fs-body);font-weight:500;line-height:1.3;color:var(--td-error-text)}.td-error:before{content:"";flex:0 0 auto;width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2l10 19H2zM11 9h2v6h-2zm0 8h2v2h-2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2l10 19H2zM11 9h2v6h-2zm0 8h2v2h-2z'/%3E%3C/svg%3E") center/contain no-repeat}.td-seg{display:flex;gap:0;padding:3px;border-radius:var(--td-radius);background:var(--td-well);box-shadow:var(--td-well-shadow)}.td-seg>button{display:grid;flex:1 1 0;place-items:center;min-width:0;height:var(--td-h-button);padding:0 12px 2px;border:0;border-radius:var(--td-radius);background:color-mix(in srgb,var(--td-ink) 20%,transparent);color:var(--td-text-quiet);font-family:var(--td-font);font-size:var(--td-fs-text);font-weight:600;white-space:nowrap;cursor:pointer;transition:color var(--td-dur-fast) var(--td-ease-out),background-color var(--td-dur-fast) var(--td-ease-out),box-shadow var(--td-dur-fast) var(--td-ease-out)}.td-seg>button:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-text-primary)}.td-seg>button.is-on,.td-seg>button[aria-pressed=true],.td-seg>button[aria-checked=true],.td-seg>button[aria-selected=true]{background:var(--td-stone-plate);box-shadow:var(--td-raised-plate);color:var(--td-brass-light)}.td-seg>button.is-on.is-warn{color:var(--td-warn-text)}.td-seg>button:disabled,.td-seg>button[aria-disabled=true],.td-seg>button.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-seg>button.is-busy{opacity:1;cursor:default}.td-seg.is-compact>*{flex:0 0 auto;min-width:56px}.td-seg.is-sm>*{height:var(--td-h-button-sm);font-size:var(--td-fs-body)}.td-seg.is-stacked>*{display:flex;flex-direction:column;align-items:flex-start;gap:2px;height:auto;padding:6px 7px}.td-switch{position:relative;display:inline-block;flex:0 0 auto;width:40px;height:20px;margin:0;border-radius:var(--td-radius);background:var(--td-well);box-shadow:var(--td-well-shadow);appearance:none;cursor:pointer}.td-switch:before{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:2px;background:var(--td-switch-off);transition:left var(--td-dur-fast) var(--td-ease-out),background-color var(--td-dur-fast) var(--td-ease-out)}.td-switch:checked:before,.td-switch.is-on:before{left:23px;background:var(--td-brass)}.td-switch:disabled,.td-switch[aria-disabled=true],.td-switch.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-switch.is-busy{opacity:1;cursor:default}.td-check{display:inline-flex;align-items:center;gap:10px;font-weight:500;color:var(--td-text-primary);white-space:nowrap;cursor:pointer}button.td-check{margin:0;padding:0;border:0;background:none;text-align:inherit;cursor:pointer;font-size:inherit}button.td-check[aria-pressed=true]>.td-switch:before{left:23px;background:var(--td-brass)}.td-slider{--track: 6px;width:100%;min-width:0;height:20px;margin:0;overflow:hidden;background:none;appearance:none;cursor:pointer}.td-slider::-webkit-slider-runnable-track{height:var(--track);background:repeating-linear-gradient(90deg,var(--td-line-dark) 0 calc(10% - 2px),transparent calc(10% - 2px) 10%),var(--td-well);box-shadow:inset 0 1px 2px var(--td-ink)}.td-slider::-webkit-slider-thumb{width:10px;height:16px;margin-top:calc((var(--track) - 16px) / 2);border:0;background:var(--td-knob);box-shadow:inset 0 1px 0 var(--td-knob-light),inset 0 -2px 0 var(--td-knob-dark);border-image:linear-gradient(90deg,var(--td-brass) 50%,transparent 0) 0 1/calc(50% - var(--track) / 2) 100vw/0 100vw;appearance:none}.td-slider::-moz-range-track{height:var(--track);background:repeating-linear-gradient(90deg,var(--td-line-dark) 0 calc(10% - 2px),transparent calc(10% - 2px) 10%),var(--td-well);box-shadow:inset 0 1px 2px var(--td-ink)}.td-slider::-moz-range-progress{height:var(--track);background:var(--td-brass)}.td-slider::-moz-range-thumb{width:10px;height:16px;border:0;border-radius:0;background:var(--td-knob);box-shadow:inset 0 1px 0 var(--td-knob-light),inset 0 -2px 0 var(--td-knob-dark)}.td-slider:disabled,.td-slider[aria-disabled=true],.td-slider.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-slider.is-busy{opacity:1;cursor:default}.td-range-row{display:grid;grid-template-columns:64px minmax(0,1fr) 64px auto;align-items:center;gap:8px;color:var(--td-text-secondary)}.td-range-row>.td-input{height:var(--td-h-button-sm);padding:0 8px;font-size:var(--td-fs-body);text-align:right}.td-rows{display:flex;flex-direction:column;gap:var(--td-row-gap);margin:0;padding:0;list-style:none}.td-row{display:flex;justify-content:space-between;gap:var(--td-sp-4);box-sizing:border-box;width:100%;min-height:var(--td-h-row);align-items:center;padding:0 12px;border-bottom:1px solid var(--td-hairline);border-radius:var(--td-radius);font-size:var(--td-fs-text);font-weight:500;color:var(--td-text-primary);transition:background-color var(--td-dur-fast) var(--td-ease-out),box-shadow var(--td-dur-fast) var(--td-ease-out),color var(--td-dur-fast) var(--td-ease-out)}.td-row[role=option],.td-row[role=button]{cursor:pointer}.td-row[role=option]:hover:not(:disabled,[aria-disabled=true],.is-locked),.td-row[role=button]:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}.td-row.is-selected,.td-row[aria-selected=true]{border-bottom-color:transparent;background:var(--td-stone-lit);box-shadow:var(--td-raised-lit);color:var(--td-brass-light)}.td-row.is-selected :is(.td-muted,.td-note,.td-sub,.td-caps),.td-row[aria-selected=true] :is(.td-muted,.td-note,.td-sub,.td-caps){color:var(--td-text-secondary)}.td-row.is-own{background:var(--td-well-soft)}.td-row.is-gone{border-bottom-style:dashed}.td-row.is-gone .td-name{color:var(--td-text-disabled);text-decoration:line-through}button.td-row{border-top:0;border-left:0;border-right:0;background:none;font-family:var(--td-font);text-align:left;cursor:pointer}button.td-row:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}button.td-row:disabled,button.td-row[aria-disabled=true]{cursor:not-allowed}button.td-row:disabled>:not(.td-note),button.td-row[aria-disabled=true]>:not(.td-note){opacity:var(--td-disabled-opacity)}a.td-row{border-top:0;border-left:0;border-right:0;background:none;font-family:var(--td-font);text-align:left;cursor:pointer}a.td-row:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}a.td-row:disabled,a.td-row[aria-disabled=true]{cursor:not-allowed}a.td-row:disabled>:not(.td-note),a.td-row[aria-disabled=true]>:not(.td-note){opacity:var(--td-disabled-opacity)}a.td-row{text-decoration:none}.td-row-main{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:var(--td-h-row);padding:6px 0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:color var(--td-dur-fast) var(--td-ease-out)}.td-row-main:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}.td-row-main:disabled,.td-row-main[aria-disabled=true],.td-row-main.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-row-main.is-busy{opacity:1;cursor:default}.td-table{width:100%;border-collapse:separate;border-spacing:0 var(--td-row-gap);font-size:var(--td-fs-text);color:var(--td-text-primary)}.td-table th{box-sizing:border-box;padding:0 12px 4px;font-size:var(--td-fs-body);font-weight:600;color:var(--td-text-muted);text-align:left}.td-table td{height:var(--td-h-row);padding:0 12px;border-bottom:1px solid var(--td-hairline)}.td-table tr.is-selected>*,.td-table tr[aria-selected=true]>*{border-bottom-color:transparent;background:var(--td-stone-lit);box-shadow:var(--td-raised-lit);color:var(--td-brass-light)}.td-table tr.is-selected>* :is(.td-muted,.td-note,.td-sub,.td-caps),.td-table tr[aria-selected=true]>* :is(.td-muted,.td-note,.td-sub,.td-caps){color:var(--td-text-secondary)}.td-table tr.is-own>*{background:var(--td-well-soft)}.td-table tr.is-gone>*{border-bottom-style:dashed}.td-table tr.is-gone>* .td-name{color:var(--td-text-disabled);text-decoration:line-through}.td-table .num{text-align:right;font-variant-numeric:tabular-nums}.td-side{background:var(--td-surface);box-shadow:var(--td-panel-recess),var(--td-panel-drop);color:var(--td-text-secondary);box-shadow:inset var(--td-line-width) 0 0 var(--td-edge-dark),inset calc(var(--td-line-width) + var(--td-line-gap)) 0 0 var(--td-edge-light),var(--td-panel-recess),var(--td-panel-drop);display:flex;flex-direction:column;min-height:0;overflow:hidden}.td-side-section{display:flex;flex:0 0 auto;flex-direction:column;gap:10px;padding:12px var(--td-sidebar-gutter) 14px}.td-side-section+.td-side-section{border-top:var(--td-line-width) solid var(--td-line-dark);box-shadow:inset 0 var(--td-line-gap) 0 var(--td-line-light)}.td-side-section.is-fill{flex:1 1 auto;min-height:0;overflow-y:auto}.td-side-head{margin:0;font-size:var(--td-fs-text);font-weight:700;line-height:1.2;color:var(--td-brass);padding-bottom:4px;border-bottom:1px solid var(--td-hairline);display:flex;align-items:center;gap:var(--td-sp-2);min-height:26px}.td-side-body{display:flex;flex:1 1 auto;flex-direction:column;gap:10px;min-height:0;overflow-y:auto}.td-side-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-side-name.is-armed{color:var(--td-error-text)}.td-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:4px}.td-tile{border-radius:var(--td-radius);background:var(--td-well-soft);box-shadow:var(--td-well-soft-shadow);display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:6px 4px}.td-tile.is-label-under{flex-direction:column-reverse}.td-plate-btn{display:flex;align-items:center;gap:10px;box-sizing:border-box;width:100%;padding:8px 10px;border:0;border-radius:var(--td-radius);background:var(--td-stone-darker);box-shadow:var(--td-raised-quiet);color:var(--td-text-primary);font-family:var(--td-font);font-size:var(--td-fs-body);text-align:left;cursor:pointer;transition:color var(--td-dur-fast) var(--td-ease-out),box-shadow var(--td-dur-fast) var(--td-ease-out),filter var(--td-dur-fast) var(--td-ease-out)}.td-plate-btn>td-icon{flex:0 0 auto;color:var(--td-brass)}.td-plate-btn .td-plate-label{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.td-plate-btn:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}.td-plate-btn:active:not(:disabled,[aria-disabled=true],.is-locked){box-shadow:var(--td-pressed)}.td-plate-btn:disabled,.td-plate-btn[aria-disabled=true],.td-plate-btn.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-plate-btn.is-busy{opacity:1;cursor:default}.td-plate-btn.is-flash{animation:td-plate-flash .7s ease-out}.td-plate-btn.is-flash-alt{animation:td-plate-flash-alt .7s ease-out}@media(prefers-reduced-motion:reduce){.td-plate-btn.is-flash,.td-plate-btn.is-flash-alt{animation:none}}@keyframes td-plate-flash{0%{opacity:1;filter:brightness(1.5)}}@keyframes td-plate-flash-alt{0%{opacity:1;filter:brightness(1.5)}}.td-menu{display:flex;flex-direction:column;gap:5px;margin:0;padding:0;list-style:none}.td-menu-item{display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;min-height:var(--td-h-menu-item);padding:4px 14px;border:0;border-radius:var(--td-radius);background:none;font-family:var(--td-font);font-size:var(--td-fs-menu);font-weight:600;line-height:1.1;text-align:left;text-decoration:none;color:var(--td-text-primary);cursor:pointer;transition:color var(--td-dur-fast) var(--td-ease-out),background-color var(--td-dur-fast) var(--td-ease-out),box-shadow var(--td-dur-fast) var(--td-ease-out)}.td-menu-item>svg,.td-menu-item>td-icon{flex:0 0 auto;color:var(--td-brass-dark)}.td-menu-item small{display:block;margin-top:2px;font-size:var(--td-fs-small);font-weight:500;color:var(--td-text-muted)}.td-menu-item:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}.td-menu-item:focus,.td-menu-item[aria-current=page]{background:var(--td-stone-plate);box-shadow:var(--td-raised-plate);color:var(--td-brass-light)}.td-menu-item:focus>svg,.td-menu-item:focus>td-icon,.td-menu-item[aria-current=page]>svg,.td-menu-item[aria-current=page]>td-icon{color:var(--td-brass)}.td-menu-item:focus small,.td-menu-item[aria-current=page] small{color:var(--td-text-secondary)}:focus-within>.td-menu-item[aria-current=page]:not(:focus){box-shadow:none}.td-menu-item:disabled,.td-menu-item[aria-disabled=true],.td-menu-item.is-locked{opacity:var(--td-disabled-opacity);cursor:not-allowed}.td-menu-item.is-busy{opacity:1;cursor:default}.td-menu-rule{height:0;margin:4px 14px;border:0;border-bottom:var(--td-line-width) solid var(--td-line-dark);box-shadow:0 var(--td-line-gap) 0 var(--td-line-light)}.td-topbar{display:flex;align-items:center;gap:var(--td-sp-2);box-sizing:border-box;height:var(--td-h-topbar);padding:0 14px;background:var(--td-surface-topbar);box-shadow:var(--td-topbar-edge);color:var(--td-text-secondary)}.td-stat{position:relative;display:flex;align-items:center;gap:var(--td-sp-2);height:calc(var(--td-h-topbar) - 12px);padding:0 12px}.td-stat+.td-stat:before{content:"";position:absolute;left:-5px;top:4px;bottom:4px;border-left:var(--td-line-width) solid var(--td-sep-dark);box-shadow:var(--td-line-gap) 0 0 var(--td-sep-light)}.td-caps{font-size:var(--td-fs-micro);font-weight:600;letter-spacing:var(--td-track-caps);line-height:1.1;text-transform:uppercase;color:var(--td-text-muted)}.td-value{font-size:var(--td-fs-hud);font-weight:700;line-height:1;color:var(--td-text-value);font-variant-numeric:tabular-nums}.td-value.is-sm{font-size:var(--td-fs-lead)}.td-sunk{display:flex;align-items:center;gap:var(--td-sp-2);height:calc(var(--td-h-topbar) - 12px);padding:0 14px;border-radius:var(--td-radius);background:var(--td-well-soft);box-shadow:var(--td-well-shadow),0 0 0 1px var(--td-line-dark),0 1px 0 1px var(--td-hairline)}button.td-sunk{border:0;font-size:inherit;cursor:pointer}button.td-sunk:hover:not(:disabled,[aria-disabled=true],.is-locked) .td-loc-name{color:var(--td-brass-light)}button.td-sunk:disabled,button.td-sunk[aria-disabled=true]{cursor:not-allowed}.td-meter{display:flex;gap:2px;box-sizing:border-box;height:8px;padding:2px;border-radius:var(--td-radius);background:var(--td-well);box-shadow:var(--td-well-shadow)}.td-meter>*{flex:1;background:var(--td-line-dark)}.td-meter>.is-on{background:var(--td-brass)}.td-progress{display:block;box-sizing:border-box;height:6px;padding:1px;border-radius:var(--td-radius);background:var(--td-well);box-shadow:var(--td-well-shadow)}.td-progress>*{display:block;height:100%;max-width:100%;background:var(--td-brass);transition:width var(--td-dur-mid) linear}.td-progress.is-edge{position:absolute;left:0;right:0;bottom:0;height:2px;padding:0;border-radius:0;background:var(--td-line-dark);box-shadow:none;pointer-events:none}.td-progress.is-tick>*{transition-duration:var(--td-dur-tick)}.td-progress.is-teal>*{background:var(--td-teal)}.td-marker{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;outline:2px solid var(--td-mark, var(--td-brass));outline-offset:-2px;color:var(--td-mark-text, var(--td-mark, var(--td-brass-light)));transition:transform var(--td-dur-fast) var(--td-ease-out)}.td-marker.is-sm{width:24px;height:24px;outline-width:1px;outline-offset:-1px}.td-marker-btn{margin:0;padding:0;border:0;background:none;text-align:inherit;cursor:pointer;position:absolute;transform:translate(-50%,-50%);pointer-events:auto}.td-marker-btn:hover>.td-marker{transform:scale(1.15)}.td-loc-label{padding-right:10px;margin-right:2px;font-size:var(--td-fs-small);font-weight:600;letter-spacing:var(--td-track-caps);text-transform:uppercase;color:var(--td-text-dim);border-right:1px solid var(--td-line-dark);box-shadow:1px 0 0 var(--td-line-light)}.td-gameover-veil{background:var(--td-gameover-veil);backdrop-filter:var(--td-gameover-map);-webkit-backdrop-filter:var(--td-gameover-map);animation:td-gameover-fade var(--td-dur-slow) var(--td-ease-out) both,td-gameover-shake .45s .3s linear both}@media(prefers-reduced-motion:reduce){.td-gameover-veil{animation:none}}.td-gameover-word{margin:0;font-size:var(--td-fs-gameover);font-weight:700;line-height:.95;letter-spacing:.1em;text-transform:uppercase;color:var(--td-danger-text);text-shadow:var(--td-gameover-word);animation:td-gameover-slam .42s cubic-bezier(.2,1.4,.4,1) both}@media(prefers-reduced-motion:reduce){.td-gameover-word{animation:none}}.td-gameover-sub{margin:0;font-size:var(--td-fs-lead);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--td-text-secondary);text-shadow:var(--td-over-image)}.td-gameover-sub b{font-weight:700;color:var(--td-brass-light)}.td-gameover-rise{animation:td-gameover-rise .4s .45s var(--td-ease-out) both}@media(prefers-reduced-motion:reduce){.td-gameover-rise{animation:none}}@keyframes td-gameover-fade{0%{opacity:0}to{opacity:1}}@keyframes td-gameover-slam{0%{opacity:0;transform:scale(1.9)}60%{opacity:1}to{opacity:1;transform:scale(1)}}@keyframes td-gameover-shake{0%,to{transform:none}20%{transform:translate(-6px,3px)}40%{transform:translate(5px,-4px)}60%{transform:translate(-3px,2px)}80%{transform:translate(2px,-1px)}}@keyframes td-gameover-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.td-globe-mark{position:absolute;top:0;left:0;display:flex;gap:6px;align-items:center;white-space:nowrap;font-size:var(--td-fs-small);font-weight:600;line-height:1;color:var(--td-text-engraved);text-shadow:var(--td-over-image);will-change:transform}.td-globe-mark>i{flex:0 0 auto;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:currentColor;box-shadow:var(--td-over-image)}.td-globe-mark.is-record,.td-globe-mark.is-favorite{color:var(--td-brass-light)}.td-globe-mark{transition:opacity .2s ease-out}.td-globe-mark.is-behind{opacity:.2}.td-globe-mark.is-target{z-index:1;gap:10px;font-size:var(--td-fs-text);font-weight:700;color:var(--td-teal-light)}.td-globe-mark.is-target>i{position:relative;width:10px;height:10px;margin-left:-5px;outline:1px solid currentColor;outline-offset:3px}.td-globe-mark.is-target>i:after{content:"";position:absolute;inset:-6px;border:2px solid currentColor;border-radius:50%;opacity:0}.td-globe-mark.is-target>span{display:flex;flex-direction:column;gap:4px}.td-globe-mark.is-target small{font-size:var(--td-fs-small);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--td-text-primary);font-variant-numeric:tabular-nums}.td-globe-mark.is-target small:empty{display:none}.td-globe-mark.is-target.is-busy>i:after{animation:td-globe-ping 1.6s ease-out infinite}@media(prefers-reduced-motion:reduce){.td-globe-mark.is-target.is-busy>i:after{animation:none;opacity:.6}}@keyframes td-globe-ping{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.6)}}.td-globe-readout{display:grid;grid-template-columns:auto auto;gap:4px 14px;margin:0;font-size:var(--td-fs-small);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--td-text-secondary);text-shadow:var(--td-over-image);font-variant-numeric:tabular-nums}.td-globe-readout dt{color:var(--td-text-dim)}.td-globe-readout dd{margin:0;text-align:right}.td-globe-readout b{font-weight:700;color:var(--td-brass-light)}.td-globe-readout em{font-style:normal;color:var(--td-teal-light)}.td-loc-name{font-size:var(--td-fs-small);font-weight:600;color:var(--td-text-primary);transition:color var(--td-dur-fast) var(--td-ease-out);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-text{margin:0;font-size:var(--td-fs-text);font-weight:500;line-height:1.4;color:var(--td-text-secondary);text-wrap:pretty}.td-muted{color:var(--td-text-muted)}.td-tone-hurt{color:var(--td-hp-text)}.td-tone-brass{color:var(--td-brass)}.td-tone-teal{color:var(--td-teal)}.td-num{font-variant-numeric:tabular-nums}.td-figure{font-weight:700;color:var(--td-brass);font-variant-numeric:tabular-nums}.td-note{margin:0;font-size:var(--td-fs-small);font-weight:500;line-height:1.4;color:var(--td-text-muted);text-wrap:pretty}.td-note.is-warn{color:var(--td-warn-text)}.td-note.is-error{color:var(--td-error-text)}.td-note.is-ok{color:var(--td-teal-light)}.td-banner{margin:0;padding:8px 12px;border-radius:var(--td-radius);background:var(--td-well-soft);box-shadow:var(--td-well-soft-shadow);font-size:var(--td-fs-body);line-height:1.4;color:var(--td-text-title)}.td-banner b{font-weight:600}.td-banner.is-warn{color:var(--td-warn-text)}.td-banner.is-error{color:var(--td-error-text)}.td-banner.is-ok{color:var(--td-teal-light)}.td-banner.is-row{display:flex;align-items:center;gap:10px}.td-banner.is-row>span{flex:1}.td-name{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-trunc{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-sub{display:block;margin-top:2px;font-size:var(--td-fs-small);font-weight:500;color:var(--td-text-muted)}.td-code{font-family:var(--td-font-mono);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--td-brass-light)}.td-kbd{display:inline-block;min-width:1.6em;box-sizing:border-box;padding:1px 6px 2px;border-radius:var(--td-radius);background:var(--td-stone-darker);box-shadow:var(--td-raised-quiet);font-family:var(--td-font-mono);font-size:var(--td-fs-small);font-weight:600;line-height:1.3;text-align:center;color:var(--td-text-title)}.td-diamond{display:inline-block;flex:0 0 auto;width:6px;height:6px;transform:rotate(45deg);background:var(--td-mark, var(--td-brass))}.td-diamond.is-sm{width:5px;height:5px}.td-swatch{display:inline-block;flex:0 0 auto;width:8px;height:8px;background:var(--td-mark, currentColor)}.td-swatch.is-round{border-radius:50%}.td-swatch.is-lg{width:12px;height:12px;outline:1px solid var(--td-line-dark)}.td-swatch.is-line{width:16px;height:2px}.td-legend{margin:0;padding:0;list-style:none}.td-legend>li{display:flex;align-items:center;gap:6px}.td-divided>*+*{border-top:1px solid var(--td-hairline)}.td-tag{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:1px 6px;border-radius:var(--td-radius);background:var(--td-well-soft);box-shadow:var(--td-well-soft-shadow);font-size:var(--td-fs-small);font-style:normal;font-weight:600;line-height:1.35;white-space:nowrap;color:var(--td-text-secondary)}.td-tag.is-caps{font-size:var(--td-fs-micro);letter-spacing:var(--td-track-caps);text-transform:uppercase}.td-tag.is-ok{color:var(--td-teal-light)}.td-tag.is-brass{color:var(--td-brass)}.td-tag.is-warn{color:var(--td-warn-text)}.td-tag.is-error{color:var(--td-error-text)}.td-kv{display:flex;align-items:baseline;justify-content:space-between;gap:var(--td-sp-3);padding:1px 0}.td-kv>:first-child{color:var(--td-text-muted)}.td-kv>b{font-weight:600;text-align:right;font-variant-numeric:tabular-nums;color:var(--td-text-title)}.td-kv>b.is-ok{color:var(--td-teal-light)}.td-kv>b.is-warn{color:var(--td-warn-text)}.td-kv>b.is-error{color:var(--td-perf-critical)}.td-kv>b.is-hot{color:var(--td-perf-warning);font-weight:700}.td-kv>b.is-muted{color:var(--td-text-muted);font-weight:500}.td-kv.is-sub1>:first-child{padding-left:8px}.td-kv.is-sub2>:first-child{padding-left:16px}.td-kv.is-sub3>:first-child{padding-left:24px}.td-log{font-family:var(--td-font-mono);font-size:var(--td-fs-micro);line-height:1.45;color:var(--td-text-secondary)}.td-log>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-link{padding:0;border:0;background:none;font:inherit;color:var(--td-brass);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--td-brass) 45%,transparent);text-underline-offset:2px;cursor:pointer}.td-link:hover:not(:disabled,[aria-disabled=true],.is-locked){color:var(--td-brass-light)}.td-spin{animation:td-spin 1s linear infinite}@media(prefers-reduced-motion:reduce){.td-spin{animation:none}}.td-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.td-dialog-panel .mdc-dialog__surface{background:transparent;border-radius:0;box-shadow:none;color:var(--td-text-secondary)}.td-dialog-panel:not(.td-research-panel){margin-top:var(--td-h-topbar)}.td-research-panel .mdc-dialog__surface{overflow:hidden;border-radius:0}.td-research-panel .mat-mdc-dialog-container,.td-research-panel .mat-mdc-dialog-content{overflow:hidden;max-height:none;padding:0}.cdk-overlay-container .td-update-hint-host{z-index:1001}
