:root{
    --mist:#F4FAFC;--white:#FFFFFF;--soft:#E7F3F6;--ink:#0E3A46;--text:#24505A;--muted:#4A7380;--faint:#7A9AA4;
    --sea:#1A7F8F;--bright:#2BB3C4;--deep:#0F5B68;--pale:#D7EEF2;--line:rgba(26,127,143,.16);
    --shadow:0 14px 34px rgba(14,58,70,.08);--radius:16px;--max:1180px;--header-desk:124px;--header-mobile:82px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--mist)}
body{margin:0;background:var(--mist);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.78;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a,button,input{font:inherit}
button{border:0;cursor:pointer}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:3px solid rgba(43,179,196,.38);outline-offset:3px}
.skip-link{position:fixed;left:12px;top:-60px;z-index:3000;padding:10px 14px;background:var(--deep);color:#fff;border-radius:8px}.skip-link:focus{top:10px}
.site-header{position:fixed;inset:0 0 auto 0;z-index:1200}
.header-inner{width:min(var(--max),calc(100% - 32px));margin:0 auto}
.mist-line{height:20px;background:var(--deep);color:#fff;font-size:12px}.mist-inner{height:20px;display:flex;align-items:center;justify-content:space-between}.mist-brand{letter-spacing:.08em;white-space:nowrap}.icon-button{height:20px;padding:0 6px;background:transparent;color:#fff;font-size:12px}
.dock-bar{height:62px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.dock-inner{height:62px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.dock-logo{justify-self:start;min-width:110px;display:flex;align-items:center;height:44px}.brand-logo{width:auto;height:32px;max-width:180px;object-fit:contain;object-position:left center}.brand-wordmark{font-weight:800;color:var(--ink);letter-spacing:.04em}.dock-control{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:0 16px;border:1px solid var(--line);font-weight:700}.drawer-open{background:var(--soft);color:var(--deep)}.dock-app{justify-self:end;background:linear-gradient(135deg,#2BB3C4 0%,#1A7F8F 55%,#0F5B68 100%);color:#fff;border-color:transparent}
.shell-tabs{height:42px;background:var(--pale);border-bottom:1px solid var(--line)}.tab-inner{height:42px;display:flex;align-items:center;gap:4px}.shell-tabs a{min-height:32px;display:inline-flex;align-items:center;padding:0 13px;border-radius:8px;color:var(--deep);font-size:14px;font-weight:700}.shell-tabs a:hover{background:rgba(255,255,255,.7)}.shell-tabs a.is-current{background:var(--sea);color:#fff}
.site-main{padding-top:calc(var(--header-desk) + 28px);padding-bottom:44px}.content-wrap{width:min(var(--max),calc(100% - 32px));margin:0 auto}.page-hero{padding:32px 0 18px}.page-kicker{margin:0 0 6px;color:var(--sea);font-weight:800;letter-spacing:.12em;font-size:13px}.page-hero h1,.home-copy h1{margin:0;color:var(--ink);font-size:clamp(28px,4.2vw,32px);line-height:1.24;letter-spacing:-.02em}.page-lead{max-width:850px;margin:14px 0 0;color:var(--muted);font-size:17px}
.section-block{margin:22px auto;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.section-block h2{margin:0 0 12px;color:var(--ink);font-size:22px;line-height:1.35}.section-block h3{margin:18px 0 8px;color:var(--deep);font-size:18px}.section-block p{margin:0 0 12px}.section-block p:last-child{margin-bottom:0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head p{margin:0;color:var(--muted);max-width:680px}.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--sea);font-weight:800}.text-link::after{content:"→";margin-left:6px}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:10px;font-weight:800;border:1px solid var(--line)}.btn-primary{background:linear-gradient(135deg,#2BB3C4 0%,#1A7F8F 55%,#0F5B68 100%);color:#fff;border-color:transparent}.btn-secondary{background:#fff;color:var(--deep)}
.image-slot{width:100%;min-height:190px;border-radius:14px;background:linear-gradient(150deg,var(--soft),#fff);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}.image-slot.hero-slot{min-height:240px;max-height:300px}.image-slot.app-slot{min-height:320px}.content-image{width:100%;height:220px;object-fit:contain;object-position:center;background:var(--soft)}.hero-image{width:100%;max-height:300px;object-fit:contain;object-position:center}.app-image{width:100%;max-height:420px;object-fit:contain;object-position:center}.slot-fallback{padding:40px 24px;text-align:center;color:var(--deep);font-weight:800;font-size:20px}
.home-hero{width:min(var(--max),calc(100% - 32px));margin:0 auto}.home-copy{padding:26px 0 10px}.home-copy .intro{max-width:820px;color:var(--muted);margin:14px 0 0}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.step-card{padding:18px;border-radius:14px;border:1px solid var(--line);background:#fff;min-height:148px}.step-card:nth-child(odd){border-top:4px solid var(--bright)}.step-card:nth-child(even){border-top:4px solid var(--deep)}.step-card h3{margin:0 0 8px;color:var(--ink);font-size:17px}.step-card p{margin:0 0 10px;color:var(--muted);font-size:14px}.step-card a{color:var(--sea);font-weight:800}
.feature-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:22px;align-items:center}.number-list{display:grid;gap:10px}.number-item{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid var(--line)}.number-item:last-child{border-bottom:0}.number-item b{color:var(--sea);font-size:20px}.number-item strong{display:block;color:var(--ink)}.number-item span{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.pebble-grid,.card-grid,.gallery-grid,.faq-preview,.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.pebble-card,.info-card,.gallery-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.pebble-card .card-body,.gallery-card .card-body,.info-card{padding:18px}.pebble-card h3,.gallery-card h3,.info-card h3{margin:0 0 8px;color:var(--ink)}.pebble-card p,.gallery-card p,.info-card p{margin:0;color:var(--muted)}
.list-cards{display:grid;gap:12px}.list-card{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px;border-radius:14px;background:var(--white);border:1px solid var(--line)}.list-card .index{color:var(--sea);font-size:26px;font-weight:900}.list-card h3{margin:0 0 6px;color:var(--ink)}.list-card p{margin:0;color:var(--muted)}
.article-flow{max-width:840px}.article-flow p{margin:0 0 16px}.quote-note{margin:20px 0;padding:18px 20px;border-left:4px solid var(--sea);background:var(--soft);border-radius:0 12px 12px 0;color:var(--deep)}
.chapter-list{counter-reset:chapter;display:grid;gap:14px}.chapter{position:relative;padding:22px 22px 22px 76px;background:#fff;border:1px solid var(--line);border-radius:14px}.chapter::before{counter-increment:chapter;content:counter(chapter,decimal-leading-zero);position:absolute;left:20px;top:18px;color:var(--sea);font-weight:900;font-size:22px}.chapter h2,.chapter h3{margin-top:0}
.album-list{display:grid;gap:12px}.album-row{display:grid;grid-template-columns:100px 1fr auto;gap:16px;align-items:center;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:12px}.album-row .mark{color:var(--sea);font-weight:900}.album-row strong{color:var(--ink)}.album-row span{color:var(--muted);font-size:14px}.album-row a{min-height:44px;display:inline-flex;align-items:center;color:var(--deep);font-weight:800}
.path-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.path-card{padding:20px;background:var(--soft);border-radius:14px;border:1px solid var(--line)}.path-card h3{margin:0 0 8px;color:var(--deep)}.path-card p{margin:0;color:var(--text)}
.app-layout{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:28px;align-items:center}.app-icon-row{display:flex;align-items:center;gap:14px;margin-bottom:18px}.app-icon{width:64px;height:64px;object-fit:contain;border-radius:14px;background:var(--soft);padding:5px}.small-note{color:var(--faint);font-size:14px}
.faq-list{display:grid;gap:14px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.faq-item h2,.faq-item h3{margin:0 0 8px;color:var(--ink);font-size:18px}.faq-item p{margin:0;color:var(--text)}
.notice{padding:16px 18px;border-radius:12px;background:var(--pale);color:var(--deep);border:1px solid var(--line)}
.site-footer{background:var(--ink);color:#D4E8EC;padding:44px 0 calc(30px + env(safe-area-inset-bottom))}.footer-inner{width:min(var(--max),calc(100% - 32px));margin:0 auto}.footer-brand{display:flex;align-items:center;gap:16px;margin-bottom:28px}.footer-logo{display:flex;align-items:center}.footer-brand-logo{filter:none}.footer-brand strong{display:block;color:#fff;font-size:20px}.footer-brand span{display:block;color:#AFCFD5;font-size:12px;letter-spacing:.14em}.footer-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:24px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.footer-groups section{display:flex;flex-direction:column;gap:8px}.footer-groups h2{margin:0 0 4px;color:#fff;font-size:15px}.footer-groups a{color:#D4E8EC;font-size:14px}.footer-groups a:hover{text-decoration:underline}.footer-note{max-width:820px;color:#BFD9DE;margin:22px 0 6px}.copyright{margin:0;color:#93BBC3;font-size:13px}
.tide-drawer{position:fixed;top:0;right:0;bottom:0;width:min(410px,86vw);z-index:2200;background:var(--mist);box-shadow:-18px 0 50px rgba(14,58,70,.18);transform:translateX(104%);visibility:hidden;pointer-events:none;transition:transform .25s ease,visibility .25s ease;overflow-y:auto}.tide-drawer.is-open{transform:translateX(0);visibility:visible;pointer-events:auto}.drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}.drawer-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:900}.drawer-close,.search-close{min-height:44px;padding:0 14px;border-radius:10px;background:var(--deep);color:#fff}.drawer-body{padding:14px}.wave-card{padding:16px;margin-bottom:14px;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)}.wave-a,.wave-c{background:#fff}.wave-b,.wave-d{background:var(--soft)}.wave-card h2{margin:0 0 8px;color:var(--ink);font-size:16px}.wave-card a{display:block;padding:10px 0;border-bottom:1px solid var(--line)}.wave-card a:last-child{border-bottom:0}.wave-card strong{display:block;color:var(--deep);font-size:15px}.wave-card span{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:2px}
.search-panel{position:fixed;left:0;right:0;top:82px;z-index:2250;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(760px,calc(100% - 32px));margin:12px auto;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.search-head{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--ink);margin-bottom:14px}.search-look{display:block;padding:14px;border-radius:12px;background:var(--soft)}.search-look span{display:block;color:var(--deep);font-weight:700;margin-bottom:8px}.search-look input{width:100%;height:46px;border:1px solid var(--line);border-radius:10px;padding:0 12px;color:var(--ink);background:#fff}.search-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.search-presets a{min-height:44px;display:inline-flex;align-items:center;padding:0 13px;border:1px solid var(--line);border-radius:10px;color:var(--deep);background:#fff;font-weight:700}.search-card>p{margin:12px 0 0;color:var(--faint);font-size:13px}
.site-overlay{position:fixed;inset:0;z-index:2100;background:rgba(14,58,70,.34);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease}.site-overlay.is-active{opacity:1;visibility:visible;pointer-events:auto}.layer-open{overflow:hidden}
.mobile-nav{display:none}
@media (max-width:900px){.step-grid{grid-template-columns:repeat(2,1fr)}.feature-split,.app-layout{grid-template-columns:1fr}.path-list{grid-template-columns:1fr}.footer-groups{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){
    body{padding-bottom:calc(50px + env(safe-area-inset-bottom))}.header-inner,.content-wrap,.home-hero,.footer-inner{width:calc(100% - 32px)}
    .shell-tabs{display:none}.site-main{padding-top:calc(var(--header-mobile) + 22px)}
    .dock-inner{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.dock-logo{min-width:0;max-width:100%}.brand-logo{height:28px;max-width:122px}.dock-control{padding:0 10px;white-space:nowrap;font-size:13px}.mist-brand{max-width:75%;overflow:hidden;text-overflow:ellipsis}
    .section-block{padding:20px;margin:16px auto}.section-head{align-items:flex-start;flex-direction:column}.step-grid,.pebble-grid,.card-grid,.gallery-grid,.faq-preview,.info-grid{grid-template-columns:1fr}.list-card{grid-template-columns:76px 1fr}.album-row{grid-template-columns:72px 1fr}.album-row a{grid-column:2}.chapter{padding-left:62px}.chapter::before{left:16px}.image-slot.hero-slot{min-height:200px}.content-image{height:200px}
    .search-panel{top:82px}.search-card{width:calc(100% - 20px);margin:10px auto;background:var(--soft)}
    .mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:1300;height:calc(50px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 28px rgba(14,58,70,.08)}.mobile-nav a{min-height:50px;display:flex;align-items:center;justify-content:center;color:var(--deep);font-size:13px;font-weight:800}.mobile-nav a.is-current{background:var(--sea);color:#fff}.site-footer{padding-bottom:34px}.footer-groups{gap:18px}.tide-drawer{z-index:2300}.site-overlay{z-index:2200}.mobile-nav{z-index:1300}
}
@media (max-width:420px){.dock-inner{gap:6px}.dock-control{padding:0 8px;font-size:12px}.brand-logo{max-width:104px}.step-grid{grid-template-columns:1fr}.footer-groups{grid-template-columns:1fr 1fr}.mist-line{font-size:11px}}
