:root{--blue:#1677ff;--ink:#152238;--muted:#738199;--line:#e7edf5;--bg:#f7f9fc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 "Microsoft YaHei","PingFang SC",Arial,sans-serif}.topnav{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(18px,calc((100% - 1220px)/2));gap:36px;position:sticky;top:0;z-index:5}.logo{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;white-space:nowrap}.logo-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#347df1,#7b5bea);color:#fff;font-size:13px}.navlinks{display:flex;align-items:center;gap:28px;flex:1}.navlinks button{border:0;background:none;color:#38455a;font:inherit;cursor:pointer;padding:23px 0}.navlinks button.active,.navlinks button:hover{color:var(--blue)}.navlinks button.active{font-weight:700;border-bottom:2px solid var(--blue)}.top-search{width:210px;background:#f3f6fa;border:0;border-radius:7px;padding:9px 12px;outline:0}.top-actions{display:flex;align-items:center;gap:15px}.ghost{border:0;background:none;color:#70809a;font-size:18px;cursor:pointer}.plus{border:1px solid #dfe7f2;border-radius:50%;width:28px;height:28px;background:#fff;color:#5e718f;font-size:18px}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#dfeaff;color:#2464d3;font-weight:700;cursor:pointer}.page{max-width:1220px;margin:auto;padding:28px 0 60px}.hero{display:grid;grid-template-columns:1fr 330px;gap:18px}.hero-main{min-height:292px;border-radius:8px;padding:35px 40px;background:radial-gradient(circle at 85% 20%,#dae8ff,transparent 45%),linear-gradient(115deg,#fff4e1,#e6efff 82%);position:relative;overflow:hidden}.hero-main:after{content:"AI";position:absolute;right:35px;bottom:-30px;font-size:180px;font-weight:900;color:#fff8}.eyebrow{font-size:12px;color:#8b5c1a;font-weight:700;letter-spacing:1.8px}.hero h1{font-size:34px;line-height:1.2;margin:10px 0 9px;color:#49311b}.hero p{color:#6d604e;max-width:510px;margin:0 0 25px}.hero-actions{display:flex;gap:10px;position:relative;z-index:1}.btn{border:0;border-radius:6px;padding:10px 20px;font:inherit;font-weight:700;cursor:pointer}.btn-primary{color:#fff;background:var(--blue);box-shadow:0 6px 16px #1677ff2b}.btn-light{background:#fff;color:#4d5f79}.promo-stack{display:grid;gap:18px}.promo{border-radius:8px;min-height:137px;padding:20px 23px;display:flex;justify-content:space-between}.promo h3{margin:0;color:#b34a0d;font-size:20px}.promo p{margin:6px 0 0;color:#98694d;font-size:12px}.promo:first-child{background:linear-gradient(120deg,#fff0df,#ffe4d2)}.promo:last-child{background:linear-gradient(120deg,#f2edff,#dde6ff)}.promo-icon{font-size:46px;font-weight:900;color:#7156d7}.partner-row{height:92px;background:#fff;margin:18px 0;display:flex;align-items:center;justify-content:space-around;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#59708e;font-size:17px;font-weight:700}.partner-row span:nth-child(2n){color:#1b83cf}.workspace-tabs{display:flex;align-items:center;gap:20px;margin-bottom:12px}.tab{border:1px solid var(--line);background:#fff;padding:10px 20px;border-radius:6px;color:#41607e;cursor:pointer}.tab.active{background:#e5f0ff;color:#1168db;border-color:#d8e7ff}.hot-search{margin-left:auto;display:flex;align-items:center;gap:10px;color:#1973db;font-size:12px}.hot-search input{width:220px;border:1px solid #f0a96b;border-radius:6px;padding:10px 12px;outline:0}.main-grid{display:grid;grid-template-columns:188px 1fr 290px;gap:24px}.category h3,.section-head h2{font-size:16px;margin:14px 0}.category ul{list-style:none;padding:0;margin:0}.category li{padding:9px 10px;color:#4a5d78;cursor:pointer;border-radius:5px}.category li:hover,.category li.selected{background:#eef4fc;color:#146fdb;font-weight:700}.category li span{margin-right:9px;color:#91a0b5}.section-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:3px}.section-head h2{margin:0;padding:0 0 11px}.more{color:#1472d9;font-size:12px;cursor:pointer}.project{display:flex;gap:12px;padding:17px 7px;border-bottom:1px solid var(--line)}.project-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#ef7c54;font-weight:700;flex:none}.project-avatar.blue{background:#5576d8}.project-avatar.purple{background:#8b5bc8}.project-main{flex:1;min-width:0}.project-title{font-weight:800;color:#0f5da4;font-size:15px}.project-desc{color:#56667c;font-size:12px;margin:6px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-meta{color:#8a98aa;font-size:11px;display:flex;gap:14px;align-items:center}.star{margin-left:auto;color:#8a98aa;cursor:pointer}.star.active{color:#efa82a}.tag{font-size:10px;background:#edf2f8;color:#73839a;padding:2px 7px;border-radius:3px}.hot-list{border-left:1px solid var(--line);padding-left:20px}.hot-item{padding:12px 0;border-bottom:1px solid var(--line)}.hot-item:last-child{border:0}.hot-item strong{display:block;color:#0f5da4}.hot-item p{font-size:12px;color:#647389;margin:4px 0}.hot-item small{color:#96a3b3}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px}.toolbar{display:flex;gap:10px;margin:18px 0}.field{border:1px solid var(--line);border-radius:6px;padding:9px 12px;background:#fff;outline:0}.field.grow{flex:1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.app-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:17px}.app-card:hover{border-color:#b8d3ff;box-shadow:0 5px 18px #1a5dcc10}.card-top{display:flex;align-items:center;gap:10px}.app-icon{width:38px;height:38px;border-radius:9px;background:#e7efff;display:grid;place-items:center;color:#2a6fe1;font-weight:800}.app-icon.green{background:#e2f6ef;color:#15926d}.app-card h3{margin:0;font-size:14px}.app-card p{color:#66768a;font-size:12px;min-height:38px}.card-footer{border-top:1px solid var(--line);padding-top:11px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;color:#8492a4;font-size:11px}.card-footer .star{margin-left:0}.badge{background:#e8f7f1;color:#118965;border-radius:12px;padding:3px 8px;font-size:11px}.drawer{position:fixed;right:20px;top:58px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 25px #15223824;padding:10px;width:190px;border-radius:8px;display:none;z-index:10}.drawer.show{display:block}.drawer button{display:block;width:100%;border:0;background:none;text-align:left;padding:9px;border-radius:5px;cursor:pointer;color:#40526a}.drawer button:hover{background:#f3f6fa}.feishu{border:1px solid #d9e7ff;background:#f4f8ff;color:#2b65c8;border-radius:7px;padding:12px;font-size:12px;margin-top:15px}.feishu b{display:block;font-size:13px;margin-bottom:3px}@media(max-width:900px){.topnav{gap:18px}.navlinks{gap:12px}.navlinks button{font-size:12px}.top-search{width:120px}.page{padding:20px 18px}.main-grid{grid-template-columns:150px 1fr}.hot-list{display:none}.hero{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.navlinks{display:none}.top-search{margin-left:auto}.main-grid{grid-template-columns:1fr}.category{display:none}.cards{grid-template-columns:1fr}.hero h1{font-size:27px}.partner-row{font-size:12px;overflow:hidden;white-space:nowrap}}
.detail-page{max-width:980px}.back-link{border:0;background:none;color:#1677ff;font-size:15px;padding:0 0 18px;cursor:pointer}.detail-panel{padding:30px}.detail-head{display:flex;align-items:center;gap:18px}.detail-head h1{margin:0 0 8px}.detail-head .detail-star{margin-left:auto}.detail-info{display:grid;grid-template-columns:120px 1fr;gap:14px 20px;color:#243b5a}.detail-info dt{color:#7b8ba3}.detail-info dd{margin:0}.detail-actions{margin-top:26px}.comments-panel{margin-top:20px;padding:26px}.comment{padding:12px 0;border-bottom:1px solid #edf1f7;display:flex;gap:14px}.comment-form{display:flex;gap:10px;margin-top:18px}.comment-form .field{min-height:42px}.detail-star{border:0;background:none;cursor:pointer;font-size:16px;color:#789}.detail-star.active{color:#f5a623}.panel button + button{margin-left:8px}.panel #feishu-sync-status{display:block;margin-top:10px;color:#738199}.review-list{display:grid;gap:10px;margin-top:14px}.review-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border:1px solid var(--line);border-radius:7px;background:#f8fbff}.review-item strong,.review-item span,.review-item small{display:block}.review-item span,.review-item small{color:var(--muted);font-size:12px;margin-top:3px}.review-item p{margin:6px 0 0;color:#425872}.review-actions{display:flex;gap:6px;flex:none}.review-actions .btn{padding:7px 11px;font-size:12px}.audit-panel,.admin-block{margin-top:18px}.audit-row{display:grid;grid-template-columns:1fr 1.5fr 1.2fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.audit-row small{color:var(--muted)}.admin-block>#role-user-search{width:100%;margin-bottom:10px}.admin-block>#role-user-select{width:100%;min-height:190px}.role-editor{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.role-editor label{display:flex;align-items:center;gap:6px}.admin-data-list{display:grid;gap:8px}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px;border:1px solid var(--line);border-radius:7px}.admin-row strong,.admin-row small{display:block}.admin-row small{color:var(--muted);margin-top:3px}.admin-row button{border:1px solid var(--line);background:#fff;border-radius:5px;padding:6px 9px;cursor:pointer}.admin-mini-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line)}


.card-footer{justify-content:flex-start;flex-wrap:nowrap}
.card-footer .metric{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.card-footer .metric-star{color:#efa82a;cursor:pointer}
.card-footer .metric-star.active{color:#efa82a}
.card-footer .metric-download{color:#8492a4}
.card-footer .btn-edit,.card-footer .btn-comments{padding:5px 10px;border:1px solid #d8e5f5;border-radius:5px;background:#f5f9ff;color:#2878ed;font-size:11px;line-height:1.3;box-shadow:none}
.card-footer .btn-edit:hover,.card-footer .btn-comments:hover{background:#e8f2ff;border-color:#a9cbf7}
.comment{align-items:flex-start}
.comment-author{min-width:140px;display:flex;flex-direction:column;gap:2px}
.comment-author small{color:#9aa8b8;font-size:10px}
.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.admin-section-head h3{margin:0 0 5px}.btn-small{padding:6px 10px;font-size:12px}.btn-danger{border:1px solid #ffd5d5!important;background:#fff6f6!important;color:#c34b56!important}.admin-row-actions{display:flex;gap:7px;align-items:center;flex:none}.admin-mini-row{align-items:center;gap:12px}.admin-mini-row span{min-width:0}.admin-mini-row strong,.admin-mini-row small{display:block}.admin-mini-row small{color:var(--muted);font-size:11px;margin-top:4px}.report-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:15px}.report-summary p{margin:0}.role-report{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.role-report h4{margin:0 0 8px;color:#17345a}.role-report-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf1f7}.role-report-row strong,.role-report-row small{display:block}.role-report-row small{margin-top:3px;color:var(--muted);font-size:11px}.admin-modal-mask{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;background:rgba(18,37,66,.42);backdrop-filter:blur(3px)}.admin-modal{width:min(560px,calc(100vw - 34px));max-height:calc(100vh - 44px);overflow:auto;background:#fff;border:1px solid #e1ebf7;border-radius:18px;padding:26px;box-shadow:0 24px 80px rgba(20,49,89,.25)}.admin-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.admin-modal-head h2{margin:6px 0 0;color:#102d52}.modal-close{width:34px;height:34px;border:0;border-radius:50%;background:#f2f6fb;color:#5f728d;font-size:23px;line-height:1;cursor:pointer}.admin-modal label{display:flex;flex-direction:column;gap:7px;margin-top:14px;color:#526681;font-size:13px}.admin-modal textarea{resize:vertical;min-height:88px}.admin-modal .field{width:100%;box-sizing:border-box}.modal-check{flex-direction:row!important;align-items:center;gap:8px!important}.admin-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid #edf1f7}.admin-modal-actions .btn{min-width:100px}.audit-row{grid-template-columns:180px 1fr 165px;align-items:center}.audit-row b{font-weight:600;color:#1d3f68}
.btn{border-radius:8px;font-weight:600;letter-spacing:.1px;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.btn-primary{color:#1768d5;background:#eff6ff;border:1px solid #a8caff;box-shadow:none}.btn-primary:hover{color:#0d59c4;background:#e2efff;border-color:#78aef7;box-shadow:0 6px 16px rgba(38,111,221,.14);transform:translateY(-1px)}.btn-light{border:1px solid #dce6f2;color:#506681;background:#fff}.btn-light:hover{color:#1768d5;background:#f5f9ff;border-color:#a8caff}.btn-danger:hover{background:#ffecef!important;border-color:#ffb5bd!important;transform:translateY(-1px)}.admin-row-actions .btn,.role-report-row .btn,.admin-section-head .btn{min-width:72px;text-align:center}.role-editor .btn-primary{min-width:96px}.role-editor{font-weight:500;color:#1b3557}.role-editor strong{font-weight:700;color:#1a365c}.admin-page-title{font-weight:700;color:#132d50}.admin-modal-actions .btn-primary{min-width:92px}
.admin-page .grid.cards{align-items:stretch}.admin-page .grid.cards>.panel>h3{margin-top:0}.admin-page .admin-section-head{min-height:34px;align-items:flex-start}.admin-page .admin-section-head h3{margin-top:0}
.admin-management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;width:100%;align-items:stretch}
.fixed-scroll-panel{height:560px;min-height:560px;overflow:hidden;display:flex;flex-direction:column}
.fixed-scroll-panel>h3,.fixed-scroll-panel>.admin-section-head{flex:none}
.fixed-scroll-panel>.admin-data-list,.fixed-scroll-panel>.admin-report-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-gutter:stable;align-content:start}
.tool-management-panel{height:auto;min-height:0;max-height:430px}
.tool-management-panel>.admin-data-list{flex:none;max-height:360px;overflow-y:auto;align-content:start}
.recycle-panel{margin-top:18px}.recycle-panel>.admin-data-list{max-height:260px;overflow-y:auto}.recycle-row{background:#fffaf5}
.fixed-scroll-panel>.admin-data-list::-webkit-scrollbar,.fixed-scroll-panel>.admin-report-scroll::-webkit-scrollbar{width:8px}
.fixed-scroll-panel>.admin-data-list::-webkit-scrollbar-thumb,.fixed-scroll-panel>.admin-report-scroll::-webkit-scrollbar-thumb{background:#c9d8ea;border-radius:8px}
.fixed-scroll-panel>.admin-data-list::-webkit-scrollbar-track,.fixed-scroll-panel>.admin-report-scroll::-webkit-scrollbar-track{background:#f4f7fb;border-radius:8px}
@media(max-width:700px){.admin-management-grid{grid-template-columns:1fr}.fixed-scroll-panel{height:520px;min-height:520px}}
.modal-actions-spacer{flex:1}
.admin-tool-row{cursor:pointer}.admin-tool-row:hover{border-color:#a8caff;background:#f8fbff}.admin-tool-row small+small{margin-top:4px}
.audit-filters{display:flex;align-items:center;gap:10px;margin-bottom:16px}.audit-filters .field.grow{min-width:0}.audit-detail-list{display:grid;gap:0}.tool-record-list{display:grid;gap:10px;max-height:620px;overflow-y:auto;padding:2px 4px 2px 0}.tool-record-row{min-height:76px}.tool-record-row .admin-row-actions{gap:8px}.tool-record-row .admin-row-actions .muted{white-space:nowrap}
@media(max-width:700px){.audit-filters{flex-wrap:wrap}.audit-filters .grow{flex-basis:100%}}

/* unified visual system and responsive layout */
:root{--blue:#2563eb;--blue-dark:#1746a2;--ink:#102a43;--muted:#6b7c93;--line:#e3eaf3;--bg:#f5f8fc;--surface:#fff;--shadow:0 10px 30px rgba(27,62,104,.08)}
html,body{width:100%;max-width:100%;overflow-x:hidden}
*,*::before,*::after{min-width:0}
body{position:relative}
body{background:linear-gradient(180deg,#f7faff 0,#f4f7fb 100%);color:var(--ink);letter-spacing:.01em}
.topnav{height:72px;padding-inline:max(20px,calc((100% - 1280px)/2));gap:42px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(31,61,99,.05)}
.logo{font-size:21px;color:#102a43}.logo-mark{width:36px;height:36px;border-radius:11px;box-shadow:0 5px 14px rgba(65,93,210,.25)}
.navlinks{gap:6px}.navlinks button{padding:25px 15px;color:#52657e;border-radius:8px 8px 0 0;transition:.18s}.navlinks button:hover{background:#f2f6fc;color:var(--blue)}.navlinks button.active{color:var(--blue);background:#f4f8ff;border-bottom:3px solid var(--blue)}
.page{max-width:1280px;padding:40px 28px 80px}.hero{gap:24px}.hero-main{min-height:320px;border-radius:18px;padding:48px;background:radial-gradient(circle at 90% 15%,#dbeafe,transparent 40%),linear-gradient(120deg,#fff8ee,#edf4ff);box-shadow:var(--shadow)}.hero h1{font-size:38px;letter-spacing:-.04em;color:#183b63}.hero-actions{gap:12px}.promo-stack{gap:14px}.promo{border-radius:16px;min-height:153px;padding:25px;box-shadow:var(--shadow)}
.btn{min-height:40px;padding:10px 18px;border-radius:9px;transition:transform .18s,box-shadow .18s,background .18s}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border:1px solid #2563eb;box-shadow:0 7px 16px rgba(37,99,235,.22)}.btn-primary:hover{color:#fff;background:linear-gradient(135deg,#1d4ed8,#2563eb);box-shadow:0 10px 22px rgba(37,99,235,.28)}.btn-light{border:1px solid #d7e2ef;background:#fff;color:#3f5876}.btn-light:hover{background:#f4f8ff;border-color:#a9c7f5;color:#1d5fd1}
.panel,.app-card{border-color:#e1e9f3;border-radius:14px;box-shadow:var(--shadow)}.panel{padding:24px}.app-card{padding:20px;transition:transform .18s,box-shadow .18s,border-color .18s}.app-card:hover{transform:translateY(-3px);border-color:#aecaf4;box-shadow:0 14px 34px rgba(27,62,104,.13)}.cards{gap:20px}.app-card p{line-height:1.7;color:#647892}.card-footer{padding-top:14px}
.field,.editor-panel input,.editor-panel textarea,.editor-panel select{min-height:42px;border-color:#d7e3f0;border-radius:9px;transition:border .18s,box-shadow .18s}.field:focus,.editor-panel input:focus,.editor-panel textarea:focus,.editor-panel select:focus{border-color:#70a3f2;box-shadow:0 0 0 3px rgba(37,99,235,.11)}.toolbar,.audit-filters{gap:12px}
.section-head{margin-bottom:16px;border-bottom-color:#e2eaf3}.section-head h2{font-size:19px}.project{padding:18px 10px}.project:hover{background:#fbfdff}.review-item,.admin-row{border-color:#dfe8f2;border-radius:11px;background:#fbfdff;padding:16px}.review-item:hover,.admin-row:hover{border-color:#a9c8f3;background:#f7fbff}.review-actions{gap:9px}.badge{padding:5px 10px;font-weight:600}.tag{border-radius:6px;padding:3px 8px}
.detail-panel{padding:34px;border-radius:16px}.detail-head{gap:20px}.detail-head h1{font-size:30px;letter-spacing:-.03em}.detail-info{gap:16px 26px}.comments-panel{border-radius:16px}.drawer{top:72px;border-radius:12px;box-shadow:0 14px 35px rgba(21,52,88,.16)}
.editor-page{max-width:1120px;padding:44px 28px 90px}.editor-head{padding-bottom:28px;margin-bottom:24px}.editor-head h1{font-size:32px;letter-spacing:-.03em}.editor-panel{padding:32px;border-radius:16px;box-shadow:var(--shadow)}.editor-section{padding-bottom:30px;margin-bottom:30px}.editor-section h2{font-size:19px}.publish-box{border-radius:12px;background:linear-gradient(145deg,#f7fbff,#eef6ff);padding:20px}.editor-actions{padding-top:4px}
.review-toolbar{padding:4px 0 10px}.review-history{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.review-record-box{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.admin-management-grid{gap:20px}.fixed-scroll-panel{border-radius:14px}.admin-modal{border-radius:18px}
@media(max-width:900px){.topnav{gap:14px;padding-inline:16px}.navlinks{overflow-x:auto;white-space:nowrap}.navlinks button{padding-inline:10px}.page{padding:28px 20px 60px}.hero-main{padding:36px}.main-grid{grid-template-columns:170px 1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-page{padding-inline:20px}}
@media(max-width:640px){.topnav{height:62px}.logo{font-size:17px}.logo-mark{width:31px;height:31px}.navlinks{display:none}.top-actions{margin-left:auto}.page{padding:22px 14px 50px}.hero-main{min-height:280px;padding:28px 24px;border-radius:14px}.hero h1{font-size:29px}.hero-actions{flex-wrap:wrap}.promo{min-height:110px;padding:18px}.main-grid{grid-template-columns:1fr}.category,.hot-list{display:none}.cards{grid-template-columns:1fr;gap:14px}.panel{padding:18px}.toolbar,.audit-filters{flex-wrap:wrap}.toolbar .grow,.audit-filters .grow{flex-basis:100%;width:100%}.review-item{display:block}.review-actions{margin-top:12px;flex-wrap:wrap}.review-actions .btn{flex:1}.detail-panel{padding:22px 18px}.detail-head h1{font-size:24px}.detail-info{grid-template-columns:1fr;gap:5px}.detail-info dt{margin-top:10px}.detail-info dd{margin-bottom:4px}.comment-form{flex-direction:column}.editor-page{padding:25px 14px 60px}.editor-panel{padding:20px 16px}.editor-head h1{font-size:27px}.editor-actions{flex-direction:column-reverse}.editor-actions .btn{width:100%}.review-toolbar{align-items:flex-start;flex-direction:column}.review-toolbar .btn{margin-left:0}.review-detail-grid{grid-template-columns:1fr}.review-detail-grid .full{grid-column:auto}.admin-row{display:block}.admin-row-actions{margin-top:12px;flex-wrap:wrap}.admin-row-actions .btn{flex:1}.fixed-scroll-panel{height:460px;min-height:460px}}

/* spacious desktop composition */
@media(min-width:1100px){
  .page{max-width:1540px;padding-left:44px;padding-right:44px}
  .topnav{padding-left:max(28px,calc((100% - 1540px)/2));padding-right:max(28px,calc((100% - 1540px)/2))}
  .hero{grid-template-columns:minmax(0,1fr) 380px;gap:26px}
  .hero-main{min-height:350px;padding:58px 62px}.hero h1{font-size:43px;max-width:760px}.hero p{font-size:15px;max-width:650px}
  .main-grid{grid-template-columns:220px minmax(0,1fr) 350px;gap:34px}
  .cards{gap:24px}.app-card{padding:23px}.app-card h3{font-size:16px}.app-card p{font-size:13px;min-height:48px}
  .section-head h2{font-size:22px}.category h3{font-size:18px}.category li{padding:11px 12px;font-size:14px}.hot-item{padding:15px 0}.hot-item strong{font-size:14px}
  /* 目录/收藏使用高密度工具墙 */
  .page>.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .page>.cards .app-card{min-height:184px;padding:17px 18px}
  .page>.cards .app-card p{min-height:34px;margin:10px 0 12px}
  .page>.panel>.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .page>.panel>.cards .app-card{min-height:178px;padding:17px 18px}
}

@media(min-width:1600px){.page{max-width:1660px}.topnav{padding-left:max(32px,calc((100% - 1660px)/2));padding-right:max(32px,calc((100% - 1660px)/2))}}

@media(min-width:1450px){.page>.cards,.page>.panel>.cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.page>.cards .app-card,.page>.panel>.cards .app-card{min-height:174px;padding:16px}}

@media (min-width:641px) and (max-width:1240px){
  .topnav{gap:14px;padding-inline:18px}.navlinks{gap:2px}.navlinks button{padding-inline:8px;font-size:13px}.top-actions{gap:8px}
  .page{width:100%;max-width:1160px;padding-inline:24px}.hero{grid-template-columns:minmax(0,1fr) 290px;gap:16px}.hero-main{padding:36px 38px}.hero h1{font-size:32px}.main-grid{grid-template-columns:170px minmax(0,1fr) 260px;gap:18px}.cards{gap:14px}
}

.drawer{right:auto;top:auto;z-index:40;min-width:190px;max-width:calc(100vw - 24px);transform-origin:top right;animation:drawer-in .16s ease-out}
@keyframes drawer-in{from{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

/* compact tool cards: stronger hierarchy, less unused space */
.app-card{padding:16px 18px;border-radius:12px;min-height:0;display:flex;flex-direction:column;gap:0}.app-card .card-top{min-height:42px}.app-card p{min-height:0;margin:12px 0 14px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-card .card-footer{margin-top:auto}.main-grid section>.app-card{margin-bottom:12px}.main-grid section>.app-card:last-child{margin-bottom:0}.app-card .tag{display:inline-block;margin-bottom:12px}.app-card .card-footer{padding-top:10px}.app-card h3{font-size:15px;color:#17385f}.app-card small{color:#70839d}.app-card .app-icon{width:34px;height:34px;border-radius:10px}
.main-grid section>.app-card{background:linear-gradient(115deg,#fff 0,#f8fbff 100%);border-left:3px solid #a8c7f6}.main-grid section>.app-card:hover{border-left-color:#356df3}
.category{padding-right:6px}.category li{margin-bottom:3px}.hot-list{padding-left:24px}.hot-item strong{font-size:14px}.hot-item p{line-height:1.55}

/* admin dashboard: keep every summary block on a consistent full-width grid */
.admin-page>.grid.cards{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.admin-page>.grid.cards>.panel{width:100%;box-sizing:border-box}
.admin-page>.admin-management-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.admin-page>.grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.admin-page>.grid.cards,.admin-page>.admin-management-grid{grid-template-columns:1fr}}

/* 管理后台各区块统一使用完整内容宽度。 */
.admin-page{width:100%;max-width:1540px;margin-inline:auto}
.admin-page>.panel,.admin-page>.grid,.admin-page>.admin-management-grid{width:100%;max-width:none}
.admin-page>.admin-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.review-detail .comments-panel{display:none}
.admin-page>.admin-management-grid{grid-column:1 / -1;align-self:stretch;justify-self:stretch;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;max-width:none!important;inline-size:100%!important;min-inline-size:100%!important;}
.admin-page>.admin-management-grid>section{width:100%;min-width:0}
.admin-page>.tool-management-panel{height:530px;min-height:530px}
