*{outline:none}:focus{box-shadow:none;outline:none}button:focus,input:focus,textarea:focus,select:focus{border-color:#c2571f4d;outline:none;box-shadow:0 0 0 1px #c2571f1a}:root{--color-paper:#fff;--color-paper-light:#f9fafb;--color-paper-dark:#f3f4f6;--color-text:#111827;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-border:#e5e7eb;--color-accent:#000;--color-accent-hover:#374151;--color-accent-light:#6b7280;--color-accent-dark:#000;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 4px 12px #0000000d;--shadow-lg:0 8px 20px #0000000f;--chat-bubble-radius:16px;--chat-bubble-padding:12px 16px;--chat-spacing:16px;--chat-avatar-size:32px;--chat-max-width:75%}.bg-paper{background-color:var(--color-paper)}.bg-paper-light{background-color:var(--color-paper-light)}.bg-paper-dark{background-color:var(--color-paper-dark)}.text-primary{color:var(--color-text)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.border-paper{border-color:var(--color-border)}.btn-primary{background-color:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:.75rem;padding:.75rem 1.5rem;font-family:Inter,system-ui,sans-serif;font-weight:500;transition:all .2s}.btn-primary:hover{background-color:var(--color-accent-hover);transform:translateY(-1px)}.btn-secondary{color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;background-color:#fff;border-radius:.75rem;padding:.75rem 1.5rem;font-family:Inter,system-ui,sans-serif;font-weight:500;transition:all .2s}.btn-secondary:hover{background-color:var(--color-paper-light);border-color:var(--color-accent)}.input-paper{background-color:var(--color-paper-light);border:1px solid var(--color-border);color:var(--color-text);border-radius:.75rem;padding:.75rem 1rem;font-family:Inter,system-ui,sans-serif;transition:all .2s}.input-paper:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #0000001a}.input-field{background-color:var(--color-paper-light);border:1px solid var(--color-border);color:var(--color-text);border-radius:.75rem;width:100%;padding:.75rem 1rem;font-family:Inter,system-ui,sans-serif;transition:all .2s}.input-field:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #0000001a}.label{color:var(--color-text);margin-bottom:.5rem;font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:500;display:block}.card-paper{background-color:var(--color-paper);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:.5rem}.card-paper-hover:hover{background-color:var(--color-paper-dark)}.icon-secondary{color:var(--color-text-secondary)}.icon-secondary:hover{color:var(--color-accent-hover)}.bg-accent{background-color:var(--color-accent)!important}.bg-accent-light{background-color:var(--color-accent-light)!important}.bg-accent-dark{background-color:var(--color-accent-hover)!important}.text-accent{color:var(--color-accent)}.text-accent-light{color:var(--color-accent-light)}.text-accent-dark{color:var(--color-accent-hover)}.border-accent{border-color:var(--color-accent)}.transition-paper{transition-property:background-color,border-color,color;transition-duration:.2s}.chat-container{background:var(--color-paper);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);border-radius:16px;position:relative;overflow:hidden}.chat-header{background:var(--color-paper);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.chat-messages{background:var(--color-paper-light);scrollbar-width:thin;scrollbar-color:var(--color-border)transparent;flex:1;min-height:0;padding:20px 24px;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-tertiary)}.chat-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:48px 24px;display:flex}.chat-empty-icon{background:var(--color-paper-dark);width:48px;height:48px;color:var(--color-text-tertiary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.message-bubble{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--chat-bubble-radius);padding:var(--chat-bubble-padding);box-shadow:var(--shadow-sm);transition:all .2s;position:relative}.message-bubble-user{background:var(--color-accent);color:#fff;border:1px solid var(--color-accent);border-bottom-right-radius:4px}.message-bubble-assistant{background:var(--color-paper);color:var(--color-text);border:1px solid var(--color-border);border-bottom-left-radius:4px}.message-bubble:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.message-actions{opacity:0;gap:4px;transition:opacity .2s;display:flex;position:absolute;top:8px;right:8px}.message-bubble:hover .message-actions{opacity:1}.message-action-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;border-radius:6px;padding:4px;transition:all .2s}.message-action-btn:hover{background:var(--color-paper);color:var(--color-accent);transform:scale(1.05)}.chat-avatar{width:var(--chat-avatar-size);height:var(--chat-avatar-size);box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s;display:flex}.chat-avatar:hover{transform:scale(1.05)}.chat-avatar-user{background:linear-gradient(135deg,var(--color-accent-dark),var(--color-accent));color:#fff}.chat-avatar-assistant{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-light));color:#fff}.typing-indicator{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--chat-bubble-radius);box-shadow:var(--shadow-sm);border-bottom-left-radius:4px;align-items:center;gap:8px;padding:12px 16px;display:flex}.typing-dots{align-items:center;gap:4px;display:flex}.typing-dot{background:var(--color-accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typing-bounce}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-dot:nth-child(3){animation-delay:0s}@keyframes typing-bounce{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-input-container{background:var(--color-paper);border-top:1px solid var(--color-border);flex-shrink:0;padding:20px 24px}.chat-input{background:var(--color-paper-light);border:1px solid var(--color-border);width:100%;color:var(--color-text);resize:none;border-radius:12px;min-height:48px;max-height:120px;padding:12px 48px 12px 16px;font-size:14px;line-height:1.5;transition:all .2s}.chat-input:focus{border-color:var(--color-accent);background:var(--color-paper);outline:none;box-shadow:0 0 0 3px #8b73551a}.chat-input::placeholder{color:var(--color-text-tertiary)}.chat-send-btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:8px;transition:all .2s;display:flex;position:absolute;bottom:8px;right:8px}.chat-send-btn:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.chat-send-btn:disabled{background:var(--color-paper-dark);color:var(--color-text-tertiary);cursor:not-allowed;box-shadow:none;transform:none}.chat-suggestions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chat-suggestion-btn{background:var(--color-paper-light);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;border-radius:20px;padding:6px 12px;font-size:12px;transition:all .2s}.chat-suggestion-btn:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent);transform:translateY(-1px)}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s fade-in}@media (max-width:768px){.chat-header,.chat-messages,.chat-input-container{padding:16px 20px}.chat-avatar{width:28px;height:28px}.message-bubble{padding:10px 14px}.chat-input{padding:10px 40px 10px 14px;font-size:16px}}
.template-renderer::-webkit-scrollbar{width:6px}[contenteditable]::-webkit-scrollbar{width:6px}.template-renderer::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}[contenteditable]::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.template-renderer::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}[contenteditable]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.template-renderer::-webkit-scrollbar-thumb:hover{background:#94a3b8}[contenteditable]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.template-app{--bg:#f7f2e9;--ink:#0d1321;--body:#222;--muted:#666;--paper:#fffef8;--rule:#e9dcc4;--shadow:0 6px 30px #00000014;--titleFont:"Inter",system-ui}.stage{background:var(--paper);box-shadow:var(--shadow);color:var(--body);box-sizing:border-box;justify-content:flex-start;gap:var(--titleSpacing,.1em);border-radius:20px;flex-direction:column;min-height:100%;padding:2em;display:flex;position:relative}.stage .list,.stage .bodycopy{flex-direction:column;flex:1;justify-content:flex-start;display:flex}.stage .metaBar{margin-top:auto;padding-top:1em}.stage .title{font-family:var(--titleFont);font-weight:var(--titleFontWeight,800);font-size:var(--title-font-size,2.5em);letter-spacing:-.5px;color:var(--title-color,var(--ink));margin:0 0 var(--titleSpacing,.1em)0;flex-shrink:0;line-height:1.05}.stage .subtitle{color:#5a5a5a;margin:0 0 18px}.stage .list{counter-reset:item;flex-direction:column;flex:1;justify-content:flex-start;margin:0;padding-left:0;list-style:none;display:flex}.stage .list li{margin:var(--contentSpacing,.03em)0;font-size:var(--content-font-size,1em);grid-template-columns:2em 1fr;gap:.5em;line-height:1.4;display:grid}.stage .num{color:#222;text-align:right;font-size:.9em;font-weight:700}.stage .li-body p{margin:0}.stage .bodycopy{flex-direction:column;flex:1;justify-content:flex-start;display:flex}.stage .bodycopy p{margin:0 0 var(--contentSpacing,.3em);font-size:var(--content-font-size,1.1em);font-weight:var(--contentFontWeight,400);line-height:1.6}.stage .bodycopy br{line-height:inherit}.stage .bodycopy p:empty{min-height:1.6em;margin:0}.stage .metaBar{color:#666;opacity:.8;border-top:1px solid #c8c1a74d;flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:.2em;margin-top:auto;padding-top:.3em;font-size:.45em;display:flex}.stage .metaBar .dot{display:none}.stage[data-theme=cream-note]{--paper:#fffef8;--ink:#0d1321}.stage[data-theme=dark-neon]{--paper:#121212;--ink:#cdb2ff;color:#eaeaea}.stage[data-theme=dark-neon] .title{color:#cdb2ff}.stage[data-theme=dark-neon] .list li{color:#eaeaea}.stage[data-theme=dark-neon] .num{color:#b8b8b8}.stage[data-theme=dark-neon] mark,.stage[data-theme=dark-neon] .highlight{color:#1f2937!important;background:#22d3ee!important}.stage[data-theme=cream-minimal]{--paper:#fbfbf7;--ink:#0f1016}.stage[data-theme=ocean-blue]{--paper:#f0f8ff;--ink:#1e3a8a}.stage[data-theme=forest-green]{--paper:#f0fdf4;--ink:#14532d}.stage[data-theme=sunset-orange]{--paper:#fff7ed;--ink:#9a3412}.stage.circles .num{color:#fff;background:#e7591d;border-radius:999px;justify-content:center;align-items:center;width:2em;height:2em;font-size:.8em;font-weight:700;display:flex}.stage.pills .num{color:#000;background:#ffe36c;border-radius:999px;justify-content:center;align-items:center;min-width:2.5em;height:1.8em;padding:0 .3em;font-size:.8em;font-weight:800;display:flex}.stage.serif .title{letter-spacing:0;font-family:DM Serif Display,serif;font-size:2.8em;font-weight:400}.stage.serif .paint{display:inline-block;position:relative}.stage.serif .paint:after{content:"";background:linear-gradient(90deg,#ffe16a,#ffd94f);border-radius:6px;height:10px;position:absolute;bottom:-6px;left:0;right:0}.stage .capsule{background:#ffe36c;border-radius:.8em;margin-bottom:.7em;padding:.6em 1em;font-size:2.2em;font-weight:800;line-height:1.1;display:inline-block}.stage .capsule[hidden]{display:none!important}.stage.paragraph .list{display:none}.stage.paragraph .bodycopy{display:block}.stage.listmode .bodycopy{display:none}@media (max-width:900px){.stage{width:100%;max-width:600px}}@media (max-width:600px){.stage{padding:32px 24px 28px}}
