:root{--light-layer-0:#f3f1f7;--light-layer-1:#fff;--light-layer-2:#eae8ef;--light-layer-3:#dddbe4;--light-layer-overlay:#fff;--light-fg:#1b1724;--light-muted:#5d576a;--light-on-fg:#fff;--light-accent:#b7094c;--light-accent-hover:#a01a58;--light-accent-text:#b7094c;--light-accent-subtle:#fee3e7;--light-scrim:#0f0d148c;--dark-layer-0:#0f0d14;--dark-layer-1:#1a1820;--dark-layer-2:#26232d;--dark-layer-3:#33303b;--dark-layer-overlay:#2b2832;--dark-fg:#f1eff5;--dark-muted:#b2afbc;--dark-on-fg:#1a1820;--dark-accent:#c9305d;--dark-accent-hover:#b7094c;--dark-accent-text:#f0869a;--dark-accent-subtle:#441d25;--dark-scrim:#0009;--on-accent:#fff;--topic-1:#892b64;--topic-2:#723c70;--topic-3:#5c4d7d;--topic-4:#455e89;--topic-5:#2e6f95;--topic-6:#0091ad;--on-topic:#fff;--on-topic-6:#01151a;--font-display:"Rethink Sans",ui-sans-serif,system-ui,sans-serif;--font-body:"Onest",ui-sans-serif,system-ui,sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-xl:28px;--radius-full:999px;--dur:.14s}html{--layer-0:var(--light-layer-0);--layer-1:var(--light-layer-1);--layer-2:var(--light-layer-2);--layer-3:var(--light-layer-3);--layer-overlay:var(--light-layer-overlay);--fg:var(--light-fg);--muted:var(--light-muted);--on-fg:var(--light-on-fg);--accent:var(--light-accent);--accent-hover:var(--light-accent-hover);--accent-text:var(--light-accent-text);--accent-subtle:var(--light-accent-subtle);--scrim:var(--light-scrim);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--layer-0:var(--dark-layer-0);--layer-1:var(--dark-layer-1);--layer-2:var(--dark-layer-2);--layer-3:var(--dark-layer-3);--layer-overlay:var(--dark-layer-overlay);--fg:var(--dark-fg);--muted:var(--dark-muted);--on-fg:var(--dark-on-fg);--accent:var(--dark-accent);--accent-hover:var(--dark-accent-hover);--accent-text:var(--dark-accent-text);--accent-subtle:var(--dark-accent-subtle);--scrim:var(--dark-scrim);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){html[data-theme=system]{--layer-0:var(--dark-layer-0);--layer-1:var(--dark-layer-1);--layer-2:var(--dark-layer-2);--layer-3:var(--dark-layer-3);--layer-overlay:var(--dark-layer-overlay);--fg:var(--dark-fg);--muted:var(--dark-muted);--on-fg:var(--dark-on-fg);--accent:var(--dark-accent);--accent-hover:var(--dark-accent-hover);--accent-text:var(--dark-accent-text);--accent-subtle:var(--dark-accent-subtle);--scrim:var(--dark-scrim);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}body,html{overflow-x:clip}body{background:var(--layer-0);color:var(--fg);font-family:var(--font-body);min-height:100vh;margin:0;font-size:16px;line-height:1.5}h1,h2{font-family:var(--font-display);letter-spacing:-.01em;overflow-wrap:break-word;min-width:0;font-weight:700}b,h3,strong{font-weight:600}h1{letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1.1}h2{font-size:18px;line-height:1.3}a{color:var(--accent-text)}.btn,.btn:hover,a:hover{color:var(--fg)}.shell{min-height:100vh}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skeleton{border-radius:var(--radius-sm);height:16px}.btn,.skeleton{background:var(--layer-2)}.btn{white-space:nowrap;font:inherit;min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);box-sizing:border-box;transition:background-color var(--dur) ease,opacity var(--dur) ease,transform var(--dur) ease;border:0;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--layer-3)}.btn:active,.item:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--on-accent);font-weight:600}.btn.primary:hover{background:var(--accent-hover);color:var(--on-accent)}.btn.ghost{background:0 0}.btn.ghost:hover,.seg{background:var(--layer-2)}.btn.sm{min-height:36px;padding:0 var(--space-3);font-size:14px}.btn.icon{width:44px;padding:0}.btn.sm.icon{width:36px}.btn:focus-visible,.card:focus-visible,.fab:focus-visible,.field:focus-visible,.item:focus-visible,.seg button:focus-visible,.strip:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.seg{border-radius:var(--radius-md);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{font:inherit;min-height:38px;padding:0 var(--space-4);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;transition:background-color var(--dur) ease,color var(--dur) ease;background:0 0;border:0;font-size:14px;font-weight:500}.field,.seg button.on,.seg button:hover{color:var(--fg)}.seg button.on{background:var(--layer-3);font-weight:600}.field{font:inherit;box-sizing:border-box;border:1px solid var(--muted);border-radius:var(--radius-md);background:var(--layer-2);width:100%;min-height:44px;transition:background-color var(--dur) ease;padding:10px 11px;font-size:16px}.field:hover{background:var(--layer-3)}.field:disabled{color:var(--muted);cursor:not-allowed;background:0 0}.field::placeholder{color:var(--muted)}.chip,.dialog .field,.panel .field{background:var(--layer-2)}textarea.field{resize:vertical;min-height:96px;line-height:1.5}.lbl{color:var(--muted);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.chip{border-radius:var(--radius-full);color:var(--fg);white-space:nowrap;align-items:center;padding:7px 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.chip.t-1{background:var(--topic-1)}.chip.t-1,.chip.t-2,.chip.t-3,.chip.t-4,.chip.t-5{color:var(--on-topic)}.chip.t-2{background:var(--topic-2)}.chip.t-3{background:var(--topic-3)}.chip.t-4{background:var(--topic-4)}.chip.t-5{background:var(--topic-5)}.chip.t-6{background:var(--topic-6);color:var(--on-topic-6)}.dot{border-radius:var(--radius-full);background:var(--muted);flex:none;width:8px;height:8px}.dot.t-1{background:var(--topic-1)}.dot.t-2{background:var(--topic-2)}.dot.t-3{background:var(--topic-3)}.dot.t-4{background:var(--topic-4)}.dot.t-5{background:var(--topic-5)}.dot.t-6{background:var(--topic-6)}.panel,.row{background:var(--layer-1);border-radius:var(--radius-lg)}.row{gap:var(--space-3);padding:var(--space-3) 14px;align-items:center;display:flex}.item,.list{gap:var(--space-1);flex-direction:column;display:flex}.item{font:inherit;text-align:left;background:var(--layer-2);width:100%;color:var(--fg);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);cursor:pointer;box-sizing:border-box;transition:background-color var(--dur) ease,transform var(--dur) ease;border:0}.item:hover{background:var(--layer-3)}.item .t{align-items:baseline;gap:6px;min-width:0;font-size:13px;font-weight:600;line-height:1.3;display:flex}.item .t .dot{transform:translateY(-1px)}.item .t .tt{text-overflow:ellipsis;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.item .m{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.item .m .chip{background:var(--layer-1);padding:var(--space-1) var(--space-2)}.wcol{border-radius:var(--radius-lg);gap:var(--space-2);min-height:360px;padding:10px}.mcell,.wcol{background:var(--layer-1);flex-direction:column;display:flex}.mcell{min-height:108px;padding:var(--space-2);border-radius:var(--radius-md);gap:var(--space-1);min-width:0}.mcell.out{background:0 0}.mcell.out .dnum{color:var(--muted)}.dnum{border-radius:var(--radius-full);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:13px;font-weight:600;display:inline-flex}.dnum.today{background:var(--accent);color:var(--on-accent)}.card{border-radius:var(--radius-xl);background:var(--layer-1);padding:var(--space-6);box-sizing:border-box;gap:var(--space-4);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:absolute;inset:0}.card:active{cursor:grabbing}.stamp{top:var(--space-5);padding:6px var(--space-3);border-radius:var(--radius-full);font-size:13px;font-weight:600;position:absolute}.stamp.yes{right:var(--space-5);background:var(--accent);color:var(--on-accent)}.stamp.no{left:var(--space-5);background:var(--fg);color:var(--on-fg)}.progress-bar{border-radius:var(--radius-full);background:var(--layer-2);height:6px;overflow:hidden}.progress-bar span{border-radius:var(--radius-full);background:var(--accent);transform-origin:0;height:100%;transition:transform .24s;display:block}.msg{border-radius:var(--radius-lg);white-space:pre-line;overflow-wrap:anywhere;max-width:85%;padding:10px 14px;font-size:15px;line-height:1.45}.msg.agent{background:var(--layer-2);border-bottom-left-radius:4px;align-self:flex-start}.msg.user{background:var(--fg);color:var(--on-fg);border-bottom-right-radius:4px;align-self:flex-end}.mark{background:var(--accent);width:32px;height:32px;color:var(--on-accent);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.fab,.mark.round{border-radius:var(--radius-full)}.fab{right:var(--space-5);bottom:var(--space-5);background:var(--fg);width:56px;height:56px;color:var(--on-fg);cursor:pointer;z-index:10;transition:transform var(--dur) ease;border:0;justify-content:center;align-items:center;display:inline-flex;position:fixed}.fab:hover{transform:translateY(-2px)}.fab:active{transform:translateY(0)}.shell{--chat-w:calc(clamp(320px, 26vw, 420px));padding-top:var(--header-h,69px)}.app-header,.chat-aside,.login,.login-form,.main,.shell{box-sizing:border-box}.app-header{z-index:5;background:var(--layer-1);gap:var(--space-3);padding:var(--space-3) var(--space-5);flex-wrap:wrap;position:fixed;top:0;left:0;right:0}.app-header,.brand-wrap{align-items:center;display:flex}.brand-wrap{margin-right:var(--space-4);gap:10px}.brand{font-family:var(--font-display);letter-spacing:-.01em;font-size:18px;font-weight:700}.app-nav{flex-wrap:wrap;flex:auto;gap:2px;display:flex}.app-nav .btn{color:var(--muted);border-radius:var(--radius-sm);background:0 0;padding:0 14px}.app-nav .btn:hover{background:var(--layer-2);color:var(--fg)}.app-nav .btn.on{background:var(--layer-3);color:var(--fg);font-weight:600}.nav-ico{display:none}.frame{display:block}.main{min-width:0;padding:var(--space-7) var(--space-5) 64px}.chat-aside{background:var(--layer-1);margin-top:var(--space-2);flex-direction:column;display:flex}.chat-scrim{z-index:19;background:var(--scrim);position:fixed;inset:0}.chat-aside.modal{bottom:0;left:0;right:0;top:var(--space-6);z-index:20;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom);margin:0;position:fixed}.chat-aside.modal .chat-log{min-height:0;max-height:none}@media (width>=900px){.frame.chat-open{padding-right:var(--chat-w)}.chat-aside{top:var(--header-h,69px);width:var(--chat-w);z-index:4;margin-top:0;position:fixed;bottom:0;right:0}.chat-aside .chat-log{min-height:0;max-height:none}}@media (width<=599px){.app-header{padding:var(--space-2) var(--space-4);gap:var(--space-1) var(--space-3)}.brand-wrap{margin-right:0}.app-header>.btn.icon{margin-left:auto}.main{padding:var(--space-5) var(--space-4) calc(var(--space-7) * 3 + var(--space-5) + env(safe-area-inset-bottom))}.fab{bottom:calc(var(--space-7) + var(--space-7) + env(safe-area-inset-bottom));right:var(--space-4)}.app-nav{left:var(--space-2);right:var(--space-2);bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:6;background:var(--layer-1);border-radius:var(--radius-xl);padding:var(--space-2) var(--space-1);flex-wrap:nowrap;flex:none;align-items:center;gap:0;position:fixed}.app-nav .btn.nav-item{order:var(--pos);border-radius:var(--radius-md);min-width:0;min-height:52px;color:var(--muted);background:0 0;flex:1 1 0;padding:0}.app-nav .btn.nav-item:hover{color:var(--fg);background:0 0}.app-nav .btn.nav-item.on{color:var(--accent-text);background:0 0}.app-nav .btn.nav-item.center{flex:0 0 60px}.app-nav .btn.nav-item.center.on{color:var(--on-accent)}.nav-ico{justify-content:center;align-items:center;display:inline-flex}.nav-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nav-item.center .nav-ico{isolation:isolate;border-radius:var(--radius-full);background:var(--accent-subtle);width:72px;height:72px;color:var(--on-accent);flex:none;position:relative;transform:translateY(-24px)}.nav-item.center .nav-ico:before{content:"";z-index:-1;border-radius:var(--radius-full);background:var(--accent);position:absolute;inset:8px}.nav-item.center:hover .nav-ico:before{background:var(--accent-hover)}}.chat{flex-direction:column;flex:auto;min-height:0;display:flex}.chat-head{padding:14px var(--space-4) 6px var(--space-5);align-items:center;gap:10px;display:flex}.chat-title{flex:1}.chat-log{min-height:280px;max-height:calc(100vh - 260px);padding:var(--space-4) 20px;flex-direction:column;flex:auto;gap:10px;display:flex;overflow-y:auto}.chat-actions{gap:var(--space-2);align-self:flex-start;display:flex}.chat-typing{color:var(--muted);margin:0;font-size:13px}.chat-chips{padding:var(--space-3) 20px 0;flex-wrap:wrap;gap:6px;display:flex}.chat-chips .btn{white-space:normal;text-align:left;border-radius:var(--radius-full);height:auto;padding-top:6px;padding-bottom:6px}.chat-form{padding:var(--space-3) 20px 20px;gap:var(--space-2);display:flex}.state-block{gap:var(--space-3);flex-direction:column;display:flex}.state-block.empty{background:var(--layer-1);border-radius:var(--radius-lg);padding:var(--space-5);align-items:flex-start}.state-title{margin:0;font-size:22px;font-weight:800;line-height:1.15}.state-text{color:var(--muted);margin:0;font-size:16px;line-height:1.5}.login{justify-content:center;align-items:center;min-height:100vh}.login,.login-form{padding:var(--space-5);display:flex}.login-form{gap:var(--space-4);background:var(--layer-1);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:400px}.login-title{margin:0;font-size:30px;line-height:1.1}.login-sub{color:var(--muted);margin:0;font-size:16px}.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,.fab:hover,.item:active{transform:none}}
