:root{--bg:#f3f3f2;--dot:#d6d6d4;--border:#e5e5e5;--text:#222;--muted:#666;--blue:#3b82f6;--blue-bg:#e8f0fe;--purple:#7c5cff;--purple-l:#a78bfa;--green:#22c55e;--shadow:0 2px 8px #0000000f}*{box-sizing:border-box}html,body{height:100%;color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.app{height:100vh;display:flex}.main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.topbar{border-bottom:1px solid var(--border);z-index:5;background:#fff;flex:none;align-items:center;gap:8px;height:44px;padding:0 12px;display:flex}.topbar .spacer{flex:1}.name-input{font:inherit;background:0 0;border:0;border-radius:6px;width:180px;padding:4px 6px;font-weight:500}.name-input:hover,.name-input:focus{background:#f3f3f2;outline:none}.btn{border-radius:8px;align-items:center;gap:6px;padding:6px 10px;transition:background .15s ease-out;display:inline-flex}.btn:hover{background:#f3f3f2}.pill{z-index:4;border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:12px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute}.tools{top:56px;left:12px}.views{top:56px;right:12px}.tool{border-radius:8px;place-items:center;width:34px;height:34px;font-size:16px;transition:background .15s ease-out;display:grid}.tool:hover{background:#f3f3f2}.tool.active{background:var(--blue-bg);color:var(--blue)}.sep{background:var(--border);width:1px;height:20px;margin:0 4px}.canvas{background:var(--bg);touch-action:none;-webkit-user-select:none;user-select:none;flex:1;position:relative;overflow:hidden}.world{transform-origin:0 0;position:absolute;top:0;left:0}.item{position:absolute}.frame-body{border:1px solid var(--border);background:#fff;position:absolute;inset:0;overflow:hidden;box-shadow:0 1px 3px #00000014}.frame-body iframe{pointer-events:none;background:#fff;border:0;width:100%;height:100%;display:block}.frame-head{color:var(--muted);white-space:nowrap;justify-content:space-between;align-items:center;padding-bottom:6px;display:flex;position:absolute;bottom:100%;left:0;right:0}.frame-head.sel{color:var(--blue)}.frame-head .icons{gap:8px;display:flex}.frame-head button{color:var(--muted);padding:0 2px}.sel-outline{border:2px solid var(--blue);pointer-events:none;position:absolute;inset:-1px}.generating .frame-body{outline:2px dashed var(--purple-l)}.agent-cursor{background:var(--purple);color:#fff;z-index:2;pointer-events:none;border-radius:999px;padding:2px 8px;font-size:11px;position:absolute;bottom:8px;right:8px}.shimmer{pointer-events:none;background:linear-gradient(100deg,#0000 30%,#a78bfa2e 50%,#0000 70%) 0 0/200% 100%;animation:1.4s linear infinite shim;position:absolute;inset:0}@keyframes shim{0%{background-position:200% 0}to{background-position:-200% 0}}.handle{border:2px solid var(--blue);background:#fff;border-radius:2px;width:10px;height:10px;position:absolute}.sticky{white-space:pre-wrap;background:#fde68a;padding:12px;font-size:15px;overflow:hidden;box-shadow:0 2px 6px #0000001f}.textbox{white-space:pre-wrap;min-width:40px;padding:4px;font-size:20px}.shape-rect{background:0 0;border:2px solid #222}.shape-ellipse{border:2px solid #222;border-radius:50%}.marquee{border:1px solid var(--blue);pointer-events:none;background:#3b82f614;position:absolute}.agent{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);z-index:6;background:#fffffff5;border-radius:16px;flex-direction:column;height:max(440px,100vh - 270px);max-height:calc(100vh - 68px);display:flex;position:fixed;top:56px;right:12px;overflow:hidden;box-shadow:0 8px 32px #0000001f}.agent-resize{cursor:ew-resize;z-index:2;width:8px;position:absolute;top:0;bottom:0;left:0}.agent-resize:hover{background:linear-gradient(90deg, var(--blue-bg), transparent)}.agent-launch{z-index:6;border:1px solid var(--border);width:40px;height:40px;box-shadow:var(--shadow);color:var(--purple);background:#fff;border-radius:12px;font-size:18px;position:fixed;top:56px;right:12px}.agent-head{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;height:44px;padding:0 14px;font-weight:600;display:flex}.agent-head .sparkle{color:var(--purple)}.msgs{flex-direction:column;flex:1;gap:12px;padding:14px;display:flex;overflow-y:auto}.msg-user{white-space:pre-wrap;background:#f0f0ef;border-radius:14px;align-self:flex-end;max-width:85%;padding:8px 12px}.msg-agent{white-space:pre-wrap;line-height:1.45}.chips{flex-direction:column;gap:6px;margin-top:8px;display:flex}.chip{border:1px solid var(--border);color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:5px 9px;font-family:ui-monospace,Menlo,monospace;font-size:12px;display:flex}.dot{background:var(--green);border-radius:50%;flex:none;width:8px;height:8px}.chip.run .dot{background:var(--purple);animation:1s ease-in-out infinite pulse}.chip.run{color:var(--purple)}@keyframes pulse{50%{opacity:.35}}.err{color:#b91c1c;font-size:13px}.composer{border-top:1px solid var(--border);padding:12px}.edit-pill{background:var(--blue-bg);color:var(--blue);border-radius:999px;margin-bottom:8px;padding:2px 10px;font-size:12px;display:inline-block}.input-wrap{border:1px solid var(--border);border-radius:14px;align-items:flex-end;gap:8px;padding:8px 10px;display:flex}.input-wrap:focus-within{border-color:#bbb}.input-wrap textarea{resize:none;font:inherit;border:0;outline:none;flex:1;max-height:140px}.send{color:#fff;background:#111;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.send:disabled{cursor:default;background:#bbb}.empty{color:var(--muted);text-align:center;margin-top:40px;line-height:1.6}.suggest{border:1px solid var(--border);text-align:left;width:100%;color:var(--text);border-radius:10px;margin-top:8px;padding:8px 10px;display:block}.suggest:hover{background:#f7f7f6}.overlay{z-index:50;background:#0009;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay .bar{color:#fff;align-items:center;gap:12px;margin-bottom:10px;display:flex}.overlay .bar button{color:#fff;border:1px solid #fff5;border-radius:8px;padding:4px 10px}.overlay iframe{background:#fff;border:0;border-radius:8px;max-width:96vw;max-height:88vh}.menu{border:1px solid var(--border);box-shadow:var(--shadow);z-index:10;background:#fff;border-radius:10px;min-width:130px;padding:4px;position:absolute;top:40px;right:0}.menu button{text-align:left;border-radius:6px;width:100%;padding:6px 10px;display:block}.menu button:hover{background:#f3f3f2}.live-cursor{z-index:20;pointer-events:none;transform-origin:0 0;filter:drop-shadow(0 2px 4px #7c5cff59);transition:left .45s cubic-bezier(.2,.7,.3,1),top .45s cubic-bezier(.2,.7,.3,1);position:absolute}.live-cursor svg{display:block}.live-cursor span{background:var(--purple);color:#fff;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500;position:absolute;top:18px;left:14px}.frame-head>span:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.frame-head .icons{flex:none;margin-left:8px}.frame-head:not(.sel){color:#6b6b68;letter-spacing:-.005em;font-weight:450}.frame-head .icons{align-items:center;position:relative}.frame-head .icon-btn{color:#6b6b68;place-items:center;transition:background .15s ease-out,color .15s ease-out;display:grid}.frame-head .icon-btn:hover{color:#222;background:#00000012}.frame-head svg{shape-rendering:geometricprecision;display:block}.dl-menu{border:1px solid var(--border);z-index:30;color:var(--text);background:#fff;flex-direction:column;display:flex;position:absolute;right:0;box-shadow:0 6px 24px #0000001f}.dl-menu button{text-align:left;white-space:nowrap;color:var(--text);transition:background .12s ease-out}.dl-menu button:hover{background:#f3f3f2}.pill{border-radius:14px;gap:2px;padding:5px}.pill .tool{color:#333;border-radius:9px;width:34px;height:34px}.pill .tool.active{background:var(--blue-bg);color:#1d5fd6}.pill .tool.chev{color:#666;width:20px;margin-left:-4px}.pill .tool.chev.open{background:#e9e9e7}.split,.dd-wrap{align-items:center;display:flex;position:relative}.page-btn,.zoom-btn{color:#222;border-radius:9px;align-items:center;gap:6px;height:34px;padding:0 10px;font-size:14px;transition:background .15s ease-out;display:inline-flex}.page-btn svg,.zoom-btn svg{color:#777;margin-top:1px}.page-btn:hover,.zoom-btn:hover{background:#f3f3f2}.zoom-btn.open{background:#e9e9e7}.dd{border:1px solid var(--border);z-index:40;background:#fff;border-radius:14px;min-width:210px;padding:6px;animation:.12s ease-out ddin;position:absolute;top:calc(100% + 10px);box-shadow:0 8px 28px #00000024}@keyframes ddin{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.dd-row{text-align:left;color:#222;border-radius:8px;align-items:center;gap:12px;width:100%;padding:8px 10px;font-size:14px;transition:background .1s ease-out;display:flex}button.dd-row:hover{background:#f3f3f2}.dd-row.disabled{color:#aaa;pointer-events:none}.dd-ico{color:#444;flex:none;place-items:center;width:18px;display:grid}.dd-label{white-space:nowrap;flex:1}.dd-key{color:#8a8a87;white-space:nowrap;font-size:13px}.dd-check{color:#1d5fd6;place-items:center;width:18px;display:grid}.dd-sep{background:#ececea;height:1px;margin:5px 4px}.live-cursor span{top:22px;left:18px}.live-cursor.idle svg{animation:1.3s ease-in-out infinite bob}@keyframes bob{50%{transform:translate(3px,4px)}}.live-cursor{transition:left .6s cubic-bezier(.2,.7,.3,1),top .6s cubic-bezier(.2,.7,.3,1)}.steps{margin-top:6px}.steps-head{color:#6b6b68;align-items:center;gap:8px;max-width:100%;padding:4px 6px 4px 0;font-size:14px;transition:color .15s ease-out;display:inline-flex}.steps-head:hover{color:#222}.steps-head>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.steps-head.run{color:var(--purple)}.steps-head .dot{background:var(--purple);animation:1s ease-in-out infinite pulse}.steps-head .caret{flex:none;place-items:center;transition:transform .15s ease-out;display:inline-grid;transform:rotate(-90deg)}.steps-head .caret.open{transform:rotate(0)}.steps .chips{margin-top:6px;animation:.12s ease-out ddin}.share-btn.on{color:#1d5fd6}.share-pop{cursor:default;width:360px;padding:14px}.share-title{margin-bottom:10px;font-size:15px;font-weight:600}.share-row{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.share-row strong{font-size:14px;font-weight:500;display:block}.share-row small{color:#777;margin-top:3px;font-size:12.5px;line-height:1.4;display:block}.switch{background:#d4d4d1;border-radius:999px;flex:none;width:38px;height:22px;margin-top:2px;transition:background .15s ease-out;position:relative}.switch span{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s ease-out;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch.on{background:var(--blue)}.switch.on span{transform:translate(16px)}.share-link{gap:8px;margin-top:14px;display:flex}.share-link input{border:1px solid var(--border);min-width:0;font:inherit;color:#444;background:#fafaf9;border-radius:9px;flex:1;padding:8px 10px;font-size:13px}.copy-btn{color:#fff;white-space:nowrap;background:#111;border-radius:9px;padding:0 14px;font-size:13px;font-weight:500}.share-foot{color:#888;align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.link-btn{color:#1d5fd6;font-size:12px}.link-btn:hover{text-decoration:underline}.badge-ro{color:#666;background:#f0f0ef;border-radius:999px;padding:2px 10px;font-size:12px}.viewer-msg{text-align:center;color:#555;place-content:center;height:100vh;padding:24px;font-family:Inter,system-ui,sans-serif;display:grid}.viewer-msg h1{color:#222;margin:0 0 6px;font-size:20px}.viewer .pill.views .tool{font-size:18px}.print-root{display:none}@media print{@page{margin:12mm}html,body{background:#fff!important;height:auto!important;overflow:visible!important}.app,.overlay,.agent,.agent-launch{display:none!important}.print-root{display:block!important}.print-page{break-after:page;page-break-after:always}.print-page:last-child{break-after:auto;page-break-after:auto}.print-page h2{color:#333;margin:0 0 8px;font:600 14px Inter,system-ui,sans-serif}.print-page footer{color:#999;margin-top:6px;font:11px Inter,system-ui,sans-serif}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.name-input{padding:6px 8px;font-size:14px}.name-chev{color:#777;border-radius:7px;place-items:center;width:26px;height:26px;margin-left:-4px;transition:background .15s ease-out;display:grid}.name-chev:hover,.name-chev.open{color:#333;background:#ececea}.item.editing .frame-body iframe{pointer-events:auto}.item.editing .frame-body{outline:2px solid var(--blue);outline-offset:0}.item.editing .frame-head{color:var(--blue)}.bar-wrap{z-index:12;pointer-events:none;justify-content:center;padding:0 12px;display:flex;position:absolute;bottom:18px;left:0}.pill.bar{pointer-events:auto;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;max-width:100%;padding:6px;position:static;box-shadow:0 6px 24px #00000024}.bar-btn{color:#333;border-radius:8px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 6px;font-size:14px;transition:background .12s ease-out;display:inline-flex}.bar-btn:hover:not(:disabled){background:#f0f0ee}.bar-btn:disabled{color:#bbb;cursor:default}.bar-btn.on{background:var(--blue-bg);color:#1d5fd6}.bar-btn.add{gap:6px;font-weight:500}.bar-sep{background:var(--border);width:1px;height:20px;margin:0 4px}.bar-chip{color:#444;background:#f0f0ee;border-radius:7px;padding:4px 9px;font-size:12.5px;font-weight:500}.bar-hint{color:#777;padding:0 8px;font-size:13px}.bar-text{border:1px solid var(--border);height:30px;font:inherit;border-radius:8px;width:170px;padding:0 9px;font-size:13px}.bar-text:focus{border-color:var(--blue);outline:none}.bar-color{cursor:pointer;border-radius:8px;align-items:center;gap:5px;height:30px;padding:0 7px;transition:background .12s;display:inline-flex;position:relative}.bar-color:hover{background:#f0f0ee}.bar-color-label{color:#444;font-size:13px;font-weight:600}.bar-swatch{border:1px solid #0003;border-radius:50%;width:16px;height:16px}.bar-color input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.bar-step{border:1px solid var(--border);border-radius:8px;align-items:center;height:30px;display:inline-flex;overflow:hidden}.bar-step button{color:#555;width:24px;height:100%}.bar-step button:hover{background:#f0f0ee}.bar-step input{text-align:center;width:38px;font:inherit;-moz-appearance:textfield;border:0;font-size:13px}.bar-step input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bar-step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bar-step input:focus{outline:none}.bar-range{color:#666;align-items:center;gap:4px;font-size:13px;display:inline-flex}.bar-range input{width:70px;accent-color:var(--blue)}.bar-dot{border:1px solid #0000002e;border-radius:50%;width:20px;height:20px}.bar-dot.on{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--blue)}.bar-dim{color:#777;align-items:center;gap:4px;font-size:12px;display:inline-flex}.bar-dim input{border:1px solid var(--border);width:58px;height:30px;font:inherit;border-radius:8px;padding:0 6px;font-size:13px}.bar-primary{background:var(--blue);color:#fff;border-radius:8px;align-items:center;gap:7px;height:30px;padding:0 12px;font-size:13.5px;font-weight:500;transition:filter .12s;display:inline-flex}.bar-primary:hover{filter:brightness(1.08)}.bar-done{color:#fff;background:#111;border-radius:8px;height:30px;padding:0 14px;font-size:13.5px;font-weight:500}.dd.up{top:auto;bottom:calc(100% + 10px)}.agent-title{align-items:center;gap:6px;display:inline-flex}.help-btn{color:#666;border:1.5px solid #c9c9c6;border-radius:50%;place-items:center;width:22px;height:22px;margin-left:4px;font-size:12px;font-weight:600;line-height:1;transition:all .15s ease-out;display:grid;position:relative}.help-btn:hover,.help-btn.on{background:var(--purple);border-color:var(--purple);color:#fff}.help-btn.pulse{border-color:var(--purple);color:var(--purple)}.help-btn.pulse:after{content:"";border:2px solid var(--purple-l);opacity:.7;border-radius:50%;animation:1.6s ease-out infinite ring;position:absolute;inset:-5px}@keyframes ring{0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(1.35)}}.tour-link{color:var(--purple);margin:14px auto 0;font-size:13px;display:block}.tour-link:hover{text-decoration:underline}.help{flex-direction:column;flex:1;gap:12px;padding:12px 14px 18px;display:flex;overflow-y:auto}.help-back{color:#666;align-self:flex-start;padding:4px 0;font-size:13px}.help-back:hover{color:#222}.help-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px}.help-card h2{margin:0 0 4px;font-size:18px}.help-card h3{margin:0 0 10px;font-size:14.5px}.help-card p{color:#555;margin:0 0 10px;font-size:13.5px;line-height:1.45}.help-card.hero{background:linear-gradient(135deg,#f3efff,#eef5ff);border-color:#e2dcff}.help-primary{background:var(--purple);color:#fff;border-radius:10px;padding:9px 14px;font-size:13.5px;font-weight:500;transition:filter .15s}.help-primary:hover{filter:brightness(1.08)}.help-primary.sm{padding:6px 12px;font-size:13px}.help-secondary{border:1px solid var(--border);background:#fff;border-radius:10px;padding:8px 12px;font-size:13px;transition:background .15s}.help-secondary:hover:not(:disabled){background:#f6f6f5}.help-secondary:disabled{color:#aaa;cursor:default}.formula{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.formula span{color:#5b3fd8;background:#f3efff;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:500}.vs{gap:6px;margin-bottom:10px;font-size:13px;display:grid}.vs div{border-radius:10px;padding:8px 10px;line-height:1.4}.vs b{text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:11px;display:block}.weak{color:#8a3b2d;background:#fff4f2}.strong{color:#25603a;background:#effaf2}.help-sub{margin:10px 0 6px!important;font-size:12.5px!important}.example{text-align:left;border:1px solid var(--border);border-radius:10px;width:100%;margin-bottom:7px;padding:9px 11px;transition:border-color .15s,background .15s;display:block}.example:hover{border-color:var(--purple-l);background:#faf8ff}.example b{margin-bottom:2px;font-size:12.5px;display:block}.example span{color:#666;font-size:12.5px;line-height:1.4;display:block}.example em{color:var(--purple);margin-top:4px;font-size:12px;font-style:normal;display:block}.improve small{color:#999;margin-left:8px;font-size:12px}.improved{background:#faf8ff;border:1px solid #e5defc;border-radius:10px;margin-top:10px;padding:10px}.improved p{color:#333;margin-bottom:8px}.ask{gap:6px;display:flex}.ask input{border:1px solid var(--border);min-width:0;font:inherit;border-radius:10px;flex:1;padding:8px 10px;font-size:13px}.ask input:focus{border-color:var(--purple-l);outline:none}.ask button{color:#fff;background:#111;border-radius:10px;padding:0 14px;font-size:13px}.ask button:disabled{background:#bbb}.chips-q{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chips-q button{border:1px solid var(--border);color:#555;border-radius:999px;padding:4px 10px;font-size:12px;transition:all .15s}.chips-q button:hover{border-color:var(--purple-l);color:var(--purple)}.answer{white-space:pre-wrap;background:#f7f7f6;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:13.5px;line-height:1.5}.help .err{margin-top:8px}.help summary{cursor:pointer;font-size:14.5px;font-weight:600}.help table{border-collapse:collapse;width:100%;margin-top:10px;font-size:12.5px}.help td{vertical-align:top;color:#555;padding:4px 0}.help td:first-child{width:48%;padding-right:8px}kbd{color:#333;background:#f3f3f2;border:1px solid #e2e2df;border-bottom-width:2px;border-radius:6px;padding:1px 6px;font:500 11.5px ui-monospace,Menlo,monospace}.tour{z-index:100;position:fixed;inset:0}.tour-block{position:absolute;inset:0}.tour-dim{background:#0f0f198c;position:absolute;inset:0}.tour-spot{pointer-events:none;border-radius:14px;transition:all .3s cubic-bezier(.2,.7,.3,1);position:absolute;box-shadow:0 0 0 9999px #0f0f198c,0 0 0 3px #a78bfae6}.tour-card{background:#fff;border-radius:16px;padding:16px 16px 14px;transition:left .3s cubic-bezier(.2,.7,.3,1),top .3s cubic-bezier(.2,.7,.3,1);animation:.2s ease-out ddin;position:absolute;box-shadow:0 18px 50px #0000004d}.tour-step{color:var(--purple);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;font-weight:600}.tour-card h3{margin:4px 0 6px;font-size:16px}.tour-card p{color:#555;margin:0 0 10px;font-size:13.5px;line-height:1.5}.tour-try{color:#5b3fd8;background:#f3efff;border-radius:9px;margin-bottom:10px;padding:7px 11px;font-size:13px;font-weight:500;transition:background .15s}.tour-try:hover{background:#e9e2ff}.tour-done{color:#25803a;margin:-4px 0 10px;font-size:12.5px}.tour-foot{align-items:center;gap:8px;display:flex}.tour-dots{flex:1;gap:5px;display:flex}.tour-dots span{cursor:pointer;background:#dcdcd9;border-radius:50%;width:6px;height:6px;transition:all .2s}.tour-dots span.on{background:var(--purple);border-radius:3px;width:16px}.tour-skip,.tour-back{color:#777;border-radius:8px;padding:6px 8px;font-size:13px}.tour-skip:hover,.tour-back:hover{background:#f3f3f2}.tour-next{color:#fff;background:#111;border-radius:10px;padding:8px 14px;font-size:13.5px;font-weight:500}.plan-card{border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;gap:11px;margin:4px 0 10px;padding:14px 16px;animation:.2s ease-out ddin;display:flex;box-shadow:0 1px 2px #00000008}.plan-row{color:#222;align-items:center;gap:11px;font-size:14.5px;transition:color .25s ease-out;display:flex}.plan-row.pending{color:#444}.plan-row.completed{color:#8a8a87}.plan-ico{box-sizing:border-box;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;transition:background .25s ease-out,border-color .25s ease-out;display:grid}.plan-ico.pending{border:1.5px dashed #a8a8a4}.plan-ico.in_progress{border:2px solid #dcdcd9;border-top-color:#555;animation:.8s linear infinite spin}.plan-ico.completed{background:#22a559;border:0;animation:.25s ease-out pop}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{transform:scale(.6)}to{transform:scale(1)}}.msgs-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.msgs-wrap .msgs{flex:1;min-height:0}.jump-btn{border:1px solid var(--border);color:#333;z-index:3;background:#fff;border-radius:50%;place-items:center;width:38px;height:38px;transition:background .15s,box-shadow .15s;animation:.18s ease-out jumpin;display:grid;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000024}.jump-btn:hover{background:#f6f6f5;box-shadow:0 6px 18px #0000002e}@keyframes jumpin{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.typing{align-items:center;gap:5px;padding:8px 2px 2px;display:inline-flex}.typing i{background:#9a9a96;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite dots}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes dots{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.jump-btn.working{border-color:var(--purple-l);animation:.18s ease-out jumpin,2s ease-in-out infinite glow;box-shadow:0 4px 14px #7c5cff38}@keyframes glow{50%{box-shadow:0 4px 18px #7c5cff61}}.jump-dots{align-items:center;gap:3px;display:inline-flex}.jump-dots i{background:var(--purple);border-radius:50%;width:4.5px;height:4.5px;animation:1.2s ease-in-out infinite dots}.jump-dots i:nth-child(2){animation-delay:.15s}.jump-dots i:nth-child(3){animation-delay:.3s}.jump-btn{position:absolute}.jump-btn .jump-dots{display:none}.jump-btn .jump-arrow{display:block}.jump-btn.working .jump-dots{display:inline-flex}.jump-btn.working .jump-arrow,.jump-btn.working:hover .jump-dots{display:none}.jump-btn.working:hover .jump-arrow{color:var(--purple);display:block}.btn.on{background:#ececea}.btn:disabled{opacity:.6;cursor:default}.shot-overlay{z-index:30;cursor:crosshair;background:#14141e2e;position:absolute;inset:0}.shot-hint{color:#fff;pointer-events:none;background:#111;border-radius:999px;padding:7px 14px;font-size:13px;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000040}.shot-sel{pointer-events:none;background:0 0;border:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #14141e61,0 0 0 1px #0000004d}.shot-sel span{color:#fff;white-space:nowrap;background:#111;border-radius:6px;padding:2px 8px;font-size:12px;position:absolute;top:calc(100% + 6px);left:0}.shot-card{z-index:60;border:1px solid var(--border);background:#fff;border-radius:16px;align-items:stretch;gap:12px;width:330px;padding:10px;animation:.22s ease-out jumpin2;display:flex;position:fixed;bottom:18px;left:18px;box-shadow:0 14px 40px #00000038}@keyframes jumpin2{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.shot-card img{object-fit:contain;border:1px solid var(--border);background:#f3f3f2;border-radius:10px;flex:none;width:120px;height:96px}.shot-meta{flex-direction:column;justify-content:space-between;min-width:0;padding:2px 0;display:flex}.shot-meta b{font-size:14px}.shot-meta span{color:#777;margin-top:2px;font-size:12px}.shot-actions{gap:6px;margin-top:8px;display:flex}.shot-dl{color:#fff;background:#111;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:500}.shot-cp{border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:13px;transition:background .15s}.shot-cp:hover{background:#f6f6f5}.shot-x{color:#999;font-size:12px;position:absolute;top:6px;right:8px}.shot-x:hover{color:#222}.input-wrap{align-items:flex-end}.clip-btn{color:#777;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:grid}.clip-btn:hover{color:#222;background:#f0f0ee}.att-row{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.att{border:1px solid var(--border);background:#f6f6f5;border-radius:12px;width:58px;height:58px;animation:.15s ease-out ddin;position:relative;overflow:hidden}.att img{object-fit:cover;width:100%;height:100%;display:block}.att.bad{background:#fff4f2;border-color:#e5a29a}.att-file{flex-direction:column;justify-content:center;align-items:center;height:100%;padding:0 4px;font-size:18px;display:flex}.att-file em{color:#666;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9.5px;font-style:normal;overflow:hidden}.att-x{color:#fff;background:#0009;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;display:none;position:absolute;top:3px;right:3px}.att:hover .att-x{display:grid}.att-spin{background:#fff9;place-items:center;display:grid;position:absolute;inset:0}.att-spin:after{content:"";border:2px solid #d4d4d1;border-top-color:var(--purple);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.att-err{color:#fff;background:#d64533;border-radius:50%;place-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:grid;position:absolute;bottom:4px;left:4px}.msg-atts{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.msg-atts img{border-radius:10px;max-width:180px;max-height:140px;display:block}.file-chip{border:1px solid var(--border);background:#fff;border-radius:8px;padding:3px 8px;font-size:12.5px}.agent.dragging{outline:2px dashed var(--purple-l);outline-offset:-6px}.drop-hint{z-index:20;pointer-events:none;color:var(--purple);background:#faf8ffeb;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.drop-hint b{font-size:17px}.drop-hint span{color:#777;font-size:13px}.mic-btn{color:#777;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:grid;position:relative}.mic-btn:hover{color:#222;background:#f0f0ee}.mic-btn.off{opacity:.4}.mic-btn.on{background:var(--purple);color:#fff}.mic-btn.on:after{content:"";border:2px solid var(--purple-l);border-radius:50%;animation:1.4s ease-out infinite ring;position:absolute;inset:-4px}.mic-wave{align-items:center;gap:2px;height:14px;display:inline-flex}.mic-wave i{background:#fff;border-radius:2px;width:2.5px;height:5px;animation:.9s ease-in-out infinite wave}.mic-wave i:nth-child(2){animation-delay:.12s}.mic-wave i:nth-child(3){animation-delay:.24s}.mic-wave i:nth-child(4){animation-delay:.36s}@keyframes wave{0%,to{height:4px}50%{height:14px}}.voice-note{color:var(--purple);align-items:center;gap:6px;margin:0 2px 8px;font-size:12.5px;display:flex}.voice-note.err{color:#c4321c}.voice-help{color:#5a4630;background:#fff8f0;border:1px solid #f1d9bf;border-radius:12px;margin-bottom:8px;padding:11px 32px 11px 12px;font-size:13px;animation:.15s ease-out ddin;position:relative}.voice-help b{color:#3d2d1a;margin-bottom:3px;display:block}.voice-help p{margin:0 0 8px;line-height:1.45}.voice-help-x{color:#a58b6c;font-size:12px;position:absolute;top:8px;right:10px}.voice-help-actions{flex-wrap:wrap;gap:6px;display:flex}.pixie-mark{border-radius:7px;flex:none;width:22px;height:22px;display:block;box-shadow:0 1px 4px #7c5cff59}.agent-launch{place-items:center;padding:0;display:grid}.agent-launch .pixie-mark{border-radius:9px;width:28px;height:28px}.agent-title{gap:8px}.auth-back{z-index:120;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14102880;place-items:center;padding:16px;animation:.15s ease-out ddin;display:grid;position:fixed;inset:0}.auth-page{background:radial-gradient(circle at 20% 10%,#efe9ff,#0000 50%),radial-gradient(circle at 90% 90%,#ffe8f3,#0000 45%),#f6f5fb;place-items:center;min-height:100vh;padding:16px;display:grid;overflow:auto}:is(html:has(.auth-page),body:has(.auth-page)){overflow:auto}.auth-card{background:#fff;border-radius:22px;width:100%;max-width:410px;padding:30px 30px 24px;position:relative;box-shadow:0 24px 70px #28145a47}.auth-logo{border-radius:14px;width:46px;height:46px;margin-bottom:14px;display:block;box-shadow:0 4px 14px #7c5cff66}.auth-card h2{letter-spacing:-.01em;margin:0 0 6px;font-size:22px}.auth-sub{color:#666;margin:0 0 16px;font-size:14px;line-height:1.5}.auth-reason{color:#5b3fd8;background:#f4f0ff;border-radius:10px;margin-bottom:14px;padding:8px 12px;font-size:13px}.auth-card form{flex-direction:column;gap:12px;display:flex}.auth-card label span{color:#444;margin-bottom:5px;font-size:12.5px;font-weight:600;display:block}.auth-card label em{color:#999;margin-left:4px;font-style:normal;font-weight:400}.auth-card input{width:100%;font:inherit;border:1px solid #dcdcd8;border-radius:12px;padding:11px 13px;font-size:15px;transition:border-color .15s,box-shadow .15s}.auth-card input:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 3px #7c5cff26}.auth-pw{position:relative}.auth-pw input{padding-right:62px}.auth-pw button{color:#777;border-radius:7px;padding:4px 8px;font-size:12.5px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-pw button:hover{color:#222;background:#f1f1ef}.auth-err{color:#b3321e;background:#fff1ef;border-radius:10px;padding:8px 12px;font-size:13px}.auth-submit{color:#fff;box-sizing:border-box;background:linear-gradient(135deg,#6d4dff,#a35cff 60%,#e06fc0);border-radius:12px;width:100%;margin-top:4px;padding:12px;font-size:15px;font-weight:600;transition:filter .15s,transform .1s}.auth-submit:hover:not(:disabled){filter:brightness(1.07)}.auth-submit:active:not(:disabled){transform:scale(.99)}.auth-submit:disabled{opacity:.65;cursor:default}.auth-links{color:#777;text-align:center;flex-direction:column;gap:6px;margin-top:14px;font-size:13.5px;display:flex}.auth-links button{color:var(--purple);font-weight:500}.auth-links button:hover{text-decoration:underline}.auth-x{color:#999;font-size:13px;position:absolute;top:14px;right:16px}.auth-x:hover{color:#222}.btn-primary{color:#fff;background:#111;border-radius:9px;padding:6px 13px;font-size:13.5px;font-weight:500;transition:filter .15s}.btn-primary:hover{filter:brightness(1.25)}.avatar{color:#fff;background:linear-gradient(135deg,#6d4dff,#e06fc0);border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:600;display:grid}.acct{min-width:260px;padding:12px}.acct-email{word-break:break-all;margin-bottom:10px;font-size:14px;font-weight:600}.usage-bar{background:#ececea;border-radius:99px;height:7px;overflow:hidden}.usage-bar i{background:linear-gradient(90deg,#6d4dff,#e06fc0);border-radius:99px;height:100%;display:block}.usage span{color:#777;margin-top:5px;font-size:12px;display:block}.acct-line{color:#777;margin-top:8px;font-size:12.5px}.save-chip{color:#8a8a87;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:12.5px;transition:background .15s;display:inline-flex}.save-chip i{background:#c8c8c4;border-radius:50%;width:7px;height:7px}.save-chip.saved i{background:var(--green)}.save-chip.saving i{background:var(--purple);animation:1s ease-in-out infinite pulse}.save-chip.error{color:#b3321e}.save-chip.error i{background:#d64533}.save-chip.guest{color:#8a5a00;cursor:pointer;background:#fff6e0}.save-chip.guest i{background:#f2a900}.save-chip.guest:hover{background:#ffefc4}.dd-head{color:#888;text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;padding:6px 10px 4px;font-size:12px;font-weight:600;display:flex}.dd-head em{font-style:normal;font-weight:500}.canv-row{border-radius:8px;align-items:center;display:flex}.canv-row:hover{background:#f3f3f2}.canv-open{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;padding:8px 6px 8px 10px;font-size:14px;display:flex}.canv-open .dd-label{text-overflow:ellipsis;overflow:hidden}.canv-x{color:#bbb;opacity:0;padding:6px 10px;font-size:12px;transition:opacity .12s,color .12s}.canv-row:hover .canv-x{opacity:1}.canv-x:hover{color:#c4321c}.guest-note{color:#666;max-width:290px;padding:10px 12px 12px;font-size:13px;line-height:1.5}.guest-note .btn-primary{margin-top:8px;display:inline-block}.topbar{z-index:30;position:relative}.toast{z-index:90;color:#fff;text-align:center;background:#111;border-radius:999px;max-width:80vw;padding:10px 18px;font-size:13.5px;animation:.2s ease-out jumpin2;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #00000047}.shot-card{width:380px}.shot-actions button{white-space:nowrap}.shot-actions{flex-wrap:wrap}.font-btn{justify-content:space-between;gap:6px;min-width:112px;max-width:150px;font-size:13px;font-weight:500}.font-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.font-dd{min-width:250px;padding:8px;left:0}.font-search{box-sizing:border-box;border:1px solid var(--border);width:100%;height:32px;font:inherit;border-radius:8px;margin-bottom:6px;padding:0 10px;font-size:13px}.font-search:focus{border-color:var(--blue);outline:none}.font-err{color:#b3321e;padding:2px 4px 6px;font-size:12px}.font-list{max-height:320px;overflow-y:auto}.font-cat{letter-spacing:.05em;text-transform:uppercase;color:#999;padding:8px 8px 3px;font-size:11px;font-weight:600}.font-row{padding:6px 10px;font-size:17px}.font-row.on{background:var(--blue-bg);color:#1d5fd6}.font-custom{color:var(--blue);font-size:13px}.zoom-custom{color:#222;align-items:center;gap:8px;padding:6px 10px;font-size:14px;display:flex}.zoom-custom span:first-child{flex:1}.zoom-custom input{border:1px solid var(--border);width:64px;height:30px;font:inherit;text-align:right;border-radius:8px;padding:0 8px;font-size:14px}.zoom-custom input:focus{border-color:var(--blue);outline:none}.grip{color:#b9b9b4;cursor:grab;touch-action:none;border-radius:6px;flex:none;place-items:center;width:14px;height:30px;transition:color .12s,background .12s;display:grid}.grip:hover{color:#6b6b68;background:#f0f0ee}.grip:active{cursor:grabbing}
