:root { --bg:#0d1713; --panel:#14231d; --ink:#eee9dc; --muted:#aeb9b1; --gold:#d9b764; --jade:#78a897; --line:rgba(232,218,184,.16); color-scheme:dark; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:"PingFang SC","Noto Sans CJK SC",system-ui,sans-serif; overflow-x:hidden; }
a { color:inherit; }
button,.button { font:inherit; }
.skip-link { position:absolute; left:-999px; top:0; z-index:100; }
.skip-link:focus { left:12px; top:12px; padding:8px 12px; background:#fff; color:#111; }
.site-header { position:sticky; z-index:30; top:0; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:12px max(24px,calc((100vw - 1200px)/2)); border-bottom:1px solid var(--line); background:rgba(10,18,14,.9); backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; }
.brand-seal { display:grid; place-items:center; width:42px; aspect-ratio:1; border:1px solid #b54a36; color:#dc765f; border-radius:8px; font-weight:700; }
.brand strong,.brand small { display:block; }.brand small { color:var(--muted); font-size:11px; margin-top:2px; }
nav { display:flex; gap:22px; } nav a { color:#c9d0ca; text-decoration:none; font-size:14px; }
.hero { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,6vw,90px); align-items:center; min-height:calc(100svh - 72px); max-width:1200px; margin:auto; padding:72px 24px; }
.eyebrow { margin:0 0 12px; color:var(--gold); font-size:12px; letter-spacing:.13em; text-transform:uppercase; }
h1 { margin:0; font-family:"Songti SC","STSong",serif; font-size:clamp(48px,7vw,92px); line-height:1.03; font-weight:600; }
h1 span { color:#c8aa61; font-size:.68em; }
.hero-lead { max-width:680px; color:#c6cec8; font-size:clamp(17px,2vw,22px); line-height:1.8; }
.review-mark { display:grid; grid-template-columns:auto 1fr; width:max-content; gap:2px 10px; padding:10px 14px; border-left:3px solid var(--jade); background:rgba(120,168,151,.09); }
.review-mark span { grid-row:1/3; align-self:center; color:#9ac4b5; font-size:12px; }.review-mark small { color:var(--muted); }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.button,button { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:11px 18px; border:1px solid var(--line); border-radius:9px; background:#22332b; color:var(--ink); text-decoration:none; cursor:pointer; }
.button.primary,#load-3d { background:var(--gold); color:#172018; border-color:transparent; font-weight:700; }.button.ghost { background:transparent; }
.hero-visual { margin:0; padding:18px; border:1px solid var(--line); background:linear-gradient(145deg,#1a2b23,#0d1511); box-shadow:0 28px 80px rgba(0,0,0,.28); }
.hero-visual img { display:block; width:100%; max-height:68svh; object-fit:contain; background:#ece8dc; }.hero-visual figcaption { margin-top:10px; color:var(--muted); font-size:12px; line-height:1.6; }
.trust-strip { display:grid; grid-template-columns:repeat(4,1fr); max-width:1200px; margin:0 auto 80px; border:1px solid var(--line); }.trust-strip div { padding:22px; border-right:1px solid var(--line); }.trust-strip div:last-child { border:0; }.trust-strip strong,.trust-strip span { display:block; }.trust-strip strong { color:var(--gold); font-size:24px; }.trust-strip span { margin-top:4px; color:var(--muted); font-size:12px; }
.section { max-width:1200px; margin:0 auto; padding:88px 24px; }.section-heading { margin-bottom:28px; }.section-heading.narrow { max-width:720px; }.section-heading h2,.author-section h2,.course-section h2 { margin:0; font-family:"Songti SC","STSong",serif; font-size:clamp(34px,4vw,54px); }.section-heading>p:last-child { color:var(--muted); line-height:1.7; }
.model-section { max-width:1400px; }.model-toolbar { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:12px 16px; border:1px solid var(--line); border-bottom:0; background:#17261f; }.model-toolbar>span { color:#b9c5bd; font-size:13px; }.model-toolbar div { display:flex; gap:8px; }.model-toolbar button { min-height:40px; padding:8px 12px; font-size:13px; }
.model-shell { position:relative; min-height:720px; border:1px solid var(--line); background:#101a16; overflow:hidden; }.model-shell iframe { display:block; width:100%; height:780px; border:0; background:#101a16; }.model-placeholder { position:absolute; z-index:2; inset:0; display:grid; place-content:center; justify-items:center; text-align:center; color:#c4cec7; background:#101a16; }.model-placeholder p { color:var(--muted); }.spinner { width:36px; height:36px; margin-bottom:16px; border:3px solid rgba(255,255,255,.15); border-top-color:var(--gold); border-radius:50%; animation:spin 1s linear infinite; }@keyframes spin{to{transform:rotate(1turn)}}
.static-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:12px; }.static-gallery figure { margin:0; padding:10px; border:1px solid var(--line); background:#15231d; }.static-gallery img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; background:#0d1511; }.static-gallery figcaption { padding:10px 4px 2px; color:#d8c99c; font-size:13px; }.teaching-notice { margin:14px 0 0; padding:13px 16px; border-left:3px solid var(--gold); background:rgba(217,183,100,.08); color:#d6d0c0; line-height:1.7; }
.knowledge-section { max-width:none; background:#101d18; }.knowledge-section>* { max-width:1200px; margin-left:auto; margin-right:auto; }.knowledge-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }.knowledge-grid article { position:relative; padding:28px; border:1px solid var(--line); background:#15261f; }.knowledge-grid article>span { color:#6f9789; font-size:12px; }.knowledge-grid h3 { margin:10px 0; font-size:22px; }.knowledge-grid p { margin:0; color:#bfc9c2; line-height:1.85; }.knowledge-grid b { color:#eee2bd; }
.process-list { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin:0; padding:0; list-style:none; }.process-list li { min-height:100px; padding:18px; border:1px solid var(--line); background:#14231d; }.process-list span { display:block; color:#7ca696; margin-bottom:18px; }.process-list .highlight { border-color:rgba(217,183,100,.55); background:rgba(217,183,100,.1); color:#f0d998; }
.author-section { display:grid; grid-template-columns:1.3fr .7fr; gap:70px; align-items:start; }.author-section p { color:#bdc7c0; line-height:1.9; }.author-section dl { margin:0; }.author-section dl div { display:grid; grid-template-columns:90px 1fr; padding:14px 0; border-bottom:1px solid var(--line); }.author-section dt { color:var(--muted); }.author-section dd { margin:0; }
.faq-section { max-width:none; background:#101d18; }.faq-section>* { max-width:960px; margin-left:auto; margin-right:auto; }.faq-list { display:grid; gap:8px; }.faq-list details { padding:18px 20px; border:1px solid var(--line); background:#15261f; }.faq-list summary { cursor:pointer; font-weight:650; }.faq-list p { color:#bdc7c0; line-height:1.8; }
.course-section { display:grid; grid-template-columns:1fr 330px; gap:60px; align-items:center; }.course-copy p,.course-copy li { color:#bdc7c0; line-height:1.8; }.copy-status { color:#a9d5c4 !important; }.qr-card { margin:0; padding:18px; border:1px solid var(--line); background:#fff; color:#15201b; }.qr-card img { display:block; width:100%; }.qr-card figcaption { display:grid; gap:5px; padding-top:10px; text-align:center; }.qr-card span { font-size:13px; }
footer { display:flex; justify-content:space-between; gap:20px; padding:26px max(24px,calc((100vw - 1200px)/2)); border-top:1px solid var(--line); color:#8f9d94; font-size:12px; }
.no-script { padding:24px; }.model-shell.load-failed .model-placeholder { color:#efcf87; }
@media(max-width:800px){nav{display:none}.hero{grid-template-columns:1fr;padding-top:44px}.hero-visual{max-width:560px}.trust-strip{grid-template-columns:1fr 1fr;margin:0 12px 40px}.trust-strip div:nth-child(2){border-right:0}.knowledge-grid{grid-template-columns:1fr}.process-list{grid-template-columns:1fr 1fr}.author-section,.course-section{grid-template-columns:1fr}.model-shell{min-height:620px}.model-shell iframe{height:700px}.static-gallery{grid-template-columns:1fr}.model-toolbar{align-items:flex-start;flex-direction:column}.model-toolbar div{width:100%}.model-toolbar button{flex:1}.qr-card{max-width:330px}.section{padding:62px 16px}}
@media(max-width:460px){.site-header{padding:10px 14px}.brand-seal{width:36px}.hero{padding:34px 16px 54px;min-height:auto}h1{font-size:44px}.hero-actions{display:grid}.trust-strip{grid-template-columns:1fr 1fr}.trust-strip div{padding:15px}.trust-strip strong{font-size:19px}.section{padding:54px 12px}.model-section{padding-left:8px;padding-right:8px}.model-shell{min-height:590px}.model-shell iframe{height:670px}.model-toolbar div{display:grid;grid-template-columns:1fr;width:100%}.process-list{grid-template-columns:1fr}.knowledge-grid article{padding:22px}.course-section{gap:28px}footer{flex-direction:column;padding:22px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spinner{animation:none}}
