:root{--tyvro-ink: #121417;--tyvro-ink-soft: #3a424d;--tyvro-muted: #6b7380;--tyvro-accent: #0b6e6a;--tyvro-accent-hover: #095955;--tyvro-accent-soft: rgba(11, 110, 106, .1);--tyvro-danger: #b42318;--tyvro-danger-soft: rgba(180, 35, 24, .1);--tyvro-warn: #b54708;--tyvro-warn-soft: rgba(181, 71, 8, .12);--tyvro-ok: #067647;--tyvro-ok-soft: rgba(6, 118, 71, .1);--tyvro-border: #d8dee6;--tyvro-border-strong: #c2CAD4;--tyvro-surface: rgba(255, 255, 255, .78);--tyvro-surface-solid: #ffffff;--tyvro-surface-elevated: #fbfcfd;--tyvro-nav: #f3f5f7;--tyvro-bg-0: #f7f8fa;--tyvro-bg-1: #eef1f4;--tyvro-shadow: 0 1px 2px rgba(18, 20, 23, .04);--tyvro-radius: 10px;--tyvro-radius-sm: 8px;--tyvro-font-display: "Sora", sans-serif;--tyvro-font-ui: "IBM Plex Sans", sans-serif;--tyvro-nav-width: 240px;--tyvro-top-height: 56px;--tyvro-focus: 0 0 0 3px rgba(11, 110, 106, .28)}@media(prefers-reduced-motion:reduce){:root{--tyvro-motion: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;color:var(--tyvro-ink);font-family:var(--tyvro-font-ui);font-size:15px;line-height:1.45;background:radial-gradient(1200px 600px at 10% -10%,rgba(11,110,106,.07),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(18,20,23,.05),transparent 50%),linear-gradient(165deg,var(--tyvro-bg-0),var(--tyvro-bg-1));background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:0}a{color:var(--tyvro-accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:none;box-shadow:var(--tyvro-focus)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:36px;padding:.45rem .9rem;border-radius:var(--tyvro-radius-sm);border:1px solid var(--tyvro-border);background:var(--tyvro-surface-solid);color:var(--tyvro-ink);transition:background .16s ease,border-color .16s ease,color .16s ease}.btn:hover:not(:disabled){border-color:var(--tyvro-border-strong);background:var(--tyvro-surface-elevated)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--tyvro-accent);border-color:var(--tyvro-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--tyvro-accent-hover);border-color:var(--tyvro-accent-hover);color:#fff}.btn-danger{background:var(--tyvro-danger);border-color:var(--tyvro-danger);color:#fff}.btn-ghost{background:transparent}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.85rem;font-weight:500;color:var(--tyvro-ink-soft)}.field input,.field select,.field textarea{min-height:38px;padding:.5rem .7rem;border:1px solid var(--tyvro-border);border-radius:var(--tyvro-radius-sm);background:var(--tyvro-surface-solid)}.field textarea{min-height:120px;resize:vertical;font-family:ui-monospace,IBM Plex Mono,Menlo,monospace;font-size:.85rem}.field-row{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.panel{border:1px solid var(--tyvro-border);border-radius:var(--tyvro-radius);background:var(--tyvro-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--tyvro-shadow)}.panel-pad{padding:1.1rem 1.2rem}.table-wrap{overflow:auto}table.data{width:100%;border-collapse:collapse;font-size:.92rem}table.data th,table.data td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--tyvro-border);vertical-align:top}table.data th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tyvro-muted);font-weight:600;background:#f7f8fab3}table.data tr:last-child td{border-bottom:none}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.muted{color:var(--tyvro-muted)}.mono{font-family:ui-monospace,IBM Plex Mono,Menlo,monospace;font-size:.86rem}.fade-enter-active,.fade-leave-active{transition:opacity .18s ease,transform .18s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(4px)}@media(prefers-reduced-motion:reduce){.fade-enter-active,.fade-leave-active,.btn{transition:none}}
