:root {
    --bg:#0C0B08; --bg-deep:#080706; --panel:#161410; --panel-2:#1E1A14;
    --title:#F3E6C0; --text:#E4D6B0; --muted:#B89A58; --aux:#8A7040;
    --gold:#C9A227; --gold-light:#E0C056; --gold-deep:#8A6E18; --copper:#8A5A2A; --cream:#F7EFD4;
    --border:rgba(201,162,39,.22); --border-strong:rgba(201,162,39,.50); --shadow:0 12px 28px rgba(0,0,0,.45);
}
* { box-sizing:border-box; }
html { background:var(--bg); scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; font-size:15px; line-height:1.7; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { cursor:pointer; }
img { max-width:100%; display:block; }
.museum-note { position:fixed; inset:0 0 auto 0; height:20px; z-index:90; background:#070604; color:var(--title); border-bottom:1px solid var(--border); font-size:12px; }
.top-inner { width:min(1128px, calc(100% - 32px)); height:20px; margin:auto; display:flex; align-items:center; justify-content:space-between; }
.note-search { height:20px; padding:0 8px; border:0; background:transparent; color:var(--gold-light); }
.site-head { position:fixed; inset:20px 0 auto 0; height:52px; z-index:89; background:var(--bg-deep); border-bottom:1px solid var(--border-strong); }
.head-inner { width:min(1128px, calc(100% - 32px)); height:52px; margin:auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; }
.brand-mark { min-height:44px; display:flex; align-items:center; justify-self:start; }
.brand-logo,.footer-logo,.sheet-logo { height:24px; width:auto; object-fit:contain; object-position:center; }
.brand-text { color:var(--title); font-size:16px; font-weight:700; }
.brand-en { color:var(--muted); font-size:13px; letter-spacing:.14em; white-space:nowrap; }
.head-actions { justify-self:end; display:flex; align-items:center; gap:8px; }
.head-app,.menu-trigger { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border-radius:7px; font-size:14px; }
.head-app { background:linear-gradient(135deg,#E0C056 0%,#C9A227 55%,#8A6E18 100%); color:#1A1408; font-weight:700; }
.menu-trigger { border:1px solid var(--border-strong); background:#0F0D09; color:var(--title); }
.double-nav { position:fixed; inset:72px 0 auto 0; height:64px; z-index:88; background:#0A0907; border-bottom:1px solid var(--border); }
.double-nav-inner { width:min(980px, calc(100% - 32px)); margin:auto; height:64px; display:grid; grid-template-rows:32px 32px; }
.nav-row { display:flex; align-items:stretch; justify-content:center; gap:6px 26px; }
.nav-row a { position:relative; display:flex; align-items:center; min-height:32px; padding:0 6px; color:var(--text); font-size:13px; white-space:nowrap; }
.nav-row a.is-current,.nav-row a:hover { color:var(--gold-light); }
.nav-row a.is-current::after { content:""; position:absolute; left:6px; right:6px; bottom:1px; height:1px; background:var(--gold-light); }
.site-layout { width:min(1128px, calc(100% - 32px)); margin:0 auto; padding-top:160px; min-height:72vh; }
.side-nav { position:fixed; width:148px; top:154px; bottom:16px; overflow:auto; padding:10px 16px 18px 0; border-right:1px solid var(--border); }
.side-group { display:grid; gap:2px; margin-bottom:18px; }
.side-group strong { color:var(--aux); font-size:12px; font-weight:600; margin-bottom:4px; }
.side-group a { min-height:34px; display:flex; align-items:center; color:var(--text); border-radius:6px; padding:0 8px; }
.side-group a:hover { background:rgba(201,162,39,.06); color:var(--gold-light); }
.side-group a.is-current { color:var(--gold-light); font-weight:700; }
.main-content { width:min(980px, calc(100% - 172px)); margin-left:auto; padding-bottom:54px; }
.page-head { padding:26px 0 20px; border-bottom:1px solid var(--border); margin-bottom:26px; }
.page-head h1,.hero-intro h1 { margin:0 0 10px; color:var(--title); font-size:24px; line-height:1.3; }
.page-head p,.hero-intro p { margin:0; max-width:760px; color:var(--text); }
.eyebrow { margin-bottom:6px; color:var(--muted); font-size:12px; letter-spacing:.16em; }
h2 { color:var(--title); font-size:20px; line-height:1.35; margin:0 0 12px; }
h3 { color:var(--title); font-size:16px; line-height:1.45; margin:0 0 8px; }
p { margin:0 0 12px; }
.section { margin:0 0 34px; }
.section + .section { padding-top:2px; }
.image-slot { background:#0A0907; border:1px solid var(--border); border-radius:8px; display:flex; align-items:center; justify-content:center; overflow:hidden; min-height:120px; }
.image-slot img { width:100%; height:100%; object-fit:contain; object-position:center; }
.slot-176 { height:176px; }
.slot-160 { height:160px; }
.slot-200 { height:200px; }
.slot-220 { height:220px; }
.slot-app { height:300px; }
.slot-icon { width:64px; height:64px; min-height:64px; border-radius:10px; }
.btn-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.btn-primary,.btn-secondary { min-height:42px; padding:0 16px; border-radius:7px; display:inline-flex; align-items:center; justify-content:center; font-size:14px; white-space:nowrap; }
.btn-primary { background:linear-gradient(135deg,#E0C056 0%,#C9A227 55%,#8A6E18 100%); color:#1A1408; font-weight:700; }
.btn-secondary { background:#0E0C09; border:1px solid var(--border-strong); color:var(--title); }
a:focus-visible,button:focus-visible,input:focus-visible { outline:2px solid var(--gold-light); outline-offset:3px; }
.hero-intro { padding:34px 0 28px; border-bottom:1px solid var(--border); margin-bottom:28px; }
.hero-intro .lead { color:var(--gold-light); font-size:17px; margin-bottom:10px; }
.number-list { display:grid; gap:16px; }
.number-item { display:grid; grid-template-columns:104px 1fr; gap:18px; padding:18px 0; border-bottom:1px solid var(--border); }
.number-item .num { color:var(--gold-light); font-weight:700; }
.number-item .number-body { min-width:0; }
.number-item .image-slot { margin:12px 0; }
.notes-two { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--border); border-radius:9px; overflow:hidden; }
.note-col { padding:20px; background:var(--panel); }
.note-col + .note-col { border-left:1px solid var(--border); background:var(--panel-2); }
.note-col .image-slot { margin-bottom:14px; }
.nodes { display:flex; flex-wrap:wrap; gap:12px; }
.node { flex:1 1 210px; min-width:0; border-top:2px solid var(--gold-deep); padding:14px 12px 2px; background:linear-gradient(180deg,rgba(201,162,39,.06),transparent 78%); }
.work-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.work-card { background:var(--panel); border:1px solid var(--border); border-radius:8px; padding:18px; }
.work-head { grid-column:1/-1; margin-bottom:2px; }
.week-blocks { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.week-block { border-left:2px solid var(--gold-deep); padding:14px 16px; background:var(--panel); }
.status-board { border:1px solid var(--border); border-radius:8px; overflow:hidden; }
.status-row { display:grid; grid-template-columns:120px 1fr; gap:16px; padding:14px 16px; background:var(--panel); }
.status-row + .status-row { border-top:1px solid var(--border); }
.status { color:var(--gold-light); font-weight:700; }
.app-band { display:grid; grid-template-columns:1fr minmax(180px,270px); gap:26px; align-items:center; background:var(--bg-deep); border:1px solid var(--border-strong); border-radius:10px; padding:24px; box-shadow:var(--shadow); }
.app-media { display:grid; gap:10px; justify-items:center; }
.app-media .slot-icon { margin-top:-6px; }
.article-single { display:grid; gap:18px; }
.article-single .entry { padding:18px 20px; background:var(--panel); border-left:2px solid var(--gold-deep); }
.memo-list { counter-reset:memo; display:grid; gap:12px; }
.memo-item { background:var(--panel); border:1px solid var(--border); border-radius:8px; padding:18px 18px 18px 54px; position:relative; }
.memo-item::before { counter-increment:memo; content:counter(memo, decimal-leading-zero); position:absolute; left:17px; top:18px; color:var(--gold-light); font-weight:700; }
.method-steps { display:grid; gap:0; border-top:1px solid var(--border); }
.method-step { display:grid; grid-template-columns:160px 1fr; gap:22px; padding:20px 0; border-bottom:1px solid var(--border); }
.method-step strong { color:var(--gold-light); }
.topic-list { display:grid; gap:16px; }
.topic-item { display:grid; grid-template-columns:minmax(130px,190px) 1fr; gap:20px; padding:18px; border:1px solid var(--border); background:linear-gradient(135deg,#161410,#0d0c09); border-radius:8px; }
.topic-item strong { color:var(--gold-light); }
.product-columns { columns:2; column-gap:16px; }
.product-entry { break-inside:avoid; margin-bottom:16px; border:1px solid var(--border); background:var(--panel); border-radius:8px; padding:18px; }
.app-hero { background:var(--bg-deep); border:1px solid var(--border-strong); border-radius:10px; padding:24px; display:grid; grid-template-columns:1fr 260px; gap:28px; align-items:center; }
.install-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.install-card { background:var(--panel); border:1px solid var(--border); padding:18px; border-radius:8px; }
.terms { display:grid; gap:16px; }
.term { padding:20px 0; border-bottom:1px solid var(--border); }
.term:first-child { border-top:1px solid var(--border); }
.help-index { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.help-box { border:1px solid var(--border); border-radius:8px; padding:18px; background:var(--panel); }
.faq-list { display:grid; gap:12px; }
.faq-item { border:1px solid var(--border); border-radius:8px; background:var(--panel); padding:18px; }
.faq-item h2 { font-size:16px; margin-bottom:8px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-box { border:1px solid var(--border); border-radius:8px; padding:20px; background:var(--panel); }
.brand-banner { margin:0 0 24px; }
.brand-declaration { border-top:1px solid var(--border); display:grid; grid-template-columns:180px 1fr; gap:20px; padding:22px 0; }
.brand-declaration + .brand-declaration { border-top:1px solid var(--border); }
.mini-links { display:flex; flex-wrap:wrap; gap:8px; }
.mini-links a { min-height:40px; padding:0 12px; display:inline-flex; align-items:center; background:#0F0D09; border:1px solid var(--border); border-radius:7px; color:var(--title); }
.site-footer { background:var(--bg-deep); border-top:1px solid var(--border-strong); color:var(--text); font-size:13px; padding:34px 0 calc(34px + env(safe-area-inset-bottom)); }
.footer-inner { width:min(1128px, calc(100% - 32px)); margin:auto; }
.footer-brand { display:flex; align-items:center; gap:14px; padding-bottom:18px; border-bottom:1px solid var(--border); }
.footer-brand-link { min-width:64px; min-height:44px; display:flex; align-items:center; }
.footer-brand strong,.footer-brand span { display:block; }
.footer-brand span { color:var(--muted); }
.footer-map { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; padding:22px 0; }
.footer-map div { display:grid; align-content:start; gap:7px; }
.footer-map strong { color:var(--gold-light); }
.footer-map a { color:var(--text); min-height:28px; }
.footer-map a:hover { color:var(--gold-light); }
.rights-note { color:var(--text); max-width:860px; }
.copyright { color:var(--aux); margin-bottom:0; }
.overlay { position:fixed; inset:0; z-index:98; background:rgba(0,0,0,.68); opacity:0; visibility:hidden; transition:.2s ease; pointer-events:none; }
.overlay.is-visible { opacity:1; visibility:visible; }
.sheet-menu { position:fixed; left:0; right:0; bottom:0; z-index:100; max-height:72vh; overflow:auto; background:#0B0907; color:var(--text); border-top:1px solid var(--border-strong); transform:translateY(104%); visibility:hidden; pointer-events:none; transition:transform .24s ease, visibility .24s; box-shadow:0 -18px 34px rgba(0,0,0,.52); }
.sheet-menu.is-open { transform:translateY(0); visibility:visible; pointer-events:auto; }
.sheet-head { position:sticky; top:0; z-index:2; min-height:58px; background:#0B0907; display:flex; justify-content:space-between; align-items:center; padding:6px max(16px,calc((100% - 1128px)/2)); border-bottom:1px solid var(--border); }
.sheet-brand { display:flex; align-items:center; gap:10px; color:var(--title); }
.sheet-close,.search-top button { min-height:44px; border:1px solid var(--border-strong); background:#0F0D09; color:var(--title); border-radius:7px; padding:0 14px; }
.sheet-groups { width:min(1128px,calc(100% - 32px)); margin:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:20px 0 28px; }
.sheet-group { display:grid; align-content:start; gap:8px; }
.sheet-group>strong { color:var(--gold-light); margin-bottom:2px; }
.sheet-group a { border:1px solid var(--border); background:var(--panel); border-radius:7px; padding:10px 11px; display:grid; gap:2px; }
.sheet-group a b { color:var(--title); font-size:14px; }
.sheet-group a span { color:var(--muted); font-size:12px; line-height:1.5; }
.search-panel { position:fixed; left:0; right:0; top:72px; z-index:99; visibility:hidden; pointer-events:none; opacity:0; transform:translateY(-10px); transition:.2s ease; }
.search-panel.is-open { visibility:visible; pointer-events:auto; opacity:1; transform:translateY(0); }
.search-card { width:min(720px,calc(100% - 32px)); margin:auto; background:#0B0907; border:1px solid var(--border-strong); box-shadow:var(--shadow); border-radius:0 0 10px 10px; padding:18px; }
.search-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.search-top strong { color:var(--title); }
.search-card label { display:block; color:var(--gold-light); margin:12px 0 6px; }
.search-card input { width:100%; height:44px; border:1px solid var(--border-strong); border-radius:7px; background:#070604; color:var(--cream); padding:0 12px; }
.search-card p { color:var(--aux); font-size:12px; margin:7px 0 12px; }
.search-presets { display:flex; flex-wrap:wrap; gap:8px; }
.search-presets a { min-height:40px; display:inline-flex; align-items:center; padding:0 12px; border:1px solid var(--border); border-radius:7px; background:var(--panel); color:var(--title); }
.lock-scroll { overflow:hidden; }
.mobile-bottom { display:none; }
@media (max-width: 900px) {
    .double-nav,.side-nav,.brand-en { display:none; }
    .site-layout { padding-top:96px; width:min(100% - 32px,980px); }
    .main-content { width:100%; margin:0; padding-bottom:72px; }
    .head-inner { grid-template-columns:1fr auto; gap:10px; }
    .head-actions { gap:5px; }
    .head-app,.menu-trigger { padding:0 10px; }
    .mobile-bottom { display:grid; grid-template-columns:repeat(4,1fr); position:fixed; left:0; right:0; bottom:0; z-index:87; height:calc(48px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); background:#090806; border-top:1px solid var(--border-strong); }
    .mobile-bottom a { min-height:48px; display:flex; align-items:center; justify-content:center; color:var(--text); font-size:13px; }
    .mobile-bottom a.is-current { background:var(--gold); color:#1A1408; font-weight:700; }
    .site-footer { padding-bottom:calc(74px + env(safe-area-inset-bottom)); }
    .notes-two,.work-grid,.week-blocks,.app-band,.app-hero,.install-grid,.help-index,.contact-grid,.brand-declaration { grid-template-columns:1fr; }
    .note-col + .note-col { border-left:0; border-top:1px solid var(--border); }
    .work-head { grid-column:auto; }
    .number-item,.method-step,.topic-item { grid-template-columns:1fr; gap:10px; }
    .status-row { grid-template-columns:1fr; gap:4px; }
    .product-columns { columns:1; }
    .sheet-groups { grid-template-columns:1fr 1fr; }
    .footer-map { grid-template-columns:1fr 1fr; }
    .search-panel { top:0; bottom:0; background:#080706; overflow:auto; }
    .search-card { width:100%; min-height:100%; border:0; border-radius:0; padding:calc(24px + env(safe-area-inset-top)) 16px 24px; box-shadow:none; }
}
@media (max-width: 520px) {
    .sheet-groups,.footer-map { grid-template-columns:1fr; }
    .page-head,.hero-intro { padding-top:22px; }
    .slot-app { height:280px; }
}
