:root{--ink:#262723;--muted:#626158;--sun:#f3d273;--serif:SimSun,"Songti SC","Noto Serif SC",serif;--ui:"Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:#eee9df;font-family:var(--ui);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button:disabled{cursor:progress;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #7c6629;outline-offset:6px}button{min-height:44px}body:has(dialog[open]){overflow:hidden}
.hero{height:100svh;min-height:730px;position:relative;isolation:isolate;overflow:hidden;background:#f2eee5}
.paper{position:absolute;inset:0;z-index:-3;background-image:url('./assets/paper-neutral.png');background-size:cover;background-position:center;pointer-events:none}
.hero:after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(249,247,241,.35),transparent 50%)}
.observatory{position:absolute;width:100%;height:100%;inset:0;pointer-events:none;overflow:visible;z-index:0}
.masthead{position:relative;z-index:2;display:flex;align-items:center;gap:72px;margin:0 4.3%;height:108px}
.brand{font:600 27px var(--serif);letter-spacing:.035em;white-space:nowrap;position:relative}.brand-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:#bba368;margin:0 0 5px 8px}
.navigation{display:flex;gap:48px;font:400 18px var(--serif)}.navigation button{padding:10px 0;position:relative}.navigation button:after{content:"";position:absolute;bottom:6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.navigation button:hover:after{transform:scaleX(1)}
.login{margin-left:auto;font:400 16px var(--serif);padding:10px 4px}.login span{margin-left:12px;opacity:.5}.mobile-menu{display:none}
.hero-copy{position:absolute;z-index:1;left:10%;top:22.5%;max-width:630px}.eyebrow{display:flex;gap:13px;align-items:center;font-size:11px;letter-spacing:.2em;color:#77766a;margin-bottom:28px}.eyebrow span{width:28px;height:1px;background:#a39b84}
h1{margin:0;font-family:var(--serif);font-size:clamp(52px,4.9vw,78px);font-weight:400;line-height:1.36;letter-spacing:.035em}
.description{font:400 19px/1.8 var(--serif);margin:27px 0 0;color:#626258}.actions{display:flex;align-items:center;gap:35px;margin-top:40px;font-family:var(--serif);font-size:17px}.primary{display:flex;align-items:center;justify-content:center;gap:30px;background:var(--sun);border-radius:38px;padding:0 30px;height:58px;min-width:212px;box-shadow:0 4px 18px #c1a3540d;transition:background .4s,box-shadow .4s,transform .4s}.primary:hover,.primary:focus-visible{background:#f8da85;box-shadow:0 6px 25px #b1975322;transform:translateY(-2px)}.primary span{font-family:var(--ui);font-size:23px}.secondary{padding:10px 0}.secondary span{display:inline-block;padding-left:18px;transition:transform .3s}.secondary:hover span{transform:translateX(5px)}
.interaction-note{font-size:11px;letter-spacing:.045em;color:var(--muted);margin-top:27px;opacity:1}.scene-footer{position:absolute;z-index:2;bottom:25px;left:4.3%;right:4.3%;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6c685e;gap:16px}.scene-caption{display:flex;align-items:center;gap:10px}.status-dot{width:4px;height:4px;border-radius:50%;background:#b29a4d}.local-label{border-left:1px solid #a39b8445;padding-left:11px;margin-left:5px;opacity:.66}.scene-controls{display:flex;align-items:center;gap:23px}.scene-controls button{padding:8px 0;min-width:44px;min-height:44px;font-size:11px}.scene-controls button:hover{text-decoration:underline;text-underline-offset:5px}.scene-controls button[aria-pressed=true]{color:#7d6120}.hero.is-paused .sun-breath,.hero.is-hidden .sun-breath{animation-play-state:paused}
.toast{position:fixed;left:50%;bottom:85px;transform:translate(-50%,12px);background:#292b26ec;color:#fffef8;padding:13px 20px;border-radius:5px;font-size:13px;line-height:1.6;max-width:calc(100vw - 38px);width:max-content;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
dialog{border:1px solid #d6d0c0;border-radius:10px;padding:48px 44px 32px;background:#f9f6ed;color:var(--ink);width:520px;max-width:calc(100vw - 36px);max-height:85svh;box-shadow:0 22px 100px #312b2533}dialog::backdrop{background:#342c213b;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:14px;top:7px;font-size:26px;width:44px}.dialog-kicker{font-size:11px;letter-spacing:.16em;color:#96845b}dialog h2{font:400 30px/1.5 var(--serif);margin:22px 0}dialog p{font-size:13px;line-height:1.9;color:#676254}.dialog-nav{display:flex;gap:24px;margin:15px 0;flex-wrap:wrap;font-family:var(--serif)}.dialog-nav button{border-bottom:1px solid #c7baa0}.dialog-hint{padding-top:16px;border-top:1px solid #ded8ca;font-size:11px}
@media(min-width:1700px){.hero-copy{left:12%;top:23%}.masthead{height:120px}.description{font-size:22px}}
@media(max-width:1000px){.masthead{gap:45px;margin:0 5%;height:90px}.navigation{gap:24px}.hero-copy{left:7%;max-width:510px}h1{font-size:58px}.description{font-size:17px}}
@media(max-width:700px){html{scrollbar-width:none}html::-webkit-scrollbar{display:none}.hero{height:var(--mobile-page-height,924px);min-height:840px}.observatory{height:var(--mobile-scene-height,max(840px,100svh))}.paper,.hero:after{height:var(--mobile-scene-height,max(840px,100svh));bottom:auto}.paper{background-position:64% center;background-size:auto 110%}.hero:after{background:linear-gradient(180deg,rgba(250,248,241,.34),transparent 48%)}.masthead{margin:0 25px;height:82px;gap:0}.brand{font-size:22px}.navigation,.login{display:none}.mobile-menu{display:flex;gap:12px;align-items:center;margin-left:auto;font-size:12px}.mobile-menu span{font-size:17px}.hero-copy{left:28px;right:24px;top:126px;max-width:none}.eyebrow{font-size:9px;margin-bottom:18px;letter-spacing:.16em}.eyebrow span{width:19px}h1{font-size:43px;line-height:1.42;letter-spacing:.015em}.description{font-size:14px;line-height:1.8;margin-top:18px;max-width:310px}.actions{margin-top:25px;gap:25px;font-size:14px}.primary{height:50px;min-width:174px;padding:0 23px;gap:22px}.primary span{font-size:19px}.secondary span{padding-left:8px}.interaction-note{font-size:10px;margin-top:18px;max-width:290px}.scene-footer{left:26px;right:26px;top:var(--mobile-footer-top,794px);bottom:auto;gap:5px;flex-direction:column;align-items:flex-start}.scene-caption{font-size:12px;gap:7px}.local-label{font-size:12px}.scene-controls{gap:24px;align-self:flex-end}.scene-controls button{font-size:12px;min-height:44px}.toast{bottom:91px;font-size:12px}dialog{padding:42px 26px 22px}dialog h2{font-size:27px}}
@media(max-width:360px){h1{font-size:38px}.hero-copy{left:22px;right:20px}.actions{gap:17px}.primary{min-width:158px}.description{font-size:13px}.masthead{margin:0 22px}}
.toast.show:has(a){pointer-events:auto}.toast a{text-decoration:underline;text-underline-offset:3px}.scene-footer{color:#514c40}
#scene-status{position:absolute;right:12%;top:60%;font-size:13px;color:#776d5b;z-index:1}#scene-status[hidden]{display:none}
@media(min-width:701px){.hero-copy{left:13%;top:23%;max-width:570px}h1{font-size:65px;line-height:1.38}.actions{margin-top:38px}}
@media(min-width:701px) and (max-width:1000px){.hero-copy{left:7%;max-width:480px}h1{font-size:56px}}
@media(min-width:701px) and (max-width:850px){.actions{flex-direction:column;align-items:flex-start;gap:8px}}
@media(max-width:700px){.hero-copy{top:126px}.interaction-note{font-size:10px;opacity:1}.scene-footer{background:linear-gradient(transparent,#f4f0e4b8);padding-top:0}#scene-status{top:62%;right:20%}}
@media(prefers-reduced-motion:reduce){.primary,.secondary span,.toast,.navigation button:after{transition:none}.primary:hover,.primary:focus-visible,.secondary:hover span{transform:none}}


/* V1.1: photographic light moves; the original ink and paper geometry do not. */
.sunlight-light{
  position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:url('./assets/sunlight-illumination.png') center / cover no-repeat;
  mix-blend-mode:multiply;transform-origin:center;will-change:transform;
}
.method-effects{
  position:absolute;inset:0;z-index:0;width:100%;height:100%;
  overflow:visible;pointer-events:none;
}
.method-layer{opacity:0;transition:opacity .52s ease-out;}
.method-layer.is-active{opacity:1;}
.navigation button[aria-pressed="true"]:after{transform:scaleX(1);}
.method-panel{
  position:absolute;left:13%;bottom:108px;z-index:3;
  width:min(470px,41vw);font-family:var(--serif);
  color:#514d43;
}
.method-panel__eyebrow{
  margin:0 0 10px;color:#81765f;font:11px var(--ui);letter-spacing:.17em;
}
.method-panel__buttons{
  display:flex;flex-wrap:wrap;align-items:center;gap:5px;
  padding:5px 0;border-top:1px solid #75674a35;border-bottom:1px solid #75674a35;
}
.method-panel__buttons button{
  font:15px var(--serif);padding:7px 14px;min-height:44px;min-width:65px;
  color:#656052;transition:background .2s,color .2s;
}
.method-panel__buttons button:first-child{padding-left:7px}
.method-panel__buttons button:hover,.method-panel__buttons button:focus-visible{
  background:#f4d78330;color:#45392d;
}
.method-panel__buttons button[aria-pressed="true"],.dialog-nav button[aria-pressed="true"]{
  background:#dbbe7a45;color:#45392d;
}
.method-panel__detail{
  min-height:69px;padding-top:10px;
  display:flex;align-items:baseline;gap:12px;
}
.method-panel__detail strong{
  font-size:14px;font-weight:500;white-space:nowrap;color:#6e5730;
}
.method-panel__detail p{
  font:12px/1.7 var(--ui);letter-spacing:0;margin:0;max-width:345px;
}
.method-panel__disclaimer{font:10px/1.5 var(--ui);opacity:.77;margin:3px 0 0;}
.dialog-nav button[aria-pressed="true"]{border-bottom:2px solid #916e37;}
@media(min-width:701px) and (max-height:800px){
  .method-panel{bottom:87px;}
}
@media(min-width:701px) and (max-width:1000px){
  .method-panel{left:7%;width:min(460px,53vw);}
  .method-panel__buttons button{padding-left:9px;padding-right:9px;}
}
@media(max-width:700px){
  .sunlight-light{height:var(--mobile-scene-height,max(840px,100svh));
    bottom:auto;background-position:64% center;background-size:auto 110%;}
  .method-effects{height:var(--mobile-scene-height,max(840px,100svh));bottom:auto}
  .method-panel{
    top:calc(var(--mobile-footer-top,794px) + 104px);bottom:auto;
    left:26px;right:26px;width:auto;
    padding:15px 0 23px;
  }
  .method-panel__buttons{justify-content:space-between;gap:1px}
  .method-panel__buttons button{padding:6px 11px;min-width:62px;font-size:14px}
  .method-panel__detail{display:block;min-height:85px}
  .method-panel__detail p{padding-top:7px;max-width:none}
  .method-panel__disclaimer{max-width:310px}
}
@media(prefers-reduced-motion:reduce){
  .method-layer,.method-panel__buttons button{transition:none!important;}
  .sunlight-light{will-change:auto}
}

/* V1.2: clear four-method choice without turning the ink drawing into a menu */
.sunlight-light{filter:contrast(1.12) brightness(1.012);}
.method-panel{left:13%;bottom:91px;width:min(466px,43vw);z-index:3;}
.method-panel__header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:11px;}
.method-panel__eyebrow{font:500 14px/1.4 var(--serif);letter-spacing:.095em;color:#494233;margin:0;}
.method-panel__eyebrow span{font:16px var(--serif);color:#946e34;margin-left:5px;}
.method-panel__hint{font:10px/1.5 var(--ui);color:#7d6d55;letter-spacing:.02em;}
.method-panel__buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;border:0;padding:0;}
.method-panel__buttons button,.method-panel__buttons button:first-child{
 display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;
 position:relative;min-width:0;width:100%;height:77px;min-height:77px;
 text-align:left;padding:11px 10px 9px;
 background:rgba(255,253,246,.69);border:1px solid rgba(109,89,57,.33);
 box-shadow:0 2px 7px rgba(77,57,35,.055);
 border-radius:3px;color:#4a4338;
 transition:background .24s,border-color .24s,transform .24s,box-shadow .24s;
}
.method-panel__number{font:10px/1.1 var(--ui);color:#837663;letter-spacing:.09em;}
.method-panel__name{display:flex;align-items:center;justify-content:space-between;gap:2px;font:500 20px/1.2 var(--serif);letter-spacing:.04em;}
.method-panel__name span{font:17px var(--serif);color:#ad8952;opacity:.68;transition:opacity .2s;}
.method-panel__buttons button:hover,.method-panel__buttons button:focus-visible,
.method-panel__buttons button[data-previewing="true"]{
 transform:translateY(-2px);border-color:rgba(144,101,35,.66);
 background:rgba(252,236,200,.88);
 box-shadow:0 6px 17px rgba(91,63,30,.12);
}
.method-panel__buttons button[aria-pressed="true"]{
 background:rgba(243,208,133,.93);
 border-color:#a87738;box-shadow:0 7px 20px rgba(100,70,28,.18);
}
.method-panel__buttons button[aria-pressed="true"]:before{
 content:"";position:absolute;left:11px;right:11px;top:-2px;height:2px;background:#9f7033;
}
.method-panel__buttons button[aria-pressed="true"] .method-panel__name span{opacity:1;color:#795122;}
.method-panel__detail{display:block;padding-top:10px;min-height:62px;}
.method-panel__detail strong{display:block;font-size:14px;letter-spacing:.05em;color:#674d2a;}
.method-panel__detail p{padding-top:4px;font:11px/1.6 var(--ui);max-width:450px;color:#615845;}
.method-panel__disclaimer{font:9px/1.5 var(--ui);opacity:.72;}
.method-layer.is-active{filter:drop-shadow(0 0 5px rgba(204,146,47,.36));}
@media(min-width:701px) and (max-height:790px){
 .method-panel{bottom:78px;}
 .method-panel__header{margin-bottom:5px;}
 .method-panel__buttons button,.method-panel__buttons button:first-child{height:63px;min-height:63px;padding-top:6px;padding-bottom:6px;}
 .method-panel__detail{padding-top:6px;min-height:47px;}
 .method-panel__disclaimer{display:none;}
}
@media(min-width:701px) and (max-width:1000px){
 .method-panel{left:7%;width:min(465px,56vw);}
 .method-panel__name{font-size:18px;}
 .method-panel__buttons button,.method-panel__buttons button:first-child{padding-left:7px;padding-right:7px;}
}
@media(max-width:700px){
 .method-panel{left:26px;right:26px;top:calc(var(--mobile-footer-top,794px) + 102px);bottom:auto;width:auto;padding:12px 0 26px;}
 .method-panel__header{margin-bottom:12px;}
 .method-panel__hint{font-size:9px;}
 .method-panel__buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
 .method-panel__buttons button,.method-panel__buttons button:first-child{min-height:75px;height:75px;padding:11px 14px 10px;}
 .method-panel__name{font-size:21px;}
 .method-panel__detail{min-height:80px;}
 .method-panel__detail p{padding-top:5px;}
}
@media(prefers-reduced-motion:reduce){
 .method-panel__buttons button,.method-panel__name span,.method-layer{transition:none!important;}
 .method-panel__buttons button:hover,.method-panel__buttons button:focus-visible{transform:none;}
}

/* V1.2 round-one review: clip travelling light at the scene boundary, not at the page's bottom. */
.sunlight-viewport{
 position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;
 mix-blend-mode:multiply;
}
.sunlight-viewport .sunlight-light{
 position:absolute;inset:0;z-index:0;mix-blend-mode:normal;
}
.method-panel__header{justify-content:flex-start;gap:22px;}
.method-panel__buttons button,.method-panel__buttons button:first-child{
 background:rgba(255,252,243,.94);
}
.method-panel__buttons button:hover,.method-panel__buttons button:focus-visible,
.method-panel__buttons button[data-previewing="true"]{background:rgba(251,234,193,.96);}
.method-panel__buttons button[aria-pressed="true"]{background:rgba(244,211,141,.96);}
@media(max-width:700px){
 .sunlight-viewport{height:var(--mobile-scene-height,max(840px,100svh));bottom:auto;}
 .sunlight-viewport .sunlight-light{
  inset:0;height:100%;background-position:64% center;background-size:auto 110%;
 }
}

/* V1.2 tablet correction: the paper cards stop before the dial silhouette. */
@media (min-width:701px) and (max-width:1000px){
  .hero{height:max(820px,100svh);min-height:820px;}
  .hero-copy{top:16%;}
  .method-panel{width:37vw;left:7%;bottom:76px;}
  .method-panel__header{display:block;margin-bottom:7px;}
  .method-panel__hint{display:none;}
  .method-panel__buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
  .method-panel__buttons button,.method-panel__buttons button:first-child{
    min-width:0;height:66px;min-height:66px;padding:7px 10px;
  }
  .method-panel__number{font-size:9px;}
  .method-panel__name{font-size:18px;}
  .method-panel__detail{min-height:65px;padding-top:7px;}
  .method-panel__detail strong{font-size:13px;}
  .method-panel__detail p{font-size:10px;line-height:1.45;}
  .method-panel__disclaimer{display:none;}
}

/* Live main page: keep the original artwork, connect the selected method to its real page. */
.method-panel__entry{
  display:inline-flex;align-items:center;min-height:44px;
  font:500 14px/1.2 var(--serif);color:#6b4a1d;
  text-decoration:underline;text-decoration-color:#b5a173;
  text-underline-offset:6px;padding:3px 7px 3px 0;
}
.method-panel__entry:hover,.method-panel__entry:focus-visible{color:#392713;text-decoration-color:currentColor}
@media(max-width:700px){.method-panel__entry{font-size:15px;min-height:44px}}
