.rvt { --bg:#f8fafc; --text:#0f172a; --muted:#64748b; --muted2:#475569; --card:#fff; --border:#e2e8f0; --sky50:#eef6ff; --sky500:#0ea5e9; --sky600:#0369a1; --sky700:#075985; }
.rvt *{ box-sizing:border-box; }
.rvt .rvt-container{ padding:1rem; background:linear-gradient(to bottom, #f8fafc, #f1f5f9); color:var(--text); border-radius:12px; }
.rvt .rvt-header{ align-items:center; justify-content:space-between; margin-bottom:1rem; display:flex; }
.rvt .rvt-title{ margin:0; font-size:1.25rem; font-weight:700; letter-spacing:-.01em; }
.rvt .rvt-muted{ color:var(--muted); font-size:.85rem; }
.rvt .rvt-card{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:1rem; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.rvt .rvt-h{ margin:0; font-size:1.1rem; font-weight:700; }
.rvt .rvt-h-sm{ margin:0; font-size:1rem; font-weight:700; }
.rvt .rvt-p{ margin:.2rem 0 0; font-size:.9rem; color:var(--muted2); }
.rvt .rvt-ul{ margin:.4rem 0 0 1rem; color:var(--muted2); font-size:.9rem; }
.rvt .rvt-row{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.rvt .rvt-right{ margin-left:auto; }
.rvt .rvt-btn{ display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .8rem; border-radius:12px; border:1px solid var(--border); background:#fff; color:var(--text); font-size:.9rem; cursor:pointer; transition:.15s ease; text-decoration:none; }
.rvt .rvt-btn:hover{ background:#f8fafc; }
.rvt .rvt-primary{ background:var(--sky600); color:#fff; border-color:transparent; box-shadow:0 1px 2px rgba(2,132,199,.35); }
.rvt .rvt-primary:hover{ background:var(--sky700); }
.rvt .rvt-pill{ display:inline-flex; align-items:center; border-radius:999px; background:#f1f5f9; padding:.3rem .6rem; font-size:.8rem; }
.rvt .rvt-input{ border:1px solid var(--border); border-radius:10px; padding:.4rem .6rem; font-size:.85rem; min-width:12rem; }
.rvt .rvt-tools{ margin-top:.5rem; }
.rvt .rvt-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
@media (min-width:640px){ .rvt .rvt-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:768px){ .rvt .rvt-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.rvt .rvt-val{ border-radius:12px; border:1px solid var(--border); padding:.6rem .7rem; text-align:left; background:#fff; cursor:pointer; transition:.12s ease; }
.rvt .rvt-val:hover{ background:#f8fafc; }
.rvt .rvt-val.selected{ border-color:var(--sky500); background:#eef6ff; color:#0c4a6e; }
.rvt .rvt-val-title{ font-weight:600; font-size:.95rem; color:#000; }
.rvt .rvt-val-desc{ font-size:.78rem; color:var(--muted2); margin-top:.25rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rvt .rvt-pair{ display:grid; grid-template-columns:1fr; gap:.75rem; margin-top:.75rem; }
@media (min-width:640px){ .rvt .rvt-pair{ grid-template-columns:1fr 1fr; } }
.rvt .rvt-pick{ background:#fff; border:1px solid var(--border); border-radius:16px; padding:1.1rem; text-align:left; box-shadow:0 1px 2px rgba(0,0,0,.04); cursor:pointer; transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease; }
.rvt .rvt-pick:hover{ background:#f8fafc; box-shadow:0 4px 12px rgba(0,0,0,.06); }
.rvt .rvt-pick:active, .rvt .rvt-pick:focus-visible{ background:#eef6ff; border-color:var(--sky500); box-shadow:0 2px 8px rgba(2,132,199,.12); }
.rvt .rvt-pick-title{ margin:0; font-size:1.05rem; font-weight:700; color:#000; }
.rvt .rvt-pick-desc{ margin:.5rem 0 0; font-size:.9rem; color:var(--muted2); }
.rvt .rvt-progress{ margin-top:.6rem; width:100%; height:8px; background:#e2e8f0; border-radius:999px; overflow:hidden; }
.rvt .rvt-progress>div{ height:100%; background:#0ea5e9; width:0%; transition:width .2s ease; }
.rvt .rvt-progress-note{ font-size:.75rem; color:var(--muted); margin-top:.25rem; }
.rvt .rvt-two{ display:grid; grid-template-columns:1fr; gap:1rem; margin-top:.75rem; }
@media (min-width:960px){ .rvt .rvt-two{ grid-template-columns:1fr 1fr; } }
.rvt .rvt-list{ list-style:none; padding:0; margin:0; display:grid; gap:.5rem; }
.rvt .rvt-li{ border-radius:16px; border:1px solid var(--border); padding:.75rem; background:#fff; display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.rvt .rvt-li-left{ display:flex; align-items:center; gap:.4rem; }
.rvt .rvt-li-right{ text-align:right; }
.rvt .rvt-li-rank{ display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:999px; font-size:.75rem; font-weight:700; background:#e2e8f0; color:#334155; }
.rvt .rvt-li-rank.top{ background:#0369a1; color:#fff; }
.rvt .rvt-li-title{ font-weight:600; font-size:.95rem; }
.rvt .rvt-li-meta{ color:var(--muted); text-align:right; font-size:.8rem; }
.rvt .rvt-li-meta-sm{ color:var(--muted); font-size:.75rem; }
.rvt .rvt-hint{ margin-top:.35rem; font-size:.85rem; color:#334155; }
.rvt .rvt-try{ margin-top:.2rem; font-size:.85rem; color:#0f172a; }
.rvt .rvt-bar{ margin-top:.25rem; width:110px; height:8px; background:#e2e8f0; border-radius:999px; overflow:hidden; }
.rvt .rvt-bar>div{ height:100%; background:#0ea5e9; width:0%; }
.rvt .rvt-badge{ display:inline-flex; align-items:center; border-radius:999px; padding:.15rem .45rem; font-size:.7rem; font-weight:600; }
.rvt .rvt-badge.emerald{ background:#d1fae5; color:#047857; }
.rvt .rvt-badge.amber{ background:#fef3c7; color:#b45309; }
.rvt .rvt-badge.rose{ background:#ffe4e6; color:#be123c; }
.rvt-modal-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .18s ease; z-index:9999; }
.rvt-modal-backdrop.show{ opacity:1; pointer-events:auto; }
.rvt-modal-backdrop.hide{ opacity:0; pointer-events:none; }
.rvt-modal{ background:#ffffff; border:1px solid var(--border); border-radius:16px; box-shadow:0 10px 30px rgba(0,0,0,.2); max-width:560px; width:92%; }
.rvt-modal-content{ padding:1rem 1.2rem; font-size:1rem; color:#0f172a; text-align:center; } .rvt-capture-override { font-size:16px; line-height:1.45; background:#fff; }
.rvt-capture-override .rvt-two { display:grid; grid-template-columns:1fr 1fr !important; gap:1rem; }
.rvt-capture-override .rvt-card { page-break-inside: avoid; }
.rvt-capture-override .rvt-li { page-break-inside: avoid; }.rvt { --bg:#f8fafc; --text:#0f172a; --muted:#64748b; --muted2:#475569; --card:#fff; --border:#e2e8f0; --sky50:#eef6ff; --sky500:#0ea5e9; --sky600:#0369a1; --sky700:#075985; }
.rvt *{ box-sizing:border-box; }
.rvt .rvt-container{ padding:1rem; background:linear-gradient(to bottom, #f8fafc, #f1f5f9); color:var(--text); border-radius:12px; }
.rvt .rvt-header{ align-items:center; justify-content:space-between; margin-bottom:1rem; display:flex; }
.rvt .rvt-title{ margin:0; font-size:1.25rem; font-weight:700; letter-spacing:-.01em; }
.rvt .rvt-muted{ color:var(--muted); font-size:.85rem; }
.rvt .rvt-card{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:1rem; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.rvt .rvt-h{ margin:0; font-size:1.1rem; font-weight:700; }
.rvt .rvt-h-sm{ margin:0; font-size:1rem; font-weight:700; }
.rvt .rvt-p{ margin:.2rem 0 0; font-size:.9rem; color:var(--muted2); }
.rvt .rvt-ul{ margin:.4rem 0 0 1rem; color:var(--muted2); font-size:.9rem; }
.rvt .rvt-row{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.rvt .rvt-right{ margin-left:auto; }
.rvt .rvt-btn{ display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .8rem; border-radius:12px; border:1px solid var(--border); background:#fff; color:var(--text); font-size:.9rem; cursor:pointer; transition:.15s ease; text-decoration:none; }
.rvt .rvt-btn:hover{ background:#f8fafc; }
.rvt .rvt-primary{ background:var(--sky600); color:#fff; border-color:transparent; box-shadow:0 1px 2px rgba(2,132,199,.35); }
.rvt .rvt-primary:hover{ background:var(--sky700); }
.rvt .rvt-pill{ display:inline-flex; align-items:center; border-radius:999px; background:#f1f5f9; padding:.3rem .6rem; font-size:.8rem; }
.rvt .rvt-input{ border:1px solid var(--border); border-radius:10px; padding:.4rem .6rem; font-size:.85rem; min-width:12rem; }
.rvt .rvt-tools{ margin-top:.5rem; }
.rvt .rvt-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
@media (min-width:640px){ .rvt .rvt-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:768px){ .rvt .rvt-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.rvt .rvt-val{ border-radius:12px; border:1px solid var(--border); padding:.6rem .7rem; text-align:left; background:#fff; cursor:pointer; transition:.12s ease; }
.rvt .rvt-val:hover{ background:#f8fafc; }
.rvt .rvt-val.selected{ border-color:var(--sky500); background:#eef6ff; color:#0c4a6e; }
.rvt .rvt-val-title{ font-weight:600; font-size:.95rem; color:#000; }
.rvt .rvt-val-desc{ font-size:.78rem; color:var(--muted2); margin-top:.25rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rvt .rvt-pair{ display:grid; grid-template-columns:1fr; gap:.75rem; margin-top:.75rem; }
@media (min-width:640px){ .rvt .rvt-pair{ grid-template-columns:1fr 1fr; } }
.rvt .rvt-pick{ background:#fff; border:1px solid var(--border); border-radius:16px; padding:1.1rem; text-align:left; box-shadow:0 1px 2px rgba(0,0,0,.04); cursor:pointer; transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease; }
.rvt .rvt-pick:hover{ background:#f8fafc; box-shadow:0 4px 12px rgba(0,0,0,.06); }
.rvt .rvt-pick:active, .rvt .rvt-pick:focus-visible{ background:#eef6ff; border-color:var(--sky500); box-shadow:0 2px 8px rgba(2,132,199,.12); }
.rvt .rvt-pick-title{ margin:0; font-size:1.05rem; font-weight:700; color:#000; }
.rvt .rvt-pick-desc{ margin:.5rem 0 0; font-size:.9rem; color:var(--muted2); }
.rvt .rvt-progress{ margin-top:.6rem; width:100%; height:8px; background:#e2e8f0; border-radius:999px; overflow:hidden; }
.rvt .rvt-progress>div{ height:100%; background:#0ea5e9; width:0%; transition:width .2s ease; }
.rvt .rvt-progress-note{ font-size:.75rem; color:var(--muted); margin-top:.25rem; }
.rvt .rvt-two{ display:grid; grid-template-columns:1fr; gap:1rem; margin-top:.75rem; }
@media (min-width:960px){ .rvt .rvt-two{ grid-template-columns:1fr 1fr; } }
.rvt .rvt-list{ list-style:none; padding:0; margin:0; display:grid; gap:.5rem; }
.rvt .rvt-li{ border-radius:16px; border:1px solid var(--border); padding:.75rem; background:#fff; display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.rvt .rvt-li-left{ display:flex; align-items:center; gap:.4rem; }
.rvt .rvt-li-right{ text-align:right; }
.rvt .rvt-li-rank{ display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:999px; font-size:.75rem; font-weight:700; background:#e2e8f0; color:#334155; }
.rvt .rvt-li-rank.top{ background:#0369a1; color:#fff; }
.rvt .rvt-li-title{ font-weight:600; font-size:.95rem; }
.rvt .rvt-li-meta{ color:var(--muted); text-align:right; font-size:.8rem; }
.rvt .rvt-li-meta-sm{ color:var(--muted); font-size:.75rem; }
.rvt .rvt-hint{ margin-top:.35rem; font-size:.85rem; color:#334155; }
.rvt .rvt-try{ margin-top:.2rem; font-size:.85rem; color:#0f172a; }
.rvt .rvt-bar{ margin-top:.25rem; width:110px; height:8px; background:#e2e8f0; border-radius:999px; overflow:hidden; }
.rvt .rvt-bar>div{ height:100%; background:#0ea5e9; width:0%; }
.rvt .rvt-badge{ display:inline-flex; align-items:center; border-radius:999px; padding:.15rem .45rem; font-size:.7rem; font-weight:600; }
.rvt .rvt-badge.emerald{ background:#d1fae5; color:#047857; }
.rvt .rvt-badge.amber{ background:#fef3c7; color:#b45309; }
.rvt .rvt-badge.rose{ background:#ffe4e6; color:#be123c; }
.rvt-modal-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .18s ease; z-index:9999; }
.rvt-modal-backdrop.show{ opacity:1; pointer-events:auto; }
.rvt-modal-backdrop.hide{ opacity:0; pointer-events:none; }
.rvt-modal{ background:#ffffff; border:1px solid var(--border); border-radius:16px; box-shadow:0 10px 30px rgba(0,0,0,.2); max-width:560px; width:92%; }
.rvt-modal-content{ padding:1rem 1.2rem; font-size:1rem; color:#0f172a; text-align:center; } .rvt-capture-override { font-size:16px; line-height:1.45; background:#fff; }
.rvt-capture-override .rvt-two { display:grid; grid-template-columns:1fr 1fr !important; gap:1rem; }
.rvt-capture-override .rvt-card { page-break-inside: avoid; }
.rvt-capture-override .rvt-li { page-break-inside: avoid; }