.echo-app-runtime{--app-accent:var(--primary);min-height:100%;color:var(--foreground);background:var(--background);font:inherit;position:relative;container-type:inline-size}.echo-app-runtime *{box-sizing:border-box}.echo-app-runtime h1,.echo-app-runtime h2,.echo-app-runtime h3,.echo-app-runtime p{margin:0}.echo-app-runtime h1{letter-spacing:-.025em;font-size:1.625rem;font-weight:650}.echo-app-runtime h2{letter-spacing:-.01em;font-size:1.125rem;font-weight:600}.echo-app-runtime h3{font-size:1rem;font-weight:600}.echo-app-screen{flex-direction:column;gap:1.25rem;max-width:72rem;min-height:100%;margin:0 auto;padding:1.5rem;display:flex}.echo-app-node{min-width:0;position:relative}.echo-app-runtime[data-app-mode=edit] .echo-app-node:hover{outline:1px dashed color-mix(in oklch, var(--app-accent) 45%, transparent);outline-offset:3px;border-radius:.5rem}.echo-app-runtime[data-app-mode=edit] .echo-app-node[data-app-leaf]:before{content:"";z-index:10;cursor:pointer;position:absolute;inset:0}.echo-app-runtime[data-app-mode=edit] .echo-app-node[data-app-selected=true]:after{content:"";z-index:20;pointer-events:none;border:2px solid var(--app-accent);border-radius:.625rem;position:absolute;inset:-4px}.echo-app-stack,.echo-app-form,.echo-app-form fieldset{border:0;flex-direction:column;gap:1rem;min-width:0;margin:0;padding:0;display:flex}.echo-app-stack[data-gap=small],.echo-app-row[data-gap=small]{gap:.5rem}.echo-app-stack[data-gap=large],.echo-app-row[data-gap=large]{gap:1.5rem}.echo-app-row{align-items:stretch;gap:1rem;display:flex}.echo-app-row>.echo-app-node{flex:1}.echo-app-grid{grid-template-columns:1fr;gap:1rem;display:grid}.echo-app-card,.echo-app-dialog{border:1px solid var(--border);background:var(--card);color:var(--card-foreground);border-radius:.75rem;padding:1rem}.echo-app-dialog{box-shadow:0 20px 50px #0000001f}.echo-app-scroll{overflow:auto}.echo-app-bar{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;min-height:3rem;display:grid}.echo-app-bar div{gap:.125rem;display:grid}.echo-app-bar strong{letter-spacing:-.02em;font-size:1.25rem;font-weight:650}.echo-app-bar small{color:var(--muted-foreground);font-size:.8125rem}.echo-app-text{color:var(--muted-foreground);line-height:1.55}.echo-app-badge,.echo-app-collection em,.echo-app-record-card em{color:var(--app-accent);background:color-mix(in oklch, var(--app-accent) 12%, transparent);border-radius:999px;align-items:center;margin-left:.5rem;padding:.125rem .5rem;font-size:.75rem;font-style:normal;font-weight:600;display:inline-flex}.echo-app-divider{border:0;border-top:1px solid var(--border)}.echo-app-avatar{background:var(--muted);border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;display:inline-grid;overflow:hidden}.echo-app-avatar img{object-fit:cover;width:100%;height:100%}.echo-app-metric{border:1px solid var(--border);text-align:center;background:var(--card);border-radius:.75rem;place-content:center;gap:.125rem;min-height:5rem;display:grid}.echo-app-metric strong{letter-spacing:-.02em;font-size:1.5rem;font-weight:650}.echo-app-metric span{color:var(--muted-foreground);font-size:.8125rem}.echo-app-link{color:var(--app-accent);text-underline-offset:3px;font-weight:500;text-decoration:underline}.echo-app-runtime .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.echo-app-collection{border:1px solid var(--border);background:var(--card);border-radius:.75rem;overflow:hidden}.echo-app-collection__item{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding-right:1rem;display:flex}.echo-app-collection__item:last-child{border-bottom:0}.echo-app-collection__item>button{text-align:left;min-width:0;height:auto;min-height:3.75rem;color:inherit;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.echo-app-collection__item>button:hover{background:var(--muted)}.echo-app-collection__item>button>span{gap:.1875rem;min-width:0;display:grid}.echo-app-collection strong,.echo-app-collection small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.echo-app-collection small{color:var(--muted-foreground);font-size:.8125rem;font-weight:400}.echo-app-collection>[role=status],.echo-app-collection>[role=alert]{color:var(--muted-foreground);padding:.5rem 1rem;font-size:.8125rem}.echo-app-collection>button{margin:.75rem 1rem}.echo-app-table-scroll{overflow-x:auto}.echo-app-table{border-collapse:collapse;width:100%;font-size:.875rem}.echo-app-table th,.echo-app-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.75rem 1rem}.echo-app-table thead th{color:var(--muted-foreground);white-space:nowrap;background:color-mix(in oklch, var(--muted) 60%, transparent);font-size:.75rem;font-weight:500}.echo-app-table tbody th{font-weight:600}.echo-app-table tbody tr:last-child>*{border-bottom:0}.echo-app-table tbody td{color:var(--muted-foreground);max-width:28rem}.echo-app-table tbody tr[data-pressable]{cursor:pointer}.echo-app-table tbody tr[data-pressable]:hover,.echo-app-table tbody tr[data-pressable]:focus-visible{background:var(--muted);outline:none}.echo-app-cards{grid-template-columns:1fr;gap:.75rem;display:grid}.echo-app-record-card{border:1px solid var(--border);background:var(--card);border-radius:.75rem;align-content:start;gap:.5rem;padding:1rem;display:grid}.echo-app-record-card>button{color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;padding:0;font-weight:600;display:flex}.echo-app-record-card>button:disabled{cursor:default}.echo-app-record-card p{color:var(--muted-foreground);font-size:.8125rem;line-height:1.5}.echo-app-record-card p span{color:var(--foreground);font-size:.75rem;font-weight:500;display:block}.echo-app-alert,.echo-app-runtime__error{border:1px solid color-mix(in oklch, var(--destructive) 35%, transparent);color:var(--destructive);background:color-mix(in oklch, var(--destructive) 8%, transparent);border-radius:.75rem;gap:.5rem;padding:.75rem 1rem;display:grid}.echo-app-alert>button,.echo-app-runtime__error>button{justify-self:start}.echo-app-empty,.echo-app-spinner{color:var(--muted-foreground);text-align:center;padding:2rem 1rem}.echo-app-empty strong{color:var(--foreground);display:block}.echo-app-runtime__toast{z-index:50;color:var(--background);background:var(--foreground);border:0;border-radius:999px;padding:.5rem .875rem;position:absolute;top:.875rem;left:50%;transform:translate(-50%)}.echo-app-field{gap:.375rem;font-size:.875rem;font-weight:500;display:grid}.echo-app-field input,.echo-app-field textarea,.echo-app-field select{border:1px solid var(--input);width:100%;min-height:2.5rem;color:inherit;background:var(--background);font:inherit;border-radius:.5rem;padding:.5rem .75rem;font-weight:400}.echo-app-field textarea{resize:vertical;min-height:6rem}.echo-app-field progress{width:100%}.echo-app-check{align-items:center;gap:.625rem;min-height:2.5rem;font-size:.875rem;display:flex}.echo-app-check input{width:1.125rem;height:1.125rem;accent-color:var(--app-accent)}.echo-app-button{width:auto;min-height:2.5rem;padding:0 1rem;font-weight:600}.echo-app-button[data-tone=primary]{border-color:var(--app-accent);color:var(--primary-foreground);background:var(--app-accent)}.echo-app-button[data-tone=primary]:hover{background:color-mix(in oklch, var(--app-accent) 88%, black)}.echo-app-button[data-tone=danger]{color:var(--destructive)}.echo-app-card>[aria-label=Record\ filters],.echo-app-runtime [aria-label=Record\ filters]{flex-wrap:wrap;gap:.375rem;margin-top:.5rem;display:flex}.echo-app-runtime [aria-label=Record\ filters] button[aria-pressed=true]{border-color:var(--app-accent);color:var(--app-accent)}@container (min-width:560px){.echo-app-grid{grid-template-columns:repeat(var(--app-columns,2), minmax(0, 1fr))}.echo-app-cards{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}}@container (max-width:420px){.echo-app-screen{padding:1rem}.echo-app-row{flex-wrap:wrap}.echo-app-row>.echo-app-node{flex-basis:100%}}.echo-app-result{gap:.5rem;display:grid}.echo-app-result__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.echo-app-result[data-status=failed] strong{color:var(--destructive)}.echo-app-result__note{color:var(--muted-foreground);font-size:.8125rem}
