:root{--font-family-base: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Noto Sans", Cantarell, "Helvetica Neue", Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;--transition-base: .18s ease;--focus-ring-color: rgba(96, 165, 250, .4);--surface-bg-dark: rgba(9, 13, 24, .55);--surface-border-dark: rgba(255, 255, 255, .1);--surface-shadow-dark: inset 0 0 0 1px rgba(255, 255, 255, .02), 0 8px 24px rgba(0, 0, 0, .25);--surface-bg-light: #ffffff;--surface-border-light: rgba(2, 6, 23, .06);--surface-shadow-light: 0 8px 24px rgba(15, 23, 42, .08);--toolbar-bg-dark: rgba(10, 14, 25, .6);--toolbar-bg-light: #ffffff;--control-bg-dark: rgba(255, 255, 255, .04);--control-bg-light: #ffffff;--control-border-dark: rgba(255, 255, 255, .18);--control-border-light: rgba(2, 6, 23, .12);--control-shadow-dark: inset 0 0 0 1px rgba(255, 255, 255, .02);--control-shadow-light: 0 1px 0 rgba(2, 6, 23, .04);--heading-gradient: linear-gradient(90deg, #60a5fa, #d946ef);--primary-button-gradient-dark: linear-gradient(135deg, #6366f1, #22d3ee);--primary-button-gradient-light: linear-gradient(135deg, #3b82f6, #10b981);--primary-button-shadow-dark: 0 12px 30px rgba(99, 102, 241, .35);--primary-button-shadow-light: 0 12px 26px rgba(59, 130, 246, .25);--secondary-button-bg-dark: rgba(255, 255, 255, .08);--secondary-button-bg-light: rgba(15, 23, 42, .08);--secondary-button-border-dark: rgba(255, 255, 255, .16);--secondary-button-border-light: rgba(15, 23, 42, .16)}body{margin:0;min-height:100vh;font-family:var(--font-family-base);background:linear-gradient(180deg,#0b1220,#0f172a);color:#e8eaff;transition:background var(--transition-base),color var(--transition-base);width:100%;overflow-x:hidden}html{width:100%;overflow-x:hidden}#root{width:100%;min-height:100vh}body[data-theme=light]{background:#f6f7fb;color:#0f172a}body,button,input,select{font-family:inherit}*{box-sizing:border-box}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 20px}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#0b1220eb,#0b1220d1);transition:background var(--transition-base),border-color var(--transition-base)}body[data-theme=light] .app-header{background:linear-gradient(180deg,#f6f7fbeb,#f6f7fbdb);border-bottom:1px solid rgba(15,23,42,.08)}.header-container{position:relative;display:flex;align-items:center;justify-content:center;padding:20px 0}.app-title{display:flex;align-items:center;gap:12px;font-size:2rem;font-weight:800;margin:0}.app-title-text{background:var(--heading-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}body[data-theme=light] .app-title-text{background:none;color:#0f172a;-webkit-text-fill-color:initial}.app-icon{font-size:2.4rem}.header-controls{display:flex;align-items:center;gap:12px;position:absolute;right:20px;top:50%;transform:translateY(-50%)}.theme-toggle{width:44px;height:44px;border-radius:12px;border:1px solid var(--secondary-button-border-dark);background:var(--secondary-button-bg-dark);color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-base),background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.theme-toggle:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0f172a47}body[data-theme=light] .theme-toggle{border-color:var(--secondary-button-border-light);background:#ffffffe6}.theme-icon{font-size:1.4rem}.breadcrumbs{border-bottom:1px solid rgba(255,255,255,.06);background:var(--toolbar-bg-dark);transition:background var(--transition-base),border-color var(--transition-base)}body[data-theme=light] .breadcrumbs{background:#ffffffd9;border-bottom:1px solid rgba(15,23,42,.08)}.breadcrumb-list{margin:0;padding:12px 0;display:flex;gap:12px;list-style:none;font-size:.95rem}.breadcrumb-list li{color:inherit;opacity:.8}.breadcrumb-link{color:inherit;text-decoration:none;font-weight:600}.main-content{padding:32px 0 48px}.screen{display:grid;gap:28px;width:100%;max-width:100vw}.app-footer{padding:24px 0;border-top:1px solid rgba(255,255,255,.08);background:#070b16e6;color:#e8eaffb3;font-size:.9rem;display:flex;align-items:center}.app-footer .container{display:flex;justify-content:center}body[data-theme=light] .app-footer{border-top:1px solid rgba(15,23,42,.08);background:#f8fafce6;color:#475569cc}.search-section{margin-bottom:24px;padding:20px;border-radius:16px;border:1px solid var(--surface-border-dark);background:var(--surface-bg-dark);box-shadow:var(--surface-shadow-dark)}.search-container{position:relative}.search-input{width:100%;padding:14px 52px 14px 18px;border-radius:12px;border:1px solid var(--control-border-dark);background:var(--control-bg-dark);color:inherit;font-size:1rem;box-shadow:var(--control-shadow-dark);transition:border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base)}.search-input::placeholder{color:#e8eaff66}.search-input:focus{outline:none;border-color:#60a5facc;box-shadow:0 0 0 3px var(--focus-ring-color)}body[data-theme=light] .search-input{background:var(--control-bg-light);border-color:var(--control-border-light);box-shadow:var(--control-shadow-light);color:#0f172a}body[data-theme=light] .search-section{border-color:var(--surface-border-light);background:var(--surface-bg-light);box-shadow:var(--surface-shadow-light)}body[data-theme=light] .search-input::placeholder{color:#47556980}.search-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);opacity:.85;color:#bfdbfecc}body[data-theme=light] .search-icon{color:#4755698c}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.category-tile{padding:24px;border-radius:16px;border:1px solid var(--surface-border-dark);background:var(--surface-bg-dark);box-shadow:var(--surface-shadow-dark);color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:12px;transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.category-tile:hover{transform:translateY(-4px);border-color:#60a5fa73;box-shadow:0 16px 32px #60a5fa38;background:#0d1424bf}.category-icon{font-size:2rem;color:#bfdbfed9}.category-name{font-size:1.2rem;font-weight:700}.category-desc{opacity:.78;font-size:.95rem}body[data-theme=light] .category-tile{border-color:var(--surface-border-light);background:var(--surface-bg-light);box-shadow:var(--surface-shadow-light)}body[data-theme=light] .category-tile:hover{background:#f8fafc;border-color:#3b82f659;box-shadow:0 16px 30px #94a3b82e}.category-tile:focus-visible,.tool-card:focus-visible,.theme-toggle:focus-visible,.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring-color)}.gradient-heading{background:var(--heading-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}body[data-theme=light] .gradient-heading{background:none;background-clip:initial;-webkit-background-clip:initial;color:#0f172a;-webkit-text-fill-color:initial}.category-header,.tool-header{margin-bottom:24px}.tool-header{display:grid;justify-items:center;text-align:center;gap:8px}.segmented-tabs{display:flex;gap:6px;border-radius:14px;padding:6px;background:#0a0e1999;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 12px #00000040}body[data-theme=light] .segmented-tabs{background:#fff;border:1px solid rgba(2,6,23,.06);box-shadow:0 6px 18px #0f172a14}.segmented-tabs__btn{flex:1;padding:10px 14px;border-radius:12px;border:none;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s ease;background:transparent;color:#c7cbe7;min-width:0;-webkit-tap-highlight-color:transparent;white-space:normal}body[data-theme=light] .segmented-tabs__btn{color:#334155}.segmented-tabs__btn--active{color:#e9e7ff;background:linear-gradient(#161b2c,#161b2c) padding-box,linear-gradient(135deg,#8b5cf6,#22d3ee) border-box;border:2px solid transparent;box-shadow:0 6px 18px #8b5cf640}body[data-theme=light] .segmented-tabs__btn--active{color:#0f172a;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#6366f1,#22c55e) border-box;box-shadow:0 6px 16px #6366f12e}.segmented-tabs__btn:focus,.segmented-tabs__btn:focus-visible,.segmented-tabs__btn:active{outline:none}.category-title,.tool-title{margin:0 0 8px;font-size:2rem;font-weight:900;letter-spacing:-.01em;background:var(--heading-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.category-description{margin:0;opacity:.75}.tool-description{margin:0 auto;opacity:.8;font-size:.95rem;max-width:520px;text-align:center}body[data-theme=light] .category-title,body[data-theme=light] .tool-title{background:none;color:#0f172a;-webkit-text-fill-color:initial}.tools-list{display:grid;gap:16px}.tool-card{display:block;padding:20px;border-radius:16px;border:1px solid var(--surface-border-dark);background:var(--surface-bg-dark);box-shadow:var(--surface-shadow-dark);text-decoration:none;color:inherit;transition:transform var(--transition-base),border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base)}.tool-card:hover{transform:translateY(-4px);border-color:#60a5fa73;background:#0d1424bf;box-shadow:0 14px 28px #60a5fa38}.tool-name{font-size:1.1rem;font-weight:700}.tool-desc{margin-top:6px;opacity:.7}.tool-type{margin-top:12px;display:inline-flex;padding:6px 12px;border-radius:999px;font-size:.8rem;letter-spacing:.02em;background:#60a5fa24;color:#bfdbfeeb}body[data-theme=light] .tool-card{border-color:var(--surface-border-light);background:var(--surface-bg-light);box-shadow:var(--surface-shadow-light)}body[data-theme=light] .tool-card:hover{background:#f8fafc;border-color:#3b82f659;box-shadow:0 14px 26px #94a3b82e}body[data-theme=light] .tool-type{background:#3b82f629;color:#1d4ed8}.tool-content{display:grid;gap:24px;width:100%;max-width:100vw}.embedded-calculator{border-radius:20px;border:1px solid var(--surface-border-dark);background:#0b1120c7;box-shadow:0 22px 44px #0f172a73;overflow:hidden;transition:background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);width:100%;max-width:100vw;box-sizing:border-box}body[data-theme=light] .embedded-calculator{border-color:var(--surface-border-light);background:#fffffff5;box-shadow:0 22px 46px #0f172a1f}.calculator-form,.info-card{border-radius:16px;border:1px solid var(--surface-border-dark);background:var(--surface-bg-dark);padding:24px;box-shadow:var(--surface-shadow-dark);transition:background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);width:100%;box-sizing:border-box}body[data-theme=light] .calculator-form,body[data-theme=light] .info-card{border-color:var(--surface-border-light);background:var(--surface-bg-light);box-shadow:var(--surface-shadow-light)}.calc-form{display:grid;gap:18px}.form-fields{display:grid;gap:24px}.form-fields--spaced{gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.toggle-input-group .segmented-tabs{margin-top:4px}.toggle-input-group__content{display:grid;gap:12px}.form-label{font-weight:600;font-size:.95rem}.input-with-unit{position:relative;width:100%}.input-with-unit .form-control{padding:12px 72px 12px 14px}.form-control{padding:12px 14px;border-radius:12px;border:1px solid var(--control-border-dark);background:var(--control-bg-dark);box-shadow:var(--control-shadow-dark);color:inherit;font-size:1rem;transition:border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base);width:100%}.form-control:focus{outline:none;border-color:#60a5fabf;box-shadow:none}body[data-theme=light] .form-control{background:var(--control-bg-light);border-color:var(--control-border-light);box-shadow:var(--control-shadow-light);color:#0f172a}.input-unit-container,.input-with-unit>.input-unit{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center}.input-with-unit>.input-unit{pointer-events:none}.input-unit{padding:8px 12px;border-radius:14px;background:#60a5fa29;color:#bfdbfee6;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;min-width:44px}.input-unit:not(.input-unit--action){pointer-events:none}body[data-theme=light] .input-unit{background:#60a5fa1f;color:#1d4ed8}.input-unit--action{cursor:pointer;border:none;outline:none;background:#1f9d94;color:#ebfffd;transition:background var(--transition-base),color var(--transition-base);-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.input-unit--action{min-width:44px;padding:8px 12px}.input-unit--action:focus,.input-unit--action:focus-visible,.input-unit--action:active{outline:none;box-shadow:none;border:none}.input-unit--action:hover{background:#22aaa0}.input-unit--action:active{background:#1a8a83}body[data-theme=light] .input-unit--action{background:#14b8a6;color:#073b36}body[data-theme=light] .input-unit--action:hover{background:#0f9f90}.input-unit--action::-moz-focus-inner{border:0;padding:0}.auto-computed-hint{font-size:.8rem;color:#60a5fad9}.form-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.tab-intro{margin:24px 0 28px;padding:0 6px;font-size:1rem;line-height:1.65;text-align:center;color:inherit;opacity:.82}body[data-theme=light] .tab-intro{opacity:.86}@media (max-width: 640px){.tab-intro{text-align:left;margin:28px 0 32px;font-size:1.05rem}}.results-card{border-radius:16px;border:1px solid var(--surface-border-dark);background:var(--surface-bg-dark);box-shadow:var(--surface-shadow-dark);padding:20px;display:grid;gap:16px;transition:background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);width:100%;box-sizing:border-box}body[data-theme=light] .results-card{border-color:var(--surface-border-light);background:var(--surface-bg-light);box-shadow:var(--surface-shadow-light)}.results-card__header{display:inline-flex;align-items:center;gap:10px}.results-card__icon{font-size:1.2rem}.results-card__title{margin:0;font-size:1.1rem;font-weight:800;letter-spacing:-.01em}.results-card__body{display:grid;gap:12px}.results-card__row{display:flex;justify-content:space-between;align-items:baseline;gap:18px}.results-card__label-block{display:grid;gap:4px}.results-card__label{font-weight:600;opacity:.88}.results-card__hint{font-size:.85rem;opacity:.75}.results-card__value{display:inline-flex;align-items:baseline;gap:8px;font-family:Berkeley Mono,Fira Code,Source Code Pro,monospace;font-weight:700;font-size:1.4rem}.results-card__value--primary{color:#60a5fa}body[data-theme=light] .results-card__value--primary{color:#1d4ed8}.results-card__unit{font-size:.9rem;opacity:.78}.results-card__warnings{display:grid;gap:8px}.results-card__footer{margin-top:4px}.results-card__title .gradient-heading,.assumptions-title .gradient-heading{background:none;background-clip:initial;-webkit-background-clip:initial;color:#60a5fa;-webkit-text-fill-color:initial}body[data-theme=light] .results-card__title .gradient-heading,body[data-theme=light] .assumptions-title .gradient-heading{color:#1d4ed8}.results-card--spaced{margin-top:28px}@media (max-width: 640px){.results-card{padding:18px}.results-card--spaced{margin-top:32px}.results-card__value{font-size:1.2rem}}.form-actions .btn{flex:0 0 auto}.btn{display:inline-flex;align-items:center;gap:8px;border-radius:14px;font-weight:700;padding:12px 22px;cursor:pointer;border:1px solid transparent;transition:transform var(--transition-base),box-shadow var(--transition-base),filter var(--transition-base),background var(--transition-base),border-color var(--transition-base);text-decoration:none;color:inherit;position:relative;overflow:hidden}.btn--lg{min-width:160px;height:54px;padding:0 28px;justify-content:center;border-radius:14px;font-size:1.05rem}.btn--primary{background:var(--primary-button-gradient-dark);color:#fff;box-shadow:var(--primary-button-shadow-dark)}.btn--primary:hover{transform:none;filter:none}.back-button-wrapper{margin-bottom:16px}.back-button{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:1px solid rgba(96,165,250,.28);background:#60a5fa1a;color:inherit;text-decoration:none;font-weight:600;font-size:.95rem;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base)}.back-button:hover{background:#60a5fa2e;border-color:#60a5fa73}.back-button:focus-visible{outline:none;box-shadow:0 0 0 3px #60a5fa59}body[data-theme=light] .back-button{border-color:#2563eb3d;background:#2563eb14;color:#1d4ed8}body[data-theme=light] .back-button:hover{background:#2563eb24;border-color:#2563eb5c}body[data-theme=light] .back-button:focus-visible{box-shadow:0 0 0 3px #3b82f659}.btn--secondary{background:var(--secondary-button-bg-dark);border-color:var(--secondary-button-border-dark);color:inherit}.btn--secondary:hover{background:#ffffff24;transform:none;filter:none}.btn:active{transform:none;filter:none}body[data-theme=light] .btn--primary{background:var(--primary-button-gradient-light);box-shadow:var(--primary-button-shadow-light)}body[data-theme=light] .btn--secondary{background:#fefeffd9;border-color:var(--secondary-button-border-light);color:#0f172a}body[data-theme=light] .btn--secondary:hover{background:#f1f5f9e6;transform:none;filter:none}.assumptions-panel{margin-top:24px;border-radius:16px;border:1px solid var(--surface-border-dark);background:var(--surface-bg-dark);padding:20px;box-shadow:var(--surface-shadow-dark)}body[data-theme=light] .assumptions-panel{border-color:var(--surface-border-light);background:var(--surface-bg-light);box-shadow:var(--surface-shadow-light)}.assumptions-title{margin:0 0 16px;font-size:1.1rem;font-weight:800;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:8px}.warning-message{margin-top:12px;padding:12px;border-radius:14px;background:#f871711f;color:#fca5a5;font-weight:600}body[data-theme=light] .warning-message{background:#f8717129;color:#b91c1c}.assumptions-content ul{margin:0;padding-left:20px;display:grid;gap:10px;color:inherit}.info-content h3,.info-content h4{margin-top:0;color:inherit}.info-content ul{padding-left:20px;margin:12px 0}.network-systems-content{display:grid;gap:20px}.network-systems-title{margin:0;text-align:center;font-size:1.9rem}.network-systems-content section{border-radius:14px;border:1px solid rgba(96,165,250,.12);padding:18px 20px;background:#0d1424a6;box-shadow:inset 0 1px #ffffff0a}.network-systems-content .article-group{border-radius:20px;border:1px solid rgba(96,165,250,.18);padding:22px;display:grid;gap:18px;background:#1e294a8c;box-shadow:inset 0 1px #ffffff14}.network-systems-content .article-group--tn{border-color:#818cf84d;background:#1e294aa6}.network-systems-content .article-group--tt{border-color:#60ead847;background:#13253899}.network-systems-content .article-group--it{border-color:#f8717147;background:#301c3499}body[data-theme=light] .network-systems-content section{border:1px solid rgba(15,23,42,.08);background:#f8fafcd9;box-shadow:inset 0 1px #fff9}body[data-theme=light] .network-systems-content .article-group{border:1px solid rgba(15,23,42,.14);background:#ffffffe6;box-shadow:inset 0 1px #ffffffb3}body[data-theme=light] .network-systems-content .article-group--tn{border-color:#4f46e547;background:#f4f5fff2}body[data-theme=light] .network-systems-content .article-group--tt{border-color:#0ea5e940;background:#ebf8fff2}body[data-theme=light] .network-systems-content .article-group--it{border-color:#f472b640;background:#fff0f5f2}.network-systems-content h4{margin:0 0 10px;font-size:1.05rem;font-weight:700}.network-systems-content ul{margin:0;display:grid;gap:10px;padding-left:18px}.network-systems-content li{line-height:1.45}.info-footnote{margin-top:4px;font-size:.85rem;opacity:.7;text-align:center}.empty-state{padding:40px;text-align:center;border-radius:16px;border:1px dashed rgba(148,163,184,.35);background:#0b122099;display:grid;gap:12px;box-shadow:var(--surface-shadow-dark)}body[data-theme=light] .empty-state{background:#ffffffeb;border-color:#94a3b859;box-shadow:var(--surface-shadow-light)}@media (max-width: 768px){.header-container{flex-direction:column;align-items:center;gap:12px;padding:20px 0 18px}.header-controls{position:static;transform:none;margin-top:6px}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.app-title{font-size:1.7rem;margin:6px 0 0}.app-icon{font-size:1.9rem}.theme-toggle{margin-bottom:6px}.form-actions{justify-content:stretch}.form-actions .btn--lg{flex:1 1 100%;min-width:0;width:100%;padding:0 24px}.tool-header{gap:6px;margin-bottom:16px}.tool-title{font-size:1.8rem;text-align:center}.tool-description{font-size:.95rem;text-align:center}.category-header{display:grid;gap:8px;justify-items:center;text-align:center;margin-bottom:18px}.category-title{font-size:1.7rem}.category-description{font-size:.95rem;max-width:420px}.segmented-tabs{flex-direction:column;gap:8px}.segmented-tabs__btn{width:100%}.network-systems-title{font-size:1.6rem}.network-systems-content section{padding:16px}}@media (max-width: 540px){.container{padding:0 16px}.main-content{padding:24px 0 36px}.calculator-form,.info-card{padding:20px}.assumptions-panel{padding:18px}.btn--lg{min-width:0}.tool-title{font-size:1.65rem}.tool-description{font-size:.9rem}.category-title{font-size:1.45rem}.category-description{font-size:.9rem}.category-header{gap:6px}.breadcrumb-list{flex-wrap:wrap;row-gap:8px}.category-tile{padding:20px}.calculator-form,.form-fields{gap:16px}.form-actions{gap:10px}.result-item{flex-direction:column;align-items:flex-start;gap:4px}.segmented-tabs{padding:8px}.network-systems-title{font-size:1.5rem}.network-systems-content section{padding:14px}}html,body{margin:0;padding:0;box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Noto Sans,Cantarell,Helvetica Neue,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji",sans-serif}*,*:before,*:after{box-sizing:inherit;font-family:inherit}#root{min-height:100vh}
