/* Tenmei Mori first-party AI guide — shared site tokens and controls. */
.tenmei-ai-agent{font-family:'Zen Kaku Gothic New',sans-serif;color:var(--text-main,#302923);position:relative;z-index:10001}
.tenmei-ai-launcher{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:46px;height:46px;display:grid;place-items:center;padding:0;border:1px solid color-mix(in srgb,var(--accent-red,#8f252b) 78%,#fff);border-radius:50%;background:var(--accent-red,#8f252b);color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.22);font:inherit;font-size:19px;cursor:pointer;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}
.tenmei-ai-launcher:hover{filter:brightness(1.08);transform:translateY(-2px) scale(1.04);box-shadow:0 7px 18px rgba(0,0,0,.24)}
.tenmei-ai-launcher:active{transform:scale(.96)}
.tenmei-ai-launcher:focus-visible,.tenmei-ai-panel button:focus-visible{outline:2px solid var(--accent-gold,#c4a059);outline-offset:3px}
.tenmei-ai-panel{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(78px + env(safe-area-inset-bottom,0px));width:min(390px,calc(100vw - 32px));height:min(600px,calc(100dvh - 104px));min-height:360px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--card-border,#e7ded7);border-radius:22px;background:var(--card-bg,#fffdfb);color:var(--text-main,#302923);box-shadow:0 18px 52px rgba(34,24,20,.24);isolation:isolate}
.tenmei-ai-panel[hidden]{display:none}
.tenmei-ai-panel__header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--card-border,#e7ded7);background:color-mix(in srgb,var(--card-bg,#fffdfb) 94%,var(--accent-red,#8f252b) 6%)}
.tenmei-ai-panel__brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.tenmei-ai-panel__brand-icon{width:36px;height:36px;display:grid;place-items:center;flex:none;border:1px solid color-mix(in srgb,var(--accent-red,#8f252b) 25%,var(--card-border,#e7ded7));border-radius:12px;background:color-mix(in srgb,var(--accent-red,#8f252b) 8%,var(--card-bg,#fffdfb));color:var(--accent-red,#8f252b);font-size:17px}
.tenmei-ai-panel__brand-copy{display:grid;gap:2px;min-width:0}
.tenmei-ai-panel__brand-copy strong{font-size:.88rem;font-weight:800;letter-spacing:.025em}
.tenmei-ai-panel__brand-copy span{font-size:.68rem;line-height:1.4;color:var(--text-sub,#786e67)}
.tenmei-ai-panel__header-actions{display:flex;align-items:center;gap:5px}
.tenmei-ai-panel__icon-button{width:32px;height:32px;display:grid;place-items:center;flex:none;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-sub,#786e67);font-size:14px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.tenmei-ai-panel__icon-button:hover{border-color:var(--card-border,#e7ded7);background:var(--input-bg,#f7f2ed);color:var(--text-main,#302923)}
.tenmei-ai-panel__intro{padding:15px 16px 10px}
.tenmei-ai-panel__eyebrow{margin:0 0 4px;color:var(--accent-red,#8f252b);font-size:.62rem;font-weight:800;letter-spacing:.15em}
.tenmei-ai-panel__intro h2{margin:0 0 4px;font-family:'Zen Old Mincho','Shippori Mincho',serif;font-size:1.15rem;line-height:1.45;font-weight:900;letter-spacing:.025em;color:var(--text-main,#302923)}
.tenmei-ai-panel__intro>p:last-child{margin:0;color:var(--text-sub,#786e67);font-size:.72rem;line-height:1.65}
.tenmei-ai-panel__suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 11px}
.tenmei-ai-suggestion{max-width:100%;padding:6px 9px;border:1px solid var(--card-border,#e7ded7);border-radius:999px;background:transparent;color:var(--text-sub,#786e67);font:inherit;font-size:.67rem;line-height:1.4;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.tenmei-ai-suggestion:hover{border-color:color-mix(in srgb,var(--accent-red,#8f252b) 40%,var(--card-border,#e7ded7));background:color-mix(in srgb,var(--accent-red,#8f252b) 5%,var(--card-bg,#fffdfb));color:var(--text-main,#302923)}
.tenmei-ai-panel__messages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 15px 16px;border-top:1px solid var(--card-border,#e7ded7);scroll-behavior:smooth}
.tenmei-ai-welcome{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--card-border,#e7ded7);border-radius:14px;background:color-mix(in srgb,var(--card-bg,#fffdfb) 92%,var(--accent-red,#8f252b) 8%);color:var(--text-sub,#786e67);font-size:.75rem;line-height:1.75}
.tenmei-ai-welcome .bi{margin-top:2px;color:var(--accent-red,#8f252b);font-size:15px}
.tenmei-ai-welcome p{margin:0}
.tenmei-ai-message{max-width:100%;margin:0 0 12px;animation:tenmei-ai-appear .16s ease-out}
.tenmei-ai-message--user{display:flex;flex-direction:column;align-items:flex-end}
.tenmei-ai-message__label{margin:0 0 4px;color:var(--text-sub,#786e67);font-size:.63rem;font-weight:800;letter-spacing:.025em}
.tenmei-ai-message--user .tenmei-ai-message__text{max-width:92%;padding:9px 12px;border:1px solid color-mix(in srgb,var(--accent-red,#8f252b) 25%,transparent);border-radius:14px 14px 5px 14px;background:color-mix(in srgb,var(--accent-red,#8f252b) 9%,var(--card-bg,#fffdfb));color:var(--text-main,#302923);font-size:.8rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.tenmei-ai-message--assistant .tenmei-ai-response{margin:0!important;padding:13px!important;border-radius:15px!important;box-shadow:0 5px 16px rgba(57,37,28,.045)!important}
.tenmei-ai-message--assistant .tenmei-ai-response-head{margin-bottom:9px;padding-bottom:8px}
.tenmei-ai-message--assistant .tenmei-ai-response-kicker{font-size:.62rem}
.tenmei-ai-message--assistant .tenmei-ai-response-text{font-size:.8rem;line-height:1.8;overflow-wrap:anywhere}
.tenmei-ai-message--assistant .tenmei-ai-info-btn{min-height:29px;padding:4px 8px;font-size:.66rem}
.tenmei-ai-message--assistant .tenmei-ai-info-panel{margin-top:10px;padding:10px;border:1px solid var(--card-border);border-radius:12px;background:var(--input-bg)}
.tenmei-ai-message--assistant .tenmei-ai-info-panel p{margin:0;color:var(--text-main);font-size:.74rem;line-height:1.7}
.tenmei-ai-message--assistant .tenmei-ai-info-panel p+p{margin-top:4px}
.tenmei-ai-composer{display:grid;gap:7px;margin:0;padding:12px 14px 10px;border-top:1px solid var(--card-border,#e7ded7);background:var(--card-bg,#fffdfb)}
.tenmei-ai-composer__input{display:block;width:100%;min-height:46px;max-height:112px;resize:none;padding:11px 13px!important;border:1px solid var(--card-border)!important;border-radius:12px!important;background:var(--input-bg)!important;color:var(--text-main)!important;font-family:'Zen Kaku Gothic New',sans-serif!important;font-size:.88rem!important;line-height:1.65!important;outline:none;transition:all .2s!important}
.tenmei-ai-composer__input:focus{border-color:var(--accent-red)!important;box-shadow:0 0 0 3px rgba(185,28,28,.1)!important;outline:none!important}
.tenmei-ai-composer__input::placeholder{color:var(--text-sub);opacity:.75}
.tenmei-ai-composer__actions{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px}
.tenmei-ai-composer__hint{margin:0;color:var(--text-sub);font-size:.62rem;line-height:1.5}
.tenmei-ai-composer__send{width:38px;height:36px;display:grid;place-items:center;flex:none;padding:0;border:1px solid color-mix(in srgb,var(--accent-red) 70%,transparent);border-radius:11px;background:var(--accent-red);color:#fff;font-size:15px;cursor:pointer;transition:transform .16s ease,filter .16s ease,opacity .16s ease}
.tenmei-ai-composer__send:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}
.tenmei-ai-composer__send:active:not(:disabled){transform:scale(.96)}
.tenmei-ai-composer__send:disabled{opacity:.48;cursor:not-allowed}
.tenmei-ai-composer__send .loader-svg{width:18px;height:18px;animation:rotate 1s linear infinite}
.tenmei-ai-composer__send .loader-path{stroke:#fff;stroke-width:2.4;stroke-dasharray:89 150}
.tenmei-ai-panel__privacy{margin:0;padding:0 14px 10px;color:var(--text-sub);font-size:.6rem;line-height:1.55}
#back-to-top-btn.tenmei-ai-has-launcher{bottom:calc(78px + env(safe-area-inset-bottom,0px))}
@keyframes tenmei-ai-appear{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){.tenmei-ai-launcher{right:max(14px,env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));width:48px;height:48px;z-index:10000}.tenmei-ai-panel{right:max(10px,env(safe-area-inset-right,0px));left:max(10px,env(safe-area-inset-left,0px));bottom:calc(70px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;height:min(640px,calc(100vh - 88px));height:min(640px,calc(100dvh - 88px));min-height:0;max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:20px}.tenmei-ai-panel__header{padding:12px 13px;flex:none}.tenmei-ai-panel__intro{padding:12px 13px 8px;flex:none}.tenmei-ai-panel__suggestions{padding:0 13px 9px;flex:none}.tenmei-ai-panel__messages{padding:10px 11px 13px;min-height:0}.tenmei-ai-composer{padding:10px 11px 8px;flex:none}.tenmei-ai-panel__privacy{padding:0 11px 8px;flex:none}#back-to-top-btn.tenmei-ai-has-launcher{bottom:calc(70px + env(safe-area-inset-bottom,0px))}}
@media(max-width:360px){.tenmei-ai-panel__suggestions{gap:5px}.tenmei-ai-suggestion{font-size:.62rem;padding:5px 7px}.tenmei-ai-panel__brand-copy span{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.tenmei-ai-launcher,.tenmei-ai-message,.tenmei-ai-panel__icon-button,.tenmei-ai-suggestion,.tenmei-ai-composer__send{transition:none!important;animation:none!important}.tenmei-ai-panel__messages{scroll-behavior:auto}.tenmei-ai-composer__send .loader-svg{animation:none!important}}

/* Subtle open/close motion; the JS delays hiding until the exit animation completes. */
.tenmei-ai-panel.is-opening{animation:tenmei-ai-panel-enter .18s cubic-bezier(.2,.7,.2,1) both}
.tenmei-ai-panel.is-closing{animation:tenmei-ai-panel-exit .14s ease-in both;pointer-events:none}
@keyframes tenmei-ai-panel-enter{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes tenmei-ai-panel-exit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(5px) scale(.99)}}
.tenmei-ai-info-panel[hidden]{display:none!important}
.tenmei-ai-info-panel:not([hidden]){display:block!important;animation:tenmei-ai-info-reveal .16s ease-out both}
@keyframes tenmei-ai-info-reveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
.tenmei-ai-message--assistant .tenmei-ai-info-panel{background:var(--input-bg,var(--card-bg,#fffdfb));border-color:var(--card-border,#e7ded7)}
@media(prefers-reduced-motion:reduce){.tenmei-ai-panel.is-opening,.tenmei-ai-panel.is-closing,.tenmei-ai-info-panel:not([hidden]){animation:none!important}}

/* Short viewports, landscape phones, browser chrome and virtual keyboards. */
@media(max-height:520px){.tenmei-ai-panel{height:calc(100vh - 24px);height:calc(100dvh - 24px);min-height:0;max-height:calc(100dvh - 24px);bottom:calc(12px + env(safe-area-inset-bottom,0px))}.tenmei-ai-panel__intro{padding-top:8px;padding-bottom:6px}.tenmei-ai-panel__intro h2{font-size:1rem}.tenmei-ai-panel__suggestions{padding-bottom:6px}.tenmei-ai-panel__privacy{font-size:.56rem;padding-bottom:5px}.tenmei-ai-launcher{bottom:calc(12px + env(safe-area-inset-bottom,0px))}#back-to-top-btn.tenmei-ai-has-launcher{bottom:calc(68px + env(safe-area-inset-bottom,0px))}}
@media(max-width:640px) and (orientation:landscape){.tenmei-ai-panel{left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));width:auto;height:calc(100vh - 20px);height:calc(100dvh - 20px);bottom:calc(10px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 20px)}.tenmei-ai-panel__intro{padding-top:7px;padding-bottom:5px}.tenmei-ai-panel__intro h2{font-size:1rem}.tenmei-ai-panel__suggestions{padding-bottom:5px}}
@media(max-width:360px){.tenmei-ai-launcher{right:max(10px,env(safe-area-inset-right,0px));width:46px;height:46px}.tenmei-ai-panel{left:max(6px,env(safe-area-inset-left,0px));right:max(6px,env(safe-area-inset-right,0px));width:auto}.tenmei-ai-panel__header-actions{gap:2px}.tenmei-ai-panel__icon-button{width:36px;height:36px}.tenmei-ai-composer__input{min-height:40px}}
@supports not (height:100dvh){.tenmei-ai-panel{height:calc(100vh - 104px);max-height:calc(100vh - 24px)}}


/* Safe Markdown rendering for AI guide answers. */
.tenmei-ai-response-text{display:block;min-width:0;overflow-wrap:anywhere}
.tenmei-ai-response-text>.tenmei-ai-md-paragraph{margin:0 0 .7em;white-space:normal}
.tenmei-ai-response-text>.tenmei-ai-md-paragraph:last-child{margin-bottom:0}
.tenmei-ai-response-text .tenmei-ai-md-heading{margin:.9em 0 .4em;font-size:1.02em;line-height:1.5;font-weight:800;color:var(--text-main,#302923)}
.tenmei-ai-response-text h1.tenmei-ai-md-heading{font-size:1.18em}
.tenmei-ai-response-text h2.tenmei-ai-md-heading{font-size:1.1em}
.tenmei-ai-response-text .tenmei-ai-md-list{margin:.4em 0 .8em;padding-left:1.5em}
.tenmei-ai-response-text .tenmei-ai-md-list li{margin:.22em 0;padding-left:.12em}
.tenmei-ai-response-text .tenmei-ai-md-quote{margin:.6em 0;padding:.35em .8em;border-left:3px solid var(--accent-gold,#c4a059);color:var(--text-sub,#786e67);background:color-mix(in srgb,var(--card-bg,#fffdfb) 88%,var(--accent-gold,#c4a059) 12%);border-radius:0 8px 8px 0}
.tenmei-ai-response-text .tenmei-ai-md-quote p{margin:.2em 0}
.tenmei-ai-response-text .tenmei-ai-inline-code{padding:.12em .32em;border:1px solid var(--card-border,#e7ded7);border-radius:5px;background:var(--input-bg,#f7f2ed);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;overflow-wrap:anywhere}
.tenmei-ai-code-block{margin:.65em 0;overflow:hidden;border:1px solid var(--card-border,#e7ded7);border-radius:10px;background:var(--input-bg,#f7f2ed)}
.tenmei-ai-code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;border-bottom:1px solid var(--card-border,#e7ded7);background:color-mix(in srgb,var(--input-bg,#f7f2ed) 88%,var(--accent-red,#8f252b) 12%)}
.tenmei-ai-code-language{font-size:.68rem;font-weight:700;color:var(--text-sub,#786e67)}
.tenmei-ai-code-copy{padding:4px 8px;border:1px solid var(--card-border,#e7ded7);border-radius:6px;background:var(--card-bg,#fffdfb);color:var(--text-main,#302923);font:inherit;font-size:.68rem;cursor:pointer}
.tenmei-ai-code-block pre{max-width:100%;margin:0;padding:12px;overflow:auto;white-space:pre;tab-size:2;-webkit-overflow-scrolling:touch}
.tenmei-ai-code-block pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;line-height:1.6;color:var(--text-main,#302923)}
.tenmei-ai-table-wrap{max-width:100%;margin:.7em 0;overflow-x:auto;border:1px solid var(--card-border,#e7ded7);border-radius:9px;-webkit-overflow-scrolling:touch}
.tenmei-ai-md-table{width:100%;border-collapse:collapse;font-size:.76rem;line-height:1.55;text-align:left}
.tenmei-ai-md-table th,.tenmei-ai-md-table td{min-width:72px;padding:8px 9px;border-bottom:1px solid var(--card-border,#e7ded7);vertical-align:top;overflow-wrap:anywhere}
.tenmei-ai-md-table th{background:color-mix(in srgb,var(--card-bg,#fffdfb) 85%,var(--accent-red,#8f252b) 15%);font-weight:800}
.tenmei-ai-md-table tr:last-child td{border-bottom:0}
.tenmei-ai-response-text a{color:var(--accent-red,#8f252b);text-decoration:underline;text-underline-offset:2px}
@media(max-width:480px){.tenmei-ai-code-block pre{padding:9px}.tenmei-ai-md-table th,.tenmei-ai-md-table td{padding:7px;font-size:.72rem}}


/* Clearer help-center shortcuts and per-answer utility actions. */
.tenmei-ai-panel__suggestions{align-items:center;gap:7px;padding-top:1px}
.tenmei-ai-suggestions-label{flex:0 0 100%;color:var(--text-sub,#786e67);font-size:.63rem;font-weight:800;letter-spacing:.04em}
.tenmei-ai-suggestion{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 10px;border-radius:9px;background:var(--input-bg,#f7f2ed);color:var(--text-main,#302923);font-weight:600}
.tenmei-ai-suggestion:focus-visible,.tenmei-ai-answer-copy:focus-visible{outline:2px solid var(--accent-gold,#c4a059);outline-offset:2px}
.tenmei-ai-response-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid var(--card-border,#e7ded7)}
.tenmei-ai-answer-copy{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 9px;border:1px solid var(--card-border,#e7ded7);border-radius:8px;background:var(--card-bg,#fffdfb);color:var(--text-sub,#786e67);font:inherit;font-size:.68rem;font-weight:700;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
.tenmei-ai-answer-copy:hover{border-color:color-mix(in srgb,var(--accent-red,#8f252b) 35%,var(--card-border,#e7ded7));background:var(--input-bg,#f7f2ed);color:var(--text-main,#302923)}
@media(max-width:420px){.tenmei-ai-panel__suggestions{gap:5px}.tenmei-ai-suggestion{min-height:29px;padding:5px 8px;font-size:.64rem}}
@media(prefers-reduced-motion:reduce){.tenmei-ai-answer-copy{transition:none}}

.tenmei-ai-answer-followup{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--accent-red,#8f252b);font:inherit;font-size:.68rem;font-weight:700;cursor:pointer;transition:background .18s ease,color .18s ease}
.tenmei-ai-answer-followup:hover{background:color-mix(in srgb,var(--accent-red,#8f252b) 7%,var(--card-bg,#fffdfb));color:var(--text-main,#302923)}
.tenmei-ai-answer-followup:focus-visible{outline:2px solid var(--accent-gold,#c4a059);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.tenmei-ai-answer-followup{transition:none}}
