@charset "UTF-8";:root{--color-base: #1e1e2e;--color-mantle: #181825;--color-crust: #11111b;--color-surface0: #313244;--color-surface1: #45475a;--color-surface2: #585b70;--color-text: #cdd6f4;--color-subtext1: #bac2de;--color-subtext0: #a6adc8;--color-overlay0: #6c7086;--color-overlay1: #7f849c;--color-overlay2: #9399b2;--color-primary: #89b4fa;--color-success: #a6e3a1;--color-warning: #f9e2af;--color-danger: #f38ba8;--color-info: #89dceb;--color-accent-mauve: #cba6f7;--color-accent-lavender: #b4befe;--color-accent-teal: #94e2d5;--color-accent-pink: #f5c2e7;--color-accent-peach: #fab387;--color-accent-sapphire: #74c7ec;--color-accent-rosewater: #f5e0dc;--color-accent-flamingo: #f2cdcd;--color-accent-maroon: #eba0ac;--color-link: #74c7ec;--color-link-hover: #89b4fa;--color-focus: #89b4fa;--color-disabled: #6c7086;--color-muted: #a6adc8;--color-card-header: #181825;--color-card-body: #1e1e2e;--color-rosewater: #f5e0dc;--color-flamingo: #f2cdcd;--color-pink: #f5c2e7;--color-mauve: #cba6f7;--color-red: #f38ba8;--color-maroon: #eba0ac;--color-peach: #fab387;--color-yellow: #f9e2af;--color-green: #a6e3a1;--color-teal: #94e2d5;--color-sky: #89dceb;--color-sapphire: #74c7ec;--color-blue: #89b4fa;--color-lavender: #b4befe;--color-red-rgb: 243, 139, 168;--color-yellow-rgb: 249, 226, 175;--color-blue-rgb: 137, 180, 250;--color-green-rgb: 166, 227, 161;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--border-radius-sm: 4px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 24px;--border-radius-full: 9999px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace}[data-theme=light]{--color-base: #eff1f5;--color-mantle: #e6e9ef;--color-crust: #dce0e8;--color-surface0: #ccd0da;--color-surface1: #bcc0cc;--color-surface2: #acb0be;--color-text: #4c4f69;--color-subtext1: #5c5f77;--color-subtext0: #6c6f85;--color-overlay0: #9ca0b0;--color-overlay1: #8c8fa1;--color-overlay2: #7c7f93;--color-primary: #1e66f5;--color-success: #40a02b;--color-warning: #df8e1d;--color-danger: #d20f39;--color-info: #04a5e5;--color-accent-mauve: #8839ef;--color-accent-lavender: #7287fd;--color-accent-teal: #179299;--color-accent-pink: #ea76cb;--color-accent-peach: #fe640b;--color-accent-sapphire: #209fb5;--color-accent-rosewater: #dc8a78;--color-accent-flamingo: #dd7878;--color-accent-maroon: #e64553;--color-link: #209fb5;--color-link-hover: #1e66f5;--color-focus: #1e66f5;--color-disabled: #9ca0b0;--color-muted: #6c6f85;--color-card-header: #e6e9ef;--color-card-body: #eff1f5;--color-rosewater: #dc8a78;--color-flamingo: #dd7878;--color-pink: #ea76cb;--color-mauve: #8839ef;--color-red: #d20f39;--color-maroon: #e64553;--color-peach: #fe640b;--color-yellow: #df8e1d;--color-green: #40a02b;--color-teal: #179299;--color-sky: #04a5e5;--color-sapphire: #209fb5;--color-blue: #1e66f5;--color-lavender: #7287fd;--color-red-rgb: 210, 15, 57;--color-yellow-rgb: 223, 142, 29;--color-blue-rgb: 30, 102, 245;--color-green-rgb: 64, 160, 43}[data-animations=true] *{transition-property:background-color,border-color,color;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){[data-animations=true] *{transition:none}}[data-animations=false] *{transition:none}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%}body{line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1rem;font-weight:400;color:var(--color-text);background-color:var(--color-base);min-height:100vh;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;color:var(--color-text)}ul[role=list],ol[role=list]{list-style:none}button{cursor:pointer;background:none;border:none}button:disabled{cursor:not-allowed;opacity:.6}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}#root{isolation:isolate;height:100%}table{border-collapse:collapse;border-spacing:0;width:100%}input,textarea,select{background-color:var(--color-surface0);color:var(--color-text);border:1px solid var(--color-overlay0);border-radius:12px;padding:.5rem 1rem}input:focus,textarea:focus,select:focus{outline:2px solid var(--color-focus);outline-offset:2px;border-color:var(--color-focus)}input::placeholder,textarea::placeholder,select::placeholder{color:var(--color-muted)}input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.6;background-color:var(--color-surface1)}textarea{resize:vertical;min-height:100px}code,pre,kbd,samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em}code{padding:.125rem .25rem;background-color:var(--color-surface0);border-radius:4px;color:var(--color-lavender)}pre{padding:1rem;background-color:var(--color-surface0);border-radius:12px;overflow-x:auto}pre code{padding:0;background:none;color:var(--color-text)}hr{border:none;border-top:1px solid var(--color-overlay0);margin:1.5rem 0}blockquote{border-left:4px solid var(--color-primary);padding-left:1rem;margin:1rem 0;color:var(--color-subtext1);font-style:italic}mark{background-color:var(--color-warning);color:var(--color-base);padding:.125rem .25rem;border-radius:4px}::selection{background-color:var(--color-primary);color:var(--color-base)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.navigation{background-color:var(--color-crust);color:var(--color-text);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;position:sticky;top:0;z-index:1020}.navigation .wrap{padding-left:0;padding-right:0}.navigation .decor{display:none}.navigation nav ul{list-style:none;display:flex;align-items:center;margin:0;padding:0}.navigation nav li{margin:0}.navigation nav a,.navigation nav .link-button{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;outline:inherit;display:block;padding:.5rem 1rem;color:var(--color-text);text-decoration:none;transition:background-color .15s cubic-bezier(.4,0,.2,1);font-size:1rem;font-weight:500;border-radius:12px}.navigation nav a:hover,.navigation nav .link-button:hover{background-color:var(--color-surface0);color:var(--color-text)}.navigation nav a:focus-visible,.navigation nav .link-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.navigation nav a.active{background-color:var(--color-surface0);color:var(--color-primary);font-weight:600}.navigation nav a.active:hover{background-color:var(--color-surface0);opacity:.9}.navigation .logo-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:opacity .15s cubic-bezier(.4,0,.2,1)}.navigation .logo-link:hover{opacity:.9}.navigation .logo-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.navigation .logo-image{height:48px;width:auto;display:block;filter:brightness(0) saturate(100%) invert(58%) sepia(68%) saturate(467%) hue-rotate(192deg) brightness(103%) contrast(98%)}[data-theme=light] .navigation .logo-image{filter:brightness(0) saturate(100%) invert(27%) sepia(89%) saturate(1583%) hue-rotate(215deg) brightness(99%) contrast(101%)}.navigation .logo-text{font-weight:700;font-size:1.25rem;color:var(--color-primary)}.navigation .right_side{margin-left:auto;display:flex;align-items:center;gap:.5rem}.navigation .alert-count{background-color:var(--color-danger);color:var(--color-base);padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:700;margin-left:.25rem;min-width:20px;text-align:center;display:inline-block}.navigation .error-indicator{color:var(--color-red);font-size:1.125rem;font-weight:700;margin-left:.25rem;display:inline-block;animation:pulse-error 2s ease-in-out infinite}@keyframes pulse-error{0%,to{opacity:1}50%{opacity:.6}}@media(prefers-reduced-motion:reduce){.navigation .error-indicator{animation:none}}.show_when_small{display:none}.small_nav{padding:.5rem 1.5rem}.small_nav summary{cursor:pointer;font-weight:700;padding:.5rem 0;list-style:none;color:var(--color-text);-webkit-user-select:none;user-select:none}.small_nav summary::-webkit-details-marker{display:none}.small_nav summary:after{content:"▼";margin-left:.5rem;font-size:.875rem;transition:transform .15s cubic-bezier(.4,0,.2,1)}.small_nav summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.small_nav[open] summary:after{transform:rotate(180deg)}.small_nav a,.small_nav .link-button{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;outline:inherit;display:block;padding:1rem 0;color:var(--color-text);text-decoration:none;text-align:left;width:100%;transition:color .15s cubic-bezier(.4,0,.2,1)}.small_nav a:hover,.small_nav .link-button:hover{color:var(--color-primary)}.small_nav a:focus-visible,.small_nav .link-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.small_nav a.active{color:var(--color-primary);font-weight:600}.hide_when_small{display:block}@media(min-width:768px){.show_when_small{display:none}.hide_when_small{display:block}}@media(max-width:767px){.show_when_small{display:block}.hide_when_small{display:none}}.btn{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;outline:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1.5rem;font-size:1rem;font-weight:500;line-height:1.25;border-radius:12px;border:1px solid transparent;transition:all .15s cubic-bezier(.4,0,.2,1);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.btn:active:not(:disabled){transform:translateY(0)}@media(prefers-reduced-motion:reduce){.btn{transform:none!important}}.btn--primary{background-color:var(--color-primary);color:var(--color-base);border-color:var(--color-primary)}.btn--primary:hover:not(:disabled){background-color:var(--color-accent-sapphire);border-color:var(--color-accent-sapphire)}.btn--secondary{background-color:var(--color-accent-mauve);color:var(--color-base);border-color:var(--color-accent-mauve)}.btn--secondary:hover:not(:disabled){background-color:var(--color-accent-lavender);border-color:var(--color-accent-lavender)}.btn--success{background-color:var(--color-success);color:var(--color-base);border-color:var(--color-success)}.btn--success:hover:not(:disabled){background-color:var(--color-accent-teal);border-color:var(--color-accent-teal)}.btn--danger{background-color:var(--color-danger);color:var(--color-base);border-color:var(--color-danger)}.btn--danger:hover:not(:disabled){background-color:var(--color-accent-maroon);border-color:var(--color-accent-maroon)}.btn--warning{background-color:var(--color-warning);color:var(--color-base);border-color:var(--color-warning)}.btn--warning:hover:not(:disabled){background-color:var(--color-accent-peach);border-color:var(--color-accent-peach)}.btn--info{background-color:var(--color-info);color:var(--color-base);border-color:var(--color-info)}.btn--info:hover:not(:disabled){background-color:var(--color-accent-sapphire);border-color:var(--color-accent-sapphire)}.btn--ghost{background-color:transparent;color:var(--color-text);border-color:transparent}.btn--ghost:hover:not(:disabled){background-color:var(--color-surface0)}.btn--outline-primary{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn--outline-primary:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-base)}.btn--outline-secondary{background-color:transparent;color:var(--color-accent-mauve);border-color:var(--color-accent-mauve)}.btn--outline-secondary:hover:not(:disabled){background-color:var(--color-accent-mauve);color:var(--color-base)}.btn--outline-success{background-color:transparent;color:var(--color-success);border-color:var(--color-success)}.btn--outline-success:hover:not(:disabled){background-color:var(--color-success);color:var(--color-base)}.btn--outline-danger{background-color:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn--outline-danger:hover:not(:disabled){background-color:var(--color-danger);color:var(--color-base)}.btn--outline-warning{background-color:transparent;color:var(--color-warning);border-color:var(--color-warning)}.btn--outline-warning:hover:not(:disabled){background-color:var(--color-warning);color:var(--color-base)}.btn--outline-info{background-color:transparent;color:var(--color-info);border-color:var(--color-info)}.btn--outline-info:hover:not(:disabled){background-color:var(--color-info);color:var(--color-base)}.btn--sm{padding:.25rem 1rem;font-size:.875rem;gap:.25rem}.btn--lg{padding:1rem 2rem;font-size:1.125rem;gap:1rem}.btn-group{display:inline-flex;gap:0}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}.btn-group .btn:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}.btn-group .btn:not(:last-child){border-right:none}.btn--icon{padding:.5rem;width:40px;height:40px}.btn--icon.btn--sm{width:32px;height:32px;padding:.25rem}.btn--icon.btn--lg{width:48px;height:48px;padding:1rem}.btn--loading{position:relative;color:transparent;pointer-events:none}.btn--loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:btn-spinner .6s linear infinite;color:var(--color-base)}@keyframes btn-spinner{to{transform:translate(-50%,-50%) rotate(360deg)}}.btn--block{width:100%;display:flex}.modal-backdrop{position:fixed;inset:0;background-color:#0009;z-index:1040;display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow-y:auto;animation:fade-in .2s cubic-bezier(.4,0,.2,1) ease-in}@media(prefers-reduced-motion:reduce){.modal-backdrop{animation:none}}.modal-backdrop:focus{outline:none}@media(max-width:767px){.modal-backdrop{padding:0}}.modal{background-color:var(--color-surface0);border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:600px;width:100%;position:relative;z-index:1050;display:flex;flex-direction:column;max-height:90vh;margin:auto;animation:slide-in-bottom .3s cubic-bezier(.4,0,.2,1) ease-out}@keyframes slide-in-bottom{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.modal{animation:none}}@media(min-width:768px){.modal{max-width:700px}}@media(min-width:1024px){.modal{max-width:800px}}.modal--sm{max-width:400px}.modal--lg{max-width:900px}.modal--xl{max-width:1200px}.modal--full{max-width:none;width:calc(100% - 2rem);height:calc(100% - 2rem);max-height:none}.modal__header{padding:1.5rem 2rem;border-bottom:1px solid var(--color-overlay0);border-top-left-radius:16px;border-top-right-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0}.modal__title{font-size:1.5rem;font-weight:600;color:var(--color-text);margin:0}.modal__close{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;outline:inherit;width:32px;height:32px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--color-subtext1);transition:all .15s cubic-bezier(.4,0,.2,1);flex-shrink:0}.modal__close:hover{background-color:var(--color-surface1);color:var(--color-text)}.modal__close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.modal__body{padding:2rem;overflow-y:auto;flex:1}.modal__body::-webkit-scrollbar{width:12px;height:12px}.modal__body::-webkit-scrollbar-track{background:var(--color-surface0);border-radius:12px}.modal__body::-webkit-scrollbar-thumb{background:var(--color-overlay1);border-radius:12px;border:2px solid var(--color-surface0)}.modal__body::-webkit-scrollbar-thumb:hover{background:var(--color-overlay2)}.modal__body{scrollbar-width:thin;scrollbar-color:var(--color-overlay1) var(--color-surface0)}.modal__footer{padding:1.5rem 2rem;border-top:1px solid var(--color-overlay0);border-bottom-left-radius:16px;border-bottom-right-radius:16px;display:flex;align-items:center;justify-content:flex-end;gap:1rem;flex-shrink:0;flex-wrap:wrap}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}body.modal-open{overflow:hidden}@media(max-width:767px){.modal{max-width:none;width:100%;max-height:100vh;border-radius:16px 16px 0 0;margin-top:auto}.modal--full{width:100%;height:100%;border-radius:0}.modal__header{padding:1rem 1.5rem}.modal__title{font-size:1.25rem}.modal__body{padding:1.5rem}.modal__footer{padding:1rem 1.5rem}}.card{background-color:var(--color-card-body);border:1px solid var(--color-surface1);border-radius:16px;overflow:hidden;transition:all .2s ease-in-out;display:flex;flex-direction:column;box-shadow:0 1px 2px #0000000d}.card__header{padding:1rem;border-bottom:1px solid var(--color-surface1);background-color:var(--color-card-header)}.card__title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0;line-height:1.3}@media(min-width:640px){.card__title{font-size:1.375rem}}@media(min-width:768px){.card__title{font-size:1.5rem}}.card__subtitle{font-size:.9375rem;color:var(--color-subtext0);margin:.5rem 0 0;line-height:1.6}@media(min-width:640px){.card__subtitle{font-size:1rem}}.card__content{padding:1rem;flex:1;color:var(--color-text);background-color:var(--color-card-body)}.card__content p{margin:0 0 1rem;line-height:1.7}.card__content p:last-child{margin-bottom:0}.card__content ul,.card__content ol{margin:0 0 1rem;padding-left:1.5rem}.card__content ul li,.card__content ol li{margin-bottom:.625rem;line-height:1.7}.card__content ul li:last-child,.card__content ol li:last-child{margin-bottom:0}.card__content code{background-color:var(--color-surface1);color:var(--color-mauve);padding:.125rem .375rem;border-radius:4px;font-size:.875em;font-family:var(--font-mono)}.card__content pre{background-color:var(--color-surface1);padding:1rem;border-radius:4px;overflow-x:auto;margin:0 0 1rem}.card__content pre code{background-color:transparent;padding:0}.card__content img{max-width:100%;height:auto;border-radius:12px}.card__footer{padding:1rem;border-top:1px solid var(--color-surface1);background-color:var(--color-card-header);display:flex;gap:.75rem;flex-wrap:wrap}.card--info .card__title{color:var(--color-blue)}.card--success .card__title{color:var(--color-green)}.card--warning .card__title{color:var(--color-yellow)}.card--error .card__title{color:var(--color-red)}.card--no-padding .card__content{padding:0}.card--hoverable{cursor:pointer}.card--hoverable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--color-blue)}.card--hoverable:active{transform:translateY(0)}@media(min-width:768px){.card--hoverable:hover{box-shadow:0 6px 16px #0003}}.card-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.card-grid{gap:1.25rem}}@media(min-width:768px){.card-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media(min-width:1024px){.card-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:768px){.card-grid--two-col{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.card-grid--two-col{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.card-grid--four-col{grid-template-columns:repeat(4,1fr)}}.connection-status{padding:1rem 1.5rem;text-align:center;font-weight:500;font-size:.875rem;transition:all .2s cubic-bezier(.4,0,.2,1);border-bottom:2px solid transparent}.connection-status--connected{background-color:var(--color-success);color:var(--color-base);border-bottom-color:var(--color-accent-teal)}.connection-status--disconnected{background-color:var(--color-warning);color:var(--color-base);border-bottom-color:var(--color-accent-peach);animation:pulse-warning 2s ease-in-out infinite}.connection-status--error{background-color:var(--color-danger);color:var(--color-base);border-bottom-color:var(--color-accent-maroon)}.connection-status__content{max-width:1400px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px;display:flex;align-items:center;justify-content:center;gap:1rem}.connection-status__icon{font-size:1.125rem;display:flex;align-items:center;justify-content:center}.connection-status__icon svg{width:20px;height:20px}.connection-status__text{font-weight:500}.connection-status__details{font-size:.75rem;opacity:.9;margin-left:.5rem}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.85}}@media(prefers-reduced-motion:reduce){.connection-status--disconnected{animation:none}}@media(max-width:767px){.connection-status{padding:.5rem 1rem;font-size:.75rem}.connection-status__content{gap:.5rem}.connection-status__icon{font-size:1rem}.connection-status__icon svg{width:16px;height:16px}.connection-status__details{display:none}}.select-wrapper{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.select-wrapper--full-width{width:100%}.select-wrapper--disabled{opacity:.5;cursor:not-allowed}.select-wrapper--disabled .select,.select-wrapper--disabled .select-label{cursor:not-allowed}.select-label{font-size:.8125rem;font-weight:500;color:var(--color-text);margin:0}.select-label__required{color:var(--color-red)}.select-container{position:relative;display:inline-block;width:100%}.select{width:100%;padding:.5rem 2.25rem .5rem .75rem;font-size:.875rem;font-family:inherit;color:var(--color-text);background-color:var(--color-surface0);border:1px solid var(--color-surface2);border-radius:.5rem;cursor:pointer;appearance:none;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.select::-ms-expand{display:none}.select:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px #89b4fa26,0 2px 4px #0000001a}.select:hover:not(:disabled){border-color:var(--color-overlay0);background-color:var(--color-surface1);box-shadow:0 2px 4px #00000014}.select:disabled{cursor:not-allowed;opacity:.6}.select option{background-color:var(--color-base);color:var(--color-text);padding:.5rem}.select option:disabled{color:var(--color-subtext0)}.select-icon{position:absolute;right:.875rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-subtext0);font-size:.75rem;transition:color .2s ease}.select:focus~.select-icon{color:var(--color-blue)}.select-help-text{font-size:.75rem;color:var(--color-subtext0);margin:0;line-height:1.4}@media(max-width:768px){.select{padding:.75rem 2.5rem .75rem 1rem;font-size:1rem;min-height:44px}.select-label{font-size:.9375rem}.select-help-text{font-size:.875rem}}.toggle-wrapper{display:flex;gap:.75rem;align-items:center;align-self:center}.toggle-wrapper--disabled{opacity:.5;cursor:not-allowed}.toggle-wrapper--disabled .toggle-slider,.toggle-wrapper--disabled .toggle-label{cursor:not-allowed}.toggle-control{flex-shrink:0}.toggle-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.toggle-input:focus-visible+.toggle-slider{outline:2px solid var(--color-blue);outline-offset:2px}.toggle-slider{display:inline-block;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-slider__track{position:relative;display:flex;align-items:center;width:2.75rem;height:1.375rem;background-color:var(--color-surface1);border-radius:1.5rem;transition:background-color .2s ease;border:2px solid var(--color-surface2)}.toggle-input:checked~.toggle-slider .toggle-slider__track{background-color:var(--color-blue);border-color:var(--color-blue);box-shadow:inset 0 1px 2px #0000001a}.toggle-slider:hover .toggle-slider__track{background-color:var(--color-surface2);border-color:var(--color-overlay0)}.toggle-input:checked~.toggle-slider:hover .toggle-slider__track{background-color:var(--color-sapphire);border-color:var(--color-sapphire)}.toggle-wrapper--disabled .toggle-slider__track{background-color:var(--color-surface0)}.toggle-slider__thumb{width:1.125rem;height:1.125rem;margin-left:.125rem;background-color:#fff;border-radius:50%;transition:transform .2s ease,background-color .2s ease;box-shadow:0 2px 4px #0000004d}.toggle-input:checked~.toggle-slider .toggle-slider__thumb{transform:translate(1.25rem);background-color:#fff;box-shadow:0 2px 6px #0006}.toggle-wrapper--disabled .toggle-slider__thumb{background-color:var(--color-overlay0)}.toggle-labels{flex:1;display:flex;flex-direction:column;gap:.25rem}.toggle-label{font-size:.875rem;font-weight:600;color:var(--color-text);cursor:pointer;margin:0}.toggle-help-text{font-size:.75rem;color:var(--color-subtext0);margin:0;line-height:1.5}.toggle-wrapper--small{gap:.75rem}.toggle-wrapper--small .toggle-slider__track{width:2.5rem;height:1.25rem}.toggle-wrapper--small .toggle-slider__thumb{width:1rem;height:1rem}.toggle-input:checked~.toggle-slider .toggle-wrapper--small .toggle-slider__thumb{transform:translate(1rem)}.toggle-wrapper--small .toggle-label{font-size:.875rem}.toggle-wrapper--small .toggle-help-text{font-size:.75rem}.toggle-wrapper--large{gap:1.25rem}.toggle-wrapper--large .toggle-slider__track{width:3.5rem;height:1.75rem}.toggle-wrapper--large .toggle-slider__thumb{width:1.5rem;height:1.5rem}.toggle-input:checked~.toggle-slider .toggle-wrapper--large .toggle-slider__thumb{transform:translate(1.625rem)}.toggle-wrapper--large .toggle-label{font-size:1rem}.toggle-wrapper--large .toggle-help-text{font-size:.875rem}@media(max-width:768px){.toggle-slider__track{min-width:3.5rem;min-height:1.75rem}}[data-animations=false] .toggle-slider__track,[data-animations=false] .toggle-slider__thumb{transition:none}.radio-group{border:none;padding:0;margin:0 0 1rem}.radio-group--disabled{opacity:.5;cursor:not-allowed}.radio-group__legend{font-size:.8125rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem;padding:0}.radio-group__required{color:var(--color-red)}.radio-group__help-text{font-size:.75rem;color:var(--color-subtext0);margin:0 0 .5rem;line-height:1.5}.radio-group__options{display:flex;flex-direction:column;gap:.5rem}.radio-group--horizontal .radio-group__options{flex-direction:row;flex-wrap:wrap;gap:1.5rem}.radio-option{position:relative;display:flex;align-items:flex-start}.radio-option__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio-option__input:focus-visible~.radio-option__label .radio-option__indicator{outline:2px solid var(--color-blue);outline-offset:2px}.radio-option__label{display:flex;align-items:center;gap:.625rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.375rem;margin:-.375rem;border-radius:.5rem;transition:all .15s ease}.radio-option__label:hover{background-color:var(--color-surface0);box-shadow:0 1px 3px #0000000d}.radio-option__input:disabled~.radio-option__label{cursor:not-allowed;opacity:.5}.radio-option__input:disabled~.radio-option__label:hover{background-color:transparent}.radio-option__indicator{position:relative;display:flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;flex-shrink:0;border:2px solid var(--color-surface2);border-radius:50%;background-color:var(--color-surface0);transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.radio-option__label:hover .radio-option__indicator{border-color:var(--color-overlay0);box-shadow:0 2px 4px #00000014}.radio-option__input:checked~.radio-option__label .radio-option__indicator{border-color:var(--color-blue);background-color:var(--color-blue);box-shadow:0 2px 4px #89b4fa4d}.radio-option__input:disabled~.radio-option__label .radio-option__indicator{border-color:var(--color-surface1);background-color:var(--color-surface0)}.radio-option__dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.4375rem;height:.4375rem;border-radius:50%;background-color:transparent;transition:all .2s ease}.radio-option__input:checked~.radio-option__label .radio-option__dot{background-color:#fff}.radio-option__input:disabled:checked~.radio-option__label .radio-option__dot{background-color:var(--color-surface1)}.radio-option__content{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.radio-option__text{font-size:.875rem;font-weight:600;color:var(--color-text);line-height:1.5}.radio-option__input:disabled~.radio-option__label .radio-option__text{color:var(--color-subtext0)}.radio-option__description{font-size:.75rem;color:var(--color-subtext0);line-height:1.4;display:block}.radio-option__input:disabled~.radio-option__label .radio-option__description{color:var(--color-subtext1)}@media(max-width:768px){.radio-group--horizontal .radio-group__options{flex-direction:column;gap:.875rem}.radio-option__indicator{width:1.5rem;height:1.5rem;margin-top:.125rem}.radio-option__dot{width:.625rem;height:.625rem}.radio-option__label{padding:.625rem;margin:-.625rem}}[data-animations=false] .radio-option__indicator,[data-animations=false] .radio-option__dot,[data-animations=false] .radio-option__label{transition:none}.settings-modal .modal{max-width:700px}.settings-modal .modal__header{padding-top:1.5rem;padding-bottom:1rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem;background-color:var(--color-surface0)}.settings-modal .modal__body{flex:1;overflow-y:auto;padding:0}@media(max-width:768px){.settings-modal .modal-backdrop{padding:0}.settings-modal .modal{max-width:100%;width:100%;height:100vh;max-height:100vh;margin:0;border-radius:0}.settings-modal .modal__header{border-radius:0}}.settings-content{display:flex;flex-direction:column;min-height:100%}.settings-tabs{display:flex;gap:.5rem;border-bottom:2px solid var(--color-surface1);padding:0 1.5rem;background-color:var(--color-surface0);position:sticky;top:0;z-index:10;overflow-x:auto;overflow-y:hidden;position:relative;scrollbar-width:thin;scrollbar-color:transparent transparent}.settings-tabs:hover{scrollbar-color:var(--color-surface2) transparent}.settings-tabs::-webkit-scrollbar{height:3px}.settings-tabs::-webkit-scrollbar-track{background:transparent}.settings-tabs::-webkit-scrollbar-thumb{background:transparent;border-radius:2px}.settings-tabs:hover::-webkit-scrollbar-thumb{background:var(--color-surface2)}@media(max-width:768px){.settings-tabs{padding:0 .75rem .5rem;gap:.5rem;scrollbar-width:thin;scrollbar-color:var(--color-overlay0) var(--color-surface1)}.settings-tabs::-webkit-scrollbar{height:6px}.settings-tabs::-webkit-scrollbar-track{background:var(--color-surface1);border-radius:3px}.settings-tabs::-webkit-scrollbar-thumb{background:var(--color-overlay0);border-radius:3px}.settings-tabs::-webkit-scrollbar-thumb:hover{background:var(--color-overlay1)}}.settings-tab{padding:.625rem 1rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-subtext0);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease;margin-bottom:-2px}.settings-tab:hover{color:var(--color-text);background-color:var(--color-surface0)}.settings-tab--active{color:var(--color-blue);border-bottom-color:var(--color-blue)}.settings-tab:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}@media(max-width:768px){.settings-tab{padding:.75rem 1rem;font-size:.875rem}}.settings-panel{padding:1.5rem 1.5rem 0;flex:1;animation:fadeIn .2s ease}.settings-panel .card{margin-bottom:0;margin-left:0;margin-right:0;width:100%}@media(max-width:768px){.settings-panel{padding:1rem 1rem 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.settings-section-description{margin:0 0 2rem;font-size:.875rem;color:var(--color-subtext0);line-height:1.5}.settings-field-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:.625rem;background-color:var(--color-surface0);border-radius:.375rem;border:1px solid var(--color-surface1)}.settings-label{font-size:.875rem;font-weight:500;color:var(--color-text);margin:0}.settings-label-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.settings-help-text{font-size:.8125rem;color:var(--color-subtext0);margin:0;line-height:1.4}.settings-slider{width:100%;height:6px;appearance:none;-webkit-appearance:none;background:transparent;outline:none;cursor:pointer;margin:.75rem 0}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--color-blue);border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000004d;border:3px solid var(--color-base);margin-top:-7px}.settings-slider::-webkit-slider-thumb:hover{background:var(--color-sapphire);transform:scale(1.1)}.settings-slider::-webkit-slider-thumb:active{transform:scale(.95)}.settings-slider::-webkit-slider-runnable-track{width:100%;height:6px;background:var(--color-surface1);border-radius:3px}.settings-slider::-moz-range-thumb{width:20px;height:20px;background:var(--color-blue);border:3px solid var(--color-base);border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000004d}.settings-slider::-moz-range-thumb:hover{background:var(--color-sapphire);transform:scale(1.1)}.settings-slider::-moz-range-thumb:active{transform:scale(.95)}.settings-slider::-moz-range-track{width:100%;height:6px;background:var(--color-surface1);border-radius:3px}.settings-slider::-moz-range-progress{background:var(--color-blue);height:6px;border-radius:3px}.settings-slider:focus-visible{outline:2px solid var(--color-blue);outline-offset:6px}.settings-slider:disabled{opacity:.5;cursor:not-allowed}.settings-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.settings-slider:disabled::-moz-range-thumb{cursor:not-allowed}@media(max-width:768px){.settings-slider{height:8px}.settings-slider::-webkit-slider-thumb{width:24px;height:24px;margin-top:-8px}.settings-slider::-webkit-slider-runnable-track{height:8px}.settings-slider::-moz-range-thumb{width:24px;height:24px}.settings-slider::-moz-range-track{height:8px}.settings-slider::-moz-range-progress{height:8px}}.settings-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--color-surface1);background-color:var(--color-surface0);border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem;position:sticky;bottom:0;z-index:10}@media(max-width:768px){.settings-footer{flex-direction:column;gap:.75rem;padding:1rem;border-radius:0}}.settings-footer-left,.settings-footer-right{display:flex;gap:.75rem;align-items:center}@media(max-width:768px){.settings-footer-left,.settings-footer-right{width:100%;flex-direction:column}.settings-footer-left .btn,.settings-footer-right .btn{width:100%}}@media(max-width:768px){.settings-footer-left{order:2}}@media(max-width:768px){.settings-footer-right{order:1}}.settings-info{padding:1rem;border-radius:.5rem;background-color:var(--color-surface0);border-left:3px solid var(--color-blue);font-size:.875rem;color:var(--color-subtext0);line-height:1.5;margin-bottom:1.5rem}.settings-info--warning{border-left-color:var(--color-yellow);background-color:var(--color-surface0)}.settings-info--error{border-left-color:var(--color-red);background-color:var(--color-surface0)}.settings-info--success{border-left-color:var(--color-green);background-color:var(--color-surface0)}.settings-info--info{border-left-color:var(--color-blue);background-color:var(--color-surface0)}.settings-divider{height:1px;background:var(--color-surface1);margin:2rem 0 1.5rem;border:none}.settings-subsection-title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--color-text);letter-spacing:-.01em}[data-animations=false] .settings-panel{animation:none}[data-animations=false] .settings-tab,[data-animations=false] .settings-slider::-webkit-slider-thumb,[data-animations=false] .settings-slider::-moz-range-thumb{transition:none}.alert-terms-input-group{display:flex;gap:.5rem;margin-bottom:.5rem}.alert-terms-input{flex:1;padding:.5rem .75rem;font-size:.8125rem;color:var(--color-text);background-color:var(--color-surface0);border:1px solid var(--color-surface2);border-radius:.375rem;outline:none;transition:all .2s ease;font-family:inherit}.alert-terms-input::placeholder{color:var(--color-subtext0)}.alert-terms-input:hover{border-color:var(--color-overlay1)}.alert-terms-input:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px rgba(var(--color-blue-rgb),.1)}@media(max-width:768px){.alert-terms-input{padding:.75rem 1rem;font-size:1rem}}.alert-terms-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding:.5rem;background-color:var(--color-mantle);border-radius:.375rem;border:1px solid var(--color-surface1);min-height:2.5rem;max-height:12rem;overflow-y:auto;overflow-x:hidden}.alert-term-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .625rem;background-color:var(--color-red);color:var(--color-base);border-radius:1rem;font-size:.75rem;font-weight:500;font-family:monospace;letter-spacing:.02em;transition:all .2s ease;max-width:100%;word-break:break-word;overflow-wrap:break-word}.alert-term-chip--ignore{background-color:var(--color-overlay2);color:var(--color-text)}.alert-term-chip__remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin:0;background:transparent;border:none;border-radius:50%;color:inherit;font-size:1.125rem;line-height:1;cursor:pointer;transition:all .2s ease;font-family:inherit}.alert-term-chip__remove:hover{background-color:#0003}.alert-term-chip__remove:active{transform:scale(.9)}.alert-term-chip__remove:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(max-width:768px){.alert-term-chip{padding:.5rem .875rem;font-size:.875rem}.alert-term-chip__remove{width:28px;height:28px;font-size:1.5rem}}[data-animations=false] .alert-terms-input,[data-animations=false] .alert-term-chip,[data-animations=false] .alert-term-chip__remove{transition:none}.chart-container{width:100%;margin-bottom:var(--spacing-md);background-color:var(--color-surface0);border-radius:var(--border-radius-md);padding:var(--spacing-sm);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.chart-container:hover{box-shadow:var(--shadow-md)}.chart-container__header{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-overlay0)}.chart-container__title{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-md);font-weight:600;color:var(--color-text);line-height:1.4}.chart-container__subtitle{margin:0;font-size:var(--font-size-sm);color:var(--color-subtext1);line-height:1.5}.chart-container__canvas{position:relative;width:100%}.chart-container__canvas canvas{width:100%!important;height:auto!important;display:block}@media(max-width:767px){.chart-container{padding:var(--spacing-sm);margin-bottom:var(--spacing-md)}.chart-container__header{margin-bottom:var(--spacing-sm)}.chart-container__title{font-size:var(--font-size-md)}}.chart-container--loading{position:relative;min-height:300px}.chart-container--loading:after{content:"Loading chart data...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-subtext1);font-size:var(--font-size-md);text-align:center}.chart-container--empty{position:relative;min-height:200px;display:flex;align-items:center;justify-content:center}.chart-container--empty:after{content:"No data available";color:var(--color-subtext0);font-size:var(--font-size-md);text-align:center}.chart-grid{display:grid;gap:var(--spacing-md);grid-template-columns:1fr;width:100%}@media(min-width:768px){.chart-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1280px){.chart-grid{grid-template-columns:repeat(3,1fr)}}.chart-grid--single{grid-template-columns:1fr}@media(min-width:768px){.chart-grid--two-col{grid-template-columns:repeat(2,1fr)}}.chart-section{margin-bottom:var(--spacing-lg)}.chart-section__header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-surface2)}.chart-section__title{margin:0;font-size:var(--font-size-xl);font-weight:700;color:var(--color-text)}.chart-section__description{margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-md);color:var(--color-subtext1)}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:var(--spacing-sm);background-color:var(--color-mantle);border-radius:var(--border-radius-sm)}.chart-legend__item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text)}.chart-legend__color{width:16px;height:16px;border-radius:var(--border-radius-sm);flex-shrink:0}.chart-legend__label{white-space:nowrap}.chart-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;padding:var(--spacing-lg);text-align:center;color:var(--color-subtext1);background-color:var(--color-surface0);border-radius:var(--border-radius-md)}.chart-no-data__icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.chart-no-data__message{font-size:var(--font-size-md);margin:0}.chart-no-data__hint{font-size:var(--font-size-sm);color:var(--color-subtext0);margin-top:var(--spacing-xs)}.tab-switcher{width:100%;margin-bottom:.5rem}.tab-switcher__container{position:relative;width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.tab-switcher__container::-webkit-scrollbar{height:4px}@media(min-width:768px){.tab-switcher__container::-webkit-scrollbar{height:6px}}.tab-switcher__container::-webkit-scrollbar-track{background-color:var(--color-surface0);border-radius:12px}.tab-switcher__container::-webkit-scrollbar-thumb{background-color:var(--color-overlay0);border-radius:12px}.tab-switcher__container::-webkit-scrollbar-thumb:hover{background-color:var(--color-overlay1)}.tab-switcher__list{display:flex;flex-direction:row;gap:.5rem;min-width:min-content;padding:.5rem .25rem;border-bottom:2px solid var(--color-surface1)}@media(min-width:768px){.tab-switcher__list{gap:1rem;padding:.5rem}}.tab-switcher__tab{appearance:none;border:none;background:transparent;cursor:pointer;font-family:inherit;position:relative;padding:.5rem 1rem;min-width:max-content;white-space:nowrap;font-size:.875rem;font-weight:500;color:var(--color-subtext1);border-radius:12px 12px 0 0;transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1);min-height:44px;display:flex;align-items:center;justify-content:center}@media(min-width:768px){.tab-switcher__tab{padding:1rem 1.5rem;font-size:1rem;min-height:auto}}.tab-switcher__tab:hover:not(.tab-switcher__tab--disabled):not(.tab-switcher__tab--active){background-color:var(--color-surface0);color:var(--color-text)}.tab-switcher__tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;z-index:1}.tab-switcher__tab--active{color:var(--color-primary);font-weight:600}.tab-switcher__tab--active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background-color:var(--color-primary);border-radius:12px 12px 0 0}.tab-switcher__tab--disabled{color:var(--color-subtext0);cursor:not-allowed;opacity:.5}.tab-switcher__tab--disabled:hover{background-color:transparent}.tab-switcher__tab:active:not(.tab-switcher__tab--disabled){transform:translateY(1px)}.tab-switcher__tab-label{display:block;-webkit-user-select:none;user-select:none}.tab-switcher--compact{margin-bottom:.5rem}.tab-switcher--compact .tab-switcher__tab{padding:.25rem .5rem;font-size:.75rem;min-height:36px}@media(min-width:768px){.tab-switcher--compact .tab-switcher__tab{padding:.5rem 1rem;font-size:.875rem}}.tab-switcher--pills .tab-switcher__list{border-bottom:none;padding:.5rem;gap:.5rem}.tab-switcher--pills .tab-switcher__tab{border-radius:16px;background-color:var(--color-surface0)}.tab-switcher--pills .tab-switcher__tab:hover:not(.tab-switcher--pills .tab-switcher__tab--disabled):not(.tab-switcher--pills .tab-switcher__tab--active){background-color:var(--color-surface1)}.tab-switcher--pills .tab-switcher__tab--active{background-color:var(--color-primary);color:var(--color-base)}.tab-switcher--pills .tab-switcher__tab--active:after{display:none}.tab-switcher--pills .tab-switcher__tab:active:not(.tab-switcher--pills .tab-switcher__tab--disabled){transform:scale(.98)}.tab-switcher--centered .tab-switcher__list{justify-content:center}.tab-switcher--primary{margin-bottom:0}.tab-switcher--primary .tab-switcher__list{border-bottom:none;padding:.5rem;gap:.5rem;background-color:transparent}.tab-switcher--primary .tab-switcher__tab{padding:.5rem 1rem;font-size:.875rem;font-weight:600;border-radius:16px;background-color:var(--color-surface1);border:2px solid transparent}@media(min-width:768px){.tab-switcher--primary .tab-switcher__tab{padding:.5rem 1.5rem;font-size:1rem}}.tab-switcher--primary .tab-switcher__tab:hover:not(.tab-switcher--primary .tab-switcher__tab--disabled):not(.tab-switcher--primary .tab-switcher__tab--active){background-color:var(--color-surface2);border-color:var(--color-overlay0)}.tab-switcher--primary .tab-switcher__tab--active{background-color:var(--color-primary);color:var(--color-base);border-color:var(--color-primary);box-shadow:var(--shadow-md)}.tab-switcher--primary .tab-switcher__tab--active:after{display:none}.tab-switcher--primary .tab-switcher__tab:active:not(.tab-switcher--primary .tab-switcher__tab--disabled){transform:scale(.98)}@media print{.tab-switcher .tab-switcher{display:none}}.density-compact .tab-switcher{margin-bottom:.5rem}.density-compact .tab-switcher__tab{padding:.25rem .5rem;font-size:.75rem}@media(min-width:768px){.density-compact .tab-switcher__tab{padding:.5rem 1rem;font-size:.875rem}}.density-spacious .tab-switcher{margin-bottom:3rem}.density-spacious .tab-switcher__tab{padding:1rem 2rem;font-size:1rem}@media(min-width:768px){.density-spacious .tab-switcher__tab{padding:1.5rem 3rem;font-size:1.125rem}}.reduce-motion .tab-switcher__tab{transition:none}.reduce-motion .tab-switcher__container{scroll-behavior:auto}.station-marker{cursor:pointer;z-index:100}.station-marker svg{display:block;overflow:visible}.station-marker:hover svg circle{fill:var(--color-maroon);transition:fill .2s ease}.station-marker:hover svg line{stroke:var(--color-maroon);transition:stroke .2s ease}.nexrad-timestamp{position:absolute;bottom:.5rem;left:3.5rem;z-index:10;display:none;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--color-surface0);border:1px solid var(--color-overlay0);border-radius:.375rem;box-shadow:0 2px 8px #00000026;font-size:.875rem;font-weight:500;color:var(--color-text);transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,left .2s ease}@media(prefers-reduced-motion:reduce){.nexrad-timestamp{transition:none}}.nexrad-timestamp__label{color:var(--color-subtext1);font-weight:600;text-transform:uppercase;letter-spacing:.025em;font-size:.875rem;line-height:1}.nexrad-timestamp__time{color:var(--color-text);font-weight:500;font-variant-numeric:tabular-nums;font-size:.875rem;line-height:1}@media(min-width:768px){.nexrad-timestamp{display:flex;bottom:.5rem;left:3.5rem}}.nexrad-timestamp:hover{background-color:var(--color-surface1);border-color:var(--color-overlay1);box-shadow:0 4px 12px #0003}@media print{.nexrad-timestamp{display:none}}.rainviewer-timestamp{position:absolute;bottom:.5rem;left:3.5rem;z-index:10;display:none;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--color-surface0);border:1px solid var(--color-overlay0);border-radius:.375rem;box-shadow:0 2px 8px #00000026;font-size:.875rem;font-weight:500;color:var(--color-text);transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,bottom .2s ease,left .2s ease}[data-nexrad-visible=true] .rainviewer-timestamp{left:13rem}@media(prefers-reduced-motion:reduce){.rainviewer-timestamp{transition:none}}.rainviewer-timestamp__label{color:var(--color-subtext1);font-weight:600;text-transform:uppercase;letter-spacing:.025em;font-size:.875rem;line-height:1}.rainviewer-timestamp__time{color:var(--color-text);font-weight:500;font-variant-numeric:tabular-nums;font-size:.875rem;line-height:1}@media(min-width:768px){.rainviewer-timestamp{display:flex;bottom:.5rem;left:3.5rem}[data-nexrad-visible=true] .rainviewer-timestamp{left:14.6rem}}.rainviewer-timestamp:hover{background-color:var(--color-surface1);border-color:var(--color-overlay1);box-shadow:0 4px 12px #0003}@media print{.rainviewer-timestamp{display:none}}.logs-viewer-container,.logs-viewer-controls{display:flex;flex-direction:column;gap:var(--spacing-md)}.logs-viewer-filters{display:flex;gap:var(--spacing-md);flex-wrap:wrap;align-items:flex-end}.logs-viewer-filters label{display:flex;flex-direction:column;gap:var(--spacing-xs)}.logs-viewer-label{font-size:.875rem;font-weight:500;color:var(--color-subtext0)}.logs-viewer-select,.logs-viewer-input{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface0);border:1px solid var(--color-overlay0);border-radius:var(--border-radius-sm);color:var(--color-text);font-family:inherit;font-size:.875rem;min-width:150px}.logs-viewer-select:focus,.logs-viewer-input:focus{outline:2px solid var(--color-blue);outline-offset:2px;border-color:var(--color-blue)}.logs-viewer-select:hover,.logs-viewer-input:hover{border-color:var(--color-overlay1)}.logs-viewer-input{min-width:200px}.logs-viewer-input::placeholder{color:var(--color-subtext1)}.logs-viewer-checkbox{flex-direction:row!important;align-items:center;gap:var(--spacing-xs)!important;cursor:pointer;-webkit-user-select:none;user-select:none}.logs-viewer-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--color-blue)}.logs-viewer-checkbox span{font-size:.875rem;color:var(--color-text)}.logs-viewer-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.logs-viewer-stats{display:flex;gap:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface0);border-radius:var(--border-radius-md);font-size:.875rem;flex-wrap:wrap}.logs-viewer-stats span{color:var(--color-subtext0)}.logs-viewer-stats span strong{color:var(--color-text);font-weight:600}.logs-viewer-stats--error strong{color:var(--color-red)}.logs-viewer-stats--warn strong{color:var(--color-yellow)}.logs-viewer-stats--info strong{color:var(--color-blue)}.logs-viewer-stats--debug strong{color:var(--color-green)}.logs-viewer-stat--error strong{color:var(--color-red)}.logs-viewer-stat--warn strong{color:var(--color-yellow)}.logs-viewer-stat--info strong{color:var(--color-blue)}.logs-viewer-stat--debug strong{color:var(--color-green)}.logs-viewer-display{overflow-y:auto;font-family:Courier New,Monaco,Menlo,monospace;font-size:.813rem;background:var(--color-mantle);border:1px solid var(--color-surface0);border-radius:var(--border-radius-md);padding:var(--spacing-sm)}.logs-viewer-display::-webkit-scrollbar{width:8px;height:8px}.logs-viewer-display::-webkit-scrollbar-track{background:transparent}.logs-viewer-display::-webkit-scrollbar-thumb{background:var(--color-overlay0);border-radius:4px}.logs-viewer-display::-webkit-scrollbar-thumb:hover{background:var(--color-overlay1)}.logs-viewer-display{scrollbar-width:thin;scrollbar-color:var(--color-overlay0) transparent}.logs-viewer-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-subtext1);font-style:italic}.log-entry{display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-left:3px solid transparent;word-break:break-word;line-height:1.5}.log-entry:hover{background:var(--color-surface0)}.log-entry__timestamp{color:var(--color-subtext1);white-space:nowrap;flex-shrink:0;font-size:.75rem}.log-entry__level{font-weight:700;min-width:60px;flex-shrink:0;text-transform:uppercase;font-size:.75rem}.log-entry__module{color:var(--color-lavender);flex-shrink:0;font-weight:600}.log-entry__message{flex:1;color:var(--color-text)}.log-entry__stack{display:block;width:100%;margin:var(--spacing-xs) 0 0;padding:var(--spacing-xs);background:var(--color-crust);border-radius:var(--border-radius-sm);font-size:.688rem;color:var(--color-red);overflow-x:auto;white-space:pre-wrap;word-break:break-all}.log-entry--error{border-left-color:var(--color-red)}.log-entry--error .log-entry__level{color:var(--color-red)}.log-entry--warn{border-left-color:var(--color-yellow)}.log-entry--warn .log-entry__level{color:var(--color-yellow)}.log-entry--info{border-left-color:var(--color-blue)}.log-entry--info .log-entry__level{color:var(--color-blue)}.log-entry--debug{border-left-color:var(--color-green)}.log-entry--debug .log-entry__level{color:var(--color-green)}.log-entry--trace{border-left-color:var(--color-overlay0)}.log-entry--trace .log-entry__level{color:var(--color-subtext0)}.density--compact .logs-viewer-display{font-size:.75rem}.density--compact .log-entry{padding:2px var(--spacing-xs);gap:var(--spacing-xs)}.density--compact .log-entry__timestamp,.density--compact .log-entry__level{font-size:.688rem}.density--compact .logs-viewer-stats{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.density--spacious .logs-viewer-display{font-size:.875rem}.density--spacious .log-entry{padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-md)}.density--spacious .log-entry__timestamp,.density--spacious .log-entry__level{font-size:.813rem}.density--spacious .logs-viewer-stats{padding:var(--spacing-md) var(--spacing-lg);font-size:.938rem}.message-card{background-color:var(--color-base);border-radius:var(--border-radius-md);overflow:hidden}.message-card--alert{background-color:rgba(var(--color-red-rgb),.05)}.message-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:0;border-bottom:1px solid var(--color-surface1);flex-wrap:wrap;gap:var(--spacing-sm)}.message-card__header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.message-card__type-badge{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.message-card__timestamp{color:var(--color-subtext0);font-size:var(--font-size-sm);font-weight:700;padding-right:.75rem}.message-card__mark-read-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-green);color:var(--color-base);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.message-card__mark-read-btn:hover{background:var(--color-teal);transform:translateY(-1px)}.message-card__mark-read-btn:active{transform:translateY(0)}.message-card__mark-read-btn:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}@media(max-width:767px){.message-card__mark-read-btn{min-height:44px;padding:var(--spacing-xs) var(--spacing-md)}}@media(prefers-reduced-motion:reduce){.message-card__mark-read-btn{transition:none}.message-card__mark-read-btn:hover,.message-card__mark-read-btn:active{transform:none}}.message-card__read-badge{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-overlay2);color:var(--color-text);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.message-card--read{background-color:var(--color-mantle)}.message-card--read .message-card__header{background-color:var(--color-crust);border-bottom-color:var(--color-surface0)}.message-card__identifiers{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);padding-left:var(--spacing-md);border-bottom:1px solid var(--color-surface1)}.message-card__fields{display:flex;flex-direction:column;gap:var(--spacing-xs);margin:0;padding-left:var(--spacing-md);padding-right:var(--spacing-md);padding-bottom:var(--spacing-sm)}.message-card__content{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-surface1)}.message-card__alert-info{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:rgba(var(--color-red-rgb),.1);border:1px solid var(--color-red);border-radius:var(--border-radius-md)}.message-type{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm) 0 0 0;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.message-type--acars{background-color:var(--color-blue);color:var(--color-base)}.message-type--vdlm{background-color:var(--color-green);color:var(--color-base)}.message-type--hfdl{background-color:var(--color-yellow);color:var(--color-base)}.message-type--imsl{background-color:var(--color-peach);color:var(--color-base)}.message-type--irdm{background-color:var(--color-mauve);color:var(--color-base)}.message-type--unknown{background-color:var(--color-surface2);color:var(--color-text)}.message-station{color:var(--color-subtext1);font-size:var(--font-size-sm);font-weight:700}.identifier{display:flex;align-items:baseline;gap:var(--spacing-xs)}.identifier__label{color:var(--color-subtext1);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase}.identifier__value{color:var(--color-text);font-size:var(--font-size-sm);font-weight:700;font-family:var(--font-mono)}.message-field{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:var(--spacing-md);padding:var(--spacing-sm) 0}@media(min-width:768px){.message-field{grid-template-columns:minmax(180px,auto) 1fr}}.message-field--error .message-field__value{color:var(--color-red);font-weight:700}.message-field__label{color:var(--color-subtext1);font-size:var(--font-size-sm);font-weight:500;margin:0}.message-field__value{color:var(--color-text);font-size:var(--font-size-sm);font-family:var(--font-mono);word-break:break-word;margin:0}.message-content{margin-bottom:var(--spacing-md)}.message-content:last-child{margin-bottom:0}.message-content__label{color:var(--color-subtext1);font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-xs)}.message-content__text,.message-content__data,.message-content__decoded{background-color:var(--color-surface0);border:1px solid var(--color-surface2);border-radius:var(--border-radius-md);padding:var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text);white-space:pre-wrap;word-break:break-word;overflow-x:auto}.message-content__text::-webkit-scrollbar,.message-content__data::-webkit-scrollbar,.message-content__decoded::-webkit-scrollbar{width:8px;height:8px}.message-content__text::-webkit-scrollbar-track,.message-content__data::-webkit-scrollbar-track,.message-content__decoded::-webkit-scrollbar-track{background:transparent}.message-content__text::-webkit-scrollbar-thumb,.message-content__data::-webkit-scrollbar-thumb,.message-content__decoded::-webkit-scrollbar-thumb{background:var(--color-overlay0);border-radius:4px}.message-content__text::-webkit-scrollbar-thumb:hover,.message-content__data::-webkit-scrollbar-thumb:hover,.message-content__decoded::-webkit-scrollbar-thumb:hover{background:var(--color-overlay1)}.message-content__text,.message-content__data,.message-content__decoded{scrollbar-width:thin;scrollbar-color:var(--color-overlay0) transparent;margin:0}.message-content__text{border-left:3px solid var(--color-green)}.message-content__data{border-left:3px solid var(--color-yellow)}.message-content__decoded{border-left:3px solid var(--color-blue)}.message-content--decoded .message-content__text{border-left-color:var(--color-mauve)}.libacars-content{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text)}.libacars-content__label{color:var(--color-lavender);font-weight:700;margin-bottom:var(--spacing-xs)}.libacars-content__value{margin-bottom:var(--spacing-md)}.libacars-content__value:last-child{margin-bottom:0}.libacars-content dl{margin:0}.libacars-content dt{color:var(--color-subtext1);font-weight:600;margin-top:var(--spacing-sm)}.libacars-content dt:first-child{margin-top:0}.libacars-content dd{margin-left:var(--spacing-md);margin-bottom:var(--spacing-xs);color:var(--color-text)}.libacars-freq-data{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-mantle);border-radius:var(--border-radius-sm)}.libacars-freq-data__row{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-md);padding:var(--spacing-xs) 0}.libacars-freq-data__label{color:var(--color-subtext1);font-weight:500}.libacars-freq-data__value{color:var(--color-text);font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media print{.message-card{page-break-inside:avoid;border:1px solid var(--color-surface2);margin-bottom:var(--spacing-md)}.message-card__content pre{white-space:pre-wrap;max-height:none;overflow:visible}}.message-group{background-color:var(--color-surface0);border:1px solid var(--color-surface2);border-radius:var(--border-radius-lg);overflow:hidden;transition:all .2s ease}.message-group:focus{outline:2px solid var(--color-blue);outline-offset:2px}.message-group--alert{border-color:var(--color-red);box-shadow:0 0 0 1px rgba(var(--color-red-rgb),.2)}.message-group__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);background:var(--color-surface0);border-bottom:2px solid var(--color-surface2)}.message-group__aircraft{display:flex;align-items:center;gap:var(--spacing-sm)}.message-group .aircraft-id{font-weight:700;font-size:var(--font-size-md);color:var(--color-text);font-family:var(--font-mono)}.message-group .alert-count{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-red);color:var(--color-crust);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--border-radius-full);white-space:nowrap}.message-group .adsb-tracking{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-teal);color:var(--color-crust);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--border-radius-full);white-space:nowrap;text-decoration:none;cursor:pointer;transition:all .2s ease}.message-group .adsb-tracking:hover{background-color:var(--color-sky);transform:translateY(-1px);box-shadow:0 2px 4px #0003}.message-group .adsb-tracking:active{transform:translateY(0)}.message-group .adsb-tracking:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}@media(max-width:768px){.message-group .adsb-tracking{min-height:44px;padding:var(--spacing-sm) var(--spacing-md)}}@media(prefers-reduced-motion:reduce){.message-group .adsb-tracking{transition:none}.message-group .adsb-tracking:hover,.message-group .adsb-tracking:active{transform:none}}.message-group__counter{font-size:var(--font-size-sm);color:var(--color-subtext1)}.message-group__counter .counter-text{font-weight:500}.message-group__tabs{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-base);border-bottom:1px solid var(--color-surface2);overflow-x:auto}.message-group__tabs::-webkit-scrollbar{width:8px;height:8px}.message-group__tabs::-webkit-scrollbar-track{background:transparent}.message-group__tabs::-webkit-scrollbar-thumb{background:var(--color-overlay0);border-radius:4px}.message-group__tabs::-webkit-scrollbar-thumb:hover{background:var(--color-overlay1)}.message-group__tabs{scrollbar-width:thin;scrollbar-color:var(--color-overlay0) transparent}.message-group__content{padding:var(--spacing-sm)}.tab-nav{background:none;border:1px solid var(--color-surface2);color:var(--color-text);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-md);cursor:pointer;font-size:var(--font-size-md);font-weight:700;line-height:1;transition:all .2s ease;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.tab-nav:hover{background-color:var(--color-surface1);border-color:var(--color-blue)}.tab-nav:focus{outline:2px solid var(--color-blue);outline-offset:2px}.tab-nav:active{background-color:var(--color-surface2)}.tab-nav--prev,.tab-nav--next{flex-shrink:0}.tab-list{display:flex;gap:var(--spacing-xs);flex:1;overflow-x:auto}.tab-list::-webkit-scrollbar{width:8px;height:8px}.tab-list::-webkit-scrollbar-track{background:transparent}.tab-list::-webkit-scrollbar-thumb{background:var(--color-overlay0);border-radius:4px}.tab-list::-webkit-scrollbar-thumb:hover{background:var(--color-overlay1)}.tab-list{scrollbar-width:thin;scrollbar-color:var(--color-overlay0) transparent}.tab{background:none;border:1px solid var(--color-surface2);color:var(--color-text);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-md);cursor:pointer;font-size:var(--font-size-xs);font-weight:600;line-height:1.2;transition:all .2s ease;white-space:nowrap;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.tab:hover{background-color:var(--color-surface1);border-color:var(--color-blue)}.tab:focus{outline:2px solid var(--color-blue);outline-offset:2px}.tab--active{background-color:var(--color-blue);border-color:var(--color-blue);color:var(--color-base);font-weight:700}.tab--active:hover{background-color:var(--color-sapphire);border-color:var(--color-sapphire)}.tab--alert{border-color:var(--color-red)}.tab--alert.tab--active{background-color:var(--color-red);border-color:var(--color-red)}.tab__number{font-family:var(--font-mono)}.tab__alert-indicator{font-size:var(--font-size-xs)}[data-animations=true] .tab{transition:all .15s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@media print{.message-group{page-break-inside:avoid;border:1px solid var(--color-surface2);margin-bottom:var(--spacing-md)}.message-group__tabs{display:none}.message-group__header{border-bottom:2px solid var(--color-surface2)}.tab-nav{display:none}}.toast{position:fixed;bottom:1.5rem;right:1.5rem;min-width:300px;max-width:400px;background-color:var(--color-surface0);border:2px solid var(--color-danger);border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;opacity:0;transform:translate(calc(100% + 1.5rem));transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);z-index:1080;overflow:hidden}.toast--visible{opacity:1;transform:translate(0)}.toast--exiting{opacity:0;transform:translate(calc(100% + 1.5rem))}@media(prefers-reduced-motion:reduce){.toast{transition:opacity .15s cubic-bezier(.4,0,.2,1);transform:none}.toast--visible,.toast--exiting{transform:none}}.toast__content{padding:1rem}.toast__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.toast__title{font-weight:700;font-size:1rem;color:var(--color-danger)}.toast__close{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;outline:inherit;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:12px;color:var(--color-text);background-color:transparent;transition:background-color .15s cubic-bezier(.4,0,.2,1);cursor:pointer}.toast__close:hover{background-color:var(--color-surface1)}.toast__close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.toast__close svg{width:14px;height:14px}.toast__body{color:var(--color-text);font-size:.875rem;line-height:1.5}.toast__terms{font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-weight:600;color:var(--color-danger);word-break:break-word}.toast__progress{height:4px;background-color:var(--color-surface1);overflow:hidden}.toast__progress-bar{height:100%;background:linear-gradient(90deg,var(--color-danger),var(--color-red));width:100%;animation:toast-progress linear forwards;transform-origin:left}@media(prefers-reduced-motion:reduce){.toast__progress-bar{animation:none;display:none}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column-reverse;gap:1rem;z-index:1080;pointer-events:none}.toast-container .toast{position:relative;bottom:auto;right:auto;pointer-events:auto}@media(max-width:639px){.toast{left:1rem;right:1rem;bottom:1rem;min-width:auto;max-width:none}.toast-container{left:1rem;right:1rem;bottom:1rem}}.map-control-button{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--color-surface0);color:var(--color-subtext1);border:2px solid var(--color-overlay0);border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s ease;font-size:1rem;padding:0}.map-control-button:hover{background-color:var(--color-surface1);color:var(--color-text);border-color:var(--color-overlay2)}.map-control-button:active{background-color:var(--color-surface2);transform:scale(.95)}.map-control-button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.map-control-button--active{background-color:var(--color-blue);color:var(--color-base);border-color:var(--color-blue)}.map-control-button--active:hover{background-color:var(--color-sapphire);border-color:var(--color-sapphire);color:var(--color-base)}.map-control-button--active:active{background-color:var(--color-sky)}.map-control-button__tooltip{position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-surface0);color:var(--color-text);border:1px solid var(--color-overlay0);border-radius:var(--border-radius-sm);font-size:.75rem;white-space:nowrap;pointer-events:none;z-index:10000;box-shadow:0 4px 12px #00000080}.map-control-button__tooltip:before{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:4px solid transparent;border-left-color:var(--color-overlay0)}.map-control-button__tooltip:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:1px;border:4px solid transparent;border-left-color:var(--color-surface0)}@media(max-width:767px){.map-control-button{width:44px;height:44px;font-size:1.125rem}.map-control-button__tooltip{display:none}}.map-controls{position:absolute;top:94px;right:10px;z-index:100;display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none}.map-controls__group{display:flex;flex-direction:column;gap:1px;background-color:var(--color-overlay0);border:2px solid var(--color-overlay0);border-radius:var(--border-radius-sm);box-shadow:0 2px 8px #0000004d;overflow:visible;pointer-events:auto}.map-controls__group button{border-radius:0;border-left:0!important;border-right:0!important;border-top:0!important;border-bottom:1px solid var(--color-overlay0)!important}.map-controls__group button:first-child{border-top-left-radius:var(--border-radius-sm);border-top-right-radius:var(--border-radius-sm)}.map-controls__group button:last-child{border-bottom-left-radius:var(--border-radius-sm);border-bottom-right-radius:var(--border-radius-sm);border-bottom:0!important}.map-controls__group button:only-child{border-radius:var(--border-radius-sm)}@media(max-width:767px){.map-controls{top:106px;right:10px}}@media print{.map-controls{display:none}}.map-legend{position:absolute;bottom:.5rem;left:.5rem;z-index:1000;display:none;flex-direction:column;gap:.5rem}@media(min-width:768px){.map-legend{display:flex;bottom:.5rem;left:.5rem}}.map-legend__toggle{width:44px;height:44px;background-color:var(--color-base);border:2px solid var(--color-surface2);border-radius:12px;color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease;box-shadow:0 2px 8px #0003}.map-legend__toggle:hover{background-color:var(--color-surface0);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.map-legend__toggle:active{transform:translateY(0);box-shadow:0 2px 6px #0003}.map-legend__toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.map-legend__panel{background-color:var(--color-base);border:2px solid var(--color-surface2);border-radius:12px;padding:1rem;box-shadow:0 4px 16px #0000004d;min-width:280px;max-width:320px}@media(min-width:768px){.map-legend__panel{min-width:320px}}.map-legend__panel{animation:slideIn .2s ease}.map-legend__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-surface1)}.map-legend__title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.map-legend__close{width:32px;height:32px;background:transparent;border:none;color:var(--color-subtext1);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;border-radius:4px;transition:all .2s ease}.map-legend__close:hover{background-color:var(--color-surface1);color:var(--color-text)}.map-legend__close:active{background-color:var(--color-surface2)}.map-legend__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.map-legend__content{display:flex;flex-direction:column;gap:.5rem}.map-legend__item{display:flex;align-items:center;gap:1rem;padding:.25rem;border-radius:4px;transition:background-color .2s ease}.map-legend__item:hover{background-color:var(--color-surface0)}.map-legend__swatch{width:24px;height:24px;border-radius:4px;border:2px solid var(--color-surface2);flex-shrink:0}.map-legend__swatch--alert{background-color:var(--color-red)}.map-legend__swatch--messages{background-color:var(--color-green)}.map-legend__swatch--ground{background-color:var(--color-overlay1)}.map-legend__swatch--default{background-color:var(--color-text)}.map-legend__label{font-size:.875rem;color:var(--color-text);line-height:1.4}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.map-legend__toggle,.map-legend__close,.map-legend__item{transition:none}.map-legend__panel{animation:none}}@media print{.map-legend{display:none}}.map-provider-selector{position:relative;display:inline-block}.map-provider-selector__button{background:none;border:none;margin:0;font:inherit;color:inherit;outline:inherit;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--color-surface0);border:2px solid var(--color-overlay0);border-radius:var(--border-radius-sm);color:var(--color-subtext1);font-size:1rem;padding:0;cursor:pointer;transition:background-color .15s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1)}.map-provider-selector__button:hover{background-color:var(--color-surface1);color:var(--color-text);border-color:var(--color-overlay2)}.map-provider-selector__button:active{background-color:var(--color-surface2);transform:scale(.95)}.map-provider-selector__button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){.map-provider-selector__button{transition:none}}.map-provider-selector__menu{position:absolute;top:calc(100% + .5rem);right:0;z-index:1000;width:280px;max-height:500px;overflow-y:auto;background-color:var(--color-base);border:1px solid var(--color-overlay0);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000004d}.map-provider-selector__menu::-webkit-scrollbar{width:8px;height:8px}.map-provider-selector__menu::-webkit-scrollbar-track{background:transparent}.map-provider-selector__menu::-webkit-scrollbar-thumb{background:var(--color-overlay0);border-radius:4px}.map-provider-selector__menu::-webkit-scrollbar-thumb:hover{background:var(--color-overlay1)}.map-provider-selector__menu{scrollbar-width:thin;scrollbar-color:var(--color-overlay0) transparent;animation:map-provider-menu-slide-in .15s ease-out}@keyframes map-provider-menu-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.map-provider-selector__menu{animation:none}}@media(max-width:639px){.map-provider-selector__menu{position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);width:90vw;max-width:320px;max-height:80vh;animation:map-provider-menu-modal-in .2s ease-out}@keyframes map-provider-menu-modal-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}}.map-provider-selector__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-overlay0);background-color:var(--color-mantle)}.map-provider-selector__title{font-size:1rem;font-weight:600;color:var(--color-text)}.map-provider-selector__close{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;outline:inherit;display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--color-subtext0);font-size:16px;cursor:pointer;border-radius:var(--border-radius-sm);transition:color .15s cubic-bezier(.4,0,.2,1)}.map-provider-selector__close:hover{color:var(--color-text);background-color:var(--color-surface0)}.map-provider-selector__close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-provider-selector__current{padding:.75rem 1rem;font-size:.875rem;color:var(--color-subtext1);border-bottom:1px solid var(--color-overlay0);background-color:var(--color-surface0)}.map-provider-selector__current strong{color:var(--color-text);font-weight:600}.map-provider-selector__group{border-bottom:1px solid var(--color-overlay0)}.map-provider-selector__group:last-of-type{border-bottom:none}.map-provider-selector__group-title{padding:.625rem 1rem .5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-subtext0);background-color:var(--color-mantle)}.map-provider-selector__items{display:flex;flex-direction:column}.map-provider-selector__item{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;outline:inherit;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem 1rem;text-align:left;font-size:.875rem;color:var(--color-text);cursor:pointer;border-left:3px solid transparent;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);min-height:44px}.map-provider-selector__item:hover{background-color:var(--color-surface0);color:var(--color-text)}.map-provider-selector__item:active{background-color:var(--color-surface1)}.map-provider-selector__item:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.map-provider-selector__item--active{background-color:var(--color-surface0);border-left-color:var(--color-blue);font-weight:600;color:var(--color-blue)}.map-provider-selector__item--active:hover{background-color:var(--color-surface1)}@media(prefers-reduced-motion:reduce){.map-provider-selector__item{transition:none}}.map-provider-selector__badge{display:inline-block;padding:.125rem .375rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-mantle);background-color:var(--color-green);border-radius:var(--border-radius-sm)}.map-provider-selector__footer{padding:.625rem 1rem;font-size:.75rem;color:var(--color-subtext0);text-align:center;border-top:1px solid var(--color-overlay0);background-color:var(--color-mantle)}@media(max-width:767px){.map-provider-selector__button{width:44px;height:44px;font-size:1.125rem}}.geojson-overlay-button{position:relative}.geojson-overlay-button__badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;font-size:10px;font-weight:700;line-height:16px;text-align:center;pointer-events:none;background-color:var(--color-red);color:var(--color-base)}.geojson-overlay-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;max-width:320px;max-height:400px;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;z-index:1000;background-color:var(--color-base);border:1px solid var(--color-surface0)}@media(max-width:767px){.geojson-overlay-dropdown{position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);min-width:90vw;max-width:90vw;max-height:80vh}}.geojson-overlay-dropdown__header{padding:12px 16px;font-size:14px;font-weight:600;border-bottom:1px solid var(--color-surface0);background-color:var(--color-mantle);color:var(--color-text)}.geojson-overlay-dropdown__content{max-height:350px;overflow-y:auto}.geojson-overlay-dropdown__content::-webkit-scrollbar{width:8px;height:8px}.geojson-overlay-dropdown__content::-webkit-scrollbar-track{background:transparent}.geojson-overlay-dropdown__content::-webkit-scrollbar-thumb{background:var(--color-overlay0);border-radius:4px}.geojson-overlay-dropdown__content::-webkit-scrollbar-thumb:hover{background:var(--color-overlay1)}.geojson-overlay-dropdown__content{scrollbar-width:thin;scrollbar-color:var(--color-overlay0) transparent}@media(max-width:767px){.geojson-overlay-dropdown__content{max-height:calc(80vh - 48px)}}.overlay-category{border-bottom:1px solid var(--color-surface0)}.overlay-category:last-child{border-bottom:none}.overlay-category__header{padding:8px 16px;background-color:var(--color-mantle)}.overlay-category__label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.overlay-category__label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-blue)}.overlay-category__label:hover .overlay-category__name{color:var(--color-blue)}.overlay-category__name{font-size:13px;font-weight:600;transition:color .15s ease;color:var(--color-text)}.overlay-category__overlays{padding:4px 0}.overlay-item{display:flex;align-items:center;gap:8px;padding:6px 16px 6px 40px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}@media(max-width:767px){.overlay-item{padding:10px 16px 10px 40px;min-height:44px}}.overlay-item:hover{background-color:var(--color-surface0)}.overlay-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-blue)}.overlay-item__color{width:12px;height:12px;border-radius:2px;flex-shrink:0;border:1px solid var(--color-overlay0)}.overlay-item__name{font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-subtext1)}@media(prefers-reduced-motion:reduce){.overlay-category__name,.overlay-item{transition:none}}.page{margin-top:1.5rem;margin-bottom:1.5rem;background-color:var(--color-card-body);border-radius:24px;overflow:hidden;overflow-anchor:none;animation:fade-in .2s cubic-bezier(.4,0,.2,1) ease-in}@media(prefers-reduced-motion:reduce){.page{animation:none}}.page__header{padding:1rem;background-color:var(--color-card-header);border-bottom:1px solid var(--color-overlay0);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;border-radius:24px 24px 0 0}.page__title{margin:0;font-size:1.875rem;font-weight:600;color:var(--color-text)}.page__subtitle{margin:.5rem 0 0;font-size:1rem;font-weight:400;color:var(--color-subtext1)}.page__actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.page__stats{display:flex;gap:2rem;flex-wrap:wrap;align-items:center}.stat-separator{color:var(--color-subtext1);font-weight:400;-webkit-user-select:none;user-select:none}.page__stat{display:flex;flex-direction:column;gap:.25rem}.page__stat-label{font-size:.875rem;color:var(--color-subtext1);font-weight:500}.page__stat-value{font-size:1.5rem;font-weight:600;color:var(--color-text)}.page__content{padding:1rem}.placeholder{text-align:center;padding:4rem 2rem;color:var(--color-subtext1)}.placeholder__icon{font-size:4rem;color:var(--color-subtext1);margin-bottom:1.5rem}.placeholder__icon svg{width:64px;height:64px}.placeholder__title{font-size:1.5rem;font-weight:600;color:var(--color-text);margin-bottom:1rem}.placeholder__description{font-size:1rem;color:var(--color-subtext1);margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto}.placeholder__list{text-align:left;max-width:500px;margin:1.5rem auto;list-style-position:inside}.placeholder__list li{margin-bottom:.5rem;color:var(--color-subtext1)}.placeholder__actions{margin-top:2rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.info-box{margin-top:2rem;padding:1rem;background-color:var(--color-surface1);border-radius:16px;border-left:4px solid var(--color-info)}.info-box--warning{border-left-color:var(--color-warning);background-color:var(--color-surface0)}.info-box--error{border-left-color:var(--color-danger);background-color:var(--color-surface0)}.info-box--success{border-left-color:var(--color-success);background-color:var(--color-surface0)}.info-box__title{font-size:1.125rem;font-weight:600;margin-bottom:1rem;color:var(--color-text)}.info-box__content{font-size:1rem;color:var(--color-subtext1);line-height:1.75}.info-box__content p{margin:.5rem 0}.info-box__content code{font-size:.875rem}.loading{display:flex;align-items:center;justify-content:center;padding:4rem;min-height:300px}.loading__spinner{width:48px;height:48px;border:4px solid var(--color-surface2);border-top-color:var(--color-primary);border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading__spinner{animation:none;border-top-color:var(--color-primary)}}.loading__text{margin-top:1.5rem;font-size:1rem;color:var(--color-subtext1)}@media(max-width:767px){.page{margin-top:.5rem;margin-bottom:.5rem;border-radius:12px}.page__header{padding:.75rem}.page__title{font-size:1.5rem}.page__subtitle{font-size:.875rem}.page__stats{gap:1rem;width:100%}.page__stat{flex:1;min-width:100px}.page__stat-value{font-size:1.25rem}.page__content{padding:.75rem}.placeholder{padding:3rem 1rem}.placeholder__title{font-size:1.25rem}.info-box{margin-top:1.5rem;padding:.75rem}}@media(min-width:768px){.page__stats{flex-wrap:nowrap}}.about-page .page__content{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2rem}@media(min-width:768px){.about-page .page__content{gap:2rem;padding-bottom:3rem}}@media(min-width:1024px){.about-page .page__content{gap:2rem;padding-bottom:4rem}}.about-page .card{box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s cubic-bezier(.4,0,.2,1)}.about-page .card:hover{box-shadow:0 4px 6px #0000001a}.about-page a{color:var(--color-blue);text-decoration:none;transition:color .2s ease-in-out}.about-page a:hover{color:var(--color-sapphire);text-decoration:underline}.about-page a:focus{outline:2px solid var(--color-blue);outline-offset:2px;border-radius:var(--border-radius-sm)}.about-page kbd{background-color:var(--color-surface1);border:1px solid var(--color-surface2);border-radius:4px;padding:.125rem .5rem;font-family:var(--font-mono);font-size:.875em;color:var(--color-text);box-shadow:0 1px #0003;display:inline-block;min-width:1.5rem;text-align:center}.about-page ol{counter-reset:list-counter;list-style:none;padding-left:0;margin-top:1rem;margin-bottom:1rem}.about-page ol>li{counter-increment:list-counter;position:relative;padding-left:2.5rem;margin-bottom:1.25rem;line-height:1.7}.about-page ol>li:before{content:counter(list-counter) ".";position:absolute;left:0;top:.125rem;color:var(--color-blue);font-weight:600;font-size:1rem;width:2rem;text-align:right}.about-page ol>li ol,.about-page ol>li ul{margin-top:.75rem;margin-bottom:.5rem}.about-page ol>li:last-child{margin-bottom:0}@media(min-width:640px){.about-page ol>li{padding-left:3rem;margin-bottom:1.5rem}.about-page ol>li:before{width:2.5rem;font-size:1.125rem}}.about-page ul{list-style:none;padding-left:0;margin-top:1rem;margin-bottom:1rem}.about-page ul>li{position:relative;padding-left:1.75rem;margin-bottom:.875rem;line-height:1.7}.about-page ul>li:before{content:"▸";position:absolute;left:0;top:.125rem;color:var(--color-blue);font-weight:600;font-size:.875rem}.about-page ul>li:last-child{margin-bottom:0}@media(min-width:640px){.about-page ul>li{padding-left:2rem;margin-bottom:1rem}}.about-page img{max-width:100%;height:auto;border-radius:16px;border:2px solid var(--color-surface2);margin:1.5rem 0;display:block;box-shadow:0 2px 8px #0000001a}@media(min-width:768px){.about-page img{max-width:75%;margin:2rem auto}}@media(min-width:1024px){.about-page img{max-width:60%;margin:2.5rem auto}}.about-page code{background-color:var(--color-surface1);color:var(--color-mauve);padding:.2rem .5rem;border-radius:4px;font-size:.9em;font-family:var(--font-mono);white-space:nowrap;border:1px solid var(--color-surface2)}.about-page strong{color:var(--color-text);font-weight:600}.about-page .card__content{font-size:1rem;line-height:1.7}.about-page .card__content p{margin-bottom:1rem}.about-page .card__content p:last-child{margin-bottom:0}.about-page .card__content p+p{margin-top:0}.about-page .card__content p+ul,.about-page .card__content p+ol{margin-top:0}.about-page .card__content ul+p,.about-page .card__content ol+p{margin-top:1rem}.about-page .card__content strong{font-weight:600;color:var(--color-text)}@media(min-width:640px){.about-page .card__content{font-size:1.0625rem}}.about-page .version-warning{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:rgba(var(--color-yellow-rgb),.1);border:1px solid var(--color-yellow);border-radius:12px;margin-top:1rem}@media(min-width:640px){.about-page .version-warning{padding:1rem}}.about-page .toc{background-color:var(--color-surface0);border:1px solid var(--color-surface1);border-radius:16px;padding:1rem}@media(min-width:640px){.about-page .toc{padding:1.5rem}}.about-page .toc h3{margin:0 0 1rem;font-size:1.125rem;color:var(--color-text)}.about-page .toc ul{list-style:none;padding:0}.about-page .toc ul li{padding-left:0;margin-bottom:.5rem}.about-page .toc ul li:before{content:none}.about-page .toc ul li a{display:block;padding:.5rem;border-radius:4px;transition:background-color .2s ease-in-out}.about-page .toc ul li a:hover{background-color:var(--color-surface1);text-decoration:none}.stats-page{overflow-anchor:none;position:relative;isolation:isolate}.stats-page .page__content{max-width:1400px;margin:0 auto;padding:var(--spacing-md);overflow-anchor:none}@media(max-width:767px){.stats-page .page__content{padding:var(--spacing-sm)}}.stats-page__section-nav{margin-top:1rem;margin-bottom:1rem;background-color:var(--color-surface0);border-radius:16px;padding:.5rem;border:1px solid var(--color-surface2)}@media(max-width:767px){.stats-page__section-nav{padding:.25rem;margin-bottom:.5rem}}.stats-page__section-content{min-height:600px}@media(max-width:767px){.stats-page__section-content{min-height:400px}}.stats-page .card{margin-bottom:2rem;overflow-anchor:none;contain:layout style;transform:translateZ(0)}.stats-page .card:last-child{margin-bottom:0}@media(max-width:767px){.stats-page .card{margin-bottom:1.5rem}}.stats-page .stats-image{width:100%;height:auto;display:block;border-radius:var(--border-radius-md);background-color:var(--color-surface0);transition:opacity .2s ease}.stats-page .stats-image:not([src]){min-height:150px;background:var(--color-surface1)}.stats-page .stats-image[alt]{font-size:var(--font-size-sm);color:var(--color-subtext1);padding:var(--spacing-lg);text-align:center}.stats-page .chart-wrapper{background-color:var(--color-surface0);border:1px solid var(--color-surface2);border-radius:16px;padding:.5rem;margin-top:.5rem;min-height:250px;contain:layout style paint;overflow-anchor:none;margin-top:0;content-visibility:auto;transform:translateZ(0);backface-visibility:hidden}.stats-page .chart-wrapper>div{overflow-anchor:none;position:relative}@media(max-width:767px){.stats-page .chart-wrapper{padding:1rem;min-height:200px;margin-top:1rem}}.chart-section__header+.stats-page .chart-wrapper{margin-top:1rem}.stats-page .card:has(.stats-image){padding:0;overflow:hidden}.stats-page .card:has(.stats-image):hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stats-page .card:has(.stats-image){transition:transform .2s ease,box-shadow .2s ease}.stats-page .chart-section:last-child{margin-bottom:0}@media(max-width:767px){.stats-page .chart-section__header{padding-bottom:var(--spacing-xs)}}@media(max-width:767px){.stats-page .chart-section__title{font-size:var(--font-size-lg)}}@media(max-width:767px){.stats-page .chart-section__description{font-size:var(--font-size-sm)}}@media(max-width:767px){.stats-page .chart-grid--two-col{grid-template-columns:1fr}}@media(min-width:768px){.stats-page .chart-grid--two-col{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.stats-page .chart-grid--two-col{grid-template-columns:repeat(2,1fr)}}[data-animations=true] .stats-image{animation:fadeIn .3s ease}.stats-page .status-overview{padding:1rem;display:flex;flex-direction:column;gap:.5rem}@media(min-width:768px){.stats-page .status-overview{flex-direction:row;justify-content:space-between;align-items:center}}.stats-page .status-overview__main{flex:1}.stats-page .status-overview__title{font-size:1.5rem;font-weight:700;margin-bottom:0;color:var(--color-text)}.stats-page .status-overview__subtitle{font-size:.875rem;color:var(--color-subtext0);text-align:right}@media(min-width:768px){.stats-page .status-overview__subtitle{text-align:right}}.stats-page .status-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.stats-page .status-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.stats-page .status-grid{grid-template-columns:repeat(3,1fr)}}.stats-page .status-item{background-color:var(--color-surface0);border:1px solid var(--color-surface1);border-radius:.5rem;padding:1rem;transition:all .2s ease}.stats-page .status-item:hover{background-color:var(--color-surface1);border-color:var(--color-overlay0)}.stats-page .status-item__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-surface1)}.stats-page .status-item__name{font-weight:600;font-size:1rem;color:var(--color-text)}.stats-page .status-item__details{display:flex;flex-direction:column;gap:.25rem}.stats-page .status-detail{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.stats-page .status-detail__label{color:var(--color-subtext1);font-weight:500}.stats-page .status-detail__value{color:var(--color-text);font-weight:600;font-variant-numeric:tabular-nums}.stats-page .status-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.stats-page .status-badge--success{background-color:rgba(var(--color-green-rgb),.15);color:var(--color-green);border:1px solid rgba(var(--color-green-rgb),.3)}.stats-page .status-badge--warning{background-color:rgba(var(--color-yellow-rgb),.15);color:var(--color-yellow);border:1px solid rgba(var(--color-yellow-rgb),.3)}.stats-page .status-badge--error{background-color:rgba(var(--color-red-rgb),.15);color:var(--color-red);border:1px solid rgba(var(--color-red-rgb),.3)}.stats-page .status-badge--default{background-color:rgba(var(--color-overlay0-rgb),.15);color:var(--color-subtext1);border:1px solid rgba(var(--color-overlay0-rgb),.3)}.stats-page .text-success{color:var(--color-green)}.stats-page .text-warning{color:var(--color-yellow)}.stats-page .text-error{color:var(--color-red)}.stats-page .text-muted{color:var(--color-subtext0);font-style:italic}.stats-page .config-grid{display:grid;grid-template-columns:1fr;gap:.5rem}@media(min-width:640px){.stats-page .config-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.stats-page .config-grid{grid-template-columns:repeat(3,1fr)}}.stats-page .config-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background-color:var(--color-surface0);border-radius:.25rem;font-size:.875rem}.stats-page .config-item__label{color:var(--color-subtext1);font-weight:500}.stats-page .config-item__value{color:var(--color-text);font-weight:600}@media(prefers-reduced-motion:reduce){.stats-page .status-item{transition:none}}@media print{.stats-page .chart-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.stats-page .stats-image{max-height:400px;object-fit:contain}.stats-page .chart-section{page-break-inside:avoid;margin-bottom:var(--spacing-lg)}.stats-page .status-badge{border:1px solid currentColor}}.live-messages-page{overflow:visible!important}.live-messages-page .page__header{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}@media(min-width:768px){.live-messages-page .page__header{flex-direction:row;justify-content:space-between;align-items:center}}.live-messages-page .page__stats{display:flex;flex-wrap:wrap;gap:var(--spacing-md);font-size:var(--font-size-sm)}@media(min-width:768px){.live-messages-page .page__stats{gap:var(--spacing-lg)}}.live-messages-page .stat{display:flex;align-items:baseline;gap:var(--spacing-xs)}.live-messages-page .stat__label{color:var(--color-subtext1);font-weight:500}.live-messages-page .stat__value{color:var(--color-text);font-weight:700;font-size:var(--font-size-md)}.live-messages-page .stat__secondary{color:var(--color-subtext0);font-weight:400;font-size:var(--font-size-sm);margin-left:var(--spacing-xs)}.live-messages-page .stat--alert .stat__value{color:var(--color-red)}.live-messages-page .page__notice{padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);background-color:var(--color-surface0);border:1px solid var(--color-surface2)}.live-messages-page .page__notice--warning{background-color:rgba(var(--color-yellow-rgb),.1);border-color:var(--color-yellow);color:var(--color-yellow)}.live-messages-page .page__notice .notice__icon{font-size:var(--font-size-lg);flex-shrink:0}.live-messages-page .page__notice .notice__text{color:var(--color-text);font-size:var(--font-size-sm)}.live-messages-page .page__empty{text-align:center;padding:var(--spacing-3xl) var(--spacing-md);color:var(--color-subtext0)}.live-messages-page .page__empty h2{color:var(--color-text);margin-bottom:var(--spacing-md);font-size:var(--font-size-xl)}.live-messages-page .page__empty p{margin-bottom:var(--spacing-sm)}.live-messages-page .page__empty .text-muted{color:var(--color-subtext1);font-size:var(--font-size-sm)}.message-filters{position:sticky;top:0;z-index:100;margin-bottom:var(--spacing-lg);background-color:var(--color-surface0);border:1px solid var(--color-surface2);border-radius:var(--border-radius-lg);padding:var(--spacing-md);box-shadow:0 2px 8px #0000001a}.message-filters__toolbar{display:flex;flex-direction:column;gap:var(--spacing-md)}@media(min-width:768px){.message-filters__toolbar{flex-direction:row;align-items:center;flex-wrap:wrap}}.filter-group{display:flex;align-items:center;gap:var(--spacing-sm)}.filter-group--search{position:relative;flex:1 1 100%;max-width:100%;align-self:center}@media(min-width:768px){.filter-group--search{flex:1 1 auto;max-width:400px}}.filter-group--toggles{display:flex;align-items:center;align-self:center;gap:var(--spacing-md);flex-wrap:wrap}.filter-group--actions{display:flex;align-items:center;align-self:center;gap:var(--spacing-sm);flex:1 1 100%}@media(min-width:768px){.filter-group--actions{flex:0 0 auto;margin-left:auto}}.filter-label{color:var(--color-subtext1);font-size:var(--font-size-sm);font-weight:500;white-space:nowrap}.filter-input{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-base);border:1px solid var(--color-surface2);border-radius:var(--border-radius-md);color:var(--color-text);font-size:var(--font-size-sm);transition:all .2s ease;flex:1;min-width:0}.filter-input:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px rgba(var(--color-blue-rgb),.1)}.filter-input::placeholder{color:var(--color-subtext0)}.filter-input--search{padding-right:calc(var(--spacing-2xl) + var(--spacing-md))}.filter-clear{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-subtext0);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);font-size:var(--font-size-md);line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.filter-clear:hover{background-color:var(--color-surface1);color:var(--color-text)}.filter-clear:focus{outline:2px solid var(--color-blue);outline-offset:2px}.label-filters__description{margin-bottom:var(--spacing-lg);color:var(--color-subtext1);font-size:var(--font-size-sm)}.label-filters__list{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:400px;overflow-y:auto}.label-filters__list::-webkit-scrollbar{width:8px;height:8px}.label-filters__list::-webkit-scrollbar-track{background:transparent}.label-filters__list::-webkit-scrollbar-thumb{background:var(--color-overlay0);border-radius:4px}.label-filters__list::-webkit-scrollbar-thumb:hover{background:var(--color-overlay1)}.label-filters__list{scrollbar-width:thin;scrollbar-color:var(--color-overlay0) transparent;margin-bottom:var(--spacing-lg)}.label-filters__empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-subtext0);font-size:var(--font-size-sm)}.label-filters__actions{display:flex;justify-content:flex-end;padding-top:var(--spacing-md);border-top:1px solid var(--color-surface2)}.label-filter-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-base);border:1px solid var(--color-surface1);border-radius:var(--border-radius-md);transition:all .2s ease}.label-filter-item:hover{background-color:var(--color-surface0);border-color:var(--color-surface2)}.label-filter-item__label{display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;flex:1}.label-filter-item__id{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-blue);font-weight:600;min-width:3ch}.label-filter-item__name{color:var(--color-text);font-size:var(--font-size-sm)}.label-filter-item__checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--color-blue)}.message-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}@media(max-width:639px){.message-content--hide-small{display:none}}.message-content--empty .message-content__text{color:var(--color-subtext0);font-style:italic}.alert-highlight{font-weight:700;padding:.125rem .25rem;border-radius:var(--border-radius-sm);background-color:var(--color-red);color:var(--color-crust)}[data-theme=light] .alert-highlight{background-color:var(--color-maroon);color:var(--color-crust)}.message-card__libacars{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-surface0);border:1px solid var(--color-surface2);border-left:3px solid var(--color-lavender);border-radius:var(--border-radius-md)}.message-card__libacars--error{border-left-color:var(--color-red);background-color:rgba(var(--color-red-rgb),.05)}.libacars-content{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text);line-height:1.6}.libacars-content strong{color:var(--color-subtext1);font-weight:600}.libacars-content em{color:var(--color-subtext0);font-style:italic}.libacars-content div{margin-bottom:var(--spacing-xs)}.libacars-content div:last-child{margin-bottom:0}.libacars-error{margin:0;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-red);white-space:pre-wrap}.libacars-freq-data,.libacars-cpdlc,.libacars-generic{line-height:1.6}.alert-badge{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-red);color:var(--color-base);font-weight:700;border-radius:var(--border-radius-sm)}.alert-badge__icon{font-size:var(--font-size-lg)}.alert-badge__text{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}[data-theme=light] .alert-badge{background-color:var(--color-red);color:var(--color-crust)}.alert-match{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}@media(min-width:768px){.alert-match{flex-direction:row;align-items:baseline}}.alert-match:last-child{margin-bottom:0}.alert-match__label{color:var(--color-subtext1);font-weight:500;min-width:120px}.alert-match__values{color:var(--color-text);font-family:var(--font-mono);font-weight:600}[data-animations=true] .message-group{animation:slideIn .3s ease-out}[data-animations=true] .message-card{animation:fadeIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media print{.message-filters,.tab-nav,.message-group__tabs{display:none}.message-group{page-break-inside:avoid;border:1px solid #000;margin-bottom:1rem}.message-card__content pre{white-space:pre-wrap;word-wrap:break-word}}.status-page .page__header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}@media(min-width:768px){.status-page .page__header{flex-direction:row;justify-content:space-between;align-items:center}}.status-page .page__header-meta{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}@media(min-width:768px){.status-page .page__header-meta{flex-direction:row;align-items:center;gap:1.5rem}}.status-page .status-overall{font-size:1.125rem;font-weight:600}.status-page .status-last-update{font-size:.875rem;color:var(--color-subtext0)}.status-page .page__content{display:flex;flex-direction:column;gap:1.5rem}.status-page .status-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.status-page .status-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.status-page .status-grid{grid-template-columns:repeat(3,1fr)}}.status-page .status-item{background-color:var(--color-surface0);border:1px solid var(--color-surface1);border-radius:.5rem;padding:1rem;transition:all .2s ease}.status-page .status-item:hover{background-color:var(--color-surface1);border-color:var(--color-overlay0)}.status-page .status-item__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-surface1)}.status-page .status-item__name{font-weight:600;font-size:1rem;color:var(--color-text)}.status-page .status-item__details{display:flex;flex-direction:column;gap:.25rem}.status-page .status-detail{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.status-page .status-detail__label{color:var(--color-subtext1);font-weight:500}.status-page .status-detail__value{color:var(--color-text);font-weight:600;font-variant-numeric:tabular-nums}.status-page .status-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.status-page .status-badge--success{background-color:rgba(var(--color-green-rgb),.15);color:var(--color-green);border:1px solid rgba(var(--color-green-rgb),.3)}.status-page .status-badge--warning{background-color:rgba(var(--color-yellow-rgb),.15);color:var(--color-yellow);border:1px solid rgba(var(--color-yellow-rgb),.3)}.status-page .status-badge--error{background-color:rgba(var(--color-red-rgb),.15);color:var(--color-red);border:1px solid rgba(var(--color-red-rgb),.3)}.status-page .status-badge--default{background-color:rgba(var(--color-overlay0-rgb),.15);color:var(--color-subtext1);border:1px solid rgba(var(--color-overlay0-rgb),.3)}.status-page .text-success{color:var(--color-green)}.status-page .text-warning{color:var(--color-yellow)}.status-page .text-error{color:var(--color-red)}.status-page .text-muted{color:var(--color-subtext0);font-style:italic}.status-page .config-grid{display:grid;grid-template-columns:1fr;gap:.5rem}@media(min-width:640px){.status-page .config-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.status-page .config-grid{grid-template-columns:repeat(3,1fr)}}.status-page .config-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background-color:var(--color-surface0);border-radius:.25rem;font-size:.875rem}.status-page .config-item__label{color:var(--color-subtext1);font-weight:500}.status-page .config-item__value{color:var(--color-text);font-weight:600}@media(prefers-reduced-motion:reduce){.status-page .status-item{transition:none}}@media print{.status-page .page__header-meta{display:none}.status-page .status-badge{border:1px solid currentColor}}.alerts-page{display:flex;flex-direction:column;min-height:100%}.alerts-page__mode-toggle{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);padding:var(--spacing-md) 0}@media(max-width:767px){.alerts-page__mode-toggle{justify-content:center;padding:var(--spacing-sm) 0}}.alerts-page__mode-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface0);color:var(--color-text);border:2px solid var(--color-surface1);border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast);min-width:100px}.alerts-page__mode-button:hover:not(:disabled){background:var(--color-surface1);border-color:var(--color-blue)}.alerts-page__mode-button--active{background:var(--color-blue);color:var(--color-base);border-color:var(--color-blue)}.alerts-page__mode-button:disabled{opacity:.5;cursor:not-allowed}.alerts-page__mode-button:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}@media(max-width:767px){.alerts-page__mode-button{min-height:44px;flex:1}}@media(prefers-reduced-motion:reduce){.alerts-page__mode-button{transition:none}}.alerts-page__controls{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-surface0);border-radius:var(--border-radius-lg)}.alerts-page__term-selector{display:flex;flex-direction:column;gap:var(--spacing-sm)}@media(min-width:768px){.alerts-page__term-selector{flex-direction:row;align-items:center}}.alerts-page__term-label{color:var(--color-text);font-size:var(--font-size-md);font-weight:600}.alerts-page__term-select{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-base);color:var(--color-text);border:2px solid var(--color-surface1);border-radius:var(--border-radius-md);font-size:var(--font-size-md);cursor:pointer;transition:border-color var(--transition-fast)}.alerts-page__term-select:hover{border-color:var(--color-blue)}.alerts-page__term-select:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px rgba(var(--color-blue-rgb),.1)}@media(max-width:767px){.alerts-page__term-select{min-height:44px;font-size:1rem}}@media(min-width:768px){.alerts-page__term-select{max-width:400px}}.alerts-page__loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);min-height:200px}.alerts-page__loading p{color:var(--color-subtext0);font-size:var(--font-size-lg);font-style:italic}.alerts-page__pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding:var(--spacing-md);flex-wrap:wrap}@media(max-width:767px){.alerts-page__pagination{gap:var(--spacing-xs)}}.alerts-page__page-numbers{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;justify-content:center}.alerts-page__page-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface0);color:var(--color-text);border:2px solid var(--color-surface1);border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast);min-width:44px}.alerts-page__page-button:hover:not(:disabled){background:var(--color-surface1);border-color:var(--color-blue)}.alerts-page__page-button--active{background:var(--color-blue);color:var(--color-base);border-color:var(--color-blue)}.alerts-page__page-button:disabled{opacity:.5;cursor:not-allowed}.alerts-page__page-button:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}@media(max-width:767px){.alerts-page__page-button{min-height:44px}}@media(prefers-reduced-motion:reduce){.alerts-page__page-button{transition:none}}.alerts-page__ellipsis{display:inline-flex;align-items:center;padding:var(--spacing-sm);color:var(--color-subtext0);font-size:var(--font-size-md)}.alerts-page__empty-state{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);min-height:300px}@media(min-width:768px){.alerts-page__empty-state{min-height:500px}}.alerts-page__empty-state-content{text-align:center;max-width:600px}.alerts-page__empty-state-content h2{margin-bottom:var(--spacing-md);color:var(--color-text);font-size:var(--font-size-2xl)}.alerts-page__empty-state-content p{margin-bottom:var(--spacing-md);color:var(--color-subtext0);font-size:var(--font-size-md);line-height:1.6}.alerts-page__empty-state-content p:last-of-type{margin-bottom:0}.alerts-page__empty-state-content .text-muted{color:var(--color-subtext0);font-size:var(--font-size-sm)}.alerts-page__current-terms{margin-top:var(--spacing-xl);padding:var(--spacing-md);background:var(--color-surface0);border-radius:var(--border-radius-lg);text-align:left}.alerts-page__current-terms h3{margin-bottom:var(--spacing-sm);color:var(--color-subtext1);font-size:var(--font-size-md);font-weight:600}.alerts-page__current-terms h3:not(:first-child){margin-top:var(--spacing-md)}.alerts-page__term-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.alerts-page__term-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-blue);color:var(--color-base);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase}.alerts-page__term-badge--ignore{background:var(--color-overlay1);color:var(--color-text)}.alerts-page__mark-read-button{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-green);color:var(--color-base);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.alerts-page__mark-read-button:hover{background:var(--color-teal);transform:translateY(-1px)}.alerts-page__mark-read-button:active{transform:translateY(0)}.alerts-page__mark-read-button:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}@media(max-width:767px){.alerts-page__mark-read-button{min-height:44px;min-width:120px}}@media(prefers-reduced-motion:reduce){.alerts-page__mark-read-button{transition:none}.alerts-page__mark-read-button:hover,.alerts-page__mark-read-button:active{transform:none}}.alerts-page__messages{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-bottom:var(--spacing-lg)}@media(max-width:767px){.alerts-page__messages{gap:var(--spacing-sm)}}.alerts-page__result-card{background-color:var(--color-surface0);border:1px solid var(--color-surface2);border-radius:var(--border-radius-lg);padding:var(--spacing-md);overflow:hidden;transition:all var(--transition-normal)}.alerts-page__result-card:hover{border-color:var(--color-overlay0)}@media(prefers-reduced-motion:reduce){.alerts-page__result-card{transition:none}}@media print{.alerts-page__mode-toggle,.alerts-page__controls,.alerts-page__pagination{display:none}.alerts-page__empty-state{min-height:auto;padding:var(--spacing-md)}.alerts-page__messages{gap:var(--spacing-sm)}}.search-page{display:flex;flex-direction:column;min-height:100%}.search-page__form{margin-bottom:var(--spacing-xl);padding:var(--spacing-md);background:var(--color-surface0);border-radius:var(--border-radius-lg);border:1px solid var(--color-surface2)}.search-page__form-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}@media(min-width:768px){.search-page__form-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.search-page__form-grid{grid-template-columns:repeat(3,1fr)}}.search-page__form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.search-page__form-field label{color:var(--color-subtext1);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.search-page__form-field input{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-base);border:2px solid var(--color-surface2);border-radius:var(--border-radius-md);color:var(--color-text);font-size:var(--font-size-sm);transition:all var(--transition-normal)}.search-page__form-field input::placeholder{color:var(--color-subtext0)}.search-page__form-field input:focus{outline:none;border-color:var(--color-blue);background:var(--color-mantle)}.search-page__form-field input:hover:not(:focus){border-color:var(--color-overlay0)}@media(min-width:768px){.search-page__form-field--full{grid-column:span 2}}@media(min-width:1024px){.search-page__form-field--full{grid-column:span 3}}.search-page__form-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}@media(min-width:768px){.search-page__form-actions{flex-wrap:nowrap}}.search-page__results-info{margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-surface0);border-radius:var(--border-radius-md);border-left:4px solid var(--color-blue)}.search-page__results-info p{margin:0;color:var(--color-text);font-size:var(--font-size-md)}.search-page__results-info p strong{color:var(--color-blue);font-weight:700}.search-page__query-time{color:var(--color-subtext0);font-size:var(--font-size-sm)}.search-page__pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.search-page__pagination--bottom{margin-top:var(--spacing-lg);margin-bottom:0}.search-page__pagination-button{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface0);border:2px solid var(--color-surface2);border-radius:var(--border-radius-md);color:var(--color-text);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.search-page__pagination-button:hover:not(:disabled){background:var(--color-surface1);border-color:var(--color-blue);color:var(--color-blue)}.search-page__pagination-button:active:not(:disabled){transform:scale(.95)}.search-page__pagination-button:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.search-page__pagination-button:disabled{opacity:.4;cursor:not-allowed}.search-page__pagination-button--active{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-base);font-weight:700}.search-page__pagination-button--active:hover{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-base)}.search-page__pagination-ellipsis{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:var(--color-subtext0);font-size:var(--font-size-sm);font-weight:600}.search-page__results{display:flex;flex-direction:column;gap:var(--spacing-xs)}@media(max-width:767px){.search-page__results{gap:var(--spacing-sm)}}.search-page__result-card{background-color:var(--color-surface0);border:1px solid var(--color-surface2);border-radius:var(--border-radius-lg);padding:var(--spacing-md);overflow:hidden;transition:all var(--transition-normal)}.search-page__result-card:hover{border-color:var(--color-overlay0)}.search-page__loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-subtext0);font-size:var(--font-size-lg)}.search-page__empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-subtext0);font-size:var(--font-size-md);text-align:center}@media(prefers-reduced-motion:reduce){.search-page__form-field input,.search-page__pagination-button{transition:none}.search-page__pagination-button:active:not(:disabled){transform:none}}@media print{.search-page__form,.search-page__pagination{display:none}.search-page__results-info{border-left-width:2px}.search-page__results{gap:var(--spacing-sm)}}.live-map-page{width:100%;height:100%;overflow:hidden;margin:0!important;border-radius:0!important}.live-map-page__container{display:flex;width:100%;height:100%;gap:0}.live-map-page__sidebar{flex-shrink:0;width:320px;height:100%;overflow:hidden;background-color:var(--color-mantle);border-right:1px solid var(--color-surface-1);display:flex;flex-direction:column}@media(max-width:767px){.live-map-page__sidebar{display:none}}.live-map-page__map{flex:1;position:relative;height:100%;overflow:hidden;background-color:var(--color-base)}.live-map-page__map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:1000}.live-map-page__map-loading p{margin-top:var(--spacing-md);font-size:.875rem;color:var(--color-subtext1)}.live-map-page__pulse-dots{margin:0;color:var(--color-blue);font-size:2rem;font-weight:700;animation:pulse 1.5s ease-in-out infinite}.live-map-page__map-info{position:absolute;top:var(--spacing-md);left:var(--spacing-md);z-index:10;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:.75rem;font-family:var(--font-mono);pointer-events:none;background-color:rgba(var(--color-surface0-rgb),.9);color:var(--color-subtext1);border:1px solid var(--color-overlay0)}.live-map-page__map-provider{white-space:nowrap;display:flex;align-items:center;gap:var(--spacing-sm)}.live-map-page__theme-badge{display:inline-block;font-size:.75rem;padding:.125rem .375rem;background-color:var(--color-surface-0);color:var(--color-subtext-1);border-radius:var(--border-radius-sm);font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@media(min-width:768px)and (max-width:1023px){.live-map-page__sidebar{width:280px}}@media print{.live-map-page__sidebar{display:none}.live-map-page__map{width:100%}.live-map-page__map-loading,.live-map-page__map-info{display:none}}.app{display:flex;flex-direction:column;height:100%;min-height:100vh}.app-content{flex:1;overflow-y:auto;overflow-anchor:none;background-color:var(--color-mantle)}.app-content::-webkit-scrollbar{width:12px;height:12px}.app-content::-webkit-scrollbar-track{background:var(--color-surface0);border-radius:8px}.app-content::-webkit-scrollbar-thumb{background:var(--color-overlay1);border-radius:8px;border:2px solid var(--color-surface0)}.app-content::-webkit-scrollbar-thumb:hover{background:var(--color-overlay2)}.app-content{scrollbar-width:thin;scrollbar-color:var(--color-overlay1) var(--color-surface0)}.context-menu{position:fixed;z-index:10000;min-width:180px;background-color:var(--color-surface0);border:1px solid var(--color-surface2);border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;padding:.25rem .5rem;opacity:0;transform:scale(.95);animation:context-menu-fade-in .15s ease-out forwards}.context-menu:focus{outline:none}@media(max-width:375px){.context-menu{min-width:160px;max-width:calc(100vw - 16px)}}@keyframes context-menu-fade-in{to{opacity:1;transform:scale(1)}}.context-menu__item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem .5rem .25rem;background:none;border:none;border-radius:4px;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1rem;text-align:left;cursor:pointer;transition:background-color .15s ease;min-height:44px}.context-menu__item:focus{outline:none}.context-menu__item:hover:not(:disabled){background-color:var(--color-surface1)}.context-menu__item--focused:not(:disabled){background-color:var(--color-surface1)}.context-menu__item:disabled{color:var(--color-overlay0);cursor:not-allowed;opacity:.5}.context-menu__item--primary{color:var(--color-primary);font-weight:500}.context-menu__item--primary:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-base)}.context-menu__item--primary.context-menu__item--focused:not(:disabled){background-color:var(--color-primary);color:var(--color-base)}.context-menu__item--danger{color:var(--color-error)}.context-menu__item--danger:hover:not(:disabled){background-color:var(--color-error);color:var(--color-base)}.context-menu__item--danger.context-menu__item--focused:not(:disabled){background-color:var(--color-error);color:var(--color-base)}@media(min-width:768px){.context-menu__item{padding:.25rem 1rem .25rem .25rem;min-height:36px}}.context-menu__icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;font-size:16px}.context-menu__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-menu__divider{height:1px;background-color:var(--color-surface2);margin:.25rem 0}.aircraft-messages-modal__backdrop{position:fixed;inset:0;background-color:#000000b3;z-index:10000;display:flex;align-items:center;justify-content:center;padding:0;animation:fade-in .15s ease-out}@media(prefers-reduced-motion:reduce){.aircraft-messages-modal__backdrop{animation:none}}@media(min-width:768px){.aircraft-messages-modal__backdrop{padding:2rem}}.aircraft-messages-modal{background-color:var(--color-base);border-radius:0;border:1px solid var(--color-surface-2);box-shadow:0 10px 40px #00000080;display:flex;flex-direction:column;max-height:100vh;width:100vw;height:100vh;overflow:hidden;animation:slide-up .2s ease-out}@media(prefers-reduced-motion:reduce){.aircraft-messages-modal{animation:none}}@media(min-width:768px){.aircraft-messages-modal{border-radius:12px;border:2px solid var(--color-surface-2);max-width:800px;max-height:90vh;height:auto;width:90vw;animation:scale-in .2s ease-out}}@media(min-width:768px)and (prefers-reduced-motion:reduce){.aircraft-messages-modal{animation:none}}@media(min-width:1024px){.aircraft-messages-modal{max-width:1000px}}.aircraft-messages-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--color-surface-1);background-color:var(--color-surface-0);flex-shrink:0}@media(min-width:768px){.aircraft-messages-modal__header{padding:1.5rem}}.aircraft-messages-modal__title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text);line-height:1.2}@media(min-width:768px){.aircraft-messages-modal__title{font-size:1.5rem}}.aircraft-messages-modal__close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--color-subtext-0);cursor:pointer;flex-shrink:0;transition:all .15s ease}@media(prefers-reduced-motion:reduce){.aircraft-messages-modal__close{transition:none}}.aircraft-messages-modal__close:hover{background-color:var(--color-surface-1);color:var(--color-text)}.aircraft-messages-modal__close:active{background-color:var(--color-surface-2)}.aircraft-messages-modal__close:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.aircraft-messages-modal__close svg{width:24px;height:24px;flex-shrink:0}.aircraft-messages-modal__content{flex:1;overflow-y:auto;padding:1rem}.aircraft-messages-modal__content::-webkit-scrollbar{width:8px;height:8px}.aircraft-messages-modal__content::-webkit-scrollbar-track{background:transparent}.aircraft-messages-modal__content::-webkit-scrollbar-thumb{background:var(--color-overlay0);border-radius:4px}.aircraft-messages-modal__content::-webkit-scrollbar-thumb:hover{background:var(--color-overlay1)}.aircraft-messages-modal__content{scrollbar-width:thin;scrollbar-color:var(--color-overlay0) transparent}@media(min-width:768px){.aircraft-messages-modal__content{padding:1.5rem}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.aircraft-marker--followed{position:relative}.aircraft-marker--followed:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150%;height:150%;border:3px solid var(--color-primary);border-radius:50%;opacity:0;animation:followed-pulse 2s ease-out infinite}.aircraft-marker--followed{filter:drop-shadow(0 0 8px var(--color-primary))}@keyframes followed-pulse{0%{opacity:.8;transform:translate(-50%,-50%) scale(.8)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}.aircraft-marker{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;outline:none;position:relative;display:flex;align-items:center;justify-content:center;transition:transform .5s ease-out;cursor:pointer;z-index:10}.aircraft-marker:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:4px}.aircraft-marker img{display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.aircraft-marker:hover:not(.aircraft-marker--hovered){z-index:100;transform-origin:center center}.aircraft-marker:hover:not(.aircraft-marker--hovered) img{filter:drop-shadow(0 0 4px rgba(0,0,0,.8))}.aircraft-marker--hovered{z-index:150}.aircraft-marker--hovered img{filter:drop-shadow(0 0 12px var(--color-blue)) drop-shadow(0 0 6px var(--color-blue));animation:marker-pulse 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.aircraft-marker--hovered img{filter:drop-shadow(0 0 12px var(--color-blue)) drop-shadow(0 0 6px var(--color-blue));animation:none}}.aircraft-marker:active img{filter:brightness(1.2) drop-shadow(0 0 6px rgb(0,0,0))}@media(prefers-reduced-motion:reduce){.aircraft-marker{transition:none}.aircraft-marker:hover img{filter:none}}.aircraft-marker--alert img{filter:drop-shadow(0 0 6px rgba(255,0,0,.8))}.aircraft-marker--alert:hover img{filter:drop-shadow(0 0 8px rgb(255,0,0))}.aircraft-marker--message img{filter:drop-shadow(0 0 4px rgba(0,255,0,.6))}.aircraft-marker--message:hover img{filter:drop-shadow(0 0 6px rgba(0,255,0,.8))}.aircraft-marker--unread img{filter:drop-shadow(0 0 5px rgba(250,179,135,.8))}.aircraft-marker--unread:hover img{filter:drop-shadow(0 0 7px rgb(250,179,135))}.aircraft-marker--selected{z-index:200}.aircraft-marker--selected img{filter:drop-shadow(0 0 8px rgb(255,255,0))}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.aircraft-marker--selected{animation:pulse 2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.aircraft-marker--selected{animation:none}}@keyframes marker-pulse{0%,to{filter:drop-shadow(0 0 12px var(--color-blue)) drop-shadow(0 0 6px var(--color-blue));transform:scale(1)}50%{filter:drop-shadow(0 0 20px var(--color-blue)) drop-shadow(0 0 10px var(--color-blue)) drop-shadow(0 0 4px var(--color-blue));transform:scale(1.15)}}@media print{.aircraft-marker{display:none}}.aircraft-tooltip{position:absolute;left:50%;z-index:10000;pointer-events:none}.aircraft-tooltip--above{bottom:100%;margin-bottom:10px;transform:translate(-50%) rotate(0)}.aircraft-tooltip--below{top:100%;margin-top:10px;transform:translate(-50%) rotate(0)}.aircraft-tooltip--align-left{left:0!important;right:auto!important}.aircraft-tooltip--align-left.aircraft-tooltip--above{bottom:100%;margin-bottom:10px;transform:translate(0) rotate(0)!important}.aircraft-tooltip--align-left.aircraft-tooltip--below{top:100%;margin-top:10px;transform:translate(0) rotate(0)!important}.aircraft-tooltip--align-right{left:auto!important;right:0!important}.aircraft-tooltip--align-right.aircraft-tooltip--above{bottom:100%;margin-bottom:10px;transform:translate(0) rotate(0)!important}.aircraft-tooltip--align-right.aircraft-tooltip--below{top:100%;margin-top:10px;transform:translate(0) rotate(0)!important}.aircraft-tooltip__content{background:var(--color-surface0);border:1px solid var(--color-surface2);border-radius:6px;padding:6px 10px;box-shadow:0 4px 12px #0000004d;min-width:160px;font-size:12px;line-height:1.4;white-space:nowrap;animation:tooltip-fade-in .15s ease-out}@media(prefers-reduced-motion:reduce){.aircraft-tooltip__content{animation:none}}.aircraft-tooltip__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid var(--color-surface1);color:var(--color-text);font-size:13px}.aircraft-tooltip__match-badge{display:inline-block;padding:2px 6px;background:var(--color-surface2);color:var(--color-subtext1);border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.aircraft-tooltip__row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:3px 0;color:var(--color-text)}.aircraft-tooltip__row--highlight{background:rgba(var(--color-green-rgb),.1);padding:2px 4px;border-radius:3px;margin:6px -4px 0}.aircraft-tooltip__row--highlight .aircraft-tooltip__label,.aircraft-tooltip__row--highlight .aircraft-tooltip__value{color:var(--color-green);font-weight:600}.aircraft-tooltip__row--alert{background:rgba(var(--color-red-rgb),.1);padding:2px 4px;border-radius:3px;margin:6px -4px 0}.aircraft-tooltip__row--alert .aircraft-tooltip__label,.aircraft-tooltip__row--alert .aircraft-tooltip__value{color:var(--color-red);font-weight:600}.aircraft-tooltip__label{color:var(--color-subtext1);font-size:10px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.aircraft-tooltip__value{color:var(--color-text);font-weight:500;text-align:right}@keyframes tooltip-fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:639px){.aircraft-tooltip__content{min-width:150px;font-size:12px;padding:6px 10px}.aircraft-tooltip__header{font-size:13px}.aircraft-tooltip__label{font-size:10px}.aircraft-tooltip__value{font-size:12px}}@media print{.aircraft-tooltip{display:none}}.aircraft-sprite{position:relative;padding:0;border:none;background-color:transparent;outline:none;background-image:url(../static/sprites/spritesheet-mocha-default.png);background-repeat:no-repeat;background-size:345.6px 1425.6px;width:43.2px;height:43.2px;cursor:pointer;transition:transform .1s ease;transform-origin:center center;will-change:transform}.aircraft-sprite.has-messages{background-image:url(../static/sprites/spritesheet-mocha-messages.png)}.aircraft-sprite.has-alerts{background-image:url(../static/sprites/spritesheet-mocha-alerts.png);animation:pulse-alert 2s ease-in-out infinite}.aircraft-sprite.low-altitude{background-image:url(../static/sprites/spritesheet-mocha-lowalt.png)}.aircraft-sprite:hover{z-index:1000;transform:scale(1.15)}.aircraft-sprite:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;z-index:1001}[data-theme=light] .aircraft-sprite{background-image:url(../static/sprites/spritesheet-latte-default.png)}[data-theme=light] .aircraft-sprite.has-messages{background-image:url(../static/sprites/spritesheet-latte-messages.png)}[data-theme=light] .aircraft-sprite.has-alerts{background-image:url(../static/sprites/spritesheet-latte-alerts.png)}[data-theme=light] .aircraft-sprite.low-altitude{background-image:url(../static/sprites/spritesheet-latte-lowalt.png)}@keyframes pulse-alert{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.95}}.map-container{width:100%;height:100%;position:relative;overflow:hidden}.map-container .maplibregl-ctrl-attrib{background-color:rgba(var(--color-surface0-rgb),.8);color:var(--color-subtext1)}.map-container .maplibregl-ctrl-attrib a{color:var(--color-blue)}.map-container .maplibregl-ctrl-attrib a:hover{color:var(--color-sky)}.map-container .maplibregl-ctrl-group{background-color:var(--color-surface0);box-shadow:0 2px 8px #0000004d;border:2px solid var(--color-overlay0);border-radius:var(--border-radius-sm)}.map-container .maplibregl-ctrl-group button{background-color:var(--color-surface0);color:var(--color-text);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .2s ease}.map-container .maplibregl-ctrl-group button .maplibregl-ctrl-icon{background-color:transparent;display:block;width:100%;height:100%;background-size:70%;background-position:center;background-repeat:no-repeat}.map-container .maplibregl-ctrl-group button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon,.map-container .maplibregl-ctrl-group button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{filter:brightness(0) invert(1);opacity:.7}[data-theme=light] .map-container .maplibregl-ctrl-group button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon,[data-theme=light] .map-container .maplibregl-ctrl-group button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{filter:brightness(0) invert(.3);opacity:.8}.map-container .maplibregl-ctrl-group button:hover{background-color:var(--color-surface1);border-color:var(--color-overlay1)}.map-container .maplibregl-ctrl-group button:hover .maplibregl-ctrl-icon{opacity:1}.map-container .maplibregl-ctrl-group button:hover.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon,.map-container .maplibregl-ctrl-group button:hover.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{filter:brightness(0) invert(.5) sepia(1) saturate(5) hue-rotate(175deg);opacity:1}.map-container .maplibregl-ctrl-group button:active{background-color:var(--color-surface2)}.map-container .maplibregl-ctrl-group button:disabled{cursor:not-allowed;opacity:.4}.map-container .maplibregl-ctrl-group button:disabled .maplibregl-ctrl-icon{opacity:.3}.map-container .maplibregl-ctrl-group button+button{border-top:1px solid var(--color-overlay0)}.map-container .maplibregl-ctrl-scale{background-color:rgba(var(--color-surface0-rgb),.8);color:var(--color-text);border:2px solid var(--color-overlay0)}.map-container .maplibregl-popup .maplibregl-popup-content{background-color:var(--color-surface0);color:var(--color-text);padding:var(--spacing-md);border-radius:var(--border-radius-md);box-shadow:0 4px 12px #0000004d}.map-container .maplibregl-popup .maplibregl-popup-tip{border-top-color:var(--color-surface0)}.map-container .maplibregl-popup .maplibregl-popup-close-button{color:var(--color-subtext0);font-size:1.25rem;padding:var(--spacing-xs)}.map-container .maplibregl-popup .maplibregl-popup-close-button:hover{background-color:var(--color-surface1);color:var(--color-text)}.map-container .map-marker{cursor:pointer;transition:transform .2s ease}.map-container .map-marker:hover{transform:scale(1.1);z-index:10}.map-container .map-marker--selected{z-index:20;transform:scale(1.15)}.map-container .map-marker--alert{animation:pulse-alert 2s ease-in-out infinite}.map-container .map-datablock{background-color:rgba(var(--color-surface0-rgb),.9);color:var(--color-text);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:.75rem;font-family:var(--font-mono);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;box-shadow:0 2px 4px #0000004d;border:1px solid var(--color-overlay0)}.map-container .map-datablock--extended{font-size:.7rem;line-height:1.3}.map-container .map-datablock--alert{border-color:var(--color-red);background-color:rgba(var(--color-red-rgb),.1)}.map-container--loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:4px solid var(--color-overlay0);border-top-color:var(--color-blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes pulse-alert{0%,to{opacity:1;filter:drop-shadow(0 0 0 transparent)}50%{opacity:.8;filter:drop-shadow(0 0 8px var(--color-red))}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@media(max-width:767px){.map-container .maplibregl-ctrl-group button{min-width:44px;min-height:44px}.map-container .map-datablock{font-size:.8rem;padding:var(--spacing-sm) var(--spacing-md)}.map-container .map-datablock--extended{display:none}}@media print{.map-container .maplibregl-ctrl-group,.map-container .maplibregl-ctrl-scale{display:none}}.aircraft-list{display:flex;flex-direction:column;height:100%;background-color:var(--color-mantle);overflow:hidden}.aircraft-list__header{flex-shrink:0;padding:1rem;border-bottom:1px solid var(--color-surface1);background-color:var(--color-mantle)}.aircraft-list__stats{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.aircraft-list__stat{font-size:.875rem;color:var(--color-text)}.aircraft-list__stat strong{font-weight:600;color:var(--color-blue)}.aircraft-list__stat--muted{color:var(--color-subtext-0)}.aircraft-list__filters{flex-shrink:0;padding:1rem;border-bottom:1px solid var(--color-surface1);background-color:var(--color-mantle);display:flex;flex-direction:column;gap:.75rem}.aircraft-list__search{width:100%;padding:.5rem .75rem;background-color:var(--color-base);border:1px solid var(--color-surface2);border-radius:6px;color:var(--color-text);font-size:.875rem;transition:all .15s ease}@media(prefers-reduced-motion:reduce){.aircraft-list__search{transition:none}}.aircraft-list__search::placeholder{color:var(--color-subtext0)}.aircraft-list__search:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 2px rgba(var(--color-blue-rgb),.2)}.aircraft-list__filter-dropdown{position:relative}.aircraft-list__filter-button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background-color:var(--color-base);border:1px solid var(--color-surface2);border-radius:6px;color:var(--color-text);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}@media(prefers-reduced-motion:reduce){.aircraft-list__filter-button{transition:none}}.aircraft-list__filter-button:hover,.aircraft-list__filter-button--open{border-color:var(--color-blue);background-color:var(--color-surface0)}.aircraft-list__filter-button svg:first-child{color:var(--color-blue)}.aircraft-list__filter-badge{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background-color:var(--color-blue);color:var(--color-base);font-size:.75rem;font-weight:600;border-radius:10px}.aircraft-list__filter-chevron{font-size:.75rem;color:var(--color-subtext0);transition:transform .15s ease}@media(prefers-reduced-motion:reduce){.aircraft-list__filter-chevron{transition:none}}.aircraft-list__filter-button--open .aircraft-list__filter-chevron{transform:rotate(180deg)}.aircraft-list__filter-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background-color:var(--color-surface0);border:1px solid var(--color-surface2);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.aircraft-list__filter-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;transition:background-color .15s ease}@media(prefers-reduced-motion:reduce){.aircraft-list__filter-toggle{transition:none}}.aircraft-list__filter-toggle:hover{background-color:var(--color-surface1)}.aircraft-list__filter-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-blue)}.aircraft-list__filter-toggle span{flex:1}.aircraft-list__filter-divider{height:1px;background-color:var(--color-surface2);margin:.25rem 0}.aircraft-list__filter-clear{padding:.5rem;background-color:transparent;border:none;border-radius:4px;color:var(--color-red);font-size:.875rem;font-weight:500;cursor:pointer;text-align:left;transition:background-color .15s ease}@media(prefers-reduced-motion:reduce){.aircraft-list__filter-clear{transition:none}}.aircraft-list__filter-clear:hover{background-color:var(--color-surface1)}.aircraft-list__actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.aircraft-list__mark-all-read{padding:.5rem 1rem;background-color:var(--color-blue);border:1px solid var(--color-blue);border-radius:6px;color:var(--color-base);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease}@media(prefers-reduced-motion:reduce){.aircraft-list__mark-all-read{transition:none}}.aircraft-list__mark-all-read:hover{background-color:var(--color-sapphire);border-color:var(--color-sapphire);transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--color-blue-rgb),.3)}.aircraft-list__mark-all-read:active{transform:translateY(0)}@media(prefers-reduced-motion:reduce){.aircraft-list__mark-all-read:hover,.aircraft-list__mark-all-read:active{transform:none}}.aircraft-list__clear-filters{padding:.5rem 1rem;background-color:var(--color-surface0);border:1px solid var(--color-surface2);border-radius:6px;color:var(--color-text);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}@media(prefers-reduced-motion:reduce){.aircraft-list__clear-filters{transition:none}}.aircraft-list__clear-filters:hover{background-color:var(--color-surface1);border-color:var(--color-blue)}.aircraft-list__clear-filters:active{background-color:var(--color-surface2)}.aircraft-list__clear-filters:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.aircraft-list__table-container{flex:1;overflow-y:auto;overflow-x:auto}.aircraft-list__table-container::-webkit-scrollbar{width:8px;height:8px}.aircraft-list__table-container::-webkit-scrollbar-track{background:transparent}.aircraft-list__table-container::-webkit-scrollbar-thumb{background:var(--color-overlay0);border-radius:4px}.aircraft-list__table-container::-webkit-scrollbar-thumb:hover{background:var(--color-overlay1)}.aircraft-list__table-container{scrollbar-width:thin;scrollbar-color:var(--color-overlay0) transparent}.aircraft-list__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:var(--color-subtext-0);font-size:.875rem}.aircraft-list__empty p{margin:0}.aircraft-list__table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.aircraft-list__table thead{position:sticky;top:0;z-index:10}.aircraft-list__table thead tr{background-color:var(--color-surface0);border-bottom:2px solid var(--color-surface2);box-shadow:0 2px 4px #0000004d}.aircraft-list__table th{padding:0;text-align:left;font-weight:600;color:var(--color-subtext-1);background-color:var(--color-surface0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);position:relative}.aircraft-list__table th:nth-child(1){min-width:100px;width:auto}.aircraft-list__table th:nth-child(2){min-width:70px;width:80px}.aircraft-list__table th:nth-child(3){min-width:60px;width:70px}.aircraft-list__table th:nth-child(4){min-width:40px;width:50px;text-align:center}.aircraft-list__table th:nth-child(5){min-width:40px;width:50px;text-align:center}.aircraft-list__table tbody tr{border-bottom:1px solid var(--color-surface1)}.aircraft-list__table td{padding:.75rem .5rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aircraft-list__sort-button{width:100%;padding:.75rem .5rem;background-color:var(--color-surface0);border:none;color:var(--color-subtext-1);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:color .15s ease;text-align:left}@media(prefers-reduced-motion:reduce){.aircraft-list__sort-button{transition:none}}.aircraft-list__sort-button:hover,.aircraft-list__sort-button--active{color:var(--color-blue)}.aircraft-list__sort-button:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.aircraft-list__sort-icon{font-size:1rem;line-height:1}.aircraft-list__row{cursor:pointer;transition:background-color .15s ease}@media(prefers-reduced-motion:reduce){.aircraft-list__row{transition:none}}.aircraft-list__row:hover{background-color:var(--color-surface1);color:var(--color-blue)}.aircraft-list__row--hovered{background-color:var(--color-surface1)}.aircraft-list__row--alert{border-left:3px solid var(--color-red)}.aircraft-list__callsign{font-family:var(--font-mono);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aircraft-list__altitude,.aircraft-list__speed{font-family:var(--font-mono);text-align:right}.aircraft-list__messages,.aircraft-list__alerts{font-family:var(--font-mono);text-align:center}.aircraft-list__badge{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;font-size:.5rem;font-weight:600;margin-left:.25rem;vertical-align:middle}.aircraft-list__badge--messages{background-color:var(--color-green);color:var(--color-base)}.aircraft-list__alert-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 .375rem;background-color:var(--color-red);color:var(--color-base);font-weight:600;border-radius:9px;font-size:.75rem}@media(max-width:767px){.aircraft-list__table{font-size:.8125rem}.aircraft-list__table td,.aircraft-list__table th{padding:.5rem .375rem}.aircraft-list__callsign{min-width:100px}}@media print{.aircraft-list__filters{display:none}.aircraft-list__table-container{overflow:visible}.aircraft-list__row{page-break-inside:avoid}}
