:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#23352f;background:#f5f6f3;font-synthesis:none;--green:#167b69;--line:#e1e7df;--muted:#718078;--paper:#fff;--soft:#eaf3ed}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}a,button{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8cc4b4}button{border:0}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;line-height:1.3;margin-bottom:12px}h2{font-size:22px;letter-spacing:-.4px}h3{font-size:18px;line-height:1.6}p{line-height:1.75}small,.muted{color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;padding:12px;background:#fff;z-index:30}.skip:focus{top:10px}.topbar{height:80px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;position:sticky;top:0;z-index:10}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-size:20px;font-weight:750;letter-spacing:1px}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500;margin-top:3px}.top-actions{display:flex;align-items:center;gap:22px}.scope{font-size:12px;color:var(--green);padding:5px 10px;background:var(--soft);border-radius:30px}.button{background:var(--green);color:#fff;min-height:44px;padding:11px 18px;border-radius:10px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:normal}.button:hover:not(:disabled){background:#116757}.button.secondary{background:#fff;border:1px solid var(--line);color:#33473d}.button.secondary:hover:not(:disabled){background:#f4f7f3}.button.subtle{background:var(--soft);color:var(--green)}.button.small{font-size:12px;min-height:38px;padding:8px 13px}.button.danger{background:#f8e9e7;color:#9c3b30}.layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 80px)}.sidebar{padding:34px 22px;position:sticky;top:80px;align-self:start;height:calc(100vh - 80px);display:flex;flex-direction:column;border-right:1px solid var(--line)}.nav-label{font-size:11px;color:var(--muted);margin:0 12px 20px;letter-spacing:1.5px}#navigation{display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;text-decoration:none;border-radius:10px;padding:13px 14px;font-size:14px;color:#66746b}.nav-item.active{background:#e5eee5;color:#166b59;font-weight:700}.nav-item:hover{background:#edf1e9}.nav-icon{width:22px;height:22px;display:block}.sidebar-note{margin-top:auto;padding:22px 12px 8px;font-size:12px;color:#68786d}.sidebar-note p{font-size:13px;margin:12px 0 0}.online-dot{display:inline-block;width:6px;height:6px;background:#21866a;border-radius:50%;margin-right:7px}main{padding:36px 42px 70px;min-width:0}.eyebrow{color:var(--green);font-size:11px;font-weight:700;letter-spacing:2px;margin-bottom:14px}.intro{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:26px}.intro p{font-size:14px;color:var(--muted);margin-bottom:0}.intro-art{width:110px;height:110px;opacity:.75;transform:rotate(-12deg);margin-right:16px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 16px}.section-head h2{margin:0;font-size:18px}.search{position:relative;margin-bottom:16px}.search input{padding-left:44px;background:#fff;height:50px}.search svg{position:absolute;top:15px;left:16px;width:20px;height:20px;color:#7b8b80}input,textarea,select{width:100%;border:1px solid #dce4da;border-radius:10px;padding:12px;background:#fff;color:#23352f;font-size:14px}textarea{resize:vertical;line-height:1.7;min-height:110px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.chip{background:#fff;border:1px solid var(--line);padding:8px 15px;min-height:36px;border-radius:30px;font-size:12px;color:#65746a}.chip.active{background:#244c40;border-color:#244c40;color:#fff}.status-row{font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:14px;margin:15px 0}.status-row p{margin:0}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:23px;display:flex;flex-direction:column;min-width:0;transition:border-color .15s,transform .15s}.card:hover{border-color:#b8cfc2;transform:translateY(-2px)}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:18px}.badge{font-size:10px;letter-spacing:.6px;border-radius:5px;padding:5px 8px;background:#edf5ed;color:#39724d}.badge.purple{background:#eeedf7;color:#726093}.bookmark{padding:7px;color:#7f8a80;background:none;border-radius:8px}.bookmark svg{width:20px;height:20px;display:block}.bookmark.active{background:#e9f2e8;color:#167b69}.card h3{margin:0 0 8px;overflow-wrap:anywhere;font-size:17px}.card-title{padding:0;text-align:left;background:none;color:inherit;font-weight:700;line-height:1.6}.card .organizer{font-size:11px;color:var(--muted);margin:0 0 16px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.tag{color:#6a786d;font-size:10px;background:#f4f6f1;border-radius:4px;padding:4px 7px}.schedule{border-top:1px dashed var(--line);padding-top:14px;margin-top:auto;font-size:12px;line-height:1.8;color:#58695e}.schedule strong{color:#374d40;font-size:12px;font-weight:600}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:17px}.text-button{padding:7px 0;background:none;color:var(--green);font-size:12px;font-weight:600}.text-button:hover{text-decoration:underline}.card .description{font-size:12px;color:#708075;line-height:1.7;margin-bottom:17px}.notice{background:#edf2e9;border:1px solid #dfe8d9;border-radius:10px;padding:12px 16px;font-size:12px;line-height:1.8;color:#5f705c;margin-bottom:20px}.notice.warn{background:#fff5e7;border-color:#f0dfc0;color:#8b682c}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;margin-bottom:20px}.panel p{font-size:13px;color:#6b796f}.panel h2{font-size:18px;margin-bottom:12px}.form-grid{display:grid;gap:20px}.form-grid label{font-size:13px;font-weight:600;display:block}.form-grid label span{display:block;font-weight:400;color:#819083;font-size:11px;margin:5px 0 9px}.form-grid input,.form-grid textarea{margin-top:8px}.form-grid label span+input,.form-grid label span+textarea{margin-top:0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.empty{border:1px dashed #cad9ca;background:#f9fbf7;border-radius:14px;padding:48px 22px;text-align:center;grid-column:1/-1}.empty h3{font-size:18px}.empty p{font-size:13px;color:#7c877a}.row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row h3{font-size:14px;margin:0 0 4px}.row p{font-size:12px;margin:0}.row .button{flex-shrink:0}.source-state{font-size:11px;color:var(--green)}.source-state.failed{color:#aa6b31}.ai-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:19px 22px;border-radius:13px;background:#e8efe3;margin:22px 0}.ai-banner h3{font-size:14px;margin:0 0 5px}.ai-banner p{font-size:12px;color:#73816a;margin:0}.ai-result{margin-bottom:16px}.ai-result blockquote{font-size:13px;line-height:1.8;margin:14px 0;padding:8px 14px;background:#f7f8f4;border-left:3px solid #a7c6af;color:#60715e}.ai-result h3{font-size:17px}.ai-result .recommendation{color:#455a47}.note-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8}.footer-note{margin-top:25px;color:#8b9489;font-size:11px;line-height:1.8}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#233c31;color:#fff;padding:12px 20px;border-radius:12px;z-index:40;max-width:90vw;font-size:13px;box-shadow:0 8px 35px #20372526}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;max-width:620px;width:calc(100% - 32px);max-height:88dvh;overflow:auto;color:#23352f;box-shadow:0 30px 90px #12291a33}dialog::backdrop{background:#14251d66;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}.dialog-head h2{font-size:21px;margin:0;line-height:1.5}.close{width:32px;height:32px;flex-shrink:0;background:#f1f4ee;border-radius:50%;color:#465849;font-size:20px}.detail-meta{font-size:12px;color:#73816f;line-height:1.8}.detail-list{padding-left:20px;color:#63735f;font-size:13px;line-height:1.9}.error-text{color:#9e4035;font-size:13px;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(min-width:1450px){main{padding-top:44px}.cards{gap:22px}.card{padding:26px}}@media(max-width:1100px){.layout{grid-template-columns:190px minmax(0,1fr)}main{padding:28px 25px 60px}.sidebar{padding:30px 16px}.topbar{padding:0 26px}.intro-art{display:none}.card{padding:19px}}@media(max-width:760px){.topbar{height:64px;padding:0 18px}.brand{font-size:17px;gap:9px}.brand img{width:31px;height:31px}.brand small{font-size:8px}.scope{display:none}.top-actions{gap:8px}.topbar .button{padding:7px 10px;min-height:34px;font-size:11px}.layout{display:block;min-height:calc(100dvh - 64px)}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;height:auto;border-right:0;border-top:1px solid var(--line);padding:6px 9px calc(7px + env(safe-area-inset-bottom));background:#fff;z-index:20;display:block}.nav-label,.sidebar-note{display:none}#navigation{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.nav-item{padding:6px 2px;min-height:48px;display:flex;flex-direction:column;gap:4px;font-size:10px;border-radius:9px}.nav-icon{width:20px;height:20px}main{padding:24px 17px calc(95px + env(safe-area-inset-bottom))}h1{font-size:25px;letter-spacing:-.6px;margin-bottom:10px}.eyebrow{font-size:10px;margin-bottom:10px}.intro{margin-bottom:20px;display:block}.intro p{font-size:12px;line-height:1.8}.cards{grid-template-columns:1fr;gap:13px}.card{padding:19px;border-radius:14px}.card:hover{transform:none}.card h3{font-size:16px}.card-top{margin-bottom:12px}.card .organizer{margin-bottom:12px}.tags{margin-bottom:14px}.filters{gap:7px}.chip{padding:7px 13px;font-size:11px;min-height:34px}.status-row{font-size:11px;align-items:flex-start;line-height:1.6}.status-row .button{flex-shrink:0}.ai-banner{padding:16px;gap:12px;margin:20px 0}.ai-banner h3{font-size:13px}.ai-banner p{font-size:11px}.ai-banner .button{padding:9px 12px;min-width:76px;font-size:12px}.panel{padding:20px;border-radius:14px}.panel h2{font-size:17px}.row{align-items:flex-start;gap:12px}.row .button{font-size:11px;padding:7px 10px;min-height:34px}.notice{font-size:11px;padding:12px 14px}.search input{height:46px;font-size:13px}.search svg{top:13px}.section-head{margin-top:20px}.section-head h2{font-size:16px}#toast{bottom:90px;width:max-content;max-width:90vw}dialog{padding:22px 20px}.dialog-head h2{font-size:18px}.form-grid{gap:18px}.form-grid input,.form-grid textarea{font-size:16px}.actions .button{flex-grow:1}.footer-note{font-size:10px}.note-preview{font-size:12px}.empty{padding:36px 18px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.chat-panel{padding-bottom:22px}.chat-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.chat-heading .eyebrow{margin-bottom:8px}.chat-heading h2{margin-bottom:8px}.chat-heading p:not(.eyebrow){margin-bottom:0}.chat-status{flex-shrink:0;padding:7px 10px;border-radius:20px;background:var(--soft);color:var(--green);font-size:11px}.chat-messages{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow:auto;margin:22px 0 16px;padding:4px 2px}.chat-message{display:flex;flex-direction:column;max-width:86%;gap:6px}.chat-message.user{align-self:flex-end;align-items:flex-end}.chat-message.assistant{align-self:flex-start;align-items:flex-start}.chat-bubble{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 15px;border-radius:14px;background:#f1f5ef;color:#43554a;font-size:13px;line-height:1.8}.chat-message.user .chat-bubble{background:#167b69;color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .chat-bubble{border-bottom-left-radius:4px}.chat-sources{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.chat-sources .text-button{font-size:11px;padding:4px 8px;background:#f7faf5;border:1px solid var(--line);border-radius:7px;text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-empty{border:1px dashed #cad9ca;border-radius:12px;padding:22px 18px;background:#f9fbf7;color:#60715e}.chat-empty strong{display:block;margin-bottom:5px;color:#304c3d}.chat-empty p{font-size:12px;margin:0}.chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chat-suggestions .chip{cursor:pointer}.chat-form{margin-top:14px}.chat-form textarea{min-height:84px;resize:vertical}.chat-form-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.chat-form-bottom small{font-size:11px;line-height:1.6}.chat-form-bottom .button{flex-shrink:0}
@media(max-width:760px){.chat-heading{display:block}.chat-status{display:inline-block;margin-top:12px}.chat-messages{max-height:460px}.chat-message{max-width:94%}.chat-form-bottom{align-items:flex-end}.chat-form-bottom small{flex:1}.chat-form-bottom .button{min-width:92px}}

.site-icp{padding:18px 16px;text-align:center;font:12px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#68737c;position:relative;z-index:1;clear:both}.site-icp a{color:inherit;text-decoration:none}.site-icp a:hover{text-decoration:underline}
