@charset "UTF-8";
/* Suspended ruins at dusk: one world, quiet reading surfaces. */
:root {
  --paper:#061914; --ink:#f0f1dc; --muted:#b7c6af; --lime:#c3dd79;
  --ruins-stone:#7c8770; --ruins-gold:#d7bc78; --ruins-panel:#0b241d;
  --line:#4d6050; --px-bevel:inset 0 1px 0 #e2e6c014;
}
body,body[data-page="home"],.site-atmosphere { background:#061914; }
.ruins-scene {
  position:absolute; inset:0; z-index:0;
  background:url("assets/pixel/ruins-backdrop.webp") 58% 50%/cover no-repeat;
  opacity:.53;
}
body[data-page="home"] .ruins-scene { opacity:.94; }
.site-atmosphere::after,body[data-page="home"] .site-atmosphere::after {
  display:block; z-index:1;
  background:linear-gradient(90deg,#03181080,transparent 68%),linear-gradient(0deg,#061914ed,transparent 35%),linear-gradient(#06191438,transparent 30%);
}
body:not([data-page="home"]) .site-atmosphere::after {
  background:linear-gradient(90deg,#061914bd,#06191466 75%),linear-gradient(0deg,#061914e8,transparent 80%);
}
.pixel-forest,.forest-front,.ambient-grid,body[data-page="home"] .ambient-grid { display:none; }
.ambient-canvas,body[data-page="home"] .ambient-canvas { opacity:.72; }
.site-shell { max-width:1680px; padding-inline:clamp(22px,4.8vw,82px); }
.site-header,body[data-page] .site-header {
  height:88px; margin-top:25px; padding:15px 30px; gap:20px;
  background:#092219f5; background-image:none;
  border:2px solid; border-color:#87917b #45564b #44554a #77816c;
  box-shadow:0 4px 12px #0003,inset 0 1px 0 #e0e6bc28,inset 0 -1px 0 #020f0b;
}
.site-header::before {
  left:5px; top:5px; width:7px; height:7px; right:auto; opacity:.8;
  border:1px solid #a4ab8c; background:#354c3a; box-shadow:0 1px 0 #07150c; filter:none;
}
.site-header::after { right:5px; bottom:5px; width:7px; height:7px; background:#384b36; border:1px solid #79856b; box-shadow:none; }
.brand-name { font-size:29px; -webkit-text-stroke:0; text-shadow:0 2px #0005; }
.brand-name .brand-pixel { color:#bcd975; background:#b3ce6d14; border-color:#88975440; }
.brand-role { color:#a3b29a; letter-spacing:3px; }
body[data-page] .site-nav .nav-link { font-size:17px; padding:11px 17px; border:1px solid transparent; color:#e0e7d2; }
body[data-page] .site-nav .nav-link[data-nav="contact"] { border:1px solid #7e8157; color:#e0e7d2; padding-inline:19px; margin-left:12px; }
body[data-page] .site-nav .nav-link.is-active,body[data-page] .site-nav .nav-link[data-nav="contact"].is-active {
  background:#c3dd79; color:#152712; border:1px solid #dceba4;
  box-shadow:inset 0 1px 0 #f4ffcc70,0 2px 0 #233b1b;
}
body[data-page] .site-nav .nav-link:not(.is-active):hover {
  background:#1d3929; border-color:#8d9271; color:#fff3d0; box-shadow:none; transform:translateY(-1px);
}
.menu-toggle { background:#152d21; border:1px solid #839276; box-shadow:inset 0 1px #e0e6bc20; }
.home-page { padding-top:8px; }
.home-page .hero {
  grid-template-columns:1fr 1.04fr; min-height:620px; padding:34px 0 28px; align-items:center; gap:0;
}
.hero-copy { position:relative; }
.hero-copy .eyebrow {
  font-family:Arial,"Microsoft YaHei",sans-serif; font-size:10px; font-weight:500;
  letter-spacing:1.7px; line-height:1.6; color:#c8d2b9; padding-left:18px; margin-bottom:27px;
}
.hero-copy .eyebrow::before { width:6px; height:6px; top:4px; background:#bfdc7a; box-shadow:0 0 8px #d2e6a140; border:1px solid #e8efc1; }
.hero-title {
  font-size:clamp(72px,8.1vw,132px); line-height:1.12; letter-spacing:.012em;
  color:#f3f1d9; -webkit-text-stroke:0; text-shadow:0 3px 0 #15271c,0 7px 18px #0004;
}
.hero-heading-line + .hero-heading-line { color:#c6e27c; margin-top:10px; text-shadow:0 3px #233a1e,0 7px 18px #0004; }
.hero-copy .hero-intro { max-width:510px; color:#d2dac4; font-size:15px; line-height:1.95; margin:28px 0; }
.hero-copy .hero-actions { gap:20px; }
.button,.hero-copy .hero-actions .button {
  min-height:53px; padding:13px 22px; gap:25px; font-size:18px;
  border:2px solid; border-color:#929a7b #54684f #495c48 #899375;
  background:#0c281ee8; color:#eff1dd;
  box-shadow:inset 0 1px 0 #e6efc41c,0 3px 0 #020e0980;
}
.button-primary,.hero-copy .hero-actions .button-primary {
  color:#162911; background:#c3dd79; border-color:#e4edb8 #8c9d59 #7b8c49 #cbdc96;
  box-shadow:inset 0 1px 0 #f4ffd288,0 3px 0 #19311a;
}
.hero-copy .hero-actions .button > span { border:0; background:none; width:auto; height:auto; }
.button:hover,.hero-copy .hero-actions .button:hover {
  transform:translateY(-2px); background:#203d2c; border-color:#c0ba85; box-shadow:0 5px 0 #04140b80;
}
.button-primary:hover,.hero-copy .hero-actions .button-primary:hover { background:#d5e99b; color:#13250e; border-color:#e5edbd; }
.button:active,.hero-copy .hero-actions .button:active { transform:translateY(1px); box-shadow:inset 0 1px 0 #ffffff12; }
.button:disabled,.button.is-disabled { background:#182c23; border-color:#405246; color:#819582; box-shadow:none; }
.hero-note { font:11px/1.6 Arial,"Microsoft YaHei",sans-serif; color:#a6b69b; margin-top:24px; letter-spacing:.5px; }
.hero-note span { color:#d4bc7d; }
.home-page .pixel-island-stage {
  width:108%; max-width:730px; height:auto; aspect-ratio:1; justify-self:end; align-self:center;
  margin:-13px -3% -12px 0;
}
.home-page .pixel-island-stage::before { display:none; }
.home-page .pixel-island-stage::after {
  inset:18% 4% 6%; border:0; transform:none;
  background:radial-gradient(ellipse at 58% 70%,#dfb86318,transparent 62%); mask-image:none;
}
.pixel-island { filter:drop-shadow(0 22px 16px #0004); }
.island-ground-shadow { opacity:.2; background:#03120c70; }
.island-coordinate { display:none; }
.island-hint { right:6%; left:auto; bottom:-1%; padding:4px 7px; background:#06191480; color:#c8cba7; font:10px/1.5 Arial,sans-serif; letter-spacing:.4px; }
.floating-block { display:none; }
.home-page .home-index {
  padding:28px 20px; margin-top:12px; background:#0a231be8;
  border:2px solid; border-color:#78836a #354c3e #304638 #6a795f;
  box-shadow:inset 0 1px #d4dec11c,0 4px 0 #020e0955;
}
.home-page .home-index::before { content:""; position:absolute; left:0; right:0; top:-4px; height:3px; background:linear-gradient(90deg,#738b3c 0 4%,transparent 4% 46%,#5a763d 46% 49%,transparent 49% 91%,#738b3c 91% 95%,transparent 95%); }
.home-index .index-item b { color:#d4c18c; background:transparent; border:0; padding-left:0; }
.home-index .index-item strong { color:#e4e9d5; font-size:23px; }
.home-index .index-item + .index-item { border-left-color:#65735b66; }
.site-footer { border-top:1px solid #65735b66; color:#9ead95; }
.motion-toggle { border-color:#68785e; box-shadow:none; background:#0b241be6; color:#c1ccad; }
.reading-progress { background:#d4c18c; }
@media(min-width:1400px) {
  .home-page .hero { min-height:680px; }
  .hero-copy .hero-intro { font-size:16px; }
}
@media(min-width:801px) and (max-height:800px) {
  .site-header,body[data-page] .site-header { height:78px; margin-top:20px; }
  .home-page .hero { min-height:530px; padding:25px 0; }
  .hero-title { font-size:clamp(68px,7.9vw,116px); }
  .home-page .pixel-island-stage { width:104%; max-width:calc(100svh - 115px); }
  .hero-copy .eyebrow { margin-bottom:21px; }
  .hero-copy .hero-intro { margin:21px 0 24px; }
  .hero-note { margin-top:20px; }
}
@media(max-width:1100px) and (min-width:801px) {
  .site-header,body[data-page] .site-header { padding-inline:21px; }
  .brand-name { font-size:24px; }
  body[data-page] .site-nav .nav-link { font-size:16px; padding:10px 11px; }
  body[data-page] .site-nav .nav-link[data-nav="contact"] { padding-inline:12px; margin-left:4px; }
  .hero-copy .eyebrow { font-size:9px; letter-spacing:.7px; }
  .hero-title { font-size:clamp(68px,8.3vw,90px); }
  .hero-copy .hero-intro { font-size:14px; }
  .hero-copy .hero-actions { gap:14px; }
  .hero-copy .hero-actions .button { font-size:16px; padding:12px 15px; gap:15px; }
}
@media(max-width:800px) {
  .site-shell { padding-inline:22px; }
  .ruins-scene { background-position:67% center; opacity:.5; }
  body[data-page="home"] .ruins-scene { opacity:.63; }
  .site-atmosphere::after,body[data-page="home"] .site-atmosphere::after { background:linear-gradient(90deg,#061914a6,#06191438),linear-gradient(0deg,#061914f0,transparent 75%); }
  .site-header,body[data-page] .site-header { height:76px; margin-top:16px; padding:13px 17px; gap:12px; }
  .brand-name { font-size:23px; gap:9px; }
  .brand-role { font-size:9px; letter-spacing:2px; }
  body[data-page] .site-nav { background:#0a231bf9; border:1px solid #819171; box-shadow:0 5px 15px #0005; }
  body[data-page] .site-nav .nav-link { padding:12px 9px; font-size:17px; }
  body[data-page] .site-nav .nav-link[data-nav="contact"] { margin-left:0; padding-inline:9px; }
  .home-page .hero { grid-template-columns:1fr; min-height:0; padding:34px 0 18px; }
  .hero-copy .eyebrow { font-size:9px; letter-spacing:.65px; padding-left:14px; margin-bottom:21px; }
  .hero-copy .eyebrow::before { width:4px; height:4px; top:3px; }
  .hero-title { font-size:clamp(58px,17.1vw,96px); line-height:1.12; letter-spacing:0; }
  .hero-heading-line + .hero-heading-line { margin-top:8px; }
  .hero-copy .hero-intro { font-size:14px; line-height:1.95; margin:23px 0; }
  .hero-copy .hero-actions { gap:14px; }
  .hero-copy .hero-actions .button { min-height:50px; font-size:17px; padding:12px 15px; gap:16px; }
  .hero-copy .hero-actions .button > span { width:auto; height:auto; }
  .hero-note { font-size:10px; margin-top:21px; }
  .home-page .pixel-island-stage { width:100%; max-width:560px; aspect-ratio:1; margin:10px auto 9px; justify-self:center; transform:none; }
  .island-hint { bottom:-1%; right:0; font-size:9px; }
  .home-page .home-index { padding:0 17px; margin-top:8px; }
  .home-index .index-item,.home-index .index-item + .index-item { padding:19px 2px; border-left:0; }
  .home-index .index-item strong { font-size:19px; }
}
@media(max-width:390px) {
  .site-shell { padding-inline:18px; }
  .brand-name { font-size:21px; }
  .hero-copy .eyebrow { font-size:8px; letter-spacing:.5px; }
  .hero-copy .hero-actions .button { padding-inline:13px; font-size:16px; gap:14px; }
  .home-index .index-item strong { font-size:17px; }
}
