:root{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#253b32;background:#f4f3eb;font-synthesis:none;--green:#254b39;--muted:#748178;--pink:#c77992}*{box-sizing:border-box}body{margin:0;min-height:100dvh}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ac7795;outline-offset:4px}button{color:inherit}a{color:inherit}header{position:absolute;z-index:5;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:32px 4.2%}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;font-weight:600;letter-spacing:2px}.brand-mark{border:1px solid #70877b;display:grid;place-items:center;width:43px;height:47px;font:25px Georgia,"SimSun",serif}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:400;color:#77837a;margin-top:7px}.plain{border:0;background:none;font-size:12px;letter-spacing:1px}.intro{position:absolute;z-index:2;left:7%;top:22%;pointer-events:none}.intro>*{pointer-events:auto}.eyebrow{font-size:12px;letter-spacing:4px;color:#678171}h1{font-family:Georgia,"Songti SC","SimSun",serif;font-size:clamp(36px,4.1vw,66px);font-weight:400;line-height:1.32;letter-spacing:4px;margin:21px 0}.intro-text{color:#7a837a;font-size:14px;line-height:2}.source-note{font-size:11px;color:#6c7f71;margin:26px 0 20px;display:flex;align-items:center;gap:8px}.source-note span{width:5px;height:5px;border-radius:50%;background:#6d9276}.primary{background:var(--green);color:white;border:0;border-radius:2px;padding:17px 25px;min-width:225px;text-align:left;font-size:14px;letter-spacing:2px;box-shadow:0 8px 22px #284c3920}.primary span{float:right;font-size:20px;line-height:1}.primary:hover{background:#356549}.camera-note{font-size:10px;color:#7e877f;margin:13px 0}.text-link{font-size:11px;border:0;background:transparent;padding:0;text-decoration:underline;text-underline-offset:4px;color:#697d6d}.view-caption{position:absolute;right:5%;bottom:245px;width:295px;text-align:right;pointer-events:none}.view-no{display:block;font-family:Georgia,serif;font-size:12px;letter-spacing:3px;color:#8e998e;margin-bottom:12px}.view-caption strong{font-size:16px;letter-spacing:2px;font-weight:500}.view-caption p{font-size:11px;color:#869086;line-height:1.8}#viewer,#ar-viewer{position:fixed;inset:0;touch-action:none}#viewer canvas,#ar-viewer canvas{display:block}#ar-viewer{overflow:hidden;background:transparent;z-index:1}#ar-viewer video{object-fit:cover}#loading{position:absolute;top:40%;left:60%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:14px;color:#718072;font-size:12px;z-index:3;padding:25px;background:#f4f3ebdf;border-radius:4px}#loading strong{font-weight:500}.spinner{width:22px;height:22px;border:1px solid #c8d4c9;border-top:2px solid #567361;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.control-dock{position:fixed;z-index:6;bottom:0;left:4.2%;right:4.2%;background:#f8f8f0ed;backdrop-filter:blur(16px);padding:18px 26px 14px;border-top:1px solid #d9ded1;border-radius:4px 4px 0 0}.dock-header{display:flex;justify-content:space-between;font-size:10px;letter-spacing:3px;margin-bottom:16px;color:#879182}.dock-header .text-link{letter-spacing:0}.seasons{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.seasons button{display:flex;align-items:center;justify-content:center;gap:15px;border:1px solid transparent;border-radius:3px;background:transparent;text-align:left;padding:8px 12px 10px;transition:.2s}.seasons button:hover{background:#e9ede3}.seasons button[aria-pressed=true]{border-color:#a4b7a3;background:#e7ede0}.season-icon{font:34px Georgia,serif;font-weight:400}.branch{color:#8e8b75}.blossom{color:#cf91a6}.green{color:#597d46}.amber{color:#c2924c}.winter{color:#839ca3}.seasons button>span:last-child{font-size:13px;letter-spacing:1px}.seasons small{display:block;font-size:9px;letter-spacing:1px;color:#93998c;margin-top:6px}.adjustments{display:flex;gap:32px;align-items:center;border-top:1px solid #e3e6da;margin-top:15px;padding-top:12px}.adjustments label{font-size:10px;color:#7a897b;display:flex;align-items:center;gap:12px}.adjustments output{width:34px;font-size:10px}input[type=range]{accent-color:#5e7f5a;width:100px;height:3px;cursor:pointer}.tools{margin-left:auto;display:flex;gap:20px}.tools button{border:0;background:none;font-size:11px;padding:5px 0}.tools button[aria-pressed=true]{color:#a66985;text-decoration:underline}.footnote{font-size:9px;color:#9aa18f;text-align:center;letter-spacing:.4px;margin:12px 0 0}.ar-top{position:fixed;z-index:5;top:105px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;color:white;font-size:12px}.ar-top span{background:#183f2ee0;padding:10px 16px;border-radius:20px}.ar-top button{border:1px solid #ffffff80;background:#173c2cbf;color:white;border-radius:20px;padding:9px 16px}#scan-guide{position:fixed;z-index:3;inset:25% 12% 30%;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.scan-frame{width:min(52vw,310px);aspect-ratio:1;border:1px solid #ffffffa0;border-radius:12px;box-shadow:0 0 0 999px #122b2310}#scan-guide p{color:white;text-align:center;font-size:13px;line-height:1.8;text-shadow:0 1px 4px #000}#scan-guide small{font-size:10px}#notice{position:fixed;z-index:8;top:108px;left:50%;transform:translateX(-50%);width:min(90vw,600px);padding:15px 20px;background:#fff8e7;color:#705e3d;border:1px solid #dbcda7;font-size:13px;line-height:1.8;border-radius:5px}body.ar-active{background:transparent}body.ar-active header{color:white;text-shadow:0 1px 6px #0009}body.ar-active .brand small{color:#eee}body.ar-active .brand-mark{border-color:#ffffff70}body.ar-active .intro,body.ar-active .view-caption{display:none}body.ar-active #loading{left:50%;background:#173b30e0;color:white}dialog{border:1px solid #d7decd;border-radius:6px;background:#f8f8ef;color:#334b3a;padding:38px;max-width:540px;width:90vw;max-height:85dvh;box-shadow:0 25px 80px #152a3440}dialog::backdrop{background:#16372d70;backdrop-filter:blur(5px)}dialog h2{font:28px Georgia,"SimSun",serif;margin-top:0}dialog p,dialog li{font-size:13px;line-height:1.95;color:#6a7d6c}dialog li{margin:12px 0}dialog img{display:block;width:min(100%,280px);margin:20px auto}dialog .close{position:absolute;right:12px;top:8px;font-size:25px;border:0;background:none}dialog a{display:inline-block;font-size:13px;margin:8px 0}dialog code{font-size:11px;overflow-wrap:anywhere}[hidden]{display:none!important}
@media(max-width:760px){header{padding:20px 5%}.brand{font-size:13px;letter-spacing:1px;gap:10px}.brand-mark{width:33px;height:36px;font-size:20px}.brand small{font-size:8px;letter-spacing:1px}.plain{font-size:10px}.intro{top:105px;left:6%;right:6%;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:3px;margin-bottom:6px}h1{font-size:30px;line-height:1.2;margin:8px 0;letter-spacing:2px}h1 br{display:none}.intro-text{font-size:10px;margin:8px 0;line-height:1.5}.intro-text br{display:none}.source-note{display:none}.primary{position:fixed;top:auto;bottom:274px;left:6%;padding:12px 16px;min-width:166px;font-size:11px;letter-spacing:1px}.camera-note{position:fixed;bottom:245px;left:6%;font-size:8px}.intro>.text-link{position:fixed;bottom:254px;right:6%;font-size:9px}.view-caption{right:6%;bottom:313px;width:205px}.view-no{font-size:9px;margin-bottom:6px}.view-caption strong{font-size:12px}.view-caption p{font-size:9px;margin:6px 0}.control-dock{left:0;right:0;padding:15px 13px calc(12px + env(safe-area-inset-bottom));border-radius:12px 12px 0 0}.dock-header{font-size:9px;margin-bottom:10px;padding:0 9px}.dock-header .text-link{font-size:9px}.seasons{gap:3px}.seasons button{flex-direction:column;gap:3px;padding:6px 0 8px;text-align:center}.season-icon{font-size:26px}.seasons button>span:last-child{font-size:10px;letter-spacing:0}.seasons small{font-size:7px;letter-spacing:0;margin-top:4px}.adjustments{flex-wrap:wrap;gap:10px;margin-top:12px;padding-top:12px;justify-content:space-around}.adjustments label{font-size:9px;gap:5px}input[type=range]{width:75px}.adjustments output{font-size:9px;width:28px}.tools{width:100%;margin:0;justify-content:center;gap:25px}.tools button{font-size:10px}.footnote{font-size:7px;margin-top:8px;line-height:1.7}.ar-top{top:83px;font-size:10px}.ar-top span{padding:8px 12px}.ar-top button{font-size:10px}#loading{left:50%;top:42%;font-size:11px;min-width:210px}.ar-active .control-dock{background:#f8f8f0e6}.ar-active #scan-guide{inset:23% 10% 33%}.ar-active .footnote{display:none}}
@media(max-height:700px) and (max-width:760px){h1{font-size:24px}.intro{top:86px}.intro-text{display:none}.view-caption{bottom:290px}.view-caption p{display:none}.primary{bottom:251px}.camera-note{display:none}.intro>.text-link{bottom:262px}.control-dock{padding-top:10px;padding-bottom:8px}.dock-header{margin-bottom:6px}.season-icon{font-size:21px}.seasons small{display:none}.footnote{display:none}}

@media(min-width:761px){.intro{top:16%}h1{font-size:clamp(36px,3.8vw,58px);line-height:1.2;margin:16px 0}.source-note{margin:18px 0 16px}.intro-text{font-size:13px}.camera-note{margin:10px 0}.view-caption{width:230px;right:4%;bottom:235px}}
@media(max-width:760px){h1 br{display:initial}.view-caption{left:6%;right:auto;bottom:326px;width:170px;text-align:left}.view-caption p{display:none}}

/* Isolate the camera stack: no negative layer can fall behind the page. */
#ar-viewer{isolation:isolate;background:#14271f}#ar-viewer video{z-index:0!important}#ar-viewer canvas{z-index:1!important;background:transparent}.header-actions{display:flex;gap:18px}.ar-top>div{display:flex;gap:10px}#diagnostic-preview{display:block;width:100%;max-height:250px;object-fit:contain;background:#15271f;border-radius:4px;margin:15px 0}.camera-label{display:block;font-size:13px}.camera-label select{display:block;width:100%;font:inherit;color:inherit;padding:12px;margin:8px 0 16px;background:#fff;border:1px solid #b7c7b7}.camera-action{border:0;background:#254b39;color:white;padding:13px 16px;border-radius:3px;font-size:13px}body.ar-active header .header-actions #camera-settings{display:none}
#camera-diagnostics{overflow-wrap:anywhere}

.entry-options{display:flex;flex-wrap:wrap;gap:8px;max-width:320px;margin-top:10px}.entry-options button,.entry-options a{font:12px inherit;border:1px solid #b3c2b5;background:#f5f5ed;color:#254b39;padding:9px;text-decoration:none}.entry-options a{font-size:11px}.entry-options button:disabled{opacity:.6}#simple-camera{position:fixed;inset:0;z-index:0;pointer-events:none}#simple-camera video{width:100%;height:100%;object-fit:cover}body.simple-camera-active #viewer{z-index:1}body.simple-camera-active .intro,body.simple-camera-active .view-caption{display:none}#simple-panel{position:fixed;z-index:6;top:110px;left:5%;right:5%;display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:white}#simple-panel span,#simple-panel button{background:#254b39;border:0;border-radius:20px;padding:12px;color:white;font-size:12px}[hidden]{display:none!important}
@media(min-width:761px){.intro{top:13%}h1{font-size:42px}.source-note{margin:12px 0}.intro-text{line-height:1.6}.entry-options{max-width:290px}}
@media(max-width:760px){.intro .entry-options{position:fixed;left:5%;right:5%;bottom:265px;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:5px}.intro .entry-options button,.intro .entry-options a{font-size:10px;padding:7px;text-align:center}.intro .primary{bottom:350px}.intro .camera-note{display:none}.intro>.text-link{bottom:359px;right:5%;left:auto}.view-caption{bottom:400px}.intro h1{font-size:27px}.intro-text,.source-note{display:none}#simple-panel{top:90px}header{padding:20px 5%}.header-actions{gap:6px}}
