@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2) format("woff2"),url(/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2) format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-ext-500-normal-BtRyHRi6.woff2) format("woff2"),url(/assets/dm-mono-latin-ext-500-normal-Dw3M13d8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2) format("woff2"),url(/assets/dm-mono-latin-500-normal-CN8Miw6E.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "DM Sans Variable", "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:var(--font-sans);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--bg-base: #121314;--bg-panel: #17181A;--bg-card: #1A1B1D;--bg-soft: #1F2023;--bg-input: #141517;--bg-elevated: #1E1F22;--bg-elevated-end: #1E1F22;--bg-hover: rgba(255, 255, 255, .04);--bg-hover-strong: rgba(255, 255, 255, .07);--bg-overlay: rgba(255, 255, 255, .02);--bg-table-header: #17181A;--bg-modal: #1E1F22;--bg-modal-overlay: rgba(0, 0, 0, .6);--accent: #D9FF00;--accent-hover: #E4FF4D;--accent-subtle-bg: rgba(217, 255, 0, .1);--accent-contrast: #121314;--accent-forest: #00403D;--text-link: var(--accent);--primary: var(--accent);--primary-light: var(--accent-hover);--secondary: #4CAF50;--text-primary: #E6E7E8;--text-secondary: #B4B7BA;--text-heading: #F2F3F4;--text-white: #ffffff;--text-muted: #8B8E92;--color-muted-label: #94979B;--color-dim-label: #6E7176;--muted: var(--text-muted);--border-subtle: #242527;--border-default: #2B2C2E;--border-strong: #38393B;--border-muted: #202123;--border: var(--border-default);--border-glow: var(--border-default);--shadow-card: none;--shadow-overlay: 0 4px 16px rgba(0, 0, 0, .35);--shadow-heavy: var(--shadow-overlay);--color-positive: #34d399;--color-positive-strong: #22c55e;--color-negative: #f87171;--color-negative-strong: #ef4444;--color-neutral: #D4D6D8;--color-info: #60a5fa;--color-warning: #fbbf24;--zone-no1: #2C63C9;--zone-no2: #C98500;--zone-no3: #D55181;--zone-no4: #8F7EE8;--zone-no5: #0B7A52;--topbar-bg: var(--bg-panel);--topbar-border: var(--border-subtle);--topbar-text: var(--text-primary);--nav-text: #9DA0A4;--nav-text-active: var(--accent);--nav-section-title: #6E7176;--nav-hover-bg: rgba(255, 255, 255, .04);--nav-active-bg: rgba(217, 255, 0, .08);--nav-child-dash: rgba(255, 255, 255, .15);--sidebar-border: var(--border-subtle);--color-scheme: dark;color-scheme:dark}[data-theme=light]{--bg-base: #F6F7F7;--bg-panel: #00403D;--bg-card: #ffffff;--bg-soft: #F2F4F4;--bg-input: #FBFCFC;--bg-elevated: #ffffff;--bg-elevated-end: #ffffff;--bg-hover: rgba(0, 0, 0, .04);--bg-hover-strong: rgba(0, 0, 0, .06);--bg-overlay: rgba(0, 0, 0, .02);--bg-table-header: #F2F4F4;--bg-modal: #ffffff;--bg-modal-overlay: rgba(0, 0, 0, .4);--accent: #00403D;--accent-hover: #0B5A55;--accent-subtle-bg: rgba(0, 64, 61, .08);--accent-contrast: #ffffff;--text-link: #0C7168;--text-primary: #1B1D1E;--text-secondary: #4A4F52;--text-heading: #131516;--text-white: #1B1D1E;--text-muted: #6B7074;--color-muted-label: #6B7074;--color-dim-label: #979CA0;--border-subtle: #E4E7E7;--border-default: #D9DDDD;--border-strong: #C8CDCD;--border-muted: #EDEFEF;--shadow-card: 0 1px 2px rgba(0, 0, 0, .05);--shadow-overlay: 0 4px 16px rgba(0, 0, 0, .12);--color-positive: #16a34a;--color-positive-strong: #15803d;--color-negative: #dc2626;--color-negative-strong: #b91c1c;--color-neutral: #6B7074;--color-info: #2563eb;--color-warning: #d97706;--zone-no1: #2A78D6;--zone-no2: #B87E00;--zone-no3: #C4477C;--zone-no4: #4A3AA7;--zone-no5: #0E8A61;--topbar-bg: #ffffff;--topbar-border: #E4E7E7;--topbar-text: #1B1D1E;--nav-text: rgba(255, 255, 255, .72);--nav-text-active: #D9FF00;--nav-section-title: rgba(255, 255, 255, .55);--nav-hover-bg: rgba(255, 255, 255, .08);--nav-active-bg: rgba(217, 255, 0, .12);--nav-child-dash: rgba(255, 255, 255, .25);--sidebar-border: rgba(255, 255, 255, .1);--color-scheme: light;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg-base);color:var(--text-primary)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}a.nav-link,a.nav-link:any-link{color:var(--nav-text)}a.nav-link:hover{color:var(--nav-section-title)}a.nav-link.active,a.nav-link.active:any-link{color:var(--nav-text-active)}#root{min-height:100vh}table{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tnum{font-variant-numeric:tabular-nums}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-muted)}.card__title{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.card__body{padding:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-primary);font:inherit;font-size:.85rem;font-weight:500;line-height:1.2;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.btn:hover:not(:disabled){background:var(--bg-hover-strong);border-color:var(--border-strong)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn--ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--bg-hover);border-color:transparent;color:var(--text-primary)}.btn--sm{padding:.25rem .55rem;font-size:.78rem}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .45rem;border-radius:var(--radius-xs);border:1px solid transparent;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.5;white-space:nowrap}.badge--pos{color:var(--color-positive);background:color-mix(in srgb,var(--color-positive) 12%,transparent)}.badge--neg{color:var(--color-negative);background:color-mix(in srgb,var(--color-negative) 12%,transparent)}.badge--warning{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 12%,transparent)}.badge--info{color:var(--color-info);background:color-mix(in srgb,var(--color-info) 12%,transparent)}.badge--neutral{color:var(--text-secondary);background:var(--bg-hover-strong)}.badge--outline{color:var(--text-secondary);background:transparent;border-color:var(--border-default)}.data-table{width:100%;border-collapse:collapse;font-size:.85rem;color:var(--text-primary)}.data-table th{text-align:left;padding:.5rem .75rem;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-table-header);border-bottom:1px solid var(--border-default);white-space:nowrap}.data-table td{padding:.55rem .75rem;border-bottom:1px solid var(--border-muted)}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table .num,.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.form-control{padding:.4rem .6rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:.85rem}.form-control:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .4rem;border:1px solid var(--border-default);border-radius:var(--radius-xs);font-size:.68rem;font-weight:500;letter-spacing:.02em;color:var(--text-secondary);white-space:nowrap}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:2rem;color:var(--text-primary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top:3px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-text{color:var(--text-muted);font-size:1.1rem;margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.78rem 1.1rem;border-radius:var(--radius-sm);border:1px solid transparent;font-family:var(--font-sans);font-weight:600;font-size:.95rem;letter-spacing:.01em;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.auth-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-button:disabled{opacity:.6;cursor:not-allowed}.login-button{background:#d9ff00;border-color:#d9ff00;color:#121314}.login-button:hover:not(:disabled){background:#e4ff4d;border-color:#e4ff4d}.signup-button{background:transparent;border-color:var(--border-strong);color:var(--text-primary)}.signup-button:hover:not(:disabled){background:var(--accent-subtle-bg);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.logout-button{background:transparent;color:var(--text-muted);border:1px solid var(--border-subtle)}.logout-button:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong)}.theme-toggle-switch{position:relative;display:inline-flex;align-items:center;width:64px;height:32px;border-radius:16px;border:1px solid var(--border-default);background:var(--bg-input);cursor:pointer;padding:0 4px;transition:background .3s ease,border-color .3s ease;flex-shrink:0}.theme-toggle-switch:hover{border-color:var(--primary)}.theme-toggle-thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--primary);transition:transform .45s cubic-bezier(.68,-.4,.27,1.3);z-index:1}.theme-toggle-switch--light .theme-toggle-thumb{transform:translate(32px)}.theme-toggle-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;z-index:2;transition:color .3s ease,transform .5s ease,opacity .3s ease;flex-shrink:0}.theme-toggle-icon--sun{margin-left:1px}.theme-toggle-icon--moon{margin-left:2px}.theme-toggle-switch--dark .theme-toggle-icon--sun{color:var(--primary)}.theme-toggle-switch--dark .theme-toggle-icon--moon,.theme-toggle-switch--light .theme-toggle-icon--sun{color:var(--topbar-text)}.theme-toggle-switch--light .theme-toggle-icon--moon{color:var(--primary)}.theme-toggle-switch--dark .theme-toggle-icon--sun{animation:sun-spin .6s ease-out}.theme-toggle-switch--light .theme-toggle-icon--moon{animation:moon-rock .6s ease-out}@keyframes sun-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}@keyframes moon-rock{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-15deg) scale(1.15)}50%{transform:rotate(10deg) scale(1.15)}75%{transform:rotate(-5deg) scale(1.05)}to{transform:rotate(0) scale(1)}}.auth-shell{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,2.5vw,2.5rem);color:var(--text-primary);font-family:var(--font-sans);overflow:hidden;background:var(--bg-base)}.auth-theme-toggle{position:absolute;top:16px;right:16px;z-index:2}.auth-shell-grid{position:relative;z-index:1;width:min(1080px,100%);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(1rem,2vw,1.8rem)}.auth-brand-panel,.auth-action-panel{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-card)}.auth-brand-panel{display:flex;flex-direction:column;gap:1rem;padding:clamp(1.5rem,3vw,2.4rem);animation:authFadeIn .32s ease-out both}[data-theme=light] .auth-brand-panel{background:#00403d;border-color:#00403d}.auth-brand-logo-wrap{width:200px;height:auto;padding:0}.auth-brand-logo{width:100%;height:100%;object-fit:contain}.auth-brand-title{margin:0;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.28;letter-spacing:.01em;font-weight:600;color:var(--text-primary)}[data-theme=light] .auth-brand-title{color:#fff}.auth-value-list{margin:.4rem 0 0;padding:0;list-style:none;display:grid;gap:.85rem}.auth-value-list li{position:relative;margin:0;padding-left:1.4rem;color:var(--text-muted);font-size:.95rem;line-height:1.5}[data-theme=light] .auth-value-list li{color:#f2f5f4d9}.auth-value-list li:before{content:"";position:absolute;left:0;top:.5rem;width:.45rem;height:.45rem;border-radius:var(--radius-full);background:#d9ff00}.auth-action-panel{display:flex;flex-direction:column;gap:1rem;padding:clamp(1.35rem,2.6vw,2rem);animation:authFadeIn .38s ease-out both}.auth-panel-header{display:flex;flex-direction:column;gap:.5rem}.auth-panel-title{margin:.2rem 0 0;font-size:1.4rem;line-height:1.25;font-weight:600;letter-spacing:.01em;color:var(--text-heading)}.auth-panel-subtitle{margin:0;color:var(--text-muted);font-size:.95rem}.auth-status-box{border-radius:var(--radius-md);border:1px solid transparent;padding:.85rem 1rem}.auth-status-box h3{margin:0 0 .35rem;font-size:.95rem;font-weight:600;letter-spacing:.01em}.auth-status-box p{margin:0;color:var(--text-primary);font-size:.9rem;line-height:1.5}.auth-status-box.error{border-color:color-mix(in srgb,var(--color-negative) 35%,transparent);background:color-mix(in srgb,var(--color-negative) 10%,transparent)}.auth-status-box.trial-expired{border-color:#d9ff0061;background:#00403d33}[data-theme=light] .auth-status-box.trial-expired{border-color:#00403d59;background:#00403d0f}.auth-status-box a,.auth-panel-footnote a{color:var(--text-link)}.auth-action-group{display:flex;flex-direction:column;gap:.75rem}.auth-action-group .auth-button{width:100%;justify-content:center}.auth-contact-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;border-radius:var(--radius-sm);border:1px solid rgba(217,255,0,.5);color:#e5ff66;background:#d9ff0014;font-weight:600;transition:background .18s ease,border-color .18s ease,color .18s ease}.auth-contact-button:hover{background:#d9ff0026;border-color:#d9ff00bf;color:#f0ff99}[data-theme=light] .auth-contact-button{border-color:#00403d73;color:#00403d;background:#00403d0d}[data-theme=light] .auth-contact-button:hover{background:#00403d1a;border-color:#00403db3;color:#00403d}.auth-panel-footnote{margin:.1rem 0 0;color:var(--text-muted);font-size:.88rem;text-align:center}.auth-button:focus-visible,.auth-contact-button:focus-visible,.auth-panel-footnote a:focus-visible,.auth-status-box a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes authFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.auth-shell-grid{grid-template-columns:1fr}.auth-action-panel{order:1}.auth-brand-panel{order:2}}@media(max-width:640px){.auth-shell{padding:1rem}.auth-brand-panel,.auth-action-panel{padding:1.15rem}}@media(prefers-reduced-motion:reduce){.auth-brand-panel,.auth-action-panel,.auth-contact-button{animation:none;transition:none}}#root{margin:0;padding:0;width:100%;min-height:100vh}.app{width:100%;min-height:100vh;background:transparent}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;color:var(--color-negative);text-align:center;background:var(--bg-base)}.error-container h2{font-size:2rem;margin-bottom:1rem}.error-container p{font-size:1.1rem;color:var(--color-muted-label)}
