*{box-sizing:border-box}html,body,#root{margin:0;height:100%;font-family:system-ui,-apple-system,sans-serif}.widget-page{height:100%;display:flex;flex-direction:column}.widget-shell{flex:1;display:flex;flex-direction:column;min-height:0}.widget-header{padding:12px 16px;font-size:.95rem;flex-shrink:0}.widget-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.msg{max-width:85%;padding:8px 12px;font-size:.9rem;line-height:1.4;word-break:break-word}.msg-bot{align-self:flex-start}.msg-user{align-self:flex-end}.widget-input-row{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #e8e8e8;background:#fff}.widget-input-row input{flex:1;padding:8px 10px;border:1px solid #ccc;border-radius:6px;font-size:.9rem}.widget-input-row button{padding:8px 14px;border:none;border-radius:6px;background:var(--w-accent, #1a73e8);color:#fff;cursor:pointer;font-size:.9rem}.widget-footer{padding:6px 12px;font-size:.7rem;text-align:center;color:#888}.widget-footer a{color:inherit}.widget-launcher-wrap{height:100%;display:flex;align-items:center;justify-content:center}.widget-launcher{width:56px;height:56px;border:none;cursor:pointer;font-size:22px;background:var(--w-accent, #1a73e8);color:#fff}.widget-error{padding:1rem;color:#c5221f;font-size:.875rem}.widget-handoff{width:100%;margin-bottom:.35rem;padding:.4rem;font-size:.75rem;border:1px solid var(--w-accent, #1a73e8);background:#fff;color:var(--w-accent, #1a73e8);border-radius:4px;cursor:pointer}.widget-handoff-form{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem;font-size:.75rem}.widget-handoff-form input,.widget-handoff-form textarea{padding:.35rem;border:1px solid #ccc;border-radius:4px;font:inherit}.widget-handoff-actions{display:flex;gap:.35rem;justify-content:flex-end}.widget-handoff-actions button{padding:.25rem .5rem;font-size:.7rem;cursor:pointer}[data-theme=classic]{--w-bg: #ffffff;--w-header-bg: var(--w-accent, #1a73e8);--w-header-fg: #ffffff;--w-bot-bg: #f1f3f4;--w-user-bg: var(--w-accent, #1a73e8);--w-user-fg: #ffffff;--w-radius: 12px;--w-launcher-radius: 50%}[data-theme=classic] .widget-shell{background:var(--w-bg);border-radius:var(--w-radius);box-shadow:0 4px 16px #0000001f;overflow:hidden}[data-theme=classic] .widget-header{background:var(--w-header-bg);color:var(--w-header-fg);border-radius:var(--w-radius) var(--w-radius) 0 0}[data-theme=classic] .msg-bot{background:var(--w-bot-bg);border-radius:12px 12px 12px 4px}[data-theme=classic] .msg-user{background:var(--w-user-bg);color:var(--w-user-fg);border-radius:12px 12px 4px}[data-theme=classic] .widget-launcher{border-radius:var(--w-launcher-radius)}[data-theme=modern]{--w-bg: #ffffff;--w-header-bg: #1e293b;--w-header-fg: #f8fafc;--w-bot-bg: #f1f5f9;--w-user-bg: var(--w-accent, #1a73e8);--w-user-fg: #ffffff;--w-radius: 4px;--w-launcher-radius: 8px}[data-theme=modern] .widget-shell{background:var(--w-bg);border-radius:var(--w-radius);border:1px solid #e2e8f0;overflow:hidden}[data-theme=modern] .widget-header{background:var(--w-header-bg);color:var(--w-header-fg);border-bottom:3px solid var(--w-accent, #1a73e8)}[data-theme=modern] .msg-bot{background:var(--w-bot-bg);border-radius:4px}[data-theme=modern] .msg-user{background:var(--w-user-bg);color:var(--w-user-fg);border-radius:4px}[data-theme=modern] .widget-launcher{border-radius:var(--w-launcher-radius)}[data-theme=minimal]{--w-bg: #fafafa;--w-header-bg: transparent;--w-header-fg: #1a1a1a;--w-bot-bg: #eeeeee;--w-user-bg: var(--w-accent, #1a73e8);--w-user-fg: #ffffff;--w-radius: 0;--w-launcher-radius: 50%}[data-theme=minimal] .widget-shell{background:var(--w-bg);border-left:4px solid var(--w-accent, #1a73e8);overflow:hidden}[data-theme=minimal] .widget-header{background:var(--w-header-bg);color:var(--w-header-fg);font-weight:600;border-bottom:1px solid #e0e0e0}[data-theme=minimal] .msg-bot{background:var(--w-bot-bg);border-radius:8px}[data-theme=minimal] .msg-user{background:var(--w-user-bg);color:var(--w-user-fg);border-radius:8px}[data-theme=minimal] .widget-launcher{border-radius:var(--w-launcher-radius);border:2px solid var(--w-accent, #1a73e8);background:#fff;color:var(--w-accent, #1a73e8)}
