/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:"Pretendard Variable", Pretendard, "Segoe UI", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#f8fafc;--color-surface:#fff;--color-ink:#18181b;--color-muted:#71717a;--color-line:#e4e4e7;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-danger:#dc2626;--color-danger-soft:#fef2f2;--color-ok:#16a34a;--color-ok-soft:#f0fdf4;--color-log:#f4f4f5;--color-log-ink:#27272a;--radius-ui:.5rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{background:var(--color-bg);height:100%;color:var(--color-ink);font-family:var(--font-sans);margin:0}body:has(.app-shell){overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}}@layer components{.app-shell{background:var(--color-bg);grid-template-columns:220px 1fr;height:100%;max-height:100dvh;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--color-line);background:var(--color-surface);flex-direction:column;gap:1rem;padding:1.1rem .85rem;display:flex;overflow:auto}.brand{letter-spacing:-.03em;padding:0 .4rem;font-size:.98rem;font-weight:800}.nav{flex-direction:column;gap:.15rem;display:flex}.nav a{color:var(--color-muted);border-radius:.45rem;padding:.5rem .7rem;font-size:.92rem;font-weight:500;transition:background .12s,color .12s}.nav a:hover{background:var(--color-bg);color:var(--color-ink)}.nav a.active{background:#2563eb1f}@supports (color:color-mix(in lab, red, red)){.nav a.active{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}}.nav a.active{color:var(--color-accent);font-weight:650}.main{background:var(--color-bg);min-height:0;padding:1.5rem clamp(1rem,3vw,2rem);overflow:auto}.main--stream{flex-direction:column;padding:0;display:flex;overflow:hidden}.page-title{letter-spacing:-.03em;margin:0 0 .35rem;font-size:1.35rem;font-weight:750}.page-sub{color:var(--color-muted);margin:0 0 1.25rem;font-size:.92rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-ui);padding:1rem 1.1rem}.card__label{color:var(--color-muted);letter-spacing:.01em;margin:0;font-size:.75rem;font-weight:650}.card__value{letter-spacing:-.03em;margin:.4rem 0 0;font-size:1.35rem;font-weight:750;line-height:1.2}.card__value--sm{word-break:break-word;font-size:1.05rem;line-height:1.25}.card__hint{color:var(--color-muted);word-break:break-word;margin:.35rem 0 0;font-size:.78rem;line-height:1.35}.panel{border:1px solid var(--color-line);border-radius:var(--radius-ui);background:var(--color-surface);flex-direction:column;gap:.75rem;margin-top:1rem;padding:1rem;display:flex}.panel__title{letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:700}.table-wrap{overflow-x:auto}.input--role{flex:0 0 140px;min-width:120px}.row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.btn{appearance:none;border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink);cursor:pointer;border-radius:.45rem;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .9rem;font-size:.9rem;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-bg)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary,.btn-primary{background:var(--color-accent);color:#fff;border-color:#0000}.btn--primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn--danger,.btn-danger{background:var(--color-danger-soft);border-color:#e1a2a3}@supports (color:color-mix(in lab, red, red)){.btn--danger,.btn-danger{border-color:color-mix(in srgb, var(--color-danger) 35%, var(--color-line))}}.btn--danger,.btn-danger{color:var(--color-danger)}.btn--danger:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:#fadada}@supports (color:color-mix(in lab, red, red)){.btn--danger:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 12%, var(--color-danger-soft))}}.btn--ghost{color:var(--color-muted);background:0 0;border-color:#0000;padding:.4rem .55rem}.btn--ghost:hover:not(:disabled){background:var(--color-bg);color:var(--color-ink)}.btn--sm{padding:.3rem .55rem;font-size:.8rem}.input{border:1px solid var(--color-line);background:var(--color-bg);min-width:160px;color:var(--color-ink);border-radius:.45rem;flex:1;padding:.55rem .8rem;transition:border-color .12s,box-shadow .12s}.input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #2563eb38}@supports (color:color-mix(in lab, red, red)){.input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent)}}.status-pill{background:var(--color-bg);color:var(--color-muted);border:1px solid var(--color-line);border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .5rem;font-size:.75rem;font-weight:650;display:inline-flex}.status-pill.ok{color:var(--color-ok);background:var(--color-ok-soft);border-color:#a6d1b8}@supports (color:color-mix(in lab, red, red)){.status-pill.ok{border-color:color-mix(in srgb, var(--color-ok) 30%, var(--color-line))}}.status-pill.bad{color:var(--color-danger);background:var(--color-danger-soft);border-color:#e2abad}@supports (color:color-mix(in lab, red, red)){.status-pill.bad{border-color:color-mix(in srgb, var(--color-danger) 30%, var(--color-line))}}.login-page{background:var(--color-bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{border:1px solid var(--color-line);background:var(--color-surface);border-radius:.75rem;flex-direction:column;gap:.85rem;width:min(380px,100%);padding:1.5rem;display:flex;box-shadow:0 1px 2px #18181b0a}@supports (color:color-mix(in lab, red, red)){.login-card{box-shadow:0 1px 2px color-mix(in srgb, var(--color-ink) 4%, transparent)}}.login-card h1{letter-spacing:-.03em;margin:0;font-size:1.3rem;font-weight:750}.login-card label{color:var(--color-muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.error{color:var(--color-danger);margin:0;font-size:.88rem}.ok-msg{color:var(--color-ok);margin:0;font-size:.88rem}.sidebar__user{color:var(--color-muted);flex-direction:column;gap:.45rem;margin-top:auto;padding:0 .2rem;font-size:.85rem;display:flex}.theme-toggle{border:1px solid var(--color-line);background:var(--color-bg);border-radius:.45rem;display:inline-flex;overflow:hidden}.theme-toggle button{appearance:none;color:var(--color-muted);cursor:pointer;background:0 0;border:0;padding:.3rem .5rem;font-size:.75rem;font-weight:650}.theme-toggle button:hover{color:var(--color-ink)}.theme-toggle button.active{background:var(--color-surface);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-line)}.stream{background:var(--color-bg);flex-direction:column;height:100%;min-height:0;display:flex}.stream__toolbar{border-bottom:1px solid var(--color-line);background:var(--color-surface);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex}.stream__title{letter-spacing:-.02em;margin:0;font-size:.98rem;font-weight:700}.stream__meta{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.stream__body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.stream__composer{border-top:1px solid var(--color-line);background:var(--color-surface);flex:none;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.stream__composer .input{background:var(--color-bg);border-radius:999px;padding:.65rem 1rem}.data-table{border-collapse:collapse;width:100%;font-size:.92rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-line);padding:.65rem .45rem}.data-table th{color:var(--color-muted);font-size:.78rem;font-weight:650}.terminal-lite{border-radius:var(--radius-ui);background:var(--color-log);min-height:180px;color:var(--color-log-ink);border:1px solid var(--color-line);font:12.5px/1.15 var(--font-mono);white-space:pre-wrap;margin:0;padding:.85rem 1rem;overflow:auto}.overview-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.25rem;display:flex}.overview-head .page-title,.overview-head .page-sub{margin-bottom:0}.overview-head .page-sub{margin-top:.35rem}.overview-section{margin-top:1.35rem}.overview-section__title{letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .65rem;font-size:.78rem;font-weight:700}}@layer utilities{.contents{display:contents}.flex{display:flex}.table{display:table}}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#09090b;--color-surface:#18181b;--color-ink:#fafafa;--color-muted:#a1a1aa;--color-line:#27272a;--color-accent:#3b82f6;--color-accent-hover:#60a5fa;--color-danger:#f87171;--color-danger-soft:#450a0a;--color-ok:#4ade80;--color-ok-soft:#052e16;--color-log:#0c0c0e;--color-log-ink:#e4e4e7}@media (width<=800px){.app-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;height:100dvh;max-height:100dvh;overflow:hidden}.sidebar{z-index:50;border-right:0;border-bottom:1px solid var(--color-line);padding:.55rem .75rem;padding-top:max(.55rem, env(safe-area-inset-top));gap:.45rem;position:relative;overflow:visible}.brand{padding:0;font-size:.92rem}.nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-flow:row;gap:.15rem;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;flex:none;padding:.4rem .55rem;font-size:.88rem}.sidebar__user{flex-flow:wrap;align-items:center;gap:.4rem;margin-top:0;font-size:.8rem}.sidebar__user .btn{padding:.3rem .55rem;font-size:.8rem}.main,.main--stream{min-height:0}.main--stream{overflow:hidden}}
