*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f3ef;color:#151515;font-family:Arial,'Microsoft YaHei',sans-serif}.wrap{max-width:1180px;margin:auto;padding-left:32px;padding-right:32px}.header{height:76px;padding:0 max(32px,calc((100% - 1116px)/2));display:flex;align-items:center;justify-content:space-between;background:#111;color:#fff}.logo{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font:700 13px monospace;letter-spacing:.07em}.logo img{width:28px;height:28px;object-fit:cover;border-radius:50%;border:1px solid rgba(255,255,255,.35)}.header-tg{color:#fff;text-decoration:none;border:1px solid #555;border-radius:100px;padding:10px 16px;font-size:12px}.header-tg:hover{background:#f2a084;color:#111;border-color:#f2a084}.hero{min-height:485px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.eyebrow{font:500 10px 'DM Mono';letter-spacing:.12em;color:#8b8982}.hero h1{font-size:clamp(52px,7vw,88px);line-height:1.16;letter-spacing:-.075em;margin:25px 0 32px;font-weight:800}.hero h1 em{font-family:Georgia,serif;font-style:italic;font-weight:400;color:#e27e61;white-space:nowrap}.contact-button{display:flex;align-items:center;gap:14px;width:min(100%,405px);padding:16px 17px;background:#171717;color:#fff;text-decoration:none;box-shadow:8px 8px 0 #e4c0ad}.contact-button:hover{background:#e27e61;color:#111}.contact-button>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#29a9ea;font-size:14px}.contact-button small{display:block;color:#999;font:9px 'DM Mono';letter-spacing:.09em;margin-bottom:4px}.contact-button strong{font:600 13px 'DM Mono'}.contact-button b{margin-left:auto;font-size:20px;font-weight:400}.telegram-mock{justify-self:center;width:min(370px,100%);height:430px;overflow:hidden;border-radius:22px;background:#edf5fa;box-shadow:18px 22px 55px #c7d7df;border:7px solid #fff;position:relative;display:flex;flex-direction:column}.telegram-topbar{height:66px;flex:0 0 66px;display:flex;align-items:center;gap:11px;padding:10px 14px;background:#fff;box-shadow:0 1px 4px #d5e0e6;position:relative;z-index:1}.telegram-back{color:#229ed9;font-size:32px;font-weight:300;line-height:1}.telegram-avatar,.profile-avatar{display:block;object-fit:cover;border-radius:50%;background:linear-gradient(145deg,#68b9e2,#158bc8);color:#fff;font-weight:700}.telegram-avatar{width:38px;height:38px;font-size:17px}.profile-avatar{width:56px;height:56px;margin-bottom:9px}.telegram-topbar small{display:block;color:#229ed9;font:10px 'DM Mono';margin-top:3px}.telegram-more{margin-left:auto;color:#8a9aa3;letter-spacing:2px}.telegram-chat{height:auto;flex:1;min-height:145px;padding:18px 12px;background:linear-gradient(145deg,#d9edf4,#eaf4f7 60%,#cfe6ee);display:flex;flex-direction:column;justify-content:end;gap:9px}.message{max-width:82%;padding:9px 11px 17px;border-radius:12px;font-size:11px;line-height:1.35;position:relative;box-shadow:0 1px 2px #abc5cf}.message span{position:absolute;right:8px;bottom:4px;color:#7d929b;font:8px 'DM Mono'}.message-in{align-self:flex-start;background:#fff;border-bottom-left-radius:3px}.message-out{align-self:flex-end;background:#dcf8c6;border-bottom-right-radius:3px}.telegram-profile{position:relative;left:auto;right:auto;bottom:auto;height:180px;flex:0 0 180px;background:#fff;padding:18px 20px;display:flex;flex-direction:column;align-items:center}.profile-avatar{width:56px;height:56px;font-size:22px;margin-bottom:9px}.telegram-profile strong{font-size:15px}.telegram-profile>span{font:10px 'DM Mono';color:#8998a0;margin-top:4px}.telegram-profile a{margin-top:14px;padding:10px 21px;border-radius:9px;background:#229ed9;color:#fff;text-decoration:none;font-size:11px;font-weight:700}.telegram-profile a:hover{background:#148ac1}@media(max-width:700px){.wrap{padding-left:20px;padding-right:20px}.header{height:68px;padding:0 20px}.hero{display:block;padding-top:58px;padding-bottom:70px;min-height:auto}.hero h1{font-size:clamp(42px,12vw,56px);line-height:1.1;margin:20px 0 28px}.hero h1 span{font-size:.62em;margin-bottom:10px}.hero h1 em{line-height:1.08}.contact-button{width:100%}.telegram-mock{width:min(100%,320px);height:370px;margin:60px auto 0;border-width:6px;border-radius:18px;box-shadow:10px 14px 34px #c7d7df}.telegram-topbar{height:55px;flex:0 0 55px;padding:8px 10px}.telegram-avatar{width:31px;height:31px}.telegram-back{font-size:27px}.telegram-topbar strong{font-size:11px}.telegram-chat{min-height:0;padding:12px 9px;gap:7px}.message{font-size:9px;padding:7px 9px 15px}.telegram-profile{height:148px;flex:0 0 148px;padding:12px 10px}.profile-avatar{width:43px;height:43px;margin-bottom:6px}.telegram-profile strong{font-size:12px}.telegram-profile a{margin-top:8px;padding:8px 14px;font-size:9px}.projects{padding-top:65px;padding-bottom:70px}.section-heading h2{font-size:42px}.project-row{grid-template-columns:35px 1fr 25px;gap:10px;padding:20px 0}.row-name{font-size:18px}.row-category{display:none}.detail{padding-top:28px}.detail-hero{height:250px;padding:24px}.detail-hero .tag{top:23px;left:24px}.detail-grid{display:block;padding-top:40px}.detail-grid h1{font-size:38px}.detail-description{font-size:14px}.detail-side{padding-top:45px}.footer{min-height:115px;align-items:flex-start;flex-wrap:wrap;gap:15px;padding-top:25px;padding-bottom:25px}.footer a{margin-left:auto}}
/* 项目列表 */
.projects{display:block;min-height:320px;padding-top:82px;padding-bottom:100px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid #d3d1ca;padding-bottom:25px;margin-bottom:30px}.project-list{display:flex;flex-direction:column;width:100%;border-top:1px solid #d3d1ca}.project-row{display:grid;grid-template-columns:70px minmax(0,1fr) 180px 40px;align-items:center;gap:20px;width:100%;min-height:78px;padding:24px 0;border-bottom:1px solid #d3d1ca;color:#151515;text-decoration:none;transition:background .2s,padding .2s}.project-row:hover{padding-left:14px;background:#ebe9e3}.row-number,.row-category{font:500 10px 'DM Mono';color:#96938c}.row-name{font-size:23px;font-weight:700;letter-spacing:-.05em}.row-arrow{font-size:22px;color:#e27e61;text-align:right}.loading{color:#8b8982;font:11px 'DM Mono';padding:25px 0}.footer{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:85px;border-top:1px solid #d3d1ca;color:#96938c;font:10px 'DM Mono'}.footer a{color:#222;text-decoration:none}.footer a:hover{color:#e27e61}

.detail-page{background:#f4f3ef}.detail{padding-top:40px;padding-bottom:70px}.back{display:inline-block;color:#888;text-decoration:none;font:11px 'DM Mono';margin-bottom:28px}.back:hover,.detail-demo:hover{color:#e27e61}.detail-cover{height:350px;position:relative;display:flex;align-items:flex-end;padding:32px;overflow:hidden;color:#fff}.detail-cover:before,.detail-cover:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.35);border-radius:50%;width:650px;height:200px;left:7%;top:85px;transform:rotate(27deg)}.detail-cover:after{width:370px;height:520px;left:50%;top:-105px;transform:rotate(-35deg)}.detail-cover strong{position:relative;z-index:1;font-size:clamp(40px,6vw,76px);letter-spacing:-.08em;color:#151515}.detail-cover.art-nova strong{color:#f4c0af}.detail-tag{position:absolute;top:30px;left:32px;z-index:1;font:10px 'DM Mono';letter-spacing:.1em;color:#151515}.detail-cover.art-nova .detail-tag{color:#f4c0af}.detail-mark{position:absolute;z-index:1;top:24px;right:32px;color:#f4c0af;font-size:42px}.detail-body{display:grid;grid-template-columns:1fr 360px;gap:80px;padding:68px 0 20px}.markdown-content{max-width:660px;color:#77756e;font-size:15px;line-height:1.9}.markdown-content h1{color:#151515;font-size:48px;line-height:1.1;letter-spacing:-.08em;margin:14px 0 28px}.markdown-content h2{color:#151515;font-size:20px;letter-spacing:-.04em;margin:34px 0 10px}.markdown-content p{margin:0 0 18px}.markdown-content ul{margin:0 0 22px;padding-left:20px}.markdown-content li{margin:8px 0}.markdown-table-wrap{width:100%;margin:0 0 24px;overflow-x:auto;-webkit-overflow-scrolling:touch}.markdown-content table{width:100%;min-width:560px;border-collapse:collapse;color:#4f4d47;font-size:13px;line-height:1.6}.markdown-content th,.markdown-content td{padding:11px 14px;border:1px solid #d3d1ca;text-align:left;vertical-align:top}.markdown-content th{background:#ebe9e3;color:#151515;font-weight:700;white-space:nowrap}.markdown-content tr:nth-child(even) td{background:#f8f7f4}.detail-demo{display:none}.detail-card{align-self:start;background:#171717;color:#fff;padding:28px;box-shadow:9px 9px 0 #e4c0ad}.detail-card>span{display:block;color:#999;font:10px 'DM Mono';letter-spacing:.1em;margin-bottom:12px}.detail-card>strong{display:block;font:25px 'DM Mono';margin-bottom:28px}.detail-card .contact-button{width:100%;padding:13px 0;background:#2b2b2b;box-shadow:none}.detail-card .contact-button:hover{background:#e27e61}.detail-card .contact-button small{font-size:8px}.detail-card .contact-button b{font-size:10px;font-family:'DM Mono';font-weight:400}.detail-card .contact-button i{margin-left:auto;font-size:20px;font-style:normal}.detail-page .footer{padding-left:32px;padding-right:32px}@media(max-width:700px){.projects{padding-top:65px;padding-bottom:70px}.section-heading{align-items:flex-end}.section-heading h2{font-size:42px}.project-row{grid-template-columns:35px minmax(0,1fr) 25px;gap:10px;min-height:68px;padding:20px 0}.row-name{font-size:18px}.row-category{display:none}.detail{padding-top:28px;padding-bottom:55px}.back{margin-bottom:22px}.detail-cover{height:250px;padding:24px}.detail-tag{top:24px;left:24px}.detail-mark{top:17px;right:22px;font-size:30px}.detail-body{display:block;padding-top:42px}.detail-copy h1{font-size:38px}.detail-description{font-size:14px;line-height:1.9}.detail-card{margin-top:40px;padding:22px}.detail-page .footer{padding-left:20px;padding-right:20px}.footer{min-height:115px;align-items:flex-start;flex-wrap:wrap;gap:15px;padding-top:25px;padding-bottom:25px}.footer a{margin-left:auto}}

