
:root{--bg:#070B14;--panel:#0E1628;--text:#F4F7FF;--muted:#95A2BC;--line:rgba(255,255,255,.09);--blue:#4FC3FF;--violet:#7B61FF;--green:#61E7B3;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(circle at 10% 0%,rgba(79,195,255,.08),transparent 30rem),radial-gradient(circle at 90% 18%,rgba(123,97,255,.09),transparent 32rem),var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(7,11,20,.82);backdrop-filter:blur(18px)}.header-inner{height:74px;max-width:var(--max);margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand img{width:42px;height:42px}.brand span{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:.82rem;letter-spacing:.09em}.brand small{margin-top:5px;color:var(--muted);font-size:.57rem;letter-spacing:.34em}.nav{display:flex;gap:28px;color:#C2CADB;font-size:.9rem}.nav a:hover{color:white}.nav-toggle{display:none;color:white;background:none;border:0;font-size:1.35rem}.hero{max-width:var(--max);min-height:670px;margin:auto;padding:110px 24px 90px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:70px}.kicker{margin:0 0 16px;color:var(--blue);font-size:.73rem;font-weight:800;letter-spacing:.19em}h1,h2,h3{margin:0;line-height:1.02}h1{font-size:clamp(3.2rem,7vw,6.2rem);letter-spacing:-.07em;font-weight:850}h1 span{color:#9AA7C1}.lead{max-width:650px;margin:28px 0;color:#B3BDD1;font-size:1.08rem}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 21px;border-radius:10px;font-size:.9rem;font-weight:750;border:1px solid transparent;transition:.18s}.btn.primary{background:linear-gradient(135deg,var(--blue),#75E5D5);color:#07111A}.btn.primary:hover{transform:translateY(-2px)}.btn.secondary{border-color:var(--line);background:rgba(255,255,255,.03)}.hero-mark{display:grid;place-items:center}.hero-mark img{width:min(390px,78vw);filter:drop-shadow(0 30px 60px rgba(44,101,255,.18))}.strip{min-height:60px;border-block:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:24px;color:#6F7B94;font-size:.68rem;font-weight:800;letter-spacing:.16em}.strip i{color:#303A50}.section{max-width:var(--max);margin:auto;padding:108px 24px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-head h2,.test-panel h2,.studio h2,.contact h2{font-size:clamp(2.5rem,5vw,4.6rem);font-weight:850;letter-spacing:-.055em}.section-head>p{max-width:430px;color:var(--muted);margin:0}.games{display:grid;grid-template-columns:1.22fr .78fr;gap:20px}.game-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--panel),#0A101C)}.game-art{height:320px;border-bottom:1px solid var(--line);display:grid;place-items:center}.cube-art{background:radial-gradient(circle at 50% 45%,rgba(79,195,255,.14),transparent 45%),#0B1222}.cube-grid{width:182px;height:182px;padding:7px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#111B30;border:1px solid rgba(79,195,255,.22);border-radius:14px;transform:rotate(-7deg);box-shadow:0 28px 45px rgba(0,0,0,.32)}.cube-grid span{display:grid;place-items:center;border-radius:7px;background:#16233D;border:1px solid rgba(255,255,255,.05);font-size:1.35rem;font-weight:800;color:#DDE6F8}.cube-grid span:nth-child(5){background:linear-gradient(135deg,var(--blue),#75E5D5);color:#07111A}.noble-art{background:radial-gradient(circle at 50% 50%,rgba(123,97,255,.14),transparent 45%),#0B1020}.noble-symbol{width:140px;height:140px;border:1px solid rgba(123,97,255,.3);border-radius:32px;display:grid;place-items:center;color:#8878DD;font-size:4.5rem;font-weight:850;transform:rotate(5deg)}.game-info{padding:27px}.status{display:flex;align-items:center;gap:8px;color:#9485DE;font-size:.65rem;font-weight:800;letter-spacing:.13em}.status span{width:7px;height:7px;border-radius:50%;background:currentColor}.status.live{color:var(--green)}.game-info h3{font-size:2rem;letter-spacing:-.04em;margin:12px 0}.game-info p:not(.status){color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.chips span{padding:5px 8px;border:1px solid var(--line);border-radius:7px;color:#8290AA;font-size:.68rem}.inline-link{font-size:.88rem;font-weight:750;color:#DCE4F3}.test-panel{padding:55px;border:1px solid rgba(79,195,255,.15);border-radius:22px;background:linear-gradient(145deg,#0C1628,#09101D);display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.test-copy>p:not(.kicker){color:var(--muted);margin:22px 0 28px}.test-list{border-top:1px solid var(--line)}.test-list div{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:19px 0;border-bottom:1px solid var(--line)}.test-list strong{color:var(--blue);font-size:.72rem}.studio{display:grid;grid-template-columns:1fr 1fr;gap:70px}.studio-copy .large{margin-top:4px;color:#D9E1F0;font-size:1.24rem;line-height:1.55}.studio-copy p:not(.large){color:var(--muted)}.contact-inner{text-align:center;border-block:1px solid var(--line);padding:65px 24px}.contact-inner>p:not(.kicker){color:var(--muted)}.mail{display:inline-block;margin:14px 0 26px;color:var(--blue);font-size:clamp(1.35rem,3vw,2.35rem);font-weight:820;letter-spacing:-.04em}.social-row{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;color:#6F7C95;font-size:.78rem}.footer{max-width:var(--max);margin:auto;padding:38px 24px 55px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;color:#68758E;font-size:.72rem}.brand.mini img{width:34px;height:34px}.footer>p:nth-child(2){text-align:center}.legal-note{text-align:right;color:#7E6E70}@media(max-width:860px){.nav-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;padding:20px 24px;flex-direction:column;background:#080D18;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{grid-template-columns:1fr;min-height:auto;padding-top:80px}.hero-mark{order:-1;justify-content:start}.hero-mark img{width:170px}.games,.test-panel,.studio{grid-template-columns:1fr}.section-head{display:block}.section-head>p{margin-top:18px}.strip{justify-content:flex-start;overflow:hidden;white-space:nowrap;padding-inline:22px}.footer{grid-template-columns:1fr;text-align:center}.footer .brand{justify-content:center}.legal-note{text-align:center}}@media(max-width:520px){.header-inner,.hero,.section{padding-left:18px;padding-right:18px}h1{font-size:3.25rem}.section{padding-top:80px;padding-bottom:80px}.game-art{height:255px}.test-panel{padding:34px 22px}}

/* Legal pages */
.legal-links{display:flex;gap:18px;justify-content:flex-end}
.legal-links a:hover{color:var(--text)}
.legal-page{max-width:900px;margin:0 auto;padding:82px 24px 110px}
.legal-hero{padding-bottom:34px}
.legal-hero h1{font-size:clamp(3rem,7vw,5.6rem);letter-spacing:-.065em;font-weight:850}
.legal-hero>p:not(.kicker){max-width:680px;color:var(--muted)}
.legal-card{margin:16px 0;padding:28px 30px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(14,22,40,.92),rgba(9,15,27,.94))}
.legal-card h2{margin:0 0 14px;font-size:1.4rem;letter-spacing:-.025em}
.legal-card p{color:#AEB8CC}
.legal-card a{color:var(--blue)}
.legal-card ul{color:#AEB8CC;padding-left:22px}
.legal-card li+li{margin-top:7px}
.legal-card mark{display:inline-block;padding:1px 5px;border-radius:4px;background:rgba(255,177,66,.13);color:#FFD597}
.warning-card{border-color:rgba(255,177,66,.28);background:rgba(255,177,66,.06)}
.warning-card strong{color:#FFD597}
.optional-block{border-style:dashed}
.legal-nav{display:flex}
.legal-footer{max-width:900px}
@media(max-width:860px){.legal-nav{display:flex;position:static;padding:0;background:none;border:0;flex-direction:row;gap:14px}.legal-nav a:nth-child(2),.legal-nav a:nth-child(3){display:none}.legal-links{justify-content:center}}


/* v0.4 — Games, Discord, Whack Spire */
.section-side{max-width:430px}
.section-side p{margin:0;color:var(--muted)}
.all-games-link{display:inline-block;margin-top:12px;color:var(--blue)}
.test-mail{margin-top:16px!important;font-size:.82rem}
.test-mail a{color:var(--blue)}
.social-row a{color:#AAB8CF;font-weight:700}
.social-row a:hover{color:var(--blue)}

.whack-art{
  background:
    radial-gradient(circle at 52% 48%,rgba(123,97,255,.18),transparent 42%),
    linear-gradient(145deg,#0C1222,#0A1020);
  overflow:hidden;
}
.spire-scene{position:relative;width:220px;height:190px}
.spire{
  position:absolute;bottom:22px;width:46px;
  border:1px solid rgba(123,97,255,.42);
  background:linear-gradient(180deg,rgba(123,97,255,.34),rgba(79,195,255,.08));
  clip-path:polygon(50% 0,100% 28%,100% 100%,0 100%,0 28%);
}
.s1{left:15px;height:105px}
.s2{left:87px;height:155px}
.s3{right:15px;height:82px}
.impact{
  position:absolute;width:34px;height:34px;border:2px solid var(--blue);border-radius:50%;
  left:93px;top:51px;box-shadow:0 0 0 14px rgba(79,195,255,.06),0 0 32px rgba(79,195,255,.18)
}

.games-hero{
  max-width:var(--max);margin:auto;padding:105px 24px 72px;
  border-bottom:1px solid var(--line)
}
.games-hero h1{font-size:clamp(3.6rem,8vw,7rem);letter-spacing:-.07em;font-weight:850}
.games-hero>p:not(.kicker){max-width:650px;color:var(--muted);font-size:1.08rem}
.games-hero .actions{margin-top:28px}
.game-library{max-width:var(--max);margin:auto;padding:34px 24px 70px}
.library-card{
  display:grid;grid-template-columns:92px 1fr;gap:24px;
  padding:34px 0;border-bottom:1px solid var(--line);
  scroll-margin-top:100px
}
.library-card:first-child{border-top:1px solid var(--line)}
.library-no{
  color:#4C5A73;font-size:.72rem;font-weight:800;letter-spacing:.14em;padding-top:8px
}
.library-meta{margin:0 0 8px;color:var(--blue);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.library-content h2{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.045em}
.library-content>p:not(.library-meta){max-width:720px;color:var(--muted);margin:12px 0 18px}
.library-card.future .library-meta{color:#69768E}
.library-card.future h2{color:#C8D0DF}
.games-cta{padding-top:40px}

@media(max-width:860px){
  .section-side{max-width:none;margin-top:18px}
}
@media(max-width:520px){
  .library-card{grid-template-columns:44px 1fr;gap:10px;padding:28px 0}
  .games-hero{padding-left:18px;padding-right:18px}
}


/* v0.5 — living studio / logo-independent */
.studio-stats{
  max-width:var(--max);margin:0 auto 55px;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:16px;
  background:rgba(255,255,255,.018)
}
.studio-stats div{padding:24px 28px;border-right:1px solid var(--line)}
.studio-stats div:last-child{border-right:0}
.studio-stats strong{display:block;font-size:1.7rem;letter-spacing:-.04em}
.studio-stats span{color:var(--muted);font-size:.75rem}
.games-more{
  margin-top:22px;padding:24px;border:1px solid var(--line);border-radius:14px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.015)
}
.games-more p{margin:0;color:var(--muted)}
.process-section{padding-top:65px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.process-grid article{padding:27px 22px 24px 0;border-bottom:1px solid var(--line)}
.process-grid article+article{padding-left:22px;border-left:1px solid var(--line)}
.process-grid span{color:var(--blue);font-size:.67rem;font-weight:800;letter-spacing:.15em}
.process-grid h3{font-size:1.35rem;margin:10px 0 8px}
.process-grid p{margin:0;color:var(--muted);font-size:.85rem}
.games-hero h1 span{color:#8490A8}

/* Games portfolio */
.portfolio-controls{
  max-width:var(--max);margin:auto;padding:30px 24px 12px;
  display:flex;gap:8px;flex-wrap:wrap
}
.filter-btn{
  border:1px solid var(--line);background:rgba(255,255,255,.025);color:#93A0B8;
  padding:9px 13px;border-radius:9px;cursor:pointer;font:700 .75rem/1 inherit
}
.filter-btn:hover,.filter-btn.active{color:#07111A;background:var(--blue);border-color:var(--blue)}
.portfolio-grid{
  max-width:var(--max);margin:auto;padding:16px 24px 72px;
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px
}
.portfolio-card{
  min-height:460px;overflow:hidden;border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(145deg,#0E1628,#09101C);
  transition:transform .2s ease,border-color .2s ease
}
.portfolio-card:hover{transform:translateY(-3px);border-color:rgba(79,195,255,.22)}
.portfolio-card.hidden{display:none}
.game-thumb{height:220px;border-bottom:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.portfolio-copy{padding:25px}
.portfolio-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.project-no{color:#59667E;font-size:.65rem;font-weight:800;letter-spacing:.14em}
.project-status{
  padding:5px 8px;border:1px solid var(--line);border-radius:7px;color:#77849D;
  font-size:.58rem;font-weight:800;letter-spacing:.12em
}
.portfolio-card.active .project-status{color:var(--green);border-color:rgba(97,231,179,.2)}
.portfolio-copy h2{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.05em;margin-bottom:10px}
.portfolio-copy>p:not(.library-meta){color:var(--muted);margin:0 0 18px}
.thumb-sudoku{background:radial-gradient(circle,rgba(79,195,255,.12),transparent 55%),#0B1222}
.mini-sudoku{
  width:128px;height:128px;padding:5px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;
  transform:rotate(-6deg);border:1px solid rgba(79,195,255,.25);border-radius:11px;background:#111B30
}
.mini-sudoku i{display:grid;place-items:center;font-style:normal;font-weight:800;background:#17243E;border-radius:5px}
.mini-sudoku i:nth-child(5){background:var(--blue);color:#07111A}
.thumb-spire{background:radial-gradient(circle,rgba(123,97,255,.15),transparent 55%),#0B1020}
.mini-spires{height:135px;width:180px;display:flex;align-items:end;justify-content:center;gap:18px}
.mini-spires i{display:block;width:40px;border:1px solid rgba(123,97,255,.35);background:linear-gradient(rgba(123,97,255,.25),rgba(79,195,255,.06));clip-path:polygon(50% 0,100% 27%,100% 100%,0 100%,0 27%)}
.mini-spires i:nth-child(1){height:78px}.mini-spires i:nth-child(2){height:132px}.mini-spires i:nth-child(3){height:96px}
.thumb-shift{background:#0B1120;position:relative}
.thumb-shift b{font-size:6rem;color:#17243C;letter-spacing:-.1em}
.thumb-shift span{position:absolute;color:var(--blue);font-size:.68rem;font-weight:800;letter-spacing:.25em}
.thumb-traffic{background:#0C1220}
.road{width:180px;height:120px;transform:perspective(220px) rotateX(35deg);border-inline:2px solid #29354C;display:flex;justify-content:space-around;align-items:center}
.road i{width:3px;height:70px;background:repeating-linear-gradient(to bottom,#6D7890 0 12px,transparent 12px 25px)}
.thumb-login{background:#09111D}
.login-box{width:210px;padding:22px;border:1px solid #26324A;border-radius:10px}
.login-box span{font:700 .7rem ui-monospace,monospace;color:var(--blue)}
.login-box i{display:block;height:9px;margin-top:13px;border-radius:3px;background:#19263E}
.login-box i:last-child{width:62%}
.thumb-mahjong{background:#0B1120}
.tiles{display:flex;gap:9px;transform:rotate(-4deg)}
.tiles i{width:62px;height:82px;border:1px solid #34405A;border-radius:8px;display:grid;place-items:center;font-style:normal;color:#8F9BB2;background:#121C30}
.thumb-magnet{background:radial-gradient(circle,rgba(79,195,255,.09),transparent 50%),#0A1120}
.thumb-magnet{position:relative}
.magnet-shape{font-size:7rem;font-weight:900;color:#66748F;transform:rotate(180deg);line-height:1}
.thumb-magnet span{position:absolute;font-size:.72rem;letter-spacing:1.2em;color:var(--blue);margin-left:1.2em}
.discord-panel{
  padding:42px;border:1px solid rgba(79,195,255,.16);border-radius:19px;
  display:flex;align-items:center;justify-content:space-between;gap:30px;
  background:linear-gradient(135deg,rgba(79,195,255,.045),rgba(123,97,255,.045))
}
.discord-panel h2{font-size:clamp(2.1rem,4vw,3.8rem);letter-spacing:-.05em}
.discord-panel p:not(.kicker){color:var(--muted);margin-bottom:0}

@media(max-width:860px){
  .studio-stats{grid-template-columns:1fr;margin-bottom:35px}
  .studio-stats div{border-right:0;border-bottom:1px solid var(--line)}
  .studio-stats div:last-child{border-bottom:0}
  .process-grid{grid-template-columns:1fr 1fr}
  .process-grid article:nth-child(3){border-left:0}
  .portfolio-grid{grid-template-columns:1fr}
  .discord-panel{display:block}.discord-panel .btn{margin-top:22px}
}
@media(max-width:520px){
  .games-more{display:block}.games-more .btn{margin-top:16px}
  .process-grid{grid-template-columns:1fr}
  .process-grid article+article{padding-left:0;border-left:0}
}


/* v0.6 — real game media */
.screenshot-art{
  position:relative;
  background:#080E1A;
  overflow:hidden;
}
.screenshot-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 42%;
  display:block;
}
.screenshot-art::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(7,11,20,.28),transparent 50%);
  pointer-events:none;
}

.portfolio-card-wide{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(320px,.85fr) 1.15fr;
  min-height:610px;
}
.sudoku-showcase{
  min-width:0;
  border-right:1px solid var(--line);
  background:#080E18;
  padding:18px;
}
.sudoku-mainshot{
  height:500px;
  border-radius:13px;
  overflow:hidden;
  background:#070B14;
  border:1px solid var(--line);
}
.sudoku-mainshot img{
  width:100%;height:100%;object-fit:cover;object-position:center 40%;
  display:block;
}
.sudoku-thumbs{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.shot-thumb{
  padding:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;
  height:92px;background:#0B1120;cursor:pointer;opacity:.62;
  transition:.18s ease
}
.shot-thumb:hover,.shot-thumb.active{opacity:1;border-color:rgba(79,195,255,.5)}
.shot-thumb img{width:100%;height:100%;object-fit:cover}
.portfolio-card-wide .portfolio-copy{
  padding:42px;
  display:flex;flex-direction:column;justify-content:center;
}
.feature-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:10px;margin:24px 0 28px
}
.feature-grid div{
  padding:15px;border:1px solid var(--line);border-radius:10px;
  background:rgba(255,255,255,.015)
}
.feature-grid strong{
  display:block;color:var(--blue);font-size:.67rem;text-transform:uppercase;letter-spacing:.13em;margin-bottom:5px
}
.feature-grid span{color:#B4BED1;font-size:.82rem}

@media(max-width:860px){
  .portfolio-card-wide{grid-template-columns:1fr}
  .sudoku-showcase{border-right:0;border-bottom:1px solid var(--line)}
  .sudoku-mainshot{height:560px}
  .portfolio-card-wide .portfolio-copy{padding:28px}
}
@media(max-width:520px){
  .sudoku-mainshot{height:460px}
  .shot-thumb{height:70px}
  .feature-grid{grid-template-columns:1fr}
}


/* v0.7 — Mahjong Cube real media */
.real-thumb{
  background:#080E18;
  overflow:hidden;
}
.real-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
}


/* v0.8 — Whack Spire real media */
.whack-art{
  background:#080E18;
  overflow:hidden;
}
.whack-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.whack-showcase .sudoku-mainshot img{
  object-position:center top;
}


/* v0.9 — studio polish */
.nav-discord{
  padding:8px 12px;border:1px solid rgba(79,195,255,.3);border-radius:8px;color:var(--blue)!important
}
.nav-discord:hover{background:rgba(79,195,255,.08)}

.now-building{padding-top:62px}
.build-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.build-card{
  overflow:hidden;border:1px solid var(--line);border-radius:17px;
  background:linear-gradient(145deg,#0E1628,#09101C)
}
.build-media{height:230px;overflow:hidden;border-bottom:1px solid var(--line);background:#080E18}
.build-media img{width:100%;height:100%;object-fit:cover;display:block}
.build-card:nth-child(1) .build-media img{object-position:center 42%}
.build-card:nth-child(2) .build-media img{object-position:center}
.build-card:nth-child(3) .build-media img{object-position:center top}
.build-body{padding:22px}
.build-body h3{font-size:1.55rem;margin:10px 0 9px}
.build-body p{color:var(--muted);font-size:.86rem}
.stage{
  display:inline-flex;align-items:center;padding:6px 8px;border-radius:7px;
  font-size:.58rem;font-weight:850;letter-spacing:.12em;border:1px solid var(--line)
}
.stage-playable{color:var(--green);border-color:rgba(97,231,179,.23);background:rgba(97,231,179,.04)}
.stage-dev{color:#C1B4FF;border-color:rgba(123,97,255,.28);background:rgba(123,97,255,.05)}
.stage-project{color:#8995AA}

.contact-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:25px 0 4px}
.contact-grid{
  max-width:900px;margin:34px auto 0;display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.contact-grid div{padding:20px 18px;border-right:1px solid var(--line);text-align:left}
.contact-grid div:last-child{border-right:0}
.contact-grid strong{display:block;font-size:.78rem;margin-bottom:5px}
.contact-grid span{color:var(--muted);font-size:.75rem}

.status-key{
  max-width:var(--max);margin:auto;padding:28px 24px 0;
  display:flex;gap:26px;flex-wrap:wrap
}
.status-key div{display:flex;align-items:center;gap:10px}
.status-key p{margin:0;color:#7C899F;font-size:.72rem}

@media(max-width:860px){
  .build-grid{grid-template-columns:1fr}
  .build-media{height:300px}
  .contact-grid{grid-template-columns:1fr}
  .contact-grid div{border-right:0;border-bottom:1px solid var(--line)}
  .contact-grid div:last-child{border-bottom:0}
}


/* v1.0 — fullscreen screenshot lightbox */
.lightbox-trigger{
  position:relative;
  cursor:zoom-in;
}
.lightbox-trigger img{
  transition:transform .22s ease, filter .22s ease;
}
.lightbox-trigger:hover>img{
  transform:scale(1.012);
  filter:brightness(.94);
}
.zoom-hint{
  position:absolute;
  z-index:4;
  right:12px;
  bottom:12px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  background:rgba(5,9,17,.74);
  color:#fff;
  font-size:.65rem;
  font-weight:750;
  letter-spacing:.04em;
  backdrop-filter:blur(8px);
  pointer-events:none;
}
.zoom-hint.compact{
  padding:6px 8px;
  font-size:.75rem;
}
.sudoku-mainshot .zoom-hint{
  right:10px;
  bottom:10px;
}
.real-thumb .zoom-hint{
  right:10px;
  bottom:10px;
}

.game-lightbox[hidden]{
  display:none;
}
.game-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
}
.lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,5,10,.94);
  backdrop-filter:blur(7px);
}
.lightbox-shell{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns:76px minmax(0,1fr) 76px;
  grid-template-rows:64px minmax(0,1fr);
  align-items:center;
}
.lightbox-toolbar{
  grid-column:1 / -1;
  grid-row:1;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 18px;
  border-bottom:1px solid rgba(255,255,255,.09);
  background:rgba(5,9,16,.72);
}
.lightbox-counter{
  color:#B5C0D3;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
}
.lightbox-tools{
  display:flex;
  gap:8px;
}
.lightbox-close,
.lightbox-fullscreen,
.lightbox-nav{
  border:1px solid rgba(255,255,255,.13);
  color:#fff;
  background:rgba(255,255,255,.055);
  cursor:pointer;
}
.lightbox-close,
.lightbox-fullscreen{
  width:42px;
  height:42px;
  border-radius:10px;
  font-size:1.25rem;
}
.lightbox-close{
  font-size:1.8rem;
  line-height:1;
}
.lightbox-close:hover,
.lightbox-fullscreen:hover,
.lightbox-nav:hover{
  background:rgba(255,255,255,.12);
}
.lightbox-figure{
  grid-column:2;
  grid-row:2;
  min-width:0;
  min-height:0;
  height:100%;
  margin:0;
  padding:18px 0 22px;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  place-items:center;
  gap:12px;
}
.lightbox-image{
  display:block;
  max-width:100%;
  max-height:calc(100vh - 126px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 22px 70px rgba(0,0,0,.45);
}
.lightbox-caption{
  min-height:20px;
  max-width:900px;
  padding:0 16px;
  color:#B5C0D3;
  text-align:center;
  font-size:.78rem;
}
.lightbox-nav{
  grid-row:2;
  align-self:center;
  width:48px;
  height:66px;
  border-radius:12px;
  font-size:2.3rem;
  line-height:1;
}
.lightbox-prev{
  grid-column:1;
  justify-self:center;
}
.lightbox-next{
  grid-column:3;
  justify-self:center;
}
.lightbox-nav[hidden]{
  display:none;
}
body.lightbox-open{
  overflow:hidden;
}

@media(max-width:720px){
  .lightbox-shell{
    grid-template-columns:54px minmax(0,1fr) 54px;
    grid-template-rows:58px minmax(0,1fr);
  }
  .lightbox-toolbar{
    padding:8px 10px;
  }
  .lightbox-close,
  .lightbox-fullscreen{
    width:40px;height:40px;
  }
  .lightbox-nav{
    width:42px;height:58px;
  }
  .lightbox-figure{
    padding:10px 0 16px;
  }
  .lightbox-image{
    max-height:calc(100vh - 116px);
  }
  .zoom-hint{
    font-size:.6rem;
  }
}
@media(max-width:480px){
  .lightbox-shell{
    grid-template-columns:44px minmax(0,1fr) 44px;
  }
  .lightbox-nav{
    width:36px;
    height:52px;
    font-size:1.8rem;
  }
  .lightbox-caption{
    font-size:.7rem;
  }
}


/* v1.0.1 — fullscreen fix */
.gallery-open-btn{
  width:100%;
  margin-top:10px;
  min-height:44px;
  border:1px solid rgba(79,195,255,.28);
  border-radius:9px;
  background:rgba(79,195,255,.055);
  color:#DDEBFA;
  font-weight:750;
  font-size:.78rem;
  cursor:pointer;
}
.gallery-open-btn:hover{
  background:rgba(79,195,255,.11);
  border-color:rgba(79,195,255,.48);
}
.zoom-hint{
  padding:8px 10px;
  background:rgba(5,9,17,.88);
  border-color:rgba(79,195,255,.28);
}
