@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap");:root{--primary:#2563eb;--primary-light:#60a5fa;--primary-dark:#1d4ed8;--secondary:#0d9488;--secondary-light:#5eead4;--accent:#e11d48;--accent-light:#fb7185;--bg-body:#f8f9fb;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-surface:#f1f5f9;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e2e8f0;--border-light:#cbd5e1;--success:#16a34a;--warning:#d97706;--error:#dc2626;--info:#2563eb;--shadow-xs:0 1px 2px rgba(0,0,0,.04);--shadow-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 6px -1px rgba(0,0,0,.06),0 2px 4px -1px rgba(0,0,0,.04);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.06),0 4px 6px -2px rgba(0,0,0,.03);--font-sans:"Inter","Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif;--radius:10px;--radius-lg:14px;--radius-xl:20px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-body);color:var(--text-primary);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}body,html{overflow-x:hidden}body,html{max-width:100vw}button,iframe,img,input,pre,select,table,textarea,video{max-width:100%}article,div,form,section{min-width:0}.container{max-width:960px;width:100%;margin:0 auto;padding:0 16px;box-sizing:border-box}.navbar{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:12px 0;width:100%}.navbar__inner{justify-content:space-between;position:relative;width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.navbar__inner,.navbar__logo{display:flex;align-items:center}.navbar__logo{gap:10px;text-decoration:none;color:var(--text-primary)}.navbar__logo-icon{width:36px;height:36px;background:var(--primary);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff}.navbar__logo-text{font-size:18px;font-weight:700;letter-spacing:-.3px;color:var(--text-primary)}.navbar__nav{display:flex;gap:2px;list-style:none}.navbar__link{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:12px;font-weight:500;white-space:nowrap;transition:all .15s ease}.navbar__link--active,.navbar__link:hover{background:var(--bg-surface);color:var(--text-primary)}.navbar__link--active{color:var(--primary);background:rgba(37,99,235,.06)}.navbar__toggle{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-primary);padding:8px;line-height:1}@media (max-width:768px){.navbar__toggle{display:block}.navbar__nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;border-bottom:1px solid var(--border);padding:12px 20px;gap:2px;box-shadow:var(--shadow-md);z-index:200}.navbar__nav--open{display:flex}.navbar__link{width:100%;padding:12px 14px;font-size:14px}.navbar__link span{display:inline-block}}.page-header{padding:32px 0 20px}.page-header__title{font-size:24px;font-weight:700;letter-spacing:-.5px;color:var(--text-primary)}.page-header__subtitle{font-size:14px;color:var(--text-secondary);margin-top:4px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:box-shadow .2s ease,border-color .2s ease;box-shadow:var(--shadow-xs)}.card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md)}.card__title{font-size:16px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.card__description{font-size:13px;color:var(--text-secondary);line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:8px;font-family:var(--font-sans);font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all .15s ease;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--primary-dark)}.btn--secondary{background:#fff;color:var(--text-primary);border:1px solid var(--border)}.btn--secondary:hover:not(:disabled){background:var(--bg-surface);border-color:var(--border-light)}.btn--danger{background:var(--error);color:#fff}.btn--danger:hover:not(:disabled){background:#b91c1c}.btn--large{padding:12px 28px;font-size:14px;border-radius:var(--radius)}.btn--icon{width:36px;height:36px;padding:0;border-radius:50%}.btn--record{width:72px;height:72px;border-radius:50%;background:var(--accent);color:#fff;font-size:28px;box-shadow:0 2px 12px rgba(225,29,72,.25)}.btn--record:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 20px rgba(225,29,72,.35)}.btn--record.recording{animation:pulse-record 1.5s infinite}@keyframes pulse-record{0%,to{box-shadow:0 0 0 0 rgba(225,29,72,.3)}50%{box-shadow:0 0 0 16px rgba(225,29,72,0)}}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600}.badge--draft{background:#f1f5f9;color:var(--text-muted)}.badge--processing{background:#eff6ff;color:var(--info)}.badge--ready{background:#f0fdf4;color:var(--success)}.badge--error{background:#fef2f2;color:var(--error)}.badge--published{background:#eff6ff;color:var(--primary)}.pipeline{gap:6px;padding:12px 0;overflow-x:auto}.pipeline,.pipeline__step{display:flex;align-items:center}.pipeline__step{gap:10px;padding:10px 16px;border-radius:8px;background:#fff;border:1px solid var(--border);min-width:140px;transition:all .2s ease}.pipeline__step--active{border-color:var(--primary);background:rgba(37,99,235,.04)}.pipeline__step--completed{border-color:var(--success);background:rgba(22,163,74,.04)}.pipeline__step-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--bg-surface)}.pipeline__step--active .pipeline__step-icon{background:var(--primary);color:#fff}.pipeline__step--completed .pipeline__step-icon{background:var(--success);color:#fff}.pipeline__step-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.pipeline__arrow{color:var(--text-muted);font-size:16px;flex-shrink:0}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:40px;text-align:center;cursor:pointer;transition:all .2s ease;background:#fff}.upload-zone:hover{border-color:var(--primary-light);background:rgba(37,99,235,.02)}.upload-zone--active{border-color:var(--primary);background:rgba(37,99,235,.04)}.upload-zone__icon{font-size:40px;margin-bottom:12px}.upload-zone__text{font-size:14px;color:var(--text-secondary);margin-bottom:6px}.upload-zone__hint{font-size:12px;color:var(--text-muted)}.textarea{width:100%;min-height:160px;padding:14px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.7;resize:vertical;transition:border-color .15s ease}.textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.progress{width:100%;height:4px;background:var(--bg-surface);border-radius:100px;overflow:hidden}.progress__bar{height:100%;background:var(--primary);border-radius:100px;transition:width .5s ease}.section{margin-bottom:28px}.section__title{font-size:16px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.grid{display:grid;grid-gap:16px;gap:16px}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.waveform{display:flex;align-items:center;justify-content:center;gap:3px;height:48px;padding:12px}.waveform__bar{width:3px;border-radius:2px;background:var(--primary);animation:wave 1.2s ease-in-out infinite}.waveform__bar:nth-child(2){animation-delay:.1s}.waveform__bar:nth-child(3){animation-delay:.2s}.waveform__bar:nth-child(4){animation-delay:.3s}.waveform__bar:nth-child(5){animation-delay:.4s}@keyframes wave{0%,to{height:8px;opacity:.4}50%{height:32px;opacity:1}}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.video-player{width:100%;border-radius:var(--radius-lg);overflow:hidden;background:#000;aspect-ratio:16/9}.video-player video{width:100%;height:100%;object-fit:contain}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:12px;gap:12px}.avatar-card{position:relative;border-radius:var(--radius);overflow:hidden;border:2px solid var(--border);cursor:pointer;transition:all .2s ease;aspect-ratio:1}.avatar-card:hover{border-color:var(--primary-light)}.avatar-card--selected{border-color:var(--primary);box-shadow:0 0 0 2px rgba(37,99,235,.15)}.avatar-card img{width:100%;height:100%;object-fit:cover}.avatar-card__name{position:absolute;bottom:0;left:0;right:0;padding:6px 8px;background:linear-gradient(transparent,rgba(0,0,0,.6));font-size:11px;font-weight:500;color:#fff}.toast{position:fixed;bottom:20px;right:20px;z-index:1000;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:500;animation:slideIn .25s ease;box-shadow:var(--shadow-lg)}.toast--success{background:var(--success);color:#fff}.toast--error{background:var(--error);color:#fff}.toast--info{background:var(--info);color:#fff}@keyframes slideIn{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.empty-state{text-align:center;padding:48px 20px;color:var(--text-muted)}.empty-state__icon{font-size:48px;margin-bottom:12px;opacity:.6}.empty-state__text{font-size:15px;margin-bottom:20px;color:var(--text-secondary)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2394a3b8'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px!important}@media (max-width:768px){.container{padding:0 16px}.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}.navbar__nav{gap:2px}.navbar__link{padding:6px 10px;font-size:12px}.navbar__link span{display:none}.pipeline{flex-wrap:wrap;gap:4px}.pipeline__step{min-width:auto;flex:1 1;padding:8px 10px;gap:6px}.pipeline__step-icon{width:28px;height:28px;font-size:14px}.pipeline__step-label{font-size:11px}.pipeline__arrow{display:none}.page-header{padding:24px 0 16px}.page-header__title{font-size:20px}.upload-zone{padding:28px 16px}.card{padding:16px}.btn--large{padding:12px 20px;font-size:13px}}@media (max-width:480px){.navbar__logo-text{display:none}.navbar__link{padding:6px 8px;font-size:11px}.page-header__title{font-size:18px}}.kb-drive-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.kb-drive-panel__status{display:flex;align-items:center;gap:12px;flex:1 1;min-width:0}.kb-drive-panel__icon{width:40px;height:40px;border-radius:10px;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.kb-drive-panel__info{min-width:0}.kb-drive-panel__info p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-drive-panel__actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.kb-docs-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.kb-doc-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--bg-surface);font-size:13px}.kb-doc-item__icon{flex-shrink:0;font-size:16px}.kb-doc-item__title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:500}.kb-doc-item__chunks{flex-shrink:0;font-size:11px;color:var(--text-muted);padding:2px 8px;background:#fff;border-radius:100px}.kb-chat,.kb-doc-item__chunks{border:1px solid var(--border)}.kb-chat{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;height:calc(100vh - 380px);min-height:400px;box-shadow:var(--shadow-sm)}.kb-chat__header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.kb-chat__messages{flex:1 1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.kb-chat__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1;text-align:center;padding:40px 20px}.kb-chat__suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.kb-chat__suggestion-btn{padding:8px 16px;border-radius:100px;border:1px solid var(--border);background:#fff;color:var(--text-secondary);font-size:13px;font-family:var(--font-sans);cursor:pointer;transition:all .15s ease}.kb-chat__suggestion-btn:hover{border-color:var(--primary-light);color:var(--primary);background:rgba(37,99,235,.04)}.kb-message{display:flex;gap:10px;align-items:flex-start;animation:msgFadeIn .25s ease}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.kb-message--user{flex-direction:row-reverse}.kb-message__avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.kb-message--assistant .kb-message__avatar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:14px}.kb-message__content{max-width:75%;display:flex;flex-direction:column;gap:6px}.kb-message__bubble{padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.7;word-break:break-word}.kb-message--user .kb-message__bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.kb-message--assistant .kb-message__bubble{background:var(--bg-surface);color:var(--text-primary);border-bottom-left-radius:4px;border:1px solid var(--border)}.kb-message__sources{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0 4px}.kb-message__source-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:100px;font-size:11px;background:rgba(37,99,235,.08);color:var(--primary);font-weight:500;border:1px solid rgba(37,99,235,.15)}.kb-message__typing{display:flex;gap:5px;align-items:center;padding:14px 20px}.kb-message__typing span{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:typingBounce 1.4s ease-in-out infinite}.kb-message__typing span:first-child{animation-delay:0s}.kb-message__typing span:nth-child(2){animation-delay:.2s}.kb-message__typing span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.kb-chat__input-area{display:flex;align-items:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);background:#fff}.kb-chat__input{flex:1 1;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;resize:none;max-height:120px;transition:border-color .15s ease}.kb-chat__input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.1);background:#fff}.kb-chat__input:disabled{opacity:.5;cursor:not-allowed}.kb-chat__send-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.kb-chat__send-btn:hover:not(:disabled){background:var(--primary-dark);transform:scale(1.05)}.kb-chat__send-btn:disabled{opacity:.4;cursor:not-allowed}.kb-alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;font-size:13px;font-weight:500}.kb-alert--error{background:#fef2f2;color:var(--error);border:1px solid rgba(220,38,38,.15)}@media (max-width:768px){.kb-drive-panel{flex-direction:column;align-items:flex-start}.kb-drive-panel__actions{width:100%}.kb-drive-panel__actions .btn{flex:1 1;justify-content:center}.kb-message__content{max-width:85%}.kb-chat{height:calc(100vh - 420px);min-height:320px}.kb-chat__suggestions{flex-direction:column}}.landing{background:#fff;color:#1e293b;overflow-x:hidden}.landing-nav{position:absolute;top:0;left:0;right:0;z-index:100;padding:20px 0}.landing-nav__inner{display:flex;align-items:center;justify-content:space-between}.landing-nav__login-link{font-size:.875rem;font-weight:500;color:#475569;text-decoration:none;padding:8px 20px;border:1px solid #cbd5e1;border-radius:6px;transition:all .2s}.landing-nav__login-link:hover{background:#f1f5f9;border-color:#94a3b8}.landing-hero{padding:120px 0 80px;display:flex;align-items:center;justify-content:space-between;gap:60px;min-height:80vh}.landing-hero__content{flex:1 1;text-align:left}.landing-hero__eyebrow{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px}.landing-hero__title{font-size:2.5rem;font-weight:700;line-height:1.2;letter-spacing:-1px;margin-bottom:20px;color:#0f172a}.landing-hero__subtitle{font-size:1.1rem;color:#64748b;margin-bottom:32px;max-width:480px;line-height:1.8}.landing-hero__actions{display:flex;gap:12px;align-items:center}.landing-hero__image{flex:1.1 1;position:relative}.landing-hero__image img{width:100%;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.08)}.btn--ghost{background:transparent;color:#475569;border:none;font-weight:500;cursor:pointer;padding:12px 20px;border-radius:var(--radius-md);transition:background .2s}.btn--ghost:hover{background:#f1f5f9}.landing-section{padding:100px 0}.landing-section--alt{background:#f8fafc}.landing-section__header{text-align:center;margin-bottom:56px}.landing-section__eyebrow{font-size:.75rem;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}.landing-section__title{font-size:2rem;font-weight:700;margin-bottom:12px;letter-spacing:-.3px;color:#0f172a}.landing-section__subtitle{color:#64748b;font-size:1rem;max-width:560px;margin:0 auto;line-height:1.7}.steps-container{display:flex;align-items:flex-start;justify-content:center;gap:0;max-width:900px;margin:0 auto}.step-item{flex:1 1;text-align:center;padding:0 24px}.step-item__number{width:40px;height:40px;border-radius:50%;background:#0f172a;color:#fff;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.step-item__title{font-size:1.05rem;font-weight:600;margin-bottom:8px;color:#1e293b}.step-item__text{font-size:.9rem;color:#64748b;line-height:1.7}.step-item__connector{width:48px;height:2px;background:#cbd5e1;margin-top:20px;flex-shrink:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.feature-card{padding:32px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;transition:box-shadow .25s ease,transform .25s ease;height:100%}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.06)}.feature-card__icon{font-size:28px;margin-bottom:16px;width:52px;height:52px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;border-radius:12px}.feature-card__title{font-size:1.1rem;font-weight:600;margin-bottom:8px;color:#1e293b}.feature-card__text{color:#64748b;font-size:.9rem;line-height:1.7}.login-form-container{max-width:420px;margin:0 auto}.login-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:36px;box-shadow:0 4px 16px rgba(0,0,0,.05)}.landing-footer{padding:48px 0;border-top:1px solid #e2e8f0;text-align:center;color:#94a3b8;font-size:.85rem}.landing-footer__links{display:flex;justify-content:center;gap:24px;margin-top:16px}.landing-footer__link{color:#64748b;text-decoration:none;transition:color .2s ease}.landing-footer__link:hover{color:var(--primary)}@media (max-width:768px){.landing-hero{padding:100px 0 60px;gap:40px}.landing-hero,.landing-hero__content{flex-direction:column;text-align:center}.landing-hero__content{display:flex;align-items:center}.landing-hero__title{font-size:2.2rem}.landing-hero__subtitle{margin:0 auto 32px}.landing-hero__actions{flex-direction:column;width:100%}.landing-hero__image{width:100%}.steps-container{flex-direction:column;align-items:center;gap:8px}.step-item__connector{width:2px;height:32px;margin:0 auto}.feature-grid{grid-template-columns:1fr}.landing-section{padding:60px 0}}