:root{color:#1c1917;background:#faf9f7;font:14px/1.6 system-ui,sans-serif}body{margin:0}.studio{flex-direction:column;gap:16px;max-width:720px;margin:0 auto;padding:48px 16px;display:flex}h1{margin:0;font-size:28px}.lede{color:#6b655e;margin:0}.facts{grid-template-columns:120px 1fr;gap:4px 16px;margin:0;display:grid}.facts dt{color:#6b655e}.facts dd{margin:0;font-family:ui-monospace,monospace}.notice{background:#fff;border-left:3px solid #c2700a;margin:0;padding:8px 12px}.score{max-width:880px;margin:0 auto;padding:48px 24px 96px}.score header{margin-bottom:40px}.score .scale{color:#444;font-size:14px;line-height:1.8}.score .specimen{margin:40px 0}.score .specimen h2{letter-spacing:.08em;color:#888;margin:0 0 8px;font:600 13px/1.4 ui-monospace,monospace}.score .frame{background:#fff;border:1px solid #e3e3e3;border-radius:12px;width:720px;max-width:100%;padding:20px;overflow:hidden}.editor{flex-direction:column;height:100vh;display:flex}.editor>header{border-bottom:1px solid #e3e3e3;align-items:center;gap:16px;padding:12px 16px;display:flex}.editor>header h1{margin:0;font-size:15px}.editor .count{color:#666;margin-inline-start:auto;font:12px/1 ui-monospace,monospace}.editor .panes{flex:1;grid-template-columns:280px 1fr 340px;min-height:0;display:grid}.editor .tree,.editor .inspector{padding:12px;overflow:auto}.editor .tree{border-inline-end:1px solid #e3e3e3}.editor .inspector{border-inline-start:1px solid #e3e3e3}.editor .tree ol{margin:0;padding:0;list-style:none}.editor .tree h2{text-transform:uppercase;letter-spacing:.08em;color:#b00;margin:16px 0 4px;font-size:11px}.editor .row{text-align:start;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;padding:4px 8px;font:12px/1.6 ui-monospace,monospace;display:flex}.editor .row:hover{background:#f2f4f5}.editor .row.selected{background:#dfeeea}.editor .row .type{color:#0f5f57}.editor .row .id{color:#333}.editor .row .via{color:#888;font-style:italic}.editor .row .dot{border-radius:999px;width:7px;height:7px;margin-inline-start:auto}.editor .row .dot.error{background:#c0392b}.editor .row .dot.warning{background:#d38b1d}.editor .stage{background:#fafafa;padding:24px;position:relative;overflow:auto}.editor .highlight{pointer-events:none;outline-offset:1px;border-radius:3px;outline:2px solid #0f5f57}.editor .inspector pre{background:#f6f7f8;border-radius:6px;padding:10px;font-size:11px;line-height:1.5;overflow:auto}.editor .inspector .diagnostic{border-inline-start:3px solid #d38b1d;padding-inline-start:8px;font-size:12px}.editor .inspector .diagnostic.error{border-color:#c0392b}.editor .inspector .diagnostic em{color:#555;margin-top:4px;display:block}.editor .inspector .hint{color:#777;font-size:13px}.editor .props{flex-direction:column;gap:10px;display:flex}.editor .field{flex-direction:column;gap:3px;display:flex}.editor .field label{color:#444;align-items:center;gap:6px;font:11px/1.4 ui-monospace,monospace;display:flex}.editor .field .required{color:#b00;font-size:10px}.editor .field .tag{color:#0f5f57;background:#dfeeea;border-radius:3px;padding:0 4px;font-size:10px}.editor .field input[type=text],.editor .field input[type=number],.editor .field select{background:#fff;border:1px solid #d8dcde;border-radius:5px;padding:4px 6px;font:12px/1.6 ui-monospace,monospace}.editor .field input[readonly]{color:#666;background:#f3f4f5}.editor .field .clear,.editor header button{cursor:pointer;background:#fff;border:1px solid #d8dcde;border-radius:5px;align-self:flex-start;padding:2px 6px;font-size:11px}.editor header button:disabled{color:#aaa;cursor:default}.editor .field .note{color:#888;margin:0;font-size:10px}.editor .icon-picker ul{flex-wrap:wrap;gap:4px;margin:4px 0 0;padding:0;list-style:none;display:flex}.editor .icon-picker li button{cursor:pointer;background:#fff;border:1px solid #e3e3e3;border-radius:4px;padding:2px 5px;font:10px/1.4 ui-monospace,monospace}.editor .inspector h3{text-transform:uppercase;letter-spacing:.08em;color:#888;margin:18px 0 6px;font-size:11px}.editor .field .swatch{border:1px solid #0002;border-radius:3px;width:12px;height:12px}.editor .structure{border-bottom:1px solid #eee;flex-wrap:wrap;gap:4px;margin-bottom:8px;padding-bottom:10px;display:flex}.editor .structure button,.editor .structure select{cursor:pointer;background:#fff;border:1px solid #d8dcde;border-radius:5px;padding:3px 6px;font-size:11px}.editor .structure button:disabled,.editor .structure select:disabled{color:#bbb;cursor:default}.editor .structure .danger{color:#c0392b;border-color:#eccac5}.editor .rename{align-items:center;gap:6px;margin:6px 0 12px;display:flex}.editor .rename input{border:1px solid #d8dcde;border-radius:5px;flex:1;padding:3px 6px;font:12px/1.6 ui-monospace,monospace}.editor .rename button{cursor:pointer;background:#fff;border:1px solid #d8dcde;border-radius:5px;padding:3px 8px;font-size:11px}.editor .panes{grid-template-rows:1fr auto;grid-template-areas:"tree stage inspector""tree problems inspector"}.editor .tree{grid-area:tree}.editor .stage{grid-area:stage}.editor .inspector{grid-area:inspector}.editor .problems{border-top:1px solid #e3e3e3;grid-area:problems;max-height:30vh;padding:8px 12px;overflow:auto}.editor .diagnostics{margin:0;padding:0;list-style:none}.editor .diagnostics li button{text-align:start;border:0;cursor:pointer;background:0 0;border-inline-start:3px solid #d38b1d;grid-template-columns:190px 220px 1fr;gap:8px;width:100%;padding:4px 6px;font-size:11px;display:grid}.editor .diagnostics li.error button{border-color:#c0392b}.editor .diagnostics li button:hover{background:#f6f7f8}.editor .diagnostics .path{color:#666;font-family:ui-monospace,monospace}.editor .diagnostics em{color:#555;grid-column:1/-1}.editor .tabs{gap:4px;margin:8px 0;display:flex}.editor .tabs button{cursor:pointer;background:#fff;border:1px solid #d8dcde;border-radius:5px;padding:3px 8px;font-size:11px}.editor .tabs button.on{background:#dfeeea;border-color:#0f5f57}.editor .json-editor textarea{border:1px solid #d8dcde;border-radius:6px;width:100%;padding:8px;font:11px/1.5 ui-monospace,monospace}.editor .json-actions{gap:6px;margin-top:6px;display:flex}.editor .json-actions button{cursor:pointer;background:#fff;border:1px solid #d8dcde;border-radius:5px;padding:3px 8px;font-size:11px}.editor .file-bar{gap:4px;display:flex}.editor .file-bar button{cursor:pointer;background:#fff;border:1px solid #d8dcde;border-radius:5px;padding:3px 8px;font-size:11px}.editor .storage-bar{align-items:center;gap:4px;display:flex}.editor .storage-bar label{color:#6b7280;font-size:11px}.editor .storage-bar select{max-width:180px;padding:2px 4px;font-size:11px}.editor .storage-bar button{cursor:pointer;background:#fff;border:1px solid #d8dcde;border-radius:5px;padding:3px 8px;font-size:11px}.editor .storage-bar button:disabled{color:#9aa2ab;cursor:default}.editor .storage-bar .note{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:11px;overflow:hidden}.sign-in{max-width:320px;margin:12vh auto;font:14px/1.5 system-ui,sans-serif}.sign-in form{gap:6px;display:grid}.sign-in label{color:#6b7280;font-size:12px}.sign-in input{border:1px solid #d8dcde;border-radius:5px;padding:6px 8px;font-size:14px}.sign-in button{color:#fff;cursor:pointer;background:#1f6feb;border:1px solid #1f6feb;border-radius:5px;margin-top:8px;padding:7px 10px;font-size:13px}.sign-in .diagnostic.error{color:#b3261e;font-size:12px}.editor .in-place{font:inherit;background:#fff;border:2px solid #0f5f57;border-radius:3px;padding:0 2px}.editor .row.document{border-bottom:1px solid #eee;border-radius:0;width:100%;margin-bottom:6px}.editor .document-panel .block{border-top:1px solid #eee;margin-top:10px;padding-top:8px}.editor .document-panel .block.words{border-top:0;gap:4px;margin-top:0;padding-top:0;display:grid}.editor .document-panel .block.words h3{margin:0}.editor .document-panel .block.words label{color:#6b7280;font-size:11px}.editor .document-panel .block.words input,.editor .document-panel .block.words textarea{resize:vertical;border:1px solid #d8dcde;border-radius:5px;width:100%;padding:5px 7px;font:12px/1.45 system-ui,sans-serif}.editor .document-panel .block header{border:0;align-items:center;gap:8px;padding:0;display:flex}.editor .document-panel .block h3{flex:1;margin:0}.editor .document-panel .block header button,.editor .document-panel form button{cursor:pointer;background:#fff;border:1px solid #d8dcde;border-radius:5px;padding:2px 6px;font-size:11px}.editor .document-panel textarea{border:1px solid #d8dcde;border-radius:6px;width:100%;padding:8px;font:11px/1.5 ui-monospace,monospace}.editor .entry{padding:6px 0}.editor .entry-head{align-items:center;gap:8px;font:11px/1.6 ui-monospace,monospace;display:flex}.editor .entry-head code{color:#0f5f57}.editor .pair{align-items:center;gap:6px;margin:3px 0;display:flex}.editor .union{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.editor .union .pair{margin:0}.editor .proposal{border:1px dashed #b9c7c4;border-radius:6px;margin:6px 0;padding:6px 8px}.editor .proposed-entry{white-space:pre-wrap;word-break:break-all;color:#333;margin:2px 0 4px;font:11px/1.5 ui-monospace,monospace}.editor .pair code{color:#444;min-width:90px;font-size:11px}.editor .pair input,.editor .entry input,.editor .add input{border:1px solid #d8dcde;border-radius:5px;flex:1;padding:3px 6px;font:11px/1.6 ui-monospace,monospace}.editor .type-field{flex:1;align-items:center;gap:4px;display:flex}.editor .type-field select{border:1px solid #d8dcde;border-radius:5px;padding:2px 4px;font-size:11px}.editor .add{gap:4px;margin-top:6px;display:flex}.editor .generate-bar{flex:1;align-items:center;gap:6px;max-width:520px;display:flex}.editor .generate-bar input{border:1px solid #d8dcde;border-radius:5px;flex:1;padding:4px 8px;font-size:12px}.editor .generate-bar button{color:#fff;cursor:pointer;background:#0f5f57;border:1px solid #0f5f57;border-radius:5px;padding:4px 10px;font-size:11px}.editor .generate-bar button:disabled{cursor:default;background:#cfd6d5;border-color:#cfd6d5}.editor .generate-bar .note{color:#666;white-space:nowrap;font-size:11px}.chat{height:var(--chat-visible,100dvh);background:var(--facet-color-bg-default,#fbfaf9);max-width:560px;color:var(--facet-color-text-default,#1c1a18);font:var(--facet-type-body,400 16px/1.6 system-ui, sans-serif);grid-template-rows:auto minmax(0,1fr) auto;margin:0 auto;display:grid;position:relative}.chat .bar{align-items:center;gap:var(--facet-space-sm,8px);padding:var(--facet-space-md,16px);border-bottom:var(--facet-border-muted,1px solid #f1eeea);background:var(--facet-color-surface-default,#fff);display:flex}.chat h1{font:var(--facet-type-heading,600 20px/1.35 system-ui, sans-serif);letter-spacing:var(--facet-type-heading-letter-spacing,-.2px);flex:1;margin:0}.chat .bar .restart{padding:var(--facet-space-xs,4px) var(--facet-space-md,16px);border:var(--facet-border-default,1px solid #e7e3de);border-radius:var(--facet-radius-full,9999px);color:var(--facet-color-text-muted,#6b5b4e);font:var(--facet-type-label,500 13px/1.3 system-ui, sans-serif);cursor:pointer;background:0 0}.chat .bar .restart:hover{background:var(--facet-color-bg-subtle,#f6f3f0);color:var(--facet-color-text-default,#1c1a18)}.chat .bar .restart:focus-visible{outline:var(--facet-border-focus,2px solid #c2700a);outline-offset:2px}.chat .thread{overscroll-behavior:contain;padding:var(--facet-space-md,16px);overflow-y:auto}.chat .turns{gap:var(--facet-space-lg,24px);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.chat .turns li{padding:var(--facet-space-md,16px);border-radius:var(--facet-radius-lg,14px);background:var(--facet-color-surface-raised,#fff);border:var(--facet-border-muted,1px solid #f1eeea);border-bottom-left-radius:var(--facet-radius-sm,6px);max-width:84%}.chat .turns li[data-who=you]{background:var(--facet-color-primary-default,#c2700a);color:var(--facet-color-primary-contrast,#fff);border-bottom-left-radius:var(--facet-radius-lg,14px);border-bottom-right-radius:var(--facet-radius-sm,6px);border-color:#0000;margin-left:auto}.chat .turns li.stage-turn{max-width:92%;scroll-margin:var(--facet-space-lg,24px);background:0 0;border:0;padding:0}.chat .stage{margin:var(--facet-space-xs,4px) 0;border-radius:var(--facet-radius-lg,14px);border:var(--facet-border-default,1px solid #e7e3de);background:var(--facet-color-surface-raised,#fff);box-shadow:var(--facet-shadow-sm,0 1px 2px #1c1a180f);overflow:hidden}.chat .composer{gap:var(--facet-space-sm,8px);padding:var(--facet-space-md,16px);border-top:var(--facet-border-muted,1px solid #f1eeea);background:var(--facet-color-surface-default,#fff);align-items:end;display:flex;position:relative}.chat .composer label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.chat .composer textarea{padding:var(--facet-space-sm,8px) var(--facet-space-md,16px);border:var(--facet-border-default,1px solid #e7e3de);border-radius:var(--facet-radius-xl,20px);background:var(--facet-color-bg-subtle,#f6f3f0);color:inherit;font:var(--facet-type-body,400 16px/1.6 system-ui, sans-serif);resize:none;field-sizing:content;flex:1;max-height:120px}.chat .composer textarea::placeholder{color:var(--facet-color-text-subtle,#8b8178)}.chat .composer textarea:focus-visible{outline:var(--facet-border-focus,2px solid #c2700a);outline-offset:1px;border-color:#0000}.chat .composer button[type=submit]{padding:var(--facet-space-sm,8px) var(--facet-space-lg,24px);border-radius:var(--facet-radius-full,9999px);background:var(--facet-color-primary-default,#c2700a);color:var(--facet-color-primary-contrast,#fff);font:var(--facet-type-label,500 13px/1.3 system-ui, sans-serif);cursor:pointer;border:0}.chat .composer button[type=submit]:hover{box-shadow:var(--facet-shadow-md,0 4px 12px #1c1a181f)}.chat .composer button[type=submit]:focus-visible{outline:var(--facet-border-focus,2px solid #c2700a);outline-offset:2px}.chat .composer .jump{right:var(--facet-space-md,16px);top:calc(var(--facet-space-md,16px) * -1);padding:var(--facet-space-xs,4px) var(--facet-space-md,16px);border:var(--facet-border-default,1px solid #e7e3de);border-radius:var(--facet-radius-full,9999px);background:var(--facet-color-surface-raised,#fff);box-shadow:var(--facet-shadow-md,0 4px 12px #1c1a181f);font:var(--facet-type-caption,400 13px/1.5 system-ui, sans-serif);color:var(--facet-color-text-default,#1c1a18);cursor:pointer;position:absolute}.chat .composer .jump.section{border-color:var(--facet-color-primary-default,#c2700a);color:var(--facet-color-primary-default,#c2700a)}.chat .composer .jump:hover{background:var(--facet-color-bg-subtle,#f6f3f0)}.chat .working{left:var(--facet-space-md,16px);margin:0 0 var(--facet-space-xs,4px);padding:var(--facet-space-xs,4px) var(--facet-space-md,16px);border-radius:var(--facet-radius-full,9999px);background:var(--facet-color-surface-raised,#fff);border:var(--facet-border-muted,1px solid #f1eeea);box-shadow:var(--facet-shadow-sm,0 1px 2px #1c1a180f);font:var(--facet-type-caption,400 13px/1.5 system-ui, sans-serif);color:var(--facet-color-text-muted,#6b5b4e);position:absolute;bottom:100%}.chat .working[hidden]{display:none}.chat .announced{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chat .heard{z-index:2;pointer-events:none;padding:var(--facet-space-xs,4px) var(--facet-space-sm,8px) var(--facet-space-xs,4px) var(--facet-space-lg,24px);border-bottom-left-radius:var(--facet-radius-md,10px);background:var(--facet-color-surface-overlay,#ffffffeb);border-bottom:var(--facet-border-muted,1px solid #f1eeea);border-left:var(--facet-border-muted,1px solid #f1eeea);max-width:min(40vw,320px);max-height:28dvh;color:var(--facet-color-text-subtle,#8b8178);margin:0;font:11px/1.6 ui-monospace,monospace;position:fixed;top:0;right:0;overflow:hidden}.chat .heard:empty{display:none}@media (prefers-reduced-motion:reduce){.chat .thread{scroll-behavior:auto}}.operations{max-width:960px;margin:24px auto;font:13px/1.5 system-ui,sans-serif}.operations h1{font-size:17px}.operations table{border-collapse:collapse;width:100%}.operations th,.operations td{text-align:left;vertical-align:top;border-bottom:1px solid #eceff1;padding:5px 8px}.operations th{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;font-size:11px}.operations code{font:12px/1.4 ui-monospace,monospace}.operations tr[data-severity=error] code{color:#b3261e}.operations tr[data-source=bridge] td:nth-child(2){color:#b45309}.operations .count,.operations .quiet{color:#6b7280}.editor .problems{align-items:flex-start;gap:16px;display:flex}.editor .problems>*{flex:1 1 0;min-width:0}.editor .activity h3{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;align-items:center;gap:8px;margin:0 0 4px;font-size:11px;display:flex}.editor .activity h3 button{cursor:pointer;text-transform:none;letter-spacing:0;background:#fff;border:1px solid #d8dcde;border-radius:5px;padding:1px 5px;font-size:10px}.editor .activity ol{margin:0;padding-left:16px;font:11px/1.6 ui-monospace,monospace}.editor .activity li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor .activity .quiet{color:#9aa2ab;margin:0;font-size:11px}main[data-hydrating]{cursor:progress}main[data-hydrating] button,main[data-hydrating] input,main[data-hydrating] select,main[data-hydrating] textarea,main[data-hydrating] label,main[data-hydrating] [role=button]{pointer-events:none;opacity:.6}.chat .stage .unavailable{color:#6b655e;text-align:center;border:1px dashed #c9c4bd;border-radius:10px;margin:0;padding:24px 16px}.editor .record-value{flex-wrap:wrap;flex:1;gap:6px;display:flex}.editor .record-value .cell{color:#444;flex-direction:column;flex:1;gap:2px;min-width:90px;font-size:11px;display:flex}.editor .record-value .cell input,.editor .record-value .cell select{border:1px solid #d8dcde;border-radius:5px;padding:3px 6px;font:11px/1.6 ui-monospace,monospace}.editor .rows{flex-direction:column;flex:1;gap:4px;display:flex}.editor .row-value{border:1px solid #e6e9eb;border-radius:6px;align-items:flex-end;gap:6px;padding:4px 6px;display:flex}.editor .row-actions{align-items:center;gap:8px;display:flex}.editor .media{flex-direction:column;flex:1;gap:4px;display:flex}.editor .media select{border:1px solid #d8dcde;border-radius:5px;padding:2px 4px;font-size:11px}.editor .background-image{flex-wrap:wrap;flex:1;gap:6px;display:flex}.editor .action{flex-direction:column;gap:6px;display:flex}.editor .step{border:1px solid #e6e9eb;border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:6px;padding:4px 6px;display:flex}.editor .step>code{color:#0f5f57;min-width:36px;font-size:11px}.editor .step .cell select{border:1px solid #d8dcde;border-radius:5px;padding:2px 4px;font-size:11px}
