:root{--canvas:#f6f5f1;--paper:#fff;--ink:#292a27;--muted:#747570;--line:#eaeaea;--red:#9f2f2d;--rose:#fdebec;--green:#346538;--mint:#edf3ec;--yellow:#956400;--sand:#fbf3db;--radius:8px;font-family:"SF Pro Display","PingFang SC","Microsoft YaHei","Helvetica Neue",sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9f2f2d55;outline-offset:3px}input,select,textarea{width:100%;border:1px solid #d9dad4;border-radius:5px;background:#fff;color:var(--ink);padding:11px 12px;min-height:42px}textarea{line-height:1.7;resize:vertical}input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--ink);flex-shrink:0}label{font-size:13px;font-weight:600;display:block;margin:20px 0 8px}p{line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600}h1{font-size:36px;letter-spacing:-1.2px}h2{font-size:24px;letter-spacing:-.5px}h3{font-size:16px}small{font-size:12px}[hidden]{display:none!important}.muted{color:var(--muted)}.tiny{font-size:12px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;border:1px solid #d9dad4;border-radius:5px;background:var(--paper);padding:10px 16px;font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .15s,transform .15s}.button:hover{background:#efefea}.button:active{transform:scale(.98)}.button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.button.primary:hover{background:#41423e}.button.small{min-height:32px;padding:6px 11px;font-size:12px}.button.soft{background:var(--mint);color:var(--green);border-color:var(--mint)}.text-button{padding:4px 0;border:0;background:none;font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.tag{display:inline-flex;align-items:center;gap:5px;font-size:10px;letter-spacing:.2px;padding:4px 8px;border-radius:99px;background:#efefeb;color:#656760;line-height:1.3}.tag.green{background:var(--mint);color:var(--green)}.tag.red{background:var(--rose);color:var(--red)}.tag.yellow{background:var(--sand);color:var(--yellow)}.tag.blue{background:#e1f3fe;color:#1f6c9f}.mono{font-family:"SF Mono","Menlo",monospace}.workspace{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;border-right:1px solid var(--line);background:#f9f9f6;padding:32px 20px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:15px;font-weight:600;padding:0 4px}.brand img{width:42px;height:42px;border-radius:9px;object-fit:cover}.brand small{display:block;margin-top:4px;font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:400}.side-label{margin:54px 12px 15px;font-size:10px;letter-spacing:1.4px;color:#92948a}nav{display:grid;gap:6px}.nav-button{border:0;background:transparent;color:#73766c;padding:12px;border-radius:6px;font-size:13px;display:flex;align-items:center;gap:12px;text-align:left;transition:background .15s}.nav-button:hover{background:#eeeee8}.nav-button.active{background:#e9ebe3;color:#333a2a;font-weight:600}.nav-symbol{width:18px;text-align:center;font-size:18px;line-height:1}.nav-count{font-size:10px;margin-left:auto;background:#d9ddd0;border-radius:4px;padding:2px 5px}.sidebar-note{margin:auto 10px 46px;padding-top:55px}.small-mark{font-size:9px;color:#898b81;letter-spacing:1px}.sidebar-note p{font-size:13px;line-height:2.1;margin:14px 0 0;color:#606458}.sidebar-bottom{display:flex;gap:7px;align-items:center;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.sidebar-bottom .text-button{margin-left:auto;font-size:10px}.status-dot{width:6px;height:6px;background:#7b8e6c;border-radius:100%;display:inline-block}.main{padding:0 44px;min-width:0;max-width:1650px;width:100%;margin:0 auto}.topbar{height:75px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedfd8;font-size:11px;color:var(--muted)}.topbar>div{display:flex;gap:14px;align-items:center}.timezone{padding-right:14px;border-right:1px solid #d5d8cb}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:40px 0 28px}.page-heading h1{margin:12px 0 8px;font-family:"Songti SC","Noto Serif CJK SC","STSong",serif;font-size:38px;font-weight:600}.page-heading p{font-size:13px;color:var(--muted);margin:0}.page-heading>.button{margin-top:15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;border-radius:var(--radius);margin-bottom:32px}.stat{padding:21px 24px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat-label{font-size:11px;color:var(--muted);display:block}.stat-number{font-size:30px;font-weight:500;letter-spacing:-1px;line-height:1.2;margin:9px 0 5px}.stat small{font-size:10px;color:var(--muted)}.desk-layout{display:grid;grid-template-columns:minmax(0,1fr) 244px;gap:26px;align-items:start}.tabs{display:flex;border-bottom:1px solid #d9dbd2;gap:25px;margin-bottom:18px;overflow-x:auto;overflow-y:hidden}.tab{padding:0 0 13px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;font-size:12px;white-space:nowrap;color:var(--muted)}.tab.active{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}.filters{display:grid;grid-template-columns:minmax(140px,1.7fr) 1.1fr .8fr;gap:9px;margin-bottom:17px}.filters input,.filters select{font-size:11px;min-height:36px;padding:8px 10px}.list-info{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);margin:0 0 12px}.list-info select{width:auto;min-height:auto;padding:4px 6px;border:0;background:transparent;font-size:10px}.event-list{display:grid;gap:13px}.topic-card{border:1px solid var(--line);background:white;border-radius:8px;padding:22px 24px;transition:border-color .2s;animation:reveal .25s ease both}.topic-card:hover{border-color:#c8cdc0}.card-top{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.card-source{font-size:10px;color:var(--muted);margin-left:auto;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-body{display:grid;grid-template-columns:minmax(0,1fr) 55px;gap:18px;margin:14px 0}.card-title{display:block;border:0;background:none;padding:0;text-align:left;font-size:18px;font-weight:600;line-height:1.6;color:var(--ink);overflow-wrap:anywhere}.card-title:hover{color:var(--red)}.card-description{font-size:12px;line-height:1.85;color:var(--muted);margin:8px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.score{text-align:right;padding-top:1px}.score strong{font-family:"SF Mono","Menlo",monospace;font-weight:400;font-size:26px;letter-spacing:-1.2px;display:block}.score small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.angle-line{font-size:11px;line-height:1.8;padding:11px 12px;border-left:2px solid #ccd2be;background:#f7f8f4;margin:0 0 15px;color:#636a56}.angle-line b{color:#444b37;font-weight:500;margin-right:6px}.card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f0f0ed;padding-top:13px;gap:12px}.card-date{font-size:10px;color:var(--muted)}.actions{display:flex;gap:7px;flex-wrap:wrap}.side-panel{border-top:2px solid #454c3c;padding-top:20px;margin:0 0 30px}.side-panel h3{font-size:14px;margin:0 0 16px}.side-panel p{font-size:12px;color:var(--muted);line-height:1.9}.side-panel .label{display:block;font-size:10px;color:var(--muted);margin:19px 0 7px}.side-panel .next-time{font-family:"SF Mono",monospace;font-size:27px;letter-spacing:-1px;margin:7px 0}.side-panel .button{width:100%;margin-top:10px}.side-note{background:#edf0e7;padding:20px;border-radius:6px;font-size:12px;line-height:1.9;color:#565e49}.side-note b{display:block;margin-bottom:8px;color:#404834;font-size:13px}.side-meta{display:flex;justify-content:space-between;font-size:11px;border-bottom:1px solid #e0e3d8;padding:12px 0}.empty{padding:50px 24px;text-align:center;border:1px dashed #d7dacd;border-radius:8px}.empty-symbol{font-size:38px;color:#a8ae99;margin-bottom:14px}.empty h2{font-family:"Songti SC",serif;font-size:24px}.empty p{font-size:12px;color:var(--muted);max-width:370px;margin:0 auto 20px}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:11px;color:var(--muted)}.page-footer{margin:48px 0 22px;border-top:1px solid #dfe1d7;padding-top:18px;font-size:10px;color:#888c7e;display:flex;justify-content:space-between;gap:12px}.job-banner{padding:13px 17px;background:var(--sand);color:var(--yellow);font-size:12px;border-radius:6px;margin-bottom:20px;display:flex;justify-content:space-between;gap:12px;line-height:1.6}.job-banner.success{background:var(--mint);color:var(--green)}.job-banner.error{background:var(--rose);color:var(--red)}.section-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:26px;margin-bottom:20px}.section-card>p{font-size:12px;color:var(--muted);line-height:1.8}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-title h2,.section-title h3{margin:0}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.source-card{padding:22px;border:1px solid var(--line);border-radius:8px;background:#fff;min-width:0}.source-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.source-head h3{margin:0}.source-url{font-size:11px;line-height:1.6;overflow-wrap:anywhere;color:var(--muted);display:block;margin:14px 0 16px}.source-meta{font-size:10px;line-height:1.8;color:var(--muted);margin-top:12px}.source-error{font-size:11px;color:var(--red);background:var(--rose);padding:9px;border-radius:4px;margin-top:12px}.toggle-label{display:flex;align-items:center;gap:6px;font-weight:400;font-size:11px;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;align-items:center;gap:12px;margin-top:22px}.settings-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start}.check-row{display:flex;align-items:center;gap:9px;line-height:1.6;font-weight:400}.code-note{font-family:"SF Mono",monospace;background:#f6f6f3;padding:14px;font-size:11px;line-height:1.8;border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere}.job-row{padding:24px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:15px}.job-title{display:flex;justify-content:space-between;gap:15px;align-items:center}.job-title h3{margin:0}.job-row p{font-size:12px;color:var(--muted);margin:12px 0}.job-result{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:15px 0}.job-result b{color:var(--ink);font-weight:500;margin-right:5px}.source-run{padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;display:flex;justify-content:space-between;gap:20px}.source-run span:last-child{text-align:right;max-width:70%;overflow-wrap:anywhere}details summary{font-size:11px;cursor:pointer;color:var(--muted);padding:10px 0}.detail-dialog{border:1px solid var(--line);border-radius:12px;width:min(1000px,calc(100vw - 40px));max-height:90vh;padding:0;background:#fafaf7;color:var(--ink)}.detail-dialog::backdrop{background:#252c2466;backdrop-filter:blur(2px)}.detail-top{position:sticky;top:0;background:#fafaf7;border-bottom:1px solid var(--line);padding:20px 28px;display:flex;justify-content:space-between;align-items:center;z-index:1}.close-button{font-size:24px;border:0;background:transparent;min-width:36px;min-height:36px;color:var(--muted)}.detail-inner{padding:28px}.detail-heading{display:flex;gap:20px;align-items:start;margin-bottom:25px}.detail-heading h2{font-size:27px;line-height:1.55;flex:1;margin:10px 0}.detail-heading .score{padding-top:13px;min-width:60px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:28px}.detail-section{margin-bottom:25px}.detail-section h3{font-size:12px;letter-spacing:.4px;color:#626b55;margin-bottom:12px}.detail-section p,.detail-section li{font-size:13px;line-height:1.9;overflow-wrap:anywhere}.detail-section ul{padding-left:19px}.detail-section blockquote{border-left:2px solid #d6dacd;font-size:11px;line-height:1.8;color:var(--muted);padding:7px 12px;margin:10px 0;overflow-wrap:anywhere}.evidence-item{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}.evidence-item a{font-size:12px}.evidence-meta{font-size:10px;color:var(--muted);margin-top:8px;line-height:1.7}.evidence-content{font-size:11px;line-height:1.8;color:var(--muted);white-space:pre-wrap;max-height:260px;overflow:auto;overflow-wrap:anywhere}.detail-side{background:#f0f2eb;border:1px solid var(--line);border-radius:8px;padding:20px;align-self:start}.detail-side h3{font-size:14px;margin-bottom:6px}.detail-side label{font-size:11px}.detail-side textarea{font-size:12px}.detail-side .button{width:100%;margin-top:12px}.detail-side .check-row{font-size:11px}.detail-side p{font-size:11px;line-height:1.8;color:var(--muted)}.score-list{margin-top:20px;font-size:11px}.score-item{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #e1e4d9}.script-text{font:inherit;font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px}.error-text{font-size:12px;color:var(--red);min-height:16px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:10;background:#292e25;color:#fff;border:1px solid #434b3a;border-radius:6px;padding:13px 22px;font-size:13px;max-width:calc(100vw - 32px);line-height:1.6}.initial-loading{padding:25vh 25px;text-align:center;font-size:14px;color:var(--muted)}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr}.login-story{background:#e8ecdf;padding:12vh 9vw;display:flex;align-items:flex-start;flex-direction:column}.login-story img{width:80px;height:80px;border-radius:16px;margin-bottom:40px}.login-story h1{font-family:"Songti SC","Noto Serif CJK SC",serif;font-weight:500;line-height:1.55;font-size:42px;margin:22px 0}.login-story p{font-size:14px;color:#69725b;line-height:1.9}.login-foot{margin-top:auto;padding-top:60px;letter-spacing:2px;font-size:10px;color:#6d785c}.login-form{max-width:390px;width:100%;padding:40px 25px;margin:auto}.login-form h2{font-size:29px;margin:15px 0}.login-form p{font-size:12px}.login-form .button{width:100%;margin:6px 0 22px}.login-form .button span{margin-left:auto}.login-form input{background:#fff;min-height:46px}
@keyframes reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.main{padding:0 65px}.desk-layout{grid-template-columns:minmax(0,1fr) 285px;gap:35px}.topic-card{padding:26px 30px}}
@media(max-width:1150px){.workspace{grid-template-columns:185px minmax(0,1fr)}.sidebar{padding:27px 13px}.brand{font-size:13px;gap:8px}.main{padding:0 28px}.desk-layout{grid-template-columns:minmax(0,1fr)}.desk-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.desk-aside .side-note{grid-column:1/-1}.stat{padding:18px}.settings-layout{grid-template-columns:1fr}.filters{grid-template-columns:minmax(0,1.5fr) 1fr .8fr}}
@media(max-width:760px){.workspace{display:block}.sidebar{height:auto;position:relative;display:block;padding:17px 20px;border-right:0;border-bottom:1px solid var(--line)}.brand img{width:34px;height:34px}.brand small{display:none}.brand{font-size:14px}.side-label,.sidebar-note,.sidebar-bottom{display:none}nav{display:flex;gap:8px;overflow:auto;margin-top:20px}.nav-button{font-size:11px;white-space:nowrap;padding:9px 10px;gap:6px}.nav-symbol{font-size:14px;width:14px}.nav-count{display:none}.main{padding:0 20px}.topbar{height:51px;font-size:10px}.timezone{display:none}.page-heading{margin:28px 0 23px;align-items:flex-start}.page-heading h1{font-size:30px}.page-heading .eyebrow{font-size:8px;letter-spacing:1px}.page-heading p{font-size:11px}.page-heading>.button{font-size:11px;padding:9px 10px;min-height:36px;margin-top:21px}.stats{grid-template-columns:repeat(2,1fr);margin-bottom:25px}.stat{padding:16px 20px}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat-number{font-size:26px}.tabs{gap:23px}.filters{grid-template-columns:1fr 1fr}.filters>input{grid-column:1/-1}.topic-card{padding:17px}.card-title{font-size:16px}.card-body{gap:10px;grid-template-columns:minmax(0,1fr) 43px}.score strong{font-size:24px}.card-source{max-width:38%;font-size:9px}.card-description{font-size:11px}.card-bottom{flex-wrap:wrap}.card-bottom .actions{margin-left:auto}.card-date{font-size:9px}.desk-aside{grid-template-columns:1fr}.desk-aside .side-note{grid-column:auto}.source-grid,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.section-card{padding:20px}.detail-dialog{width:calc(100vw - 16px);max-height:96vh;border-radius:8px}.detail-top{padding:12px 17px}.detail-inner{padding:20px}.detail-heading h2{font-size:22px}.detail-grid{grid-template-columns:1fr}.detail-side{order:-1}.detail-side textarea{min-height:80px}.page-footer{font-size:9px}.login-screen{grid-template-columns:1fr}.login-story{padding:40px 30px}.login-story img{width:50px;height:50px;margin-bottom:20px}.login-story h1{font-size:28px;margin:15px 0}.login-story p,.login-foot{display:none}.login-form{margin:20px auto 40px}.source-run{gap:10px}.job-banner{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
