@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/b886574ba42c3409-s.1f4af8e6.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/c41ca59f1c34ba31-s.p.e20f337c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Fallback;src:local(Arial);ascent-override:85.29%;descent-override:25.5%;line-gap-override:0.0%;size-adjust:113.73%}.sora_93318f68-module__MOAP6q__className{font-family:Sora,Sora Fallback;font-style:normal}.sora_93318f68-module__MOAP6q__variable{--font-sora:"Sora","Sora Fallback"}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/da8a9dd0d68e512b-s.5851b7c1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/94b4a5dc1fe84361-s.79468464.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/ff5be760267bb4bc-s.4ba8127f.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/99596c30eb072d3c-s.ef30866c.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e5864b32625b6bc3-s.4f3f63ac.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e285ad1a914469f0-s.2df16460.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/47df9ba1c7236d3b-s.p.7bbb93ea.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Fallback";src:local(Arial);ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.0%;size-adjust:93.76%}.source_sans_3_13ed3a96-module__bGs-Yq__className{font-family:"Source Sans 3","Source Sans 3 Fallback";font-style:normal}.source_sans_3_13ed3a96-module__bGs-Yq__variable{--font-source:"Source Sans 3","Source Sans 3 Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.a82ecf4e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.afa48be3.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.764b43eb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.cb53f04b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.64b9304e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.6b5ea6af.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1dcddae6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.8da66e7f.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.e6cd1753.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.19510058.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_11570654-module__14Etbq__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_11570654-module__14Etbq__variable{--font-plex:"IBM Plex Mono","IBM Plex Mono Fallback"}
.platform-app-menu{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:inline-flex;position:relative}.platform-app-menu__trigger{border:1px solid var(--platform-menu-border,rgba(148,163,184,.35));background:var(--platform-menu-trigger-bg,rgba(15,23,34,.55));color:var(--platform-menu-text,#e2e8f0);cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .75rem;font-size:.875rem;font-weight:500;line-height:1;display:inline-flex}.platform-app-menu__trigger:hover,.platform-app-menu__trigger[aria-expanded=true]{border-color:var(--platform-menu-accent,#2dd4bf);background:var(--platform-menu-trigger-hover-bg,rgba(45,212,191,.12))}.platform-app-menu__trigger svg{flex-shrink:0}.platform-app-menu__panel{z-index:1000;color:#0f172a;background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:.85rem;min-width:18rem;max-width:22rem;padding:.5rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 16px 40px rgba(15,23,42,.12),0 0 0 1px rgba(15,23,42,.04)}.platform-app-menu__title{color:#64748b;letter-spacing:.06em;text-transform:uppercase;margin:.25rem .5rem .5rem;font-size:.72rem;font-weight:600}.platform-app-menu__list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.platform-app-menu__item{display:block}.platform-app-menu__link,.platform-app-menu__current{text-align:left;border:1px solid transparent;border-radius:.65rem;gap:.15rem;width:100%;padding:.65rem .75rem;text-decoration:none;display:grid}.platform-app-menu__link{color:inherit;cursor:pointer;background:0 0}.platform-app-menu__link:hover{background:rgba(15,23,42,.04);border-color:rgba(15,23,42,.1)}.platform-app-menu__current{border-color:var(--platform-menu-accent,#14b8a6);background:rgba(45,212,191,.12)}.platform-app-menu__name-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.platform-app-menu__name{color:#0f172a;font-size:.92rem;font-weight:600}.platform-app-menu__badge{background:var(--platform-menu-accent,#2dd4bf);color:#042f2e;text-transform:uppercase;border-radius:999px;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.platform-app-menu__description{color:#64748b;font-size:.78rem;line-height:1.35}.platform-app-menu__panel--launcher{flex-direction:column;min-width:20rem;max-width:20rem;max-height:min(28rem,100vh - 5rem);padding:.65rem;display:flex;overflow:hidden}.platform-app-menu__grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.platform-app-menu__grid-item{min-width:0;display:block}.platform-app-menu__tile{width:100%;color:inherit;cursor:pointer;background:0 0;border:1px solid transparent;border-radius:.75rem;flex-direction:column;align-items:center;gap:.35rem;padding:.55rem .35rem;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.platform-app-menu__tile:hover{background:rgba(15,23,42,.04);border-color:rgba(15,23,42,.1)}.platform-app-menu__tile--current{border-color:var(--platform-menu-accent,#14b8a6);cursor:default;background:rgba(45,212,191,.12)}.platform-app-menu__logo-wrap{background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:.7rem;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}.platform-app-menu__logo{object-fit:contain;width:2rem;height:2rem}.platform-app-menu__tile-name{text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#0f172a;max-width:100%;font-size:.68rem;font-weight:600;line-height:1.2;overflow:hidden}.platform-app-menu__show-all{color:#0f766e;background:#f1f5f9;border:1px solid rgba(15,23,42,.12);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.5rem;padding:.55rem .75rem;font-size:.82rem;font-weight:600;text-decoration:none;display:flex}.platform-app-menu__show-all:hover{border-color:var(--platform-menu-accent,#14b8a6);color:#0d9488;background:rgba(45,212,191,.12)}
:root{--platform-topbar-h:48px}.platform-topbar{z-index:25;height:var(--platform-topbar-h);background:var(--bg-elevated,rgba(15,23,34,.95));border-bottom:1px solid var(--border,rgba(148,163,184,.2));justify-content:flex-end;align-items:center;gap:.75rem;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.platform-topbar__leading{align-items:center;gap:4px;min-width:0;margin-right:auto;display:none}.platform-topbar__menu{color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:0;padding:8px;display:flex}.platform-topbar__brand{min-width:0;color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.platform-topbar__brand-title{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.02em;font-size:14px;font-weight:700;overflow:hidden}.platform-app-topbar{justify-content:flex-end;align-items:center;width:100%;margin-bottom:1rem;display:flex}.platform-app-toolbar{flex-shrink:0;align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.platform-app-toolbar__signout{border:1px solid var(--platform-menu-border,rgba(148,163,184,.35));color:var(--platform-menu-muted,#94a3b8);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1;display:inline-flex}.platform-app-toolbar__signout:hover{color:var(--platform-menu-text,#e2e8f0);border-color:var(--platform-menu-accent,#2dd4bf)}@media (max-width:768px){.platform-topbar{padding:0 16px}.platform-topbar__leading{display:flex}}.platform-topbar--inset{height:auto;min-height:var(--platform-topbar-h);flex-shrink:0;position:static}
:root{--bg:#e8ecef;--bg-elevated:#f3f5f7;--fg:#1a2430;--muted:#5a6876;--line:#cfd6dc;--accent:#1a6f66;--accent-soft:#d5ebe7;--warn:#8f6200;--warn-soft:#f5e9c8;--danger:#a12a2a;--danger-soft:#f6e4e4;--ok:#1f7040;--ok-soft:#dcefe4;--info:#1a5a8a;--shadow:0 14px 32px rgba(26,36,48,.07);--radius:18px;--font-display:"Sora","Avenir Next",sans-serif;--font-body:"Source Sans 3","Segoe UI",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-body);color:var(--fg);background:radial-gradient(900px 420px at 0% -8%,color-mix(in srgb,var(--accent)10%,transparent),transparent 55%),radial-gradient(700px 360px at 100% 0%,color-mix(in srgb,var(--info)8%,transparent),transparent 50%),var(--bg);line-height:1.5}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select{font:inherit}code,.mono{font-family:var(--font-mono);font-size:.92em}.app-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.topbar{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-elevated)88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.5rem;display:flex;position:-webkit-sticky;position:sticky;top:0}.brand{align-items:center;gap:.75rem;min-width:0;display:flex}.brand-logo{object-fit:contain;flex-shrink:0;width:40px;height:36px;display:block}.brand-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.brand strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.05rem}.brand-text>span{color:var(--muted);font-size:.82rem}.nav{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.nav a,.nav-signout{align-items:center;gap:.4rem;display:inline-flex}.nav-icon{opacity:.9;flex-shrink:0}.nav a{border:1px solid var(--line);background:var(--bg-elevated);color:var(--fg);border-radius:999px;padding:.4rem .85rem;font-size:.92rem}.nav a[data-active=true]{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent)40%,var(--line));color:var(--accent)}.topbar-actions{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.nav-signout{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.4rem .85rem;font-size:.92rem}.nav-signout:hover{color:var(--fg);border-color:color-mix(in srgb,var(--accent)35%,var(--line))}.auth-gate{background:radial-gradient(700px 360px at 10% 0%,color-mix(in srgb,var(--accent)12%,transparent),transparent 55%),var(--bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-gate-card{text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);width:min(100%,24rem);box-shadow:var(--shadow);padding:2rem 1.5rem}.auth-gate-card h1{font-family:var(--font-display);margin:.85rem 0 .4rem;font-size:1.25rem}.auth-gate-card p{color:var(--muted);margin:0}.auth-gate-logo{width:3rem;height:auto;margin:0 auto}.auth-gate-error{color:var(--danger)!important;margin-bottom:.75rem!important}.auth-spinner{border:3px solid color-mix(in srgb,var(--accent)25%,var(--line));border-top-color:var(--accent);border-radius:999px;width:2rem;height:2rem;margin:0 auto .85rem;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.nav-progress{display:none}.loading-modal{z-index:80;pointer-events:all;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}html.nav-pending .main>.loading-modal{display:none}.loading-modal-backdrop{background:color-mix(in srgb,var(--bg)62%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:absolute;top:0;bottom:0;left:0;right:0}.loading-modal-card{z-index:1;border:1px solid var(--line);background:var(--bg-elevated);min-width:10rem;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;padding:1.35rem 1.6rem;animation:.16s ease-out loading-modal-in;display:flex;position:relative}.loading-modal-card .auth-spinner{border-width:2.5px;width:1.65rem;height:1.65rem;margin:0}.loading-modal-label{color:var(--muted);letter-spacing:.01em;margin:0;font-size:.95rem;font-weight:650}@keyframes loading-modal-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.nav-loading-overlay{z-index:80;background:color-mix(in srgb,var(--bg)62%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:all;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.nav-loading-card{border:1px solid var(--line);background:var(--bg-elevated);min-width:10rem;box-shadow:var(--shadow);color:var(--muted);border-radius:16px;flex-direction:column;align-items:center;gap:.85rem;padding:1.35rem 1.6rem;font-size:.95rem;display:flex}.nav-loading-card .auth-spinner{margin:0}.nav-item-spinner{display:none}a.is-nav-loading{opacity:.85}.route-loading{z-index:80;background:color-mix(in srgb,var(--bg)62%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);min-height:0;color:var(--muted);text-align:center;pointer-events:all;place-items:center;gap:.85rem;margin:0;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.route-loading .auth-spinner{margin:0}.route-loading p{margin:0;font-weight:650}.theme-btn{border:1px solid var(--line);background:var(--bg-elevated);color:var(--fg);cursor:pointer;border-radius:999px;padding:.4rem .85rem;font-size:.92rem}.theme-btn:hover{border-color:color-mix(in srgb,var(--accent)40%,var(--line));color:var(--accent)}.main{width:min(1800px,100% - 1.5rem);margin:1.5rem auto 2.5rem}.main:has(.page-with-nav){width:min(1840px,100% - 1.5rem)}.page-with-nav{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:1.75rem;display:grid}.section-nav{z-index:10;align-self:start;position:-webkit-sticky;position:sticky;top:4.75rem}.section-nav-inner{border:1.5px solid color-mix(in srgb,var(--line)55%,#6b7785);box-shadow:0 1px 0 color-mix(in srgb,var(--line)50%,transparent),var(--shadow);background:#fff;border-radius:16px;padding:.85rem .75rem}.section-nav-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:.35rem;padding:0 .55rem .65rem;font-size:.72rem;font-weight:700}.section-nav ul{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.section-nav a{color:var(--muted);border:1px solid transparent;border-left-width:3px;border-radius:10px;align-items:center;gap:.45rem;padding:.5rem .65rem;font-size:.9rem;line-height:1.3;display:flex}.section-nav a:hover{color:var(--fg);background:color-mix(in srgb,var(--accent-soft)45%,transparent);border-color:color-mix(in srgb,var(--line)80%,transparent)}.section-nav a.section-nav-active{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent)28%,var(--line));border-left-color:var(--accent);font-weight:700}.section-nav-sub{border-left:1px solid var(--line);flex-direction:column;gap:.1rem;margin:.2rem 0 .35rem;padding:0 0 0 .65rem;list-style:none;display:flex}.section-nav a.section-nav-nested{color:var(--muted);padding:.35rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem}.section-nav a.section-nav-nested.section-nav-active{color:var(--accent)}.section-anchor{scroll-margin-top:5rem}@media (max-width:960px){.page-with-nav{grid-template-columns:1fr}.section-nav{z-index:15;position:-webkit-sticky;position:sticky;top:3.6rem}.section-nav-inner{padding:.65rem}.section-nav-title{display:none}.section-nav ul{flex-wrap:nowrap;gap:.35rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.section-nav a{white-space:nowrap;border-bottom:2px solid transparent;border-left:1px solid transparent;font-size:.85rem}.section-nav a.section-nav-active{border-left-color:color-mix(in srgb,var(--accent)28%,var(--line));border-bottom-color:var(--accent)}}.hero{gap:.75rem;margin-bottom:1.5rem;display:grid}.hero h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:max(1.8rem,min(3vw,2.6rem));line-height:1.15}.hero p{max-width:72ch;color:var(--muted);margin:0;font-size:1.05rem}.metrics{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:.75rem;margin:1.25rem 0 1.75rem;display:grid}.metrics.metrics-slo{grid-template-columns:repeat(6,minmax(0,1fr))}.metric{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.2rem;min-width:0;padding:.9rem .85rem;display:flex}.metric .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:650;line-height:1.25;overflow:hidden}.metric .metric-scope{color:var(--muted);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;min-height:1rem;font-size:.68rem;font-weight:600;line-height:1.2;overflow:hidden}.metric .value{font-family:var(--font-display);letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:max(1.2rem,min(1.6vw,1.65rem));font-weight:700;line-height:1.15;overflow:hidden}.metric.warn .value{color:var(--warn)}.metric.danger .value{color:var(--danger)}.metric.ok .value{color:var(--ok)}@media (max-width:1100px){.metrics.metrics-slo{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.metrics.metrics-slo{grid-template-columns:repeat(2,minmax(0,1fr))}}.slo-overview{gap:1rem;margin:1.25rem 0 1.75rem;padding:1.15rem 1.25rem 1.2rem;display:grid}.slo-overview-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.85rem 1.25rem;display:flex}.slo-overview-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.15rem}.slo-overview-head p{color:var(--muted);margin:.3rem 0 0;font-size:.9rem}.slo-compare{border:1px solid var(--line);background:color-mix(in srgb,var(--bg)55%,transparent);border-radius:12px;align-items:center;gap:.65rem;padding:.45rem .7rem;display:flex}.slo-compare-item{flex-direction:column;gap:.1rem;min-width:4.5rem;display:flex}.slo-compare-item strong{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700;line-height:1.1}.slo-compare-item.is-ok strong{color:var(--ok)}.slo-compare-item.is-warn strong{color:var(--warn)}.slo-compare-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.7rem;font-weight:650}.slo-compare-vs{color:var(--muted);font-size:.78rem;font-weight:600}.slo-mix-bar{background:color-mix(in srgb,var(--line)55%,transparent);border:1px solid var(--line);border-radius:999px;width:100%;height:2.35rem;display:flex;overflow:hidden}.slo-mix-seg{color:#fff;letter-spacing:.01em;white-space:nowrap;justify-content:center;align-items:center;min-width:0;font-size:.78rem;font-weight:700;display:flex;overflow:hidden}.slo-mix-seg.is-ok{background:#16a34a}.slo-mix-seg.is-warn{background:#d97706}.slo-mix-seg.is-danger{background:#dc2626}.slo-mix-seg.is-muted{background:#64748b}.slo-mix-legend{flex-wrap:wrap;gap:.65rem 1.15rem;display:flex}.slo-mix-legend-item{align-items:center;gap:.4rem;font-size:.88rem;display:inline-flex}.slo-mix-dot{border-radius:999px;flex-shrink:0;width:.65rem;height:.65rem}.slo-mix-dot.is-ok{background:#16a34a}.slo-mix-dot.is-warn{background:#d97706}.slo-mix-dot.is-danger{background:#dc2626}.slo-mix-dot.is-muted{background:#64748b}.slo-overview-metrics{border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;padding-top:.35rem;display:grid}@media (max-width:900px){.slo-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.slo-overview-metrics{grid-template-columns:1fr}}.slo-metric{text-align:center;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:.35rem;padding:.65rem .35rem .2rem;display:flex}.slo-metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;min-height:0;font-size:.7rem;font-weight:650;line-height:1.25}.slo-metric-value{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:0;padding-top:0;font-size:1.75rem;font-weight:700;line-height:1.1}.slo-metric-hint{min-height:1.25em;margin-top:0;font-size:.78rem;line-height:1.25}.slo-metric.ok .slo-metric-value{color:var(--ok)}.slo-metric.warn .slo-metric-value{color:var(--warn)}.slo-metric.danger .slo-metric-value{color:var(--danger)}.availability-cost{flex-direction:column;gap:.05rem;line-height:1.15;display:inline-flex}.availability-cost-usd{font-weight:700}.availability-cost-idr{color:var(--muted);font-size:.72em;font-weight:500}.availability-cost.is-projected .availability-cost-usd{color:var(--accent)}.section{margin:2rem 0}.section-head{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.9rem;display:flex}.section-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.35rem}.section-head p{color:var(--muted);margin:.25rem 0 0}.client-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem;display:grid}@media (max-width:1400px){.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1000px){.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.client-grid{grid-template-columns:1fr}}.client-card{border-radius:var(--radius);color:#1a2430;background:#f7f8fa;border:1px solid rgba(15,23,42,.08);flex-direction:column;gap:.85rem;min-height:240px;padding:1.2rem;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;box-shadow:0 10px 24px rgba(26,36,48,.06)}.client-card:hover{border-color:color-mix(in srgb,var(--accent)40%,rgba(15,23,42,.12));transform:translateY(-2px);box-shadow:0 14px 32px rgba(15,23,42,.12)}.client-card-head{flex-direction:column;align-items:flex-start;gap:.85rem;display:flex}.client-card-titles{flex-direction:column;justify-content:center;gap:.2rem;width:100%;min-width:0;display:flex}.client-card h3{font-family:var(--font-display);letter-spacing:-.02em;color:#121a2b;margin:0;font-size:1.35rem;line-height:1.15}.client-tagline{color:#3d6f8f;letter-spacing:.01em;margin:0;font-size:.84rem;font-weight:600;line-height:1.25}.client-card .desc{color:#4b5872;flex:1;font-size:.92rem;line-height:1.45}.client-card .chip{color:#334155;background:#f4f7fb;border-color:rgba(15,23,42,.1)}.client-card .stat-row{color:#64748b}.client-card .stat-row strong{color:#152033}.availability-card{gap:.85rem;display:grid}.availability-card .client-card-head{align-items:flex-start}.availability-envs{border-top:1px solid color-mix(in srgb,var(--line)80%,transparent);gap:.4rem;padding-top:.15rem;display:grid}.availability-env-row{grid-template-columns:minmax(0,1.4fr) auto auto;align-items:center;gap:.5rem .75rem;font-size:.86rem;display:grid}.availability-env-labels{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.availability-env-uptime{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.availability-env-latency{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:4.5rem}.availability-env-uptime.ok{color:var(--ok)}.availability-env-uptime.warn{color:var(--warn)}.availability-env-uptime.danger{color:var(--danger)}.client-dashboard-envs{gap:.55rem;margin-top:.9rem;display:grid}.client-dashboard-env{border:1px solid var(--line);background:color-mix(in srgb,var(--bg)65%,var(--bg-elevated));color:inherit;border-radius:10px;gap:.4rem;padding:.7rem .85rem;text-decoration:none;display:grid}.client-dashboard-env:hover{border-color:color-mix(in srgb,var(--accent)35%,var(--line))}.client-dashboard-env-head{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.client-dashboard-env-head .slo-badge{margin-left:auto}.client-dashboard-env-metrics{color:var(--muted);flex-wrap:wrap;gap:.75rem 1rem;font-size:.86rem;display:flex}.client-dashboard-env-metrics strong{color:var(--fg)}.client-dashboard-env-metrics strong.ok{color:var(--ok)}.client-dashboard-env-metrics strong.warn{color:var(--warn)}.client-dashboard-env-metrics strong.danger{color:var(--danger)}.availability-cost-envs{margin-top:.15rem}.availability-cost-env-row .availability-env-uptime,.availability-cost-env-row .availability-env-latency{font-weight:650}.availability-cost-env-row .availability-env-latency .availability-cost{justify-content:flex-end}.client-dashboard-estate-summary{color:var(--muted);margin:0 0 .85rem;font-size:.92rem;line-height:1.45}.client-dashboard-estate-details{border-top:1px solid color-mix(in srgb,var(--line)80%,transparent);gap:.75rem;margin-top:.95rem;padding-top:.85rem;display:grid}.client-dashboard-estate-block{gap:.35rem;display:grid}.client-dashboard-estate-chips{flex-wrap:wrap;gap:.35rem;display:flex}.client-dashboard-metric-suffix{color:var(--muted);font-size:.78em;font-weight:600}.availability-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .85rem;display:grid}.availability-metrics .label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem;font-weight:650}.availability-metrics .value{font-family:var(--font-display);margin-top:.15rem;font-size:1.15rem;font-weight:700;line-height:1.2}.availability-metrics .value.ok{color:var(--ok)}.availability-metrics .value.warn{color:var(--warn)}.availability-metrics .value.danger{color:var(--danger)}.availability-error{color:var(--danger);margin:0;font-size:.82rem}.slo-badge{letter-spacing:.02em;background:color-mix(in srgb,var(--muted)16%,transparent);color:var(--muted);border:1px solid var(--line);border-radius:999px;flex-shrink:0;align-items:center;margin-left:auto;padding:.28rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.slo-badge.ok{background:color-mix(in srgb,var(--ok)16%,transparent);color:var(--ok);border-color:color-mix(in srgb,var(--ok)35%,transparent)}.slo-badge.warn{background:color-mix(in srgb,var(--warn)18%,transparent);color:var(--warn);border-color:color-mix(in srgb,var(--warn)35%,transparent)}.slo-badge.danger{background:color-mix(in srgb,var(--danger)16%,transparent);color:var(--danger);border-color:color-mix(in srgb,var(--danger)35%,transparent)}.tenant-table-hint{color:var(--muted);margin:0 0 .65rem;padding:0 .15rem;font-size:.88rem}.tenant-row-link td{cursor:pointer}.tenant-row-link a.tenant-row-fill,.tenant-row-link td.mono>a{color:inherit;text-decoration:none;display:block}.tenant-row-link:hover{background:color-mix(in srgb,var(--accent-soft)45%,transparent)}.tenant-detail-crumb{color:var(--muted);margin:0 0 .35rem;font-size:.85rem}.tenant-detail-crumb a{color:var(--accent)}.tenant-rationale h3{margin:0 0 .55rem;font-size:1rem}.tenant-rationale-list{color:var(--text);gap:.4rem;margin:0;padding-left:1.15rem;line-height:1.45;display:grid}.tenant-threshold-note{color:var(--muted);margin:.85rem 0 0;font-size:.82rem}.client-kuma-hint{color:var(--muted);margin:.35rem 0 0;font-size:.95rem}.client-kuma-hint a{color:var(--accent);font-weight:650}.section-count{background:var(--accent-soft);min-width:2rem;height:2rem;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;padding:0 .65rem;font-size:.9rem;font-weight:700;display:inline-flex}.client-logo-frame{box-sizing:border-box;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;max-width:100%;padding:.85rem 1.1rem;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);width:100%!important;height:88px!important}.client-logo{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.client-logo-fallback{color:#3d6f8f;font-family:var(--font-display);background:#e8eef5;font-size:1.35rem;font-weight:700}.client-hero .client-hero-row{grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr);align-items:center;gap:1.5rem 2rem;display:grid}.client-hero .client-hero-brand{align-items:center;gap:1.25rem;min-width:0;margin-bottom:0;display:flex}.client-hero .client-hero-titles{min-width:0}.client-hero .client-hero-brand h1{letter-spacing:-.035em;margin:0;font-size:max(2.35rem,min(4.2vw,3.4rem));line-height:1.05}.client-hero .client-tagline{color:var(--muted);margin:.35rem 0 0;font-size:1.05rem;line-height:1.25}.client-hero .client-hero-copy{gap:.35rem;min-width:0;display:grid}.client-hero .client-hero-copy>p{max-width:none;margin:0;font-size:1.05rem;line-height:1.45}.client-hero .client-logo-frame{background:#fff;border-color:rgba(15,23,42,.08);padding:1.1rem 1.4rem;box-shadow:0 4px 14px rgba(15,23,42,.08);width:300px!important;height:128px!important}@media (max-width:900px){.client-hero .client-hero-row{grid-template-columns:1fr;gap:1rem}.client-hero .client-logo-frame{width:240px!important;height:104px!important}.client-hero .client-hero-brand h1{font-size:max(2rem,min(7vw,2.6rem))}}.client-doc-links{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.client-doc-link{color:#fff;background:#1a6f66;border:1px solid #1a6f66;border-radius:10px;align-items:center;padding:.45rem .85rem;font-size:.88rem;font-weight:650;text-decoration:none;display:inline-flex}.client-doc-link:hover{background:#155a53;border-color:#155a53}.client-doc-link-secondary{color:#1a6f66;background:#d8ebe8;border-color:#b7d8d3}.client-doc-link-secondary:hover{background:#c5e0db;border-color:#9ecac3}.client-documents-list{gap:.75rem;display:grid}.client-documents-card{border:1px solid var(--line);background:var(--bg-elevated);color:inherit;border-radius:12px;padding:1rem 1.15rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.client-documents-card:hover{border-color:color-mix(in srgb,var(--accent)35%,var(--line));box-shadow:0 4px 14px rgba(15,23,42,.06)}.client-documents-title{color:var(--fg);font-size:1.02rem;font-weight:700}.client-documents-desc{color:var(--muted);margin-top:.3rem;font-size:.92rem;line-height:1.4}.client-documents-meta{color:var(--muted);margin-top:.45rem;font-size:.78rem}.client-document-viewer .client-document-frame-wrap{min-height:min(78vh,920px);padding:0;overflow:hidden}.client-document-frame{background:#fff;border:0;width:100%;height:min(78vh,920px);display:block}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{border:1px solid var(--line);background:var(--bg);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.15rem .55rem;font-size:.78rem}.chip-muted{opacity:.85;text-transform:none;letter-spacing:.01em;margin-left:.35rem;font-weight:600}.stat-row{color:var(--fg);gap:1rem;font-size:.95rem;display:flex}.stat-row strong{font-family:var(--font-display)}.panel{border:1.5px solid color-mix(in srgb,var(--line)55%,#6b7785);border-radius:var(--radius);box-shadow:0 1px 0 color-mix(in srgb,var(--line)50%,transparent),var(--shadow);background:#fff;overflow:hidden}.panel-body{padding:1rem}.page-with-nav-content .section>.panel,.page-with-nav-content .section .curl-trace-finder.panel,.page-with-nav-content .section .trace-ql-examples.panel,.page-with-nav-content .section .trace-split>.panel{border:1.5px solid #8b97a5;padding:1.35rem 1.5rem;box-shadow:0 1px 2px rgba(15,23,42,.07),0 0 0 1px rgba(15,23,42,.02)}.page-with-nav-content .section>.panel>.panel-body{padding:0}.page-with-nav-content .section .panel>.section-head{border-bottom:1px solid var(--line);align-items:flex-start;margin-bottom:1rem;padding-bottom:.85rem}.page-with-nav-content .section .panel>.section-head h2{margin-bottom:.25rem}.page-with-nav-content .section .panel>.section-head p{margin:.2rem 0 0;line-height:1.5}.page-with-nav-content .section .panel .table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px}.page-with-nav-content .section .panel .table-wrap table.data th,.page-with-nav-content .section .panel .table-wrap table.data td{padding:.75rem .9rem}.page-with-nav-content .section .panel .empty{padding:.85rem .25rem}.meta-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem 1.25rem;margin-bottom:1.25rem;display:grid}.meta-grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.8rem}.meta-grid dd{word-break:break-word;margin:.15rem 0 0;font-weight:600}.client-dashboard{gap:1.35rem;display:grid}.client-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.client-dashboard-panel>.section-head{margin:0;padding:.9rem 1rem .55rem}.client-dashboard-panel>.panel-body{padding-top:.35rem}.client-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.client-dashboard-text{text-transform:none;letter-spacing:0;font-size:1rem!important;font-weight:650!important}.client-dashboard-links{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.client-dashboard-link{border:1px solid var(--line);background:var(--bg-elevated);color:inherit;border-radius:14px;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.client-dashboard-link:hover{border-color:color-mix(in srgb,var(--accent)45%,var(--line));background:color-mix(in srgb,var(--accent)6%,var(--bg-elevated))}.client-dashboard-link-icon{background:color-mix(in srgb,var(--accent)10%,transparent);width:2rem;height:2rem;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.client-dashboard-link-copy{gap:.15rem;min-width:0;display:grid}.client-dashboard-link-copy strong{font-size:.95rem}.client-dashboard-link-copy span{color:var(--muted);font-size:.82rem;line-height:1.35}@media (max-width:1100px){.client-dashboard-grid{grid-template-columns:1fr}}.filters{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg)55%,var(--bg-elevated));flex-wrap:wrap;gap:.55rem;padding:.9rem 1rem;display:flex}.filters input,.filters select{border:1px solid var(--line);background:var(--bg-elevated);color:var(--fg);border-radius:12px;min-width:160px;padding:.55rem .75rem}.filters input{flex:1;min-width:220px}.table-wrap{max-height:min(70vh,820px);overflow:auto}.table-wrap.table-wrap-full{max-height:none;overflow:visible}.table-wrap.table-wrap-full table.data th{position:static}table.data{border-collapse:collapse;width:100%;font-size:.92rem}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.65rem .75rem}table.data th{background:var(--bg-elevated);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;z-index:1;font-size:.78rem;position:-webkit-sticky;position:sticky;top:0}table.data tbody tr:hover{background:color-mix(in srgb,var(--accent-soft)35%,transparent)}.badge{text-transform:capitalize;border:1px solid transparent;border-radius:999px;align-items:center;padding:.12rem .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.badge.in_sync,.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.declared_only,.badge.warn,.badge.medium{background:var(--warn-soft);color:var(--warn)}.badge.unmanaged,.badge.deployed_only,.badge.danger,.badge.high,.badge.critical{background:var(--danger-soft);color:var(--danger)}.badge.unknown,.badge.info{background:color-mix(in srgb,var(--info)15%,var(--bg));color:var(--info)}.badge.badge-warning{color:#b45309;text-transform:none;background:#fffbeb;border-color:#fde68a}.badge.badge-success{color:#047857;text-transform:none;background:#ecfdf5;border-color:#a7f3d0}.billing-panel{gap:1rem;display:grid}.billing-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;display:flex}.billing-field{color:var(--muted);gap:.25rem;font-size:.82rem;display:grid}.billing-field select{border:1px solid var(--line);background:var(--bg-elevated);min-width:12rem;color:var(--fg);border-radius:10px;padding:.4rem .55rem}.billing-refresh{border:1px solid var(--line);background:var(--bg-elevated);color:var(--fg);cursor:pointer;border-radius:10px;padding:.45rem .85rem}.billing-refresh:hover{border-color:var(--accent);color:var(--accent)}.billing-export{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.billing-export-btn{border:1px solid var(--line);background:var(--bg-elevated);color:var(--fg);cursor:pointer;font:inherit;border-radius:10px;padding:.45rem .75rem;font-size:.9rem}.billing-export-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.billing-export-btn:disabled{opacity:.45;cursor:not-allowed}.billing-error{background:var(--danger-soft);color:var(--danger);border-radius:12px;margin:0;padding:.65rem .85rem}.billing-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.billing-summary-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:14px;padding:.85rem 1rem}.billing-summary-card-btn{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;transition:background .15s,border-color .15s;display:block}.billing-summary-card-btn:hover,.billing-summary-card-btn.is-open{background:color-mix(in srgb,var(--accent)10%,transparent);border-color:color-mix(in srgb,var(--accent)35%,var(--line))}.billing-summary-projected{border-color:color-mix(in srgb,var(--accent)28%,var(--line));background:color-mix(in srgb,var(--accent)6%,var(--bg-elevated))}.billing-summary-hint{opacity:.75}.billing-chart-hint{margin:0 0 .5rem;font-size:.82rem}.billing-month-th{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;padding:0;font-weight:650;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.billing-month-th:hover,.billing-month-th.is-open{color:var(--accent)}.billing-drilldown-grid{gap:1rem;display:grid}@media (min-width:960px){.billing-drilldown-grid{grid-template-columns:minmax(240px,1fr) minmax(280px,1.1fr);align-items:start}}.billing-drilldown-chart{background:color-mix(in srgb,var(--bg)40%,transparent);border:1px solid var(--line);border-radius:8px;min-height:160px;padding:.5rem .35rem .35rem 0}.billing-summary-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.billing-summary-value{font-family:var(--font-display);margin-top:.2rem;font-size:1.35rem;font-weight:700}.billing-summary-meta{margin-top:.35rem;font-size:.85rem}.billing-chart{width:100%;height:260px}.billing-chart-tall{height:320px}.billing-panel>.panel.billing-compare-panel,.billing-panel>.panel.billing-chart-panel{padding:1.35rem 1.5rem}.billing-panel>.panel.billing-compare-panel>.panel-body,.billing-panel>.panel.billing-chart-panel>.panel-body{padding:0}.billing-compare-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem}.billing-compare-table tbody tr.billing-compare-row{background:0 0}.billing-fx-note{margin:0;font-size:.82rem}.billing-money{white-space:nowrap;flex-direction:column;gap:.1rem;line-height:1.2;display:inline-flex}.billing-money-usd{font-weight:600}.billing-money-idr{color:var(--muted);font-size:.78em;font-weight:500}.billing-summary-value .billing-money{font-family:var(--font-display);font-size:1.05rem}.billing-summary-value .billing-money-usd{font-size:1.35rem;font-weight:700}.billing-compare-row{cursor:pointer}.billing-compare-row:hover,.billing-compare-row.is-open{background:color-mix(in srgb,var(--accent)8%,transparent)}.billing-row-toggle{width:.9rem;color:var(--muted);font-size:.75rem;display:inline-block}.billing-drilldown-row>td{background:color-mix(in srgb,var(--bg)70%,#fff);padding:0!important}.billing-drilldown{border-top:1px solid var(--line);padding:.85rem 1rem 1rem}.billing-drilldown-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.65rem;font-size:.78rem;font-weight:650}.billing-drilldown-table{width:100%}.billing-drilldown-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.7rem}.billing-service-scroll{overflow-x:auto}.billing-service-scroll table{min-width:720px}.billing-empty-detail{padding:1rem 1.1rem}.billing-account-status{gap:.55rem;margin:.75rem 0 0;padding-left:1.1rem;display:grid}.billing-sync-error{color:var(--danger);white-space:pre-wrap;margin-top:.25rem;font-size:.85rem}.repo-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.repo-list li{border:1px solid var(--line);background:var(--bg-elevated);border-radius:14px;justify-content:space-between;gap:1rem;padding:.85rem 1rem;display:flex}.repo-list .name{font-weight:700;font-family:var(--font-display)}.repo-list .meta{color:var(--muted);font-size:.9rem}.footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:1rem 1.5rem 1.5rem;font-size:.9rem}.empty{color:var(--muted);text-align:center;padding:2rem}.mermaid-wrap{background:color-mix(in srgb,var(--bg)70%,var(--bg-elevated));border-radius:14px;padding:.5rem;overflow:auto}.mermaid-wrap svg{max-width:100%;height:auto;margin:0 auto;display:block}.chip-btn{cursor:pointer;border:1px solid var(--line);background:var(--bg-elevated)}.chip-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent)45%,var(--line));color:var(--accent);font-weight:700}.row-clickable{cursor:pointer}.row-active{background:color-mix(in srgb,var(--accent-soft)55%,transparent)}.topology .section-head{align-items:center}.detail summary{cursor:pointer;font-weight:600}.detail .body{color:var(--muted);margin-top:.4rem;font-size:.85rem}.spec-bullets{gap:.15rem;margin:0;padding:0;font-size:.86rem;line-height:1.35;list-style:none;display:grid}.spec-bullets li:before{content:"• ";color:var(--muted)}.spec-bullets li.spec-cost{color:var(--accent);margin-top:.35rem;font-weight:700}.spec-bullets li.spec-cost-idr{color:color-mix(in srgb,var(--accent)75%,var(--muted));margin-top:.1rem;font-size:.9em;font-weight:600}.spec-bullets li.spec-cost:before{content:""}.metric-sub{color:var(--muted);margin-top:.25rem;font-size:.85rem;font-weight:600}div.spec-cost-idr{color:color-mix(in srgb,var(--accent)75%,var(--muted));margin-top:.15rem;font-size:.9rem;font-weight:600}.spec-cost-box{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.75rem}.spec-cost-total{color:var(--accent);font-size:1.05rem;font-weight:700}.spec-cost-breakdown{color:var(--muted);gap:.25rem;margin:.45rem 0 0;padding:0;font-size:.82rem;list-style:none;display:grid}.spec-cost-breakdown li{justify-content:space-between;gap:.75rem;display:flex}.spec-totals-row td{background:color-mix(in srgb,var(--accent-soft)40%,var(--bg-elevated));border-top:2px solid var(--line);font-size:.95rem}.spec-totals-row .spec-cost{color:var(--accent)}.spec-subtitle{color:var(--muted);font-size:.85rem;font-weight:400}.spec-layer{margin-top:.35rem}table.spec-matrix td{min-width:160px}.spec-drill-head h3{font-family:var(--font-display);margin:0 0 .25rem}.spec-drill-head p{color:var(--muted);margin:0;font-size:.9rem}.spec-env-grid{gap:.85rem;margin:1rem 0;display:grid}.spec-env-card{border:1px solid var(--line);background:color-mix(in srgb,var(--bg)55%,var(--bg-elevated));border-radius:14px;padding:.85rem 1rem}.spec-env-card h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .55rem;font-size:.82rem}.spec-compare{border-top:1px dashed var(--line);margin-top:.75rem;padding-top:.75rem}.spec-compare .label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.35rem;font-size:.75rem}.spec-drill-inventory h4{margin:0 0 .65rem}.spec-drill-inventory .panel{box-shadow:none;background:0 0;border:none}.spec-drill-inventory .muted,.muted{color:var(--muted)}.hardware-matrix .section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.topology-legend{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:.85rem 1.25rem;font-size:.82rem;display:flex}.topology-legend span{align-items:center;gap:.4rem;display:inline-flex}.legend-swatch{border:1.5px solid var(--line);background:var(--bg-elevated);width:.85rem;height:.85rem;display:inline-block}.legend-actor{border-radius:999px}.legend-edge{background:color-mix(in srgb,#2563eb 25%,var(--bg));border-color:#2563eb;border-radius:999px/60%}.legend-compute{background:color-mix(in srgb,#4f46e5 25%,var(--bg));border-color:#4f46e5;border-radius:4px}.legend-data{background:color-mix(in srgb,#16a34a 25%,var(--bg));border-color:#16a34a;border-radius:40%/20%}.legend-ops{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);background:color-mix(in srgb,#ea580c 30%,var(--bg));border:none;width:1rem;height:1rem}.trace-query-section{padding:1.2rem 1.35rem}.trace-filters{border-radius:var(--radius);background:#fff;border:1.5px solid #8b97a5;flex-wrap:wrap;align-items:end;gap:.85rem 1rem;margin:0 0 1.5rem;padding:1.2rem 1.35rem;display:flex;box-shadow:0 1px 2px rgba(15,23,42,.07),0 0 0 1px rgba(15,23,42,.02)}.trace-filters-embedded{box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.trace-curl-toggle{align-items:center;gap:.4rem;display:inline-flex}.trace-curl-toggle.is-open{border-color:color-mix(in srgb,var(--accent)45%,#8b97a5)}.trace-curl-expand{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.trace-curl-expand-hint{color:var(--muted);margin:0 0 .85rem;font-size:.92rem;line-height:1.45}.curl-trace-finder.is-embedded{box-shadow:none;background:0 0;border:none;margin:0;padding:0}.section.is-trace-refreshing{opacity:.92;transition:opacity .15s}button.trace-service-link{color:inherit;cursor:pointer;text-align:left;font:inherit;background:0 0;border:none;padding:0}button.trace-service-link:hover{text-decoration:underline}button.trace-service-link:disabled{cursor:wait;opacity:.7}.trace-filters label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex-direction:column;gap:.45rem;font-size:.78rem;font-weight:600;display:flex}.trace-filters select,.trace-filters input{min-width:10rem;color:inherit;font:inherit;text-transform:none;letter-spacing:normal;background:#fff;border:1.5px solid #8b97a5;border-radius:10px;padding:.6rem .75rem;font-weight:500}.trace-filter-query{flex:16rem}.trace-filter-query input{width:100%;min-width:12rem}.trace-filters button{cursor:pointer;border:none}.trace-mimir-note{color:var(--muted);margin:-.5rem 0 1.25rem;font-size:.92rem}.trace-ql-examples .trace-ql-example-query{white-space:pre-wrap;word-break:break-word;max-width:36rem;font-size:.82rem;line-height:1.35;display:inline-block}.trace-ql-examples td:last-child{white-space:nowrap;vertical-align:middle}.curl-trace-finder .curl-trace-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex-direction:column;gap:.4rem;font-size:.78rem;font-weight:600;display:flex}.curl-trace-input{box-sizing:border-box;width:100%;min-height:8rem;color:inherit;resize:vertical;text-transform:none;letter-spacing:normal;background:#fff;border:1.5px solid #8b97a5;border-radius:12px;padding:.85rem 1rem;font-size:.82rem;font-weight:500;line-height:1.45}.curl-trace-input:focus{outline:2px solid color-mix(in srgb,var(--accent)35%,transparent);outline-offset:1px;border-color:color-mix(in srgb,var(--accent)45%,#8b97a5)}.curl-trace-preview{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.curl-trace-preview-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem 1rem;display:grid}.curl-trace-preview-grid .label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.2rem;font-size:.72rem;font-weight:600}.curl-trace-actions{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:1rem;display:flex}.curl-trace-actions button{cursor:pointer;border:none}.curl-trace-matches{margin-top:.35rem}.curl-trace-match-group{margin-top:.75rem}.curl-trace-match-group>.label{margin-bottom:.35rem}.curl-trace-match-list{border:1px solid var(--line);background:#fff;border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.curl-trace-match-list li+li{border-top:1px solid var(--line)}.curl-trace-match-list a{color:inherit;grid-template-columns:7.5rem minmax(0,1fr) auto;align-items:baseline;gap:.65rem .85rem;padding:.55rem .75rem;text-decoration:none;display:grid}.curl-trace-match-list a:hover{background:color-mix(in srgb,var(--accent,#2563eb)6%,#fff)}.curl-trace-match-list li.is-active a{background:color-mix(in srgb,var(--accent,#2563eb)10%,#fff)}.curl-trace-match-id{font-size:.78rem}.curl-trace-match-name{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.curl-trace-match-meta{color:var(--muted);white-space:nowrap;font-size:.75rem}tr.trace-service-pending td{opacity:.72}@media (max-width:720px){.curl-trace-match-list a{grid-template-columns:1fr;gap:.15rem}}.trace-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.trace-detail-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);align-items:start;gap:1rem;display:grid}.trace-detail-stack{flex-direction:column;gap:1rem;display:flex}.trace-section-panel{border:1.5px solid color-mix(in srgb,var(--line)85%,#7a8896);box-shadow:0 1px 0 color-mix(in srgb,var(--line)55%,transparent);background:#fff;padding:1rem 1.1rem 1.15rem}.trace-section-panel .trace-graph-canvas{border:1.5px solid var(--line);min-height:320px;max-height:58vh}.trace-graph-modal{z-index:80;place-items:center;padding:1.25rem;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.trace-graph-modal-backdrop{background:rgba(18,32,44,.45);position:absolute;top:0;bottom:0;left:0;right:0}.trace-graph-modal-card{z-index:1;flex-direction:column;gap:.75rem;width:min(1200px,96vw);max-height:92vh;display:flex;position:relative;overflow:hidden}.trace-graph-modal-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.trace-graph-modal-card .trace-graph-canvas{cursor:grab;min-height:420px;max-height:calc(92vh - 9rem)}.trace-graph-canvas.is-dragging{cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.trace-graph.is-expanded .trace-graph-canvas{border:1.5px solid var(--line)}.trace-waterfall{flex-direction:column;gap:.35rem;max-height:70vh;padding-right:.25rem;display:flex;overflow:auto}.trace-span-row{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:1px solid transparent;border-radius:10px;grid-template-columns:minmax(180px,1.1fr) minmax(120px,1fr);gap:.6rem;padding:.35rem .45rem;display:grid}.trace-span-row:hover,.trace-span-row.active{background:color-mix(in srgb,var(--accent)8%,#fff);border-color:color-mix(in srgb,var(--accent)25%,var(--line))}.trace-span-row.is-error .trace-span-name{color:var(--danger)}.trace-span-label{flex-direction:column;gap:.1rem;min-width:0;display:flex}.trace-span-service{color:var(--muted);font-size:.72rem}.trace-span-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.trace-span-dur{color:var(--muted);font-size:.75rem}.trace-span-when{color:var(--muted);white-space:nowrap;font-size:.72rem}.trace-span-track{background:color-mix(in srgb,var(--line)70%,#fff);border-radius:999px;align-self:center;height:1.35rem;position:relative;overflow:hidden}.trace-span-bar{background:linear-gradient(90deg,#1a6f66,#2a9d8f);border-radius:999px;position:absolute;top:2px;bottom:2px}.trace-span-row.is-error .trace-span-bar{background:linear-gradient(90deg,#b42318,#f04438)}.trace-span-row.active .trace-span-bar{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)40%,transparent)}.trace-view-tabs{flex-wrap:wrap;gap:.4rem;margin:0 0 1rem;display:flex}.trace-view-tabs.compact{margin-bottom:.85rem}.trace-view-tabs button{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:.4rem .85rem;font-size:.88rem;font-weight:600}.trace-view-tabs button.active{background:color-mix(in srgb,var(--accent)12%,#fff);border-color:color-mix(in srgb,var(--accent)40%,var(--line));color:var(--accent)}.trace-graph-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.trace-graph-hint,.trace-graph-focus{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.75rem;margin:0;font-size:.9rem;display:flex}.trace-graph-focus button{border:1px solid var(--line);cursor:pointer;background:#fff;text-decoration:none}.trace-graph-viewport{align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.trace-graph-viewport-btn{border:1px solid var(--line);cursor:pointer;color:#1a2430;min-width:2rem;height:2rem;font:inherit;background:#fff;border-radius:10px;padding:0 .65rem;line-height:1}.trace-graph-viewport-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent)40%,var(--line));background:color-mix(in srgb,var(--accent)8%,#fff)}.trace-graph-viewport-btn:disabled{opacity:.45;cursor:not-allowed}.trace-graph-canvas{border:1px solid var(--line);background:linear-gradient(#fbfcfd 0%,#f4f7f8 100%);border-radius:14px;min-height:260px;max-height:70vh;overflow:auto}.page-with-nav-content .section .panel .trace-graph-canvas{border:1.5px solid #8b97a5;margin-top:.35rem}.trace-graph.is-fullscreen{box-sizing:border-box;background:#f7f9fa;flex-direction:column;width:100%;height:100%;padding:1rem 1.25rem;display:flex}.trace-graph.is-fullscreen .trace-graph-canvas{flex:1;min-height:0;max-height:none}.trace-graph-node-rect{fill:#fff;stroke:#c9d3da;stroke-width:1.5px}.trace-graph-node.selected .trace-graph-node-rect{fill:color-mix(in srgb,var(--accent)10%,#fff);stroke:var(--accent);stroke-width:2px}.trace-graph-node.is-error .trace-graph-node-rect{stroke:#b42318}.trace-graph-node-title{font-family:var(--font-display);fill:#1a2430;font-size:12px;font-weight:700}.trace-graph-node-sub,.trace-graph-node-badge{font-family:var(--font-mono,"IBM Plex Mono",ui-monospace,monospace);fill:#5a6876;font-size:10px}.trace-log-list{flex-direction:column;gap:.45rem;max-height:70vh;display:flex;overflow:auto}.trace-log-button{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;padding:0;display:block}.trace-log-line{border:1px solid var(--line);background:#fff;border-radius:12px;padding:.65rem .8rem}.trace-log-line.active,.trace-log-button.active .trace-log-line{border-color:color-mix(in srgb,var(--accent)45%,var(--line));background:color-mix(in srgb,var(--accent)6%,#fff)}.trace-log-line.level-error{border-color:color-mix(in srgb,#b42318 35%,var(--line))}.trace-log-line.level-warn{border-color:color-mix(in srgb,#b54708 35%,var(--line))}.trace-log-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.25rem;font-size:.78rem;display:flex}.trace-log-when{color:var(--ink,#0f172a);font-weight:600}.trace-log-level{text-transform:uppercase;letter-spacing:.04em;font-weight:700}.trace-log-level.error{color:var(--danger)}.trace-log-level.warn{color:var(--warn)}.trace-log-level.info{color:var(--accent)}.trace-log-level.debug{color:var(--muted)}.trace-log-source{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.1rem .35rem;font-size:.68rem;font-weight:700}.trace-log-source.source-loki{border-color:color-mix(in srgb,var(--accent)45%,var(--line));color:var(--accent)}.trace-log-source.source-tempo{border-color:color-mix(in srgb,var(--ok,#16a34a)40%,var(--line));color:var(--ok,#16a34a)}.trace-log-kind{background:#eef2f4;border-radius:999px;padding:.1rem .45rem;font-size:.72rem}.trace-log-message{font-size:.95rem;font-weight:600}.trace-log-attrs{color:var(--muted);word-break:break-word;margin-top:.25rem;font-size:.78rem}@media (max-width:980px){.trace-split,.trace-detail-grid,.trace-span-row{grid-template-columns:1fr}.trace-section-panel .trace-graph-canvas{max-height:50vh}}@media (max-width:720px){.topbar{flex-direction:column;align-items:stretch}.repo-list li{flex-direction:column}.spec-env-grid{grid-template-columns:1fr!important}}.kuma-charts .panel-body,.kuma-charts{padding:1rem 1.15rem 1.15rem}.kuma-chart-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.client-obs-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@media (max-width:900px){.client-obs-compare-grid{grid-template-columns:1fr}}.kuma-range-pills{flex-wrap:wrap;gap:.35rem;display:flex}.kuma-range-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:600}.kuma-range-pill.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent)45%,var(--line));color:var(--accent)}.kuma-chart-block{margin-top:1.15rem}.kuma-chart-title{margin:0 0 .55rem;font-size:.95rem;font-weight:650}.kuma-chart-frame{border:1px solid var(--line);background:color-mix(in srgb,var(--bg)55%,var(--bg-elevated));border-radius:12px;width:100%;min-height:260px;padding:.5rem .35rem .25rem}.kuma-heartbeat{flex-direction:column;gap:.4rem;display:flex}.kuma-heartbeat-bar{background:var(--line);border:1px solid var(--line);border-radius:6px;gap:1px;width:100%;height:28px;display:flex;overflow:hidden}.kuma-heartbeat-seg{flex:1 1 0;min-width:2px}.kuma-heartbeat-seg.up{background:var(--ok)}.kuma-heartbeat-seg.down{background:var(--danger)}.kuma-heartbeat-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.85rem;font-size:.75rem;display:flex}.kuma-heartbeat-dot{vertical-align:middle;border-radius:2px;width:.55rem;height:.55rem;margin-right:.3rem;display:inline-block}.kuma-heartbeat-dot.up{background:var(--ok)}.kuma-heartbeat-dot.down{background:var(--danger)}.kuma-heartbeat-count{margin-left:auto}.kuma-monitor-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.55rem;display:flex}.kuma-monitor-toolbar .kuma-chart-title{margin:0}.kuma-monitor-select{color:var(--muted);align-items:center;gap:.45rem;font-size:.8rem;display:flex}.kuma-monitor-select select{font:inherit;border:1px solid var(--line);background:var(--bg);max-width:min(100%,28rem);color:var(--fg);border-radius:8px;padding:.35rem .55rem;font-size:.82rem}.loki-log-table td{vertical-align:top}.loki-log-when{white-space:nowrap;min-width:7.5rem}.loki-log-clock{color:var(--muted);margin-top:.2rem;font-size:.72rem}.loki-log-meta{color:var(--muted);margin-top:.15rem;font-size:.75rem}.loki-log-line{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);max-width:56rem;margin:0;font-size:.78rem;line-height:1.45}
