:root{--canvas:#f5f3ee;--canvas-deep:#e3dfd7;--ink:#14110e;--ink-70:rgba(20,17,14,.7);--ink-50:rgba(20,17,14,.5);--ink-30:rgba(20,17,14,.3);--ink-12:rgba(20,17,14,.12);--ink-8:rgba(20,17,14,.08);--ink-4:rgba(20,17,14,.04);--ink-3:rgba(20,17,14,.03);--accent:#f87500;--accent-rgb:249,115,22;--text-on-accent:#fcfaf6;--paper:#fffdf8;--paper-mid:#f1ede4;--border:var(--ink-12);--border-strong:var(--ink-20,rgba(20,17,14,.2));--border-cool:#739dc5;--marketing-surface-deep:#e3dfd7;--marketing-border-subtle:rgba(0,0,0,.06);--marketing-grid-line:rgba(0,0,0,.08);--marketing-nav-backdrop:hsla(43,26%,95%,.82);--marketing-shadow-card:0 14px 40px rgba(0,0,0,.12);--marketing-shadow-card-hover:0 1px 2px rgba(0,0,0,.04),0 4px 10px -4px rgba(0,0,0,.08);--font-display:"Playfair Display","Ma Shan Zheng",Georgia,"Times New Roman",serif;--font-body:"DM Sans","ZCOOL KuaiLe",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"Geist Mono","SF Mono","Menlo","Consolas",monospace;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-card:16px;--radius-pill:9999px;--ease-standard:cubic-bezier(0.2,0,0,1);--ease-pop:cubic-bezier(0.2,0.8,0.2,1);--dur-fast:0.1s;--dur-base:0.15s;--dur-slow:0.2s}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit}@keyframes helio-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes helio-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes helio-in{0%{opacity:0;transform:translateY(8px) rotate(-.4deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.doc-page,.faq,.game-intro,.medal-card,.movie-gallery,.nl-gameframe,.puzzle-hero,.seo-intro{animation:helio-rise .5s var(--ease-pop) both}.medal-card:first-child{animation-delay:.04s}.medal-card:nth-child(2){animation-delay:.1s}.medal-card:nth-child(3){animation-delay:.16s}.medal-card:nth-child(4){animation-delay:.22s}.medal-card:nth-child(5){animation-delay:.28s}.medal-card:nth-child(6){animation-delay:.34s}.glitch{display:inline-block;animation:helio-in .5s var(--ease-pop) both}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.home-bg{min-height:100vh;background-image:linear-gradient(hsla(43,26%,95%,.72),hsla(43,26%,95%,.72)),url(/image/photowall_jpgtosmall.png);background-size:cover,cover;background-position:50%,50%;background-repeat:no-repeat,no-repeat;background-attachment:fixed,fixed}.home-bg,.home-bg.no-bg-wall{background-color:var(--canvas)}.home-bg.no-bg-wall{background-image:none}.bgwall-toggle-wrap{display:flex;justify-content:center;padding:16px 12px 0}.bgwall-toggle{display:inline-flex;align-items:center;gap:10px;padding:7px 16px;border:1px solid var(--border);border-radius:var(--radius-pill);background:rgba(255,253,248,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink);font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;box-shadow:var(--marketing-shadow-card-hover);transition:background var(--dur-base),transform var(--dur-fast),border-color var(--dur-base)}.bgwall-toggle:hover{border-color:var(--accent)}.bgwall-toggle:active{transform:translateY(1px)}.bgwall-toggle.is-loading{opacity:.6}.bgwall-track{position:relative;width:40px;height:22px;border-radius:var(--radius-pill);background:var(--ink-12);transition:background var(--dur-base);flex:none}.bgwall-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fffdf4;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform var(--dur-base)}.bgwall-toggle.is-on .bgwall-track{background:var(--accent)}.bgwall-toggle.is-on .bgwall-knob{transform:translateX(18px)}.bgwall-label{white-space:nowrap}nav.nl-nav{position:-webkit-sticky;position:sticky;top:0;z-index:999;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:var(--marketing-nav-backdrop);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);color:var(--ink);font-family:var(--font-body);border-bottom:1px solid var(--ink-12);box-shadow:0 1px 0 rgba(20,17,14,.03)}nav.nl-nav a{color:var(--ink);text-decoration:none;white-space:nowrap}.nl-nav .nl-brand{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:600;letter-spacing:.5px;transition:transform var(--dur-fast)}.nl-nav .nl-brand:hover{transform:translateY(-1px)}.nl-nav .nl-logo{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:radial-gradient(circle at 32% 28%,#ffd9a8,#f87500 70%,#c9742a);border:1px solid hsla(0,0%,100%,.6);box-shadow:inset 0 1px 2px hsla(0,0%,100%,.5),0 1px 2px rgba(0,0,0,.15);font-size:18px;line-height:1}.nl-nav .nl-word{font-family:var(--font-body);font-weight:600;color:var(--ink)}.nl-nav .nl-links{display:flex;gap:22px;flex-wrap:wrap;font-size:15px;font-weight:500}.nl-nav .nl-links a{position:relative;color:var(--ink-70);transition:color var(--dur-fast)}.nl-nav .nl-links a:hover{color:var(--accent)}.nl-nav .nl-links a.cur{color:var(--ink)}.nl-nav .nl-links a.cur:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:var(--radius-pill);background:var(--accent)}.nl-nav .nl-lang{position:relative;flex:0 0 auto;margin-left:auto}.nl-lang-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:14px;font-weight:500;line-height:1;color:var(--ink);background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background var(--dur-base),border-color var(--dur-base),color var(--dur-base)}.nl-lang-btn:hover,.nl-lang-btn[aria-expanded=true]{background:var(--ink-4);border-color:var(--border-strong);color:var(--accent)}.nl-lang-globe{font-size:15px;line-height:1}.nl-lang-caret{font-size:10px;transform:translateY(1px);transition:transform var(--dur-base)}.nl-lang-btn[aria-expanded=true] .nl-lang-caret{transform:translateY(1px) rotate(180deg)}.nl-lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:150px;margin:0;padding:6px;list-style:none;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--marketing-shadow-card);z-index:1000}.nl-lang-menu li{display:block}.nl-lang-menu a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:var(--radius-md);color:var(--ink);text-decoration:none;font-size:14px;transition:background var(--dur-fast),color var(--dur-fast)}.nl-lang-menu a:hover{background:var(--ink-4);color:var(--accent)}.nl-lang-menu a.cur{color:var(--accent);font-weight:600}.nl-lang-check{color:var(--accent);font-size:13px}@media (max-width:600px){nav.nl-nav{padding:10px 14px;gap:10px}.nl-nav .nl-links{font-size:13px;gap:12px}.nl-nav .nl-brand{font-size:16px}.nl-nav .nl-logo{width:30px;height:30px;flex-basis:30px;font-size:16px}.nl-lang-btn{padding:6px 12px;font-size:13px}.nl-lang-menu{min-width:130px}}.game-intro{max-width:860px;margin:0 auto;padding:48px 18px 4px;text-align:center;color:var(--ink);font-family:var(--font-body)}.gi-h1{font-family:var(--font-display);font-weight:700;font-size:clamp(38px,7vw,64px);letter-spacing:1px;line-height:1.1;margin:0;color:var(--ink)}.gi-sub{margin:12px auto 0;font-size:16px;font-weight:500;letter-spacing:.5px;line-height:1.6}.gi-hero,.gi-sub{color:var(--ink-70)}.gi-hero{max-width:760px;margin:20px auto 0;padding:18px 22px;font-size:15px;line-height:1.8;background:var(--paper);border:1px solid var(--marketing-border-subtle);border-radius:var(--radius-card);box-shadow:var(--marketing-shadow-card-hover);text-align:left}.gi-hero b{color:var(--accent);font-weight:600}.seo-intro{max-width:860px;margin:28px auto 0;padding:24px 26px;background:var(--paper);border:1px solid var(--marketing-border-subtle);border-radius:var(--radius-card);box-shadow:var(--marketing-shadow-card);color:var(--ink-70);font-size:15px;line-height:1.8}.seo-intro h2{font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:24px;margin:0 0 10px}.seo-intro ol{margin:8px 0 0;padding-left:22px}.seo-intro li{margin-bottom:6px;color:var(--ink-70)}.medals-intro h2{margin-bottom:8px}.medals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px;margin-top:16px}.medal-card{background:var(--paper);border:1px solid var(--marketing-border-subtle);border-radius:var(--radius-xl);padding:16px 12px 14px;text-align:center;box-shadow:var(--marketing-shadow-card-hover);transition:transform var(--dur-base),border-color var(--dur-base),box-shadow var(--dur-base)}.medal-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--marketing-shadow-card)}.medal-em{font-size:34px;line-height:1;margin-bottom:6px}.medal-name{font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:.5px;color:var(--ink);margin-bottom:4px}.medal-desc{font-size:13px;color:var(--ink-50);line-height:1.5;margin-bottom:6px}.medal-slogan{font-size:12px;color:var(--accent);line-height:1.4;border-top:1px dashed var(--ink-12);padding-top:6px;margin-top:2px}.nl-gameframe{max-width:1080px;margin:28px auto 0;padding:10px;background:var(--paper);border:1px solid var(--marketing-border-subtle);border-radius:var(--radius-card);box-shadow:var(--marketing-shadow-card);overflow:hidden}.nl-gameframe iframe{width:100%;height:100%;border:0;display:block;border-radius:var(--radius-lg)}.puzzle-shell{display:flex;gap:20px;align-items:flex-start;max-width:1200px;margin:24px auto 0;padding:0 18px}.puzzle-game{flex:1 1 auto;min-width:0}.puzzle-guide{flex:0 0 320px;position:-webkit-sticky;position:sticky;top:72px;align-self:flex-start;background:var(--paper);border:1px solid var(--marketing-border-subtle);border-radius:var(--radius-card);box-shadow:var(--marketing-shadow-card);overflow:hidden;font-family:var(--font-body)}.pg-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;background:var(--accent);color:var(--text-on-accent);border:none;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;letter-spacing:.5px;transition:filter var(--dur-base)}.pg-toggle:hover{filter:brightness(1.05)}.pg-caret{font-size:14px;transition:transform var(--dur-base) var(--ease-standard)}.puzzle-guide.pg-collapsed .pg-caret{transform:rotate(-90deg)}.pg-body{padding:16px 18px 18px}.pg-body p{font-size:14px;line-height:1.7;color:var(--ink-70);margin:0 0 10px}.pg-body ol{margin:0;padding-left:20px}.pg-body li{font-size:14px;line-height:1.7;margin-bottom:8px;color:var(--ink)}.pg-body li strong{color:var(--accent)}.puzzle-guide.pg-collapsed .pg-body{display:none}@media (max-width:900px){.puzzle-shell{flex-direction:column}.puzzle-guide{position:static;flex:1 1 auto;width:100%}}.faq{max-width:860px;margin:28px auto 0;padding:26px 28px;background:var(--paper);border:1px solid var(--marketing-border-subtle);border-radius:var(--radius-card);box-shadow:var(--marketing-shadow-card)}.faq,.faq h2{color:var(--ink)}.faq h2{font-family:var(--font-display);font-weight:600;font-size:26px;margin:0 0 16px}.faq-item{margin-bottom:16px}.faq-item:last-child{margin-bottom:0}.faq-item dt{font-family:var(--font-body);font-size:16px;font-weight:600;color:var(--ink);margin-bottom:4px}.faq-item dd{margin:0;font-size:14px;line-height:1.75;color:var(--ink-70)}@media (max-width:600px){.faq{margin:16px 12px 0;padding:18px}.faq h2{font-size:22px}}.doc-page{max-width:760px;margin:40px auto 0;padding:0 20px 12px}.doc-head{text-align:center;margin-bottom:22px}.doc-page h1{font-family:var(--font-display);font-weight:700;color:var(--ink);font-size:clamp(30px,5vw,40px);margin:0 0 8px;line-height:1.15}.doc-page .sub{color:var(--ink-50);font-size:15px;margin:0;letter-spacing:1px}.doc-page .updated{color:var(--ink-30);font-size:13px;margin:8px 0 0}.doc-page h2{font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:23px;margin:28px 0 12px;padding-left:12px;border-left:3px solid var(--accent)}.doc-page li,.doc-page p{line-height:1.85;color:var(--ink-70);font-size:15px}.doc-page ol,.doc-page ul{padding-left:22px}.doc-page strong{color:var(--ink);font-weight:600}.doc-page article{background:var(--paper);border:1px solid var(--marketing-border-subtle);border-radius:var(--radius-card);box-shadow:var(--marketing-shadow-card);padding:30px 34px 34px}.doc-page .faq{margin-top:0;border:none;background:transparent;padding:0;box-shadow:none}@media (max-width:600px){.doc-page{margin:24px 12px 0;padding:0 0 8px}.doc-page article{padding:20px 18px 24px}}.puzzle-hero{max-width:1100px;margin:0 auto;padding:64px 18px 40px;text-align:center;font-family:var(--font-body);color:var(--ink)}.ph-dream,.ph-scene,.ph-stock{background:radial-gradient(ellipse at top,rgba(249,115,22,.08),transparent 60%),var(--canvas);border-bottom:1px solid var(--ink-12)}.ph-h1{font-family:var(--font-display);font-weight:700;font-size:clamp(40px,8vw,76px);letter-spacing:1px;line-height:1.05;margin:0;color:var(--ink)}.ph-stock .ph-h1{color:var(--accent)}.ph-sub{margin-top:10px;font-size:17px;font-weight:500;color:var(--ink-70)}.ph-tagline{display:inline-block;margin-top:14px;padding:5px 16px;border:1px solid var(--accent);font-size:14px;font-weight:500;border-radius:var(--radius-pill)}.ph-stock .ph-tagline,.ph-tagline{color:var(--accent);background:rgba(var(--accent-rgb),.06)}.ph-stock .ph-tagline{border-color:var(--accent)}.ph-intro{max-width:860px;margin:18px auto 0;padding:16px 20px;font-size:15px;line-height:1.8;color:var(--ink-70);background:var(--paper);border:1px solid var(--marketing-border-subtle);border-left:4px solid var(--accent);border-radius:var(--radius-lg);text-align:left;box-shadow:var(--marketing-shadow-card-hover)}.dream-h1{font-family:var(--font-display);font-weight:700;font-size:clamp(44px,9vw,84px);letter-spacing:2px;line-height:1.05;margin:0;color:var(--ink)}.dream-sub{margin:10px auto 0;font-size:17px;color:var(--ink-70)}.dream-warn{display:inline-block;margin-top:14px;padding:5px 18px;background:rgba(var(--accent-rgb),.08);border:1px dashed var(--accent);color:var(--accent);border-radius:var(--radius-pill);font-size:14px;font-weight:500}.movie-gallery{max-width:980px;margin:32px auto 0;padding:24px 24px 16px;background:var(--paper);border:1px solid var(--marketing-border-subtle);border-radius:var(--radius-card);box-shadow:var(--marketing-shadow-card)}.movie-gallery-title{font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:26px;margin:0 0 6px;text-align:center}.movie-gallery-intro{color:var(--ink-50);font-size:14px;text-align:center;margin:0 0 16px}.movie-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px;align-items:start}.movie-gallery-item{margin:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--marketing-border-subtle);background:var(--paper);box-shadow:var(--marketing-shadow-card-hover);transition:transform var(--dur-base),box-shadow var(--dur-base)}.movie-gallery-item:hover{transform:translateY(-3px);box-shadow:var(--marketing-shadow-card)}.movie-gallery-item img{width:100%;height:auto;display:block}.nl-foot{margin-top:72px;background:transparent;color:var(--ink);border-top:1px solid var(--ink-12);padding:48px 24px 28px}.nl-foot-inner{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between}.nl-foot-col{flex:1 1 200px;min-width:160px}.nl-foot-title{font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--ink);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--ink-12)}.nl-foot-nav{display:flex;flex-direction:column;gap:8px}.nl-foot-nav a{color:var(--ink-70);text-decoration:none;font-size:14px;transition:color var(--dur-fast),padding-left var(--dur-fast)}.nl-foot-nav a:hover{color:var(--accent);padding-left:4px}.nl-foot-brand{flex:1 1 240px}.nl-foot-logo{font-size:30px;display:block;margin-bottom:8px}.nl-foot-meta{font-size:13px;line-height:1.7;color:var(--ink-50);margin:0}.nl-foot-copy{max-width:1080px;margin:28px auto 0;padding-top:16px;border-top:1px solid var(--ink-12);text-align:center;font-size:12.5px;color:var(--ink-30)}@media (max-width:600px){.nl-foot-inner{flex-direction:column;gap:22px}}