/* Scoped local candidate: untouched sections continue to use the original styles. */
.preview-home .hero.touch-cover .hero-video{display:none}
.preview-home .hero.touch-cover .hero-content{opacity:1;visibility:visible;padding-bottom:160px}
.preview-home .hero.touch-cover .hero-media:after{background:linear-gradient(180deg,#08090a20 20%,#08090a70 55%,#08090ac7)}
.preview-home .hero.touch-cover .scroll-cue{left:50%;right:auto;transform:translateX(-50%);bottom:max(22px,calc(env(safe-area-inset-bottom) + 18px));min-height:64px;min-width:180px;display:flex;flex-direction:column;gap:7px;justify-content:center;opacity:1;letter-spacing:.08em;touch-action:pan-y}
.preview-home .hero.touch-cover .scroll-cue i{order:-1;font-size:23px}
.preview-home .hero.touch-cover .scroll-cue span{font-size:14px}
.preview-home .hero.touch-cover .scroll-cue small{font-size:11px;letter-spacing:.08em;opacity:.8}
.preview-home .hero.touch-cover .scroll-cue.is-hidden{opacity:0;visibility:hidden}
.preview-home { --candidate-paper:#e9e5de; --candidate-ink:#141615; }
.preview-home,.preview-game { --paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); }
.preview-home :is(#what-i-do,#works,#capabilities) { scroll-margin-top:72px; }
.preview-home :is(.hero,.what-section,.selected-section) .wrap { width:min(calc(100% - clamp(40px,8vw,160px)),1520px); }
.preview-home .hero { min-height:100svh; }
.preview-home .hero-content { padding-bottom:clamp(92px,9vh,136px); }
.preview-home .hero .owner-name { font-size:clamp(64px,6.2vw,106px); font-weight:600; letter-spacing:.12em; }
.preview-home .hero .owner-desc { font-size:12px; letter-spacing:.15em; opacity:.85; margin-bottom:23px; }
.preview-home .hero .hero-sub { margin-top:30px; font-size:15px; gap:18px; }
.preview-home .hero-stage { padding:0; min-width:0; border:0; border-radius:0; font-size:10px; }
.preview-home .hero-line { padding-left:18px; border-left:1px solid #ffffff5c; }
.preview-home .scroll-cue { position:absolute; left:auto; width:auto; min-width:0; transform:none; right:clamp(20px,4vw,80px); bottom:36px; }
.preview-home .scroll-cue.is-hidden { opacity:0; visibility:hidden; transform:none; }
.preview-home .scroll-cue i { animation:none; }
.preview-home .scroll-cue:after { animation:none; height:28px; }
.preview-home .hero:after { content:""; position:absolute; left:0; right:0; bottom:0; height:56px; background:linear-gradient(transparent,#08090a70); pointer-events:none; }

/* A quiet paper interlude: four equal measures, not a fourth poster. */
.preview-home #what-i-do { position:relative; isolation:isolate; padding:clamp(65px,7vw,112px) 0 clamp(72px,7vw,110px); overflow:hidden; color:var(--candidate-ink); background:radial-gradient(ellipse 70% 100% at 18% 20%,#f5f0e7 0%,#f5f0e700 73%),radial-gradient(ellipse 55% 90% at 100% 90%,#b7b0a3 0%,#b7b0a300 80%),linear-gradient(126deg,#c9c4bb 0%,#e4ded3 52%,#d2cec6 100%); }
.preview-home #what-i-do:before { content:""; display:block; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(117deg,transparent 42%,#fffdf5a6 43.5%,#fffdf565 55%,#77736614 56%,transparent 58%),linear-gradient(117deg,transparent 69%,#57534a19 70%,#57534a08 74%,transparent 78%); }
.preview-home #what-i-do:after { content:""; display:block; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(180deg,#11171930 0%,transparent 13%,transparent 86%,#5b5b550c 100%); }
.overview-grain { position:absolute; inset:0; z-index:0; opacity:.075; background-image:var(--paper-grain); filter:grayscale(1); mix-blend-mode:multiply; pointer-events:none; }
.preview-home .what-content { position:relative; z-index:1; }
.overview-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:25px; border-bottom:1px solid #191a192b; }
.preview-home .overview-head .eyebrow { font-size:11px; letter-spacing:.16em; opacity:.75; }
.overview-head>span { font-size:12px; color:#66675f; }
.preview-home #what-i-do .positioning { display:flex; max-width:none; justify-content:space-between; align-items:flex-end; gap:36px; margin:44px 0 58px; }
.preview-home #what-i-do #positioning { display:block; margin:0; max-width:1100px; font-weight:450; line-height:1.4; font-size:clamp(30px,3.15vw,52px); letter-spacing:-.04em; }
.preview-home #positioning span { display:block; white-space:normal; overflow-wrap:normal; }
.preview-home #positioning span+span { font-size:clamp(18px,1.7vw,28px); margin-top:13px; letter-spacing:0; color:#5e6058; }
.overview-next { display:flex; flex:none; gap:24px; align-items:center; font-size:12px; padding-bottom:8px; border-bottom:1px solid #55594e; }
.overview-next span { font-size:20px; }
.preview-home #achievements { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; gap:0; }
.practice-index { min-width:0; padding:23px 26px 0; border-top:1px solid #25292166; border-left:1px solid #25292122; display:flex; flex-direction:column; transition:background .2s; }
.practice-index:first-child { padding-left:0; border-left:0; }
.practice-index:last-child { padding-right:0; }
.practice-index-head { display:flex; justify-content:space-between; font-size:10px; letter-spacing:.15em; color:#65665e; }
.practice-index-head>span:last-child { font-size:15px; transition:transform .2s; }
.practice-index:hover .practice-index-head>span:last-child { transform:translate(2px,-2px); }
.practice-index-value { height:126px; display:flex; align-items:center; font-size:clamp(60px,6.2vw,104px); line-height:1; letter-spacing:-.065em; font-weight:600; }
.practice-index-value.words { font-size:clamp(40px,4.1vw,66px); flex-direction:column; align-items:flex-start; justify-content:center; line-height:.95; letter-spacing:-.045em; }
.practice-index:last-child .practice-index-value { font-size:clamp(46px,5vw,80px); letter-spacing:-.06em; }
.practice-index h3 { font-size:16px; font-weight:600; margin:7px 0 11px; line-height:1.65; }
.practice-index p { color:#62645d; font-size:13px; line-height:1.9; margin:0; max-width:28em; }
.practice-index small { color:#74756b; font-size:11px; margin-top:16px; line-height:1.8; }
.practice-index:focus-visible { outline:2px solid #242722; outline-offset:6px; }

/* A contact sheet built around the works themselves. */
.preview-home #works { position:relative; isolation:isolate; overflow:hidden; padding:clamp(72px,7vw,112px) 0 80px; background:radial-gradient(ellipse 66% 770px at 17% 420px,#8b7d8b47 0%,#57546022 48%,transparent 85%),radial-gradient(ellipse 75% 600px at 100% 100%,#6e6b5d1f,transparent 78%),linear-gradient(127deg,#242627 0%,#111517 58%,#181b1b 100%); color:#eceae3; }
.preview-home #works>.wrap { position:relative; z-index:1; }
.preview-home #works:before { content:""; display:block; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(118deg,transparent 6%,#eee9df0b 19%,#ddd6e004 33%,transparent 34%); mask-image:linear-gradient(#000,transparent 72%); }
.preview-home #works:after { content:""; display:block; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.045; filter:grayscale(1); background-image:var(--paper-grain); }
.preview-home .selected-head { display:flex; justify-content:space-between; align-items:flex-end; margin:0 0 36px; padding:0; border:0; gap:32px; }
.preview-home .selected-heading .eyebrow { opacity:.6; font-size:10px; letter-spacing:.2em; }
.preview-home .selected-heading h2 { margin:16px 0 0; font-size:clamp(34px,4vw,58px); line-height:1.15; letter-spacing:-.03em; font-weight:500; }
.selected-intro { margin:0; font-size:13px; line-height:1.9; color:#aaaea5; }
.preview-home .work-filters { display:flex; gap:32px; margin:0 0 38px; padding:0; border-bottom:1px solid #ffffff26; overflow-x:auto; scrollbar-width:none; }
.preview-home .work-filter { border:0; border-bottom:2px solid transparent; padding:18px 0 14px; background:transparent; border-radius:0; color:#9b9f95; font-size:13px; white-space:nowrap; cursor:pointer; transition:color .2s,border-color .2s; }
.preview-home .work-filter span { font-size:10px; margin-left:10px; font-variant-numeric:tabular-nums; color:#747a6e; }
.preview-home .work-filter.active { background:transparent; color:#f4f1e8; border-color:#e4e4cd; }
.preview-home .work-filter.active span { color:#c6c9ba; }
.preview-home .work-filter:hover { color:#fff; }
.preview-home .work-filter:focus-visible { outline:2px solid #dddec9; outline-offset:-3px; }
.preview-home #selected-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(24px,3vw,48px); row-gap:clamp(50px,5vw,76px); margin:0; }
.preview-home .portfolio-entry { display:block; min-width:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; opacity:1; transform:none; scroll-margin-top:100px; }
.preview-home .portfolio-entry[hidden] { display:none; }
.preview-home .work-grid:hover .portfolio-entry { opacity:1; }
.preview-home .portfolio-entry:before,.preview-home .portfolio-entry:after { display:none; }
.entry-top { display:flex; align-items:center; justify-content:space-between; font-size:10px; letter-spacing:.1em; color:#a7ac9f; padding:0 0 14px; }
.entry-top span+span { color:#757e6c; }
.preview-home .portfolio-entry .work-visual { width:100%; height:auto; aspect-ratio:16/9; border-radius:2px; background:#242820; overflow:hidden; position:relative; }
.preview-home .portfolio-entry .work-visual>img { width:100%; height:100%; object-fit:cover; transform:none; }
.preview-home .portfolio-entry .work-visual:after { display:none; }
.preview-home .portfolio-entry:hover .work-visual>img { transform:none; }
.preview-home .portfolio-entry .work-visual .preview-video { object-fit:contain; }
.entry-view { position:absolute; right:14px; bottom:14px; display:flex; align-items:center; gap:15px; color:#fff; padding:8px 10px; border:1px solid #ffffff50; background:#11170d9c; font-size:10px; letter-spacing:.04em; pointer-events:none; }
.entry-view i { font-size:15px; font-style:normal; }
.playing-preview { display:none; }
.is-playing .idle-preview { display:none; }
.is-playing .playing-preview { display:inline; }
.entry-copy { padding-top:23px; }
.entry-copy h3 { margin:0; font-size:clamp(20px,1.7vw,28px); font-weight:500; letter-spacing:.01em; line-height:1.5; }
.entry-kicker { font-size:11px; line-height:1.7; color:#b0b3a8; margin:7px 0 0; }
.entry-concept { margin:12px 0 -4px; font-size:14px; color:#d9ddd0; letter-spacing:.04em; }
.entry-role { font-size:13px; color:#979d90; line-height:1.85; margin:14px 0 0; max-width:44em; }
.entry-bottom { display:flex; justify-content:space-between; gap:16px; margin-top:21px; padding-top:15px; border-top:1px solid #ffffff1d; font-size:10px; line-height:1.7; color:#929c85; }
.entry-bottom>span:last-child { white-space:nowrap; color:#e2e5d8; }
.entry-bottom i { display:inline-block; font-style:normal; margin-left:7px; transition:transform .2s; }
.portfolio-entry:hover .entry-bottom i { transform:translate(2px,-2px); }
.preview-home .portfolio-entry:focus-visible { outline:2px solid #d9dec4; outline-offset:8px; }
.preview-home .portfolio-entry .preview-watermark { left:12px; bottom:15px; font-size:8px; }
.archive-link { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:clamp(24px,5vw,80px); padding:35px 0 5px; border-top:1px solid #ffffff36; margin-top:72px; }
.archive-link .eyebrow { color:#a5ac99; opacity:1; font-size:9px; }
.archive-link h3 { font-size:20px; font-weight:400; margin:14px 0 9px; }
.archive-link p { font-size:12px; color:#8c9482; margin:0; }
.archive-link-count { font-size:50px; letter-spacing:-.06em; color:#bcc3b0; line-height:1; }
.archive-link-count small { display:block; font-size:8px; letter-spacing:.08em; margin-top:10px; }
.archive-link-action { border-bottom:1px solid #79836c; padding:10px 0; font-size:12px; color:#c5cdb7; }
.archive-link:focus-visible { outline:2px solid #d9dec4; outline-offset:10px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

/* Two distinct production paths; the game is not an AI video pipeline. */
.preview-home #capabilities { position:relative; isolation:isolate; overflow:hidden; padding:80px 0 90px; background:radial-gradient(ellipse 80% 36% at 65% 55%,#f9f5ebc9,transparent 85%),radial-gradient(ellipse 90% 40% at 35% 95%,#efede8b3,transparent 85%),linear-gradient(118deg,#e8e4dc 0%,#d6d1c7 56%,#bab6b0 100%); color:#252820; }
.preview-home #capabilities .wrap { width:min(calc(100% - clamp(40px,8vw,160px)),1520px); }
.preview-home #capabilities .capabilities-background { display:none; }
.preview-home #capabilities .capabilities-content { position:relative; z-index:1; }
.preview-home #capabilities:before { content:""; display:block; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(114deg,transparent 22%,#fffdf655 23%,#fffdf622 39%,#6a655317 40%,transparent 46%),linear-gradient(180deg,#151a1c1f,transparent 15%); }
.preview-home #capabilities:after { content:""; display:block; position:absolute; inset:0; z-index:0; pointer-events:none; background-image:var(--paper-grain); filter:grayscale(1); opacity:.065; mix-blend-mode:multiply; }
.preview-home #capabilities .section-title { font-size:clamp(32px,3.5vw,50px); line-height:1.3; font-weight:500; letter-spacing:-.03em; margin-top:20px; }
.preview-home #cap-chain { display:grid; grid-template-columns:1fr; gap:0; margin-top:45px; padding:0; background:transparent; }
.preview-home #cap-chain:before,.preview-home #cap-chain:after { display:none; }
.creation-path { display:grid; grid-template-columns:220px 1fr; gap:30px; padding:32px 0 38px; border-top:1px solid #30352b3b; }
.creation-path:last-child { border-bottom:1px solid #30352b3b; }
.creation-path header>span { font-size:9px; letter-spacing:.15em; color:#7b8171; }
.creation-path h3 { font-size:18px; font-weight:500; margin:13px 0 10px; }
.creation-path header>p { margin:0; font-size:11px; line-height:1.9; color:#808574; }
.creation-stages { list-style:none; padding:23px 0 0; margin:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); position:relative; gap:12px; align-items:start; }
.creation-stages:before { content:""; position:absolute; top:45px; left:0; right:0; height:1px; background:linear-gradient(90deg,#8d927966,#737b6244); }
.creation-stages li { position:relative; min-width:0; }
.creation-stages li:before { content:""; position:absolute; top:20px; left:0; width:4px; height:5px; background:#6c735c; }
.creation-stages li>span { color:#818972; font-size:9px; }
.creation-stages h4 { margin:28px 0 0; font-size:14px; line-height:1.8; font-weight:400; max-width:9em; }
.creation-stages li:last-child h4 { font-weight:600; }

/* Game detail: the same editorial frame, with room for reading and viewing. */
.preview-game { background:#e8e4dd; color:#222420; font-family:Inter,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",ui-sans-serif,system-ui,sans-serif; }
.preview-game>main { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse 75% 650px at 18% 1%,#fbf7edcc,transparent 90%),radial-gradient(ellipse 68% 850px at 100% 3%,#b5adbf66,transparent 85%),linear-gradient(115deg,#f0ece4 0%,#e4dfd6 56%,#dfdcd7 100%); }
/* The supplied unlettered artwork is an atmosphere layer, never another poster. */
.preview-game>main:before { content:""; position:absolute; z-index:-1; top:-160px; right:-330px; width:1100px; height:700px; pointer-events:none; background:url('media/narcissus/paper-atmosphere.png') left top / cover no-repeat; filter:grayscale(.65) blur(1.2px); mix-blend-mode:multiply; opacity:.5; mask-image:radial-gradient(ellipse at 48% 38%,#000 15%,#0009 43%,transparent 73%); }
.preview-game>main:after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background-image:var(--paper-grain); filter:grayscale(1); opacity:.065; mix-blend-mode:multiply; }
.preview-wrap { width:min(calc(100% - clamp(40px,8vw,160px)),1400px); margin-inline:auto; }
.game-nav { position:sticky; z-index:100; top:0; height:70px; padding:0 clamp(20px,4vw,80px); display:flex; justify-content:space-between; align-items:center; gap:20px; background:#eae6dfee; border-bottom:1px solid #22242021; backdrop-filter:blur(14px); }
.game-return { font-size:13px; display:inline-flex; gap:14px; align-items:center; }
.game-owner { font-size:11px; letter-spacing:.15em; }
.game-nav-type { font-size:10px; color:#74776c; letter-spacing:.15em; }
.game-heading { padding:70px 0 38px; }
.preview-eyebrow { margin:0; font-size:10px; letter-spacing:.13em; color:#676b5f; line-height:1.7; }
.game-heading .preview-eyebrow { display:flex; align-items:center; justify-content:space-between; }
.game-heading .preview-eyebrow span { font-size:11px; letter-spacing:0; }
.game-title-row { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-top:28px; }
.game-heading h1 { margin:0; font-size:clamp(34px,5.2vw,76px); font-weight:500; letter-spacing:-.04em; line-height:1.3; }
.game-english { font-size:12px; letter-spacing:.2em; margin:17px 0 0; color:#707568; }
.game-concept { font-size:15px; margin:22px 0 0; color:#59614e; letter-spacing:.05em; }
.game-intro-copy p.game-concept-copy { color:#303b27; font-size:19px; line-height:1.8; margin-bottom:24px; }
.game-screens-link { display:flex; gap:25px; border-bottom:1px solid #8b9180; padding:9px 0; font-size:12px; white-space:nowrap; }
.game-heading-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.game-store-link { display:inline-flex; align-items:center; gap:24px; min-height:44px; padding:8px 0; border-bottom:1px solid currentColor; font-size:13px; color:#303b27; white-space:nowrap; }
.game-store-link:hover { color:#686254; }
.game-store-link:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.game-store-footer { margin-top:20px; }
.game-keyart { margin-top:0; margin-bottom:0; }
.game-keyart>img { width:100%; height:auto; aspect-ratio:1232/706; display:block; object-fit:contain; background:#fff; }
.game-keyart figcaption { display:flex; justify-content:space-between; gap:20px; font-size:9px; letter-spacing:.09em; color:#7b8071; padding-top:14px; }
.game-intro { padding:72px 0 80px; display:grid; grid-template-columns:1fr 1.7fr; gap:9%; }
.preview-game h2 { margin:0; font-size:17px; font-weight:500; line-height:1.6; }
.game-intro h2>span,.game-notes h2>span { display:block; font-size:9px; letter-spacing:.14em; margin-top:8px; color:#868b7b; font-weight:400; }
.game-responsibility-label { font-size:11px; color:#7a806e; margin:36px 0 10px; }
.game-responsibility { max-width:22em; font-size:13px; line-height:2; margin:0; color:#4d5543; }
.game-intro-copy p { font-size:15px; line-height:1.95; margin:18px 0 0; color:#63685c; }
.game-intro-copy p.game-lead { margin:0 0 26px; font-size:clamp(25px,2.6vw,38px); line-height:1.5; font-weight:450; color:#272d20; letter-spacing:-.035em; }
.game-gallery { position:relative; background:radial-gradient(ellipse 80% 600px at 20% 0%,#55505938,transparent 80%),linear-gradient(120deg,#232626,#121618 70%,#191d1c); color:#ecefe4; padding:72px 0; scroll-margin-top:70px; }
.gallery-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:34px; }
.gallery-heading .preview-eyebrow { color:#929b84; }
.gallery-heading h2 { font-size:clamp(23px,2.3vw,34px); margin-top:14px; font-weight:400; }
.gallery-heading>span { font-size:10px; color:#8f9b80; }
.gallery-main { display:block; width:100%; aspect-ratio:16/9; position:relative; border:0; padding:0; background:#10130e; cursor:zoom-in; }
.gallery-main>img { display:block; width:100%; height:100%; object-fit:contain; }
.gallery-expand { position:absolute; top:16px; right:16px; padding:9px 12px; background:#131a10ad; border:1px solid #ffffff45; font-size:11px; color:white; }
.gallery-caption { display:flex; justify-content:space-between; align-items:center; padding-top:13px; font-size:11px; color:#b2bba4; }
.gallery-arrows { display:flex; gap:6px; }
.gallery-arrows button,.lightbox-arrows button { width:42px; height:38px; border:1px solid #ffffff42; background:transparent; color:#e2e8d8; font-size:20px; cursor:pointer; }
.gallery-arrows button:hover,.lightbox-arrows button:hover { background:#ffffff12; }
.gallery-thumbnails { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; max-width:650px; margin-top:22px; }
.gallery-thumbnails button { border:0; padding:0 0 8px; border-bottom:2px solid transparent; text-align:left; color:#909b81; background:transparent; cursor:pointer; min-width:0; }
.gallery-thumbnails button>img { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; display:block; opacity:.55; transition:opacity .2s; }
.gallery-thumbnails button>span { display:block; font-size:10px; margin-top:10px; }
.gallery-thumbnails button[aria-pressed="true"] { color:#e6eddc; border-bottom-color:#cdd8bd; }
.gallery-thumbnails button[aria-pressed="true"]>img,.gallery-thumbnails button:hover>img { opacity:1; }
.game-notes { padding:70px 0 80px; display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.game-notes { position:relative; isolation:isolate; }
.game-notes:before { content:""; position:absolute; inset:0 -10vw; z-index:-1; pointer-events:none; background:radial-gradient(ellipse 58% 100% at 0% 30%,#c5bbc44d,transparent 80%),linear-gradient(118deg,transparent 35%,#fffaf363 36%,#fffaf322 61%,transparent 62%); }
.game-notes>div { border-top:1px solid #303b272b; padding-top:24px; }
.game-notes p { font-size:15px; line-height:1.95; color:#686f5e; margin:23px 0 0; max-width:33em; }
.game-end { display:flex; justify-content:space-between; gap:28px; align-items:center; padding:28px 0; border-top:1px solid #303b2733; font-size:12px; }
.game-end>a:last-child { color:#737b65; }
.game-footer { display:flex; justify-content:space-between; gap:20px; padding:30px 0 35px; font-size:10px; color:#8e9583; }
.preview-game a:focus-visible,.preview-game button:focus-visible { outline:2px solid #7c8970; outline-offset:5px; }
.gallery-open { overflow:hidden; }
.game-lightbox { width:min(96vw,1600px); max-width:none; max-height:96dvh; background:#0e110e; color:#eee; padding:20px; border:1px solid #ffffff30; }
.game-lightbox::backdrop { background:#050705ed; }
.lightbox-toolbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; font-size:12px; color:#aab89a; }
.lightbox-close { background:transparent; border:1px solid #ffffff40; color:#e4eadb; padding:9px 16px; cursor:pointer; font-size:12px; }
.game-lightbox>img { display:block; width:100%; max-height:calc(96dvh - 160px); object-fit:contain; }
.lightbox-arrows { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:18px; }
.lightbox-arrows>span { font-size:10px; color:#8c9c7a; }

@media(min-width:1800px) {
  .practice-index-value { height:145px; }
  .preview-home .hero-content .wrap { max-width:1680px; }
}
@media(max-width:1100px) {
  .creation-path { grid-template-columns:1fr; gap:6px; }
  .creation-path header { display:flex; gap:20px; align-items:baseline; flex-wrap:wrap; }
  .creation-path header>span { min-width:145px; }
  .creation-path h3 { margin:0; }
  .overview-next { display:none; }
  .practice-index { padding-left:18px; padding-right:18px; }
  .practice-index h3 { font-size:14px; }
  .practice-index p { font-size:12px; }
  .practice-index-value { height:110px; }
  .preview-home .entry-copy h3 { font-size:22px; }
  .archive-link { gap:30px; }
}
@media(max-width:800px) {
  .preview-home #what-i-do:before { opacity:.65; }
  .preview-home #works { background:radial-gradient(ellipse 115% 800px at 10% 400px,#81748538,transparent 85%),linear-gradient(140deg,#242627,#111517 60%,#181b1b); }
  .preview-game>main:before { right:-380px; width:900px; height:580px; opacity:.36; }
  .preview-home #what-i-do { padding:56px 0 60px; }
  .preview-home #what-i-do .positioning { margin:30px 0 40px; }
  .preview-home #what-i-do #positioning { font-size:32px; }
  .preview-home #positioning span+span { font-size:18px; max-width:26em; line-height:1.7; }
  .preview-home #achievements { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 0; }
  .practice-index { padding:19px 24px 0; }
  .practice-index:nth-child(odd) { padding-left:0; border-left:0; }
  .practice-index:nth-child(even) { padding-right:0; }
  .practice-index-value { font-size:76px; height:116px; }
  .practice-index-value.words { font-size:46px; }
  .practice-index:last-child .practice-index-value { font-size:58px; }
  .practice-index h3 { font-size:15px; }
  .preview-home #works { padding:62px 0; }
  .preview-home .selected-head { flex-direction:row; align-items:flex-end; gap:22px; }
  .selected-intro { font-size:11px; }
  .preview-home .portfolio-entry .work-visual { aspect-ratio:16/9; }
  .preview-home .entry-copy h3 { font-size:19px; }
  .entry-role { font-size:12px; }
  .entry-bottom { display:block; }
  .entry-bottom>span { display:block; }
  .entry-bottom>span+span { margin-top:8px; }
  .archive-link { grid-template-columns:1fr auto; margin-top:52px; }
  .archive-link-action { grid-column:1 / -1; width:max-content; }
  .game-heading { padding-top:44px; }
  .game-intro { gap:8%; grid-template-columns:1fr 1.6fr; padding:50px 0; }
  .game-notes { gap:9%; }
}
@media(max-width:600px) {
  .preview-home #what-i-do { background:radial-gradient(ellipse 150% 75% at 0% 5%,#f4eee4,transparent 75%),linear-gradient(140deg,#e4ddd2,#c8c1b5); }
  .preview-home #what-i-do:before { background:linear-gradient(117deg,transparent 42%,#fffaf455 44%,#fffaf422 65%,transparent 67%); }
  .preview-home #capabilities { background:radial-gradient(ellipse 120% 45% at 0% 5%,#f2ede4b3,transparent 90%),radial-gradient(ellipse 100% 50% at 90% 82%,#e4dfeccc,transparent 90%),linear-gradient(130deg,#ddd6ca,#cdc8bd); }
  .preview-home #capabilities:before { opacity:.45; }
  .preview-game>main { background:radial-gradient(ellipse 130% 600px at 100% 0%,#b9aec23d,transparent 85%),linear-gradient(115deg,#f2eee5,#e0dacf); }
  .preview-game>main:before { top:-130px; right:-390px; width:640px; height:400px; opacity:.26; }
  .preview-home #capabilities { padding:52px 0 60px; }
  .preview-home #capabilities .wrap { width:calc(100% - 40px); }
  .preview-home #capabilities .section-title { font-size:32px; }
  .preview-home #cap-chain { margin-top:30px; }
  .creation-path { padding:27px 0 33px; gap:25px; }
  .creation-path header { display:block; }
  .creation-path h3 { margin:12px 0 8px; font-size:20px; }
  .creation-path header>p { font-size:11px; }
  .creation-stages { grid-template-columns:1fr; padding:0 0 0 17px; gap:0; }
  .creation-stages:before { top:6px; bottom:10px; left:0; right:auto; width:1px; height:auto; background:#7d866044; }
  .creation-stages li { display:flex; align-items:baseline; gap:17px; padding:0 0 26px; }
  .creation-stages li:last-child { padding-bottom:0; }
  .creation-stages li:before { left:-19px; top:10px; }
  .creation-stages h4 { margin:0; max-width:none; font-size:14px; }
  .creation-stages li>span { font-size:10px; }
  .preview-home :is(.hero,.what-section,.selected-section) .wrap,.preview-wrap { width:calc(100% - 40px); }
  .preview-home .hero .owner-name { font-size:58px; }
  .preview-home .hero .owner-desc { font-size:10px; max-width:none; letter-spacing:.08em; }
  .preview-home .hero-content { padding-bottom:120px; }
  .preview-home .hero .hero-sub { flex-direction:row; align-items:center; margin-top:27px; gap:12px; font-size:12px; }
  .preview-home .hero-line { max-width:230px; padding-left:12px; line-height:1.8; }
  .preview-home .hero-stage { font-size:9px; }
  .preview-home .scroll-cue { bottom:24px; }
  .overview-head { padding-bottom:18px; }
  .overview-head>span { display:none; }
  .preview-home .overview-head .eyebrow { font-size:10px; }
  .preview-home #what-i-do #positioning { font-size:28px; line-height:1.5; letter-spacing:-.04em; }
  .preview-home #positioning span+span { font-size:15px; line-height:1.8; margin-top:13px; }
  .practice-index { padding-right:18px; padding-left:18px; }
  .practice-index-head { font-size:9px; letter-spacing:.1em; }
  .practice-index-value { height:99px; font-size:clamp(48px,16vw,64px); }
  .practice-index-value.words { font-size:clamp(34px,10.2vw,40px); }
  .practice-index:last-child .practice-index-value { font-size:clamp(39px,12.5vw,49px); }
  .practice-index h3 { font-size:13px; }
  .practice-index p { font-size:12px; }
  .practice-index small { font-size:10px; }
  .preview-home .selected-heading h2 { font-size:34px; }
  .preview-home .selected-head { margin-bottom:24px; }
  .preview-home .selected-intro { max-width:145px; font-size:10px; }
  .preview-home .work-filters { gap:23px; margin-bottom:30px; }
  .preview-home .work-filter { font-size:12px; padding-top:10px; }
  .preview-home .work-filter span { font-size:9px; margin-left:5px; }
  .preview-home #selected-grid { grid-template-columns:1fr; gap:42px; }
  .preview-home .entry-copy { padding-top:19px; }
  .preview-home .entry-copy h3 { font-size:21px; }
  .entry-top { font-size:9px; padding-bottom:11px; }
  .entry-role { font-size:12px; line-height:1.9; }
  .entry-bottom { display:flex; align-items:flex-start; gap:12px; margin-top:18px; padding-top:12px; }
  .entry-bottom>span+span { margin-top:0; }
  .entry-view { font-size:9px; padding:6px 9px; right:10px; bottom:10px; }
  .archive-link { gap:22px; padding-top:25px; }
  .archive-link h3 { font-size:17px; }
  .archive-link p { max-width:18em; font-size:10px; line-height:1.8; }
  .archive-link-count { font-size:42px; }
  .archive-link-count small { max-width:9em; font-size:7px; line-height:1.6; letter-spacing:0; }
  .archive-link-action { font-size:11px; }
  .game-nav { height:60px; gap:15px; }
  .game-return { font-size:12px; gap:10px; }
  .game-owner { font-size:9px; }
  .game-nav-type { display:none; }
  .game-heading { padding:36px 0 26px; }
  .game-heading .preview-eyebrow { display:block; font-size:9px; }
  .game-heading .preview-eyebrow span { display:block; margin-top:10px; font-size:10px; }
  .game-title-row { display:block; margin-top:22px; }
  .game-heading h1 { font-size:35px; }
  .game-english { font-size:9px; margin-top:12px; }
  .game-screens-link { font-size:11px; width:max-content; margin-top:22px; }
  .game-heading-actions { margin-top:22px; gap:8px; }
  .game-heading-actions .game-screens-link { margin-top:0; }
  .game-keyart figcaption { font-size:8px; gap:10px; padding-top:11px; }
  .game-intro { grid-template-columns:1fr; gap:35px; padding:42px 0 47px; }
  .game-responsibility-label { margin-top:23px; }
  .game-responsibility { max-width:none; font-size:12px; }
  .game-intro-copy p.game-lead { font-size:26px; margin-bottom:23px; }
  .game-intro-copy p { font-size:14px; }
  .game-gallery { padding:44px 0; scroll-margin-top:60px; }
  .gallery-heading { display:block; margin-bottom:24px; }
  .gallery-heading h2 { font-size:23px; margin-top:12px; }
  .gallery-heading>span { display:block; margin-top:14px; font-size:9px; }
  .gallery-expand { font-size:9px; padding:6px 8px; top:8px; right:8px; }
  .gallery-caption { font-size:10px; }
  .gallery-arrows button { width:40px; height:40px; }
  .gallery-thumbnails { gap:10px; margin-top:20px; }
  .gallery-thumbnails button>span { font-size:9px; line-height:1.7; margin-top:8px; }
  .game-notes { grid-template-columns:1fr; gap:37px; padding:46px 0; }
  .game-notes p { font-size:14px; margin-top:18px; }
  .game-end { display:block; padding:24px 0; }
  .game-end>a:last-child { display:block; margin-top:23px; font-size:11px; line-height:1.9; }
  .game-footer { display:block; font-size:9px; padding:15px 0 30px; }
  .game-footer span+span { display:block; margin-top:10px; }
  .game-lightbox { padding:12px; width:96vw; }
  .lightbox-arrows { gap:12px; }
  .lightbox-arrows span { font-size:9px; }
}
@media(hover:none) {
  .entry-view .idle-preview { font-size:0; }
  .entry-view .idle-preview:after { content:'查看作品'; font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .preview-home *, .preview-game * { scroll-behavior:auto; transition:none; }
}
