:root{--color-bg: #f8f9fb;--color-surface: #ffffff;--color-border: #e2e4e9;--color-text: #1a1a2e;--color-muted: #71717a;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--radius: .5rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;color:var(--color-text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);min-height:100vh}#root{width:100%}.demo-root{max-width:960px;margin:0 auto;padding:2rem 1.5rem 3rem}.demo-header{text-align:center;margin-bottom:2rem}.demo-header h1{font-size:1.75rem;font-weight:700;margin:0 0 .25rem;letter-spacing:-.02em}.demo-subtitle{color:var(--color-muted);font-size:.95rem;margin:0}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(max-width:680px){.demo-grid{grid-template-columns:1fr}}.demo-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow-sm)}.demo-card--wide{grid-column:1 / -1}.card-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.card-header h2{font-size:1rem;font-weight:600;margin:0}.badge{font-size:.7rem;font-family:SF Mono,Fira Code,monospace;background:#eef2ff;color:var(--color-primary);padding:.15rem .5rem;border-radius:999px;white-space:nowrap}.demo-hint{color:var(--color-muted);font-size:.8rem;margin:0;line-height:1.4}.demo-hint code{background:#f4f4f5;padding:.1rem .3rem;border-radius:.2rem;font-size:.75rem}.output-preview{font-size:.8rem;font-family:SF Mono,Fira Code,monospace;background:#f9fafb;border:1px dashed var(--color-border);border-radius:var(--radius);padding:.5rem .75rem;word-break:break-word}.output-label{color:var(--color-muted)}.btn{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;font-size:.82rem;font-weight:500;padding:.45rem .9rem;border-radius:var(--radius);transition:background .15s,color .15s,box-shadow .15s;line-height:1.4}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover)}.btn--ghost{background:transparent;color:var(--color-muted)}.btn--ghost:hover{background:#f4f4f5;color:var(--color-text)}.btn--outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn--outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn--emoji{background:transparent;font-size:1.15rem;padding:.25rem .35rem;border-radius:.35rem;line-height:1}.btn--emoji:hover{background:#f4f4f5;transform:scale(1.15)}.toggle-btn{align-self:flex-start}.chat-messages{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding-right:.25rem}.chat-bubble{align-self:flex-start;background:#f4f4f5;border:1px solid var(--color-border);padding:.55rem .85rem;border-radius:var(--radius);font-size:.88rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-width:85%}.chat-input-row{position:relative}.chat-input-container{width:100%;position:relative}.chat-input{width:100%;border:1px solid var(--color-border);border-radius:var(--radius);line-height:1.4;min-height:2.6rem;max-height:8rem;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.chat-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11f}.chat-placeholder{color:var(--color-muted);font-size:.88rem;margin-left:.85rem}.chat-counter{font-size:.72rem;color:var(--color-muted);font-family:SF Mono,Fira Code,monospace;flex-shrink:0}.chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.emoji-row{display:flex;gap:.15rem}.chat-actions{display:flex;gap:.35rem}.single-container{width:100%;position:relative}.single-input{width:100%;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1.1rem;font-weight:600;line-height:1.4;min-height:2.4rem;transition:border-color .15s,box-shadow .15s}.single-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11f}.single-placeholder{color:var(--color-muted);font-size:1.1rem;font-weight:600;margin-left:.85rem}.quote-container{width:100%;position:relative}.quote-input{width:100%;min-height:2.4rem;line-height:1.5;font-size:.92rem}.quote-input:focus{outline:none;box-shadow:0 0 0 3px #6366f11a}.quote-placeholder{color:#8b8bc7;font-style:italic;margin-left:1rem}.disabled-container{width:100%;position:relative}.disabled-input{width:100%;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.88rem;min-height:2.4rem;line-height:1.4;transition:background .2s,opacity .2s}.disabled-input--off{background:#f9fafb;opacity:.6;cursor:not-allowed}.disabled-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11f}.disabled-placeholder{color:var(--color-muted);font-size:.88rem;margin-left:.85rem}.sanitize-container{width:100%;position:relative}.sanitize-input{width:100%;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.88rem;min-height:2.4rem;line-height:1.4;transition:border-color .15s,box-shadow .15s}.sanitize-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11f}.sanitize-placeholder{color:var(--color-muted);font-size:.88rem;margin-left:.85rem}.styled-container{width:100%;position:relative}.styled-placeholder{color:#ffffffa6;margin-left:1.25rem}.event-log{display:flex;flex-direction:column;gap:.3rem;font-family:SF Mono,Fira Code,monospace;font-size:.78rem;min-height:5rem}.event-log__empty{color:var(--color-muted);font-style:italic}.event-log__entry{background:#f9fafb;padding:.3rem .6rem;border-radius:.25rem;color:var(--color-text);animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.demo-footer{text-align:center;margin-top:2rem;color:var(--color-muted);font-size:.82rem}kbd{background:#f4f4f5;border:1px solid var(--color-border);border-radius:.25rem;padding:.1rem .35rem;font-family:SF Mono,Fira Code,monospace;font-size:.75rem}
