@import url("https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Roboto+Mono:wght@400;500&display=swap");*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inline{display:inline}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.flex-shrink{flex-shrink:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-wrap{flex-wrap:wrap}.gap-2{gap:.5rem}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:solid}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--md-sys-color-primary:#80d8e8;--md-sys-color-on-primary:#003640;--md-sys-color-primary-container:#004e5c;--md-sys-color-on-primary-container:#b3ebfa;--md-sys-color-secondary:#b1cad0;--md-sys-color-on-secondary:#1b3439;--md-sys-color-secondary-container:#324b50;--md-sys-color-on-secondary-container:#cce7ed;--md-sys-color-tertiary:#a8d5a2;--md-sys-color-on-tertiary:#14381a;--md-sys-color-tertiary-container:#2a4f2f;--md-sys-color-on-tertiary-container:#c4f1bd;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-error-container:#93000a;--md-sys-color-on-error-container:#ffdad6;--md-sys-color-background:#0f1117;--md-sys-color-on-background:#e0e7ea;--md-sys-color-surface:#0f1117;--md-sys-color-on-surface:#e0e7ea;--md-sys-color-surface-variant:#1f2d31;--md-sys-color-on-surface-variant:#8fadb4;--md-sys-color-outline:#4a6268;--md-sys-color-outline-variant:#1f2d31;--md-sys-color-surface-container-lowest:#0a0e12;--md-sys-color-surface-container-low:#131820;--md-sys-color-surface-container:#171d25;--md-sys-color-surface-container-high:#1c2530;--md-sys-color-surface-container-highest:#21303b;--md-sys-color-inverse-surface:#e0e7ea;--md-sys-color-inverse-on-surface:#2b3840;--md-sys-color-inverse-primary:#006878;--md-sys-elevation-1:color-mix(in srgb,var(--md-sys-color-primary) 5%,var(--md-sys-color-surface));--md-sys-elevation-2:color-mix(in srgb,var(--md-sys-color-primary) 8%,var(--md-sys-color-surface));--md-sys-elevation-3:color-mix(in srgb,var(--md-sys-color-primary) 11%,var(--md-sys-color-surface));--md-sys-elevation-4:color-mix(in srgb,var(--md-sys-color-primary) 12%,var(--md-sys-color-surface));--md-sys-elevation-5:color-mix(in srgb,var(--md-sys-color-primary) 14%,var(--md-sys-color-surface));--md-sys-shape-none:0px;--md-sys-shape-extra-small:4px;--md-sys-shape-small:8px;--md-sys-shape-medium:12px;--md-sys-shape-large:16px;--md-sys-shape-extra-large:28px;--md-sys-shape-full:9999px;--md-motion-easing-standard:cubic-bezier(0.2,0,0,1);--md-motion-easing-emphasized:cubic-bezier(0.2,0,0,1);--md-motion-easing-emphasized-decel:cubic-bezier(0.05,0.7,0.1,1);--md-motion-easing-emphasized-accel:cubic-bezier(0.3,0,0.8,0.15);--md-motion-duration-short1:50ms;--md-motion-duration-short2:100ms;--md-motion-duration-medium1:200ms;--md-motion-duration-medium2:300ms;--md-motion-duration-long1:400ms;--md-motion-duration-long2:500ms;--md-typescale-display-small-font:"Google Sans",sans-serif;--md-typescale-display-small-size:36px;--md-typescale-display-small-line:44px;--md-typescale-display-small-weight:400;--md-typescale-headline-medium-font:"Google Sans",sans-serif;--md-typescale-headline-medium-size:28px;--md-typescale-headline-medium-line:36px;--md-typescale-headline-medium-weight:400;--md-typescale-title-large-font:"Google Sans",sans-serif;--md-typescale-title-large-size:22px;--md-typescale-title-large-line:28px;--md-typescale-title-large-weight:400;--md-typescale-title-medium-font:"Google Sans",sans-serif;--md-typescale-title-medium-size:16px;--md-typescale-title-medium-line:24px;--md-typescale-title-medium-weight:500;--md-typescale-title-small-font:"Google Sans",sans-serif;--md-typescale-title-small-size:14px;--md-typescale-title-small-line:20px;--md-typescale-title-small-weight:500;--md-typescale-body-large-font:"Google Sans",sans-serif;--md-typescale-body-large-size:16px;--md-typescale-body-large-line:24px;--md-typescale-body-large-weight:400;--md-typescale-body-medium-font:"Google Sans",sans-serif;--md-typescale-body-medium-size:14px;--md-typescale-body-medium-line:20px;--md-typescale-body-medium-weight:400;--md-typescale-label-large-font:"Google Sans",sans-serif;--md-typescale-label-large-size:14px;--md-typescale-label-large-line:20px;--md-typescale-label-large-weight:500;--md-typescale-label-large-track:0.1px;--md-typescale-label-medium-font:"Google Sans",sans-serif;--md-typescale-label-medium-size:12px;--md-typescale-label-medium-line:16px;--md-typescale-label-medium-weight:500;--md-typescale-label-medium-track:0.5px;--md-typescale-label-small-font:"Google Sans",sans-serif;--md-typescale-label-small-size:11px;--md-typescale-label-small-line:16px;--md-typescale-label-small-weight:500;--md-typescale-label-small-track:0.5px;--md-typescale-mono-font:"Roboto Mono",monospace;--md-typescale-mono-size:13px;--md-typescale-mono-line:20px;--md-typescale-mono-weight:400}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--md-typescale-body-large-font);font-size:var(--md-typescale-body-large-size);line-height:var(--md-typescale-body-large-line);font-weight:var(--md-typescale-body-large-weight);background-color:var(--md-sys-color-background);color:var(--md-sys-color-on-background);min-height:100dvh;overflow-x:hidden}a{color:var(--md-sys-color-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit}button{border:none;background:none;cursor:pointer;outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--md-sys-color-surface-container-low)}::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline);border-radius:var(--md-sys-shape-full)}::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-on-surface-variant)}.type-display-small{font-family:var(--md-typescale-display-small-font);font-size:var(--md-typescale-display-small-size);line-height:var(--md-typescale-display-small-line);font-weight:var(--md-typescale-display-small-weight)}.type-headline-medium{font-family:var(--md-typescale-headline-medium-font);font-size:var(--md-typescale-headline-medium-size);line-height:var(--md-typescale-headline-medium-line);font-weight:var(--md-typescale-headline-medium-weight)}.type-title-large{font-family:var(--md-typescale-title-large-font);font-size:var(--md-typescale-title-large-size);line-height:var(--md-typescale-title-large-line);font-weight:var(--md-typescale-title-large-weight)}.type-title-medium{font-family:var(--md-typescale-title-medium-font);font-size:var(--md-typescale-title-medium-size);line-height:var(--md-typescale-title-medium-line);font-weight:var(--md-typescale-title-medium-weight)}.type-title-small{font-family:var(--md-typescale-title-small-font);font-size:var(--md-typescale-title-small-size);line-height:var(--md-typescale-title-small-line);font-weight:var(--md-typescale-title-small-weight)}.type-body-large{font-family:var(--md-typescale-body-large-font);font-size:var(--md-typescale-body-large-size);line-height:var(--md-typescale-body-large-line);font-weight:var(--md-typescale-body-large-weight)}.type-body-medium{font-family:var(--md-typescale-body-medium-font);font-size:var(--md-typescale-body-medium-size);line-height:var(--md-typescale-body-medium-line);font-weight:var(--md-typescale-body-medium-weight)}.type-label-large{font-family:var(--md-typescale-label-large-font);font-size:var(--md-typescale-label-large-size);line-height:var(--md-typescale-label-large-line);font-weight:var(--md-typescale-label-large-weight);letter-spacing:var(--md-typescale-label-large-track)}.type-label-medium{font-family:var(--md-typescale-label-medium-font);font-size:var(--md-typescale-label-medium-size);line-height:var(--md-typescale-label-medium-line);font-weight:var(--md-typescale-label-medium-weight);letter-spacing:var(--md-typescale-label-medium-track)}.type-label-small{font-family:var(--md-typescale-label-small-font);font-size:var(--md-typescale-label-small-size);line-height:var(--md-typescale-label-small-line);font-weight:var(--md-typescale-label-small-weight);letter-spacing:var(--md-typescale-label-small-track)}.type-mono{font-family:var(--md-typescale-mono-font);font-size:var(--md-typescale-mono-size);line-height:var(--md-typescale-mono-line);font-weight:var(--md-typescale-mono-weight)}.md-state-layer{position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;transition:opacity var(--md-motion-duration-short2) var(--md-motion-easing-standard);pointer-events:none}.md-ripple-container{position:relative;overflow:hidden}.md-ripple-container:focus-within .md-state-layer{opacity:.12}.md-ripple-container:hover .md-state-layer{opacity:.08}.md-ripple,.md-ripple-container:active .md-state-layer{opacity:.12}.md-ripple{position:absolute;border-radius:var(--md-sys-shape-full);background:currentColor;transform:scale(0);pointer-events:none;animation:md-ripple-expand var(--md-motion-duration-long1) linear forwards}.md-nav-rail{position:fixed;top:0;left:0;width:80px;height:100dvh;background:var(--md-sys-elevation-1);border-radius:0 var(--md-sys-shape-large) var(--md-sys-shape-large) 0;display:flex;flex-direction:column;align-items:center;padding:12px 0 16px;z-index:100;border-right:1px solid var(--md-sys-color-outline-variant);overflow:hidden;transition:width var(--md-motion-duration-medium2) var(--md-motion-easing-emphasized)}.md-nav-rail__logo{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--md-sys-shape-medium);color:var(--md-sys-color-primary);margin-bottom:4px}.md-nav-rail__divider{width:56px;height:1px;background:var(--md-sys-color-outline-variant);margin:8px 0}.md-nav-rail__items{flex-direction:column;flex:1}.md-nav-item,.md-nav-rail__items{display:flex;align-items:center;gap:4px;width:100%}.md-nav-item{position:relative;flex-direction:column;padding:4px 0;cursor:pointer;color:var(--md-sys-color-on-surface-variant);transition:color var(--md-motion-duration-short2) var(--md-motion-easing-standard)}.md-nav-item:hover{color:var(--md-sys-color-on-surface)}.md-nav-item.active{color:var(--md-sys-color-secondary)}.md-nav-item__indicator{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:32px;border-radius:var(--md-sys-shape-full);transition:background-color var(--md-motion-duration-medium1) var(--md-motion-easing-emphasized);overflow:hidden}.md-nav-item.active .md-nav-item__indicator{background-color:var(--md-sys-color-secondary-container)}.md-nav-item__icon{position:relative;z-index:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:18px}.md-nav-item__label{font-family:var(--md-typescale-label-medium-font);font-size:var(--md-typescale-label-medium-size);line-height:var(--md-typescale-label-medium-line);font-weight:var(--md-typescale-label-medium-weight);letter-spacing:var(--md-typescale-label-medium-track)}.md-nav-rail__region{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-top:1px solid var(--md-sys-color-outline-variant);width:100%}.region-dot{width:8px;height:8px;border-radius:var(--md-sys-shape-full);background:var(--md-sys-color-tertiary);animation:region-pulse 2s ease-in-out infinite;display:inline-block;margin-right:4px}.region-badge{display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-tertiary);font-family:var(--md-typescale-label-medium-font);font-size:var(--md-typescale-label-medium-size);font-weight:var(--md-typescale-label-medium-weight);letter-spacing:var(--md-typescale-label-medium-track)}.region-name{color:var(--md-sys-color-on-surface-variant);font-family:var(--md-typescale-label-small-font);font-size:10px;line-height:var(--md-typescale-label-small-line);font-weight:var(--md-typescale-label-small-weight);letter-spacing:var(--md-typescale-label-small-track);text-align:center}.md-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:80px;background:var(--md-sys-elevation-2);border-top:1px solid var(--md-sys-color-outline-variant);display:none;align-items:center;justify-content:space-around;z-index:100;padding:0 8px env(safe-area-inset-bottom,0)}.md-bottom-nav__item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:12px 0 0;cursor:pointer;color:var(--md-sys-color-on-surface-variant);transition:color var(--md-motion-duration-short2) var(--md-motion-easing-standard)}.md-bottom-nav__item.active{color:var(--md-sys-color-secondary)}.md-bottom-nav__indicator{display:flex;align-items:center;justify-content:center;width:64px;height:32px;border-radius:var(--md-sys-shape-full);transition:background-color var(--md-motion-duration-medium1) var(--md-motion-easing-emphasized);overflow:hidden;position:relative}.md-bottom-nav__item.active .md-bottom-nav__indicator{background:var(--md-sys-color-secondary-container)}.md-bottom-nav__label{font-family:var(--md-typescale-label-medium-font);font-size:var(--md-typescale-label-medium-size);line-height:var(--md-typescale-label-medium-line);font-weight:var(--md-typescale-label-medium-weight);letter-spacing:var(--md-typescale-label-medium-track)}.md-fab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:var(--md-sys-shape-extra-large);cursor:pointer;border:none;font-family:var(--md-typescale-label-large-font);font-size:var(--md-typescale-label-large-size);font-weight:var(--md-typescale-label-large-weight);letter-spacing:var(--md-typescale-label-large-track);overflow:hidden;transition:box-shadow var(--md-motion-duration-short2) var(--md-motion-easing-standard),transform var(--md-motion-duration-short1) var(--md-motion-easing-standard);box-shadow:0 1px 2px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.15);min-width:56px}.md-fab:hover{box-shadow:0 2px 3px rgba(0,0,0,.3),0 6px 10px rgba(0,0,0,.15)}.md-fab:active{transform:scale(.98)}.md-fab:disabled{opacity:.38;cursor:not-allowed;transform:none;box-shadow:none}.md-fab--loading{pointer-events:none}.md-fab--compact{padding:0;width:56px;height:56px}.md-fab--compact,.md-nav-rail .md-fab{border-radius:var(--md-sys-shape-large)}.md-nav-rail .md-fab{width:calc(100% - 16px);flex-direction:column;padding:12px 8px;gap:4px;font-size:var(--md-typescale-label-medium-size);margin:8px}.md-text-field{position:relative;width:100%}.md-text-field__container{position:relative;display:flex;align-items:center;height:56px;background:transparent;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-extra-small);transition:border-color var(--md-motion-duration-short2) var(--md-motion-easing-standard),border-width var(--md-motion-duration-short2) var(--md-motion-easing-standard);overflow:visible}.md-text-field__container:focus-within{border-color:var(--md-sys-color-primary);border-width:2px}.md-text-field--error .md-text-field__container{border-color:var(--md-sys-color-error)}.md-text-field--error .md-text-field__container:focus-within{border-color:var(--md-sys-color-error)}.md-text-field__leading-icon{display:flex;align-items:center;justify-content:center;width:48px;height:100%;color:var(--md-sys-color-on-surface-variant);flex-shrink:0;transition:color var(--md-motion-duration-short2) var(--md-motion-easing-standard)}.md-text-field__container:focus-within .md-text-field__leading-icon{color:var(--md-sys-color-primary)}.md-text-field--error .md-text-field__leading-icon{color:var(--md-sys-color-error)}.md-text-field__input{flex:1;height:100%;background:transparent;border:none;outline:none;color:var(--md-sys-color-on-surface);font-family:var(--md-typescale-body-large-font);font-size:var(--md-typescale-body-large-size);line-height:var(--md-typescale-body-large-line);padding:16px 16px 16px 0;caret-color:var(--md-sys-color-primary)}.md-text-field--has-leading .md-text-field__input{padding-left:0}.md-text-field__label{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-family:var(--md-typescale-body-large-font);font-size:var(--md-typescale-body-large-size);line-height:1;color:var(--md-sys-color-on-surface-variant);pointer-events:none;transition:top var(--md-motion-duration-medium1) var(--md-motion-easing-emphasized),font-size var(--md-motion-duration-medium1) var(--md-motion-easing-emphasized),color var(--md-motion-duration-short2) var(--md-motion-easing-standard),left var(--md-motion-duration-medium1) var(--md-motion-easing-emphasized);background:var(--md-sys-color-surface);padding:0 4px;white-space:nowrap}.md-text-field--has-leading .md-text-field__label{left:48px}.md-text-field--filled .md-text-field__label,.md-text-field__container:focus-within .md-text-field__label{top:0;font-size:12px;left:12px;color:var(--md-sys-color-primary)}.md-text-field--error .md-text-field--filled .md-text-field__label,.md-text-field--error .md-text-field__container:focus-within .md-text-field__label{color:var(--md-sys-color-error)}.md-text-field--has-leading .md-text-field__container:focus-within .md-text-field__label,.md-text-field--has-leading.md-text-field--filled .md-text-field__label{left:12px}.md-text-field__trailing{display:flex;align-items:center;padding-right:12px;gap:4px}.md-text-field__clear-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--md-sys-shape-full);background:none;border:none;color:var(--md-sys-color-on-surface-variant);cursor:pointer;position:relative;overflow:hidden;transition:color var(--md-motion-duration-short2) var(--md-motion-easing-standard)}.md-text-field__clear-btn:hover{color:var(--md-sys-color-on-surface)}.md-text-field__supporting{font-family:var(--md-typescale-label-medium-font);font-size:var(--md-typescale-label-medium-size);line-height:var(--md-typescale-label-medium-line);letter-spacing:var(--md-typescale-label-medium-track);color:var(--md-sys-color-on-surface-variant);margin-top:4px;padding:0 16px}.md-text-field--error .md-text-field__supporting{color:var(--md-sys-color-error)}.md-chip-group{display:flex;flex-direction:column;gap:6px}.md-chip-group__label{font-family:var(--md-typescale-label-small-font);font-size:var(--md-typescale-label-small-size);line-height:var(--md-typescale-label-small-line);font-weight:var(--md-typescale-label-small-weight);letter-spacing:var(--md-typescale-label-small-track);color:var(--md-sys-color-on-surface-variant);padding:0 2px;text-transform:uppercase}.md-chip-row{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:4px}.md-chip{position:relative;display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px;border-radius:var(--md-sys-shape-full);border:1px solid var(--md-sys-color-outline);background:transparent;color:var(--md-sys-color-on-surface-variant);font-family:var(--md-typescale-label-large-font);font-size:var(--md-typescale-label-large-size);font-weight:var(--md-typescale-label-large-weight);letter-spacing:var(--md-typescale-label-large-track);cursor:pointer;white-space:nowrap;overflow:hidden;transition:background-color var(--md-motion-duration-medium1) var(--md-motion-easing-emphasized-decel),border-color var(--md-motion-duration-medium1) var(--md-motion-easing-emphasized-decel),color var(--md-motion-duration-short2) var(--md-motion-easing-standard);flex-shrink:0}.md-chip:hover{color:var(--md-sys-color-on-surface)}.md-chip.selected{background:var(--md-sys-color-secondary-container);border-color:transparent;color:var(--md-sys-color-on-secondary-container);padding-left:8px}.md-chip__checkmark{display:flex;align-items:center;width:0;overflow:hidden;transition:width var(--md-motion-duration-medium1) var(--md-motion-easing-emphasized-decel);font-size:14px}.md-chip.selected .md-chip__checkmark{width:18px}.md-chip--add{border-style:dashed;color:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary);gap:6px}.md-custom-port-input{display:flex;align-items:center;height:32px;padding:0 8px 0 12px;border-radius:var(--md-sys-shape-full);border:2px solid var(--md-sys-color-primary);background:var(--md-sys-color-primary-container);gap:8px;animation:slide-up-fade var(--md-motion-duration-medium2) var(--md-motion-easing-emphasized-decel)}.md-custom-port-input input{background:none;border:none;outline:none;color:var(--md-sys-color-on-primary-container);font-family:var(--md-typescale-mono-font);font-size:13px;width:60px}.md-custom-port-input__btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--md-sys-shape-full);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:12px;cursor:pointer;border:none;flex-shrink:0}.md-segmented-button{display:inline-flex;align-items:center;height:40px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-full);overflow:hidden}.md-segmented-button__segment{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;height:100%;padding:0 20px;background:transparent;border:none;border-right:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface);font-family:var(--md-typescale-label-large-font);font-size:var(--md-typescale-label-large-size);font-weight:var(--md-typescale-label-large-weight);letter-spacing:var(--md-typescale-label-large-track);cursor:pointer;overflow:hidden;transition:background-color var(--md-motion-duration-medium1) var(--md-motion-easing-emphasized),color var(--md-motion-duration-short2) var(--md-motion-easing-standard)}.md-segmented-button__segment:last-child{border-right:none}.md-segmented-button__segment.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.md-segmented-button__check{font-size:14px;width:0;overflow:hidden;transition:width var(--md-motion-duration-medium1) var(--md-motion-easing-emphasized-decel)}.md-segmented-button__segment.active .md-segmented-button__check{width:18px}.md-card-filled{background:var(--md-sys-color-surface-container-highest);border-radius:var(--md-sys-shape-medium);overflow:hidden}.md-card-elevated{background:var(--md-sys-elevation-2);border-radius:4px var(--md-sys-shape-large) var(--md-sys-shape-large) var(--md-sys-shape-large);box-shadow:0 1px 2px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.15);overflow:hidden}.md-card-outlined{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-medium);overflow:hidden}.md-card-terminal{background:var(--md-sys-color-surface-container-lowest);border-radius:4px var(--md-sys-shape-large) var(--md-sys-shape-large) var(--md-sys-shape-large);border:1px solid var(--md-sys-color-outline-variant);overflow:hidden;position:relative}.md-card-terminal:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,color-mix(in srgb,var(--md-sys-color-outline) 40%,transparent) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;opacity:.5}.md-progress-linear{position:relative;width:100%;height:4px;background:color-mix(in srgb,var(--md-sys-color-primary) 20%,transparent);overflow:hidden}.md-progress-linear__track{position:absolute;top:0;left:0;height:100%;background:var(--md-sys-color-primary);border-radius:0 2px 2px 0;animation:progress-wave 1.5s ease-in-out infinite;transform-origin:left}.md-progress-circular{width:16px;height:16px;display:inline-flex;animation:spin .8s linear infinite;flex-shrink:0}.md-progress-circular svg{width:100%;height:100%}.md-progress-circular circle{stroke:var(--md-sys-color-primary);stroke-linecap:round;fill:none;stroke-width:2;stroke-dasharray:40;stroke-dashoffset:10;animation:circular-dash 1.2s ease-in-out infinite}.md-diagnosis-strip{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:0 var(--md-sys-shape-small) var(--md-sys-shape-small) 0;border-left:3px solid;animation:slide-up-fade var(--md-motion-duration-medium2) var(--md-motion-easing-emphasized-decel)}.md-diagnosis-strip--success{background:var(--md-sys-color-tertiary-container);border-left-color:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary-container)}.md-diagnosis-strip--warning{background:var(--md-sys-color-secondary-container);border-left-color:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary-container)}.md-diagnosis-strip--error{background:var(--md-sys-color-error-container);border-left-color:var(--md-sys-color-error);color:var(--md-sys-color-on-error-container)}.md-diagnosis-strip--info{background:var(--md-sys-color-primary-container);border-left-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary-container)}.md-diagnosis-strip__icon{font-size:18px;flex-shrink:0;margin-top:1px}.md-diagnosis-strip__body{flex:1;display:flex;flex-direction:column;gap:4px}.md-diagnosis-strip__title{font-family:var(--md-typescale-title-small-font);font-size:var(--md-typescale-title-small-size);font-weight:var(--md-typescale-title-small-weight)}.md-diagnosis-strip__desc{font-family:var(--md-typescale-body-medium-font);font-size:var(--md-typescale-body-medium-size);line-height:var(--md-typescale-body-medium-line);opacity:.85}.md-diagnosis-strip__action{background:none;border:none;color:inherit;font-family:var(--md-typescale-label-large-font);font-size:var(--md-typescale-label-large-size);font-weight:var(--md-typescale-label-large-weight);letter-spacing:var(--md-typescale-label-large-track);cursor:pointer;padding:4px;border-radius:var(--md-sys-shape-extra-small);opacity:.9;white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:4px}.md-diagnosis-strip__action:hover{opacity:1}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--md-sys-shape-full);font-family:var(--md-typescale-label-medium-font);font-size:var(--md-typescale-label-medium-size);font-weight:var(--md-typescale-label-medium-weight);letter-spacing:var(--md-typescale-label-medium-track);text-transform:uppercase}.status-badge--open{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.status-badge--closed{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.status-badge--timeout{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.status-badge--error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.status-badge--checking{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant)}.pipeline{display:flex;align-items:center;gap:4px;overflow-x:auto;padding:12px 0;scrollbar-width:none}.pipeline::-webkit-scrollbar{display:none}.pipeline-node{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.pipeline-node__circle{width:28px;height:28px;border-radius:var(--md-sys-shape-full);border:2px solid var(--md-sys-color-outline);background:transparent;display:flex;align-items:center;justify-content:center;font-size:11px;transition:background-color var(--md-motion-duration-medium1) var(--md-motion-easing-emphasized),border-color var(--md-motion-duration-medium1) var(--md-motion-easing-emphasized)}.pipeline-node__circle--pending{border-color:var(--md-sys-color-outline);color:var(--md-sys-color-outline)}.pipeline-node__circle--checking{border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary);animation:node-pulse 1s ease-in-out infinite}.pipeline-node__circle--open{background:var(--md-sys-color-tertiary-container);border-color:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary-container)}.pipeline-node__circle--closed{background:var(--md-sys-color-error-container);border-color:var(--md-sys-color-error);color:var(--md-sys-color-on-error-container)}.pipeline-node__circle--timeout{background:var(--md-sys-color-secondary-container);border-color:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary-container)}.pipeline-node__circle--error{background:var(--md-sys-color-error-container);border-color:var(--md-sys-color-error);color:var(--md-sys-color-on-error-container)}.pipeline-node__label{font-family:var(--md-typescale-mono-font);font-size:10px;color:var(--md-sys-color-on-surface-variant);white-space:nowrap}.pipeline-connector{display:flex;align-items:center;gap:2px;flex-shrink:0;color:var(--md-sys-color-outline);font-size:10px;margin-top:-16px;padding:0 2px}.pipeline-connector__line{width:16px;height:1px;background:currentColor}.terminal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);gap:12px;flex-wrap:wrap;position:relative;z-index:1;background:var(--md-sys-color-surface-container-lowest)}.terminal-header__label{font-family:var(--md-typescale-label-medium-font);font-size:var(--md-typescale-label-medium-size);letter-spacing:var(--md-typescale-label-medium-track);font-weight:var(--md-typescale-label-medium-weight);color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;display:flex;align-items:center;gap:8px}.terminal-header__actions{display:flex;align-items:center;gap:4px}.terminal-btn{position:relative;display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--md-sys-shape-full);background:none;border:none;color:var(--md-sys-color-on-surface-variant);font-family:var(--md-typescale-label-medium-font);font-size:var(--md-typescale-label-medium-size);font-weight:var(--md-typescale-label-medium-weight);letter-spacing:var(--md-typescale-label-medium-track);cursor:pointer;overflow:hidden;transition:color var(--md-motion-duration-short2) var(--md-motion-easing-standard)}.terminal-btn:hover{color:var(--md-sys-color-on-surface)}.terminal-btn .md-state-layer{background:var(--md-sys-color-on-surface)}.terminal-btn:hover .md-state-layer{opacity:.08}.terminal-body{padding:12px 16px;font-family:var(--md-typescale-mono-font);font-size:var(--md-typescale-mono-size);line-height:1.8;color:var(--md-sys-color-on-surface);min-height:200px;max-height:400px;overflow-y:auto;position:relative;z-index:1}.terminal-line{display:flex;align-items:flex-start;gap:8px;animation:slide-up-fade var(--md-motion-duration-medium2) var(--md-motion-easing-emphasized-decel) both}.terminal-line__time{color:var(--md-sys-color-on-surface-variant);flex-shrink:0;min-width:80px}.terminal-line__content{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.terminal-line__status-open{color:var(--md-sys-color-tertiary)}.terminal-line__status-closed{color:var(--md-sys-color-error)}.terminal-line__status-timeout{color:var(--md-sys-color-secondary)}.terminal-line__status-error{color:var(--md-sys-color-error)}.terminal-bar{display:inline-block;font-family:var(--md-typescale-mono-font);font-size:12px;letter-spacing:-1px}.terminal-bar--open{color:var(--md-sys-color-tertiary)}.terminal-bar--timeout{color:var(--md-sys-color-on-surface-variant)}.terminal-divider{border:none;border-top:1px solid var(--md-sys-color-outline-variant);margin:4px 0;opacity:.5}.port-results{display:flex;flex-direction:column;gap:0;border-radius:var(--md-sys-shape-medium);overflow:hidden;border:1px solid var(--md-sys-color-outline-variant)}.port-result-row{display:grid;grid-template-columns:60px 80px 1fr auto auto;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-highest);animation:slide-up-fade var(--md-motion-duration-medium2) var(--md-motion-easing-emphasized-decel) both;transition:background-color var(--md-motion-duration-short2) var(--md-motion-easing-standard)}.port-result-row:last-child{border-bottom:none}.port-result-row:hover{background:var(--md-sys-elevation-3)}.port-result-row__port{font-family:var(--md-typescale-mono-font);font-size:var(--md-typescale-mono-size);color:var(--md-sys-color-primary)}.port-result-row__service{font-family:var(--md-typescale-label-medium-font);font-size:var(--md-typescale-label-medium-size);font-weight:var(--md-typescale-label-medium-weight);letter-spacing:var(--md-typescale-label-medium-track);color:var(--md-sys-color-on-surface-variant)}.port-result-row__bar-container{display:flex;align-items:center;gap:8px;flex:1}.port-result-row__bar{flex:1;height:4px;background:var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-full);overflow:hidden}.port-result-row__bar-fill{height:100%;border-radius:var(--md-sys-shape-full);transition:width .6s var(--md-motion-easing-emphasized-decel)}.port-result-row__bar-fill--fast{background:var(--md-sys-color-tertiary)}.port-result-row__bar-fill--medium{background:var(--md-sys-color-primary)}.port-result-row__bar-fill--slow{background:var(--md-sys-color-error)}.port-result-row__latency{font-family:var(--md-typescale-mono-font);font-size:12px;color:var(--md-sys-color-on-surface-variant);min-width:56px;text-align:right}.port-result-row__copy{position:relative;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--md-sys-shape-extra-small);background:none;border:none;color:var(--md-sys-color-on-surface-variant);font-family:var(--md-typescale-label-small-font);font-size:var(--md-typescale-label-small-size);font-weight:var(--md-typescale-label-small-weight);cursor:pointer;overflow:hidden;white-space:nowrap;transition:color var(--md-motion-duration-short2) var(--md-motion-easing-standard)}.port-result-row__copy:hover{color:var(--md-sys-color-primary)}.http-result{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px}@media (max-width:599px){.http-result{grid-template-columns:1fr}}.http-result__header{padding:16px;border-bottom:1px solid var(--md-sys-color-outline-variant);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.http-status-code{font-family:var(--md-typescale-mono-font);font-size:24px;font-weight:500}.http-status-code--ok{color:var(--md-sys-color-tertiary)}.http-status-code--error{color:var(--md-sys-color-error)}.http-status-code--warn{color:var(--md-sys-color-secondary)}.kv-table{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-family:var(--md-typescale-mono-font);font-size:12px}.kv-table__key{color:var(--md-sys-color-on-surface-variant);white-space:nowrap;align-self:start}.kv-table__value{color:var(--md-sys-color-on-surface);word-break:break-all}.dns-result{padding:16px;gap:16px}.dns-record-group,.dns-result{display:flex;flex-direction:column}.dns-record-group{gap:4px}.dns-record-group__title{font-family:var(--md-typescale-label-small-font);font-size:var(--md-typescale-label-small-size);font-weight:var(--md-typescale-label-small-weight);letter-spacing:var(--md-typescale-label-small-track);color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;margin-bottom:2px}.dns-record-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--md-sys-shape-full);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-family:var(--md-typescale-mono-font);font-size:12px;border:1px solid var(--md-sys-color-outline-variant)}.history-chips{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0}.history-chips::-webkit-scrollbar{display:none}.history-chip{position:relative;display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:var(--md-sys-shape-full);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);font-family:var(--md-typescale-mono-font);font-size:11px;cursor:pointer;overflow:hidden;white-space:nowrap;flex-shrink:0;transition:border-color var(--md-motion-duration-short2) var(--md-motion-easing-standard),color var(--md-motion-duration-short2) var(--md-motion-easing-standard)}.history-chip:hover{border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary)}.scan-score{display:flex;align-items:center;gap:16px;padding:16px;background:var(--md-sys-elevation-2);border-radius:var(--md-sys-shape-medium)}.scan-score__ring{position:relative;width:64px;height:64px;flex-shrink:0}.scan-score__ring svg{width:100%;height:100%;transform:rotate(-90deg)}.scan-score__ring-bg{fill:none;stroke:var(--md-sys-color-surface-container-high);stroke-width:4}.scan-score__ring-fill{fill:none;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .8s var(--md-motion-easing-emphasized-decel)}.scan-score__ring-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--md-typescale-mono-font);font-size:14px;font-weight:500}.scan-score__details{flex:1;display:flex;flex-direction:column;gap:4px}.scan-score__counts{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.scan-score__count-item{display:flex;align-items:center;gap:4px;font-family:var(--md-typescale-label-medium-font);font-size:var(--md-typescale-label-medium-size);font-weight:var(--md-typescale-label-medium-weight);letter-spacing:var(--md-typescale-label-medium-track)}.scan-score__count-item--open{color:var(--md-sys-color-tertiary)}.scan-score__count-item--closed{color:var(--md-sys-color-error)}.scan-score__count-item--timeout{color:var(--md-sys-color-secondary)}.app-shell{display:flex;min-height:100dvh}.main-content{flex:1;margin-left:80px;display:grid;grid-template-columns:380px 1fr;min-height:100dvh;overflow:hidden}.input-panel{border-right:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-low)}.input-panel,.output-panel{overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:20px}.panel-section{display:flex;flex-direction:column;gap:10px}.panel-section__title{font-family:var(--md-typescale-title-small-font);font-size:var(--md-typescale-title-small-size);font-weight:var(--md-typescale-title-small-weight);color:var(--md-sys-color-on-surface);display:flex;align-items:center;gap:6px}.top-app-bar{display:none;position:sticky;top:0;left:0;right:0;height:64px;background:var(--md-sys-elevation-2);border-bottom:1px solid var(--md-sys-color-outline-variant);align-items:center;padding:0 16px;gap:16px;z-index:100}.top-app-bar__title{flex:1;font-family:var(--md-typescale-title-large-font);font-size:var(--md-typescale-title-large-size);font-weight:var(--md-typescale-title-large-weight);color:var(--md-sys-color-on-surface)}@media (max-width:1239px){.md-nav-rail{display:none}.md-bottom-nav,.top-app-bar{display:flex}.md-fab--desktop-rail{display:none}.main-content{margin-left:0;grid-template-columns:1fr;padding-bottom:80px}.input-panel{border-right:none;border-bottom:1px solid var(--md-sys-color-outline-variant);overflow-y:visible;padding:16px}.output-panel{padding:16px}}@media (max-width:599px){.top-app-bar{height:56px}.top-app-bar__title{font-size:var(--md-typescale-title-medium-size)}.input-panel,.output-panel{padding:12px}.port-result-row{grid-template-columns:50px 60px 1fr auto}.port-result-row__copy{display:none}.http-result,.main-content{grid-template-columns:1fr}.main-content{margin-left:0;padding-bottom:80px}.md-fab--mobile-fixed{position:fixed;bottom:96px;right:16px;z-index:200}}@keyframes md-ripple-expand{0%{transform:scale(0);opacity:.12}to{transform:scale(2.5);opacity:0}}@keyframes region-pulse{0%,to{box-shadow:0 0 0 0 rgba(168,213,162,.4)}50%{box-shadow:0 0 0 6px rgba(168,213,162,0)}}@keyframes region-glow{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--md-sys-color-primary) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--md-sys-color-primary) 0,transparent)}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes progress-wave{0%{left:-100%;width:30%}50%{left:50%;width:50%}to{left:110%;width:30%}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes circular-dash{0%{stroke-dashoffset:40}50%{stroke-dashoffset:5}to{stroke-dashoffset:40}}@keyframes node-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes node-check{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.section-divider{border:none;border-top:1px solid var(--md-sys-color-outline-variant)}.color-on-surface-variant{color:var(--md-sys-color-on-surface-variant)}.color-primary{color:var(--md-sys-color-primary)}.color-tertiary{color:var(--md-sys-color-tertiary)}.color-error{color:var(--md-sys-color-error)}.color-secondary{color:var(--md-sys-color-secondary)}