.hero{position:relative;height:40vh;min-height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#00000040,#0000008c)}.hero-content{position:relative;z-index:1;text-align:center}.tab-bar{display:flex;border-bottom:1px solid var(--color-border);background:#fff;max-width:1100px;margin:0 auto;width:100%}.tab{flex:1;padding:.75rem 1rem;font-family:var(--font-sans);font-size:.75rem;font-variant:small-caps;letter-spacing:.1em;color:var(--color-ink-faint);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,border-color .2s}.tab:hover{color:var(--color-ink)}.tab.active{color:var(--color-gold);border-bottom-color:var(--color-gold)}.panel{display:none;height:calc(60vh - 44px);height:calc(100dvh - 40vh - 44px);background:var(--color-parchment)}.panel.active{display:flex}.group-wrapper{flex:1;display:flex;flex-direction:column;max-width:800px;margin:0 auto;width:100%}.group-header{height:48px;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid var(--color-border);background:#fff}.group-title{font-family:var(--font-serif);font-size:1.1rem;font-weight:400;margin:0;color:var(--color-ink)}.member-badge{font-family:var(--font-serif);font-size:.78rem;font-style:italic;color:var(--color-ink-faint);display:none}.member-badge.visible{display:inline-block}.ai-hint{display:flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-bottom:1px solid rgba(196,162,101,.15)}.ai-hint-text{font-family:var(--font-serif);font-style:italic;font-size:.8rem;color:var(--color-ink-faint)}.ai-hint strong{color:var(--color-gold);font-weight:600;font-style:normal;font-family:var(--font-sans);font-size:.75rem}.panel-ai{flex-direction:column}.ai-outer{flex:1;display:flex;min-height:0}.ai-sidebar{width:260px;min-width:260px;display:flex;flex-direction:column;border-right:1px solid var(--color-border);background:#fff;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.06)}.sidebar-title{font-family:var(--font-serif);font-size:.85rem;font-weight:400;margin:0;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-faint)}.btn-new-chat{font-family:var(--font-serif);font-style:italic;font-size:.8rem;color:var(--color-gold);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:.3rem;transition:color .2s}.btn-new-chat:hover{opacity:.7}.conv-list{flex:1;overflow-y:auto;padding:.5rem 0}.conv-list::-webkit-scrollbar{width:3px}.conv-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.conv-item{display:flex;align-items:flex-start;padding:.85rem 1.25rem;cursor:pointer;border-left:3px solid transparent;transition:background .2s,border-color .2s}.conv-item:hover{background:#c4a2650a}.conv-item.active{border-left-color:var(--color-gold);background:#c4a2650f}.conv-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.conv-item-title{font-family:var(--font-serif);font-size:.9rem;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item-time{font-family:var(--font-sans);font-size:.65rem;color:var(--color-ink-faint);white-space:nowrap;margin-left:.75rem;opacity:.6}.conv-empty{padding:3rem 1.5rem;text-align:center;font-family:var(--font-serif);font-style:italic;font-size:.85rem;color:var(--color-ink-faint);opacity:.7}.ai-chat{flex:1;min-width:0;display:flex;flex-direction:column}.ai-chat-header{height:48px;min-height:48px;display:flex;align-items:center;padding:0 1.5rem;border-bottom:1px solid rgba(0,0,0,.06);background:#fff;gap:.5rem}.btn-back{display:none;background:none;border:none;cursor:pointer;color:var(--color-ink-faint);padding:.25rem;border-radius:50%;transition:color .2s}.btn-back:hover{color:var(--color-ink)}.ai-chat-icon{font-size:1rem;color:var(--color-gold);opacity:.8}.ai-chat-title{font-family:var(--font-serif);font-size:1rem;font-weight:400;margin:0;flex:1}.ai-chat-actions{display:flex;align-items:center;gap:.5rem}.btn-delete{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-ink-faint);cursor:pointer;padding:.35rem;border-radius:50%;opacity:.5;transition:all .2s}.btn-delete:hover{color:#a94442;opacity:1}.delete-confirm{display:flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-size:.75rem}.delete-confirm.hidden{display:none}.delete-confirm span{color:var(--color-ink-faint)}.delete-yes{background:#a94442;color:#fff;border:none;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;cursor:pointer}.delete-no{background:none;border:1px solid var(--color-border);border-radius:4px;padding:.2rem .5rem;font-size:.7rem;cursor:pointer;color:var(--color-ink-faint)}.chat-messages{flex:1;overflow-y:auto;padding:1rem 2rem;display:flex;flex-direction:column;gap:.25rem}.chat-messages::-webkit-scrollbar{width:5px}.chat-messages::-webkit-scrollbar-thumb{background:#00000014;border-radius:3px}.chat-input-area{display:flex;align-items:flex-end;gap:.75rem;padding:.75rem 1.5rem calc(.75rem + env(safe-area-inset-bottom,0px));background:#fff;border-top:.5px solid rgba(0,0,0,.06)}.chat-textarea{flex:1;border:none;outline:none;resize:none;font-family:var(--font-sans);font-size:.88rem;line-height:1.5;padding:.45rem 0;max-height:calc(6em + 1rem);background:transparent;color:var(--color-ink)}.chat-textarea::placeholder{color:#00000040;font-style:italic}.btn-send{width:34px;height:34px;min-width:34px;border-radius:50%;border:none;background:var(--color-gold);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .15s;box-shadow:0 1px 4px #c4a26540}.btn-send:hover{transform:scale(1.05)}.btn-send:active{transform:scale(.95)}.btn-send:disabled{opacity:.4;cursor:default;transform:none}.message-row{display:flex;gap:.65rem;max-width:72%;animation:msgSlide .25s cubic-bezier(.25,.8,.5,1)}.message-row.own{align-self:flex-end;flex-direction:row-reverse}.message-row.other,.message-row.ai{align-self:flex-start}.message-row.continuation{margin-top:-.15rem}.message-row.continuation .message-avatar,.message-row.continuation .message-meta{display:none}.message-avatar{width:30px;height:30px;min-width:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:.7rem;color:#fff;margin-top:.15rem;flex-shrink:0}.message-avatar.ai-avatar{background:#5b6abf}.message-avatar.ai-avatar svg{width:14px;height:14px}.message-avatar-spacer{width:30px;min-width:30px;flex-shrink:0}.message-content{display:flex;flex-direction:column;gap:.15rem;min-width:0}.message-meta{display:flex;align-items:baseline;gap:.5rem;padding:0 .35rem}.message-row.own .message-meta{flex-direction:row-reverse}.message-author{font-family:var(--font-serif);font-size:.72rem;color:var(--color-ink)}.message-author.ai-author{color:#5b6abf;font-style:italic}.message-time{font-family:var(--font-sans);font-size:.6rem;color:#00000040}.message-bubble{padding:.6rem 1rem;font-size:.86rem;line-height:1.6;word-wrap:break-word}.message-row.own .message-bubble{background:#c4a2651a;border:1px solid rgba(196,162,101,.15);border-radius:16px 16px 4px;color:var(--color-ink)}.message-row.other .message-bubble{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px 16px 16px 4px;color:var(--color-ink);box-shadow:0 1px 3px #00000008}.message-row.ai .message-bubble{background:#5b6abf0a;border:1px solid rgba(91,106,191,.12);border-radius:16px 16px 16px 4px;color:var(--color-ink)}.message-bubble p{margin:0 0 .5em}.message-bubble p:last-child{margin-bottom:0}.message-bubble strong{font-weight:600}.message-bubble ul,.message-bubble ol{margin:.3em 0;padding-left:1.5em}.message-bubble li{margin:.15em 0}.message-bubble a{color:var(--color-gold);text-decoration:none}.message-bubble a:hover{text-decoration:underline}.message-bubble code{font-size:.82em;background:#0000000a;padding:.15em .35em;border-radius:3px}.message-bubble pre{background:#0000000a;padding:.6rem .8rem;border-radius:6px;overflow-x:auto;margin:.4em 0}.message-bubble pre code{background:none;padding:0}.message-bubble blockquote{border-left:3px solid var(--color-gold);margin:.4em 0;padding:.2em .8em;color:var(--color-ink-light)}.message-bubble h1,.message-bubble h2,.message-bubble h3{font-family:var(--font-serif);font-weight:400;margin:.5em 0 .3em}.message-bubble h1{font-size:1.05rem}.message-bubble h2{font-size:.98rem}.message-bubble h3{font-size:.92rem}.tool-badges{display:flex;flex-wrap:wrap;gap:.3rem;padding:0 .35rem}.tool-badge{font-family:var(--font-sans);font-size:.6rem;color:#5b6abf;background:#5b6abf14;border:1px solid rgba(91,106,191,.12);border-radius:10px;padding:.15rem .5rem;white-space:nowrap}.tool-badge.pending{animation:toolPulse 1.2s ease-in-out infinite}@keyframes toolPulse{0%,to{opacity:.5}50%{opacity:1}}.typing-row{display:flex;gap:.65rem;align-self:flex-start;animation:msgSlide .25s cubic-bezier(.25,.8,.5,1)}.typing-dots{display:flex;gap:4px;padding:.6rem 1rem;background:#5b6abf0a;border:1px solid rgba(91,106,191,.12);border-radius:16px 16px 16px 4px;align-items:center}.typing-dot{width:4px;height:4px;border-radius:50%;background:#5b6abf59;animation:dotBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes dotBounce{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:.8;transform:translateY(-3px)}}.date-sep{display:flex;align-items:center;gap:1.25rem;margin:.5rem 0 .25rem}.date-sep:before,.date-sep:after{content:"";flex:1;height:.5px;background:#00000014}.date-sep-text{font-family:var(--font-serif);font-style:italic;font-size:.72rem;color:var(--color-ink-faint);white-space:nowrap}.chat-empty,.chat-loading{display:flex;align-items:center;justify-content:center;height:100%;font-family:var(--font-serif);font-style:italic;font-size:.95rem;color:var(--color-ink-faint);padding:2rem;text-align:center}.ai-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.75rem;text-align:center;padding:2rem}.ai-welcome-icon{font-size:1.2rem;color:var(--color-gold);opacity:.5}.ai-welcome-text{font-family:var(--font-serif);font-style:italic;font-size:.88rem;color:var(--color-ink-faint);line-height:1.7;max-width:360px}.ai-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;max-width:400px;margin-top:.5rem}.ai-suggestion{font-family:var(--font-serif);font-style:italic;font-size:.82rem;color:var(--color-gold);background:#c4a2650f;border:1px solid rgba(196,162,101,.2);border-radius:20px;padding:.45rem 1rem;cursor:pointer;transition:background .2s,border-color .2s}.ai-suggestion:hover{background:#c4a2651f;border-color:#c4a26559}.message-error{background:#a944420a;border:1px solid rgba(169,68,66,.1);border-radius:14px;padding:.6rem 1rem;font-family:var(--font-serif);font-style:italic;font-size:.8rem;color:#a94442b3;align-self:center;text-align:center;animation:msgSlide .25s cubic-bezier(.25,.8,.5,1)}@keyframes msgSlide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero{height:0;min-height:0;display:none}.tab-bar{margin-top:calc(60px + env(safe-area-inset-top,0px));position:sticky;top:calc(60px + env(safe-area-inset-top,0px));z-index:40}.tab{min-height:44px}.panel{height:calc(100vh - 104px - env(safe-area-inset-top,0px));height:calc(100dvh - 104px - env(safe-area-inset-top,0px))}.tab-bar{padding:0 1.25rem}.ai-outer{position:relative;overflow:hidden}.ai-sidebar{width:100%;min-width:100%;position:absolute;inset:0;z-index:10;transition:transform .3s cubic-bezier(.4,0,.2,1)}.ai-chat{position:absolute;inset:0;z-index:5;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);background:var(--color-parchment)}.ai-outer.chat-active .ai-sidebar{transform:translate(-100%);pointer-events:none}.ai-outer.chat-active .ai-chat{transform:translate(0)}.btn-back{display:flex}.chat-messages{padding:.75rem 1rem}.message-row{max-width:88%}.chat-input-area{padding:.6rem 1.25rem calc(.6rem + env(safe-area-inset-bottom,0px))}.group-header{padding:0 1.25rem}.message-avatar{width:26px;height:26px;min-width:26px;font-size:.62rem}.message-avatar-spacer{width:26px;min-width:26px}.chat-textarea{font-size:1rem}.group-title{font-size:1.35rem}}@media(display-mode:standalone)and (max-width:768px){.panel{height:calc(100dvh - 102px - env(safe-area-inset-top,0px))}}@media(min-width:769px){.ai-sidebar,.ai-chat{display:flex}}
