/* Custni application refinement — knowledge atelier */
:root{--app-bg:#f7f8fa;--app-surface:#fff;--app-subtle:#f2f5f9;--app-navy:#152238;--app-text:#243249;--app-muted:#66748a;--app-line:#dfe5ed;--app-blue:#3563e9;--app-blue-soft:#eef3ff;--app-lav:#f2efff;--app-radius:14px;--app-shadow:0 12px 35px rgba(21,34,56,.09)}
.app-page{font-family:"Noto Sans JP","Yu Gothic UI","Hiragino Kaku Gothic ProN",system-ui,sans-serif;background:var(--app-bg);color:var(--app-text)}
.app-page button,.app-page input,.app-page textarea,.app-page select{font-family:inherit}.app-page button{cursor:pointer}.app-page button:focus-visible,.app-page a:focus-visible,.app-page input:focus-visible,.app-page textarea:focus-visible,.app-page select:focus-visible{outline:3px solid rgba(53,99,233,.24);outline-offset:2px}
.app-header{height:68px;padding:0 16px 0 18px;gap:18px;background:rgba(255,255,255,.96);border-color:var(--app-line);box-shadow:0 1px 0 rgba(21,34,56,.02)}.app-header>.brand{width:202px;color:var(--app-navy);font-weight:800;letter-spacing:-.02em}.brand-mark{background:var(--app-navy)!important;border-radius:11px!important}.app-title{gap:11px}.app-title input{max-width:470px;color:var(--app-navy);font-size:14px;font-weight:750}.app-title span{font-size:11px;color:var(--app-muted)}.header-actions{gap:8px}.header-actions>.btn{min-height:38px;border-radius:11px}.usage-pill{min-height:38px;align-items:center;padding:7px 12px;border-color:var(--app-line);background:var(--app-subtle);border-radius:11px;font-size:11px;color:var(--app-navy)}.usage-pill span{color:var(--app-blue)}.avatar{width:38px;height:38px;background:var(--app-blue-soft);color:var(--app-blue);border:1px solid #d9e3ff}.popover{top:48px;border-color:var(--app-line);border-radius:15px;box-shadow:var(--app-shadow)}
.workspace{height:calc(100% - 68px);grid-template-columns:220px 240px minmax(390px,1fr) 320px;background:var(--app-line);gap:1px}.notebooks-panel,.sources-panel,.chat-panel,.studio-panel{border:0;background:var(--app-surface)}.notebooks-panel{padding:18px 11px 14px;background:#f4f6f9}.panel-heading{padding:2px 8px 14px}.panel-heading small,.pane-head span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--app-muted)}.panel-heading h2,.pane-head h2{font-size:16px;color:var(--app-navy);letter-spacing:-.02em}.icon-btn{min-width:40px;min-height:40px;border-radius:11px;color:var(--app-muted)}.icon-btn.dark{background:var(--app-navy);color:#fff}.notebook-search,.search-input{min-height:42px;border-color:var(--app-line);border-radius:12px;box-shadow:0 1px 2px rgba(21,34,56,.02)}.notebook-search input,.search-input input{font-size:12px}.notebook-view-filter{padding-top:8px}.notebook-view-filter button{min-height:36px;border-color:var(--app-line);color:var(--app-muted)}.notebook-view-filter button.active{background:var(--app-navy);border-color:var(--app-navy);color:#fff}.tag-filter{padding-top:2px}.tag-filter button{min-height:30px;border-color:var(--app-line);color:var(--app-muted)}.tag-filter button.active{background:var(--app-blue);border-color:var(--app-blue);color:#fff}.deadline-overview{border-color:var(--app-line);border-radius:12px}.deadline-overview summary{min-height:38px;display:flex;align-items:center;color:var(--app-navy)}.notebook-list{margin-top:8px;padding:1px 0}.notebook-item{position:relative;min-height:54px;align-items:center;padding:9px 8px;border:1px solid transparent;border-radius:12px;margin-bottom:4px;color:var(--app-text)}.notebook-item:hover{background:#fff;border-color:var(--app-line);box-shadow:none}.notebook-item.active{background:#fff;border-color:#dbe4fb;box-shadow:0 5px 16px rgba(21,34,56,.06)}.notebook-item.active:before{content:"";position:absolute;left:-5px;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--app-blue)}.notebook-item .note-icon{width:32px;height:32px;border-radius:10px;background:var(--app-blue-soft);color:var(--app-blue)}.notebook-item strong{font-size:12px;color:var(--app-navy)}.notebook-item small{font-size:10px;color:var(--app-muted)}.aside-bottom{border-top:1px solid var(--app-line);padding-top:8px}.aside-bottom button{min-height:40px;border-radius:9px;color:var(--app-muted);font-size:12px}.aside-bottom button:hover{background:#fff;color:var(--app-navy)}
.pane-head{height:66px;flex:0 0 66px;padding:0 15px;border-color:var(--app-line)}.pane-head h2{margin-bottom:4px}.pane-head .btn{min-height:38px;border-radius:11px}.source-tools{padding:12px 11px 8px}.source-tools .search-input{background:var(--app-subtle)}.sources-list{padding:4px 9px 16px}.source-item{align-items:center;gap:8px;margin-bottom:7px;padding:10px 8px;border:1px solid var(--app-line);border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}.source-item:hover{border-color:#cbd7eb;box-shadow:0 5px 15px rgba(21,34,56,.05)}.source-item input{width:17px;height:17px;margin:0;accent-color:var(--app-blue)}.source-type{width:34px;height:34px;border-radius:10px;background:var(--app-blue-soft);color:var(--app-blue);font-size:9px}.source-meta{min-width:0}.source-meta strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;line-height:1.4;font-size:12px;color:var(--app-navy)}.source-meta small{font-size:10px}.source-delete{width:30px;height:30px;border-radius:8px;color:var(--app-muted)}.source-delete:hover{background:var(--app-subtle);color:var(--app-navy)}
.chat-panel{background:var(--app-bg)}.chat-welcome{max-width:680px;padding:44px 40px}.ai-glyph{width:52px;height:52px;margin-bottom:24px;border-radius:16px;background:var(--app-blue-soft);color:var(--app-blue)}.chat-welcome h1{font-family:inherit;font-size:28px;line-height:1.45;letter-spacing:-.035em;color:var(--app-navy);font-weight:760}.chat-welcome>p{font-size:13px;color:var(--app-muted)}.suggestions{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:26px}.suggestions button{min-height:70px;padding:12px;text-align:left;border-color:var(--app-line);border-radius:13px;color:var(--app-text);font-size:12px;line-height:1.55}.suggestions button:hover{border-color:#b8c9f4;background:var(--app-blue-soft)}.messages{padding:34px max(28px,calc((100% - 760px)/2));padding-bottom:174px}.message{max-width:760px;margin-bottom:28px;gap:12px}.assistant-avatar{width:32px;height:32px;border-radius:10px;background:var(--app-blue-soft);color:var(--app-blue)}.message.assistant .message-body{font-size:14px;line-height:1.75;color:var(--app-text);white-space:normal;min-width:0}.message-copy p{margin:0 0 13px}.message-copy p:last-child{margin-bottom:0}.message-copy strong{color:var(--app-navy);font-weight:750}.message.user .message-body{max-width:min(78%,620px);padding:12px 16px;background:var(--app-blue);border-radius:16px 16px 5px 16px;font-size:13px;line-height:1.65}.message.user .message-copy p{margin:0}.message-save{color:var(--app-blue);font-weight:650}.citation-btn{min-height:32px;border-color:#d8e2fa;background:var(--app-blue-soft);color:#2f56c6;border-radius:9px;font-size:10px}.composer-wrap{padding:16px max(26px,calc((100% - 780px)/2)) 18px;background:linear-gradient(transparent,var(--app-bg) 22%)}.selected-source-bar{padding:7px 12px;background:#e9eef5;color:var(--app-muted);font-size:10px}.composer{min-height:58px;border-color:#cfd8e5;border-radius:16px;box-shadow:0 10px 32px rgba(21,34,56,.09)}.composer:focus-within{border-color:var(--app-blue);box-shadow:0 10px 32px rgba(53,99,233,.13)}.composer textarea{padding:10px;font-size:14px;color:var(--app-navy)}.composer button{width:40px;height:40px;border-radius:12px;background:var(--app-blue)}.composer-wrap>small{font-size:9px;color:var(--app-muted)}
.studio-panel{background:#fbfcfe}.studio-grid{display:block;padding:12px 12px 18px;max-height:52%;overflow:auto}.studio-group{margin-bottom:17px}.studio-group h3{margin:0 3px 8px;font-size:10px;letter-spacing:.08em;color:var(--app-muted);text-transform:uppercase}.studio-group-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.studio-tool{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px;border-color:var(--app-line);border-radius:11px;text-align:left}.studio-tool:hover{transform:none;border-color:#bdcbec;background:var(--app-blue-soft)}.studio-tool>span:first-child{width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:var(--app-subtle);color:var(--app-blue)}.studio-tool svg{width:17px;height:17px}.studio-tool-copy{display:block!important;width:auto!important;height:auto!important;background:none!important;color:inherit!important;min-width:0}.studio-tool strong{margin:0;font-size:10px;line-height:1.3;color:var(--app-navy)}.studio-divider{min-height:42px;padding:8px 14px;border-color:var(--app-line);font-size:11px;color:var(--app-navy)}.output-list{padding:12px}.output-card{padding:14px;border-color:var(--app-line);border-radius:13px;background:#fff;margin-bottom:10px;box-shadow:0 3px 12px rgba(21,34,56,.035)}.output-card header{align-items:center;padding-bottom:9px;border-bottom:1px solid #eef1f5}.output-card header strong{font-size:11px;color:var(--app-navy)}.job-status{padding:3px 7px;border-radius:999px;background:var(--app-blue-soft);color:var(--app-blue);font-size:9px}.output-card p{max-height:none;overflow:visible;font-size:11px;line-height:1.75;color:var(--app-text)}.rich-output{padding-top:6px}.rich-output h3,.rich-output h4,.rich-output h5{margin:12px 0 6px;color:var(--app-navy)}.rich-output p{margin:5px 0}.rich-list-item{position:relative;padding-left:14px;font-size:11px;line-height:1.7}.rich-list-item:before{content:"";position:absolute;left:2px;top:.72em;width:4px;height:4px;border-radius:50%;background:var(--app-blue)}.output-actions{margin-top:12px}.output-actions button,.output-actions .btn{min-height:32px;border-radius:8px;background:var(--app-subtle);color:var(--app-text)}
.dialog-card,.workspace-dialog .workspace-card{border-radius:18px!important;border:1px solid var(--app-line)!important;box-shadow:0 28px 90px rgba(21,34,56,.22)!important}.dialog-card h2,.workspace-card h2{color:var(--app-navy);letter-spacing:-.025em}.dialog-card input,.dialog-card textarea,.dialog-card select,.workspace-card input,.workspace-card textarea,.workspace-card select{border-color:var(--app-line)!important;border-radius:11px!important}.dialog-close{width:40px;height:40px;border-radius:11px}.btn.primary{background:var(--app-blue)!important}.toast{border-radius:12px;box-shadow:var(--app-shadow)}.skeleton{background:linear-gradient(90deg,#e9edf3,#f7f9fb,#e9edf3);background-size:200%}
@media(max-width:1240px) and (min-width:761px){.workspace{grid-template-columns:200px 220px minmax(380px,1fr)}.app-header>.brand{width:182px}.studio-panel{position:fixed;z-index:18;right:0;top:68px;bottom:0;width:330px;display:none;box-shadow:-18px 0 50px rgba(21,34,56,.15)}.studio-panel.active{display:flex}.suggestions{grid-template-columns:1fr}.suggestions button{min-height:48px}.chat-welcome{max-width:560px}}
@media(max-width:760px){.app-header{height:58px}.workspace{height:calc(100% - 114px)}.notebooks-panel{top:58px;width:min(300px,86vw);background:#f4f6f9}.pane-head{height:58px;flex-basis:58px}.chat-welcome{padding:34px 22px}.chat-welcome h1{font-size:25px}.suggestions{grid-template-columns:1fr}.suggestions button{min-height:48px}.messages{padding:24px 18px 170px}.message.user .message-body{max-width:88%}.composer-wrap{padding:12px 14px 10px}.studio-grid{max-height:51vh}.studio-group-grid{grid-template-columns:1fr 1fr}.studio-tool{min-height:52px}.mobile-nav{height:56px;border-color:var(--app-line);box-shadow:0 -8px 28px rgba(21,34,56,.06)}.mobile-nav button{min-height:56px;color:var(--app-muted)}.mobile-nav button.active{color:var(--app-blue)}.notebooks-panel .aside-bottom{padding-bottom:66px}.workspace-dialog .workspace-card{padding:22px 18px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.app-page .brand-mark{font-size:0;background:#152238 url("/favicon.svg") center/70% no-repeat!important}
@media(max-width:1240px) and (min-width:761px){.test-banner:not(.hidden)+.toast-region+.auth-view+.app-shell .studio-panel{top:96px}}
@media(max-width:760px){.source-delete{opacity:1;width:36px;height:36px}}
.laptop-studio-toggle{display:none}
@media(max-width:1240px) and (min-width:761px){.laptop-studio-toggle{display:inline-flex;align-items:center;justify-content:center}.header-actions>.btn:not(.laptop-studio-toggle){display:none}.studio-panel{overflow:hidden}.studio-panel.active{display:flex}.workspace{grid-template-columns:200px 220px minmax(0,1fr)}}
@media(max-width:900px) and (min-width:761px){.workspace{grid-template-columns:180px 190px minmax(0,1fr)}.app-header>.brand{width:162px}.app-header{gap:10px;padding-inline:12px}.app-title input{font-size:12px}.usage-pill{display:none}.sources-panel .pane-head{padding-inline:10px}.sources-panel .pane-head .btn{font-size:11px;padding-inline:9px}}
@media(max-width:760px){.laptop-studio-toggle{display:none!important}}
.source-check-hit{width:20px;min-height:32px;display:grid;place-items:center;flex:0 0 auto}.source-check-hit input{margin:0}
@media(max-width:760px){.source-delete{width:44px;height:44px;flex:0 0 44px}.source-check-hit{width:44px;height:44px;flex-basis:44px}.source-check-hit input{width:18px;height:18px}.source-item{padding-inline:4px;gap:5px}}
.studio-tool strong{font-size:12px;line-height:1.45}.studio-group h3{font-size:11px}.output-card header strong{font-size:13px}.output-card p,.rich-output,.rich-list-item{font-size:13px;line-height:1.8}.output-actions button{font-size:12px}.pane-head span{font-size:11px}.source-meta small{font-size:11px}
.source-item{position:relative;display:grid;grid-template-columns:20px 30px minmax(0,1fr);padding:12px 10px 39px;align-items:start}.source-type{width:30px;height:32px}.source-meta{min-width:0}.source-item .source-delete{position:absolute;bottom:3px;right:6px}.source-item .source-delete:nth-last-child(2){right:40px}.source-meta strong{font-size:12px;line-height:1.6}.source-item .source-check-hit{width:20px;min-height:32px}@media(max-width:760px){.source-item{grid-template-columns:44px 34px minmax(0,1fr);padding-bottom:48px}.source-item .source-check-hit{width:44px;height:44px}.source-item .source-delete:nth-last-child(2){right:52px}}
.tag-filter{scrollbar-width:none}.tag-filter::-webkit-scrollbar{display:none}@media(max-width:760px){.app-header>.brand{width:32px;flex:0 0 32px}.app-header{gap:10px;padding-inline:14px}.app-title{min-width:0}.app-title input{font-size:12px}.chat-panel.pane{position:relative}.composer textarea{font-size:16px}.source-tools .search-input input{font-size:16px}}
