@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";:root{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5;color:#1d2a3a;background:#f4f7fb}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-image:linear-gradient(45deg,#2c3e50,#27ae60,#2980b9,#e74c3c,#8e44ad);background-size:400%;animation:gradientFlow 18s ease infinite}.watermark-layer{position:fixed;top:-20vh;right:-20vw;bottom:-20vh;left:-20vw;z-index:1000;pointer-events:none;opacity:.07;transform:rotate(-38deg);transform-origin:center;display:grid;grid-template-columns:repeat(8,minmax(180px,1fr));grid-auto-rows:120px;align-content:start;justify-items:center;color:#000;font-size:13px;font-family:Montserrat,sans-serif}.watermark-layer span{white-space:nowrap}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.notice-mask{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:2000}.notice-overlay{position:absolute;top:0;right:0;bottom:0;left:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(15,23,42,.28)}.notice-modal{position:relative;width:min(46vw,460px);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 50px #00000047;display:flex;flex-direction:column;z-index:1}.notice-image-wrap{position:relative}.notice-actions{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:flex;justify-content:center;gap:12px;width:calc(100% - 24px)}.notice-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border-radius:8px;color:#fff;text-decoration:none;cursor:pointer;border:none;box-shadow:0 6px 16px #0000002e}.notice-btn--ok{background:#16a34a}.notice-btn--qq{background:#12b7f5}.notice-image{width:100%;display:block;max-height:38vh;object-fit:contain;background:#fff}.page{max-width:1300px;margin:0 auto;padding:32px 20px 56px;position:relative}.qq-link{position:absolute;left:20px;top:20px;padding:10px 20px;background:#12b7f5;color:#fff;border-radius:6px;text-decoration:none;box-shadow:0 8px 20px #12b7f559;z-index:20}.qq-link:hover{filter:brightness(1.05)}.top-bar{margin-bottom:8px;position:relative}.top-marquee{margin-bottom:0;border:1px solid rgba(37,99,235,.28);border-radius:12px;background:rgba(255,255,255,.9);overflow:hidden;padding:8px 12px}.visitor-badge{position:absolute;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:flex-end;padding:8px 10px;background:transparent;border:none;z-index:999}.visitor-badge img{display:block;height:20px}.top-marquee__typewriter{color:#1e3a8a;font-weight:600;font-size:15px;min-height:24px;white-space:nowrap;overflow:hidden;display:inline}.top-marquee__typewriter:after{content:"|";display:inline;margin-left:2px;animation:caretBlink 1s step-end infinite}.top-marquee{text-align:center}@keyframes caretBlink{50%{opacity:0}}.hero{--search-box-width: clamp(360px, 56vw, 560px);position:relative;background:rgba(255,255,255,.84);border:1px solid rgba(37,99,235,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#1e293b;border-radius:20px;padding:8px 38px;box-shadow:0 14px 34px #0f172a2e;text-align:center}.hero h1{margin:0;font-size:34px;color:#1e293b;text-shadow:0 1px 0 rgba(255,255,255,.6)}.search-row{margin-top:16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:12px}.search-box{grid-column:2;display:flex;justify-content:center}.search-box input{width:var(--search-box-width);border:1px solid rgba(37,99,235,.35);background:rgba(255,255,255,.88);color:#1e293b;border-radius:10px;padding:10px 14px;outline:none;transition:all .25s ease}.search-box input::placeholder{color:#475569bf}.search-box input:focus{border-color:#2563eb;background:rgba(255,255,255,.95);box-shadow:0 0 0 3px #2563eb29}.search-stats{grid-column:3;justify-self:start;color:#1e3a8a;font-size:13px;white-space:nowrap;min-height:20px}.search-stats--hidden{visibility:hidden}@media (max-width: 980px){.hero{padding:26px 16px}.hero h1{font-size:26px}.top-marquee__typewriter{white-space:normal;word-break:break-word;line-height:1.4}.top-bar{display:flex;flex-direction:column;align-items:center;gap:4px}.visitor-badge{position:static;transform:none;margin:0;order:-1;z-index:auto}.search-row{grid-template-columns:1fr;row-gap:10px}.search-box,.search-stats{grid-column:1;justify-self:center}.search-box{width:100%}.search-box input{width:100%;max-width:100%;min-width:0}.search-stats{text-align:center}.pagination-bar{margin-left:0;width:100%;justify-content:center;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.pager-btn,.page-size-label{width:auto;min-width:0;justify-content:center;text-align:center}.pager-info{flex-basis:100%;text-align:center}.pager-btn{padding:4px 10px}.qq-link{position:fixed;left:10px;top:auto;bottom:12px;padding:8px 12px;font-size:12px;z-index:30}.notice-modal{width:min(92vw,460px)}.notice-image{max-height:46vh}.notice-actions{width:calc(100% - 16px);bottom:8px;gap:8px}.notice-btn{padding:7px 12px;font-size:13px}.table-wrap{overflow-x:hidden}.project-table{min-width:0;table-layout:auto}.project-table th,.project-table td{font-size:11px;padding:4px 6px;line-height:1.05;word-break:break-word}}@media (max-width: 560px){.page{padding:18px 10px 44px}.hero{border-radius:14px}.notice-actions{flex-direction:column;align-items:stretch}.notice-btn{width:100%}.project-table{min-width:0}.project-table th,.project-table td{font-size:10px;padding:3px 4px}}.pagination-bar{margin-top:12px;margin-left:calc(50% - (var(--search-box-width) / 2));margin-right:0;width:700px;display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap;color:#1e293b;font-size:13px;min-height:34px}.pagination-bar--hidden{visibility:hidden}.pager-btn{border:1px solid rgba(37,99,235,.35);background:rgba(255,255,255,.9);color:#1e3a8a;border-radius:8px;padding:5px 10px;cursor:pointer}.pager-btn:disabled{opacity:.5;cursor:not-allowed}.pager-info{color:#334155}.page-size-label{display:inline-flex;align-items:center;gap:6px}.page-size-label select{border:1px solid rgba(37,99,235,.35);border-radius:6px;padding:3px 6px;background:rgba(255,255,255,.95);color:#1e293b}.cards{margin-top:8px}.cards h2{margin:0;font-size:26px}.hint{color:#4a5d75}.error{color:#d22f2f;font-weight:500}.table-wrap{margin-top:16px;background:#ffffff;border-radius:14px;box-shadow:0 8px 25px #09122a2e;border:1px solid rgba(148,163,184,.25);overflow:auto;min-height:420px}.project-table{width:100%;border-collapse:collapse;min-width:860px;border:1px solid #e2e8f0;font-family:Montserrat,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;table-layout:fixed}.project-table th,.project-table td{text-align:center;padding:7px 12px;border:1px solid #e2e8f0;vertical-align:middle;font-size:13px;line-height:1.1}.project-table thead th{background:#f1f5f9;color:#30445f;font-weight:700;font-size:14px}.project-table th:nth-child(1),.project-table td:nth-child(1){width:9%}.project-table th:nth-child(2),.project-table td:nth-child(2){width:27%}.project-table th:nth-child(3),.project-table td:nth-child(3){width:13%}.project-table th:nth-child(4),.project-table td:nth-child(4){width:24%}.project-table th:nth-child(5),.project-table td:nth-child(5){width:20%}.project-table th:nth-child(6),.project-table td:nth-child(6){width:7%}@media (max-width: 980px){.project-table th,.project-table td{width:auto!important}}.project-table tbody tr:nth-child(2n){background:#f8fafc}.project-table tbody tr:hover{background:#eaf3ff}.video-link{color:#2b5cff;font-weight:600;text-decoration:none}.video-link:hover{text-decoration:underline}.video-empty,.code-doc{color:#4b5563;font-weight:400}.keyword-highlight{background:#fdecc8;border-radius:4px;padding:0 3px}.new-text{color:#dc2626;font-weight:600}@media (max-width: 980px){.table-wrap{overflow-x:hidden!important}.project-table{min-width:0!important;width:100%!important;table-layout:auto!important}.project-table th,.project-table td{width:auto!important;font-size:11px!important;padding:4px 6px!important;line-height:1.05;word-break:break-word}.pagination-bar{width:100%!important;margin-left:0!important;margin-right:0!important;justify-content:center!important;align-items:center!important;text-align:center}.page-size-label,.pager-info{margin:0 auto}}@media (max-width: 560px){.project-table th,.project-table td{font-size:10px!important;padding:3px 4px!important}.pagination-bar{gap:6px}}
