:root{font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.portfolio-page a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.portfolio-page{color-scheme:dark;min-height:100vh;color:#eaf2ff;background:#080d18;overflow-x:hidden;background-image:radial-gradient(circle at 78% 11%,rgba(22,109,146,.18),transparent 27%),radial-gradient(circle at 12% 45%,rgba(46,47,121,.12),transparent 30%)}.portfolio-page:before{content:"";position:absolute;inset:0 0 auto;height:760px;pointer-events:none;opacity:.17;background-image:linear-gradient(#405066 1px,transparent 1px),linear-gradient(90deg,#405066 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(#000,transparent)}.shell{width:min(1200px,calc(100% - 64px));margin:auto}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;border-bottom:1px solid #263142}.brand{font-size:25px;font-weight:850;letter-spacing:-2px;color:#f7fbff}.brand span{color:#62f1da}.brand small{font-size:14px;letter-spacing:0;margin-left:3px;color:#8ca4b8}.site-header nav{display:flex;align-items:center;gap:38px;color:#aab9c9;font-size:14px}.site-header nav a:hover,.footer-inner a:hover{color:#62f1da}.contact-link{border:1px solid #436070;border-radius:999px;padding:10px 17px;color:#ddfdf7!important;transition:background .2s}.contact-link:hover{background:#132d34}
.hero{min-height:680px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;position:relative}.hero-copy{position:relative;z-index:1;padding:55px 0 95px}.eyebrow,.section-kicker,.hero-actions>span,.art-label,.project-meta,.visual-index,.footer-inner{font-family:Consolas,monospace;letter-spacing:1.5px}.eyebrow{color:#71e9da;font-size:12px;display:flex;align-items:center;gap:12px}.eyebrow i{width:7px;height:7px;background:#75f6c9;border-radius:50%;box-shadow:0 0 0 5px #75f6c923,0 0 15px #75f6c9}.hero h1{font-size:clamp(48px,5.5vw,82px);line-height:1.19;letter-spacing:-.06em;margin:28px 0 22px;font-weight:760;white-space:nowrap}.hero h1 em{font-style:normal;background:linear-gradient(100deg,#6df4d9 5%,#5bc8f5 55%,#b4adff);color:transparent;background-clip:text}.hero-copy>p{font-size:17px;line-height:1.9;color:#a8b9ca;max-width:570px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:37px}.primary-action{display:inline-flex;align-items:center;gap:65px;background:#6eead8;color:#072127;padding:17px 21px;border-radius:8px;font-weight:700;box-shadow:0 10px 35px #45d8c624;transition:transform .2s,background .2s}.primary-action:hover{background:#a4fff0;transform:translateY(-3px)}.hero-actions>span{font-size:11px;color:#6f8297}.hero-art{height:540px;position:relative;display:grid;place-items:center;filter:drop-shadow(0 25px 60px #00d8cd13)}.hero-art:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,#2cdaca22,transparent 64%);filter:blur(4px)}.orbit{position:absolute;border-radius:50%;border:1px solid #32607180;transform:rotate(-25deg) scaleY(.67)}.orbit-one{width:430px;height:430px;border-color:#4ed9d683}.orbit-two{width:540px;height:540px;border-style:dashed;opacity:.45}.orbit-three{width:350px;height:350px;border-color:#4789a47a;transform:rotate(57deg) scaleY(.78)}.orb-core{width:285px;height:285px;border-radius:50%;display:grid;place-items:center;font-size:105px;font-weight:800;letter-spacing:-13px;color:#d8fffa;background:radial-gradient(circle at 30% 23%,#1b8799,#083548 48%,#071b2d 72%);border:1px solid #85f9e594;box-shadow:inset -22px -25px 45px #03101dbb,inset 12px 14px 35px #8cffec42,0 0 58px #20dccb57,0 0 0 16px #58d8d40c;transform:rotate(-13deg);animation:float 7s ease-in-out infinite}.orb-core span{color:#6debd9}.art-label{position:absolute;color:#70b9bb;font-size:10px}.art-label.top{top:77px;right:4px}.art-label.bottom{bottom:59px;left:16px}@keyframes float{50%{transform:translateY(-15px) rotate(-9deg)}}
.work-section{padding:100px 0 115px;background:#0d1422;border-top:1px solid #263243;border-bottom:1px solid #263243;position:relative}.work-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 90% 10%,#2b3f7133,transparent 30%)}.work-section>.shell{position:relative}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-kicker{color:#58d7ca;font-size:12px}.section-heading h2,.about-section h2{font-size:clamp(38px,4vw,58px);letter-spacing:-.05em;line-height:1.2;margin:16px 0 0}.section-heading h2 span,.about-section h2 span{color:#a7bbca}.section-heading h2 b{color:#5de6d1}.section-heading p{color:#8da2b6;line-height:1.8;font-size:14px;margin:0}.work-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:27px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{background:transparent;color:#8da0b5;border:1px solid #2b394b;border-radius:5px;padding:10px 17px;cursor:pointer;font-size:13px;transition:all .2s}.filter:hover{border-color:#6ddbd0;color:#dffdf8}.filter.is-active{background:#68e7d5;border-color:#68e7d5;color:#062327;font-weight:700}.filter span{margin-left:6px;opacity:.7}.search{height:42px;width:225px;border:1px solid #2b394b;border-radius:5px;display:flex;align-items:center;gap:10px;padding:0 12px;color:#79e1d5}.search:focus-within{border-color:#68e7d5}.search>span:first-child{font-size:24px;line-height:0}.search input{background:transparent;border:0;outline:none;color:#eaf2ff;width:100%;font-size:13px}.search input::placeholder{color:#78899d}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-card{display:block;background:#111c2d;border:1px solid #2b3d51;border-radius:10px;overflow:hidden;min-width:0;transition:transform .25s,border-color .25s,box-shadow .25s}.project-card:hover{transform:translateY(-7px);border-color:#65decf;box-shadow:0 22px 46px #0007}.project-card:focus-visible,.filter:focus-visible,.primary-action:focus-visible,.site-header a:focus-visible{outline:2px solid #9bfff0;outline-offset:3px}.project-visual{height:210px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 52% 47%,#2780a047,transparent 45%),linear-gradient(135deg,#132c43,#0c1d31)}.project-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#b6d9f010 1px,transparent 1px),linear-gradient(90deg,#b6d9f010 1px,transparent 1px);background-size:24px 24px;transform:perspective(250px) rotateX(34deg) scale(1.5)}.project-visual:after{content:"";position:absolute;width:160px;height:160px;border:1px solid #84e8ed60;border-radius:40px;transform:rotate(37deg);box-shadow:0 0 0 22px #71dada0b,0 0 0 52px #71dada08}.visual-1{background:radial-gradient(circle at 50% 50%,#755fc044,transparent 53%),linear-gradient(135deg,#241c45,#142038)}.visual-2{background:radial-gradient(circle at 50% 50%,#15ab9e44,transparent 53%),linear-gradient(135deg,#0b3943,#102139)}.visual-3{background:radial-gradient(circle at 50% 50%,#af694444,transparent 53%),linear-gradient(135deg,#3a263d,#16223b)}.visual-4{background:radial-gradient(circle at 50% 50%,#4580c044,transparent 53%),linear-gradient(135deg,#203249,#0b1e30)}.visual-5{background:radial-gradient(circle at 50% 50%,#86984944,transparent 53%),linear-gradient(135deg,#273a36,#112139)}.project-monogram{position:relative;z-index:1;font-size:56px;font-weight:800;letter-spacing:-5px;color:#d4fff9;text-shadow:0 0 30px #82f2e575}.visual-index{position:absolute;right:17px;top:14px;color:#a4d9e2;font-size:11px}.project-content{padding:23px 23px 27px}.project-meta{font-size:10px;color:#66dccc}.project-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:11px 0 8px}.project-title-row h3{font-size:20px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-arrow{color:#68e7d5;font-size:24px;transition:transform .2s}.project-card:hover .project-arrow{transform:translate(3px,-3px)}.project-content p{margin:0;color:#94a9bc;font-size:13px;line-height:1.7;min-height:44px}.empty-state{padding:70px 20px;border:1px dashed #38526a;border-radius:9px;text-align:center;color:#91a8b9}.empty-state[hidden]{display:none}
.about-section{padding-top:125px;padding-bottom:135px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-section h2{font-size:clamp(40px,4.6vw,66px)}.about-section>div:last-child{padding-top:30px;max-width:440px}.about-section p{color:#a6b8c7;line-height:2;font-size:17px;margin:0 0 28px}.about-section a{color:#65ead5;border-bottom:1px solid #65ead5;padding-bottom:7px;font-weight:600}.about-section a:hover{color:#b8fff1}footer{border-top:1px solid #263243}.footer-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8095a6;font-size:11px}.footer-inner a{font-family:Inter,"Microsoft YaHei",sans-serif;letter-spacing:0;font-size:13px}
.settings-button{border:1px solid #436070;border-radius:999px;padding:10px 17px;background:transparent;color:#ddfdf7;cursor:pointer;transition:background .2s,border-color .2s}.settings-button:hover{background:#132d34;border-color:#6cebd8}.settings-button:focus-visible,.admin-dialog button:focus-visible,.admin-dialog input:focus-visible{outline:2px solid #9bfff0;outline-offset:3px}.admin-dialog{width:min(420px,calc(100% - 36px));padding:30px;border:1px solid #42737b;border-radius:14px;background:#101c2d;color:#eaf2ff;box-shadow:0 24px 80px #000b}.admin-dialog::backdrop{background:#020812c9;backdrop-filter:blur(8px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top button{font-size:28px;line-height:1;color:#a9bdca;background:none;border:0;cursor:pointer}.admin-dialog h2{font-size:28px;margin:15px 0 4px}.admin-dialog p{font-size:14px;color:#9db0c0;margin:0 0 22px}.admin-dialog label{display:block;margin:16px 0 7px;color:#bfd1da;font-size:13px}.admin-dialog input{width:100%;height:44px;padding:0 12px;border:1px solid #3a5266;border-radius:6px;background:#091321;color:#eaf2ff;outline:none}.admin-dialog input:focus{border-color:#6cebd8}.admin-dialog .admin-error{min-height:20px;margin:12px 0;color:#ffa5a5}.dialog-submit{display:flex;justify-content:space-between;align-items:center;width:100%;padding:13px 15px;border:0;border-radius:6px;background:#68e7d5;color:#062327;font-weight:700;cursor:pointer}.dialog-submit:disabled{opacity:.6;cursor:wait}
@media(max-width:950px){.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:100px 0 30px}.hero-art{height:390px}.orbit-one{width:320px;height:320px}.orbit-two{width:390px;height:390px}.orbit-three{width:270px;height:270px}.orb-core{width:220px;height:220px;font-size:80px}.art-label.top{right:12%}.art-label.bottom{left:12%}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.shell{width:min(100% - 36px,1200px)}.site-header{height:72px}.site-header nav{gap:12px;font-size:12px}.site-header nav a[href="#about"]{display:none}.contact-link{padding:8px 10px}.hero-copy{padding:85px 0 0}.hero h1{font-size:clamp(39px,9vw,62px);white-space:normal}.hero-copy>p{font-size:15px}.hero-actions{gap:16px}.hero-actions>span{font-size:9px}.primary-action{gap:25px}.hero-art{height:315px}.orbit-one{width:260px;height:260px}.orbit-two{width:320px;height:320px}.orbit-three{width:210px;height:210px}.orb-core{width:175px;height:175px;font-size:64px;letter-spacing:-8px}.art-label{display:none}.work-section{padding:80px 0}.section-heading{display:block}.section-heading p{margin-top:14px}.work-toolbar{display:block}.filters{margin-bottom:14px}.filter{padding:9px 11px;font-size:12px}.search{width:100%}.project-grid{grid-template-columns:1fr;gap:16px}.project-visual{height:190px}.about-section{padding-top:85px;padding-bottom:90px;grid-template-columns:1fr;gap:20px}.about-section>div:last-child{padding-top:0}.footer-inner{flex-wrap:wrap;justify-content:space-between;padding:23px 0}.footer-inner>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:650px){.settings-button{padding:8px 11px;font-size:12px}}
