:root{--bg:#0f1115;--panel:#1a1d24;--border:#2a2f3a;--text:#e6e8ee;--text-dim:#8b93a5;--keeper:#f5c84b;--error:#e5484d;--rendering:#5b9dd9;--ui-scale:1}*{box-sizing:border-box}html{font-size:calc(clamp(15px, .45vw + 13.5px, 19px) * var(--ui-scale))}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app-main{grid-template-rows:auto 1fr;height:100dvh;display:grid}.app-header{border-bottom:1px solid var(--border);align-items:baseline;gap:.75rem;padding:.625rem 1rem;display:flex}.app-header__wordmark{letter-spacing:.04em;margin:0;font-size:1rem;font-weight:700}.app-header__tagline{color:var(--text-dim);font-size:.75rem}.canvas-root{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.canvas-stage{flex:1;min-height:0;position:relative}.canvas-toast{z-index:10;background:var(--panel);border:1px solid var(--error);border-radius:.5rem;max-width:22.5rem;padding:.5rem .75rem;font-size:.75rem;position:absolute;top:.75rem;right:.75rem}.canvas-toast--notice{border-color:var(--rendering);align-items:flex-start;gap:.5rem;display:flex;top:auto;bottom:.75rem}.canvas-toast__dismiss{text-align:center;width:1rem;height:1rem;color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-size:.875rem;line-height:.875rem}.canvas-message{text-align:center;height:100%;color:var(--text-dim);place-content:center;display:grid}.canvas-message__hint code{color:var(--text)}.canvas-fab{left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:15;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:color-mix(in srgb, var(--panel) 94%, transparent);border:1px solid var(--border);border-radius:1rem;flex-wrap:nowrap;justify-content:flex-start;gap:.5rem;max-width:calc(100vw - 24px);padding:.5rem;display:flex;position:fixed;overflow:auto hidden;transform:translate(-50%);box-shadow:0 8px 28px #00000080}.canvas-fab::-webkit-scrollbar{display:none}.canvas-fab:before,.canvas-fab:after{content:"";pointer-events:none;opacity:0;width:1.75rem;transition:opacity .12s;position:fixed;top:0;bottom:0}.canvas-fab:before{border-top-left-radius:inherit;border-bottom-left-radius:inherit;background:linear-gradient(to right, var(--panel), transparent);left:0}.canvas-fab:after{border-top-right-radius:inherit;border-bottom-right-radius:inherit;background:linear-gradient(to left, var(--panel), transparent);right:0}.canvas-fab[data-overflow-start]:before,.canvas-fab[data-overflow-end]:after{opacity:1}.canvas-fab__btn{border:1px solid var(--border);background:var(--panel);min-width:44px;min-height:44px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:.6875rem;flex:none;justify-content:center;align-items:center;padding:0 1rem;font-size:.875rem;line-height:1;display:inline-flex}.canvas-fab__btn[aria-pressed=true]{color:var(--keeper);border-color:var(--keeper)}.canvas-fab__btn:active{background:color-mix(in srgb, var(--panel) 78%, var(--text))}.frame-node[data-selected=true]{outline:2px solid var(--keeper);outline-offset:3px;border-radius:12px}.frame-tile{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.frame-tile--keeper{border-color:var(--keeper);box-shadow:0 0 0 1px var(--keeper)}.frame-tile--error{border-color:var(--error)}.frame-tile__media{background:#11141a;flex:auto;height:100%;min-height:0;position:relative}.frame-tile__img{object-fit:cover;width:100%;height:100%;display:block}.frame-tile__placeholder{height:100%;color:var(--text-dim);place-content:center;font-size:12px;display:grid}.frame-tile--rendering .frame-tile__placeholder{color:var(--rendering);animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4}}.frame-tile__keeper{width:28px;height:28px;color:var(--text-dim);cursor:pointer;background:#0f1115b3;border:none;border-radius:6px;font-size:16px;line-height:1;position:absolute;top:6px;right:40px}.frame-tile__keeper[aria-pressed=true],.frame-tile__keeper:hover{color:var(--keeper)}.frame-tile__keeper:focus-visible{outline:2px solid var(--keeper);outline-offset:1px}.frame-tile__result-ribbon{z-index:1;background:var(--keeper);color:var(--bg);letter-spacing:.02em;text-transform:uppercase;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4;position:absolute;top:6px;left:6px}.frame-tile__prompt{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;padding:8px 10px 4px;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.frame-tile__meta{color:var(--text-dim);flex:none;justify-content:space-between;align-items:center;padding:4px 10px 8px;font-size:11px;display:flex}.frame-tile__status{z-index:1;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;background:#0f1115d1;border-radius:6px;max-width:calc(100% - 46px);padding:2px 7px;font-size:.6875rem;line-height:1.4;position:absolute;top:6px;right:40px;overflow:hidden}.frame-tile--done .frame-tile__status{opacity:0;pointer-events:none}.frame-tile__status--error{color:#f06a6f}.frame-tile__status--queued{color:#7d8aa8}.frame-tile__status--rendering{color:var(--rendering)}.frame-tile__status--done{color:var(--text-dim)}.frame-tile--error{opacity:.6}.frame-tile--error:hover,.frame-tile--error:focus-within{opacity:1}.frame-tile__media-button{cursor:zoom-in;background:0 0;border:none;width:100%;height:100%;padding:0;display:block}.frame-tile__overlay{z-index:2;opacity:0;pointer-events:none;transition:opacity .12s;position:absolute;inset:0}.frame-tile:hover .frame-tile__overlay,.frame-tile:focus-within .frame-tile__overlay{opacity:1}.frame-tile:hover .frame-tile__overlay :is(button,a),.frame-tile:focus-within .frame-tile__overlay :is(button,a){pointer-events:auto}.frame-tile__overlay-bottom{background:linear-gradient(#080a0e00 0%,#080a0ecc 45%,#080a0ef0 100%);flex-direction:column;padding-top:28px;display:flex;position:absolute;bottom:0;left:0;right:0}.frame-tile__cancel{width:24px;height:24px;color:var(--text-dim);cursor:pointer;background:#0f1115b3;border:none;border-radius:6px;font-size:12px;line-height:1;position:absolute;top:6px;left:6px}.frame-tile__cancel:hover,.frame-tile__cancel:focus-visible{color:var(--error);outline:none}.frame-tile__error{color:#f06a6f;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;padding:8px 10px 4px;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.frame-tile__cost{font-variant-numeric:tabular-nums}.frame-tile__actions{flex:none;gap:6px;padding:0 10px 8px;display:flex}.frame-tile__action{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;flex:1;padding:5px 8px;font-size:11px}.frame-tile__action:hover{color:var(--text);border-color:var(--text-dim)}.frame-tile__action:focus-visible{outline:2px solid var(--rendering);outline-offset:1px}.frame-toolbar{border:1px solid var(--border);white-space:nowrap;background:#0f1115eb;border-radius:.5rem;align-items:center;gap:.375rem;padding:.25rem .375rem;display:flex;box-shadow:0 6px 20px #00000059}.frame-toolbar--status{box-shadow:none;background:0 0;border:none;padding:0}.frame-toolbar :is(.frame-tile__result-ribbon,.frame-tile__refined-badge,.frame-tile__status){z-index:auto;max-width:none;position:static;inset:auto}.frame-toolbar__action{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:.375rem;padding:.3125rem .5625rem;font-size:.6875rem;line-height:1}.frame-toolbar__action:hover{color:var(--text);border-color:var(--text-dim)}.frame-toolbar__action:focus-visible{outline:2px solid var(--rendering);outline-offset:1px}.frame-toolbar__keeper,.frame-toolbar__cancel{width:1.625rem;height:1.625rem;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;line-height:1;display:flex}.frame-toolbar__keeper{font-size:1rem}.frame-toolbar__cancel{font-size:.75rem}.frame-toolbar__keeper[aria-pressed=true],.frame-toolbar__keeper:hover{color:var(--keeper)}.frame-toolbar__keeper:focus-visible{outline:2px solid var(--keeper);outline-offset:1px}.frame-toolbar__cancel:hover{color:var(--error)}.frame-toolbar__cancel:focus-visible{color:var(--error);outline:2px solid var(--error);outline-offset:1px}.frame-toolbar__cost{color:var(--text-dim);font-variant-numeric:tabular-nums;padding:0 .25rem;font-size:.6875rem}.frame-toolbar .node-menu__trigger{background:0 0;width:1.625rem;height:1.625rem}.frame-toolbar--actions .node-menu__list{top:auto;bottom:calc(100% + 4px)}.frame-tile__error-text{-webkit-line-clamp:3;color:#f06a6f;-webkit-box-orient:vertical;padding:0 10px;display:-webkit-box;overflow:hidden}.canvas-toolbar{z-index:10;flex-wrap:wrap;align-items:center;gap:1rem;max-width:calc(100% - 24px);display:flex;position:absolute;top:.75rem;left:.75rem}.canvas-toolbar__action,.canvas-cta{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:.5rem;padding:.375rem .75rem;font-size:.8125rem}.canvas-toolbar__action:hover,.canvas-cta:hover{border-color:var(--text-dim)}.canvas-cta{margin:.5rem 0}.canvas-toolbar__metrics{color:var(--text-dim);font-variant-numeric:tabular-nums;gap:.875rem;font-size:.75rem;display:flex}.canvas-toolbar__anchors{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.canvas-toolbar__anchors-label{font-variant-numeric:tabular-nums}.canvas-toolbar__anchors-hint{opacity:.8}.canvas-toolbar__action--ghost{padding:.25rem .5rem;font-size:.75rem}.canvas-anchor{display:inline-flex;position:relative}.canvas-anchor__img{object-fit:cover;border:1px solid var(--border);border-radius:.375rem;width:2.25rem;height:2.25rem;display:block}.canvas-anchor__remove{text-align:center;border:1px solid var(--border);background:var(--panel);width:1rem;height:1rem;color:var(--text);cursor:pointer;border-radius:50%;padding:0;font-size:.6875rem;line-height:.875rem;position:absolute;top:-.375rem;right:-.375rem}.canvas-anchor__remove:hover{border-color:var(--text-dim)}.canvas-anchor--live .canvas-anchor__img{border-color:var(--rendering);box-shadow:0 0 0 1px var(--rendering)}.canvas-anchor__live-badge{background:var(--rendering);width:1rem;height:1rem;color:var(--bg);border-radius:50%;place-items:center;font-size:.6875rem;font-weight:700;line-height:1;display:grid;position:absolute;top:-.375rem;left:-.375rem}.canvas-result-picker{z-index:10;background:var(--panel);border:1px solid var(--border);border-radius:.5rem;flex-direction:column;gap:.125rem;max-height:16.25rem;margin-top:.375rem;padding:.25rem;display:flex;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.canvas-result-picker__item{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.75rem;display:flex}.canvas-result-picker__item:hover{background:var(--border)}.canvas-result-picker__thumb{object-fit:cover;border:1px solid var(--border);border-radius:.25rem;width:1.75rem;height:1.75rem}.canvas-result-picker__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:11.25rem;overflow:hidden}.canvas-locked-banner{background:color-mix(in srgb, var(--keeper) 14%, var(--panel));border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;gap:.75rem;padding:.375rem .75rem;font-size:.75rem;display:flex}.dialog-modal{background:0 0;border:none;width:calc(100vw - 32px);max-width:30rem;margin:auto;padding:0}.dialog-modal::backdrop{background:#0f1115b3}.dialog{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:.625rem;padding:1.125rem}.dialog__title{margin:0 0 .75rem;font-size:.875rem;font-weight:600}.dialog__label{color:var(--text-dim);margin-bottom:.375rem;font-size:.75rem;display:block}.dialog__textarea,.dialog__input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:.5rem;padding:.5rem .625rem;font-size:.8125rem}.dialog__textarea:focus-visible,.dialog__input:focus-visible{outline:2px solid var(--rendering);outline-offset:0;border-color:var(--rendering)}.dialog__field-row{gap:.375rem;margin-bottom:.5rem;display:flex}.dialog__field-remove{border:1px solid var(--border);width:2rem;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:.5rem;flex:none}.dialog__add{border:1px dashed var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:.5rem;margin-bottom:.5rem;padding:.25rem .5rem;font-size:.75rem}.dialog__context{background:var(--bg);border:1px solid var(--border);border-radius:.5rem;align-items:center;gap:.625rem;margin-bottom:.75rem;padding:.5rem;display:flex}.dialog__context-thumb{object-fit:cover;border-radius:.375rem;flex:none;width:3rem;height:3rem}.dialog__context-prompt{color:var(--text-dim);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.75rem;display:-webkit-box;overflow:hidden}.dialog__import{color:var(--text-dim);align-items:center;gap:.5rem;margin-top:.625rem;font-size:.75rem;display:flex}.dialog__import-name{color:var(--text)}.dialog__format{gap:.75rem;margin-top:.625rem;display:flex}.dialog__format-field{color:var(--text-dim);flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}.dialog__select{background:var(--surface,#1a1a1a);color:var(--text);border:1px solid var(--border,#333);border-radius:.375rem;padding:.25rem .5rem;font-size:.8125rem}.dialog__cost{color:var(--text-dim);font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-size:.75rem}.dialog__error{border:1px solid var(--error);color:#f06a6f;border-radius:.5rem;margin:.625rem 0 0;padding:.5rem .625rem;font-size:.75rem}.dialog__actions{justify-content:flex-end;gap:.5rem;margin-top:.875rem;display:flex}.dialog__cancel,.dialog__submit{cursor:pointer;border-radius:.5rem;padding:.4375rem .875rem;font-size:.8125rem}.dialog__cancel{border:1px solid var(--border);color:var(--text-dim);background:0 0}.dialog__submit{border:1px solid var(--keeper);background:var(--keeper);color:#1a1400;font-weight:600}.dialog__submit:disabled{opacity:.5;cursor:not-allowed}.dialog__hint{color:var(--text-dim);text-align:right;margin:.625rem 0 0;font-size:.6875rem}.dialog__sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lightbox{border:1px solid var(--border);background:var(--panel);max-width:min(90vw,900px);max-height:90vh;color:var(--text);border-radius:.625rem;margin:auto;padding:0;overflow:hidden}.lightbox::backdrop{background:#0f1115cc}.lightbox__img{object-fit:contain;max-width:100%;max-height:75vh;margin-inline:auto;display:block}.lightbox__caption{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .875rem;display:flex}.lightbox__prompt{margin:0 0 .25rem;font-size:.8125rem}.lightbox__provenance{color:var(--text-dim);font-variant-numeric:tabular-nums;margin:0;font-size:.6875rem}.frame-tile__menu{z-index:3;position:absolute;top:6px;right:6px}.node-menu{position:relative}.node-menu__trigger{width:1.75rem;height:1.75rem;color:var(--text-dim);cursor:pointer;background:#0f1115b3;border:none;border-radius:.375rem;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:flex}.node-menu__trigger:hover,.node-menu__trigger[aria-expanded=true]{color:var(--text)}.node-menu__trigger:focus-visible{outline:2px solid var(--text-dim);outline-offset:1px}.node-menu__list{z-index:4;border:1px solid var(--border);background:var(--panel);border-radius:.5rem;min-width:8.75rem;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 20px #00000059}.node-menu__item{width:100%;color:var(--text);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:.3125rem;padding:.375rem .625rem;font-size:.75rem;display:block}.node-menu__item:hover,.node-menu__item:focus-visible{background:#ffffff14;outline:none}.node-menu__item:disabled{color:var(--text-dim);cursor:default}.frame-tile__refined-badge{z-index:1;color:var(--text-dim);letter-spacing:.02em;text-transform:uppercase;background:#0f1115c7;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:600;line-height:1.4;position:absolute;bottom:6px;left:6px}.prompts{border:1px solid var(--border);background:var(--panel);max-width:min(90vw,680px);max-height:85vh;color:var(--text);border-radius:.625rem;margin:auto;padding:0;overflow:hidden}.prompts::backdrop{background:#0f1115cc}.prompts__body{flex-direction:column;gap:.75rem;max-height:85vh;padding:1.125rem 1.25rem;display:flex;overflow-y:auto}.prompts__title{margin:0;font-size:.9375rem;font-weight:600}.prompts__note{color:var(--text-dim);margin:0;font-size:.75rem}.prompts__note--refined{color:var(--text)}.prompts__section{flex-direction:column;gap:.25rem;display:flex}.prompts__label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);margin:0;font-size:.6875rem;font-weight:600}.prompts__text{border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;background:#ffffff08;border-radius:.375rem;margin:0;padding:.5rem .625rem;font-size:.8125rem;line-height:1.45}.prompts__text--raw{color:var(--text-dim)}.prompts__close{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:.375rem;align-self:flex-end;padding:.375rem .875rem;font-size:.75rem}.prompts__close:hover{background:#ffffff14}.prompts__notes{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.prompts__note-row{align-items:flex-start;gap:.5rem;display:flex}.prompts__note-num{color:#fff;text-align:center;background:#ff5252;border-radius:50%;flex:none;width:1.125rem;height:1.125rem;font-size:.6875rem;font-weight:700;line-height:1.125rem}.prompts__note-text{word-break:break-word;flex:1;font-size:.8125rem;line-height:1.4}.prompts__thumbs{flex-wrap:wrap;gap:.5rem;display:flex}.prompts__thumb-btn{cursor:pointer;background:0 0;border:0;padding:0;line-height:0;display:block}.prompts__thumb{border:1px solid var(--border);object-fit:cover;border-radius:.375rem;width:4.5rem;height:4.5rem}.prompts__thumb--gone{color:var(--text-dim);text-align:center;background:#ffffff08;justify-content:center;align-items:center;padding:.25rem;font-size:.625rem;line-height:1.2;display:inline-flex}.prompts__transcript{border:1px solid var(--border);border-radius:.375rem;padding:.5rem .625rem}.prompts__transcript[open]{flex-direction:column;gap:.75rem;display:flex}.prompts__transcript-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:flex}.prompts__source{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:1px .5rem;font-size:.625rem;font-weight:600}.prompts__source--claude{color:var(--rendering);background:#6aa8ff2e}.prompts__source--template{color:var(--text-dim);background:#ffffff14}.prompts__footer{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.prompts__parent-link{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:.375rem;padding:.375rem .625rem;font-size:.75rem}.prompts__parent-link:hover{background:#ffffff14}.iterate{border:1px solid var(--border);background:var(--panel);max-width:min(96vw,1240px);max-height:92vh;color:var(--text);border-radius:10px;margin:auto;padding:0;overflow:hidden}.iterate::backdrop{background:#0f1115cc}.iterate__body{gap:0;max-height:92vh;display:flex}.iterate__main{background:#00000040;flex:auto;justify-content:center;align-items:center;min-width:0;padding:12px;display:flex;position:relative}.iterate__stage{flex:auto;justify-content:center;align-self:stretch;align-items:center;min-height:360px;padding:20px 210px;display:flex;position:relative}.iterate__frame{-webkit-user-select:none;user-select:none;line-height:0;display:inline-block;position:relative}.iterate__img{pointer-events:none;-webkit-user-drag:none;min-width:240px;max-width:min(46vw,520px);min-height:180px;max-height:68vh;display:block}.iterate__hit{cursor:crosshair;touch-action:none;position:absolute;inset:0}.iterate__overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.iterate__label{z-index:3;box-sizing:border-box;border:1px solid var(--border);background:var(--panel);height:30px;color:var(--text);border-radius:6px;align-items:center;gap:6px;padding:0 6px;font-size:.75rem;line-height:1;transition:left .2s,top .2s;display:flex;position:absolute;box-shadow:0 1px 4px #00000059}.iterate__label--hi{border-color:var(--keeper,#ffd54f)}.iterate__label-num{color:#fff;background:#ff5252;border-radius:50%;flex:none;justify-content:center;align-items:center;width:16px;height:16px;font-size:.625rem;font-weight:600;display:inline-flex}.iterate__label-text{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.iterate__label-del{width:16px;height:16px;color:var(--muted,#9aa0a6);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;padding:0;font-size:.875rem;line-height:1}.iterate__label-del:hover{color:var(--text);background:#ffffff14}.iterate__note-input{z-index:4;box-sizing:border-box;border:1px solid var(--rendering);background:var(--panel);width:184px;color:var(--text);border-radius:6px;padding:6px 8px;font-size:.75rem;position:absolute}.iterate__side{border-left:1px solid var(--border);flex-direction:column;flex:none;gap:12px;width:300px;padding:16px 18px;display:flex;overflow-y:auto}.iterate__head{flex-direction:column;gap:4px;display:flex}.iterate__title{margin:0;font-size:.9375rem;font-weight:600}.iterate__hint{color:var(--text-dim);margin:0;font-size:.75rem;line-height:1.45}.iterate__empty{color:var(--text-dim);margin:0;font-size:.75rem}.iterate__notes{flex-direction:column;flex:1;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.iterate__note{border:1px solid var(--border);background:#ffffff08;border-radius:6px;align-items:flex-start;gap:8px;padding:7px 9px;display:flex}.iterate__note:hover{border-color:var(--keeper)}.iterate__note-num{color:#fff;text-align:center;background:#ff5252;border-radius:50%;flex:none;width:18px;height:18px;font-size:.6875rem;font-weight:700;line-height:1.125rem}.iterate__note-text{word-break:break-word;flex:1;font-size:.75rem;line-height:1.4}.iterate__note-del{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex:none;font-size:.9375rem;line-height:1}.iterate__note-del:hover{color:var(--error)}.iterate__error{border:1px solid var(--error);color:var(--error);border-radius:6px;margin:0;padding:8px 10px;font-size:.75rem;line-height:1.4}.iterate__actions{justify-content:flex-end;gap:8px;display:flex}.iterate__cancel,.iterate__generate{border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:7px 16px;font-size:.75rem}.iterate__cancel{color:var(--text);background:0 0}.iterate__cancel:hover:not(:disabled){background:#ffffff14}.iterate__generate{border-color:var(--rendering);background:var(--rendering);color:var(--bg);font-weight:600}.iterate__generate:disabled{border-color:var(--border);color:var(--text-dim);cursor:default;background:0 0}.iterate__field{flex-direction:column;gap:4px;display:flex}.iterate__field-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);font-size:.6875rem;font-weight:600}.iterate__text{border:1px solid var(--border);width:100%;color:var(--text);font:inherit;resize:vertical;background:#ffffff08;border-radius:6px;padding:8px 10px;font-size:.8125rem;line-height:1.45}.iterate__notes-block,.iterate__refs-block{flex-direction:column;gap:6px;display:flex}.iterate__refs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.iterate__ref{border:1px solid var(--border);border-radius:6px;width:56px;height:56px;display:inline-flex;position:relative;overflow:hidden}.iterate__ref-img{object-fit:cover;width:100%;height:100%}.iterate__ref-del{width:18px;height:18px;color:var(--text);cursor:pointer;background:#0f1115cc;border:none;border-radius:50%;font-size:.8125rem;line-height:1;position:absolute;top:2px;right:2px}.iterate__ref-del:hover{color:var(--error)}.iterate__ref-add{border:1px dashed var(--border);width:56px;height:56px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;font-size:.75rem}.iterate__ref-add:hover:not(:disabled){border-color:var(--rendering);color:var(--text)}.iterate__format{letter-spacing:.02em;color:var(--text-dim);margin:0;font-size:.6875rem}.iterate__cost{color:var(--text-dim);margin:0;font-size:.75rem}@media (prefers-reduced-motion:reduce){.frame-tile--rendering .frame-tile__placeholder{animation:none}}.workspace{grid-template-columns:var(--sidebar-w,240px) 1fr;height:100%;min-height:0;display:grid}.workspace__main{min-width:0;height:100%;position:relative}.sidebar{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.sidebar__header{border-bottom:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .75rem;display:flex;position:sticky;top:0}.sidebar__title{letter-spacing:.04em;color:var(--text-dim);font-size:.75rem;font-weight:600}.sidebar__new{color:#fff;background:var(--accent,#4f46e5);cursor:pointer;border:none;border-radius:.375rem;padding:.25rem .5rem;font-size:.75rem}.sidebar__empty{color:var(--text-dim);padding:.75rem;font-size:.75rem}.sidebar__list{flex-direction:column;gap:.25rem;margin:0;padding:.375rem;list-style:none;display:flex}.sidebar__item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.5rem;padding:.375rem;display:flex}.sidebar__item:hover{background:var(--panel-2,#ffffff0a)}.sidebar__item--active{background:var(--panel-2,#ffffff14);border-color:var(--border)}.sidebar__thumb{background:var(--panel-2,#ffffff0f);border-radius:.375rem;flex:none;place-items:center;width:2.5rem;height:2.5rem;display:grid;position:relative;overflow:hidden}.sidebar__result-badge{background:var(--keeper);width:.875rem;height:.875rem;color:var(--bg);border-radius:50%;place-items:center;font-size:.625rem;font-weight:700;line-height:1;display:grid;position:absolute;bottom:1px;right:1px}.sidebar__lock-badge{background:var(--panel);border:1px solid var(--border);border-radius:50%;place-items:center;width:.875rem;height:.875rem;font-size:.5625rem;line-height:1;display:grid;position:absolute;top:1px;right:1px}.sidebar__thumb-img{object-fit:cover;width:100%;height:100%}.sidebar__thumb-placeholder{width:100%;height:100%}.sidebar__name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.8125rem;overflow:hidden}.sidebar__row{position:relative}.sidebar__delete{width:1.375rem;height:1.375rem;color:var(--text);background:var(--panel);border:1px solid var(--border);cursor:pointer;opacity:0;border-radius:.375rem;place-items:center;padding:0;font-size:.75rem;line-height:1;transition:opacity .12s;display:grid;position:absolute;top:50%;right:.375rem;transform:translateY(-50%)}.sidebar__row:hover .sidebar__delete,.sidebar__row:focus-within .sidebar__delete{opacity:1}.sidebar__delete[aria-disabled=true]{cursor:not-allowed}.sidebar__row:hover .sidebar__delete[aria-disabled=true],.sidebar__row:focus-within .sidebar__delete[aria-disabled=true]{opacity:.4}.sidebar-col{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.sidebar-resizer{cursor:col-resize;z-index:2;touch-action:none;background:0 0;border:0;width:.375rem;height:100%;padding:0;position:absolute;top:0;right:-.1875rem}.sidebar-resizer:hover,.sidebar-resizer:focus-visible{background:var(--accent,#4f46e5);opacity:.5}.sidebar-resizer:focus-visible{outline:none}.sidebar-col .sidebar{border-right:none;flex:1;min-height:0}.project-switcher{border-bottom:1px solid var(--border);gap:.25rem;padding:.5rem;display:flex}.project-switcher__tab{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:.375rem;flex:1;padding:.375rem .5rem;font-size:.75rem;font-weight:600}.project-switcher__tab--active{color:#fff;background:var(--accent,#4f46e5);border-color:var(--accent,#4f46e5)}.sidebar__new-form{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.375rem;padding:.5rem .75rem;display:flex}.sidebar__new-format{gap:.375rem;width:100%;display:flex}.sidebar__new-format .dialog__select{flex:1;min-width:0}.sidebar__new-input{min-width:0;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:.375rem;flex:1;padding:.3125rem .5rem;font-size:.8125rem}.sidebar__new-confirm{color:#fff;background:var(--accent,#4f46e5);cursor:pointer;border:none;border-radius:.375rem;padding:.3125rem .625rem;font-size:.75rem}.sidebar__beatcount{color:var(--text-dim);flex:none;margin-left:auto;font-size:.6875rem}.video-view{flex-direction:column;gap:1rem;height:100%;padding:1.25rem;display:flex;overflow-y:auto}.video-view__header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.video-view__title{margin:0;font-size:1.125rem}.video-view__actions{gap:.5rem;display:flex}.video-view__add-beat,.video-view__delete{color:var(--text);background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:.375rem;padding:.375rem .75rem;font-size:.8125rem}.video-view__add-beat{color:#fff;background:var(--accent,#4f46e5);border-color:var(--accent,#4f46e5)}.video-view__delete{color:var(--danger,#dc2626)}.video-view__error{color:var(--danger,#dc2626);border:1px solid var(--danger,#dc2626);background:#dc262614;border-radius:.375rem;padding:.5rem .75rem;font-size:.8125rem}.video-view__empty{color:var(--text-dim);font-size:.8125rem}.canonical-path{color:var(--text-dim);background:var(--panel);border:1px solid var(--border);border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.75rem;display:flex}.canonical-path__node{align-items:center;gap:.5rem;display:inline-flex}.canonical-path__beat{color:var(--text);background:var(--panel-2,#ffffff0f);border-radius:999px;padding:.125rem .5rem}.canonical-path__arrow{color:var(--text-dim)}.video-view__beats{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.beat-row{background:var(--panel);border:1px solid var(--border);border-radius:.625rem;flex-direction:column;gap:.75rem;padding:.875rem;display:flex}.beat-row__head{align-items:center;gap:.5rem;display:flex}.beat-row__index{width:1.375rem;height:1.375rem;color:var(--text-dim);background:var(--panel-2,#ffffff0f);border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:grid}.beat-row__name{min-width:0;color:var(--text);background:var(--bg);border:1px solid #0000;border-radius:.375rem;flex:1;padding:.3125rem .5rem;font-size:.875rem}.beat-row__name:focus{border-color:var(--border);outline:none}.beat-row__reorder{gap:.125rem;display:flex}.beat-row__reorder button{width:1.625rem;height:1.625rem;color:var(--text);background:var(--panel-2,#ffffff0a);border:1px solid var(--border);cursor:pointer;border-radius:.375rem;font-size:.8125rem}.beat-row__reorder button:disabled{opacity:.35;cursor:not-allowed}.beat-row__delete{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:.375rem;padding:.3125rem .625rem;font-size:.75rem}.beat-row__slots{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.frame-slot{background:var(--bg);border:1px solid var(--border);border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem;display:flex}.frame-slot__label{width:2.25rem;color:var(--text-dim);flex:none;font-size:.6875rem;font-weight:600}.frame-slot__preview{background:var(--panel-2,#ffffff0f);border-radius:.375rem;flex:none;width:2.5rem;height:2.5rem;overflow:hidden}.frame-slot__thumb{object-fit:cover;width:100%;height:100%}.frame-slot__placeholder{width:100%;height:100%;display:block}.frame-slot__select{min-width:0;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:.375rem;flex:1;padding:.3125rem .375rem;font-size:.75rem}.frame-slot__select:disabled{opacity:.5}.frame-slot__new{color:var(--text);background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:.375rem;flex:none;padding:.25rem .5rem;font-size:.6875rem}.frame-slot__new:disabled{opacity:.5;cursor:default}.frame-slot__warn{color:var(--danger,#dc2626);flex:none;font-size:.625rem}.beat-row__render{align-items:center;gap:.5rem;display:flex}.beat-row__render-btn{color:var(--text);background:var(--panel-2,#ffffff0a);border:1px solid var(--border);cursor:pointer;border-radius:.375rem;padding:.3125rem .75rem;font-size:.75rem}.beat-row__render-hint{color:var(--text-dim);font-size:.6875rem}.clip-board{border:1px solid var(--border);background:var(--panel,#ffffff05);border-radius:.5rem;margin-top:.75rem;overflow:hidden}.clip-board__toolbar{border-bottom:1px solid var(--border);align-items:center;gap:.625rem;padding:.5rem .75rem;display:flex}.clip-board__title{letter-spacing:.02em;color:var(--text-dim);font-size:.75rem;font-weight:600}.clip-board__render{color:var(--text);background:var(--accent,#4f7cff);cursor:pointer;border:none;border-radius:.375rem;padding:.3125rem .75rem;font-size:.75rem}.clip-board__render:disabled{opacity:.5;cursor:not-allowed}.clip-board__hint{color:var(--text-dim);font-size:.6875rem}.clip-board__error,.clip-board__toast{color:#ffb4b4;border-bottom:1px solid var(--border);background:#ff505014;padding:.5rem .75rem;font-size:.75rem}.clip-board__prompt{border-bottom:1px solid var(--border);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.clip-board__prompt-label{color:var(--text-dim);flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}.clip-board__prompt-input{resize:vertical;font:inherit;color:var(--text);background:var(--panel-2,#ffffff0a);border:1px solid var(--border);border-radius:.375rem;padding:.5rem}.clip-board__prompt-model{color:var(--text-dim);flex-direction:row;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.clip-board__prompt-model-select{font:inherit;color:var(--text);background:var(--panel-2,#ffffff0a);border:1px solid var(--border);border-radius:.375rem;flex:1;padding:.375rem .5rem;font-size:.75rem}.clip-board__prompt-actions{gap:.5rem;display:flex}.clip-board__prompt-actions button{color:var(--text);background:var(--accent,#4f7cff);cursor:pointer;border:none;border-radius:.375rem;padding:.375rem .875rem;font-size:.75rem}.clip-board__prompt-actions button:disabled{opacity:.5;cursor:not-allowed}.clip-board__prompt-cancel{background:var(--panel-2,#ffffff0f)!important}.clip-board__flow{height:460px;position:relative}.clip-tile__play{position:relative}.clip-tile__play-badge{color:#ffffffeb;text-shadow:0 1px 6px #0009;pointer-events:none;place-items:center;font-size:28px;display:grid;position:absolute;inset:0}.account-menu{align-items:center;display:inline-flex;position:relative}.account-menu__trigger{background:var(--panel);border:1px solid var(--border);width:1.75rem;height:1.75rem;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.account-menu__trigger:hover,.account-menu__trigger[aria-expanded=true]{border-color:var(--text-dim)}.account-menu__trigger:focus-visible{outline:2px solid var(--text-dim);outline-offset:1px}.account-menu__avatar{font-size:.75rem;font-weight:600;line-height:1}.account-menu__panel{z-index:40;background:var(--panel);border:1px solid var(--border);border-radius:.5rem;flex-direction:column;gap:.5rem;min-width:14rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 8px 24px #00000059}.account-menu__section{flex-direction:column;gap:.375rem;display:flex}.account-menu__section+.account-menu__section{border-top:1px solid var(--border);padding-top:.5rem}.account-menu__heading{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.account-menu__email{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.75rem;overflow:hidden}.account-menu__item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.3125rem .5rem;font-size:.75rem;text-decoration:none;display:block}.account-menu__item:hover,.account-menu__item:focus-visible{background:var(--bg)}.account-menu__setting{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.account-menu__setting-label{color:var(--text);font-size:.75rem}.identity-toast{z-index:50;position:fixed;top:auto;bottom:.75rem;right:.75rem}.app-header__session{align-items:center;gap:.75rem;margin-left:auto;display:inline-flex}.ui-scale{align-items:center;gap:.25rem;display:inline-flex}.ui-scale__btn{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:.375rem;padding:.1875rem .5rem;font-size:.75rem;line-height:1}.ui-scale__btn:hover:not(:disabled){border-color:var(--text-dim)}.ui-scale__btn:focus-visible{outline:2px solid var(--text-dim);outline-offset:1px}.ui-scale__btn:disabled{opacity:.4;cursor:default}.ui-scale__live{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.balance-chip{background:var(--panel);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:.375rem;align-items:center;gap:.3125rem;padding:.1875rem .625rem;font-size:.75rem;display:inline-flex}.balance-chip__diamond{color:var(--keeper);font-size:.6875rem;line-height:1}.balance-chip__value{color:var(--text);font-weight:600}.canvas-toast--credits{border-color:var(--keeper);border-left:3px solid var(--keeper);align-items:center;gap:.5rem;display:flex;top:auto;bottom:.75rem;box-shadow:0 0 0 1px #f5c84b26}.canvas-toast__icon{color:var(--keeper);flex:none;font-size:.8125rem;line-height:1}.signin{grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.signin__body{place-items:center;padding:1.5rem;display:grid}.signin__card{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:.75rem;width:100%;max-width:23.75rem;padding:1.75rem 1.5rem}.signin__title{margin:0 0 .625rem;font-size:1.15rem;font-weight:600}.signin__lede{color:var(--text-dim);margin:0 0 1.375rem;font-size:.8125rem;line-height:1.5}.signin__google{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:.5rem;justify-content:center;align-items:center;gap:.625rem;width:100%;padding:.625rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.signin__google:hover:not(:disabled){background:#f7f8f8}.signin__google:disabled{opacity:.7;cursor:default}.workspace__hamburger,.workspace__backdrop{display:none}@media (max-width:768px){.workspace{grid-template-columns:1fr}.sidebar-col{z-index:30;will-change:transform;width:min(82vw,320px);height:100%;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:2px 0 18px #00000073}.sidebar-col--drawer-open{transform:translate(0)}.sidebar-resizer{display:none}.workspace__hamburger{z-index:21;width:2.5rem;height:2.5rem;color:var(--text);background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:inline-flex;position:fixed;top:.375rem;left:.5rem}.app-header{padding-left:3.5rem}.app-header__tagline{display:none}.workspace__backdrop{z-index:20;cursor:pointer;background:#00000080;border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.canvas-toolbar{display:none}.canvas-locked-banner{flex-wrap:wrap;gap:.5rem}.iterate{width:96vw}.iterate__body{flex-direction:column}.iterate__main{max-height:46dvh;overflow-y:auto}.iterate__stage{min-height:0;padding:12px}.iterate__img{min-width:0;max-width:100%;min-height:0;max-height:40dvh}.iterate__side{border-left:none;border-top:1px solid var(--border);width:auto}.iterate__compact-note{color:var(--text-dim);margin:0;font-size:.75rem;font-style:italic;line-height:1.4}}@media (hover:none),(pointer:coarse){.canvas-stage{touch-action:none}.frame-toolbar__keeper,.frame-toolbar__cancel,.frame-tile__cancel,.frame-tile__keeper,.node-menu__trigger,.account-menu__trigger{width:44px;height:44px}.frame-toolbar__action,.frame-tile__action,.iterate__cancel,.iterate__generate{min-height:44px}}.admin{max-width:60rem;color:var(--text);margin:0 auto;padding:1.5rem 1.25rem 4rem}.admin__bar{flex-wrap:wrap;align-items:baseline;gap:1rem;margin-bottom:1.5rem;display:flex}.admin__back{color:var(--text-dim);font-size:.8125rem;text-decoration:none}.admin__back:hover{color:var(--text)}.admin__title{margin:0;font-size:1.25rem;font-weight:600}.admin__bar-actions{align-items:center;gap:.75rem;margin-left:auto;display:inline-flex}.admin__refreshed{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.75rem}.admin__refresh{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:.375rem;padding:.3125rem .875rem;font-size:.8125rem}.admin__refresh:hover:not(:disabled){border-color:var(--text-dim)}.admin__refresh:disabled{opacity:.5;cursor:default}.admin__state{color:var(--text-dim);padding:1rem 0;font-size:.875rem}.admin__state--error{color:var(--error)}.admin__link-btn{color:var(--rendering);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.admin__legend{color:var(--text-dim);margin:.5rem 0 1.5rem;font-size:.75rem;line-height:1.5}.admin__section{color:var(--text);margin:2rem 0 .75rem;font-size:.9375rem;font-weight:600}.admin-totals{background:var(--panel);border:1px solid var(--border);border-radius:.5rem;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin:0;padding:1rem;display:grid}.admin-totals>div{flex-direction:column;gap:.25rem;display:flex}.admin-totals dt{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem}.admin-totals dd{margin:0;font-size:1.125rem;font-weight:600}.admin-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.8125rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.5rem .75rem}.admin-table th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem;font-weight:500}.admin-num{font-variant-numeric:tabular-nums}.admin-table td.admin-num,.admin-table th.admin-num{text-align:right}.admin-muted{color:var(--text-dim);font-style:italic}.admin-row--empty td.admin-num{color:var(--error)}
