*,:before,:after,::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:#3b82f680;--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: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Manrope,Noto Sans SC,Microsoft YaHei,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}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{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:IBM Plex Mono,Consolas,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.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))}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg:#070707;--surface:#10100f;--surface-elevated:#171612;--gold:#c8a45d;--gold-bright:#e2c779;--text:#f3f0e8;--muted:#9b978e;--line:#c8a45d3d;--line-neutral:#f3f0e81f;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Manrope,Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);min-width:320px;margin:0;overflow-x:clip}section[id]{scroll-margin-top:76px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}::selection{color:#070707;background:var(--gold-bright)}.content-wrap{width:min(100% - 32px,1600px);margin-inline:auto}.section-space{padding-block:clamp(96px,11vw,180px)}.scroll-progress{z-index:1000;transform-origin:0;background:var(--gold-bright);height:2px;position:fixed;inset:0 0 auto}.section-label{align-items:center;gap:12px;margin-bottom:28px;display:flex}.section-label>span{background:var(--gold);width:38px;height:1px}.section-label p{color:var(--gold-bright);letter-spacing:.12em;margin:0;font:500 11px/1.2 IBM Plex Mono,monospace}.section-heading{margin-bottom:clamp(64px,8vw,116px)}.section-heading h2,.contact-section h2{max-width:none;color:var(--text);letter-spacing:0;margin:0;font-size:clamp(34px,4.8vw,72px);font-weight:700;line-height:1.12}.heading-line{white-space:nowrap;display:block}.section-heading-row{justify-content:space-between;align-items:end;gap:clamp(32px,5vw,64px);display:flex}.section-heading-main{flex:auto;min-width:min-content}.section-heading-main h2{width:max-content;max-width:100%}.section-heading-row>p{max-width:280px;color:var(--muted);flex:0 0 min(280px,28vw);margin:0 0 8px;font-size:16px;line-height:1.75}.button{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:11px;min-height:48px;padding:0 22px;font-size:14px;font-weight:700;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#0a0907;background:var(--gold-bright);border-color:var(--gold-bright)}.button-primary:hover{background:#efd58f;border-color:#efd58f}.button-secondary{color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07070738;border-color:#f3f0e866}.button-secondary:hover{border-color:var(--gold);color:var(--gold-bright)}.button:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}.site-header{z-index:50;border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;padding-inline:max(16px,50vw - 800px);transition:background .3s,border-color .3s,height .3s;display:grid;position:fixed;inset:0 0 auto}.site-header.is-scrolled{border-color:var(--line-neutral);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#070707e0;height:66px}.monogram{color:var(--text);justify-self:start;font:800 19px/1 Manrope,sans-serif}.monogram span{color:var(--gold-bright)}.desktop-nav{gap:clamp(24px,3vw,48px);display:flex}.desktop-nav a{color:#f3f0e8c7;font-size:13px;font-weight:600;position:relative}.desktop-nav a:after{content:"";background:var(--gold);transform-origin:100%;height:1px;transition:transform .25s;position:absolute;inset:auto 0 -9px;transform:scaleX(0)}.desktop-nav a:hover{color:var(--text)}.desktop-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.resume-link{min-height:40px;color:var(--text);border:1px solid var(--line);border-radius:4px;justify-self:end;align-items:center;gap:9px;padding:0 16px;font-size:12px;font-weight:700;display:inline-flex}.resume-link:hover{color:var(--gold-bright);border-color:var(--gold)}.menu-button,.mobile-nav{display:none}.hero-section{background:var(--bg);min-height:100svh;position:relative;overflow:hidden}.hero-media{background-position:50%;background-size:cover;position:absolute;inset:0;overflow:hidden}.hero-shader{position:absolute;inset:0}.hero-shader canvas{display:block;width:100%!important;height:100%!important}.hero-base-overlay,.hero-directional-overlay,.hero-bottom-overlay,.hero-noise{pointer-events:none;position:absolute;inset:0}.hero-base-overlay{background:#00000045}.hero-directional-overlay{background:linear-gradient(90deg,#070707f5 0%,#070707b8 35%,#07070733 72%,#0707076b 100%)}.hero-bottom-overlay{background:linear-gradient(#07070714 55%,#070707f5 100%)}.hero-noise{opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.video-control{z-index:4;width:44px;height:44px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07070794;border:1px solid #f3f0e847;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:24px;right:24px}.video-control:hover{border-color:var(--gold);color:var(--gold-bright)}.hero-content{z-index:5;flex-direction:column;justify-content:flex-end;min-height:100svh;padding-top:120px;padding-bottom:clamp(70px,8vh,96px);display:flex;position:relative}.hero-eyebrow{color:var(--gold-bright);letter-spacing:.1em;margin:0 0 20px;font:500 clamp(10px,1vw,13px)/1.3 IBM Plex Mono,monospace}.hero-eyebrow span{color:var(--muted);margin-inline:8px}.hero-title-wrap h1{letter-spacing:0;margin:0;font-size:clamp(72px,11.3vw,176px);font-weight:800;line-height:.82}.hero-title-wrap>p{color:#f3f0e8b3;letter-spacing:.18em;margin:18px 0 0 6px;font:500 clamp(12px,1.3vw,18px)/1 IBM Plex Mono,monospace}.hero-lower{grid-template-columns:minmax(0,650px) 1fr;align-items:end;gap:64px;margin-top:clamp(34px,5vh,64px);display:grid}.hero-intro>p{color:#f3f0e8e6;max-width:620px;margin:0;font-size:clamp(16px,1.6vw,23px);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.hero-meta{justify-self:end;padding-bottom:4px}.hero-meta p{color:#f3f0e8b8;align-items:center;gap:9px;margin:13px 0 0;font-size:12px;display:flex}.status-dot{background:#7dc99a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #7dc99a1f}.scroll-hint{z-index:6;color:var(--muted);letter-spacing:.12em;align-items:center;gap:10px;font:500 10px/1 IBM Plex Mono,monospace;display:flex;position:absolute;bottom:90px;right:max(88px,50vw - 720px)}.impact-section{z-index:8;border-block:1px solid var(--line);background:#0a0a09;position:relative}.impact-grid{grid-template-columns:repeat(6,1fr);display:grid}.metric-item{border-right:1px solid var(--line-neutral);flex-direction:column;justify-content:center;min-height:150px;padding:28px 20px;display:flex}.metric-item:last-child{border-right:0}.metric-item strong{color:var(--gold-bright);font-size:clamp(28px,3vw,46px);font-weight:600;line-height:1}.metric-item span{color:var(--muted);margin-top:14px;font-size:12px;line-height:1.5}.projects-section{background:var(--bg)}.project-list{flex-direction:column;gap:clamp(120px,15vw,220px);display:flex}.project-story{grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);align-items:center;gap:clamp(44px,6vw,100px);display:grid}.project-story.is-reverse{grid-template-columns:minmax(340px,.75fr) minmax(0,1.45fr)}.project-story.is-reverse .project-media{order:2}.project-story.is-reverse .project-copy{order:1}.project-media{position:sticky;top:110px}.visual-shell{border:1px solid var(--line);background:#0e0e0d;border-radius:6px;min-height:610px;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000057}.visual-topline{border-bottom:1px solid var(--line-neutral);height:56px;color:var(--muted);letter-spacing:.1em;justify-content:space-between;align-items:center;padding-inline:20px;font:500 10px/1 IBM Plex Mono,monospace;display:flex}.live-dot{color:#91c7a2;align-items:center;gap:8px;display:flex}.live-dot:before{content:"";background:#7dc99a;border-radius:50%;width:6px;height:6px}.project-index{align-items:center;gap:20px;margin-bottom:44px;display:flex}.project-index>span{color:var(--gold-bright);font:500 13px/1 IBM Plex Mono,monospace}.project-index>p{color:var(--muted);margin:0;font-size:12px}.project-copy h3{margin:0;font-size:clamp(46px,5.4vw,82px);font-weight:700;line-height:.95}.project-copy h3 small{color:var(--gold);letter-spacing:.14em;margin-top:15px;font:500 11px/1 IBM Plex Mono,monospace;display:block}.project-lead{color:#f3f0e8e0;margin:38px 0;font-size:18px;line-height:1.8}.project-details{border-top:1px solid var(--line-neutral);margin:0}.project-details>div{border-bottom:1px solid var(--line-neutral);grid-template-columns:54px 1fr;gap:20px;padding-block:20px;display:grid}.project-details dt{color:var(--gold);font:500 11px/1.7 IBM Plex Mono,monospace}.project-details dd{color:var(--muted);margin:0;font-size:14px;line-height:1.75}.project-metric{color:var(--gold-bright);letter-spacing:.08em;margin:28px 0 18px;font:500 11px/1.4 IBM Plex Mono,monospace}.tag-list{flex-wrap:wrap;gap:8px;display:flex}.tag-list>span{color:var(--muted);border:1px solid var(--line-neutral);border-radius:3px;padding:7px 10px;font:500 10px/1 IBM Plex Mono,monospace}.horizontal-project{grid-template-columns:minmax(330px,390px) minmax(0,1fr);align-items:center;gap:clamp(42px,4vw,76px);width:100%;min-height:790px;transition:width .95s cubic-bezier(.22,1,.36,1);display:grid;position:relative}.horizontal-project.is-expanded{width:min(1760px,100vw + -1*max(24px,50vw - 800px))}.horizontal-project-copy{z-index:3;position:relative}.horizontal-project-copy h3{margin:0;font-size:clamp(54px,5.4vw,82px);font-weight:700;line-height:.95}.horizontal-project-copy h3 small{color:var(--gold);letter-spacing:.14em;margin-top:15px;font:500 11px/1 IBM Plex Mono,monospace;display:block}.horizontal-project-gallery{min-width:0;position:relative}.horizontal-project-viewport{padding:4px 0 20px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 72px calc(100% - 52px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 72px calc(100% - 52px),#0000 100%)}.horizontal-project-viewport::-webkit-scrollbar{display:none}.horizontal-project-track{gap:22px;width:max-content;padding-inline:54px 18vw;display:flex}.project-output-slide{border:1px solid var(--line);background:#0b0b0a;border-radius:6px;flex:none;grid-template-rows:68px minmax(0,1fr) auto;width:clamp(700px,44vw,880px);height:680px;display:grid;overflow:hidden;box-shadow:0 24px 70px #00000047}.project-output-slide>header{border-bottom:1px solid var(--line-neutral);grid-template-columns:46px 1fr;align-items:center;padding:0 20px;display:grid}.project-output-slide>header>span{color:var(--gold);font:500 11px/1 IBM Plex Mono,monospace}.project-output-slide>header div{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.project-output-slide>header small{color:var(--muted);letter-spacing:.1em;font:500 9px/1 IBM Plex Mono,monospace}.project-output-slide>header h4{margin:0;font-size:22px;font-weight:600}.project-output-slide>p{min-height:78px;color:var(--muted);border-top:1px solid var(--line-neutral);margin:0;padding:17px 20px;font-size:13px;line-height:1.7}.project-output-media{background:#080808;min-height:0;overflow:hidden}.project-output-media .visual-shell{width:100%;height:100%;min-height:0;box-shadow:none;border:0;border-radius:0}.project-output-media .huixin-visual .style-stage{padding-top:54px}.project-output-media .huixin-visual .style-input,.project-output-media .huixin-visual .style-output{min-height:260px}.project-output-grid{background:#191816;gap:2px;height:100%;display:grid}.project-output-grid button,.ranger-showcase>button{min-width:0;color:var(--text);cursor:zoom-in;background:#090909;border:0;padding:0;position:relative;overflow:hidden}.project-output-grid img,.ranger-showcase img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.22,1,.36,1),filter .3s;display:block}.project-output-grid button:hover img,.ranger-showcase>button:hover img{filter:brightness(1.08);transform:scale(1.025)}.project-output-grid svg,.ranger-showcase button svg{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050505a3;border:1px solid #ffffff40;border-radius:50%;width:36px;height:36px;padding:9px;position:absolute;bottom:14px;right:14px}.project-output-grid.grid-2{grid-template-columns:1fr 1fr}.project-output-grid.grid-3{grid-template-rows:1fr 1fr;grid-template-columns:1.35fr .85fr}.project-output-grid.grid-3 button:first-child{grid-row:1/-1}.huixin-production-slide .project-output-grid{background:#111}.huixin-production-slide .project-output-grid img{-o-object-fit:contain;object-fit:contain}.project-output-slide.huixin-style-slide{width:clamp(920px,58vw,1120px)}.huixin-style-grid{background:#24231f;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(5,1fr);gap:2px;height:100%;display:grid}.huixin-style-grid button{min-width:0;color:var(--text);cursor:zoom-in;background:#0a0a09;border:0;padding:0;position:relative;overflow:hidden}.huixin-style-grid button:after{content:"";pointer-events:none;background:linear-gradient(#0000,#050504e6);position:absolute;inset:38% 0 0}.huixin-style-grid img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .55s cubic-bezier(.22,1,.36,1),filter .3s;display:block}.huixin-style-grid button:hover img{filter:brightness(1.08);transform:scale(1.045)}.huixin-style-grid button>span{z-index:2;text-align:left;grid-template-rows:auto auto;grid-template-columns:24px 1fr;align-items:end;display:grid;position:absolute;bottom:11px;left:12px;right:10px}.huixin-style-grid button i{color:var(--gold-bright);grid-row:1/3;align-self:center;font:8px/1 IBM Plex Mono,monospace}.huixin-style-grid button strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.huixin-style-grid button small{color:#f3f0e8ad;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font:500 7px/1 IBM Plex Mono,monospace;overflow:hidden}.huixin-style-grid button>svg{z-index:3;opacity:0;filter:drop-shadow(0 2px 5px #000c);transition:opacity .25s;position:absolute;top:10px;right:10px}.huixin-style-grid button:hover>svg{opacity:1}.project-output-slide.huixin-workflow-slide{width:clamp(980px,62vw,1200px)}.huixin-workflow-showcase{background:#24231f;grid-template-columns:minmax(240px,.86fr) 70px minmax(0,1.8fr);gap:2px;height:100%;display:grid}.huixin-workflow-source,.huixin-workflow-results button{min-width:0;min-height:0;color:var(--text);cursor:zoom-in;background:#0c0c0b;border:0;padding:0;position:relative;overflow:hidden}.huixin-workflow-source img,.huixin-workflow-results img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.22,1,.36,1),filter .3s;display:block}.huixin-workflow-source:hover img,.huixin-workflow-results button:hover img{filter:brightness(1.06);transform:scale(1.025)}.huixin-workflow-source:after,.huixin-workflow-results button:after{content:"";pointer-events:none;background:linear-gradient(#0000,#050504e6);position:absolute;inset:42% 0 0}.huixin-workflow-source>span,.huixin-workflow-results button>span{z-index:2;text-align:left;grid-template-rows:auto auto;grid-template-columns:34px 1fr;display:grid;position:absolute;bottom:13px;left:14px;right:10px}.huixin-workflow-source span>i,.huixin-workflow-results span>i{color:var(--gold-bright);grid-row:1/3;align-self:center;font:8px/1 IBM Plex Mono,monospace}.huixin-workflow-source span>strong,.huixin-workflow-results span>strong{font-size:14px;font-weight:600}.huixin-workflow-source span>small,.huixin-workflow-results span>small{color:#f3f0e8a3;margin-top:4px;font:500 7px/1 IBM Plex Mono,monospace}.huixin-workflow-source>svg,.huixin-workflow-results button>svg{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:#0505059e;border:1px solid #ffffff42;border-radius:50%;width:31px;height:31px;padding:7px;transition:opacity .25s;position:absolute;top:10px;right:10px}.huixin-workflow-source:hover>svg,.huixin-workflow-results button:hover>svg{opacity:1}.huixin-workflow-flow{color:var(--gold);background:#0b0b0a;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.huixin-workflow-flow i{background:linear-gradient(transparent,var(--gold),transparent);width:1px;height:62px}.huixin-workflow-flow span{font:500 8px/1 IBM Plex Mono,monospace}.huixin-workflow-flow strong{color:var(--muted);text-align:center;font:500 7px/1.7 IBM Plex Mono,monospace}.huixin-workflow-results{background:#24231f;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,1fr);gap:2px;min-width:0;min-height:0;display:grid;overflow:hidden}.project-output-slide.huixin-process-slide{width:clamp(980px,62vw,1200px)}.huixin-process{background:#0a0a09;grid-template-rows:62px minmax(0,1fr) 54px;height:100%;display:grid}.huixin-process-tabs{border-bottom:1px solid var(--line-neutral);grid-template-columns:repeat(2,1fr);display:grid}.huixin-process-tabs button{min-width:0;color:var(--muted);text-align:left;border:0;border-right:1px solid var(--line-neutral);cursor:pointer;background:#0d0d0c;grid-template-columns:28px auto 1fr;align-items:center;gap:10px;padding:0 16px;transition:color .2s,background .2s;display:grid}.huixin-process-tabs button:last-child{border-right:0}.huixin-process-tabs button:hover,.huixin-process-tabs button.is-active{color:var(--text);background:#c8a45d14}.huixin-process-tabs button.is-active{box-shadow:inset 0 -2px var(--gold-bright)}.huixin-process-tabs span{color:var(--gold);font:500 9px/1 IBM Plex Mono,monospace}.huixin-process-tabs strong{white-space:nowrap;font-size:13px;font-weight:600}.huixin-process-tabs small{color:#666258;text-overflow:ellipsis;white-space:nowrap;font:500 7px/1 IBM Plex Mono,monospace;overflow:hidden}.huixin-process-stage{background:#24231f;grid-template-columns:1fr 1fr 1.38fr;gap:2px;min-height:0;display:grid}.huixin-process-stage>button{min-width:0;color:var(--text);cursor:zoom-in;background:#11100e;border:0;padding:0;position:relative;overflow:hidden}.huixin-process-stage img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .55s cubic-bezier(.22,1,.36,1),filter .3s;display:block}.huixin-process-stage>button:hover img{filter:brightness(1.06);transform:scale(1.025)}.huixin-process-stage>button.is-analysis img{-o-object-fit:contain;object-fit:contain;background:#d9c5a4}.huixin-process-stage>button:after{content:"";pointer-events:none;background:linear-gradient(#0000,#050504e6);height:34%;position:absolute;inset:auto 0 0}.huixin-process-stage>button>span{z-index:2;text-align:left;grid-template-rows:auto auto;grid-template-columns:24px auto;align-items:end;display:grid;position:absolute;bottom:12px;left:14px}.huixin-process-stage>button i{color:var(--gold-bright);grid-row:1/3;align-self:center;font:8px/1 IBM Plex Mono,monospace}.huixin-process-stage>button strong{font-size:13px;font-weight:600}.huixin-process-stage>button small{color:#f3f0e899;margin-top:4px;font:500 7px/1 IBM Plex Mono,monospace}.huixin-process-stage>button>svg{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0505059e;border:1px solid #ffffff42;border-radius:50%;width:34px;height:34px;padding:8px;position:absolute;top:12px;right:12px}.huixin-process-points{border-top:1px solid var(--line-neutral);grid-template-columns:1.1fr repeat(3,1fr);align-items:center;display:grid}.huixin-process-points>span{color:var(--gold);padding-left:16px;font:500 8px/1 IBM Plex Mono,monospace}.huixin-process-points p{height:100%;color:var(--muted);border-left:1px solid var(--line-neutral);white-space:nowrap;align-items:center;gap:8px;margin:0;padding-inline:12px;font-size:10px;display:flex}.huixin-process-points i{color:var(--gold-bright);font:8px/1 IBM Plex Mono,monospace}.ranger-showcase{background:#191816;grid-template-columns:.8fr 1.2fr;gap:2px;height:100%;display:grid}.ranger-showcase video{-o-object-fit:cover;object-fit:cover;background:#050505;width:100%;height:100%}.grey-character-showcase{background:#090909;grid-template-rows:minmax(0,1fr) 96px;height:100%;display:grid}.grey-character-stage{background:#24231f;grid-template-columns:.42fr .58fr;gap:2px;min-height:0;display:grid}.grey-character-stage>button{min-width:0;color:var(--text);cursor:zoom-in;background:#f0eee9;border:0;padding:0;position:relative;overflow:hidden}.grey-character-stage>button>img{-o-object-fit:contain;object-fit:contain;-o-object-position:center bottom;object-position:center bottom;width:100%;height:100%;transition:transform .5s cubic-bezier(.22,1,.36,1);display:block}.grey-character-stage>button:hover>img{transform:scale(1.025)}.grey-character-stage>button>span{text-align:left;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#080807c7;gap:6px;padding:10px 12px;display:grid;position:absolute;bottom:14px;left:16px}.grey-character-stage>button>span small{color:var(--gold);letter-spacing:.08em;font:500 8px/1 IBM Plex Mono,monospace}.grey-character-stage>button>span strong{font-size:17px;font-weight:600}.grey-character-stage>button>svg{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050505a3;border:1px solid #ffffff40;border-radius:50%;width:36px;height:36px;padding:9px;position:absolute;bottom:14px;right:14px}.grey-character-video{background:#efede8;min-width:0;position:relative;overflow:hidden}.grey-character-video video{-o-object-fit:cover;object-fit:cover;background:#efede8;width:100%;height:100%;display:block}.grey-character-video>span{color:var(--gold-bright);letter-spacing:.08em;pointer-events:none;background:#080807c2;padding:8px 10px;font:500 8px/1 IBM Plex Mono,monospace;position:absolute;top:14px;left:14px}.ranger-video-sequence{background:#efede8;position:absolute;inset:0;overflow:hidden}.ranger-video-placeholder{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.ranger-video-sequence video{opacity:0;-o-object-fit:cover;object-fit:cover;transition:opacity .7s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.ranger-video-sequence.is-intro .ranger-intro-video,.ranger-video-sequence.is-loop .ranger-loop-video{z-index:1;opacity:1}.ranger-video-sequence>span{z-index:2;color:var(--gold-bright);letter-spacing:.08em;pointer-events:none;background:#080807c2;padding:8px 10px;font:500 8px/1 IBM Plex Mono,monospace;position:absolute;top:14px;left:14px}.grey-character-selector{border-top:1px solid var(--line-neutral);grid-template-columns:repeat(3,1fr);display:grid}.grey-character-selector>button{min-width:0;color:var(--muted);text-align:left;border:0;border-right:1px solid var(--line-neutral);cursor:pointer;background:#0c0c0b;grid-template-columns:52px 1fr;align-items:center;gap:11px;padding:10px 28px 10px 10px;transition:color .2s,background .2s;display:grid;position:relative}.grey-character-selector>button:last-child{border-right:0}.grey-character-selector>button:hover,.grey-character-selector>button.is-active{color:var(--text);background:#c8a45d14}.grey-character-selector>button.is-active{box-shadow:inset 0 2px var(--gold-bright)}.grey-character-selector img{-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;background:#efede8;width:52px;height:66px}.grey-character-selector span{gap:6px;min-width:0;display:grid}.grey-character-selector strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.grey-character-selector small{color:var(--gold);text-overflow:ellipsis;white-space:nowrap;font:500 7px/1 IBM Plex Mono,monospace;overflow:hidden}.grey-character-selector i{color:#5f5c54;font:8px/1 IBM Plex Mono,monospace;position:absolute;top:10px;right:9px}.grey-character-selector>button.is-active i{color:var(--gold-bright)}.voice-list{background:radial-gradient(circle at 86% 20%,#c8a45d1a,#0000 38%),#090909;flex-direction:column;justify-content:center;height:100%;padding:24px 28px;display:flex}.voice-list>div{border-bottom:1px solid var(--line-neutral);grid-template-columns:34px 28px minmax(150px,1fr) minmax(210px,.8fr);align-items:center;gap:12px;min-height:92px;display:grid}.voice-list>div:last-child{border-bottom:0}.voice-list>div>span{color:var(--gold);font:500 10px/1 IBM Plex Mono,monospace}.voice-list>div>svg{color:var(--gold-bright)}.voice-list p{gap:8px;margin:0;display:grid}.voice-list small{color:var(--muted);font:500 9px/1 IBM Plex Mono,monospace}.voice-list strong{font-size:14px;font-weight:500}.voice-list audio{opacity:.78;width:100%;height:36px}.horizontal-gallery-controls{grid-template-columns:minmax(120px,1fr) 64px 42px 42px;align-items:center;gap:8px;padding:18px 54px 0;display:grid}.horizontal-gallery-rail{background:var(--line-neutral);height:1px;overflow:hidden}.horizontal-gallery-rail i{background:var(--gold-bright);transform-origin:0;width:100%;height:100%;transition:transform .45s cubic-bezier(.22,1,.36,1);display:block}.horizontal-gallery-controls>span{color:var(--muted);text-align:center;font:9px/1 IBM Plex Mono,monospace}.horizontal-gallery-controls button{width:42px;height:42px;color:var(--text);border:1px solid var(--line-neutral);cursor:pointer;background:#11110f;border-radius:3px;place-items:center;padding:0;transition:color .2s,background .2s,border-color .2s;display:grid}.horizontal-gallery-controls button:hover:not(:disabled){color:#090807;background:var(--gold-bright);border-color:var(--gold-bright)}.horizontal-gallery-controls button:disabled{opacity:.3;cursor:default}.horizontal-project.is-guided.is-expanded.is-at-origin .horizontal-gallery-controls button:last-child{animation:1.4s ease-in-out 1s infinite project-next-flash}.horizontal-project.is-guided.is-expanded.is-at-origin .horizontal-gallery-controls button:last-child svg{animation:1.4s ease-in-out 1s infinite project-next-arrow}.horizontal-project.is-guided.is-expanded.is-at-origin .project-output-slide:nth-child(2){animation:2.3s cubic-bezier(.22,1,.36,1) 1.15s 2 project-card-hint}@keyframes project-next-flash{0%,to{color:var(--text);border-color:var(--line-neutral);box-shadow:none;background:#11110f}48%,58%{color:#090807;background:var(--gold-bright);border-color:var(--gold-bright);box-shadow:0 0 0 5px #e2c7791a,0 0 26px #e2c77947}}@keyframes project-next-arrow{0%,to{transform:translate(0)}48%,58%{transform:translate(5px)}}@keyframes project-card-hint{0%,to{transform:translate(0)}42%,58%{transform:translate(-30px)}}.project-output-modal{z-index:140;background:#000000f5}.project-output-modal img{max-width:min(1420px,94vw);max-height:86vh;box-shadow:0 30px 100px #000000b3}.project-output-modal p{color:var(--muted);margin:0;font-size:12px;position:absolute;bottom:22px}.visual-shell.grey-visual{aspect-ratio:1600/1066;background:#090b0a;min-height:0}.grey-visual img{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;width:100%;height:100%}.radar-stage{border:1px solid var(--line-neutral);background:radial-gradient(circle,#c8a45d14,#0000 58%);position:absolute;inset:76px 20px 112px;overflow:hidden}.radar-stage:before,.radar-stage:after{content:"";background:#c8a45d26;position:absolute}.radar-stage:before{width:1px;height:100%;top:0;left:50%}.radar-stage:after{width:100%;height:1px;top:50%;left:0}.radar-ring{border:1px solid #c8a45d40;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.radar-ring-a{width:250px;height:250px}.radar-ring-b{width:430px;height:430px}.radar-line{background:linear-gradient(90deg, var(--gold), transparent);transform-origin:0;width:210px;height:1px;position:absolute;top:50%;left:50%;transform:rotate(-28deg)}.radar-node{border:2px solid #c96d59;border-radius:50%;width:10px;height:10px;position:absolute;box-shadow:0 0 0 5px #c96d5914}.node-a{top:24%;left:25%}.node-b{top:65%;left:72%}.node-c{top:30%;left:80%}.player-core{color:#090b0a;background:var(--gold-bright);border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 12px #e2c77914}.map-label{color:var(--muted);font:500 9px/1 IBM Plex Mono,monospace;position:absolute}.label-a{top:18%;left:11%}.label-b{bottom:14%;right:8%}.pipeline-footer{border:1px solid var(--line-neutral);grid-template-columns:repeat(4,1fr);display:grid;position:absolute;inset:auto 20px 20px}.pipeline-node{border-right:1px solid var(--line-neutral);flex-direction:column;gap:8px;padding:16px;display:flex}.pipeline-node:last-child{border:0}.pipeline-node span{color:var(--gold);font:9px/1 IBM Plex Mono,monospace}.pipeline-node strong{font:500 11px/1 IBM Plex Mono,monospace}.huixin-visual{background:linear-gradient(155deg,#14120f 0%,#0b0b0a 62%)}.style-stage{grid-template-columns:1fr 70px 1fr;align-items:center;gap:14px;padding:78px 34px 36px;display:grid}.style-input,.style-output{border:1px solid var(--line-neutral);flex-direction:column;justify-content:end;min-height:330px;padding:20px;display:flex}.portrait-grid{grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:auto;display:grid}.portrait-grid span{aspect-ratio:1;background:#292824}.portrait-grid span:nth-child(3n){background:#51483a}.portrait-grid span:nth-child(5n){background:var(--gold);opacity:.65}.style-stage small{color:var(--muted);letter-spacing:.08em;font:9px/1 IBM Plex Mono,monospace}.style-stage strong{margin-top:9px;font-size:16px}.style-process{color:var(--gold);flex-direction:column;align-items:center;gap:14px;display:flex}.style-process span{background:var(--line);width:1px;height:75px}.style-output{grid-template-columns:repeat(2,1fr);align-content:end;gap:7px;display:grid}.style-swatch{min-height:90px}.swatch-a{background:linear-gradient(135deg,#795b38,#d5b578 55%,#403628);grid-column:1/-1}.swatch-b{background:linear-gradient(160deg,#39524c,#bbad72)}.swatch-c{background:linear-gradient(160deg,#492e35,#c68e63)}.style-output small,.style-output strong{grid-column:1/-1}.cluster-row{grid-template-columns:repeat(4,1fr);gap:8px;padding:0 34px 34px;display:grid}.gpu-chip{color:var(--muted);border:1px solid var(--line-neutral);align-items:center;gap:8px;padding:12px;font:9px/1 IBM Plex Mono,monospace;display:flex}.gpu-chip svg{color:var(--gold)}.todo-visual{background:#0c0d0c}.todo-layout{grid-template-columns:136px 1fr;min-height:552px;display:grid}.todo-sidebar{border-right:1px solid var(--line-neutral);background:#090a09;padding:22px 14px}.todo-brand{color:var(--gold-bright);align-items:center;gap:10px;margin-bottom:44px;display:flex}.todo-brand strong{font:600 15px/1 IBM Plex Mono,monospace}.todo-step{color:#66645f;border-left:2px solid #0000;grid-template-columns:25px 1fr;margin-bottom:5px;padding:13px 8px;font:9px/1 IBM Plex Mono,monospace;display:grid}.todo-step.is-active{color:var(--text);border-color:var(--gold);background:#c8a45d14}.todo-step span{color:var(--gold)}.todo-content{padding:34px}.score-overview{border:1px solid var(--line-neutral);grid-template-columns:repeat(3,1fr);margin-bottom:28px;display:grid}.score-overview>div{border-right:1px solid var(--line-neutral);padding:18px}.score-overview>div:last-child{border:0}.score-overview small{color:var(--muted);font:9px/1 IBM Plex Mono,monospace;display:block}.score-overview strong{color:var(--gold-bright);margin-top:12px;font-size:22px;display:block}.data-table{border:1px solid var(--line-neutral)}.data-row{border-bottom:1px solid var(--line-neutral);min-height:52px;color:var(--muted);grid-template-columns:32px 1fr 50px 74px;align-items:center;padding-inline:14px;font:9px/1 IBM Plex Mono,monospace;display:grid}.data-row:last-child{border:0}.file-icon{color:var(--gold)}.file-name{color:var(--text)}.status-pass,.status-reject{align-items:center;gap:5px;display:flex}.status-pass{color:#7dc99a}.status-reject{color:#c96d59}.quality-bars{gap:15px;margin-top:32px;display:grid}.quality-bars div{border-bottom:2px solid #262622;height:20px;position:relative}.quality-bars span{color:var(--muted);font:8px/1 IBM Plex Mono,monospace}.quality-bars i{background:var(--gold);height:2px;position:absolute;bottom:-2px;left:0}.lab-section{border-top:1px solid var(--line);background:var(--surface)}.lab-workbench{border:1px solid var(--line);border-radius:6px;grid-template-columns:330px 1fr;min-height:650px;display:grid;overflow:hidden}.lab-tabs{border-right:1px solid var(--line-neutral);background:#0b0b0a}.lab-tabs button{width:100%;min-height:150px;color:var(--muted);text-align:left;border:0;border-bottom:1px solid var(--line-neutral);cursor:pointer;background:0 0;grid-template-rows:auto auto;grid-template-columns:38px 1fr;align-content:center;padding:24px;transition:background .2s,color .2s;display:grid}.lab-tabs button span{color:var(--gold);grid-row:1/3;font:10px/1 IBM Plex Mono,monospace}.lab-tabs button strong{color:inherit;font-size:15px}.lab-tabs button small{margin-top:8px;font:9px/1 IBM Plex Mono,monospace}.lab-tabs button:hover,.lab-tabs button.is-active{color:var(--text);background:#c8a45d12}.lab-tabs button.is-active{box-shadow:inset 2px 0 var(--gold)}.lab-panel{grid-template-rows:minmax(0,1fr) auto;min-width:0;display:grid}.lab-media{background:#e5e4df;place-items:center;min-height:450px;display:grid;overflow:hidden}.lab-media>img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%}.lab-description{border-top:1px solid var(--line-neutral);grid-template-columns:1fr 2fr;gap:26px;padding:28px;display:grid}.lab-description>span{color:var(--gold);letter-spacing:.08em;font:9px/1.4 IBM Plex Mono,monospace}.lab-description h3{margin:0;font-size:22px}.lab-description p{color:var(--muted);grid-column:2;margin:0;font-size:14px;line-height:1.8}.tool-suite{color:#191a18;width:min(90%,760px)}.tool-suite-head{color:#f3f0e8;background:#171815;justify-content:space-between;padding:16px;font:10px/1 IBM Plex Mono,monospace;display:flex}.tool-suite-head span{color:#9cc7a8}.tool-suite-grid{background:#f3f0e8;border:1px solid #c7c5bd;grid-template-columns:repeat(2,1fr);display:grid}.tool-suite-grid div{border-bottom:1px solid #d4d1c8;border-right:1px solid #d4d1c8;grid-template-columns:32px 1fr auto;align-items:end;min-height:115px;padding:18px;display:grid}.tool-suite-grid span,.tool-suite-grid i{color:#8a806e;font:9px/1 IBM Plex Mono,monospace}.tool-suite-grid strong{font-size:15px}.tool-console{color:#d8d5cd;background:#22231f;padding:15px;font:9px/1.4 IBM Plex Mono,monospace}.tool-console p{color:#8f9287;margin:8px 0 0}.alpha-demo{color:#171713;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);align-items:center;width:min(94%,900px);display:grid}.alpha-demo>svg{color:#77684c;justify-self:center;transform:rotate(-90deg)}.alpha-stage{aspect-ratio:1;border:1px solid #0003;flex-direction:column;justify-content:flex-end;min-width:0;padding:18px;display:flex;position:relative;overflow:hidden}.alpha-stage>img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.alpha-stage:after{content:"";pointer-events:none;background:linear-gradient(#0000,#050504db);position:absolute;inset:58% 0 0}.alpha-stage span,.alpha-stage strong{z-index:2;position:relative}.alpha-stage span{color:#ffffffb8;font:9px/1.3 IBM Plex Mono,monospace}.alpha-stage strong{color:#fff;margin-top:8px;font-size:22px}.alpha-source{color:#fff;background:#d80000}.alpha-result{background-color:#eee;background-image:linear-gradient(45deg,#ccc 25%,#0000 25%),linear-gradient(-45deg,#ccc 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ccc 75%),linear-gradient(-45deg,#0000 75%,#ccc 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.alpha-result>img{-o-object-fit:contain;object-fit:contain}.game-section{background:#0a0a09;overflow:clip}.tomb-artbook{--paper:#c7ae80;margin-top:clamp(90px,10vw,150px);position:relative}.tomb-artbook:before{content:"";z-index:0;pointer-events:none;opacity:.82;background-color:#080706;background-image:linear-gradient(#0505042e,#0505042e),url(/assets/projects/mojintanbao/artbook/archive-background.webp);background-position:top;background-repeat:repeat-y;background-size:100%;position:absolute;inset:0 calc(-50vw + 50%)}.tomb-artbook>*{z-index:1;position:relative}.artbook-intro{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:end;gap:70px;padding:0 0 52px;display:grid}.artbook-intro>div>span,.artbook-chapter-heading small,.bestiary-copy>span,.character-copy>span,.implementation-grid>div>span{color:var(--gold);font:9px/1.4 IBM Plex Mono,monospace}.artbook-intro h3{margin:14px 0 18px;font-size:clamp(54px,7vw,100px);line-height:.9}.artbook-intro p{max-width:720px;color:var(--muted);margin:0;font-size:16px;line-height:1.8}.artbook-intro dl{border-top:1px solid var(--line-neutral);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.artbook-intro dl div{border-right:1px solid var(--line-neutral);padding:24px 10px 0}.artbook-intro dl div:last-child{border:0}.artbook-intro dt{color:var(--gold-bright);font:500 clamp(28px,3vw,46px)/1 IBM Plex Mono,monospace}.artbook-intro dd{color:var(--muted);margin:9px 0 0;font:8px/1 IBM Plex Mono,monospace}.artbook-cover{background:#050504;margin:clamp(50px,6vw,90px) calc(-50vw + 50%) 0;position:relative;overflow:hidden}.artbook-cover:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 90px #000000a6}.artbook-cover img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;min-height:620px;max-height:100vh;display:block}.artbook-cover a{z-index:2;color:var(--gold-bright);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070706c7;border:1px solid #c8a45d6b;border-radius:3px;align-items:center;gap:12px;padding:12px 16px;font:9px/1 IBM Plex Mono,monospace;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.artbook-cover a:hover{color:#090807;background:var(--gold-bright)}.artbook-contents{padding:clamp(90px,10vw,150px) 0}.artbook-contents>button,.artbook-page,.monster-sheets button,.implementation-grid>button{border:1px solid var(--line);cursor:zoom-in;background:#14110c;border-radius:4px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.artbook-contents>button img,.artbook-page img,.monster-sheets img,.implementation-grid>button img{width:100%;transition:transform .7s cubic-bezier(.22,1,.36,1);display:block}.artbook-contents>button:hover img,.artbook-page:hover img,.monster-sheets button:hover img,.implementation-grid>button:hover img{transform:scale(1.012)}.artbook-contents>button>span,.artbook-page>span,.implementation-grid>button>span{color:#080807;background:var(--gold-bright);border-radius:3px;align-items:center;gap:9px;padding:11px 13px;font:600 8px/1 IBM Plex Mono,monospace;display:flex;position:absolute;bottom:16px;right:16px}.artbook-contents nav{border-top:1px solid var(--line-neutral);border-bottom:1px solid var(--line-neutral);grid-template-columns:repeat(4,1fr);margin-top:20px;display:grid}.artbook-contents nav a{border-right:1px solid var(--line-neutral);grid-template-columns:30px 1fr;align-content:center;gap:6px 10px;min-height:92px;padding:18px;display:grid}.artbook-contents nav a:last-child{border:0}.artbook-contents nav span{color:var(--gold);grid-row:1/3;font:9px/1 IBM Plex Mono,monospace}.artbook-contents nav strong{font-size:15px}.artbook-contents nav small{color:var(--muted);font:7px/1 IBM Plex Mono,monospace}.artbook-contents nav a:hover{background:#c8a45d12}.chapter-section{padding:clamp(100px,12vw,180px) 0;scroll-margin-top:70px}.artbook-chapter-heading{border-bottom:1px solid var(--line);grid-template-columns:76px minmax(260px,.7fr) minmax(300px,1fr);align-items:end;gap:28px;margin-bottom:clamp(48px,6vw,82px);padding-bottom:28px;display:grid}.artbook-chapter-heading>span{color:var(--gold);align-self:start;font:13px/1 IBM Plex Mono,monospace}.artbook-chapter-heading h3{margin:9px 0 0;font-size:clamp(38px,5vw,68px);line-height:1}.artbook-chapter-heading p{max-width:620px;color:var(--muted);margin:0;font-size:15px;line-height:1.8}.character-implementation{border-top:1px solid var(--line-neutral);border-bottom:1px solid var(--line-neutral);grid-template-columns:300px minmax(0,1fr);min-height:620px;margin-top:24px;display:grid}.character-tabs{border-right:1px solid var(--line-neutral)}.character-tabs button{width:100%;min-height:25%;color:var(--muted);text-align:left;border:0;border-bottom:1px solid var(--line-neutral);cursor:pointer;background:0 0;grid-template-columns:34px 1fr;align-content:center;gap:7px;padding:20px;display:grid}.character-tabs button:last-child{border-bottom:0}.character-tabs button>span{color:var(--gold);grid-row:1/3;font:9px/1 IBM Plex Mono,monospace}.character-tabs button strong{font-size:18px}.character-tabs button small{font:7px/1 IBM Plex Mono,monospace}.character-tabs button:hover,.character-tabs button.is-active{color:var(--text);background:#c8a45d12}.character-tabs button.is-active{box-shadow:inset 2px 0 var(--gold-bright)}.character-stage{background:radial-gradient(circle at 28% 54%,#c8a45d1f,#0000 34%);grid-template-columns:minmax(300px,.9fr) minmax(300px,1fr);align-items:center;min-width:0;display:grid}.character-stage>img{-o-object-fit:contain;object-fit:contain;-o-object-position:center bottom;object-position:center bottom;filter:drop-shadow(0 28px 30px #00000080);width:100%;height:580px}.character-copy{padding:48px}.character-copy h4,.bestiary-copy h4{margin:15px 0 10px;font-size:clamp(44px,5vw,72px);line-height:1}.character-copy>strong{color:var(--gold-bright);font-size:14px}.character-copy p{max-width:480px;color:var(--muted);margin:24px 0 0;font-size:14px;line-height:1.85}.monster-sheets{grid-template-columns:1fr 1fr;gap:20px;display:grid}.monster-sheets button>span{color:#e7d6b5;background:#19110ad1;border:1px solid #ffffff24;border-radius:3px;align-items:center;gap:9px;padding:10px 12px;font:8px/1 IBM Plex Mono,monospace;display:flex;position:absolute;bottom:14px;left:14px}.bestiary{border-top:1px solid var(--line-neutral);border-bottom:1px solid var(--line-neutral);background:#080807;grid-template-columns:minmax(240px,.55fr) minmax(420px,1.2fr) minmax(190px,.45fr);min-height:760px;margin-top:clamp(70px,8vw,120px);display:grid}.bestiary-copy{align-self:end;padding:48px 34px 50px 0}.bestiary-copy p{color:var(--muted);font-size:13px}.bestiary-arrows{gap:8px;margin-top:34px;display:flex}.bestiary-arrows button{width:44px;height:44px;color:var(--text);border:1px solid var(--line-neutral);cursor:pointer;background:#12110e;border-radius:3px;place-items:center;padding:0;display:grid}.bestiary-arrows button:hover{color:#090807;background:var(--gold-bright)}.enemy-stage{border-inline:1px solid var(--line-neutral);place-items:center;min-width:0;display:grid;position:relative;overflow:hidden}.enemy-stage:after{content:"";filter:blur(15px);background:#000c;border-radius:50%;height:30px;position:absolute;bottom:55px;left:18%;right:18%}.enemy-stage img{z-index:2;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 30px 34px #0000009e);width:90%;height:700px;position:relative}.enemy-sigil{aspect-ratio:1;border:1px solid #c8a45d1f;border-radius:50%;width:min(75%,520px);position:absolute}.enemy-sigil:before,.enemy-sigil:after{content:"";border:1px solid #c8a45d14;border-radius:50%;position:absolute;inset:12%}.enemy-sigil:after{inset:28%}.enemy-index{flex-direction:column;justify-content:center;padding-left:24px;display:flex}.enemy-index button{color:#68645b;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff0a;grid-template-columns:28px 1fr;align-items:center;min-height:43px;padding:0 10px;font-size:12px;display:grid}.enemy-index button span{color:#685a42;font:8px/1 IBM Plex Mono,monospace}.enemy-index button:hover,.enemy-index button.is-active{color:var(--text)}.enemy-index button.is-active{box-shadow:inset 2px 0 var(--gold-bright);background:#c8a45d0f}.implementation-grid{grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr);align-items:center;gap:clamp(40px,6vw,90px);display:grid}.implementation-grid>button img{aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.implementation-grid h4{margin:17px 0 35px;font-size:clamp(28px,3.6vw,50px);line-height:1.25}.implementation-grid ol{counter-reset:pipeline;border-top:1px solid var(--line-neutral);margin:0;padding:0;list-style:none}.implementation-grid li{counter-increment:pipeline;color:var(--muted);border-bottom:1px solid var(--line-neutral);padding:17px 0;font-size:13px}.implementation-grid li:before{content:"0" counter(pipeline);width:38px;color:var(--gold);font:9px/1 IBM Plex Mono,monospace;display:inline-block}.asset-ledger{border-block:1px solid var(--line-neutral);grid-template-columns:repeat(3,1fr) 1.2fr;align-items:center;margin-top:70px;display:grid}.asset-ledger>div{border-right:1px solid var(--line-neutral);flex-direction:column;justify-content:center;min-height:120px;padding:20px;display:flex}.asset-ledger strong{color:var(--gold-bright);font:500 36px/1 IBM Plex Mono,monospace}.asset-ledger span,.asset-ledger p{color:var(--muted);font:8px/1.4 IBM Plex Mono,monospace}.asset-ledger span{margin-top:9px}.asset-ledger p{text-align:right;padding:20px}.tomb-project-outro{padding:0 0 clamp(100px,12vw,180px)}.tomb-project-closing{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:clamp(320px,42vw,560px);padding:70px 24px;display:flex}.tomb-project-closing>span{color:var(--gold);font:9px/1 IBM Plex Mono,monospace}.tomb-project-closing>strong{color:var(--text);margin:22px 0 24px;font-size:clamp(48px,7vw,100px);line-height:.92}.tomb-closing-logo{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 10px 22px #df704247);width:min(680px,88vw);max-height:150px;margin:22px 0 24px}.tomb-project-closing .asset-ledger{width:min(100%,1100px);margin:8px 0 28px}.tomb-project-closing>p{max-width:620px;color:var(--muted);margin:0;font-size:14px;line-height:1.85}.artbook-lightbox{z-index:130;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#030302f5;place-items:center;padding:70px 32px 32px;display:grid;position:fixed;inset:0}.artbook-lightbox>button{width:48px;height:48px;color:var(--text);border:1px solid var(--line);cursor:pointer;background:#14130f;border-radius:3px;place-items:center;padding:0;display:grid;position:absolute;top:20px;right:20px}.artbook-lightbox>button:hover{color:#080807;background:var(--gold-bright)}.artbook-lightbox img{-o-object-fit:contain;object-fit:contain;max-width:94vw;max-height:88vh}.artbook-opening{border-block:1px solid var(--line-neutral);grid-template-columns:minmax(320px,.62fr) minmax(560px,1.38fr);align-items:center;gap:clamp(44px,6vw,96px);padding:clamp(64px,8vw,110px) 0;display:grid}.artbook-opening .artbook-intro{border:0;flex-direction:column;justify-content:center;gap:clamp(54px,7vw,100px);min-height:100%;padding:24px 0;display:flex}.artbook-opening .artbook-intro h3{font-size:clamp(50px,5.8vw,86px)}.artbook-title-image{width:min(100%,560px);margin:20px 0 13px;display:block}.artbook-subtitle{color:var(--gold-bright)!important;margin:0 0 24px!important;font:10px/1.4 IBM Plex Mono,monospace!important}.artbook-opening .artbook-intro dl{width:100%}.artbook-opening .artbook-cover{background:0 0;margin:0}.artbook-opening .artbook-cover:after{box-shadow:inset 0 0 34px #00000059}.artbook-opening .artbook-cover img{-o-object-fit:contain;object-fit:contain;width:100%;min-height:0;max-height:none}.artbook-opening .artbook-cover a{bottom:14px;left:auto;right:14px;transform:none}.archive-spread{border-block:1px solid #c8a45d3d;grid-template-columns:minmax(280px,.48fr) minmax(0,1.52fr);align-items:start;gap:clamp(36px,5vw,76px);padding-block:clamp(54px,7vw,92px);display:grid}.archive-sidebar{min-width:0;padding-right:clamp(10px,2vw,28px);position:sticky;top:100px}.archive-sidebar>span{color:var(--gold);font:9px/1 IBM Plex Mono,monospace;display:block}.archive-title-image{width:min(100%,270px);margin:20px 0 24px;display:block}.archive-sidebar>p{color:var(--muted);margin:0 0 32px;font-size:13px;line-height:1.85}.character-summary,.monster-summary{border-top:1px solid var(--line-neutral)}.character-summary>div,.monster-summary>div{border-bottom:1px solid var(--line-neutral);grid-template-rows:auto auto;grid-template-columns:52px 26px 1fr;align-content:center;gap:5px 10px;min-height:74px;padding:9px 0;display:grid}.character-summary img,.monster-summary img{-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;background:#c8a45d0d;border:1px solid #c8a45d2e;border-radius:3px;grid-row:1/3;width:52px;height:52px}.monster-summary img{-o-object-fit:contain;object-fit:contain}.character-summary span,.monster-summary span{color:var(--gold);grid-row:1/3;align-self:start;padding-top:3px;font:8px/1 IBM Plex Mono,monospace}.character-summary strong,.monster-summary strong{font-size:14px}.character-summary small,.monster-summary small{color:var(--muted);font-size:10px;line-height:1.3}.archive-page{cursor:zoom-in;background:#17130d;border:1px solid #c8a45d52;border-radius:3px;width:100%;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 28px 70px #00000057}.archive-page>img{width:100%;display:block}.archive-page>span{color:#080807;background:var(--gold-bright);border-radius:3px;align-items:center;gap:8px;padding:10px 12px;font:600 8px/1 IBM Plex Mono,monospace;display:flex;position:absolute;bottom:12px;right:12px}.monster-page-wrap{min-width:0}.monster-page{min-height:500px}.monster-page>img{aspect-ratio:4/3;-o-object-fit:contain;object-fit:contain}.monster-pagination{grid-template-columns:44px 80px 44px;justify-content:end;align-items:center;gap:7px;margin-top:14px;display:grid}.monster-pagination button{width:44px;height:44px;color:var(--text);border:1px solid var(--line-neutral);cursor:pointer;background:#11100d;border-radius:3px;place-items:center;padding:0;display:grid}.monster-pagination button:hover:not(:disabled){color:#080807;background:var(--gold-bright)}.monster-pagination button:disabled{opacity:.28;cursor:default}.monster-pagination>span{color:var(--muted);text-align:center;font:9px/1 IBM Plex Mono,monospace}.scene-title-image{-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center;width:min(100%,420px);height:74px;display:block}.character-stage>img,.enemy-stage img{filter:none}.tomb-gallery{height:auto;margin:0 calc(-50vw + min(100% - 32px,1600px)/2) clamp(110px,13vw,190px);position:relative}.tomb-gallery-sticky{background-color:#080706;background-image:linear-gradient(#05050438,#05050438),url(/assets/projects/mojintanbao/artbook/archive-background.webp);background-position:top;background-repeat:repeat-y;background-size:100%;grid-template-rows:auto auto auto;height:auto;min-height:0;padding:clamp(72px,8vw,108px) max(24px,50vw - 776px) 32px;display:grid;position:relative;overflow:hidden}.tomb-gallery-head{z-index:3;justify-content:space-between;align-items:end;gap:40px;margin-bottom:24px;display:flex;position:relative}.tomb-gallery-head>div:first-child{-moz-column-gap:34px;grid-template-columns:auto 1fr;align-items:end;column-gap:34px;display:grid}.tomb-gallery-head>div>span{color:var(--gold);grid-row:1/3;align-self:start;padding-top:7px;font:9px/1.4 IBM Plex Mono,monospace}.tomb-gallery-head h3{margin:0;font-size:clamp(34px,4vw,64px);line-height:1}.tomb-gallery-head p{max-width:680px;color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.7}.tomb-gallery-meta{color:var(--gold);align-items:end;gap:10px;display:flex}.tomb-gallery-meta strong{font:500 clamp(34px,4vw,58px)/.8 IBM Plex Mono,monospace}.tomb-gallery-meta span{font:8px/1.35 IBM Plex Mono,monospace}.tomb-gallery-stage{--gallery-edge-fade:clamp(64px,7vw,112px);overscroll-behavior-x:contain;scrollbar-width:none;cursor:ew-resize;width:100%;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--gallery-edge-fade),#000 calc(100% - var(--gallery-edge-fade)),transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--gallery-edge-fade),#000 calc(100% - var(--gallery-edge-fade)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--gallery-edge-fade),#000 calc(100% - var(--gallery-edge-fade)),transparent 100%);overflow:auto hidden}.tomb-gallery-stage.is-at-start{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - var(--gallery-edge-fade)),transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - var(--gallery-edge-fade)),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - var(--gallery-edge-fade)),transparent 100%)}.tomb-gallery-stage.is-at-end{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--gallery-edge-fade),#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--gallery-edge-fade),#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--gallery-edge-fade),#000 100%)}.tomb-gallery-stage.is-at-start.is-at-end{-webkit-mask-image:none;mask-image:none}.tomb-gallery-stage::-webkit-scrollbar{display:none}.tomb-gallery-track{align-items:center;gap:clamp(14px,1.5vw,24px);width:max-content;padding:18px clamp(8px,1.5vw,24px) 24px;display:flex}.tomb-scene{opacity:.42;flex:none;width:clamp(210px,18vw,280px);transition:opacity .45s,transform .55s cubic-bezier(.22,1,.36,1);transform:scale(.92)}.tomb-scene.is-neighbor{opacity:.68;transform:scale(.96)}.tomb-scene.is-active{opacity:1;transform:scale(1)}.tomb-scene>button{aspect-ratio:9/16;width:100%;color:var(--text);cursor:zoom-in;background:#15130f;border:1px solid #c8a45d2e;border-radius:4px;padding:0;display:block;position:relative;overflow:hidden}.tomb-scene img,.tomb-scene video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.22,1,.36,1);display:block}.tomb-scene>button:hover img,.tomb-scene>button:hover video{transform:scale(1.025)}.scene-expand{color:#0a0907;background:var(--gold-bright);opacity:0;border-radius:3px;place-items:center;width:36px;height:36px;transition:opacity .25s,transform .25s;display:grid;position:absolute;bottom:12px;right:12px;transform:translateY(5px)}.tomb-scene>button:hover .scene-expand,.tomb-scene.is-active .scene-expand{opacity:1;transform:none}.tomb-scene-caption{border-top:1px solid var(--line-neutral);grid-template-columns:28px 1fr;gap:10px;margin-top:12px;padding-top:12px;display:grid}.tomb-scene-caption>span{color:var(--gold);font:9px/1.4 IBM Plex Mono,monospace}.tomb-scene-caption div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.tomb-scene-caption strong{font-size:15px}.tomb-scene-caption small{color:var(--muted);font:7px/1 IBM Plex Mono,monospace}.tomb-gallery-controls{z-index:3;grid-template-columns:minmax(120px,1fr) 64px 42px 42px;align-items:center;gap:8px;padding-top:18px;display:grid;position:relative}.tomb-progress{background:var(--line-neutral);height:1px;overflow:hidden}.tomb-progress i{background:var(--gold-bright);height:100%;transition:width .25s;display:block}.tomb-gallery-controls>span{color:var(--muted);text-align:center;font:9px/1 IBM Plex Mono,monospace}.tomb-gallery-controls button{width:42px;height:42px;color:var(--text);border:1px solid var(--line-neutral);cursor:pointer;background:#11110f;border-radius:3px;place-items:center;padding:0;display:grid}.tomb-gallery-controls button:hover:not(:disabled){color:#090807;background:var(--gold-bright)}.tomb-gallery-controls button:disabled{opacity:.3;cursor:default}.scene-lightbox{z-index:120;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#040403f5;grid-template-columns:72px minmax(0,1fr) 72px;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.scene-lightbox img,.scene-lightbox video{-o-object-fit:contain;object-fit:contain;grid-column:2;max-width:min(72vw,560px);max-height:88vh;box-shadow:0 32px 90px #0000008c}.scene-lightbox button{width:48px;height:48px;color:var(--text);border:1px solid var(--line-neutral);cursor:pointer;background:#11110f;border-radius:3px;place-items:center;padding:0;display:grid}.scene-lightbox button:hover{color:#090807;background:var(--gold-bright)}.scene-lightbox-close{position:absolute;top:24px;right:24px}.scene-lightbox-prev{grid-column:1}.scene-lightbox-next{grid-column:3}.scene-lightbox-caption{gap:7px;display:grid;position:absolute;bottom:30px;left:32px}.scene-lightbox-caption span,.scene-lightbox-caption small{color:var(--gold);font:8px/1 IBM Plex Mono,monospace}.scene-lightbox-caption strong{font-size:20px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);display:grid}.game-grid-secondary{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.game-grid-secondary .game-case{grid-column:1/-1;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:end;gap:clamp(32px,5vw,80px);display:grid}.game-grid-secondary .game-image{height:min(68vh,720px)}.game-case:nth-child(2){margin-top:120px}.game-image{border:1px solid var(--line);cursor:zoom-in;background:#111;border-radius:6px;width:100%;height:min(72vh,820px);padding:0;position:relative;overflow:hidden}.game-image img{-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;width:100%;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1)}.game-image:hover img{transform:scale(1.025)}.game-image>span{color:#080807;background:var(--gold-bright);border-radius:3px;align-items:center;gap:9px;padding:11px 13px;font:600 9px/1 IBM Plex Mono,monospace;display:flex;position:absolute;bottom:16px;right:16px}.game-copy{border-bottom:1px solid var(--line-neutral);padding:28px 0}.game-copy>span{color:var(--gold);font:9px/1 IBM Plex Mono,monospace}.game-copy h3{margin:14px 0;font-size:clamp(30px,3vw,46px)}.game-copy p{max-width:600px;color:var(--muted);margin:0 0 22px;font-size:15px;line-height:1.8}.project-boundary{color:#77746d;background:#050505;border-block:1px solid #ffffff12;grid-template-columns:auto minmax(36px,1fr) auto minmax(36px,1fr) auto;align-items:center;gap:clamp(16px,3vw,48px);min-height:clamp(180px,18vw,260px);margin-inline:calc(-50vw + 50%);padding-inline:max(24px,50vw - 696px);display:grid}.project-boundary>div{white-space:nowrap;align-items:baseline;gap:12px;display:flex}.project-boundary>div:last-child{color:var(--text)}.project-boundary span,.project-boundary small{font:9px/1 IBM Plex Mono,monospace}.project-boundary strong{font-size:14px}.project-boundary i{background:#ffffff24;height:1px}.project-boundary small{color:#a9a69f}.graffiti-opening{--graffiti-lime:#e7ff58;--graffiti-coral:#ff6b45;background:#111;min-height:clamp(620px,76vh,850px);margin-inline:calc(-50vw + 50%);position:relative;overflow:hidden}.graffiti-opening>img{-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;width:100%;height:100%;position:absolute;inset:0}.graffiti-opening-shade{background:linear-gradient(90deg,#050505f0 0,#050505ad 36%,#0505051f 72%),linear-gradient(#0000 54%,#050505cc);position:absolute;inset:0}.graffiti-project-index{color:var(--graffiti-lime);align-items:flex-start;gap:10px;display:flex;position:absolute;top:clamp(32px,5vw,72px);right:max(24px,50vw - 696px)}.graffiti-project-index span{padding-top:9px;font:9px/1 IBM Plex Mono,monospace}.graffiti-project-index strong{font:600 clamp(58px,8vw,118px)/.78 IBM Plex Mono,monospace}.graffiti-opening-copy{width:min(620px,100% - 48px);position:absolute;bottom:clamp(42px,7vw,94px);left:max(24px,50vw - 696px)}.graffiti-opening-copy>span{color:var(--graffiti-lime);font:500 10px/1 IBM Plex Mono,monospace}.graffiti-opening-copy h3{margin:18px 0 24px;font-size:clamp(62px,9vw,136px);line-height:.82}.graffiti-opening-copy p{color:#d1d0cb;max-width:560px;margin:0 0 26px;font-size:15px;line-height:1.8}.graffiti-opening .tag-list span{color:#f4f2ea;background:#05050557;border-color:#e7ff586b}.graffiti-opening>button{color:#090909;background:var(--graffiti-lime);cursor:pointer;border:0;border-radius:3px;align-items:center;gap:9px;padding:13px 15px;font:600 9px/1 IBM Plex Mono,monospace;display:flex;position:absolute;bottom:clamp(42px,7vw,94px);right:max(24px,50vw - 696px)}.graffiti-opening>button:hover{background:var(--graffiti-coral)}.lightbox{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000eb;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.lightbox>button{width:46px;height:46px;color:var(--text);border:1px solid var(--line);cursor:pointer;background:#171713;border-radius:50%;place-items:center;display:grid;position:absolute;top:24px;right:24px}.lightbox img{-o-object-fit:contain;object-fit:contain;max-width:min(1100px,90vw);max-height:90vh}.tk-case{--tk-bg:#080706;--tk-surface:#100c09;--tk-raised:#18110d;--tk-paper:#f0e2c1;--tk-text:#dfd0af;--tk-muted:#9c896c;--tk-red:#c94334;--tk-red-dark:#79231d;--tk-gold:#c9a568;--tk-teal:#4f8b7d;--tk-cyan:#55d8ee;--tk-orange:#df7042;--tk-line:#c9a56847;--tk-line-soft:#f0e2c11f;color:var(--tk-text);background-color:var(--tk-bg);background-image:linear-gradient(#08070670,#08070670),url(/assets/projects/three-kingdoms/section-texture.webp);background-position:top;background-repeat:repeat-y;background-size:100%;margin-inline:calc(-50vw + 50%);overflow:hidden}.tk-case h3,.tk-case h4{font-family:Noto Serif SC,Songti SC,STSong,serif}.tk-hero{border-bottom:1px solid var(--tk-red-dark);background:#140b08;min-height:820px;position:relative;overflow:hidden}.tk-hero-map{-o-object-fit:cover;object-fit:cover;-o-object-position:center 50%;object-position:center 50%;filter:saturate(.9)contrast(1.04);width:100%;height:100%;position:absolute;inset:0}.tk-hero-shade{background:linear-gradient(90deg,#070504f5 0,#070504c7 16%,#0705043d 34%,#0000 47% 56%,#07050433 72%,#070504b3 89%,#070504f0 100%),linear-gradient(#0000 54%,#0705049e);position:absolute;inset:0}.tk-hero-copy{z-index:5;width:560px;color:var(--tk-paper);text-align:center;flex-direction:column;align-items:center;font-family:Noto Serif SC,Songti SC,STSong,serif;display:flex;position:absolute;top:50%;left:max(32px,50vw - 688px);transform:translateY(-50%)}.tk-hero-copy>span,.tk-section-title>span,.tk-playable-steps>span{color:var(--tk-red);font:500 11px/1 IBM Plex Mono,monospace}.tk-hero-copy>span{font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:13px;font-weight:600}.tk-hero-copy h3{color:var(--tk-paper);text-shadow:0 3px 20px #00000080;margin:24px 0 22px;font-size:64px;line-height:.96}.tk-hero-copy>strong{color:var(--tk-red);font:600 18px/1.2 Cinzel,Times New Roman,serif}.tk-hero-copy p{color:#d0c2a5;max-width:470px;margin:38px 0 0;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:16px;font-weight:600;line-height:1.95}.tk-hero-copy small{color:var(--tk-paper);margin-top:28px;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:12px;font-weight:600;line-height:1.8;display:block}.tk-hero-logo{filter:drop-shadow(0 12px 20px #00000061);width:min(100%,540px);margin-top:24px}.tk-hero-mockup{z-index:4;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;filter:drop-shadow(0 38px 44px #00000085);width:min(62vw,920px);height:790px;position:absolute;top:20px;right:max(-70px,50vw - 840px)}.tk-battle-hud{z-index:4;grid-template-columns:minmax(210px,1fr) 90px minmax(210px,1fr);align-items:start;gap:10px;height:112px;display:grid;position:absolute;top:24px;left:max(480px,50% - 260px);right:max(175px,50vw - 570px)}.tk-hud-side{height:98px;position:relative}.tk-hud-frame{-o-object-fit:fill;object-fit:fill;width:260px;height:68px;position:absolute;top:7px}.tk-hud-avatar{z-index:2;-o-object-fit:contain;object-fit:contain;width:82px;height:82px;position:absolute;top:0}.tk-hud-player .tk-hud-avatar{left:0}.tk-hud-player .tk-hud-frame{left:50px}.tk-hud-enemy .tk-hud-avatar{right:0}.tk-hud-enemy .tk-hud-frame{right:50px}.tk-hud-side>span{z-index:3;color:var(--tk-paper);font-size:10px;position:absolute;top:62px}.tk-hud-player>span{left:88px}.tk-hud-enemy>span{right:88px}.tk-hud-hearts{z-index:3;gap:6px;display:flex;position:absolute;top:23px}.tk-hud-player .tk-hud-hearts{left:104px}.tk-hud-enemy .tk-hud-hearts{right:104px}.tk-hud-hearts i{clip-path:polygon(50% 100%,5% 45%,5% 20%,22% 4%,43% 8%,50% 22%,57% 8%,78% 4%,95% 20%,95% 45%);filter:drop-shadow(0 1px #5d1b17);background:#ce493b;width:18px;height:16px}.tk-hud-center{justify-items:center;display:grid;position:relative}.tk-hud-center img{-o-object-fit:contain;object-fit:contain;width:88px;height:74px}.tk-hud-center strong{color:var(--tk-paper);border:1px solid var(--tk-gold);background:#21130c;border-radius:3px;margin-top:-5px;padding:5px 12px;font:500 11px/1 IBM Plex Mono,monospace}.tk-hud-tools{z-index:5;gap:8px;display:flex;position:absolute;top:126px;right:max(180px,50vw - 565px)}.tk-hud-tools button{width:36px;height:36px;color:var(--tk-paper);border:1px solid var(--tk-gold);background:#23150de0;border-radius:50%;place-items:center;padding:0;display:grid}.tk-hero-units{z-index:3;position:absolute;inset:180px 11% 135px 39%}.tk-hero-units>img:not(.tk-brush-cursor){-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 8px 6px #0000006b);width:78px;height:92px;position:absolute}.tk-hero-units .unit-a{top:52%;left:7%}.tk-hero-units .unit-b{top:22%;left:25%}.tk-hero-units .unit-c{top:12%;left:52%}.tk-hero-units .unit-d{top:58%;left:43%}.tk-hero-units .unit-e{top:48%;left:73%}.tk-hero-units svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tk-hero-units path{fill:none;stroke:var(--tk-cyan);stroke-width:8px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 1px #00000059)}.tk-brush-cursor{-o-object-fit:contain;object-fit:contain;width:44px;height:44px;position:absolute;top:78%;left:4%}.tk-hero-deck{z-index:5;grid-template-columns:repeat(4,minmax(110px,1fr)) 52px;gap:8px;display:grid;position:absolute;bottom:20px;left:39%;right:13%}.tk-hero-deck>div{background:#2e6982;border:4px solid #d7bd7c;border-radius:6px;height:105px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #47311f,0 5px 12px #00000059}.tk-hero-deck>div img{-o-object-fit:contain;object-fit:contain;width:100%;height:78px}.tk-hero-deck>div span{color:#211810;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:700;position:absolute;bottom:5px;left:6px;right:28px;overflow:hidden}.tk-hero-deck>div strong{color:#fff;text-shadow:0 1px #102b38;font:600 15px/1 IBM Plex Mono,monospace;position:absolute;bottom:4px;right:5px}.tk-hero-deck>button{border:2px solid var(--tk-paper);cursor:pointer;background:#386f66;border-radius:50%;align-self:end;place-items:center;width:48px;height:48px;padding:8px;display:grid}.tk-hero-deck>button img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.tk-hero-status{z-index:6;color:var(--tk-paper);text-align:center;align-items:center;gap:10px;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:11px;font-weight:600;line-height:1.45;display:flex;position:absolute;top:32px;right:max(24px,50vw - 696px)}.tk-hero-status i{background:var(--tk-teal);border-radius:50%;width:7px;height:7px}.tk-playable{grid-template-columns:minmax(240px,280px) minmax(380px,520px) minmax(230px,280px);justify-content:center;align-items:center;gap:clamp(48px,6vw,96px);width:min(100% - 48px,1440px);margin:0 auto;padding:120px 0 150px;display:grid}.tk-playable-steps{padding-left:68px;display:grid;position:relative}.tk-playable-steps:before{content:"";background:linear-gradient(var(--tk-red),var(--tk-gold) 24%,var(--tk-gold));width:1px;position:absolute;top:32px;bottom:78px;left:20px}.tk-playable-steps>span{display:none}.tk-playable-steps>div{min-height:154px;padding:0;display:block;position:relative}.tk-playable-steps>div:before{content:"";background:var(--tk-gold);border:2px solid #2b1b12;border-radius:50%;width:13px;height:13px;position:absolute;top:16px;left:-53px;box-shadow:0 0 0 1px #f0e2c147}.tk-playable-steps>div:first-of-type:before{background:var(--tk-red)}.tk-playable-steps>div>strong{color:var(--tk-red);margin-bottom:12px;font:500 46px/.86 Cinzel,Times New Roman,serif;display:block}.tk-playable-steps p{color:var(--tk-paper);margin:0;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:20px;font-weight:600;line-height:1.35}.tk-playable-steps small{color:var(--tk-text);margin-top:9px;font:500 12px/1.35 Cinzel,Times New Roman,serif;display:block}.tk-demo-frame{border:1px solid var(--tk-line);background:#050403;border-radius:8px;width:100%;position:relative;overflow:hidden;box-shadow:0 34px 90px #0000009e,0 8px 24px #c943341f}.tk-demo-frame.is-awaiting-play{animation:2.4s ease-in-out infinite tk-demo-gold-pulse}.tk-demo-notice{min-height:54px;color:var(--tk-paper);border-bottom:1px solid var(--tk-line);background:#160e0a;grid-template-columns:8px 1fr auto;align-items:center;gap:10px;padding:0 16px;display:grid}.tk-demo-notice i{background:var(--tk-teal);border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #4f8b7dbf}.tk-demo-notice strong{letter-spacing:0;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:13px}.tk-demo-notice span{color:var(--tk-gold);font:8px/1 IBM Plex Mono,monospace}.tk-demo-frame iframe,.tk-demo-launch{aspect-ratio:9/16;border:0;width:100%;display:block}.tk-demo-launch{color:var(--tk-paper);cursor:pointer;background:#080604;padding:0;position:relative;overflow:hidden}.tk-demo-launch:after{content:"";background:linear-gradient(#0000 42%,#070402c7);position:absolute;inset:0}.tk-demo-launch>img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.tk-demo-launch>span{z-index:1;color:#140d08;background:var(--tk-paper);border-radius:3px;justify-content:center;align-items:center;gap:9px;min-width:210px;padding:14px 18px;font-size:13px;font-weight:700;display:flex;position:absolute;bottom:70px;left:50%;transform:translate(-50%)}.tk-demo-frame a{z-index:2;color:#100b08;background:var(--tk-paper);border-radius:3px;align-items:center;gap:8px;padding:11px 13px;font:500 9px/1 IBM Plex Mono,monospace;display:flex;position:absolute;bottom:12px;right:12px}@keyframes tk-demo-gold-pulse{0%,to{border-color:#c9a56861;box-shadow:0 34px 90px #0000009e,0 0 0 1px #c9a56829,0 0 18px #c9a5682e}50%{border-color:#f0d289f2;box-shadow:0 34px 90px #0000009e,0 0 0 2px #f0d28957,0 0 34px #e2be6d9e,0 0 76px #c9a56847}}.tk-project-metrics{align-content:center;gap:52px;display:grid}.tk-project-metrics>div{flex-direction:column;gap:13px;padding:0;display:flex}.tk-project-metrics strong{color:var(--tk-red);white-space:nowrap;font:500 48px/.88 Cinzel,Times New Roman,serif}.tk-project-metrics span{color:var(--tk-paper);font:500 18px/1.2 Cinzel,Times New Roman,serif}.tk-project-metrics>div:nth-child(3) strong{font-size:36px}.tk-project-metrics>div:last-child strong{color:var(--tk-paper);font-size:36px}.tk-breakdown,.tk-character-section,.tk-maps-skills{width:min(100% - 48px,1440px);margin:0 auto;padding-bottom:150px}.tk-section-title{border-bottom:1px solid var(--tk-line);grid-template-columns:minmax(280px,.75fr) minmax(320px,1fr);align-items:end;gap:18px 70px;padding:0 0 28px;display:grid}.tk-section-title>span{grid-column:1/-1}.tk-section-title h3{color:var(--tk-paper);margin:0;font-size:38px;line-height:1.12}.tk-section-title p{max-width:620px;color:var(--tk-muted);margin:0;font-size:14px;line-height:1.75}.tk-system-row{border-bottom:1px solid var(--tk-line);grid-template-columns:minmax(240px,.45fr) minmax(0,1.55fr);min-height:340px;display:grid}.tk-system-copy{padding:48px 36px 40px 0}.tk-system-copy>span{color:var(--tk-red);font:500 42px/1 Cinzel,serif;display:block}.tk-system-copy>strong{color:var(--tk-gold);margin:12px 0 26px;font:9px/1 IBM Plex Mono,monospace;display:block}.tk-system-copy h4{color:var(--tk-paper);margin:0 0 14px;font-size:27px}.tk-system-copy p{max-width:300px;color:var(--tk-muted);margin:0;font-size:13px;line-height:1.8}.tk-formation-visual{background:radial-gradient(circle at 64% 55%,#c9433421,#0000 55%);place-items:center end;min-width:0;display:grid;position:relative;overflow:hidden}.tk-formation-board{aspect-ratio:1055/340;width:min(100%,1200px);position:relative}.tk-formation-board>img{-o-object-fit:fill;object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.tk-formation-characters{z-index:1;grid-template-columns:repeat(7,minmax(0,1fr));place-items:center;gap:clamp(2px,.45vw,8px);display:grid;position:absolute;inset:20% 8% 14%}.tk-formation-characters img{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;filter:drop-shadow(0 15px 10px #00000080);width:100%;min-width:0;height:100%}.tk-combat-frames{background:var(--tk-line);grid-template-columns:repeat(3,1fr);gap:1px;min-width:0;display:grid}.tk-combat-frames :is(img,svg){-o-object-fit:contain;object-fit:contain;background:var(--tk-surface);width:100%;height:340px;padding:25px;overflow:hidden}.tk-meta-visual{background:var(--tk-line);grid-template-columns:repeat(3,1fr) 1.25fr;gap:1px;min-width:0;display:grid}.tk-meta-visual>img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:340px}.tk-victory-result{background:#130b08}.tk-character-section{padding-top:20px}.tk-character-layout{border-block:1px solid var(--tk-line);grid-template-columns:240px minmax(260px,.65fr) minmax(360px,1fr);min-height:650px;margin-top:36px;display:grid}.tk-character-list{border-right:1px solid var(--tk-line)}.tk-character-list button{width:100%;min-height:88px;color:var(--tk-muted);text-align:left;border:0;border-bottom:1px solid var(--tk-line-soft);cursor:pointer;background:0 0;grid-template-rows:auto auto;grid-template-columns:32px 1fr;align-content:center;gap:6px 10px;padding:14px 16px;display:grid}.tk-character-list button span{color:var(--tk-red);grid-row:1/3;font:9px/1 IBM Plex Mono,monospace}.tk-character-list button strong{font-size:14px}.tk-character-list button small{font:8px/1 IBM Plex Mono,monospace}.tk-character-list button:hover,.tk-character-list button.is-active{color:var(--tk-paper);background:#c9433417}.tk-character-list button.is-active{box-shadow:inset 2px 0 var(--tk-red)}.tk-character-portrait{border-right:1px solid var(--tk-line);background:radial-gradient(circle,#c9a56826,#0000 55%);place-items:center;display:grid;overflow:hidden}.tk-character-portrait img{-o-object-fit:contain;object-fit:contain;width:88%;height:570px}.tk-animation-stage{background:var(--tk-surface);place-items:center;min-width:0;display:grid;position:relative;overflow:hidden}.tk-animation-stage:before{content:"";border:1px solid var(--tk-line-soft);position:absolute;inset:12%}.tk-animation-stage>:is(img,svg){z-index:1;-o-object-fit:contain;object-fit:contain;width:88%;height:510px;position:relative;overflow:hidden}.tk-animation-meta{z-index:2;gap:7px;display:grid;position:absolute;top:24px;left:24px}.tk-animation-meta span,.tk-animation-meta small{color:var(--tk-red);font:9px/1 IBM Plex Mono,monospace}.tk-animation-meta strong{color:var(--tk-paper);font-size:17px}.tk-animation-stage>button{z-index:3;width:42px;height:42px;color:var(--tk-paper);border:1px solid var(--tk-line);cursor:pointer;background:#17100c;border-radius:3px;place-items:center;padding:0;display:grid;position:absolute;bottom:20px;right:20px}.tk-map-layout{grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:40px;margin-top:36px;display:grid}.tk-map-preview{border:1px solid var(--tk-line);height:720px;position:relative;overflow:hidden}.tk-map-preview img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.tk-map-preview strong{color:var(--tk-paper);background:#080706d1;padding:10px 12px;font-size:13px;position:absolute;bottom:16px;left:16px}.tk-map-options{grid-template-columns:repeat(3,1fr);align-self:end;gap:14px;display:grid}.tk-map-options button{color:var(--tk-muted);text-align:left;border:0;border-bottom:1px solid var(--tk-line-soft);cursor:pointer;background:0 0;grid-template-columns:28px 1fr;gap:8px;padding:0 0 12px;display:grid}.tk-map-options img{aspect-ratio:9/16;-o-object-fit:cover;object-fit:cover;opacity:.48;grid-column:1/-1;width:100%;transition:opacity .3s}.tk-map-options button.is-active img,.tk-map-options button:hover img{opacity:1}.tk-map-options span{color:var(--tk-red);font:9px/1 IBM Plex Mono,monospace}.tk-map-options strong{font-size:13px}.tk-skill-strip{border-block:1px solid var(--tk-line);grid-template-columns:1.25fr repeat(5,1fr);align-items:center;margin-top:54px;display:grid}.tk-skill-strip>div{padding:24px}.tk-skill-strip>div span{color:var(--tk-muted);font:8px/1 IBM Plex Mono,monospace;display:block}.tk-skill-strip>div strong{color:var(--tk-red);margin-top:10px;font:500 42px/1 Cinzel,serif;display:block}.tk-skill-strip figure{border-left:1px solid var(--tk-line-soft);align-content:center;place-items:center;gap:9px;min-height:150px;margin:0;display:grid}.tk-skill-strip img{-o-object-fit:contain;object-fit:contain;width:76px;height:76px}.tk-skill-strip figcaption{color:var(--tk-paper);font-size:12px}.tk-ui-design{width:min(100% - 48px,1440px);margin:0 auto;padding:10px 0 150px}.tk-ui-showcase{border-block:1px solid var(--tk-line);grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);margin-top:36px;display:grid}.tk-ui-design section>header{border-bottom:1px solid var(--tk-line-soft);grid-template-columns:42px 1fr;align-items:center;min-height:84px;padding:14px 20px;display:grid}.tk-ui-design section>header>span{color:var(--tk-red);font:500 28px/1 Cinzel,Times New Roman,serif}.tk-ui-design section>header>div{gap:7px;display:grid}.tk-ui-design section>header strong{color:var(--tk-paper);font:500 11px/1 Cinzel,Times New Roman,serif}.tk-ui-design section>header small{color:var(--tk-muted);font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:12px}.tk-ui-cards{border-right:1px solid var(--tk-line);min-width:0}.tk-ui-card-grid{grid-template-columns:repeat(4,1fr);gap:14px;padding:28px;display:grid}.tk-ui-card-grid figure{aspect-ratio:500/568;min-width:0;margin:0;position:relative}.tk-ui-card-frame{z-index:1;-o-object-fit:contain;object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.tk-ui-card-character{z-index:2;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 12px 8px #0000006b);width:76%;height:58%;position:absolute;top:14%;left:12%}.tk-ui-class-icon{z-index:3;-o-object-fit:contain;object-fit:contain;width:25%;height:20%;position:absolute;top:5%;left:6%}.tk-ui-card-grid figcaption{z-index:3;color:#39251a;justify-content:space-between;align-items:baseline;gap:7px;display:flex;position:absolute;bottom:8%;left:12%;right:18%}.tk-ui-card-grid figcaption strong{font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:14px}.tk-ui-card-grid figcaption small{font:500 7px/1 Cinzel,Times New Roman,serif}.tk-ui-controls{min-width:0}.tk-ui-controls>div{grid-template-columns:repeat(2,1fr);display:grid}.tk-ui-controls figure{border-right:1px solid var(--tk-line-soft);border-bottom:1px solid var(--tk-line-soft);align-content:center;place-items:center;gap:15px;min-height:190px;margin:0;display:grid}.tk-ui-controls figure:nth-child(2n){border-right:0}.tk-ui-controls figure img{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 12px 10px #00000061);width:82px;height:82px}.tk-ui-controls figcaption{color:var(--tk-paper);font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:12px}.tk-ui-components{border-bottom:1px solid var(--tk-line)}.tk-ui-component-strip{grid-template-columns:1.4fr 1.4fr 1.2fr .65fr .65fr;align-items:stretch;min-height:250px;display:grid}.tk-ui-component-strip figure{border-right:1px solid var(--tk-line-soft);align-content:center;place-items:center;gap:18px;min-width:0;margin:0;padding:24px;display:grid}.tk-ui-component-strip figure:last-child{border-right:0}.tk-ui-component-strip img{-o-object-fit:contain;object-fit:contain;width:118px;height:118px}.tk-ui-component-strip .is-wide img{width:100%;height:100px}.tk-ui-component-strip .is-toggle img{width:100%;height:90px}.tk-ui-component-strip figcaption{color:var(--tk-muted);font:500 8px/1 Cinzel,Times New Roman,serif}.tk-outro{text-align:center;border-top:1px solid var(--tk-line);background:#0d0806;flex-direction:column;justify-content:center;align-items:center;min-height:520px;padding:80px 24px 32px;display:flex;position:relative;overflow:hidden}.tk-outro>img:first-child{opacity:.32;width:min(900px,90vw);position:absolute}.tk-outro-logo{z-index:1;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 8px 18px #df70426b);width:min(760px,92vw);max-height:180px;display:block;position:relative}.tk-outro>div{border-block:1px solid var(--tk-line);margin-top:70px;display:flex;position:relative}.tk-outro>div span{min-width:180px;color:var(--tk-gold);border-right:1px solid var(--tk-line-soft);padding:20px;font:500 24px/1 Cinzel,serif}.tk-outro>div span:last-child{border:0}.tk-outro small{color:var(--tk-muted);margin-top:8px;font:8px/1 IBM Plex Mono,monospace;display:block}.tk-outro>p{color:var(--tk-red);margin:48px 0 0;font:10px/1 IBM Plex Mono,monospace;position:relative}.expertise-section{color:#151511;background:var(--text)}.dark-heading h2{color:#151511}.dark-heading .section-label p{color:#80642f}.dark-heading .section-label span{background:#96783e}.capability-list{border-top:1px solid #07070733}.capability-row{border-bottom:1px solid #07070729;grid-template-columns:80px minmax(300px,1fr) minmax(260px,.8fr);align-items:center;gap:30px;padding:36px 0;display:grid}.capability-index{color:#826a3b;font:500 12px/1 IBM Plex Mono,monospace}.capability-row h3{margin:0 0 10px;font-size:clamp(22px,2vw,32px)}.capability-row p{color:#656157;max-width:690px;margin:0;font-size:14px;line-height:1.8}.capability-tools{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.capability-tools span{color:#635a49;border:1px solid #0707072e;border-radius:3px;padding:7px 9px;font:500 9px/1 IBM Plex Mono,monospace}.experience-section{background:var(--bg)}.about-intro{grid-template-columns:1fr 2fr;align-items:start;gap:80px;margin-bottom:clamp(100px,12vw,180px);display:grid}.about-intro>p{max-width:860px;margin:0}.about-intro>p span{color:var(--gold);font-size:clamp(14px,1.15vw,17px);line-height:1.6;display:block}.about-intro>p strong{max-width:820px;color:var(--text);margin-top:22px;font-size:clamp(28px,2.55vw,40px);font-weight:500;line-height:1.42;display:block}.experience-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,.75fr);gap:clamp(70px,9vw,150px);display:grid}.column-title{border-bottom:1px solid var(--line);grid-template-columns:44px 1fr;align-items:end;padding-bottom:22px;display:grid}.column-title span{color:var(--gold);font:10px/1 IBM Plex Mono,monospace}.column-title h2{margin:0;font-size:28px}.column-title small{color:var(--muted);grid-column:2;margin-top:7px;font:9px/1 IBM Plex Mono,monospace}.timeline-item{border-bottom:1px solid var(--line-neutral);padding:42px 0 46px 44px;position:relative}.timeline-item:before{content:"";border:1px solid var(--gold);border-radius:50%;width:9px;height:9px;position:absolute;top:48px;left:0}.timeline-item time{color:var(--gold);font:10px/1 IBM Plex Mono,monospace}.timeline-item h3{margin:13px 0 5px;font-size:25px}.timeline-item>strong{color:var(--muted);font-size:13px}.timeline-item ul{margin:24px 0 0;padding:0;list-style:none}.timeline-item li{color:var(--muted);margin-top:10px;padding-left:16px;font-size:14px;line-height:1.75;position:relative}.timeline-item li:before{content:"";background:var(--gold);width:5px;height:1px;position:absolute;top:.75em;left:0}.education-item{border-bottom:1px solid var(--line-neutral);grid-template-columns:50px 1fr;gap:16px;padding:28px 0;display:grid}.education-item>span{color:var(--gold);font:10px/1.5 IBM Plex Mono,monospace}.education-item h3{margin:0;font-size:18px}.education-item p{color:var(--muted);margin:8px 0 0;font-size:13px}.awards-block{margin-top:60px}.awards-block h3{color:var(--gold);letter-spacing:.08em;margin:0 0 20px;font:500 10px/1 IBM Plex Mono,monospace}.awards-block p{color:var(--muted);border-bottom:1px solid var(--line-neutral);margin:0;padding:15px 0;font-size:12px;line-height:1.6}.contact-section{border-top:1px solid var(--line);background:#0d0c0a}.contact-lower{border-top:1px solid var(--line);grid-template-columns:1fr minmax(360px,.7fr);align-items:end;gap:90px;margin-top:90px;padding-top:42px;display:grid}.contact-copy>p{max-width:600px;color:var(--muted);margin:0;font-size:18px;line-height:1.8}.contact-details{display:grid}.contact-details a,.contact-details>p{border-bottom:1px solid var(--line-neutral);grid-template-columns:34px 90px 1fr;align-items:center;min-height:76px;margin:0;display:grid}.contact-details svg{color:var(--gold)}.contact-details span{color:var(--muted);font:9px/1 IBM Plex Mono,monospace}.contact-details strong{font-size:13px}.contact-details a:hover strong{color:var(--gold-bright)}.site-footer{border-top:1px solid var(--line-neutral);background:#080808;padding:34px 0}.site-footer .content-wrap{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.site-footer div>div{flex-direction:column;gap:6px;display:flex}.site-footer strong{font-size:13px}.site-footer span,.site-footer p,.site-footer a{color:var(--muted);font:9px/1.3 IBM Plex Mono,monospace}.site-footer p{margin:0}.site-footer a{justify-self:end;align-items:center;gap:9px;display:flex}.site-footer a:hover{color:var(--gold-bright)}@media (width<=1100px){.desktop-nav{gap:20px}.project-story,.project-story.is-reverse{grid-template-columns:1.15fr .85fr;gap:42px}.visual-shell{min-height:520px}.style-stage,.cluster-row{padding-inline:20px}.lab-workbench{grid-template-columns:260px 1fr}.lab-description{grid-template-columns:1fr}.lab-description p{grid-column:1}.scroll-hint{display:none}}@media (width<=900px){.content-wrap{width:min(100% - 24px,1600px)}.site-header{grid-template-columns:1fr auto;padding-inline:12px}.desktop-nav,.desktop-resume{display:none}.menu-button{width:44px;height:44px;color:var(--text);border:1px solid var(--line-neutral);background:#07070757;border-radius:4px;place-items:center;padding:0;display:grid}.mobile-nav{border:1px solid var(--line);background:#0c0c0bfa;border-radius:6px;flex-direction:column;padding:12px;display:flex;position:absolute;inset:66px 12px auto;box-shadow:0 30px 80px #00000080}.mobile-nav>a:not(.resume-link){border-bottom:1px solid var(--line-neutral);grid-template-columns:42px 1fr;padding:17px 12px;font-size:15px;display:grid}.mobile-nav>a span{color:var(--gold);font:10px/1.6 IBM Plex Mono,monospace}.mobile-nav .resume-link{justify-content:center;justify-self:stretch;margin-top:12px}.hero-lower{grid-template-columns:1fr;gap:26px}.hero-meta{justify-self:start}.hero-directional-overlay{background:linear-gradient(90deg,#070707f0,#0707076b)}.impact-grid{grid-template-columns:repeat(3,1fr)}.metric-item:nth-child(3){border-right:0}.metric-item:nth-child(-n+3){border-bottom:1px solid var(--line-neutral)}.section-heading-row{display:block}.section-heading-row>p{flex:none;max-width:400px;margin-top:32px}.project-story,.project-story.is-reverse{grid-template-columns:1fr;gap:42px}.project-story.is-reverse .project-media,.project-story.is-reverse .project-copy{order:initial}.project-media{position:static}.project-copy{max-width:720px}.horizontal-project{grid-template-columns:1fr;gap:48px;min-height:0}.horizontal-project-copy{max-width:720px}.horizontal-project-gallery{width:calc(100vw - 20px)}.horizontal-project-viewport{-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 26px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 26px),#0000 100%)}.horizontal-project-track{padding-right:18vw}.project-output-slide{width:min(78vw,620px);height:600px}.lab-workbench{grid-template-columns:1fr}.lab-tabs{border-right:0;border-bottom:1px solid var(--line-neutral);grid-template-columns:repeat(3,1fr);display:grid}.lab-tabs button{border-right:1px solid var(--line-neutral);border-bottom:0;grid-template-columns:26px 1fr;min-height:120px;padding:16px}.lab-tabs button.is-active{box-shadow:inset 0 -2px var(--gold)}.artbook-intro{grid-template-columns:1fr;gap:38px}.artbook-intro dl{max-width:560px}.artbook-cover{margin-inline:-20px}.artbook-cover img{min-height:0;max-height:none}.artbook-chapter-heading{grid-template-columns:54px 1fr}.artbook-chapter-heading p{grid-column:2}.artbook-contents nav{grid-template-columns:repeat(2,1fr)}.artbook-contents nav a:nth-child(2){border-right:0}.artbook-contents nav a:nth-child(-n+2){border-bottom:1px solid var(--line-neutral)}.character-implementation{grid-template-columns:1fr}.character-tabs{border-right:0;border-bottom:1px solid var(--line-neutral);grid-template-columns:repeat(4,1fr);display:grid}.character-tabs button{text-align:center;border-right:1px solid var(--line-neutral);border-bottom:0;min-height:100px;display:block}.character-tabs button>span{margin-bottom:8px;display:block}.character-tabs button.is-active{box-shadow:inset 0 -2px var(--gold-bright)}.character-stage{grid-template-columns:1fr 1fr}.bestiary{grid-template-columns:minmax(180px,.5fr) minmax(0,1fr)}.bestiary-copy{padding-left:0}.enemy-stage{border-right:0}.enemy-index{border-top:1px solid var(--line-neutral);scrollbar-width:none;flex-direction:row;grid-column:1/-1;justify-content:start;padding:12px 0;overflow-x:auto}.enemy-index button{min-width:105px}.implementation-grid{grid-template-columns:1fr}.asset-ledger{grid-template-columns:repeat(3,1fr)}.asset-ledger p{text-align:left;border-top:1px solid var(--line-neutral);grid-column:1/-1}.tomb-gallery{height:auto;margin-inline:-20px}.tomb-gallery-sticky{height:auto;min-height:0;padding:64px 20px 28px;display:block;position:relative}.tomb-gallery-head{align-items:start}.tomb-gallery-track{scroll-snap-type:x mandatory;scrollbar-width:none;align-items:start;gap:16px;width:auto;height:auto;padding:0 10vw 20px 0;overflow-x:auto}.tomb-gallery-track::-webkit-scrollbar{display:none}.tomb-scene,.tomb-scene.is-neighbor{opacity:1;scroll-snap-align:center;width:min(68vw,330px);transform:none}.tomb-gallery-controls{grid-template-columns:1fr auto}.tomb-gallery-controls button{display:none}.tomb-gallery-stage{--gallery-edge-fade:28px;overflow:visible}.game-grid-secondary,.game-grid-secondary .game-case{grid-template-columns:1fr}.game-grid-secondary .game-image{height:68vh}.about-intro{grid-template-columns:1fr;gap:26px}.experience-grid,.contact-lower{grid-template-columns:1fr}.capability-row{grid-template-columns:54px 1fr}.capability-tools{grid-column:2;justify-content:flex-start}}@media (width<=640px){.content-wrap{width:min(100% - 20px,1600px)}.section-space{padding-block:88px}.section-label{margin-bottom:20px}.section-heading{margin-bottom:54px}.section-heading h2,.contact-section h2{font-size:clamp(26px,7.2vw,40px);line-height:1.12}.heading-line{white-space:normal}.hero-content{justify-content:flex-end;padding-top:100px;padding-bottom:70px}.hero-title-wrap h1{font-size:clamp(66px,20vw,94px);line-height:.9}.hero-title-wrap>p{letter-spacing:.12em;margin-top:12px;font-size:10px}.hero-eyebrow{max-width:260px;line-height:1.7}.hero-lower{margin-top:30px}.hero-intro>p{font-size:15px;line-height:1.65}.hero-actions{grid-template-columns:1fr;display:grid}.hero-actions .button{width:100%}.hero-meta p{align-items:flex-start;line-height:1.5}.video-control{bottom:16px;right:16px}.impact-grid{grid-template-columns:repeat(2,1fr)}.metric-item{min-height:125px;padding:22px 14px}.metric-item:nth-child(2n){border-right:0}.metric-item:nth-child(-n+4){border-bottom:1px solid var(--line-neutral)}.metric-item:nth-child(3){border-right:1px solid var(--line-neutral)}.project-list{gap:110px}.visual-shell{min-height:430px}.visual-topline{height:48px;padding-inline:13px;font-size:8px}.project-index{margin-bottom:28px}.project-copy h3{font-size:50px}.project-lead{margin:28px 0;font-size:16px}.project-details>div{grid-template-columns:40px 1fr;gap:12px}.project-details dd{font-size:13px}.horizontal-project-copy h3{font-size:50px}.horizontal-project-gallery{width:calc(100vw - 16px)}.horizontal-project-track{padding-left:0}.project-output-slide{grid-template-rows:60px minmax(0,1fr) auto;width:84vw;height:520px}.project-output-slide>header{grid-template-columns:36px 1fr;padding-inline:14px}.project-output-slide>header div{gap:6px;display:grid}.project-output-slide>header h4{font-size:17px}.project-output-slide>p{min-height:84px;padding:13px 14px;font-size:12px}.project-output-media .huixin-visual .style-stage{padding-top:38px}.project-output-media .huixin-visual .style-input,.project-output-media .huixin-visual .style-output{min-height:210px}.ranger-showcase{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.voice-list{padding:10px 14px}.voice-list>div{grid-template-columns:22px 22px 1fr;min-height:94px}.voice-list audio{grid-column:2/-1;height:28px}.voice-list strong{font-size:12px}.project-output-slide.huixin-process-slide{width:92vw}.huixin-process{grid-template-rows:50px minmax(0,1fr) 44px}.huixin-process-tabs button{grid-template-columns:20px 1fr;gap:5px;padding-inline:8px}.huixin-process-tabs strong{font-size:10px}.huixin-process-tabs small{display:none}.huixin-process-stage{grid-template-columns:1fr 1fr 1.32fr}.huixin-process-stage>button>span{grid-template-columns:16px auto;bottom:8px;left:7px}.huixin-process-stage>button strong{font-size:9px}.huixin-process-stage>button small{display:none}.huixin-process-stage>button>svg{width:28px;height:28px;padding:6px;top:7px;right:7px}.huixin-process-points{grid-template-columns:repeat(3,1fr)}.huixin-process-points>span{display:none}.huixin-process-points p{text-align:center;white-space:normal;justify-content:center;gap:4px;padding-inline:4px;font-size:8px}.huixin-process-points p:first-of-type{border-left:0}.project-output-slide.huixin-workflow-slide{width:92vw}.huixin-workflow-showcase{grid-template-columns:minmax(105px,.9fr) 26px minmax(0,1.6fr)}.huixin-workflow-flow{gap:7px}.huixin-workflow-flow i{height:42px}.huixin-workflow-flow strong{display:none}.huixin-workflow-results{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,1fr)}.huixin-workflow-source>span,.huixin-workflow-results button>span{grid-template-columns:17px 1fr;bottom:7px;left:7px}.huixin-workflow-source span>strong,.huixin-workflow-results span>strong{font-size:9px}.huixin-workflow-source span>small,.huixin-workflow-results span>small,.huixin-workflow-source>svg,.huixin-workflow-results button>svg{display:none}.radar-stage{inset:62px 12px 100px}.radar-ring-a{width:180px;height:180px}.radar-ring-b{width:300px;height:300px}.pipeline-footer{inset:auto 12px 12px}.pipeline-node{padding:12px 8px}.style-stage{grid-template-columns:1fr 36px 1fr;gap:6px;padding:44px 12px 20px}.style-input,.style-output{min-height:250px;padding:10px}.style-output{gap:4px}.style-swatch{min-height:62px}.style-process span{height:45px}.cluster-row{grid-template-columns:repeat(2,1fr);gap:5px;padding:0 12px 12px}.todo-layout{grid-template-columns:78px 1fr;min-height:382px}.todo-sidebar{padding:14px 7px}.todo-brand{margin-bottom:24px}.todo-step{grid-template-columns:1fr;gap:5px;font-size:7px}.todo-content{padding:14px}.score-overview strong{font-size:14px}.score-overview>div{padding:10px 7px}.data-row{grid-template-columns:22px 1fr 35px;padding-inline:7px;font-size:7px}.data-row>span:last-child{display:none}.quality-bars{margin-top:20px}.lab-workbench{min-height:0}.lab-tabs{grid-template-columns:1fr}.lab-tabs button{border-right:0;border-bottom:1px solid var(--line-neutral);min-height:88px}.lab-panel{grid-template-rows:auto auto}.lab-media{min-height:330px}.lab-description{padding:22px}.tool-suite-grid div{grid-template-columns:25px 1fr;min-height:90px}.tool-suite-grid i{display:none}.alpha-demo{grid-template-columns:1fr 28px 1fr;width:96%}.alpha-demo>svg{width:16px}.alpha-stage{padding:9px}.alpha-stage strong{font-size:15px}.alpha-stage span{font-size:6px}.tomb-artbook{margin-top:80px}.artbook-intro{padding-bottom:36px}.artbook-intro h3{font-size:54px}.artbook-intro p{font-size:14px}.artbook-intro dl div{padding-inline:8px}.artbook-intro dt{font-size:27px}.artbook-cover{margin-inline:-16px}.artbook-cover a{white-space:nowrap;bottom:12px}.artbook-contents{padding:70px 0}.artbook-contents>button>span,.artbook-page>span{padding:9px;bottom:8px;right:8px}.artbook-contents nav{margin-top:12px}.artbook-contents nav a{grid-template-columns:23px 1fr;min-height:80px;padding:12px 8px}.artbook-contents nav strong{font-size:13px}.chapter-section{padding:88px 0}.artbook-chapter-heading{grid-template-columns:36px 1fr;gap:14px;margin-bottom:42px;padding-bottom:20px}.artbook-chapter-heading h3{font-size:38px}.artbook-chapter-heading p{font-size:13px}.artbook-page{border-inline:0;border-radius:0;width:calc(100% + 32px);margin-inline:-16px}.character-implementation{min-height:0;margin-top:14px}.character-tabs{grid-template-columns:repeat(2,1fr)}.character-tabs button{border-bottom:1px solid var(--line-neutral);min-height:76px}.character-tabs button:nth-child(2n){border-right:0}.character-stage{background:radial-gradient(circle at 50% 32%,#c8a45d1f,#0000 32%);grid-template-columns:1fr}.character-stage>img{height:350px}.character-copy{padding:26px 18px 34px}.character-copy h4{font-size:44px}.monster-sheets{grid-template-columns:1fr;gap:12px;margin-inline:-16px}.monster-sheets button{border-inline:0;border-radius:0}.bestiary{grid-template-columns:1fr;min-height:0;margin-top:62px}.bestiary-copy{order:2;padding:24px 0}.bestiary-copy h4{font-size:48px}.enemy-stage{border-inline:0;border-bottom:1px solid var(--line-neutral);order:1;min-height:530px}.enemy-stage img{width:100%;height:500px}.enemy-index{order:3}.enemy-index button{min-width:96px}.implementation-grid{gap:32px}.implementation-grid>button{border-inline:0;border-radius:0;width:calc(100% + 32px);margin-inline:-16px}.implementation-grid h4{font-size:28px}.asset-ledger{grid-template-columns:1fr;margin-top:48px}.asset-ledger>div{border-right:0;border-bottom:1px solid var(--line-neutral);min-height:88px}.asset-ledger p{grid-column:1}.artbook-lightbox{padding:64px 8px 16px}.tomb-gallery{margin-inline:-16px}.tomb-gallery-sticky{padding:50px 16px 24px}.tomb-gallery-head>div:first-child{display:block}.tomb-gallery-head>div>span{margin-bottom:12px;display:block}.tomb-gallery-head p{font-size:12px}.tomb-gallery-meta{display:none}.tomb-scene{width:72vw}.tomb-scene-caption div{display:block}.tomb-scene-caption small{margin-top:6px;display:block}.scene-lightbox{grid-template-columns:1fr;padding:70px 16px 90px}.scene-lightbox img,.scene-lightbox video{grid-column:1;max-width:100%;max-height:78vh}.scene-lightbox-prev,.scene-lightbox-next{position:absolute;bottom:24px}.scene-lightbox-prev{left:16px}.scene-lightbox-next{right:16px}.scene-lightbox-caption{text-align:center;bottom:28px;left:80px;right:80px}.scene-lightbox-caption small{display:none}.game-grid{grid-template-columns:1fr}.game-case:nth-child(2){margin-top:40px}.game-image{height:72vh;min-height:560px}.capability-row{grid-template-columns:36px 1fr;gap:14px;padding:28px 0}.capability-row p{font-size:13px}.capability-tools{grid-column:2}.about-intro>p span{font-size:14px}.about-intro>p strong{margin-top:16px;font-size:27px;line-height:1.5}.timeline-item{padding-left:30px}.timeline-item h3{font-size:21px}.contact-lower{gap:55px;margin-top:56px}.contact-details a,.contact-details>p{grid-template-columns:30px 70px 1fr}.contact-details strong{overflow-wrap:anywhere;font-size:11px}.site-footer .content-wrap{grid-template-columns:1fr auto;gap:24px}.site-footer p{display:none}.site-footer div>div span{max-width:220px}}@media (width<=900px){.artbook-opening{grid-template-columns:1fr;gap:38px;padding:70px 0}.artbook-opening .artbook-intro{gap:42px;padding:0}.artbook-opening .artbook-cover{justify-self:center;width:min(100%,760px);margin:0}.archive-spread{grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:28px}.archive-sidebar{padding-right:0}.character-summary>div,.monster-summary>div{gap-inline:7px;grid-template-columns:46px 22px 1fr}.character-summary img,.monster-summary img{width:46px;height:46px}.tomb-gallery-stage{cursor:auto;overflow:auto hidden}.tomb-gallery-track{width:max-content;padding:0 10vw 20px 0;overflow:visible}}@media (width<=640px){.artbook-opening{gap:34px;margin-inline:0;padding:52px 0}.artbook-opening .artbook-intro{gap:34px;padding:0}.artbook-opening .artbook-intro h3{font-size:52px}.artbook-opening .artbook-cover{width:100%;margin:0}.artbook-opening .artbook-cover a{bottom:8px;right:8px}.artbook-title-image{margin-top:16px}.archive-spread{grid-template-columns:1fr;gap:30px;padding-block:64px}.archive-sidebar{position:static}.archive-title-image{width:min(72%,270px);margin-block:16px 18px}.archive-sidebar>p{margin-bottom:24px;font-size:12px}.character-summary,.monster-summary{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.character-summary>div,.monster-summary>div{grid-template-rows:auto auto;grid-template-columns:42px 1fr;min-height:68px;padding:8px 6px 8px 0}.character-summary>div:nth-child(2n),.monster-summary>div:nth-child(2n){border-left:1px solid var(--line-neutral);padding-left:8px}.character-summary img,.monster-summary img{width:42px;height:42px}.character-summary span,.monster-summary span{display:none}.character-summary strong,.monster-summary strong{font-size:12px}.character-summary small,.monster-summary small{font-size:8px}.archive-page{border-inline:0;border-radius:0;width:calc(100% + 32px);margin-inline:-16px}.monster-page{min-height:0}.monster-pagination{justify-content:center}.scene-title-image{width:min(78vw,330px);height:62px}}@media (width<=1100px){.graffiti-opening-copy{width:min(540px,100% - 48px)}.graffiti-opening>button{bottom:28px}}@media (width<=640px){.tomb-project-closing{min-height:390px;padding-inline:16px}.tomb-project-closing>strong{font-size:48px}.tomb-closing-logo{width:min(620px,94vw);max-height:110px;margin-block:18px 22px}.tomb-project-closing>p{font-size:13px}.project-boundary{grid-template-columns:1fr auto 1fr;gap:12px;min-height:170px;padding-inline:16px}.project-boundary>i{display:none}.project-boundary>div{gap:7px;display:grid}.project-boundary>div:last-child{text-align:right}.project-boundary small{text-align:center}.graffiti-opening{min-height:680px}.graffiti-opening>img{-o-object-position:62% top;object-position:62% top}.graffiti-opening-shade{background:linear-gradient(0deg,#050505f5 0,#050505b8 48%,#05050514 82%)}.graffiti-project-index{top:28px;right:16px}.graffiti-project-index strong{font-size:64px}.graffiti-opening-copy{width:calc(100% - 32px);bottom:94px;left:16px}.graffiti-opening-copy h3{margin-block:14px 18px;font-size:58px}.graffiti-opening-copy p{margin-bottom:20px;font-size:13px}.graffiti-opening>button{bottom:28px;right:16px}}@media (width<=1100px){.tk-hero-copy{width:440px;left:24px}.tk-hero-mockup{width:720px;right:-90px}.tk-battle-hud{left:410px;right:112px}.tk-hud-tools{right:115px}.tk-hero-units{left:38%;right:6%}.tk-hero-deck{left:38%;right:5%}.tk-playable{grid-template-columns:minmax(190px,220px) minmax(350px,470px) minmax(180px,210px);gap:34px}.tk-playable-steps{padding-left:56px}.tk-playable-steps:before{left:17px}.tk-playable-steps>div:before{left:-46px}.tk-playable-steps>div>strong{font-size:40px}.tk-playable-steps p{font-size:18px}.tk-playable-steps small{font-size:10px}.tk-project-metrics{gap:42px}.tk-project-metrics strong{font-size:40px}.tk-project-metrics span{font-size:15px}.tk-project-metrics>div:nth-child(3) strong,.tk-project-metrics>div:last-child strong{font-size:31px}.tk-character-layout{grid-template-columns:210px minmax(230px,.6fr) minmax(320px,1fr)}.tk-character-list button{min-height:82px;padding-inline:12px}}@media (width<=900px){.tk-hero{min-height:800px}.tk-hero-copy{width:380px;top:50%;left:24px}.tk-hero-copy h3{font-size:52px}.tk-hero-logo{margin-top:20px}.tk-hero-mockup{width:650px;height:730px;top:42px;right:-135px}.tk-battle-hud{transform-origin:100% 0;left:330px;right:24px;transform:scale(.86)}.tk-hud-tools{top:112px;right:28px;transform:scale(.9)}.tk-hero-units{top:205px;left:39%;right:2%}.tk-hero-units>img:not(.tk-brush-cursor){width:66px;height:80px}.tk-hero-deck{grid-template-columns:repeat(4,minmax(80px,1fr)) 44px;left:37%;right:2%}.tk-hero-deck>div{height:92px}.tk-hero-deck>div img{height:66px}.tk-hero-status{right:24px}.tk-playable{grid-template-columns:1fr 1fr;width:calc(100% - 40px);padding-block:90px 120px}.tk-playable-steps{align-self:start}.tk-demo-frame{grid-area:2/1/auto/-1;justify-self:center;width:min(100%,480px)}.tk-project-metrics{grid-area:1/2;grid-template-columns:1fr 1fr;align-self:start;gap:28px 20px}.tk-project-metrics>div{padding:0}.tk-project-metrics strong{font-size:36px}.tk-project-metrics span{font-size:13px}.tk-project-metrics>div:nth-child(3) strong,.tk-project-metrics>div:last-child strong{font-size:27px}.tk-breakdown,.tk-character-section,.tk-maps-skills{width:calc(100% - 40px);padding-bottom:110px}.tk-section-title{grid-template-columns:1fr}.tk-section-title>span{grid-column:1}.tk-section-title p{margin-top:5px}.tk-system-row{grid-template-columns:210px minmax(0,1fr)}.tk-system-copy{padding-right:24px}.tk-character-layout{grid-template-columns:1fr 1fr;min-height:0}.tk-character-list{border-right:0;border-bottom:1px solid var(--tk-line);scrollbar-width:none;grid-column:1/-1;display:flex;overflow-x:auto}.tk-character-list button{border-right:1px solid var(--tk-line-soft);border-bottom:0;min-width:165px}.tk-character-portrait img{height:460px}.tk-animation-stage>:is(img,svg){height:420px}.tk-map-layout{grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:24px}.tk-map-preview{height:620px}.tk-skill-strip{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto}.tk-skill-strip>div{display:none}.tk-skill-strip figure:first-of-type{border-left:0}.tk-ui-design{width:calc(100% - 40px);padding-bottom:110px}.tk-ui-showcase{grid-template-columns:1fr}.tk-ui-cards{border-right:0;border-bottom:1px solid var(--tk-line)}.tk-ui-component-strip{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto}.tk-outro>div span{min-width:150px}}@media (width<=640px){.tk-hero{min-height:820px}.tk-hero-map{-o-object-position:center 50%;object-position:center 50%}.tk-hero-shade{background:linear-gradient(0deg,#070504fa 0,#070504d1 38%,#07050429 68%),linear-gradient(90deg,#070504bd 0,#0000 34% 66%,#070504bd 100%)}.tk-battle-hud{transform-origin:top;width:500px;top:52px;left:50%;right:auto;transform:translate(-50%)scale(.7)}.tk-hud-tools{top:128px;right:16px;transform:scale(.8)}.tk-hero-copy{width:calc(100% - 32px);top:auto;bottom:24px;left:16px;transform:none}.tk-hero-copy>span{font-size:11px}.tk-hero-copy h3{margin-block:13px 12px;font-size:42px}.tk-hero-copy>strong{font-size:13px}.tk-hero-copy p{max-width:100%;margin-top:16px;font-size:14px;line-height:1.8}.tk-hero-copy small{display:none}.tk-hero-logo{width:min(92%,370px);margin-top:12px}.tk-hero-mockup{width:610px;height:520px;top:58px;right:-155px}.tk-hero-units{inset:155px 5% 350px 7%}.tk-hero-units>img:not(.tk-brush-cursor){width:58px;height:68px}.tk-hero-units path{stroke-width:6px}.tk-hero-deck{grid-template-columns:repeat(4,minmax(58px,1fr));gap:5px;bottom:230px;left:16px;right:16px}.tk-hero-deck>div{border-width:3px;height:82px}.tk-hero-deck>div img{height:58px}.tk-hero-deck>div span{font-size:8px;right:5px}.tk-hero-deck>div strong{font-size:11px;top:4px;bottom:auto}.tk-hero-deck>button{width:42px;height:42px;position:absolute;bottom:92px;right:0}.tk-hero-status{font-size:8px;top:14px;right:16px}.tk-playable{grid-template-columns:1fr;gap:42px;width:calc(100% - 32px);padding-block:72px 90px}.tk-playable-steps,.tk-project-metrics,.tk-demo-frame{grid-area:auto/1}.tk-project-metrics{grid-template-columns:1fr 1fr;gap:32px 18px}.tk-project-metrics strong{font-size:34px}.tk-project-metrics span{font-size:12px}.tk-project-metrics>div:nth-child(3) strong,.tk-project-metrics>div:last-child strong{font-size:25px}.tk-demo-frame{width:100%}.tk-demo-notice{grid-template-columns:8px 1fr;padding-inline:13px}.tk-demo-notice span{display:none}.tk-breakdown,.tk-character-section,.tk-maps-skills{width:calc(100% - 32px);padding-bottom:90px}.tk-section-title h3{font-size:28px}.tk-section-title p{font-size:13px}.tk-system-row{grid-template-columns:1fr;min-height:0}.tk-system-copy{padding:34px 0 26px}.tk-system-copy>span{font-size:34px}.tk-system-copy>strong{margin-bottom:18px}.tk-system-copy p{max-width:100%}.tk-formation-visual{min-height:300px}.tk-formation-board{width:100%}.tk-formation-characters{gap:1px;inset:20% 7% 14%}.tk-combat-frames :is(img,svg){height:220px;padding:8px}.tk-meta-visual{grid-template-columns:repeat(2,1fr)}.tk-meta-visual>img{height:260px}.tk-character-layout{grid-template-columns:1fr;margin-top:24px}.tk-character-list{grid-column:1}.tk-character-list button{min-width:145px}.tk-character-portrait{border-right:0;border-bottom:1px solid var(--tk-line)}.tk-character-portrait img{height:390px}.tk-animation-stage{min-height:480px}.tk-animation-stage>:is(img,svg){height:400px}.tk-map-layout{grid-template-columns:1fr;margin-top:24px}.tk-map-preview{height:580px}.tk-map-options{gap:8px}.tk-map-options button{grid-template-columns:20px 1fr}.tk-map-options strong{font-size:11px}.tk-skill-strip{grid-template-columns:repeat(5,112px);margin-top:38px}.tk-skill-strip figure{min-height:132px}.tk-skill-strip img{width:64px;height:64px}.tk-ui-design{width:calc(100% - 32px);padding-bottom:90px}.tk-ui-showcase{margin-top:24px}.tk-ui-design section>header{min-height:74px;padding-inline:12px}.tk-ui-card-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:16px}.tk-ui-controls>div{grid-template-columns:repeat(3,1fr)}.tk-ui-controls figure{border-right:1px solid var(--tk-line-soft);min-height:140px}.tk-ui-controls figure:nth-child(2n){border-right:1px solid var(--tk-line-soft)}.tk-ui-controls figure:nth-child(3n){border-right:0}.tk-ui-controls figure img{width:62px;height:62px}.tk-ui-component-strip{grid-template-columns:repeat(5,145px);min-height:210px}.tk-ui-component-strip figure{padding:16px}.tk-outro{min-height:560px;padding-inline:16px}.tk-outro-logo{width:min(96vw,520px);max-height:130px}.tk-outro>div{grid-template-columns:1fr 1fr;width:100%;margin-top:60px;display:grid}.tk-outro>div span{border-bottom:1px solid var(--tk-line-soft);min-width:0}.tk-outro>div span:nth-child(2n){border-right:0}.tk-outro>p{margin-top:36px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
