@font-face{font-family:geistSans;src:url(../media/GeistVF-s.p.0e569l9b0bre8.woff)format("woff");font-display:swap}@font-face{font-family:geistSans Fallback;src:local(Arial);ascent-override:85.83%;descent-override:20.52%;line-gap-override:9.33%;size-adjust:107.19%}.geistsans_d025f23b-module__btTCTG__className{font-family:geistSans,geistSans Fallback}.geistsans_d025f23b-module__btTCTG__variable{--font-geist-sans:"geistSans", "geistSans Fallback"}
@font-face{font-family:geistMono;src:url(../media/GeistMonoVF-s.p.1lv5tp2fpjxdz.woff)format("woff");font-display:swap}@font-face{font-family:geistMono Fallback;src:local(Arial);ascent-override:69.97%;descent-override:16.73%;line-gap-override:7.61%;size-adjust:131.49%}.geistmono_df95d851-module__CWPfka__className{font-family:geistMono,geistMono Fallback}.geistmono_df95d851-module__CWPfka__variable{--font-geist-mono:"geistMono", "geistMono Fallback"}
@keyframes sd-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sd-blurIn{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur()}}@keyframes sd-slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}[data-sd-animate]{animation:var(--sd-animation,sd-fadeIn) var(--sd-duration,.15s) var(--sd-easing,ease) var(--sd-delay,0s) both}
:root{--blue:#1976d2;--blue-dk:#1565c0;--blue-lt:#e3f2fd;--green:#34a853;--green-d:#2e7d32;--green-lt:#e8f5e9;--orange:#e65100;--orange-l:#ff6d00;--red:#e53935;--red-dk:#c62828;--red-lt:#ffebee;--amber:#f57f17;--white:#fff;--bg:#f0f2f5;--surface:#fff;--surface-subtle:#f5f5f5;--surface-hover:#fafafa;--card:#fff;--divider:#e0e0e0;--border:#e0e0e0;--text1:#212121;--text:#212121;--text2:#616161;--sub:#616161;--text3:#9e9e9e;--shadow:0 1px 4px #0000001f, 0 0 1px #00000014;--radius:8px;--sidebar:240px;--nav-bg:#21487b;--nav-bg-hover:#2a5490;--nav-bg-active:#2e5199;--nav-text:#ffffffd9;--nav-text-active:#fff;--nav-divider:#ffffff1f;--chart-blue:#2183d9;--chart-red:#e5484d;--chart-green:#87cb16;--chart-gray:#eaebec;--chart-unclassified:#9e9e9e;--chart-amber:#f57f17;--chart-purple:#7c4dff}@media (max-width:900px){:root{--sidebar:200px}}
:root{--ink:#14221c;--muted:#68766f;--line:#dfe7e2;--paper:#f7faf8;--surface:#fff;--app-green:#147d55;--green-dark:#0d5f40;--green-pale:#eaf6ef;--warm:#e7b560}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{color:var(--ink);background:radial-gradient(circle at 50% -20%, #1e8b5c14, transparent 36rem), var(--paper);font-family:var(--font-geist-sans), "Noto Sans JP", sans-serif}button,input,textarea{font:inherit}button{color:inherit}.app-shell{height:100dvh;min-height:100dvh;padding-top:74px;overflow:hidden}.topbar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7faf8d1;border-bottom:1px solid #cfdcd5cc;justify-content:space-between;align-items:center;height:74px;padding:0 42px;display:flex;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;background:var(--app-green);border-radius:11px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 7px 16px #147d552e}.brand-mark svg{fill:currentColor;width:19px}.brand>span:last-child{line-height:1.05;display:grid}.brand strong{letter-spacing:-.02em;font-size:16px}.brand small{color:#819087;letter-spacing:.16em;margin-top:5px;font-size:8px;font-weight:700}.connection-status{color:#637168;font-family:var(--font-geist-mono), monospace;letter-spacing:.02em;align-items:center;gap:9px;font-size:11px;display:flex}.topbar-actions,.signed-in-user{align-items:center;display:flex}.topbar-actions{gap:20px}.signed-in-user{border-left:1px solid var(--line);color:var(--muted);gap:10px;padding-left:20px;font-size:12px}.signed-in-user span{font-weight:700}.signed-in-user button{color:var(--green-dark);background:var(--green-pale);cursor:pointer;border:0;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700}.status-dot{background:#28a66e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #28a66e1c}.status-divider{background:var(--line);width:1px;height:14px;margin:0 2px}.conversation{overscroll-behavior:contain;scrollbar-gutter:stable;height:100%;padding:42px 24px 180px;overflow-y:auto}.conversation.empty{place-items:center;padding-bottom:142px;display:grid}.welcome{text-align:center;width:min(720px,100%);animation:.55s ease-out both enter}@keyframes enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.welcome-icon{width:60px;height:60px;color:var(--app-green);background:var(--surface);border:1px solid #dce8e0;border-radius:20px;place-items:center;margin:0 auto 25px;display:grid;box-shadow:0 14px 35px #23493714}.welcome-icon svg{fill:currentColor;width:29px}.eyebrow{color:var(--app-green);font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;margin-bottom:13px;font-size:10px;font-weight:700}.welcome h1{letter-spacing:-.055em;font-size:clamp(36px,5vw,58px);font-weight:650;line-height:1.2}.welcome-copy{color:var(--muted);margin:24px auto 31px;font-size:15px;line-height:1.9}.suggestions{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.suggestions button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#ffffffc7;border-radius:14px;align-items:center;gap:10px;min-height:68px;padding:14px 16px;font-size:12px;line-height:1.5;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex}.suggestions button:hover:not(:disabled){border-color:#a8c9b6;transform:translateY(-2px);box-shadow:0 10px 24px #1c473312}.suggestions button span{color:var(--app-green);flex:none;font-size:16px}.demo-notice{color:#8a978f;margin-top:18px;font-size:11px}.messages{width:min(820px,100%);margin:0 auto}.message{grid-template-columns:42px minmax(0,1fr);gap:15px;margin-bottom:34px;animation:.25s ease-out both enter;display:grid}.message-avatar{color:#fff;background:var(--app-green);width:36px;height:36px;font-family:var(--font-geist-mono), monospace;border-radius:11px;place-items:center;font-size:10px;font-weight:700;display:grid}.message.user .message-avatar{color:#66736c;background:#e7ece9}.message-body{min-width:0;padding-top:2px}.message-author{margin-bottom:8px;font-size:12px;font-weight:700}.message-text{overflow-wrap:anywhere;font-size:14px;line-height:1.85}.message-text>:first-child,.message-text>[data-streamdown]:first-child>:first-child{margin-top:0}.message-text>:last-child,.message-text>[data-streamdown]:last-child>:last-child{margin-bottom:0}.message-text p{margin:.75em 0}.message-text :where(h1,h2,h3,h4,h5,h6){color:var(--ink);letter-spacing:-.025em;margin:1.35em 0 .55em;font-weight:700;line-height:1.35}.message-text h1{font-size:1.45em}.message-text h2{font-size:1.3em}.message-text h3{font-size:1.15em}.message-text :where(ul,ol){gap:.3em;margin:.8em 0;padding-left:1.5em;display:grid}.message-text ul{list-style:outside}.message-text ol{list-style:decimal}.message-text li>:where(ul,ol){margin:.3em 0 0}.message-text a{color:var(--green-dark);text-underline-offset:3px;-webkit-text-decoration:underline #0d5f4059;text-decoration:underline #0d5f4059}.message-text strong{font-weight:750}.message-text blockquote{color:var(--muted);border-left:3px solid #9dc9b0;margin:.9em 0;padding:.15em 0 .15em 1em}.message-text hr{background:var(--line);border:0;height:1px;margin:1.4em 0}.message-text [data-streamdown=inline-code]{color:#22533d;font-family:var(--font-geist-mono), monospace;background:#e8f1ec;border:1px solid #d6e5dc;border-radius:5px;padding:.15em .4em;font-size:.88em}.message-text [data-streamdown=code-block]{background:#f1f6f3;border:1px solid #d8e4dd;border-radius:12px;margin:1em 0;overflow:hidden}.message-text [data-streamdown=code-block-header]{min-height:36px;color:var(--muted);font-family:var(--font-geist-mono), monospace;background:#e8f0eb;border-bottom:1px solid #d8e4dd;align-items:center;padding:0 12px;font-size:10px;display:flex}.message-text [data-streamdown=code-block-body]{overflow-x:auto}.message-text [data-streamdown=code-block-body] pre{font-family:var(--font-geist-mono), monospace;white-space:pre;padding:14px 16px;font-size:12px;line-height:1.65}.message-text [data-streamdown=code-block-actions]{margin-left:auto}.message-text [data-streamdown=code-block-actions] button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:5px;display:grid}.message-text [data-streamdown=table-wrapper]{border:1px solid #d8e4dd;border-radius:10px;margin:1em 0;overflow:hidden}.message-text [data-streamdown=table-wrapper]>div:first-child{background:#edf4f0;border-bottom:1px solid #d8e4dd;justify-content:flex-end;align-items:center;gap:4px;min-height:38px;padding:5px 8px;display:flex}.message-text [data-streamdown=table-wrapper]>div:first-child>div{position:relative}.message-text [data-streamdown=table-wrapper]>div:first-child button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.message-text [data-streamdown=table-wrapper]>div:first-child button:hover{color:var(--green-dark);background:#147d5514}.message-text [data-streamdown=table-wrapper]>div:last-child{overflow-x:auto}.message-text table{border-collapse:collapse;background:#ffffffb8;width:100%;min-width:480px;font-size:12px}.message-text :where(th,td){text-align:left;border-bottom:1px solid #e0e9e4;border-right:1px solid #e0e9e4;padding:9px 12px}.message-text th{color:#3d5147;background:#edf4f0;font-weight:700}.message-text tr:last-child td{border-bottom:0}.message-text :where(th,td):last-child{border-right:0}.message-text img{border-radius:10px;max-width:100%;height:auto;margin:.8em 0}.message.user .message-text{border:1px solid var(--line);background:#fff;border-radius:4px 15px 15px;width:fit-content;max-width:100%;padding:11px 15px}.tool-activity{background:#ffffffd1;border:1px solid #d9e6de;border-radius:14px;margin:12px 0;overflow:hidden}.tool-activity summary{cursor:pointer;align-items:center;gap:11px;padding:12px 14px;list-style:none;display:flex}.tool-activity summary::-webkit-details-marker{display:none}.tool-activity summary>span:nth-child(2){gap:2px;display:grid}.tool-activity strong{font-size:12px}.tool-activity small{color:var(--muted);font-size:10px}.tool-status{color:#8b6b31;width:25px;height:25px;font-family:var(--font-geist-mono), monospace;background:#fcf3e3;border-radius:8px;flex:none;place-items:center;font-size:11px;display:grid}.tool-status.complete{color:var(--app-green);background:var(--green-pale)}.tool-chevron{color:#849087;margin-left:auto;transition:transform .16s}.tool-activity[open] .tool-chevron{transform:rotate(180deg)}.tool-detail{padding:0 14px 14px 50px}.tool-detail>span{color:#7c8981;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;margin:8px 0 5px;font-size:9px;font-weight:700;display:block}.tool-detail pre{color:#30443a;max-height:260px;font-family:var(--font-geist-mono), monospace;background:#f3f7f4;border-radius:9px;padding:12px;font-size:10px;line-height:1.55;overflow:auto}.tool-error,.chat-error{color:#9d3f37}.auth-loading,.signin-shell{place-items:center;min-height:100dvh;display:grid}.auth-loading{color:var(--muted);align-content:center;gap:16px;font-size:13px}.auth-loading .brand-mark{margin:0 auto}.signin-shell{color:#212529;background:#f7f7f9;place-items:start center;padding:144px 24px 40px;font-family:Hiragino Kaku Gothic ProN,Hiragino Kaku Gothic Pro,Meiryo,Noto Sans JP,sans-serif}.signin-card{background:#fff;border:1px solid #00000020;border-radius:10px;width:min(392px,100%);padding:69px 30px 40px;box-shadow:0 25px 30px -13px #28282866}.signin-product-name,.signin-heading h1{text-align:center;font-size:18px;font-weight:700;line-height:1.1}.signin-product-name{color:#3d4144;white-space:nowrap;margin:0 -15px 20px}.signin-heading{margin:0 -15px}.signin-heading h1{color:#212529}.signin-heading span{color:var(--muted);text-align:center;margin-top:20px;font-size:14px;line-height:1.6;display:block}.signin-form{gap:16px;margin-top:41px;display:grid}.signin-form label{color:#292b2e;gap:8px;font-size:14px;font-weight:400;line-height:19px;display:grid}.signin-form input{color:#333;background:#fff;border:1px solid #c4c8cc;border-radius:4px;outline:0;width:100%;height:34px;padding:3px 12px;font-size:14px;transition:border-color .16s,box-shadow .16s}.signin-form input:focus{border-color:#2183d9;box-shadow:0 0 0 2px #2183d924}.signin-form .signin-remember{cursor:pointer;align-items:center;gap:8px;width:fit-content;min-height:21px;display:flex}.signin-form .signin-remember input{accent-color:#2183d9;width:17px;height:17px;padding:0}.signin-help-links{margin-top:3px;display:grid}.signin-help-links a{color:#2183d9;font-size:14px;line-height:21px;text-decoration:none}.signin-help-links a:hover{text-decoration:underline}.signin-form>button{color:#fff;cursor:pointer;background:#2183d9;border:1px solid #2183d9;border-radius:4px;width:180px;min-height:34px;margin:16px auto 0;padding:5px 15px;font-size:14px;font-weight:400;line-height:22px}.signin-form>button:disabled,.signin-secondary-actions button:disabled{cursor:not-allowed;opacity:.55}.signin-error,.signin-message{border-radius:4px;padding:9px 11px;font-size:13px;line-height:1.5}.signin-error{color:#9d3f37;background:#fff1ef;border:1px solid #f1d2ce}.signin-message{color:var(--green-dark);background:var(--green-pale);border:1px solid #cee6d8}.signin-secondary-actions{gap:4px;margin-top:18px;display:grid}.signin-secondary-actions button{color:#2183d9;cursor:pointer;text-align:left;background:0 0;border:0;width:fit-content;padding:0;font-size:14px;font-weight:400;line-height:21px}.signin-secondary-actions button:hover:not(:disabled){text-decoration:underline}.thinking{gap:4px;margin-left:57px;display:flex}.thinking span{background:#7d8e84;border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite pulse}.thinking span:nth-child(2){animation-delay:.15s}.thinking span:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.composer-wrap{z-index:3;background:linear-gradient(transparent, var(--paper) 34%);padding:24px 24px 20px;position:fixed;bottom:0;left:0;right:0}.composer{background:#fffffff5;border:1px solid #cfdcd4;border-radius:19px;align-items:flex-end;gap:12px;width:min(820px,100%);margin:0 auto;padding:11px 11px 11px 19px;transition:border-color .16s,box-shadow .16s;display:flex;box-shadow:0 18px 50px #1c3c2d21}.composer:focus-within{border-color:#76a98b;box-shadow:0 18px 52px #1c3c2d29,0 0 0 3px #147d5512}.composer textarea{resize:none;width:100%;min-height:40px;max-height:140px;color:var(--ink);background:0 0;border:0;outline:0;padding:10px 0 7px;font-size:14px;line-height:1.5}.composer textarea::placeholder{color:#929e97}.send-button{color:#fff;background:var(--app-green);cursor:pointer;border:0;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;transition:background .16s,transform .16s;display:grid}.send-button:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.send-button:disabled{cursor:not-allowed;opacity:.35}.send-button svg{fill:currentColor;width:20px}.send-button.stop span{background:#fff;border-radius:3px;width:12px;height:12px}.composer-note,.chat-error{text-align:center;width:min(820px,100%);margin:8px auto 0;font-size:10px}.composer-note{color:#8a968f}.chat-error{background:#fff1ef;border:1px solid #f1d2ce;border-radius:10px;margin-bottom:8px;padding:8px 12px}@media (max-width:720px){.app-shell{padding-top:64px}.topbar{height:64px;padding:0 18px}.connection-status{font-size:0}.topbar-actions{gap:10px}.signed-in-user{padding-left:10px}.signed-in-user span{display:none}.connection-status:after{content:"ONLINE";font-size:9px}.status-divider{display:none}.conversation{padding:28px 16px 160px}.conversation.empty{padding-bottom:125px}.welcome-icon{width:53px;height:53px;margin-bottom:20px}.welcome h1{font-size:38px}.welcome-copy{font-size:13px}.desktop-break{display:none}.suggestions{grid-template-columns:1fr}.suggestions button{min-height:50px}.message{grid-template-columns:34px minmax(0,1fr);gap:11px}.message-avatar{width:32px;height:32px}.tool-detail{padding-left:14px}.composer-wrap{padding:20px 13px 14px}.signin-card{padding:42px 24px 28px}.signin-shell{background:#fff;padding:24px 16px}.signin-product-name{white-space:normal;font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
