/* 앱 설치 단추 · 안내 시트 · 앱 모드 하단 탭 (assets/js/install.js) — 둥근 버튼 토큰 --rv-btn-* 사용 */
html.rv-sheet-on{overflow:hidden}
html.rv-sheet-on .dock{visibility:hidden}
/* 서랍 안 단추 */
.rv-inst-open{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;margin:14px 0 0;min-height:var(--rv-btn-h,44px);padding:0 18px;border:1px solid var(--rv-btn-navy,#1B2438);border-radius:var(--rv-btn-r-pill,999px);background:var(--rv-btn-bg,#fff);color:var(--rv-btn-navy,#1B2438);font:500 14px/1.3 'Noto Sans KR',sans-serif;letter-spacing:.02em;word-break:keep-all;cursor:pointer;transition:background var(--rv-btn-ease,.14s ease),color var(--rv-btn-ease,.14s ease),transform var(--rv-btn-ease,.14s ease)}
.rv-inst-open[hidden]{display:none}
.rv-inst-open:hover{background:var(--rv-btn-navy,#1B2438);color:var(--rv-btn-on,#fff)}
.rv-inst-open:active{transform:var(--rv-btn-press,scale(.97))}
.rv-inst-open:focus-visible{outline:0;box-shadow:var(--rv-btn-focus,0 0 0 2px #fff,0 0 0 4px #1B2438)}
.rv-inst-open img{width:22px;height:22px;border-radius:6px}
/* 하단 바 위 얇은 줄(휴대폰) */
.rv-ibar{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 6px 6px 14px;box-sizing:border-box;background:#F3F4F7;border-bottom:1px solid #E6E6E6;color:#111;font-size:13px;font-family:'Noto Sans KR',sans-serif;word-break:keep-all}
.rv-ibar img{width:30px;height:30px;border-radius:8px;flex:none}
.rv-bt{flex:1;min-width:0;font-weight:500;line-height:1.3}
.rv-bx{flex:none;width:36px;height:36px;border:0;background:none;color:#6E6E6E;font-size:22px;line-height:1;cursor:pointer}
html.rv-inst-on .totop{bottom:calc(var(--rv-dock-h,56px) + 48px + 16px)!important}
html.rv-inst-on .mg{padding-bottom:calc(124px + env(safe-area-inset-bottom,0px))!important}
html.rv-inst-on .fx-cbar{bottom:calc(var(--rv-dock-h,56px) + 48px + 12px)!important}
.dock .rv-ibar{letter-spacing:0}
/* 공용 둥근 단추 */
.rv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--rv-btn-h,44px);padding:0 20px;box-sizing:border-box;border-radius:var(--rv-btn-r-pill,999px);font:500 14px/1.2 'Noto Sans KR',sans-serif;letter-spacing:.02em;word-break:keep-all;cursor:pointer;border:1px solid var(--rv-btn-navy,#1B2438);transition:background var(--rv-btn-ease,.14s ease),transform var(--rv-btn-ease,.14s ease)}
.rv-btn:active{transform:var(--rv-btn-press,scale(.97))}
.rv-btn:focus-visible{outline:0;box-shadow:var(--rv-btn-focus,0 0 0 2px #fff,0 0 0 4px #1B2438)}
.rv-navy{background:var(--rv-btn-navy,#1B2438);color:var(--rv-btn-on,#fff)}.rv-navy:hover{background:var(--rv-btn-navy-hover,#2A3652)}
.rv-line{background:var(--rv-btn-bg,#fff);color:var(--rv-btn-navy,#1B2438);border-color:var(--rv-btn-line,#D2D2D2)}.rv-line:hover{border-color:var(--rv-btn-line-hover,#1B2438)}
.rv-sm{min-height:var(--rv-btn-h-sm,36px);padding:0 14px;font-size:13px;flex:none}
/* 안내 시트 */
.rv-sheet{position:fixed;inset:0;z-index:5000;display:flex;align-items:flex-end;justify-content:center;font-family:'Noto Sans KR',sans-serif;word-break:keep-all}
.rv-bd{position:fixed;inset:0;background:rgba(17,17,17,.55)}
.rv-pn{position:relative;width:100%;max-width:560px;max-height:92vh;overflow:auto;box-sizing:border-box;background:#fff;color:#111;padding:26px 22px calc(26px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0}
.rv-x{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;background:none;color:#111;cursor:pointer;border-radius:50%}
.rv-x:focus-visible{outline:0;box-shadow:var(--rv-btn-focus,0 0 0 2px #fff,0 0 0 4px #1B2438)}
.rv-k{margin:0 0 6px;font-size:12px;letter-spacing:.24em;color:#6E6E6E}
.rv-h{margin:0 40px 8px 0;font:500 22px/1.35 'Noto Serif KR',serif;letter-spacing:-.01em}
.rv-s{margin:0 0 20px;font-size:14px;line-height:1.7;color:#444}
.rv-steps{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.rv-step{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px;row-gap:8px;align-items:start}
.rv-sn{grid-row:1/3;width:28px;height:28px;border-radius:50%;background:#1B2438;color:#fff;text-align:center;line-height:28px;font-size:14px}
.rv-mock{position:relative;grid-column:2;min-width:0}
.rv-step>p{grid-column:2;margin:0;font-size:14px;line-height:1.6}
.rv-step>p b{font-weight:600;color:#1B2438}
.rv-inote{margin:18px 0 0;font-size:12.5px;line-height:1.7;color:#6E6E6E}
.rv-acts{display:grid;gap:10px;margin-top:20px}
/* 목업 */
.rv-mock i,.rv-mock em,.rv-mock b{font-style:normal}
.rv-safari{background:#F1F2F4;border:1px solid #D9DBE1;border-radius:14px;padding:10px 12px 6px}
.rv-url{background:#fff;border-radius:10px;text-align:center;font-size:12px;padding:6px;color:#444;margin-bottom:8px}
.rv-tb{display:flex;justify-content:space-between;align-items:center;color:#4a6fa5}
.rv-tb i{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:40px;font-size:24px;color:#8a9bb8}
.rv-tbr{justify-content:flex-end}
.rv-tb i.hot{color:#1B2438}
.ring{position:absolute;inset:2px;border:2px solid #1B2438;border-radius:50%;animation:rvpulse 1.6s ease-in-out infinite}
@keyframes rvpulse{0%,100%{transform:scale(.9);opacity:1}50%{transform:scale(1.12);opacity:.45}}
.rv-arr{position:absolute;left:calc(50% - 22px + 0px);bottom:-30px;color:#1B2438;display:none}
.rv-share{background:#F1F2F4;border:1px solid #D9DBE1;border-radius:14px;overflow:hidden}
.rv-row{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;font-size:13.5px;border-top:1px solid #E1E3E8;background:#fff;color:#222}
.rv-row:first-child{border-top:0}
.rv-row.hot{background:#1B2438;color:#fff;font-weight:500}
.rv-add{background:#F1F2F4;border:1px solid #D9DBE1;border-radius:14px;overflow:hidden}
.rv-addh{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;color:#4a6fa5}
.rv-addh em{color:#111;font-weight:500}
.rv-addh b.hot,.rv-addf b.hot{background:#1B2438;color:#fff;font-weight:500;padding:4px 14px;border-radius:99px;box-shadow:0 0 0 3px rgba(27,36,56,.18)}
.rv-addb{display:flex;align-items:center;gap:12px;background:#fff;margin:0 12px 12px;padding:12px;border-radius:12px}
.rv-addb img{border-radius:12px;flex:none}.rv-addb strong{display:block;font-size:15px;font-weight:500}.rv-addb small{color:#777;font-size:12px}
.rv-addf{display:flex;justify-content:flex-end;padding:0 14px 12px}
.rv-qr{display:flex;align-items:center;justify-content:center;width:204px;height:204px;margin:6px auto 0;border:1px solid #D9DBE1;font-size:12px;color:#777;text-align:center;padding:12px;box-sizing:border-box}
.rv-qr svg{display:block;width:180px;height:180px}
.rv-qr-u{margin:10px 0 0;text-align:center;font-size:13px;color:#444;letter-spacing:.04em}
@media (min-width:700px){.rv-sheet{align-items:center}.rv-pn{border-radius:16px;max-width:520px}}
/* 앱 모드(독립 창): 하단 바는 휴대폰 네 칸 그대로, PC 폭에서는 숨김 */
html.rv-app .dock{padding-bottom:env(safe-area-inset-bottom,0px)}
@media (max-width:720px){html.rv-app .mg{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}}
@media (min-width:961px){html.rv-app .dock{display:none}}
@media (prefers-reduced-motion:reduce){.ring{animation:none}}
/* 삼성 인터넷 안내 그림(11-04): 아래 막대의 메뉴(줄 세 개) */
.rv-burger{display:inline-flex;flex-direction:column;gap:4px;width:18px}
.rv-burger b{display:block;height:1.6px;background:currentColor}
/* 11-06 브라우저별 안내(아이폰 iOS 26 · 아이패드 · 엣지 · 크롬 · 맥 Safari · 파이어폭스) */
.rv-top .rv-url{margin:8px 0 0}
.rv-pill{display:inline-block;max-width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;padding:4px 14px;border-radius:99px;background:#fff;font-size:12px;color:#444;letter-spacing:0;line-height:1.4}
.rv-tb i:has(.rv-pill){flex:1;width:auto;min-width:0}
.rv-url.hot{background:#1B2438;color:#fff;font-weight:500}
.rv-win{border:1px solid #D9DBE1;border-radius:10px;background:#F1F2F4;overflow:hidden}
.rv-wdots{display:flex;gap:6px;padding:8px 10px 0}.rv-wdots span{width:8px;height:8px;border-radius:50%;border:1px solid #B9BDC7}
.rv-wrow{display:flex;align-items:center;gap:8px;padding:8px 8px 10px 10px}
.rv-waddr{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px;background:#fff;border-radius:99px;padding:3px 4px 3px 12px;font-size:12px;color:#444;white-space:nowrap;overflow:hidden}
.rv-wi{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:34px;height:30px;color:#8a9bb8}
.rv-wi.hot{color:#1B2438}
.rv-macbar{display:flex;align-items:center;gap:14px;padding:8px 12px;border:1px solid #D9DBE1;border-radius:10px;background:#F1F2F4;font-size:12.5px;color:#444;white-space:nowrap;overflow:hidden}
.rv-macbar b{font-weight:600;color:#111}
.rv-macbar .hot{background:#1B2438;color:#fff;padding:2px 8px;border-radius:5px;font-weight:500}
.rv-apple{width:10px;height:12px;border-radius:50% 50% 45% 45%;background:#444;flex:none}
.rv-honest{border-left:2px solid #1B2438;padding:4px 0 4px 14px}.rv-honest p{margin:0;font-size:14px;line-height:1.7;color:#333}
.rv-more{margin:18px 0 0;font-size:13px}.rv-more a{color:#1B2438;border-bottom:1px solid #C9CDD6;padding-bottom:1px}
.rv-qrw{margin:22px 0 0;padding:18px 0 0;border-top:1px solid #E6E6E6;text-align:center}
.rv-qrk{margin:0 0 4px;font-size:13px;font-weight:500;color:#1B2438}
/* 친구에게 보내기 알림 */
.rv-toast{position:fixed;left:50%;bottom:calc(var(--rv-dock-h,56px) + 20px);z-index:5100;transform:translate(-50%,16px);width:min(420px,calc(100vw - 32px));box-sizing:border-box;padding:14px 18px;background:#1B2438;color:#fff;font:400 13.5px/1.6 'Noto Sans KR',sans-serif;word-break:keep-all;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.rv-toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.rv-toast b{display:block;font-weight:500;font-size:14.5px}
.rv-toast span{display:block;color:#D5D9E3}
.rv-toast .rv-tu{margin-top:4px;color:#fff;user-select:all;-webkit-user-select:all;overflow-wrap:anywhere}
.rv-tl{margin:8px 0 0;padding:0;border:0;border-bottom:1px solid #8C95AA;background:none;color:#fff;font:inherit;cursor:pointer;min-height:32px}
@media (prefers-reduced-motion:reduce){.rv-toast{transition:none}}
/* /app/ 지면 */
.ap{padding-top:8px;padding-bottom:40px;word-break:keep-all}
.ap-mast{display:grid;gap:28px;padding:28px 0 36px;border-bottom:1px solid #111}
.ap-k{margin:0;font:italic 400 16px/1 'Bodoni Moda',serif;color:#6B6B6B}
.ap-h{margin:12px 0 0;font:400 clamp(30px,5vw,46px)/1.25 'Noto Serif KR',serif;letter-spacing:-.01em}
.ap-dek{margin:16px 0 0;max-width:34em;font-size:15.5px;line-height:1.85;color:#333}
.ap-state{margin:20px 0 0;font-size:14px;line-height:1.7;color:#1B2438}.ap-state b{font-weight:600}
.ap-acts{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0}
.ap-acts .rv-btn{min-height:48px;padding:0 26px;font-size:15px}
.ap-acts .rv-btn[hidden]{display:none}
.ap-qr{display:none}
@media (max-width:600px){.ap-acts .rv-btn{flex:1 1 100%}}
.ap-guide{padding:40px 0 0;scroll-margin-top:80px;min-width:0}
.ap-sh{display:flex;align-items:baseline;gap:14px;margin:0 0 18px}
.ap-sh .bod{font-size:13px;letter-spacing:.2em;color:#6B6B6B}
.ap-sh h2{margin:0;font:400 24px/1.3 'Noto Serif KR',serif}
.rv-tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid #D9D9D9;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rv-tabs::-webkit-scrollbar{display:none}
.rv-tab{flex:none;min-height:48px;padding:0 18px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;font:400 14.5px/1.2 'Noto Sans KR',sans-serif;color:#6B6B6B;cursor:pointer;white-space:nowrap}
.rv-tab[aria-selected="true"]{color:#1B2438;border-bottom-color:#1B2438;font-weight:500}
.rv-tab:focus-visible,.rv-chip:focus-visible{outline:2px solid #1B2438;outline-offset:-2px}
.ap-panel{padding:24px 0 0;max-width:640px}
.rv-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.rv-chip{min-height:44px;padding:0 16px;border:1px solid #D2D2D2;border-radius:99px;background:#fff;font:400 13.5px/1 'Noto Sans KR',sans-serif;color:#333;cursor:pointer}
.rv-chip[aria-pressed="true"]{border-color:#1B2438;background:#1B2438;color:#fff}
.rv-ph{margin:0 0 6px;font:500 20px/1.4 'Noto Serif KR',serif}
.ap-why{display:grid;gap:0;margin:48px 0 0;padding:0;list-style:none;border-top:1px solid #111}
.ap-why li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 12px;padding:20px 0;border-bottom:1px solid #E6E6E6}
.ap-why .bod{grid-row:1/3;font-size:22px;line-height:1.2;color:#1B2438}
.ap-why b{font:500 16px/1.5 'Noto Serif KR',serif}
.ap-why span:not(.bod){grid-column:2;font-size:14px;line-height:1.75;color:#444}
.ap-faq{margin:40px 0 0;font-size:14px;line-height:1.8;color:#444}
.ap-faq h3{margin:22px 0 4px;font:500 16px/1.5 'Noto Serif KR',serif;color:#111}
.ap-faq p{margin:0}
@media (min-width:961px){
.ap-qr .rv-qr{margin:0 auto}
.ap-qr .rv-qrk{margin-bottom:12px}
}
@container mg (min-width:961px){
.ap-mast{grid-template-columns:minmax(0,1fr) 280px;align-items:end}
.ap-qr{display:block;text-align:center;border:1px solid #E2E2E2;padding:22px 20px 18px}
.ap-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:0 64px;align-items:start}
}
/* 즐겨찾기 · 홈 화면에 두기 (11-08 · install.js openFav · 액션 카드 docs/액션카드/20261108_즐겨찾기_홈화면.md) */
[data-rv-fav][hidden],[data-rv-fav-wrap][hidden]{display:none!important}
.tb-fav{margin:0 0 0 16px;padding:0 0 0 16px;border:0;border-left:1px solid #D9D9D9;background:none;font:inherit;letter-spacing:inherit;color:#1B2438;cursor:pointer;word-break:keep-all;line-height:1}
.tb-fav:hover{text-decoration:underline;text-underline-offset:3px}
.tb-fav:focus-visible{outline:1px solid #1B2438;outline-offset:3px}
.rv-fav-dr{display:block;width:100%;margin:10px 0 0;padding:10px 0;border:0;background:none;font:400 13px/1.4 'Noto Sans KR',sans-serif;color:#555;text-align:center;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#C8C8C8;cursor:pointer;word-break:keep-all}
@media (min-width:961px){.rv-fav-dr{display:none!important}}
.rv-fav{position:fixed;z-index:5200;width:316px;box-sizing:border-box;padding:18px 20px 16px;background:#fff;border:1px solid #111;box-shadow:0 10px 30px rgba(17,17,17,.10);color:#111;font-family:'Noto Sans KR',sans-serif;word-break:keep-all;outline:0}
.rv-fx{position:absolute;top:8px;right:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:0;background:none;color:#6E6E6E;cursor:pointer}
.rv-fx:focus-visible{outline:1px solid #1B2438}
.rv-fk{margin:0;font:italic 400 13px/1 'Bodoni Moda',serif;color:#6B6B6B;letter-spacing:.04em}
.rv-fh{margin:8px 0 0;font:500 17px/1.4 'Noto Serif KR',serif}
.rv-keys{display:flex;align-items:center;gap:10px;margin:16px 0 0}
.rv-keys kbd{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:46px;padding:0 14px;box-sizing:border-box;border:1px solid #1B2438;border-bottom-width:3px;border-radius:6px;background:#fff;font:500 21px/1 'Noto Sans KR',sans-serif;color:#1B2438;letter-spacing:.02em}
.rv-keys span{font:400 20px/1 'Noto Sans KR',sans-serif;color:#6B6B6B}
.rv-fs{margin:14px 0 0;font-size:13.5px;line-height:1.7;color:#333}
.rv-fs b{font-weight:500;color:#111}
.rv-fs2{margin-top:4px;color:#6B6B6B;font-size:12.5px}
.rv-fm{display:block;margin:12px 0 0;padding-top:12px;border-top:1px solid #E6E6E6;font-size:12.5px;color:#1B2438;text-decoration:underline;text-underline-offset:3px}
.rv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rv-fstar{display:flex;width:30px;height:30px;align-items:center;justify-content:center;flex:none;color:#1B2438}
.rv-fbar .rv-btn{background:#fff}
/* /app/ 02 브라우저 시작 페이지로 두기 */
.ap-col{min-width:0}
.ap-start{padding:56px 0 0;scroll-margin-top:96px;max-width:640px}
.ap-sdek{margin:0;font-size:15px;line-height:1.85;color:#333}
.ap-addr{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 0;padding:14px 16px;border:1px solid #E2E2E2;background:#FAFAFA}
.ap-url{flex:1 1 260px;min-width:0;font:400 14px/1.5 'Noto Sans KR',sans-serif;color:#1B2438;overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}
.ap-ways{display:grid;gap:0;margin:24px 0 0;border-top:1px solid #111}
.ap-way{padding:20px 0;border-bottom:1px solid #E6E6E6}
.ap-way h3{margin:0 0 8px;font:500 17px/1.4 'Noto Serif KR',serif}
.ap-way ol{margin:0;padding:0 0 0 20px;font-size:14.5px;line-height:1.85;color:#333}
.ap-way b{font-weight:500;color:#111}
.ap-fav{margin:20px 0 0;font-size:14px;line-height:1.85;color:#444}
.ap-fav kbd{display:inline-block;padding:1px 7px;border:1px solid #BDBDBD;border-bottom-width:2px;border-radius:4px;font:500 12.5px/1.4 'Noto Sans KR',sans-serif;color:#1B2438;background:#fff}
@container mg (min-width:961px){.ap-ways{grid-template-columns:1fr 1fr;gap:0 32px}}
