:root{--light-bg:#fff;--light-surface:#f4f4f4;--light-line:#d6d6d6;--light-fg:#111;--light-muted:#5c5c5c;--light-soft:#ebebeb;--dark-bg:#0e0e0e;--dark-surface:#191919;--dark-line:#363636;--dark-fg:#f2f2f2;--dark-muted:#a8a8a8;--dark-soft:#262626;--scrim:#00000080;--font:Inter,system-ui,sans-serif}body,html{overflow-x:clip}body{background:var(--bg);color:var(--fg);font-family:var(--font);min-height:100vh;margin:0}b,h1,h2,h3,strong{font-weight:600}html{--bg:var(--light-bg);--surface:var(--light-surface);--line:var(--light-line);--fg:var(--light-fg);--muted:var(--light-muted);--soft:var(--light-soft);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--bg:var(--dark-bg);--surface:var(--dark-surface);--line:var(--dark-line);--fg:var(--dark-fg);--muted:var(--dark-muted);--soft:var(--dark-soft);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){html[data-theme=system]{--bg:var(--dark-bg);--surface:var(--dark-surface);--line:var(--dark-line);--fg:var(--dark-fg);--muted:var(--dark-muted);--soft:var(--dark-soft);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}h1,h2,h3{overflow-wrap:break-word;min-width:0}.btn{white-space:nowrap;font:inherit;border:1px solid var(--line);background:var(--bg);min-height:44px;color:var(--fg);cursor:pointer;box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--soft);color:var(--fg)}.btn:active,.fab:active,.item:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.on,.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn.on:hover,.btn.primary:hover{background:var(--fg);color:var(--bg);opacity:.85}.btn.ghost{border-color:#0000}.btn.sm{min-height:36px;padding:0 12px;font-size:13px}.btn:focus-visible,.field:focus-visible,.item:focus-visible,a:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.field{font:inherit;box-sizing:border-box;border:1px solid var(--muted);background:var(--bg);width:100%;min-height:44px;color:var(--fg);border-radius:8px;padding:12px;font-size:14px}textarea.field{resize:vertical;min-height:96px;line-height:1.5}.lbl{margin-bottom:8px;font-size:13px;display:block}.chip,.lbl{color:var(--muted);font-weight:600}.chip{border-radius:999px;padding:4px 12px;font-size:12px}.chip,.item{border:1px solid var(--line)}.item{font:inherit;text-align:left;background:var(--surface);width:100%;color:var(--fg);cursor:pointer;box-sizing:border-box;border-radius:6px;flex-direction:column;gap:2px;padding:8px;display:flex}.item:hover{border-color:var(--fg)}.item .t{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.item .m{color:var(--muted);font-size:11px}.wcol{border:1px solid var(--line);background:var(--bg);flex-direction:column;gap:8px;min-height:340px;margin-left:-1px;padding:8px;display:flex}.wcol.today{background:var(--surface)}.mcell{border:1px solid var(--line);background:var(--bg);flex-direction:column;gap:4px;min-width:0;min-height:104px;margin:-1px 0 0 -1px;padding:8px;display:flex}.mcell.out{background:var(--surface)}.mcell.out .dnum{color:var(--muted)}.dnum{border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:13px;font-weight:600;display:inline-flex}.dnum.today{background:var(--fg);color:var(--bg)}.card{border:1px solid var(--fg);background:var(--bg);box-sizing:border-box;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:16px;flex-direction:column;gap:16px;padding:28px;display:flex;position:absolute;inset:0}.msg{white-space:pre-line;overflow-wrap:anywhere;border-radius:10px;max-width:85%;padding:12px;font-size:14px;line-height:1.45}.msg.agent{background:var(--surface);border:1px solid var(--line);align-self:flex-start}.msg.user{align-self:flex-end}.fab,.msg.user{background:var(--fg);color:var(--bg)}.fab{border:1px solid var(--fg);cursor:pointer;z-index:10;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex;position:fixed;bottom:24px;right:24px}.fab:hover{opacity:.85}.fab:focus-visible{outline:2px solid var(--fg);outline-offset:3px}a{color:var(--fg)}.chat-typing,.login-sub,.state-text,a:hover{color:var(--muted)}.skeleton{background:var(--soft);border-radius:6px;height:16px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{--chat-w:calc(clamp(320px, 26vw, 420px));min-height:100vh;padding-top:var(--header-h,69px)}.app-header,.chat-aside,.login,.main,.shell{box-sizing:border-box}.app-header{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 24px;display:flex;position:fixed;top:0;left:0;right:0}.brand{margin-right:12px;font-size:16px}.app-nav{flex-wrap:wrap;flex:auto;gap:4px;display:flex}.frame{display:block}.main{min-width:0;padding:32px 24px 48px}.chat-aside{border-top:1px solid var(--line);background:var(--bg);flex-direction:column;display:flex}@media (width>=900px){.frame.chat-open{padding-right:var(--chat-w)}.chat-aside{top:var(--header-h,69px);width:var(--chat-w);border-top:0;border-left:1px solid var(--line);z-index:4;position:fixed;bottom:0;right:0}.chat-aside .chat-log{min-height:0;max-height:none}}@media (width<=599px){.app-header{gap:4px 12px;padding:8px 16px}.brand{margin-right:0}.app-header>.btn{margin-left:auto}.app-nav{flex-wrap:nowrap;flex:100%;order:3;overflow-x:auto}.app-nav .btn{flex:none}}.chat{flex-direction:column;flex:auto;min-height:0;display:flex}.chat-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.chat-title{margin:0;font-size:15px}.chat-log{flex-direction:column;flex:auto;gap:10px;min-height:280px;max-height:calc(100vh - 260px);padding:16px 20px;display:flex;overflow-y:auto}.chat-actions{align-self:flex-start;gap:8px;display:flex}.chat-typing{margin:0;font-size:13px}.chat-chips{flex-wrap:wrap;gap:6px;padding:12px 20px 0;display:flex}.chat-chips .btn{white-space:normal;text-align:left;height:auto;padding-top:6px;padding-bottom:6px}.chat-form{gap:8px;padding:12px 20px 20px;display:flex}.state-block{flex-direction:column;gap:12px;display:flex}.state-block.empty{border:1px dashed var(--line);border-radius:16px;align-items:flex-start;padding:24px}.state-title{margin:0;font-size:20px}.state-text{margin:0;font-size:15px;line-height:1.5}.login{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-form{flex-direction:column;gap:16px;width:100%;max-width:400px;display:flex}.login-title{margin:0;font-size:24px}.login-sub{margin:0;font-size:15px}.login-error{margin:0;font-size:14px;font-weight:600}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.btn:active,.fab:active,.item:active{transform:none}}
