*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#faf9f7;--card:#fff;--text:#2c2c2c;--text2:#6b6b6b;--text3:#a3a3a3;--accent:#8b7355;--accent-soft:#f5f0e8;--border:#e8e4de;--border-light:#f0ece6;--cat-model:#7e6b9a;--cat-product:#5a8a8a;--cat-industry:#b07d56;--cat-paper:#6a8a5e;--cat-tip:#9a7e5a;--cat-model-bg:#7e6b9a14;--cat-product-bg:#5a8a8a14;--cat-industry-bg:#b07d5614;--cat-paper-bg:#6a8a5e14;--cat-tip-bg:#9a7e5a14;--radius:14px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 24px #00000014;--shadow-xl:0 16px 48px #0000001f;--font-sans:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--font-serif:"Noto Serif SC","Source Han Serif SC","STSong",serif;--transition:all .3s cubic-bezier(.4,0,.2,1)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.8}.hero{text-align:center;background:linear-gradient(160deg,#f8f5f0 0%,#ede8e0 40%,#e4ddd2 100%);padding:72px 32px 56px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(#8b73550f 0%,#0000 70%);width:60%;height:80%;position:absolute;top:-40%;right:-20%}.hero:after{content:"";pointer-events:none;background:radial-gradient(#8b73550a 0%,#0000 70%);width:50%;height:60%;position:absolute;bottom:-30%;left:-15%}.hero-inner{z-index:1;max-width:860px;margin:0 auto;position:relative}.hero-title-wrap{aspect-ratio:3.2;justify-content:center;align-items:center;width:100%;max-width:860px;margin:0 auto 8px;display:flex;position:relative}.hero-title-text{font-family:var(--font-serif);letter-spacing:.08em;color:var(--text);text-align:center;z-index:1;background:linear-gradient(90deg,#9a9ea6 0%,#c5c8cd 5%,#2c2c2c 12% 88%,#c5c8cd 95%,#9a9ea6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:5rem;font-weight:600;transition:opacity .6s;position:relative}.hero-title-text.hidden{opacity:0}.distortion-wrap{cursor:pointer;z-index:2;opacity:0;border-radius:8px;transition:opacity 1.2s cubic-bezier(.4,0,.2,1),transform 1.2s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;overflow:hidden;transform:translateY(20px)}.distortion-wrap.revealed{opacity:1;transform:translateY(0)}.distortion-wrap canvas{display:block;width:100%!important;height:100%!important}.hero-label{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:20px;margin-bottom:20px;padding:4px 16px;font-size:.7rem;font-weight:500;display:inline-block}.hero .date{color:var(--text2);letter-spacing:.02em;margin-bottom:32px;font-size:.95rem;font-weight:400}.hero-stats{justify-content:center;align-items:baseline;gap:8px;margin-bottom:36px;display:flex}.hero-total{font-family:var(--font-serif);color:var(--accent);font-size:3.6rem;font-weight:700;line-height:1}.hero-unit{color:var(--text2);font-size:.9rem;font-weight:400}.stats{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.stat-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-light);color:var(--text2);transition:var(--transition);background:#ffffffb3;border-radius:24px;align-items:center;gap:7px;padding:7px 16px;font-size:.78rem;font-weight:500;display:flex}.stat-pill:hover{border-color:var(--border);box-shadow:var(--shadow-sm);background:#fffffff2}.stat-dot{opacity:.8;border-radius:50%;flex-shrink:0;width:7px;height:7px}.stat-num{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.page-particle{pointer-events:none;z-index:9999;border-radius:50%;animation:.8s cubic-bezier(.2,0,.3,1) forwards pageParticleFly;position:fixed}@keyframes pageParticleFly{0%{opacity:.8;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--px),var(--py)) scale(0)}}.nav-wrap{z-index:100;-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);border-bottom:1px solid var(--border-light);background:#faf9f7e0;padding:0 32px;transition:box-shadow .3s;position:sticky;top:0}.nav-wrap.scrolled{box-shadow:0 1px 8px #0000000d}.nav{flex-wrap:wrap;justify-content:center;gap:6px;padding:10px 0;display:flex}.nav a{color:var(--text2);transition:var(--transition);border-radius:20px;align-items:center;gap:5px;padding:6px 14px;font-size:.78rem;font-weight:500;text-decoration:none;display:flex}.nav a:hover,.nav a:focus-visible{background:var(--accent-soft);color:var(--accent)}.nav a.active{background:var(--accent);color:#fff}.nav-count{opacity:.5;font-size:.68rem;font-weight:400}.main{max-width:1080px;margin:0 auto;padding:48px 28px 80px}.section{margin-bottom:64px}.section-header{border-bottom:1px solid var(--border-light);align-items:center;gap:14px;margin-bottom:28px;padding-bottom:16px;display:flex}.section-icon{width:40px;height:40px;transition:var(--transition);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.15rem;display:flex}.section-title{font-family:var(--font-serif);color:var(--text);letter-spacing:.02em;font-size:1.3rem;font-weight:600}.section-count{color:var(--text3);font-size:.75rem;font-weight:400;font-family:var(--font-sans);margin-left:6px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border-light);transition:var(--transition);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;gap:10px;padding:22px 24px 18px;display:flex;position:relative;overflow:hidden}.card:before{content:"";opacity:0;border-radius:var(--radius) var(--radius) 0 0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.card:hover{border-color:var(--border);box-shadow:var(--shadow-md);transform:translateY(-3px)}.card:hover:before{opacity:1}.card:active{transition-duration:.1s;transform:translateY(-1px)scale(.985)}.card-top{align-items:flex-start;gap:12px;display:flex}.card-seq{font-variant-numeric:tabular-nums;color:var(--accent);background:var(--accent-soft);letter-spacing:.02em;border-radius:8px;flex-shrink:0;padding:3px 9px;font-size:.68rem;font-weight:700;line-height:1.5}.card-title{color:var(--text);font-size:.92rem;font-weight:600;line-height:1.6}.card-bottom{justify-content:space-between;align-items:center;gap:10px;padding-top:8px;display:flex}.source-chip{white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;border-radius:10px;max-width:200px;padding:3px 10px;font-size:.68rem;font-weight:500;overflow:hidden}.card-hint{color:var(--text3);letter-spacing:.03em;opacity:0;font-size:.64rem;transition:opacity .3s}.card:hover .card-hint{opacity:1}.ripple{pointer-events:none;background:#8b73551f;border-radius:50%;animation:.6s ease-out forwards rippleAnim;position:absolute;transform:scale(0)}@keyframes rippleAnim{to{opacity:0;transform:scale(4)}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;background:#2c2c2c59;justify-content:center;align-items:center;padding:24px;transition:opacity .35s cubic-bezier(.4,0,.2,1),visibility .35s;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;visibility:visible}.modal{background:var(--card);box-shadow:var(--shadow-xl);opacity:0;border-radius:18px;flex-direction:column;width:100%;max-width:560px;max-height:85vh;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .35s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;transform:scale(.88)translateY(20px)}.modal-overlay.active .modal{opacity:1;transform:scale(1)translateY(0)}.modal-bar{justify-content:space-between;align-items:center;gap:12px;padding:20px 24px 0;display:flex}.modal-seq{font-variant-numeric:tabular-nums;color:var(--accent);background:var(--accent-soft);letter-spacing:.02em;border-radius:8px;flex-shrink:0;padding:4px 12px;font-size:.72rem;font-weight:700;line-height:1.4}.modal-source{white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;border-radius:10px;flex-shrink:0;padding:4px 12px;font-size:.7rem;font-weight:500;overflow:hidden}.modal-close{border:1px solid var(--border-light);background:var(--bg);cursor:pointer;width:32px;height:32px;transition:var(--transition);color:var(--text2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex}.modal-close:hover{background:var(--border-light);color:var(--text)}.modal-close svg{width:14px;height:14px}.modal-body{flex:1;padding:20px 24px 24px;overflow-y:auto}.modal-title{font-family:var(--font-serif);color:var(--text);letter-spacing:.02em;margin-bottom:16px;font-size:1.2rem;font-weight:600;line-height:1.65}.modal-summary{color:var(--text2);letter-spacing:.01em;background:var(--bg);border:1px solid var(--border-light);border-radius:12px;padding:16px 20px;font-size:.88rem;line-height:1.9}.modal-footer{border-top:1px solid var(--border-light);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 24px 20px;display:flex}.modal-link{color:var(--accent);background:var(--accent-soft);transition:var(--transition);border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:.78rem;font-weight:500;text-decoration:none;display:inline-flex}.modal-link:hover{background:var(--accent);color:#fff}.modal-link svg{flex-shrink:0;width:13px;height:13px}.cat-model{background:var(--cat-model-bg);color:var(--cat-model)}.cat-product{background:var(--cat-product-bg);color:var(--cat-product)}.cat-industry{background:var(--cat-industry-bg);color:var(--cat-industry)}.cat-paper{background:var(--cat-paper-bg);color:var(--cat-paper)}.cat-tip{background:var(--cat-tip-bg);color:var(--cat-tip)}.icon-model{background:var(--cat-model-bg);color:var(--cat-model)}.icon-product{background:var(--cat-product-bg);color:var(--cat-product)}.icon-industry{background:var(--cat-industry-bg);color:var(--cat-industry)}.icon-paper{background:var(--cat-paper-bg);color:var(--cat-paper)}.icon-tip{background:var(--cat-tip-bg);color:var(--cat-tip)}.dot-model{background:var(--cat-model)}.dot-product{background:var(--cat-product)}.dot-industry{background:var(--cat-industry)}.dot-paper{background:var(--cat-paper)}.dot-tip{background:var(--cat-tip)}.section[id]{scroll-margin-top:64px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card{animation:.5s cubic-bezier(.4,0,.2,1) both fadeUp}.card:first-child{animation-delay:20ms}.card:nth-child(2){animation-delay:60ms}.card:nth-child(3){animation-delay:.1s}.card:nth-child(4){animation-delay:.14s}.card:nth-child(5){animation-delay:.18s}.card:nth-child(6){animation-delay:.22s}.card:nth-child(7){animation-delay:.26s}.card:nth-child(8){animation-delay:.3s}.footer{text-align:center;color:var(--text3);border-top:1px solid var(--border-light);letter-spacing:.02em;max-width:1080px;margin:0 auto;padding:40px 28px;font-size:.75rem}.footer a{color:var(--accent);text-decoration:none;transition:opacity .2s}.footer a:hover{opacity:.7}.footer-divider{background:var(--border);vertical-align:middle;border-radius:50%;width:3px;height:3px;margin:0 10px;display:inline-block}.date-nav{justify-content:center;align-items:center;gap:16px;padding:16px 0;display:flex}.date-nav-btn{color:var(--accent);background:var(--accent-soft);transition:var(--transition);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:.78rem;font-weight:500;text-decoration:none;display:inline-flex}.date-nav-btn:hover{background:var(--accent);color:#fff}.date-nav-btn:disabled{opacity:.3;cursor:not-allowed;background:var(--accent-soft);color:var(--accent)}.date-nav-btn svg{flex-shrink:0;width:13px;height:13px}.date-nav-current{color:var(--text2);font-size:.85rem;font-weight:500}@media (max-width:700px){.card-grid{grid-template-columns:1fr;gap:16px}}@media (max-width:600px){.hero{padding:48px 20px 40px}.hero-total{font-size:2.8rem}.main{padding:32px 16px 56px}.section{margin-bottom:48px}.card{padding:18px 18px 14px}.stats{gap:6px}.stat-pill{padding:5px 12px;font-size:.72rem}.modal-overlay{align-items:flex-end;padding:16px}.modal{border-radius:18px 18px 0 0;max-height:90vh}.modal-bar{padding:16px 20px 0}.modal-body{padding:16px 20px 20px}.modal-footer{padding:14px 20px 18px}.page-particle{width:4px!important;height:4px!important}.hero-title-text{font-size:3rem}.hero-title-wrap{aspect-ratio:2.8;max-width:100%}}
