:root{--green:#46a382;--green-dark:#286e56;--green-soft:#edf6f1;--ink:#343c38;--muted:#77827c;--line:#e6ebe7;--surface:#fafbf9;--radius:12px;font-family:Arial,system-ui,sans-serif;color:var(--ink);background:white;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:var(--green-dark);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible{outline:3px solid #8ccdb1;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid var(--green);outline-offset:1px}button{border:0;background:none}small,.muted{color:var(--muted);font-size:13px}h1{font-size:30px;line-height:1.25;font-weight:500;margin:0 0 10px}h2{font-size:23px;font-weight:500;margin:0}h3{font-size:18px;font-weight:500}p{margin:0 0 14px}.utility{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 30px;background:var(--surface);border-bottom:1px solid #f0f2ef;font-size:12px}.utility nav{display:flex;gap:18px;flex-wrap:wrap}.utility button{font-size:12px;padding:0}.header{display:flex;align-items:center;gap:24px;padding:22px 30px;border-bottom:1px solid var(--line);background:white}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);font-size:12px;line-height:1.3;flex-shrink:0}.brand-symbol{font-size:23px;color:var(--green);border:2px solid var(--green);border-radius:50%;padding:10px 7px}.brand small{display:block;font-size:10px;margin-top:5px}.icon-button{font-size:22px;padding:6px 10px;border-radius:9px}.icon-button:hover{background:var(--green-soft)}.search-trigger{display:flex;align-items:center;text-align:left;gap:12px;min-width:0;flex:1;max-width:720px;color:var(--muted);padding:12px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.search-trigger span{font-size:23px}.search-trigger kbd{font-size:11px;margin-left:auto;white-space:nowrap}.button{border:1px solid var(--line);border-radius:9px;padding:9px 15px;background:white;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.button:hover{background:var(--green-soft)}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.primary:hover{background:var(--green-dark)}.button.quiet{border:0;color:var(--green-dark)}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:calc(100dvh - 145px)}#sidebar{padding:25px 15px 40px 23px;border-right:1px solid var(--line);background:var(--surface);min-width:0}.side-heading{font-size:11px;letter-spacing:1px;color:var(--muted);margin:18px 10px 9px;display:flex;align-items:center;justify-content:space-between}.tree-home,.side-link{display:block;padding:10px;width:100%;text-align:left;border-radius:9px}.tree-home:hover,.side-link:hover{background:var(--green-soft)}.tree-row{display:flex;align-items:center;gap:2px;min-width:0;padding-left:var(--indent)}.tree-expand{width:24px;flex:0 0 24px;color:var(--muted);padding:10px 0}.tree-name{flex:1;min-width:0;text-align:left;padding:9px 8px;display:flex;align-items:center;gap:8px;border-radius:9px}.tree-name .tree-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tree-name .folder-symbol{flex:0 0 auto;color:var(--green)}.tree-name.active,.tree-home.active{background:var(--green-soft);color:var(--green-dark)}.tree-name:hover{background:var(--green-soft)}body.menu-hidden .workspace{grid-template-columns:minmax(0,1fr)}body.menu-hidden #sidebar{display:none}#main{padding:28px 34px;min-width:0;max-width:1700px;width:100%}#breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:24px}#breadcrumbs button{padding:0;text-align:left;color:var(--muted)}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.section-caption{font-size:12px;letter-spacing:1px;color:var(--green-dark);margin-bottom:10px}.folder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin:20px 0 30px}.folder-card{display:flex;gap:15px;text-align:left;padding:19px;background:white;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.folder-card:hover{background:var(--green-soft);border-color:#b4d8c7}.folder-card .folder-symbol{color:var(--green);font-size:24px}.folder-card strong{display:block;font-weight:500}.folder-card small{display:block;margin-top:5px}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:16px 0;margin-bottom:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}input,select,textarea{border:1px solid var(--line);background:white;border-radius:9px;padding:9px 11px;max-width:100%;min-width:0;font-size:14px;color:var(--ink)}select{max-width:220px}textarea{resize:vertical;line-height:1.65}.filters select{max-width:190px}.views{margin-left:auto;display:flex}.views button{padding:8px 12px;border-radius:9px;font-size:12px}.views button.active{background:var(--green-soft);color:var(--green-dark)}.tag-filters{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.chip{border:1px solid var(--line);color:var(--green-dark);border-radius:12px;padding:5px 12px;font-size:12px;background:white}.chip.active{background:var(--green-soft);border-color:var(--green)}.result-count{font-size:12px;color:var(--muted);margin:15px 0}.material-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:20px}.material-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white;min-width:0;display:flex;flex-direction:column}.cover{height:132px;width:100%;object-fit:cover;background:var(--surface);display:block}.neutral-cover{height:90px;display:flex;gap:12px;align-items:center;justify-content:center;background:linear-gradient(130deg,#f4f7f2,#ebf2ed);color:#789a89;font-size:14px;letter-spacing:1px}.neutral-cover span{font-size:28px}.material-body{padding:18px;display:flex;flex:1;flex-direction:column;gap:9px;min-width:0}.material-title{font-size:17px;font-weight:500;line-height:1.4;text-align:left;padding:0;overflow-wrap:anywhere}.material-title:hover{color:var(--green-dark)}.material-description{font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.state{font-size:12px;color:var(--green-dark)}.state.warning{color:#9a6e2b}.card-tags{display:flex;gap:5px;flex-wrap:wrap}.card-tags .chip{font-size:11px;padding:2px 8px}.edit-small{font-size:12px;color:var(--muted);padding:5px}.material-grid.list{display:flex;flex-direction:column;gap:0}.list .material-card{flex-direction:row;border:0;border-bottom:1px solid var(--line);border-radius:9px;padding:16px 0}.list .cover,.list .neutral-cover{width:112px;height:94px;border-radius:9px;flex-shrink:0}.list .neutral-cover{font-size:0}.list .material-body{padding:0 0 0 18px}.list .material-description{-webkit-line-clamp:2}.list .material-title{font-size:16px}.paging{display:flex;justify-content:center;align-items:center;gap:15px;margin:28px 0}.tabs{display:flex;flex-wrap:wrap;gap:25px;border-bottom:1px solid var(--line);margin:20px 0}.tabs button{padding:12px 0;border-bottom:2px solid transparent;color:var(--muted)}.tabs button.active{color:var(--green-dark);border-color:var(--green)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:32px}.metadata{padding:18px;border-radius:12px;background:var(--surface)}.metadata dt{font-size:12px;color:var(--muted);margin-top:12px}.metadata dd{margin:3px 0;font-size:13px;overflow-wrap:anywhere}.source-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:16px;max-width:85ch}.notice{background:var(--green-soft);border-radius:12px;padding:14px 17px;color:var(--green-dark);font-size:13px;margin:14px 0}.file-row,.recording-row{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;justify-content:space-between;overflow-wrap:anywhere}.file-row>span{min-width:0}.legacy-frame{width:100%;height:calc(100dvh - 220px);min-height:600px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}dialog{border:1px solid var(--line);border-radius:12px;padding:25px;width:min(940px,calc(100vw - 32px));max-height:calc(100dvh - 50px);overflow:auto;background:white;color:var(--ink);box-shadow:0 28px 90px #163f2c38}dialog::backdrop{background:#15291e65;backdrop-filter:blur(7px)}.dialog-head{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:22px}.search-field{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;color:var(--green-dark);font-size:25px}.search-field input{border:0;flex:1;font-size:17px;width:100%}.search-options{display:flex;gap:16px;flex-wrap:wrap;margin:15px 0}.search-options select{max-width:none}#search-state{font-size:13px;color:var(--muted);margin:18px 0}.search-result{width:100%;display:flex;gap:14px;padding:19px 5px;text-align:left;border-bottom:1px solid var(--line);border-radius:9px}.search-result:hover{background:var(--green-soft)}.search-result strong{font-weight:500;font-size:17px}.search-result p{font-size:13px;color:var(--muted);margin:7px 0}.search-result small{display:block}.thinking{display:inline-flex;gap:4px;margin-right:8px}.thinking i{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 1s infinite}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}@keyframes pulse{50%{opacity:.3;transform:translateY(-3px)}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid textarea,.form-grid select{width:100%;max-width:none}.form-tags{display:flex;flex-wrap:wrap;gap:8px;max-height:220px;overflow:auto}.check-tag{flex-direction:row;align-items:center;color:var(--ink);border:1px solid var(--line);padding:7px 10px;border-radius:9px}.check-tag input{width:auto}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}.form-error{color:#a23939;font-size:13px;margin:12px 0}.tag-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.tag-row small{display:block}.empty{padding:35px 0;color:var(--muted)}#toast{position:fixed;bottom:25px;right:25px;background:var(--green-dark);color:white;border-radius:12px;padding:13px 22px;z-index:30;max-width:calc(100vw - 40px)}.error-box{padding:20px;color:#a23939}.inline-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:15px 0}
@media(max-width:1100px){.workspace{grid-template-columns:290px minmax(0,1fr)}#main{padding:25px}.header{gap:16px;padding:20px}.search-trigger kbd{display:none}.detail-layout{grid-template-columns:1fr}.metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 15px}.utility>span:first-child{display:none}}
@media(max-width:760px){.workspace{display:block}#sidebar{display:none;position:fixed;left:0;top:0;bottom:0;width:min(340px,90vw);z-index:20;overflow:auto;box-shadow:10px 0 40px #1b3f2838;padding-top:45px}body.mobile-menu #sidebar{display:block}body.menu-hidden #sidebar{display:none}.header{flex-wrap:wrap;padding:14px;gap:12px}.search-trigger{order:3;flex-basis:100%;max-width:none}.header>.quiet{margin-left:auto}.utility{padding:8px 14px;gap:8px;flex-wrap:wrap}.utility nav{gap:12px}.brand-symbol{padding:8px 6px;font-size:18px}.brand{font-size:11px}#main{padding:22px 16px}.page-head{flex-wrap:wrap}h1{font-size:26px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.search-field{flex-wrap:wrap}.search-field input{flex-basis:75%;font-size:16px}.search-field .button{width:100%;font-size:14px}.search-options{display:grid;grid-template-columns:1fr}.search-options select{width:100%}.list .neutral-cover,.list .cover{width:76px;height:76px}.material-grid{gap:15px}.legacy-frame{min-height:650px}.metadata{display:block}.views{margin-left:0}.filters label{flex:1;min-width:130px}.filters select{width:100%;max-width:none}}
@media(prefers-reduced-motion:reduce){.thinking i{animation:none}}@media(pointer:coarse){button,.button,select{min-height:44px}input,textarea{font-size:16px}.tree-expand{min-height:40px}}
