.ai-home{margin:0 0 24px;padding:16px;background:var(--brand-softer);border:1px solid var(--brand-soft);border-radius:var(--radius);position:relative;}
.ai-entry{display:flex;align-items:center;gap:10px;width:100%;padding:0;text-align:left;background:none;border:0;color:var(--ink);}
.ai-entry>span:nth-child(2){flex:1;min-width:0;}
.ai-entry b{display:block;font-size:17px;letter-spacing:.02em;}
.ai-entry small{display:block;color:var(--ink-2);font-size:11px;}
.ai-entry>.icon{color:var(--brand-deep);}
.ai-mini-shell,.ai-shell{display:grid;place-items:center;color:var(--fortune-ink);background:var(--fortune-paper);transform:rotate(-7deg);border-radius:14px 9px 16px 8px;}
.ai-mini-shell{width:42px;height:42px;flex:none;}
.ai-mini-shell .icon{width:27px;height:27px;}
.ai-home-form{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;margin-top:13px;padding:5px 5px 5px 12px;}
.ai-home-form input{flex:1;min-width:0;width:0;border:0;background:none;outline-offset:2px;height:40px;font-size:16px;color:var(--ink);padding:0;}
.ai-home-form input::placeholder{font-size:13px;}
.ai-home-form button,.ai-composer #aiSend{display:grid;place-items:center;flex:none;background:var(--brand-deep);color:var(--on-brand);border:0;border-radius:9px;width:44px;height:44px;}
.ai-home>p{font-size:11px;color:var(--ink-2);margin:8px 0 0;}
.ai-chat,.ai-settings{color:var(--ink);font-family:var(--font);box-sizing:border-box;max-width:480px;width:100%;max-height:100dvh;padding:0;border:0;background:var(--paper);outline:0;box-shadow:0 12px 64px var(--backdrop);overflow:hidden;}
.ai-chat::backdrop,.ai-settings::backdrop{background:var(--backdrop);}
.ai-chat{margin:0 auto;inset:0;border-radius:0;height:100dvh;}
.ai-chat[open]{display:flex;flex-direction:column;animation:ai-arrive .25s var(--ease);}
.ai-chat-head{display:flex;align-items:center;gap:6px;flex:none;padding:calc(12px + env(safe-area-inset-top)) 14px 10px;background:var(--surface);border-bottom:1px solid var(--line-soft);}
.ai-chat-head>div{flex:1;min-width:0;padding-left:4px;}
.ai-chat-head h2{font-size:18px;margin:0;line-height:1.5;}
.ai-chat-head p{font-size:11px;color:var(--ink-2);margin:1px 0 0;}
.ai-chat-head button,.ai-settings-head button{display:grid;place-items:center;width:44px;height:44px;padding:0;flex:none;border:0;border-radius:10px;background:var(--brand-softer);color:var(--brand-deep);}
.ai-chat-head #aiClose{background:transparent;color:var(--ink);}
.ai-chat-toolbar{display:flex;align-items:center;justify-content:space-between;flex:none;padding:0 22px;color:var(--ink-2);font-size:11px;}
.ai-chat-toolbar button{font-size:11px;border:0;background:none;color:var(--brand-deep);padding:0 4px;}
.ai-messages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 20px 20px;scrollbar-width:thin;}
.ai-welcome{text-align:center;margin:24px auto 0;padding:0 0 16px;}
.ai-shell{width:76px;height:76px;margin:0 auto 22px;border-radius:24px 16px 28px 15px;}
.ai-shell>.icon{width:45px;height:45px;}
.ai-chat[open] .ai-shell{animation:ai-shell-in .6s var(--ease);}
.ai-welcome h3{font-size:23px;line-height:1.5;letter-spacing:-.03em;margin:0 0 10px;}
.ai-welcome p{font-size:13px;color:var(--ink-2);line-height:1.9;margin:0;}
.ai-examples{display:grid;gap:8px;margin:24px 0 0;}
.ai-examples button{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 15px;border:1px solid var(--line-soft);background:var(--surface);border-radius:10px;color:var(--ink-2);font-size:13px;text-align:left;}
.ai-examples .icon{color:var(--brand-deep);}
.ai-message{margin:15px 0;max-width:94%;width:fit-content;animation:ai-message-in .2s var(--ease);overflow-wrap:anywhere;}
.ai-message>small{display:block;color:var(--ink-2);font-size:10px;margin:0 1px 5px;}
.ai-message>p{white-space:pre-wrap;font-size:14px;line-height:1.8;margin:0;padding:12px 14px;background:var(--surface);border:1px solid var(--line-soft);border-radius:3px 12px 12px;}
.ai-message.user{margin-left:auto;}
.ai-message.user>small{text-align:right;}
.ai-message.user>p{background:var(--brand-deep);border-color:var(--brand-deep);color:var(--on-brand);border-radius:12px 3px 12px 12px;}
.ai-message .ai-message-status{font-size:10px;color:var(--ink-2);margin:6px 2px 0;}
.ai-receipts{margin-top:8px;background:var(--surface);border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;}
.ai-receipt{padding:12px 14px;border-bottom:1px solid var(--line-soft);}
.ai-receipt b{display:block;font-size:17px;color:var(--brand-deep);font-variant-numeric:tabular-nums;}
.ai-receipt small{display:block;font-size:11px;color:var(--ink-2);line-height:1.8;margin-top:4px;}
.ai-receipts>button{display:block;width:100%;padding:8px 14px;text-align:left;font-size:12px;border:0;background:var(--brand-softer);color:var(--brand-deep);}
.ai-composer-wrap{flex:none;background:var(--surface);border-top:1px solid var(--line-soft);padding:12px 16px calc(10px + env(safe-area-inset-bottom));}
.ai-composer-wrap>p{font-size:11px;color:var(--brand-deep);margin:0 2px 8px;}
.ai-mode{display:flex;gap:4px;margin:-5px 0 8px;}
.ai-mode button{min-height:44px;padding:4px 10px;font-size:11px;border:0;border-radius:7px;background:transparent;color:var(--ink-2);}
.ai-mode button[aria-pressed=true]{background:var(--brand-soft);color:var(--brand-deep);font-weight:600;}
.ai-composer{display:flex;gap:8px;align-items:flex-end;border:1px solid var(--line);border-radius:12px;padding:7px;background:var(--surface);}
.ai-composer textarea{font-family:var(--font);font-size:16px;line-height:1.55;color:var(--ink);resize:none;min-width:0;flex:1;width:0;min-height:50px;max-height:120px;border:0;outline-offset:1px;background:none;padding:3px 4px;}
.ai-composer textarea::placeholder{color:var(--ink-3);font-size:13px;}
.ai-composer #aiStop{font-size:12px;padding:0 8px;color:var(--brand-deep);border:0;background:var(--brand-soft);border-radius:9px;height:44px;}
.ai-composer-wrap>small{display:block;font-size:10px;color:var(--ink-2);text-align:center;margin-top:7px;}
.ai-settings{margin:auto;border-radius:16px;max-height:min(92dvh,820px);width:calc(100% - 24px);max-width:456px;}
.ai-settings[open]{display:flex;flex-direction:column;animation:ai-arrive .2s var(--ease);}
.ai-settings-head{display:flex;align-items:center;justify-content:space-between;flex:none;padding:20px 20px 14px;background:var(--surface);border-bottom:1px solid var(--line-soft);gap:10px;}
.ai-settings-head h2{font-size:19px;line-height:1.5;margin:0;}
.ai-settings-head p{font-size:11px;color:var(--ink-2);margin:2px 0 0;}
#aiConfigForm{display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.ai-config-body{overflow:auto;overscroll-behavior:contain;padding:0 20px 8px;min-height:0;}
.ai-setting-note{font-size:12px;color:var(--ink-2);margin:16px 0;line-height:1.8;}
.ai-config-body>label:not(.ai-remember){display:block;font-size:12px;color:var(--ink);font-weight:600;margin:17px 0 7px;}
.ai-config-body input:not([type=checkbox]),.ai-config-body select{box-sizing:border-box;min-width:0;width:100%;height:48px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:0 12px;font-size:16px;font-family:var(--font);}
.ai-config-body>small{font-size:11px;line-height:1.75;display:block;color:var(--ink-2);margin-top:6px;}
.ai-key-field{position:relative;}
.ai-key-field input{padding-right:60px!important;}
.ai-key-field button{position:absolute;right:2px;top:2px;min-width:52px;height:44px;border:0;background:var(--surface);border-radius:9px;color:var(--brand-deep);font-size:12px;}
.ai-remember{display:flex;align-items:center;gap:8px;font-size:12px;min-height:44px;margin-top:6px;}
.ai-remember input{accent-color:var(--brand-deep);width:18px;height:18px;}
.ai-config-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;}
.ai-config-tools button{padding:0 2px;border:0;background:none;color:var(--brand-deep);font-size:12px;}
#aiSettingsError{font-size:12px;line-height:1.8;color:var(--out);white-space:pre-wrap;}
.ai-settings-footer{flex:none;border-top:1px solid var(--line-soft);padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--surface);}
.ai-settings-footer button{display:block;width:100%;height:48px;border:0;border-radius:10px;color:var(--on-brand);background:var(--brand-deep);font-size:15px;font-weight:600;}
.ai-chat [hidden],.ai-settings [hidden]{display:none!important;}
@keyframes ai-arrive{from{opacity:0;transform:translateY(18px) scale(.99);}to{opacity:1;transform:none;}}
@keyframes ai-message-in{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@keyframes ai-shell-in{from{transform:rotate(-18deg) scale(.8);}to{transform:rotate(-7deg) scale(1);}}
@media(max-width:350px){.ai-home{padding:13px;}.ai-home-form input::placeholder{font-size:12px;}.ai-chat-head{padding-left:8px;padding-right:8px;gap:2px;}.ai-messages{padding-left:14px;padding-right:14px;}.ai-settings-head,.ai-config-body{padding-left:16px;padding-right:16px;}}
@media(prefers-reduced-motion:reduce){.ai-chat[open],.ai-settings[open],.ai-chat[open] .ai-shell,.ai-message{animation:none;}}
