/* ruiyijz.com vloglib skin, prefix ry- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:15px/1.8 "PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;color:#12312f;background:#eef7f6}
a{color:#0a5f5c;text-decoration:none}
a:hover{text-decoration:underline}
ul,ol{list-style:none}
img,svg{max-width:100%;display:block}
.ry-w{width:1040px;max-width:100%;margin:0 auto;padding:0 18px}
.ry-hd{background:#ffffff;border-bottom:1px solid #cfe4e1;position:sticky;top:0;z-index:40}
.ry-hd-in{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:16px}
.ry-brand{display:flex;align-items:center;gap:10px;color:#12312f;font-weight:700;font-size:18px}
.ry-brand:hover{text-decoration:none}
.ry-brand small{display:block;font-size:11px;font-weight:400;color:#587472;letter-spacing:1px}
.ry-brand img{width:38px;height:38px}
.ry-nav ul{display:flex;gap:4px}
.ry-nav a{display:block;padding:7px 14px;border-radius:6px;color:#12312f;font-size:14.5px}
.ry-nav a:hover,.ry-nav a.on{background:#d6efec;color:#0a5f5c;text-decoration:none}
.ry-burger{display:none;width:42px;height:42px;border:1px solid #cfe4e1;background:#ffffff;border-radius:10px;cursor:pointer;padding:11px 10px}
.ry-burger span{display:block;height:2px;background:#12312f;margin:5px 0;border-radius:2px;transition:.2s}
.ry-burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ry-burger[aria-expanded=true] span:nth-child(2){opacity:0}
.ry-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.ry-ads{padding:6px 0 0}
.ry-ads #applist{background:#ffffff;border:1px solid #cfe4e1;border-radius:8px;padding:8px 10px;margin-top:10px}
.ry-ads .applist-title{font-size:13px;color:#587472}
.ry-btn{display:inline-block;padding:11px 24px;border-radius:6px;background:#0f8a85;color:#fff;font-weight:600;border:0;cursor:pointer;font-size:15px}
.ry-btn:hover{background:#0a5f5c;text-decoration:none;color:#fff}
.ry-btn.ghost{background:transparent;color:#0a5f5c;border:1px solid #0f8a85}
.ry-btn.ghost:hover{background:#d6efec;color:#0a5f5c}
.ry-sec{padding:44px 0}
.ry-sec h2{font-size:26px;line-height:1.4;margin-bottom:8px}
.ry-sec .sub{color:#587472;margin-bottom:22px;max-width:760px}
.ry-card{background:#ffffff;border:1px solid #cfe4e1;border-radius:8px;padding:20px}
.ry-chips{display:flex;flex-wrap:wrap;gap:8px}
.ry-chips span,.ry-chips a{display:inline-block;padding:4px 14px;border-radius:6px;background:#d6efec;color:#0a5f5c;font-size:13.5px;border:1px solid transparent}
.ry-chips a:hover{border-color:#0f8a85;text-decoration:none}
.ry-ft{background:#0d3b39;color:#bcdcd8;padding:34px 0 20px;margin-top:30px;font-size:13.5px}
.ry-ft a{color:#fff;opacity:.9;margin-right:16px}
.ry-ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}
.ry-ft h4{color:#fff;font-size:15px;margin-bottom:8px}
.ry-ft p{line-height:2}
.ry-ft .copy{border-top:1px solid rgba(255,255,255,.18);margin-top:20px;padding-top:12px;font-size:12.5px;opacity:.85}
.ry-doc{background:#ffffff;border:1px solid #cfe4e1;border-radius:8px;padding:30px 36px;margin:26px 0}
.ry-doc h1{font-size:28px;line-height:1.45;margin-bottom:6px}
.ry-doc .meta{color:#587472;font-size:13px;border-bottom:1px solid #cfe4e1;padding-bottom:12px;margin-bottom:20px}
.ry-doc h2{font-size:20px;margin:26px 0 8px;padding-left:12px;border-left:4px solid #0f8a85}
.ry-doc p{margin-bottom:12px}
.ry-doc ul.bul{margin:0 0 12px 1.4em}
.ry-doc ul.bul li{list-style:disc;margin-bottom:4px}
.ry-doc table{width:100%;border-collapse:collapse;margin:8px 0 16px;font-size:14px}
.ry-doc th,.ry-doc td{border:1px solid #cfe4e1;padding:8px 12px;text-align:left;vertical-align:top}
.ry-doc th{background:#d6efec;color:#0a5f5c}
.ry-doc .rel{margin-top:24px;padding-top:12px;border-top:1px dashed #cfe4e1;font-size:14px}
.ry-crumb{font-size:13px;color:#587472;padding-top:18px}
.ry-err{text-align:center;padding:90px 0}
.ry-err h1{font-size:76px;color:#0f8a85}
.ry-err p{margin:10px 0 22px;color:#587472}
.ry-top{position:fixed;right:16px;bottom:30px;width:42px;height:42px;line-height:40px;text-align:center;border-radius:50%;background:#0f8a85;color:#fff;cursor:pointer;display:none;z-index:50}
@media(max-width:860px){
.ry-burger{display:block}
.ry-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#ffffff;border-bottom:1px solid #cfe4e1;box-shadow:0 12px 24px rgba(0,0,0,.08)}
.ry-nav.open{display:block}
.ry-nav ul{flex-direction:column;padding:10px 18px 16px}
.ry-nav a{padding:11px 14px}
.ry-ft-grid{grid-template-columns:1fr}
.ry-doc{padding:20px 18px}
.ry-doc h1{font-size:23px}
.ry-sec{padding:30px 0}
.ry-sec h2{font-size:22px}
}

/* ads (cdn.html) */
#ads{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;background:transparent;margin:10px 0}
#ads>div{display:flex;flex-direction:column;align-items:center;width:70px;box-sizing:border-box}
#ads img{width:65px;height:65px;object-fit:cover;border-radius:18px;box-shadow:0 6px 18px rgba(24,24,24,.12);transition:transform 180ms ease,box-shadow 180ms ease;display:block;border:none;background:linear-gradient(135deg,#fff,#fff)}
#ads a{display:inline-block;text-decoration:none;border-radius:15px}
#ads img:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 10px 24px rgba(24,24,24,.18)}
#ads figcaption,#ads .caption{height:15px;font-size:11px;color:#666;text-align:center;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.applist-title{text-align:center}

.ry-hd{border-bottom:3px solid #0f8a85}
.ry-hd-in{min-height:60px}
.ry-brand img{border-radius:8px}
.ry-nav a{border-radius:0;border-bottom:3px solid transparent;padding:19px 14px 16px}
.ry-nav a:hover,.ry-nav a.on{background:transparent;border-bottom-color:#0f8a85;color:#0a5f5c}
.ry-sec h2{font-size:24px;border-bottom:2px solid #cfe4e1;padding-bottom:8px}
.ry-sec h2:after{content:"";display:block;width:64px;height:2px;background:#0f8a85;margin-top:8px;margin-bottom:-10px}
.ry-hero{background:linear-gradient(180deg,#d6efec 0,#eef7f6 100%);padding:52px 0 30px;text-align:center}
.ry-hero h1{font-size:34px;line-height:1.4;max-width:820px;margin:0 auto 12px}
.ry-hero .lede{max-width:720px;margin:0 auto 22px;color:#3d5a58}
.ry-find{display:flex;max-width:640px;margin:0 auto 14px;background:#fff;border:2px solid #0f8a85;border-radius:8px;overflow:hidden}
.ry-find span{flex:1;text-align:left;padding:12px 16px;color:#7a9694}
.ry-find b{background:#0f8a85;color:#fff;padding:12px 26px;font-weight:600}
.ry-hot{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.ry-hot a{background:#fff;border:1px solid #cfe4e1;border-radius:6px;padding:2px 12px;font-size:13px;color:#0a5f5c}
.ry-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:860px;margin:0 auto;text-align:left}
.ry-row3 figure{margin:0;background:#fff;border:1px solid #cfe4e1;border-radius:8px;overflow:hidden;box-shadow:0 8px 20px rgba(15,138,133,.1)}
.ry-row3 img{width:100%;height:auto}
.ry-row3 figcaption{font-size:13px;padding:7px 12px;color:#3d5a58}
.ry-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #cfe4e1;border-radius:8px;background:#fff;overflow:hidden;counter-reset:f}
.ry-flow li{padding:22px 24px;border-right:1px solid #cfe4e1;position:relative}
.ry-flow li:last-child{border-right:0}
.ry-flow li:before{counter-increment:f;content:"0" counter(f);font-size:30px;font-weight:700;color:#cfe4e1;display:block;line-height:1}
.ry-flow h3{font-size:17px;margin:6px 0 4px;color:#0a5f5c}
.ry-flow p{font-size:14px;color:#3d5a58}
.ry-split{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:start}
.ry-split p{margin-bottom:12px}
.ry-tagtable{width:100%;border-collapse:collapse;background:#fff;font-size:14px}
.ry-tagtable th,.ry-tagtable td{border:1px solid #cfe4e1;padding:9px 12px;text-align:left;vertical-align:top}
.ry-tagtable th{background:#d6efec;color:#0a5f5c}
.ry-matrix{width:100%;border-collapse:collapse;background:#fff;font-size:14px;margin:6px 0 16px}
.ry-matrix th,.ry-matrix td{border:1px solid #cfe4e1;padding:10px 12px;text-align:center}
.ry-matrix th:first-child,.ry-matrix td:first-child{text-align:left}
.ry-matrix th{background:#0f8a85;color:#fff}
.ry-matrix td.y{color:#0a5f5c;font-weight:700}
.ry-matrix td.n{color:#9ab0ae}
.ry-acc details{background:#fff;border:1px solid #cfe4e1;border-left:4px solid #0f8a85;border-radius:6px;padding:12px 18px;margin-bottom:10px}
.ry-acc summary{cursor:pointer;font-weight:600;color:#0a5f5c}
.ry-acc details p{margin-top:8px;font-size:14.5px;color:#2f4a48}
.ry-acc code{background:#d6efec;padding:1px 8px;border-radius:4px;font-size:13px}
.ry-cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ry-cards3 .ry-card h3{font-size:17px;margin:8px 0 4px;color:#0a5f5c}
.ry-cards3 .ry-card p{font-size:14px;color:#3d5a58}
.ry-qa li{background:#fff;border:1px solid #cfe4e1;border-radius:8px;padding:14px 18px;margin-bottom:10px}
.ry-qa b{display:block;color:#0a5f5c;margin-bottom:2px}
.ry-qa p{font-size:14.5px;color:#2f4a48;margin:0}
.ry-end{background:#0f8a85;color:#fff;border-radius:8px;padding:26px 30px;text-align:center}
.ry-end h2{color:#fff;border:0;padding:0;margin-bottom:6px}
.ry-end h2:after{display:none}
.ry-end p{margin-bottom:14px;opacity:.92}
.ry-end .ry-btn{background:#fff;color:#0a5f5c}
.ry-prose p{margin-bottom:12px}
@media(max-width:860px){.ry-hero h1{font-size:26px}.ry-row3,.ry-flow,.ry-cards3,.ry-split{grid-template-columns:1fr}.ry-flow li{border-right:0;border-bottom:1px solid #cfe4e1}.ry-nav a{padding:11px 14px;border-bottom:0;border-left:3px solid transparent}.ry-nav a:hover,.ry-nav a.on{border-left-color:#0f8a85}}
