html,body,#root{height:100%;overflow:hidden}:root{--bg: #f8f8fb;--page-bg-top: #f6f9fb;--surface: #ffffff;--surface-2: #f3f5f9;--border: #e5e8f0;--text: #10131a;--text-muted: #5f6673;--accent: #212121;--accent-hover: #2f2f2f;--user-bubble: #2c2c2c;--assistant-bubble: #f0f1f5;--warning: #d29a37;--success: #2e9d57;--radius: 18px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;color:var(--text);background:var(--bg)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:var(--page-bg-top)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100vh;height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-main{flex:1;padding:2rem 1.5rem;max-width:900px;width:100%;margin:0 auto;overflow:hidden;display:flex;flex-direction:column}.banner{background:#f8f1e9;border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;font-size:.875rem;color:var(--text-muted);margin-bottom:1rem;text-align:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 12px 40px #171a230f}.card h1,.card h2{margin-bottom:.5rem}.card p{color:var(--text-muted);margin-bottom:1rem}input[type=text],input[type=password],textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:30px;background:#fff;color:var(--text);font-size:1rem;font-family:inherit;line-height:inherit;margin-bottom:.75rem}input[type=text]:focus,input[type=password]:focus,textarea:focus{outline:none;border-color:#ababab;box-shadow:0 0 0 4px #7777772e}textarea{resize:none;min-height:80px}button,.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border:none;border-radius:999px;background:var(--accent);color:#fff;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background .15s}button:hover:not(:disabled),.btn:hover{background:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#2d2d2d;color:#fff}button.danger{background:#dc2626}.chat-container{display:flex;flex-direction:column;flex:1;min-height:0;background:transparent;border:none;border-radius:0;box-shadow:none;padding:0;margin-right:-1.5rem;position:relative}.chat-container:before{content:"";position:absolute;top:0;left:0;right:0;height:64px;background:linear-gradient(to bottom,var(--page-bg-top) 0%,color-mix(in srgb,var(--page-bg-top) 0%,transparent) 100%);pointer-events:none;z-index:2}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:4.25rem 1rem .75rem .4rem;display:flex;flex-direction:column;gap:1rem;scrollbar-gutter:stable}.chat-messages-end-spacer{flex-shrink:0;min-height:5rem}.message{position:relative;max-width:78%;padding:.55rem .85rem;border-radius:1.5rem;word-break:break-word;border:none;line-height:1.45;--bubble-tail-corner-radius: .5rem;--bubble-tail-offset: -.45rem;--bubble-tail-cut-offset: -.55rem;--bubble-tail-width: 1rem;--bubble-tail-cut-width: .55rem;--bubble-tail-height: 1rem;--bubble-tail-bottom: -.1rem;--bubble-tail-curve: .8rem .65rem;--bubble-tail-cut-curve: .5rem;--bubble-side-margin: .5rem}.message p,.message ul,.message ol,.message pre,.message blockquote{margin:0}.message ul,.message ol{padding-left:1.25rem}.message pre{overflow-x:auto;padding:.65rem .75rem;border-radius:12px;background:#10131a14}.message.user :where(pre){background:#f8f9fb29}.message code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9em}.message code:not(pre>code){padding:.08rem .3rem;border-radius:8px;background:#10131a14}.message.user :where(code):not(pre>code){background:#f8f9fb29}.message a{text-decoration:underline}.message blockquote{padding-left:.75rem;border-left:3px solid rgba(16,19,26,.2)}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:transparent;margin:8px 0}.chat-messages::-webkit-scrollbar-thumb{background:#e5e6e8;border-radius:999px}.message.assistant{align-self:flex-start;margin-left:var(--bubble-side-margin);background:var(--assistant-bubble);color:#3d3d3d;border-bottom-left-radius:var(--bubble-tail-corner-radius)}.message.assistant:before,.message.assistant:after{content:"";position:absolute;bottom:var(--bubble-tail-bottom);height:var(--bubble-tail-height)}.message.assistant:before{left:var(--bubble-tail-offset);width:var(--bubble-tail-width);background:var(--assistant-bubble);border-bottom-right-radius:var(--bubble-tail-curve)}.message.assistant:after{left:var(--bubble-tail-cut-offset);width:var(--bubble-tail-cut-width);background:var(--page-bg-top);border-bottom-right-radius:var(--bubble-tail-cut-curve)}.message.user{align-self:flex-end;margin-right:var(--bubble-side-margin);background:var(--user-bubble);color:#fff;border-bottom-right-radius:var(--bubble-tail-corner-radius)}.message.assistant :where(a,code,strong,em,li,p,span,blockquote){color:#2d2d2d}.message.user :where(a,code,strong,em,li,p,span,blockquote){color:#fff}.message.user:before,.message.user:after{content:"";position:absolute;bottom:var(--bubble-tail-bottom);height:var(--bubble-tail-height)}.message.user:before{right:var(--bubble-tail-offset);width:var(--bubble-tail-width);background:var(--user-bubble);border-bottom-left-radius:var(--bubble-tail-curve)}.message.user:after{right:var(--bubble-tail-cut-offset);width:var(--bubble-tail-cut-width);background:var(--page-bg-top);border-bottom-left-radius:var(--bubble-tail-cut-curve)}.chat-input-row{display:flex;align-items:center;gap:.55rem;margin-top:.5rem;padding:.55rem 1.5rem .55rem .55rem;border-top:1px solid #d8dbe2;background:transparent}.chat-input-row textarea{flex:1;margin-bottom:0;min-height:0;max-height:calc(1.4em * 3 + 1.7rem);padding:.85rem 1rem;border-radius:30px;border:1px solid #cfd4dc;background:#fff;line-height:1.4;overflow-y:hidden}.chat-input-row .chat-send-button{background:#262626;color:#fff;width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;flex-shrink:0}.chat-input-row .chat-send-button:hover:not(:disabled){background:#333}.chat-input-row .chat-send-button svg{display:block}.chat-remind-text{margin-top:.4rem;padding:0 .55rem;color:var(--text-muted);font-size:.82rem;line-height:1.4;text-align:center}.chat-top-icon-wrap{display:flex;justify-content:center;margin-bottom:.5rem}.chat-top-icon{width:56px;height:56px;object-fit:contain}.error{color:#f87171;font-size:.875rem;margin-top:.5rem}.tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.tab{padding:.5rem 1rem;background:transparent;border:1px solid transparent;color:var(--text-muted)}.tab.active{background:var(--surface-2);border-color:var(--border);color:var(--text);border-radius:8px}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{text-align:left;padding:.625rem .75rem;border-bottom:1px solid var(--border)}th{color:var(--text-muted);font-weight:500}.badge{display:inline-block;padding:.125rem .5rem;border-radius:999px;font-size:.75rem}.badge.resolved{background:#22c55e26;color:var(--success)}.badge.open{background:#f59e0b26;color:var(--warning)}.session-detail{margin-top:1rem;max-height:400px;overflow-y:auto}.upload-row{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.upload-row input[type=file]{flex:1;color:var(--text-muted)}.loading{color:var(--text-muted);font-style:italic}.back-button{position:fixed;top:16px;left:16px;z-index:50;margin:0;box-shadow:0 2px 8px #10131a14}.entry-card{max-width:560px;margin:0 auto;text-align:center}.entry-minimal{min-height:calc(100vh - 4rem);display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:560px;margin:0 auto;text-align:center}.entry-icon{width:320px;height:320px;max-width:100%;object-fit:contain;margin:0 auto 1.25rem}.entry-form{margin-top:1rem;width:100%}.entry-remind{margin-top:.25rem;color:var(--text-muted);font-size:.92rem;line-height:1.5}
