@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;600;700;900&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--color-deep-teal: #1c3d4a;--color-olive: #4a5e2c;--color-mustard: #8b7d3c;--color-mint: #b8dcc8;--color-copper: #b87854;--color-cream: #e8dfd4;--bg: #f7f4f0;--bg-white: #ffffff;--bg-hover: #f0ece6;--border: #ddd6cc;--text: #2a2a2a;--text-secondary: #6b6560;--accent: var(--color-olive);--accent-hover: #3d5024;--green: #4a7c59;--red: #c05040;--fs-xs: 16px;--fs-sm: 18px;--fs-base: 20px;--fs-md: 22px;--fs-lg: 26px;--fs-xl: 30px;--fs-2xl: 36px;--radius: 10px;--gap: 14px;--sidebar-width: 260px}body{background:var(--bg);color:var(--text);font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:var(--fs-base);-webkit-font-smoothing:antialiased;line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;padding:16px 32px;background:var(--color-cream);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-left{flex-shrink:0;display:flex;align-items:flex-end}.app-logo{height:210px;width:auto;display:block}.app-title{font-size:var(--fs-2xl);font-weight:900;white-space:nowrap;letter-spacing:1px;display:flex;align-items:baseline;gap:0}.title-green{color:var(--color-olive)}.title-black{color:var(--text);margin-left:8px}.header-right{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:16px}.search-box{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:16px;width:22px;height:22px;color:var(--text-secondary);pointer-events:none}.search-input{width:100%;padding:14px 48px;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:var(--fs-md);font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4a5e2c1a}.search-input::placeholder{color:var(--text-secondary);font-size:var(--fs-md)}.search-clear{position:absolute;right:12px;width:28px;height:28px;border:none;background:var(--border);color:var(--text-secondary);border-radius:50%;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.search-clear:hover{background:#c8c0b6}.header-right{flex-shrink:0}.record-count{font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap}.app-body{display:flex;flex:1;min-height:0}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--color-cream);border-right:1px solid var(--border);display:flex;flex-direction:column;height:calc(100vh - 80px);position:sticky;top:80px}.sidebar-header{padding:20px 20px 16px;border-bottom:1px solid var(--border)}.sidebar-title{font-size:var(--fs-md);font-weight:700;color:var(--color-deep-teal);letter-spacing:.5px}.sidebar-list{flex:1;overflow-y:auto;padding:8px 10px}.sidebar-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--text);font-size:var(--fs-sm);font-family:inherit;border-radius:8px;cursor:pointer;transition:background .15s;text-align:left;gap:8px}.sidebar-item:hover{background:var(--bg-hover)}.sidebar-item.active{background:#4a5e2c1a;color:var(--color-olive);font-weight:700}.sidebar-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item-count{flex-shrink:0;font-size:var(--fs-xs);color:var(--text-secondary);background:var(--bg);padding:2px 10px;border-radius:12px;min-width:36px;text-align:center}.sidebar-item.active .sidebar-item-count{background:#4a5e2c1f;color:var(--color-olive)}.app-main{flex:1;padding:24px 32px;min-width:0}.filter-status{display:flex;align-items:center;gap:14px;padding:14px 20px;background:var(--bg-white);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;font-size:var(--fs-sm);color:var(--text-secondary)}.filter-status strong{color:var(--text);font-weight:700}.filter-clear-btn{margin-left:auto;border:none;background:none;color:var(--accent);font-size:var(--fs-sm);font-family:inherit;cursor:pointer;font-weight:600}.filter-clear-btn:hover{text-decoration:underline}.card-grid{column-count:4;column-gap:var(--gap)}@media (max-width: 1400px){.card-grid{column-count:3}}@media (max-width: 1000px){.card-grid{column-count:2}}@media (max-width: 640px){.card-grid{column-count:2;column-gap:10px}}.prompt-card{break-inside:avoid;margin-bottom:var(--gap);background:var(--bg-white);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s;border:1px solid var(--border)}.prompt-card:hover{box-shadow:0 6px 24px #00000014;transform:translateY(-2px)}.card-image{cursor:pointer;overflow:hidden;background:var(--bg);min-height:140px;display:flex;align-items:center;justify-content:center}.card-image img{width:100%;height:auto;display:block;transition:transform .3s}.card-image:hover img{transform:scale(1.03)}.no-image{color:var(--text-secondary);font-size:var(--fs-sm);padding:40px}.card-body{padding:16px 18px}.card-title{font-size:var(--fs-lg);font-weight:700;color:var(--text);margin-bottom:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.tag-chip{font-size:var(--fs-xs);font-weight:500;padding:3px 12px;border-radius:5px;background:var(--bg);color:var(--color-olive)}.card-field{margin-bottom:12px}.card-field:last-child{margin-bottom:0}.prompt-text{font-size:var(--fs-sm);font-weight:400;color:var(--text-secondary);line-height:1.65;max-height:160px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;word-break:break-word}.copy-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:8px;border:1px solid var(--border);background:var(--bg-white);color:var(--text-secondary);font-size:var(--fs-sm);font-family:inherit;font-weight:500;cursor:pointer;transition:all .2s;margin-top:10px}.copy-btn:hover{border-color:var(--color-olive);color:var(--color-olive)}.copy-btn.copied{background:var(--green);border-color:var(--green);color:#fff}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:120px 24px;gap:16px;color:var(--text-secondary);font-size:var(--fs-md);font-weight:400}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--color-olive);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-box{text-align:center;padding:80px 24px;color:var(--text-secondary);font-size:var(--fs-md);font-weight:400}.end-marker{text-align:center;padding:36px 24px;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:400}.error-box{text-align:center;padding:80px 24px}.error-box h3{color:var(--red);margin-bottom:10px;font-size:var(--fs-lg);font-weight:700}.error-box p{color:var(--text-secondary);margin-bottom:24px;font-size:var(--fs-base)}.btn-retry{padding:12px 32px;background:var(--color-olive);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:var(--fs-md);font-family:inherit;font-weight:600;transition:background .2s}.btn-retry:hover{background:var(--accent-hover)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:16px}.lightbox-close{position:absolute;top:-44px;right:0;width:40px;height:40px;background:#ffffff26;border:none;color:#fff;font-size:24px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.lightbox-close:hover{background:#ffffff4d}.lightbox-image{max-width:85vw;max-height:65vh;border-radius:8px;object-fit:contain}.lightbox-prompt{width:100%;max-width:700px;background:#ffffff14;border-radius:8px;padding:18px}.lightbox-text{font-size:var(--fs-sm);font-weight:400;color:#ffffffe6;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;line-height:1.65}.user-area{display:flex;align-items:center;gap:10px;margin-left:16px;padding-left:16px;border-left:1px solid rgba(0,0,0,.08)}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--color-mint)}.user-name{font-size:var(--fs-sm);font-weight:500;color:var(--text-primary)}.logout-btn{padding:6px 14px;background:none;border:1px solid var(--color-copper);color:var(--color-copper);border-radius:6px;cursor:pointer;font-size:var(--fs-xs);font-family:inherit;font-weight:500;transition:all .2s}.logout-btn:hover{background:var(--color-copper);color:#fff}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-main);padding:24px}.login-card{background:#fff;border-radius:16px;padding:48px 40px;text-align:center;box-shadow:0 4px 24px #00000014;max-width:420px;width:100%}.login-title{font-size:36px;font-weight:900;font-family:Noto Sans SC,sans-serif;margin-bottom:12px;line-height:1.3}.login-title .title-green{color:var(--color-olive)}.login-title .title-black{color:#1a1a1a}.login-desc{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:32px;font-weight:400}.login-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 36px;background:var(--color-olive);color:#fff;border:none;border-radius:10px;font-size:var(--fs-md);font-family:Noto Sans SC,sans-serif;font-weight:600;cursor:pointer;transition:all .2s}.login-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4a5e2c4d}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn .feishu-icon{width:24px;height:24px}@media (max-width: 768px){.sidebar{display:none}.app-header{padding:10px 16px;flex-wrap:wrap;gap:8px}.header-left{flex-shrink:0}.app-title{font-size:var(--fs-xl)}.title-green{color:var(--color-olive)}.title-black{margin-left:6px}.header-right{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px}.search-box{flex:1;min-width:0}.search-input{font-size:16px;padding:10px 40px}.search-icon{width:18px;height:18px;left:12px}.record-count{font-size:14px;white-space:nowrap;flex-shrink:0}.app-main{padding:12px}.card-body{padding:10px 12px}.card-title{font-size:20px;-webkit-line-clamp:2}.prompt-text{font-size:15px;-webkit-line-clamp:4}.tag-chip{font-size:13px;padding:2px 8px}.copy-btn{font-size:14px;padding:5px 12px}.filter-status{font-size:14px;padding:10px 14px}}
