*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.relative{position:relative}.sticky{position:sticky}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--primary:#e9b873;--primary-2:#e0795f;--bg-primary:#0c0a08;--bg-secondary:#14110d;--bg-tertiary:#1d1813;--text-primary:#f4ede3;--text-secondary:#a89c8a;--text-tertiary:#6f655a;--border:#2b251e;--success:#8bb573;--warning:#e8b04b;--danger:#d9685f;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:26px;--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;--font-mono:ui-monospace,"SF Mono","JetBrains Mono","Fira Code",Menlo,Consolas,monospace;--font-display:"Noto Serif SC","Source Han Serif SC","Songti SC","STSong","SimSun",Georgia,"Times New Roman","Songti TC",serif;--maxw:1180px;--content-max:1180px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}::-moz-selection{background:var(--primary);color:var(--bg-primary)}::selection{background:var(--primary);color:var(--bg-primary)}.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.aurora:before{content:"";position:absolute;inset:-15%;background:radial-gradient(42% 36% at 16% 10%,color-mix(in srgb,var(--primary) 32%,transparent),transparent 66%),radial-gradient(40% 34% at 86% 14%,color-mix(in srgb,var(--primary-2) 28%,transparent),transparent 68%),radial-gradient(60% 50% at 52% 115%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 75%),radial-gradient(46% 38% at 8% 80%,color-mix(in srgb,var(--primary-2) 14%,transparent),transparent 72%);filter:blur(46px);animation:drift 26s ease-in-out infinite alternate}.aurora:after{content:"";position:absolute;inset:-12%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;opacity:.07;mix-blend-mode:overlay;animation:grain 1.4s steps(3) infinite}.aurora-grid{position:absolute;inset:0;background:radial-gradient(ellipse 100% 90% at 50% 44%,transparent 44%,color-mix(in srgb,#000 50%,transparent) 100%);pointer-events:none}@keyframes drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(3%,-2%,0) scale(1.08)}to{transform:translate3d(-2%,2%,0) scale(1.03)}}@keyframes grain{0%{transform:translate(0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-2%)}to{transform:translate(0)}}.container{max-width:var(--content-max);padding:0 clamp(16px,5vw,32px);z-index:1}.container,.wrap{margin:0 auto;position:relative}.wrap{max-width:var(--maxw);padding:0 clamp(16px,5vw,48px);z-index:2}.scroll-progress{height:3px;width:0;background:linear-gradient(90deg,var(--primary),var(--primary-2));z-index:1000;transition:width .1s linear}.nav,.scroll-progress{position:fixed;top:0;left:0}.nav{right:0;z-index:100;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,5vw,48px);background:rgba(8,8,12,.5);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}.nav.scrolled{border-bottom-color:var(--border);background:rgba(8,8,12,.82)}.nav-logo{display:inline-flex;align-items:center;z-index:2}.nav-logo-img{display:block;width:32px;height:32px;border-radius:6px;-o-object-fit:cover;object-fit:cover}.nav-logo b{background:linear-gradient(135deg,var(--primary),var(--primary-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{font-size:13.5px;color:var(--text-secondary);transition:color .2s;position:relative}.nav-links a.active,.nav-links a:hover{color:var(--text-primary)}.nav-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-21px;height:2px;background:linear-gradient(90deg,var(--primary),var(--primary-2));border-radius:2px}.nav-links a.nav-dyn{margin-left:14px;padding-left:16px;position:relative;color:var(--text-secondary);font-weight:700}.nav-links a.nav-dyn:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:18px;border-radius:2px;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--primary) 55%,transparent),transparent)}.nav-links a.nav-dyn:hover{color:var(--primary)}.nav-links a.nav-cta-link{padding:7px 16px;border-radius:99px;border:1px solid color-mix(in srgb,var(--primary) 45%,transparent);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);font-weight:600;transition:all .25s}.nav-links a.nav-cta-link:hover{background:var(--primary);color:var(--bg-primary);border-color:var(--primary);transform:translateY(-1px)}.nav-burger,.nav-links a.nav-cta-link:after{display:none}.nav-burger{width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary);flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;z-index:2}.nav-burger span{display:block;width:18px;height:2px;background:var(--text-primary);border-radius:2px;transition:transform .3s,opacity .3s}.nav-burger.open span:first-child{transform:translateY(7px) rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0}.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-mobile{position:fixed;top:64px;left:0;right:0;z-index:99;background:rgba(8,8,12,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:12px clamp(16px,5vw,48px) 20px;display:flex;flex-direction:column;gap:4px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform .3s,opacity .3s}.nav-mobile.open{transform:none;opacity:1;pointer-events:auto}.nav-mobile a{padding:13px 8px;font-size:15px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.nav-mobile a:last-child{border-bottom:none}.nav-mobile a.active{color:var(--primary)}.nav-mobile a.nav-cta-link{margin-top:10px;text-align:center;border-bottom:none;border-radius:99px;padding:12px;color:var(--bg-primary);background:var(--primary)}.section{padding:clamp(80px,9vw,110px) 0;position:relative;z-index:2}.sec-index{font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;color:var(--primary);text-transform:uppercase}.sec-title{font-family:var(--font-display);font-size:clamp(28px,5vw,46px);font-weight:700;letter-spacing:-.01em;margin:10px 0 8px;line-height:1.12}.sec-desc{color:var(--text-secondary);font-size:15px;max-width:520px}.sec-head{margin-bottom:clamp(32px,5vw,48px)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal.in-view{opacity:1;transform:none}.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}.hero{padding:clamp(120px,18vh,180px) 0 clamp(60px,9vw,100px);z-index:2}.hero,.hero-card{position:relative}.hero-card{background:linear-gradient(160deg,color-mix(in srgb,var(--bg-secondary) 92%,transparent),color-mix(in srgb,var(--bg-tertiary) 70%,transparent));border:1px solid var(--border);border-radius:var(--radius-xl);padding:clamp(28px,5vw,56px);overflow:hidden;backdrop-filter:blur(8px)}.hero-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--primary-2))}.hero-card:after{content:"";position:absolute;width:380px;height:380px;right:-120px;top:-120px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--primary-2) 40%,transparent),transparent 70%);filter:blur(42px);pointer-events:none}.hero-status{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:9999px;font-family:var(--font-mono);font-size:12.5px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 28%,transparent);margin-bottom:24px}.hero-status .dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 10px var(--success);animation:blink 2s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.hero-name{font-family:var(--font-display);font-size:clamp(38px,8vw,76px);font-weight:800;letter-spacing:-.01em;line-height:1.04}.hero-name .grad{background:linear-gradient(135deg,var(--primary),var(--primary-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-role{font-family:var(--font-display);font-size:clamp(17px,2.8vw,22px);color:var(--text-primary);font-weight:500;margin-top:14px;letter-spacing:.01em}.hero-tagline{color:var(--text-secondary);font-size:clamp(15px,2.4vw,18px);max-width:560px;margin-top:18px}.tag-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.tag{font-family:var(--font-mono);font-size:12.5px;padding:6px 13px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary)}.tag.hot{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 30%,transparent)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-card>*{opacity:0;animation:fadeInUp .7s cubic-bezier(.22,1,.36,1) both}.hero-card>:first-child{animation-delay:.05s}.hero-card>:nth-child(2){animation-delay:.15s}.hero-card>:nth-child(3){animation-delay:.25s}.hero-card>:nth-child(4){animation-delay:.35s}.hero-card>:nth-child(5){animation-delay:.45s}.hero-card>:nth-child(6){animation-delay:.55s}@media (prefers-reduced-motion:reduce){.hero-card>*{opacity:1;animation:none}}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:var(--radius-sm);font-weight:600;font-size:14.5px;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .3s,background .3s;font-family:inherit}.btn-primary{background:var(--primary);color:var(--bg-primary)}.btn-primary:hover{box-shadow:0 10px 32px color-mix(in srgb,var(--primary) 45%,transparent);transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--text-primary);border-color:var(--border)}.btn-ghost:hover{border-color:var(--text-secondary);transform:translateY(-2px)}.btn svg{width:17px;height:17px;fill:currentColor}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:var(--bg-tertiary);border:1px solid color-mix(in srgb,var(--border) 65%,var(--primary) 16%);border-radius:var(--radius-lg);padding:26px 24px;position:relative;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}.stat:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--primary) 40%,transparent);box-shadow:0 18px 50px color-mix(in srgb,var(--primary) 26%,transparent)}.stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--primary),var(--primary-2))}.stat-num{font-size:clamp(34px,6vw,48px);font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--primary),var(--primary-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums;filter:drop-shadow(0 2px 14px color-mix(in srgb,var(--primary) 35%,transparent))}.stat-unit{font-size:18px;font-weight:600;margin-left:2px;color:var(--text-primary)}.stat-label{color:var(--text-secondary);font-size:13.5px;margin-top:6px;letter-spacing:.02em}.timeline{position:relative;padding-left:clamp(22px,4vw,34px)}.timeline:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--primary),var(--primary-2),transparent)}.tl-item{position:relative;padding:0 0 clamp(28px,5vw,44px)}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";position:absolute;left:calc(-1 * clamp(22px, 4vw, 34px) + 1px);top:6px;width:14px;height:14px;border-radius:50%;background:var(--bg-primary);border:2px solid var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}.tl-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 16px}.tl-date{font-family:var(--font-mono);font-size:12.5px;color:var(--primary);letter-spacing:.04em}.tl-role{font-size:clamp(18px,3vw,22px);font-weight:700}.tl-company{color:var(--text-secondary);font-size:14.5px}.tl-role .arrow{color:var(--text-tertiary);margin:0 6px;font-weight:400}.tl-desc{color:var(--text-secondary);font-size:14.5px;margin-top:10px;max-width:680px}.tl-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.tl-tags span{font-family:var(--font-mono);font-size:11.5px;color:var(--text-tertiary);padding:4px 10px;border-radius:6px;background:var(--bg-tertiary);border:1px solid var(--border)}.radar-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,64px);align-items:center}.radar-box{display:flex;justify-content:center;align-items:center}.radar-svg{width:100%;max-width:420px;height:auto;overflow:visible}.radar-grid{fill:none}.radar-axis,.radar-grid{stroke:var(--border);stroke-width:1}.radar-area{fill:color-mix(in srgb,var(--primary) 26%,transparent);stroke:var(--primary);stroke-width:2;transform-origin:center;transform:scale(0);transition:transform .9s cubic-bezier(.16,1,.3,1) .2s}.radar-area.in-view{transform:scale(1)}.radar-dot{fill:var(--primary-2);stroke:var(--bg-primary);stroke-width:2}.radar-label{fill:var(--text-secondary);font-size:12px;font-family:var(--font-sans)}.radar-val{fill:var(--text-primary);font-size:11px;font-weight:700;font-family:var(--font-mono)}.radar-legend{display:flex;flex-direction:column;gap:14px}.leg-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .3s,transform .3s}.leg-row:hover{border-color:color-mix(in srgb,var(--primary) 40%,transparent);transform:translateX(4px)}.leg-name{font-weight:600;font-size:15px}.leg-bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:99px;overflow:hidden;max-width:220px}.leg-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--primary-2));width:0;transition:width 1s cubic-bezier(.16,1,.3,1)}.leg-val{font-family:var(--font-mono);font-size:13px;color:var(--primary);min-width:38px;text-align:right}.skills-wall{margin-top:clamp(32px,5vw,48px)}.skills-wall-group{margin-bottom:22px}.skills-wall-group:last-child{margin-bottom:0}.skills-wall-cat{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;color:var(--primary);text-transform:uppercase;margin-bottom:12px}.skills-wall-tags{display:flex;flex-wrap:wrap;gap:9px}.skill-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:12.5px;padding:7px 13px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);transition:border-color .25s,color .25s,transform .2s}.skill-chip:hover{border-color:color-mix(in srgb,var(--primary) 40%,transparent);color:var(--primary);transform:translateY(-2px)}.skill-chip .lv{font-size:10px;color:var(--text-tertiary)}.skill-chip .lv b{color:var(--primary-2)}.works-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:8px}.works-hint{font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary)}.works-wrap{position:relative;padding:8px 0 28px;width:100vw;margin-left:calc(50% - 50vw)}.swiper{width:100%;height:580px;overflow:hidden;position:relative;perspective:1200px}.swiper-slide-shadow{display:none!important}.swiper-wrapper{align-items:flex-start;height:100%;padding-top:10px}.swiper-slide{width:auto;flex-shrink:0;height:auto;max-height:500px;background:var(--bg-secondary);border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:var(--radius-lg);overflow:visible;transition:border-color .4s,box-shadow .4s;cursor:pointer}.swiper-slide-active{border-color:color-mix(in srgb,var(--primary) 35%,transparent);box-shadow:0 4px 10px color-mix(in srgb,var(--primary) 15%,transparent),0 0 0 1px color-mix(in srgb,var(--primary) 25%,transparent) inset;z-index:2}.work-card-inner{max-width:460px;margin:0 auto;transform-origin:center center;transition:opacity .4s ease,transform .4s ease,filter .4s ease;opacity:.7;transform:scale(.84);filter:blur(.6px) brightness(.82) saturate(.9);overflow:visible}.swiper-slide-active .work-card-inner{opacity:1;transform:scale(1);filter:blur(0) brightness(1) saturate(1)}.work-cover{position:relative;min-height:470px;border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse 80% 45% at 50% 0,color-mix(in srgb,var(--primary) 22%,transparent),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--bg-tertiary) 55%,transparent) 0,var(--bg-secondary) 52%,var(--bg-primary) 100%);border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);isolation:isolate}.work-cover:before{inset:12px;border:1px solid color-mix(in srgb,var(--primary) 14%,transparent);border-radius:calc(var(--radius-lg) - 8px);z-index:1}.work-cover:after,.work-cover:before{content:"";position:absolute;pointer-events:none}.work-cover:after{inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;opacity:.07;mix-blend-mode:overlay;z-index:0}.work-corner{position:absolute;width:22px;height:22px;border:1px solid var(--primary);opacity:.28;z-index:2}.work-corner.tl{top:22px;left:22px;border-right:0;border-bottom:0}.work-corner.tr{top:22px;right:22px;border-left:0;border-bottom:0}.work-corner.bl{bottom:22px;left:22px;border-right:0;border-top:0}.work-corner.br{bottom:22px;right:22px;border-left:0;border-top:0}.work-cover-inner{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;padding:50px 32px 38px}.work-top{justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--primary)}.work-top,.work-top-left{display:flex;align-items:center}.work-top-left{gap:8px}.work-dot{width:5px;height:5px;border-radius:50%;background:var(--primary-2);box-shadow:0 0 8px var(--primary-2)}.work-num{opacity:.92}.work-type{font-size:10px;letter-spacing:.18em;padding:4px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);background:color-mix(in srgb,var(--primary) 8%,transparent)}.work-eyebrow{margin-top:28px;display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.28em;color:var(--primary);opacity:.8}.work-bar{width:26px;height:1px;background:var(--primary)}.work-title{margin-top:20px;font-weight:700;font-size:clamp(26px,4.6vw,38px);line-height:1.12;letter-spacing:.02em;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 80%,#fff) 0,var(--primary) 48%,color-mix(in srgb,var(--primary) 55%,transparent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 2px 16px color-mix(in srgb,var(--primary) 24%,transparent))}.work-title,.work-title-en{font-family:var(--font-display)}.work-title-en{margin-top:9px;font-style:italic;font-size:14px;color:var(--text-secondary);letter-spacing:.04em}.work-divider{margin:24px 0 18px;display:flex;align-items:center;gap:12px}.work-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:.6}.work-diamond{width:6px;height:6px;background:var(--primary);transform:rotate(45deg)}.work-sub{font-size:13px;line-height:1.85;color:var(--text-secondary);letter-spacing:.04em;max-height:4.6em;overflow:hidden}.work-stack{margin-top:20px;display:flex;flex-wrap:wrap;gap:6px}.work-stack span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;padding:4px 9px;border-radius:4px;border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);color:var(--primary);background:color-mix(in srgb,var(--bg-primary) 50%,transparent)}.work-footer{margin-top:auto;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--primary) 22%,transparent);display:flex;justify-content:space-between;align-items:center}.work-roman{font-family:var(--font-display);font-style:italic;font-size:14px;color:var(--text-secondary);letter-spacing:.18em;opacity:.8}.work-go{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--text-primary);display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid var(--primary);border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,transparent);transition:background .3s ease}.work-arrow{color:var(--primary);transition:transform .3s ease}.work-card-inner:hover .work-go{background:color-mix(in srgb,var(--primary) 20%,transparent)}.work-card-inner:hover .work-arrow{transform:translateX(4px)}.badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;font-family:var(--font-mono)}.badge-live{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.badge-dev{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}.badge-concept{background:color-mix(in srgb,var(--text-tertiary) 22%,transparent)}.badge-concept,.badge-type{color:var(--text-secondary)}.badge-type{background:var(--bg-tertiary)}.badge-num{background:transparent;color:var(--text-tertiary);font-weight:700;letter-spacing:.05em;padding-left:0}.works-nav-rail{position:absolute;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--maxw);padding:0 clamp(16px,5vw,48px);height:580px;pointer-events:none;z-index:50}.works-nav-btn{position:absolute;top:50%;width:56px;height:56px;border-radius:50%;border:1px solid color-mix(in srgb,var(--primary) 55%,transparent);background:color-mix(in srgb,var(--bg-primary) 72%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--primary);z-index:50;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;box-shadow:0 8px 32px color-mix(in srgb,var(--bg-primary) 70%,transparent),0 0 0 1px color-mix(in srgb,var(--primary) 18%,transparent) inset,0 0 24px color-mix(in srgb,var(--primary) 22%,transparent);transition:transform .35s cubic-bezier(.4,0,.2,1),background .35s ease,border-color .35s ease,box-shadow .35s ease,color .35s ease,filter .2s ease}.works-nav-btn.prev{left:clamp(16px,5vw,48px);transform:translate(-50%,-50%)}.works-nav-btn.next{right:clamp(16px,5vw,48px);transform:translate(50%,-50%)}.works-nav-btn:hover{background:var(--primary);color:var(--bg-primary);border-color:var(--primary);box-shadow:0 16px 48px color-mix(in srgb,var(--primary) 38%,transparent),0 0 0 1px color-mix(in srgb,var(--primary) 50%,transparent) inset}.works-nav-btn.prev:hover{transform:translate(-50%,-50%) scale(1.12)}.works-nav-btn.next:hover{transform:translate(50%,-50%) scale(1.12)}.works-nav-btn:active{filter:brightness(.9)}.works-nav-btn svg{transition:transform .35s ease}.works-nav-btn.prev:hover svg{transform:translateX(-3px)}.works-nav-btn.next:hover svg{transform:translateX(3px)}@media (max-width:768px){.works-nav-btn{width:44px;height:44px}.works-nav-rail{height:460px}.works-nav-btn.prev{left:6%}.works-nav-btn.next{right:6%}}.detail-panel{max-width:980px;margin:8px auto 0}.detail-card{background:var(--bg-secondary);border:1px solid color-mix(in srgb,var(--border) 55%,transparent);border-radius:var(--radius-lg);overflow:hidden;transition:opacity .4s,transform .4s}.detail-card.switching{opacity:0;transform:translateY(12px)}.detail-top{display:grid;grid-template-columns:1.15fr .85fr}.detail-preview{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,transparent),color-mix(in srgb,var(--primary-2) 8%,transparent)),var(--bg-tertiary);display:flex;align-items:center;justify-content:center}.detail-preview-text{font-family:var(--font-mono);font-size:14px;color:var(--text-tertiary)}.work-gallery{position:absolute;inset:0;width:100%;height:100%}.work-gallery .swiper-slide{height:100%}.work-gallery-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block;background:var(--bg-tertiary)}.detail-preview-hero:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.55) 100%),linear-gradient(180deg,color-mix(in srgb,var(--primary) 6%,transparent),transparent 25%,transparent 75%,color-mix(in srgb,var(--primary-2) 6%,transparent))}.detail-preview-hero>.work-gallery{z-index:2}.work-gallery .swiper-pagination{bottom:12px}.work-gallery .swiper-pagination-bullet{background:var(--text-tertiary);opacity:.55}.work-gallery .swiper-pagination-bullet-active{background:var(--primary);opacity:1;box-shadow:0 0 8px var(--primary)}.detail-card-gallery{max-width:1080px;margin:32px auto 0}.detail-preview-hero{aspect-ratio:16/9;min-height:340px}@media (max-width:768px){.detail-preview-hero{aspect-ratio:16/10;min-height:240px}}.case-toggle-row{padding:14px 22px 18px;display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.case-toggle-row .case-toggle-btn{font-family:var(--font-mono);font-size:12px}.detail-info{padding:clamp(22px,4vw,34px);display:flex;flex-direction:column;justify-content:center}.detail-badges{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.detail-title{font-family:var(--font-display);font-size:clamp(22px,4vw,28px);font-weight:700;margin-bottom:8px}.detail-desc{font-size:14px;color:var(--text-secondary);margin-bottom:10px}.detail-role{font-size:12.5px;color:var(--primary);font-family:var(--font-mono);margin-bottom:18px}.detail-tech{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}.detail-tech span{font-family:var(--font-mono);font-size:11.5px;padding:4px 10px;border-radius:6px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary)}.detail-actions{display:flex;flex-wrap:wrap;gap:8px}.detail-actions .btn{padding:10px 18px;font-size:13px}.case-toggle{margin-top:4px}.case-expand{max-height:0;overflow:hidden;transition:max-height .6s ease;border-top:1px solid transparent}.case-expand.open{max-height:2600px;border-top-color:var(--border)}.case-inner{padding:clamp(24px,5vw,46px)}.case-block{margin-bottom:34px}.case-block:last-child{margin-bottom:0}.case-label{font-family:var(--font-mono);font-size:12.5px;color:var(--primary);margin-bottom:6px}.case-h{font-size:21px;font-weight:700;margin-bottom:12px}.case-block p{color:var(--text-secondary);font-size:14.5px;margin-bottom:8px}.case-block ul{list-style:none;margin:10px 0}.case-block li{color:var(--text-secondary);font-size:14.5px;padding:5px 0 5px 20px;position:relative}.case-block li:before{content:"◆";position:absolute;left:0;color:var(--primary);font-size:9px;top:9px}.case-results{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.case-result{text-align:center;padding:18px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.case-result-num{font-size:clamp(22px,4vw,28px);font-weight:800;color:var(--primary)}.case-result-label{font-size:12px;color:var(--text-secondary);margin-top:4px}.case-toggle-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.articles-lead{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;background:linear-gradient(160deg,color-mix(in srgb,var(--bg-secondary) 92%,transparent),var(--bg-tertiary));border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(24px,4vw,36px);transition:border-color .3s,transform .3s}.articles-lead:hover{border-color:color-mix(in srgb,var(--primary) 40%,transparent);transform:translateY(-2px)}.articles-lead-num{font-size:clamp(36px,7vw,56px);font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--primary),var(--primary-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.articles-lead-meta{color:var(--text-secondary);font-size:14px;margin-top:4px}.articles-lead-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:var(--radius-sm);font-weight:600;font-size:14.5px;color:var(--bg-primary);background:var(--primary);cursor:pointer;transition:box-shadow .3s,transform .2s;white-space:nowrap}.articles-lead-btn:hover{box-shadow:0 10px 32px color-mix(in srgb,var(--primary) 45%,transparent);transform:translateY(-2px)}.view-articles{display:block;min-height:100vh;position:relative;z-index:2;padding-bottom:clamp(70px,10vw,120px)}.view-articles.hidden{display:none}.articles-head-pad{padding-top:clamp(92px,13vh,124px)}.articles-bar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:4px}.articles-bar-title{display:flex;flex-direction:column}.articles-bar-title h2{font-size:clamp(28px,5vw,46px);font-weight:700;letter-spacing:-.02em;margin:10px 0 8px;line-height:1.1}.articles-bar-title span{color:var(--text-tertiary)}.articles-back,.articles-bar-title span{font-family:var(--font-mono);font-size:12.5px}.articles-back{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:9999px;padding:8px 15px;cursor:pointer;transition:all .25s;white-space:nowrap}.articles-back:hover{border-color:var(--primary);color:var(--primary);transform:translateX(-3px)}.articles-end{text-align:center;color:var(--text-tertiary);font-family:var(--font-mono);font-size:12.5px;padding:34px 0 0}.articles-tabs{display:flex;gap:8px;margin:10px 0 30px;overflow-x:auto;scrollbar-width:none}.articles-tabs::-webkit-scrollbar{display:none}.atab{flex-shrink:0;padding:7px 15px;border-radius:9999px;font-size:13px;font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;transition:all .25s;white-space:nowrap}.atab:hover{border-color:var(--text-secondary)}.atab.active{color:var(--bg-primary);background:var(--primary);border-color:var(--primary)}.articles-scroll{flex:1;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.articles-sentinel{height:1px}.article-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(18px,3vw,26px);display:grid;grid-template-columns:48px 1fr;gap:18px;margin-bottom:14px;transition:border-color .3s,transform .3s,box-shadow .3s}.article-card:hover{border-color:color-mix(in srgb,var(--primary) 40%,transparent);transform:translateY(-3px) scale(1.01);box-shadow:0 16px 46px color-mix(in srgb,var(--primary) 22%,transparent)}.article-num{font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--text-tertiary);line-height:1;padding-top:2px}.article-body{min-width:0}.article-head{display:flex;align-items:flex-start;gap:14px;justify-content:space-between;flex-wrap:wrap}.article-title{font-size:clamp(16px,2.4vw,19px);font-weight:700;line-height:1.45;flex:1;min-width:0}.article-badges{display:flex;gap:7px;flex-shrink:0;flex-wrap:wrap}.a-badge{font-family:var(--font-mono);font-size:10.5px;padding:3px 9px;border-radius:6px;font-weight:600;white-space:nowrap}.a-badge-original{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.a-badge-repost{background:color-mix(in srgb,var(--primary-2) 16%,transparent);color:var(--primary-2)}.a-badge-cat{border:1px solid var(--border)}.a-badge-cat,.article-source{background:var(--bg-tertiary);color:var(--text-secondary)}.article-source{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;padding:5px 10px;border-radius:6px;border:1px solid var(--border);white-space:nowrap;flex-shrink:0}.article-source .x{color:var(--primary-2);font-weight:700}.article-summary{color:var(--text-secondary);font-size:14px;line-height:1.8;margin-top:12px;max-width:780px}.article-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.article-link{color:var(--primary);font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;gap:5px;transition:gap .2s}.article-link:hover{gap:9px}.article-actions{display:flex;align-items:center;gap:6px}.act-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:9999px;color:var(--text-secondary);font-size:12.5px;cursor:pointer;transition:all .2s;font-family:inherit}.act-btn:hover{border-color:color-mix(in srgb,var(--primary) 40%,transparent);color:var(--primary)}.act-btn.liked{border-color:color-mix(in srgb,var(--primary) 50%,transparent);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.act-btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.act-btn.liked svg{fill:currentColor;stroke:currentColor}.articles-empty{text-align:center;color:var(--text-tertiary);padding:60px 0;font-family:var(--font-mono);font-size:13px}.articles-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:6px}.articles-preview-grid .article-card{margin-bottom:0;height:100%}.articles-preview-grid .article-summary.clamp3{max-width:none;max-height:5.6em;overflow:hidden}.article-source-link{color:var(--primary-2);text-decoration:none;transition:color .2s}.article-source-link:hover{color:var(--primary);text-decoration:underline}.article-date{font-family:var(--font-mono);font-size:12.5px;color:var(--text-tertiary)}.articles-preview-more{display:flex;justify-content:center;margin-top:28px}.dyn-more{display:inline-flex;align-items:center;gap:7px;padding:11px 22px;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary) 38%,transparent);background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary);font-size:13.5px;font-weight:600;letter-spacing:.02em;transition:transform .3s,background .3s,box-shadow .3s,border-color .3s}.dyn-more:hover{background:var(--primary);color:var(--bg-primary);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 12px 34px color-mix(in srgb,var(--primary) 40%,transparent)}@media (max-width:980px){.articles-preview-grid{grid-template-columns:1fr}}.article-detail{max-width:820px;margin:0 auto}.article-detail-back{margin-bottom:24px}.article-detail-head{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}.article-detail-title{font-family:var(--font-display);font-size:clamp(26px,5vw,40px);font-weight:800;letter-spacing:-.01em;line-height:1.2}.article-detail-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.article-detail-summary{color:var(--text-secondary);font-size:16px;line-height:1.8;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.article-detail-body{color:var(--text-primary);font-size:15.5px;line-height:1.9;margin-top:22px}.article-detail-body p{margin-bottom:16px}.article-detail-body pre{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;overflow-x:auto;font-family:var(--font-mono);font-size:13px;color:var(--text-secondary)}.article-detail-body code{font-family:var(--font-mono);font-size:.92em;color:var(--primary)}.comments{margin-top:clamp(40px,6vw,60px)}.comments-title{font-size:20px;font-weight:700;margin-bottom:18px;display:flex;align-items:center;gap:10px}.comments-title .count{font-family:var(--font-mono);font-size:13px;color:var(--text-tertiary);font-weight:500}.comment-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:24px}.comment-form .field{margin-bottom:12px}.comment-list{display:flex;flex-direction:column;gap:14px}.comment-item{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px}.comment-item-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.comment-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:var(--bg-primary);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.comment-author{font-weight:600;font-size:14px}.comment-date{font-family:var(--font-mono);font-size:11.5px;color:var(--text-tertiary)}.comment-content{color:var(--text-secondary);font-size:14px;line-height:1.75}.comment-pending{font-family:var(--font-mono);font-size:11px;color:var(--warning);margin-left:auto}.comments-empty{text-align:center;color:var(--text-tertiary);padding:30px 0;font-family:var(--font-mono);font-size:13px}.reco-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reco{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;display:flex;flex-direction:column;gap:16px;transition:transform .3s,border-color .3s}.reco:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.reco-stars{color:var(--primary);font-size:14px;letter-spacing:2px}.reco-quote{font-size:14.5px;color:var(--text-primary);line-height:1.75;flex:1}.reco-quote:before{content:"\201C";font-size:34px;color:var(--primary);font-family:Georgia,serif;line-height:0;vertical-align:-12px;margin-right:4px}.reco-author{gap:12px;border-top:1px solid var(--border);padding-top:16px}.reco-author,.reco-avatar{display:flex;align-items:center}.reco-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-2));justify-content:center;font-weight:700;color:var(--bg-primary);font-size:15px;flex-shrink:0}.reco-name{font-weight:600;font-size:14.5px}.reco-role{font-size:12.5px;color:var(--text-secondary)}.fab-stack{position:fixed;right:clamp(16px,3vw,32px);bottom:clamp(20px,4vw,36px);z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:14px}.fab{width:54px;height:54px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(0,0,0,.45);transition:transform .3s,box-shadow .3s;position:relative;flex-shrink:0}.fab svg{width:22px;height:22px;fill:currentColor;stroke:none}.fab:hover{transform:scale(1.1)}.fab-top{background:color-mix(in srgb,var(--bg-tertiary) 92%,transparent);color:var(--text-secondary);border:1px solid var(--border);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transform:translateY(20px)}.fab-top.show{opacity:1;pointer-events:auto;transform:none}.fab-top:hover{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 55%,transparent);box-shadow:0 8px 28px color-mix(in srgb,var(--primary) 30%,transparent)}.modal-overlay{position:fixed;inset:0;z-index:1002;background:color-mix(in srgb,var(--bg-primary) 80%,transparent);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-card{width:100%;max-width:440px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);padding:clamp(24px,5vw,34px);position:relative;transform:translateY(20px) scale(.98);transition:transform .35s cubic-bezier(.16,1,.3,1);max-height:90vh;overflow-y:auto}.modal-overlay.open .modal-card{transform:none}.modal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--primary-2))}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.modal-head h3{font-size:22px;font-weight:700;letter-spacing:-.01em}.modal-head p{font-size:13.5px;margin-top:6px}.modal-close,.modal-head p{color:var(--text-secondary)}.modal-close{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--bg-tertiary);font-size:18px;cursor:pointer;flex-shrink:0;transition:all .25s}.modal-close:hover{border-color:var(--primary);color:var(--primary);transform:rotate(90deg)}.field{margin-bottom:16px}.field label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:7px;font-weight:500}.field input,.field textarea{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;color:var(--text-primary);font-family:inherit;font-size:14px;transition:border-color .25s;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--primary)}.field textarea{min-height:96px;line-height:1.6}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-error{color:var(--danger);font-size:12px;margin-top:5px;font-family:var(--font-mono)}.modal-submit{width:100%;margin-top:6px;padding:13px;border:none;border-radius:var(--radius-sm);background:var(--primary);color:var(--bg-primary);font-weight:700;font-size:14.5px;font-family:inherit;cursor:pointer;transition:box-shadow .3s,transform .2s}.modal-submit:hover{box-shadow:0 8px 26px color-mix(in srgb,var(--primary) 45%,transparent);transform:translateY(-1px)}.modal-submit:disabled{opacity:.6;cursor:not-allowed}.modal-sent{text-align:center;padding:20px 0;display:none}.modal-sent.show{display:block}.modal-sent .check{width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--success) 16%,transparent);border:1px solid var(--success);color:var(--success);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 14px}.modal-sent p{color:var(--text-primary);font-size:15px}.modal-sent span{color:var(--text-secondary);font-size:13px;display:block;margin-top:6px}.footer{border-top:1px solid var(--border);padding:clamp(40px,7vw,64px) 0;position:relative;z-index:2}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center}.footer-info p{font-family:var(--font-mono);font-size:13px;color:var(--text-tertiary);margin-bottom:8px}.footer-name{font-family:var(--font-display);font-size:clamp(24px,4vw,32px);font-weight:800;letter-spacing:-.01em;margin-bottom:10px}.footer-name .grad{background:linear-gradient(135deg,var(--primary),var(--primary-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.footer-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.footer-link{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);transition:all .3s}.footer-link:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.footer-link.primary{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.footer-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,5vw,44px);padding-top:clamp(20px,4vw,28px);border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent);font-family:var(--font-mono);font-size:12px}.footer-admin,.footer-meta{align-items:center;color:var(--text-tertiary)}.footer-admin{display:inline-flex;gap:6px;padding:4px 10px;border-radius:9999px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);font-size:11px;letter-spacing:.04em;transition:all .25s}.footer-admin:before{content:"●";font-size:8px;color:color-mix(in srgb,var(--primary) 70%,transparent)}.footer-admin:hover{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 45%,transparent);background:color-mix(in srgb,var(--primary) 6%,transparent)}@media (max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}.radar-layout{gap:36px}.detail-top,.footer-grid,.radar-layout,.reco-grid{grid-template-columns:1fr}.footer-grid{gap:24px}.footer-links{justify-content:flex-start}}@media (max-width:760px){.nav-links{display:none}.nav-burger{display:flex}.case-results{grid-template-columns:1fr}.hero-actions .btn{flex:1;justify-content:center}.article-card{grid-template-columns:1fr;gap:8px}.article-num{font-size:18px}.article-head{flex-direction:column;gap:10px}.article-badges{order:2}.article-source{align-self:flex-start}.field-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}.radar-area{transform:scale(1)!important}.leg-bar i{width:var(--w)!important}.aurora:before{animation:none!important}.modal-card,.modal-overlay{transition:none!important}}.adm-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.adm-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-secondary);font-size:14px;transition:all .15s ease}.adm-tab:hover{color:var(--text-primary);border-color:var(--text-tertiary)}.adm-tab.active{color:var(--bg-primary);background:var(--primary);border-color:var(--primary);font-weight:600}.adm-tab-count{font-size:12px;padding:1px 7px;border-radius:999px;background:hsla(0,0%,100%,.08)}.adm-tab.active .adm-tab-count{background:rgba(0,0,0,.18)}.adm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.adm-h1{font-size:22px;font-weight:700;margin:0 0 4px}.adm-sub{margin:0;font-size:13px;color:var(--text-secondary)}.adm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;line-height:1.4;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;text-decoration:none;white-space:nowrap;transition:border-color .18s ease,background .18s ease,opacity .18s ease}.adm-btn:hover{border-color:var(--primary)}.adm-btn:disabled{opacity:.5;cursor:not-allowed}.adm-btn-primary{background:linear-gradient(100deg,var(--primary),var(--primary-2));color:#06121a;border-color:transparent}.adm-btn-danger{color:var(--danger)}.adm-btn-danger:hover{border-color:var(--danger)}.adm-btn-sm{padding:5px 10px;font-size:12px}.adm-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.adm-card+.adm-card{margin-top:16px}.adm-card-title{font-size:14px;font-weight:700;margin:0 0 14px;color:var(--text-primary)}.adm-table-wrap{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.adm-table{width:100%;border-collapse:collapse;font-size:13px}.adm-table th{text-align:left;font-weight:600;font-size:12px;color:var(--text-tertiary);background:var(--bg-tertiary);white-space:nowrap}.adm-table td,.adm-table th{padding:12px 14px;border-bottom:1px solid var(--border)}.adm-table td{vertical-align:middle;color:var(--text-primary)}.adm-table tr:last-child td{border-bottom:none}.adm-table tr:hover td{background:hsla(0,0%,100%,.02)}.adm-td-actions{display:flex;gap:8px;justify-content:flex-end}.adm-cover{width:64px;height:40px;-o-object-fit:cover;object-fit:cover;border-radius:6px;border:1px solid var(--border);display:block}.adm-cover-ph{width:64px;height:40px;border-radius:6px;border:1px dashed var(--border);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-tertiary)}.adm-strong{font-weight:600}.adm-dim{color:var(--text-tertiary);font-size:12px}.adm-badge,.adm-mono{color:var(--text-secondary)}.adm-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid var(--border);background:var(--bg-tertiary)}.adm-badge-live{color:var(--success);border-color:rgba(52,211,153,.4)}.adm-badge-dev{color:var(--warning);border-color:rgba(251,191,36,.4)}.adm-badge-concept{color:var(--primary-2);border-color:rgba(124,77,255,.45)}.adm-badge-off{color:var(--text-tertiary)}.adm-badge-on,.adm-kind-original{color:var(--primary);border-color:rgba(0,229,255,.4)}.adm-kind-repost{color:var(--primary-2);border-color:rgba(124,77,255,.45)}.adm-textarea-lg{min-height:280px;font-family:var(--font-mono);font-size:13px}.adm-textarea-md{min-height:160px;font-size:14px}.adm-stars{color:var(--primary);letter-spacing:2px;font-size:14px}.adm-clamp-2{-webkit-line-clamp:2;line-height:1.5}.adm-clamp-1,.adm-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.adm-clamp-1{-webkit-line-clamp:1;line-height:1.4}.adm-status-pending{color:var(--warning);border-color:rgba(251,191,36,.4)}.adm-status-approved{color:var(--success);border-color:rgba(52,211,153,.4)}.adm-status-spam{color:var(--danger);border-color:rgba(255,99,132,.4)}.adm-btn-ok{color:var(--success)}.adm-btn-ok:hover{border-color:var(--success)}.adm-btn-warn{color:var(--warning)}.adm-btn-warn:hover{border-color:var(--warning)}.adm-btn-del{color:var(--danger)}.adm-btn-del:hover{border-color:var(--danger)}.adm-act{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent;white-space:nowrap}.adm-act-create{color:var(--success);border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.1)}.adm-act-update{color:var(--primary);border-color:rgba(0,229,255,.4);background:rgba(0,229,255,.1)}.adm-act-delete{color:var(--danger);border-color:rgba(255,99,132,.4);background:rgba(255,99,132,.1)}.adm-act-restore{color:var(--success);border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.1)}.adm-act-hard-delete{color:var(--danger);border-color:rgba(255,99,132,.5);background:rgba(255,99,132,.16);font-weight:600}.adm-audit-summary,.adm-mono{font-family:var(--font-mono);font-size:12px}.adm-audit-summary{color:var(--text-secondary);word-break:break-all;line-height:1.5}.adm-read-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);margin-right:5px;display:inline-block}.adm-msg-body{max-width:360px;white-space:pre-wrap;word-break:break-word;line-height:1.5;font-size:13px;color:var(--text-primary);max-height:60px;overflow:hidden}.adm-group-title{font-size:13px;color:var(--text-tertiary);margin:4px 0 16px}.adm-comment-group{margin-bottom:26px}.adm-group-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.adm-row-unread td{background:rgba(0,229,255,.04)}.adm-row-unread td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.adm-empty-sm{padding:14px 16px;color:var(--text-tertiary);font-size:12px;background:var(--bg-secondary);border:1px dashed var(--border);border-radius:var(--radius-sm)}.adm-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.adm-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.adm-label i{color:var(--danger);font-style:normal;margin-left:3px}.adm-hint{font-size:11px;color:var(--text-tertiary)}.adm-input,.adm-select,.adm-textarea{width:100%;padding:9px 12px;font-size:13px;font-family:inherit;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .18s ease}.adm-input:focus,.adm-select:focus,.adm-textarea:focus{border-color:var(--primary)}.adm-textarea{resize:vertical;min-height:84px;line-height:1.6}.adm-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.adm-select option{background:var(--bg-secondary)}.adm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.adm-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}.adm-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary);cursor:pointer}.adm-check input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.adm-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:24px;padding:16px 20px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md)}.adm-msg{font-size:13px}.adm-msg-ok{color:var(--success)}.adm-msg-err{color:var(--danger)}.adm-empty{padding:44px 20px;text-align:center;color:var(--text-tertiary);font-size:13px}.gp-list{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}.gp-row{display:flex;align-items:center;gap:8px}.gp-thumb{width:54px;height:38px;-o-object-fit:cover;object-fit:cover;border-radius:6px;border:1px solid var(--border);background:var(--bg-tertiary);flex:none}.gp-row .adm-input{flex:1;min-width:0}.gp-row .adm-btn-sm{flex:none}.adm-chip-row{display:flex;flex-wrap:wrap;gap:6px}.adm-chip{padding:2px 8px;border-radius:6px;font-size:11px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary)}.adm-skill-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.adm-skill-group{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:16px 18px 18px}.adm-skill-group-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.adm-skill-group-title{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.adm-skill-group-count{font-size:11px;color:var(--text-tertiary)}.adm-skill-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px dashed var(--border)}.adm-skill-row:last-of-type{border-bottom:none}.adm-skill-row.is-dirty .adm-skill-name{border-color:var(--primary)}.adm-skill-name{width:100%;padding:6px 9px;font-size:13px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:7px;color:var(--text-primary)}.adm-skill-name:focus{outline:none;border-color:var(--primary)}.adm-stars{display:inline-flex;gap:2px}.adm-star{width:18px;height:18px;padding:0;line-height:1;font-size:13px;background:none;border:none;cursor:pointer;color:var(--text-tertiary);transition:color .15s,transform .15s}.adm-star:hover{transform:scale(1.18)}.adm-star.is-on{color:var(--primary)}.adm-star:disabled{cursor:default}.adm-skill-ops{display:flex;gap:6px;align-items:center}.adm-icon-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;border-radius:6px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all .15s}.adm-icon-btn:hover{border-color:var(--primary);color:var(--primary)}.adm-icon-btn.is-danger:hover{border-color:var(--danger);color:var(--danger)}.adm-icon-btn:disabled{opacity:.4;cursor:not-allowed}.adm-skill-add{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.adm-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.adm-card-head .adm-card-title{margin-bottom:0}.adm-dyn{display:flex;flex-direction:column;gap:14px}.adm-dyn-item{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;position:relative}.adm-dyn-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.adm-dyn-idx{font-family:var(--font-mono);font-size:12px;color:var(--primary)}.adm-dyn-item .adm-field:last-child{margin-bottom:0}@media (max-width:900px){.adm-grid-2,.adm-grid-3,.adm-skill-groups{grid-template-columns:1fr}}html.js-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}html.js-ready .reveal.in-view{opacity:1;transform:none}html.js-ready .reveal.d1{transition-delay:.06s}html.js-ready .reveal.d2{transition-delay:.14s}html.js-ready .reveal.d3{transition-delay:.22s}html.js-ready .reveal.d4{transition-delay:.3s}.cursor-glow{top:0;width:480px;height:480px;margin:-240px 0 0 -240px;border-radius:50%;z-index:60;opacity:0;transform:translate3d(var(--gx,-1000px),var(--gy,-1000px),0);background:radial-gradient(circle,color-mix(in srgb,var(--primary) 18%,transparent),transparent 62%);mix-blend-mode:screen;filter:blur(10px);transition:opacity .45s ease}.cursor-glow,.letterbox{position:fixed;left:0;pointer-events:none}.letterbox{right:0;height:56px;z-index:95}.letterbox.top{top:0;background:linear-gradient(var(--bg-primary) 28%,transparent)}.letterbox.bottom{bottom:0;background:linear-gradient(transparent,var(--bg-primary) 72%)}.letterbox.bottom:after,.letterbox.top:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--primary) 55%,transparent) 50%,transparent);opacity:.55}.letterbox.top:after{bottom:0}.letterbox.bottom:after{top:0}.reco,.stat{position:relative;overflow:hidden}.reco:after,.stat:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--primary) 22%,transparent),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none;transition:left .7s ease,opacity .3s ease}.reco:hover:after,.stat:hover:after{left:130%;opacity:1}.work-card-inner{position:relative}.work-card-inner:after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg);background:linear-gradient(105deg,transparent 32%,color-mix(in srgb,var(--primary) 20%,transparent) 50%,transparent 68%);mix-blend-mode:screen;opacity:0;pointer-events:none;transition:opacity .35s ease}.work-card-inner:hover:after{opacity:1}.btn-primary{position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,hsla(0,0%,100%,.42),transparent);transform:skewX(-20deg);animation:btnShine 3.4s ease-in-out infinite;pointer-events:none}@keyframes btnShine{0%,to{left:-60%}50%{left:120%}}@media (prefers-reduced-motion:reduce){html.js-ready .reveal{opacity:1!important;transform:none!important}.btn-primary:after,.cursor-glow,.letterbox{display:none!important}.btn-primary:after{animation:none!important}.reco:after,.stat:after,.work-card-inner:after{display:none!important}}