/* Hành trình 3 bậc – thẻ «Hành trang» (js/journey-card.js) dùng chung cho trang hanh-trinh.html và bốn game.
   Tự chứa: không phụ thuộc bizon-clay.css, màu đất sét nhạt, có bản tối theo html[data-theme="dark"]. */
.jc-card{position:relative;box-sizing:border-box;max-width:560px;margin:0 auto;padding:18px 20px 16px;border-radius:26px;background:#fbf6ee;border:3px solid #e6d6bf;box-shadow:0 6px 0 #d9c5a8;color:#2c3552;font-family:"Be Vietnam Pro",Nunito,system-ui,sans-serif;text-align:left}
.jc-card.jc-off{opacity:.92}
.jc-tag{display:inline-block;font:800 11px/1 "Baloo 2",system-ui,sans-serif;letter-spacing:.08em;border-radius:999px;padding:5px 12px;background:#e3f1ef;color:#1f6f8a}
.jc-title{margin:10px 0 8px;font:800 22px/1.2 "Baloo 2",system-ui,sans-serif;color:#1f6f8a;text-wrap:balance}
.jc-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.jc-line{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;padding:8px 10px;border-radius:16px;background:#fffaf2;border:2px solid #eadcc5;font-size:14px;line-height:1.45}
.jc-val{font:800 18px/1 "Baloo 2",system-ui,sans-serif;color:#2f8a8c;text-align:center}
.jc-line[data-key="resil"] .jc-val,.jc-line[data-key="creditLimit"] .jc-val{color:#b8741a}
.jc-muted{margin:4px 0 0;font-size:14px;line-height:1.5;color:#6b6f7a}
.jc-note{margin:10px 0 0;padding-top:8px;border-top:2px dashed #e6d6bf;font-size:12.5px;line-height:1.5;color:#4a4f5c}
.jc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.jc-btn{flex:1;min-width:140px;font:800 15px "Baloo 2",system-ui,sans-serif;border:3px solid #e6d6bf;background:#fbf6ee;color:#2c3552;border-radius:16px;padding:10px 14px;cursor:pointer;box-shadow:0 4px 0 #d9c5a8}
.jc-btn:hover{transform:translateY(-1px)} .jc-btn:active{transform:translateY(2px);box-shadow:0 2px 0 #d9c5a8}
.jc-btn:focus-visible{outline:3px solid #fda127;outline-offset:2px}
.jc-primary{background:#2f8a8c;border-color:#23706f;color:#fff;box-shadow:0 4px 0 #1b5a5a}
@media (max-width:420px){.jc-card{padding:14px 14px 12px;border-radius:20px}.jc-line{grid-template-columns:54px minmax(0,1fr);font-size:13px}.jc-val{font-size:16px}}
html[data-theme="dark"] .jc-card{background:#232c4d;border-color:#35406a;box-shadow:0 6px 0 #11162a;color:#f1e6d3}
html[data-theme="dark"] .jc-title{color:#8fd0ee} html[data-theme="dark"] .jc-tag{background:#1b3b4a;color:#8fd0ee}
html[data-theme="dark"] .jc-line{background:#2a3458;border-color:#35406a} html[data-theme="dark"] .jc-val{color:#7fd1c9}
html[data-theme="dark"] .jc-muted,html[data-theme="dark"] .jc-note{color:#b9bfd6;border-color:#35406a}
html[data-theme="dark"] .jc-btn{background:#2a3458;border-color:#35406a;color:#f1e6d3;box-shadow:0 4px 0 #11162a}
html[data-theme="dark"] .jc-primary{background:#2f8a8c;border-color:#23706f;color:#fff}

/* Móc nối trong game (js/journey-link.js): băng ở màn mở đầu và khối «đã ghi vào hộ chiếu» ở màn kết thúc. */
.jl-banner{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;box-sizing:border-box;margin:0 0 14px;padding:10px 14px;border-radius:16px;background:#e3f1ef;border:2px solid #bfe0dc;font:600 13px/1.45 "Be Vietnam Pro",Nunito,system-ui,sans-serif;color:#1f4a55;text-align:left}
.jl-banner b{font-weight:800}
.jl-banner.jl-off{background:#fdf0d8;border-color:#f3dcb0;color:#6b4a12}
.jl-tag{display:inline-block;font:800 11px/1 "Baloo 2",system-ui,sans-serif;letter-spacing:.08em;border-radius:999px;padding:5px 10px;background:#1f6f8a;color:#fff}
.jl-link{margin-left:auto;font-weight:800;color:#1f6f8a;text-decoration:underline;white-space:nowrap}
.jl-done{box-sizing:border-box;margin:18px 0 0;padding:16px;border-radius:22px;background:#f0f8f6;border:3px solid #bfe0dc;text-align:center;font-family:"Be Vietnam Pro",Nunito,system-ui,sans-serif;color:#1f4a55}
.jl-done h3{margin:8px 0 12px;font:800 18px/1.25 "Baloo 2",system-ui,sans-serif;color:#1f6f8a;text-wrap:balance}
.jl-done .jc-card{margin:0 auto 4px;text-align:left}
.jl-next{display:block;margin-top:12px;padding:12px 16px;border-radius:16px;background:#2f8a8c;color:#fff;font:800 16px "Baloo 2",system-ui,sans-serif;text-decoration:none;box-shadow:0 4px 0 #1b5a5a}
.jl-next:hover{transform:translateY(-1px)} .jl-next:focus-visible{outline:3px solid #fda127;outline-offset:2px}
html[data-theme="dark"] .jl-banner{background:#1b3b4a;border-color:#2d5566;color:#d9ebee} html[data-theme="dark"] .jl-banner.jl-off{background:#4a3a1c;border-color:#6b5428;color:#f3dcb0}
html[data-theme="dark"] .jl-link{color:#8fd0ee} html[data-theme="dark"] .jl-done{background:#1b3b4a;border-color:#2d5566;color:#d9ebee} html[data-theme="dark"] .jl-done h3{color:#8fd0ee}

/* Hộp thoại «Hành trang» trước màn mở đầu (offerCarry) + lời chào/bản tin trong thẻ biến cố vòng 1 */
#jl-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:14px;background:rgba(2,25,28,.66);overflow:auto}
.jl-modal-box{width:100%;max-width:560px;max-height:calc(100vh - 28px);overflow:auto;border-radius:28px}
.jl-modal-note{margin:8px auto 0;max-width:560px;padding:8px 12px;border-radius:14px;background:#fdf0d8;color:#6b4a12;font:600 13px/1.45 "Be Vietnam Pro",Nunito,system-ui,sans-serif;text-align:center}
.jl-greet{margin:8px 0 0;padding-top:6px;border-top:2px dashed rgba(0,102,135,.18);font-size:12.5px;line-height:1.5;color:#1f4a55;font-style:normal}
.jl-brief{margin:8px 0 0;padding:8px 10px;border-radius:12px;background:rgba(227,241,239,.9);font-size:12.5px;line-height:1.5;color:#1f4a55;text-align:left}
.jl-brief b{display:block;margin-bottom:2px} .jl-brief ul{margin:0;padding-left:18px}
html[data-theme="dark"] .jl-greet{color:#d9ebee;border-color:#35406a} html[data-theme="dark"] .jl-brief{background:#1b3b4a;color:#d9ebee}

/* «Cuốn hộ chiếu» (js/journey-passport.js) trên hanh-trinh.html: bìa + ba trang thị thực, tem đóng dần. */
.jp-book{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px;font-family:"Be Vietnam Pro",Nunito,system-ui,sans-serif;color:#1f2a44}
.jp-cover,.jp-page{position:relative;box-sizing:border-box;min-height:300px;border-radius:22px;padding:18px 18px 16px;overflow:hidden}
.jp-cover{background:#153f4f;color:#f3e7cf;text-align:center;box-shadow:inset 0 0 0 3px #153f4f,inset 0 0 0 5px #e7c27a}
.jp-cover .jp-emblem{display:block;font-size:44px;line-height:1;margin:14px 0 10px}
.jp-cover .jp-kicker{margin:0;font:800 11px/1 "Baloo 2",system-ui,sans-serif;letter-spacing:.12em;color:#e7c27a}
.jp-cover h3{margin:8px 0 2px;font:800 22px/1.15 "Baloo 2",system-ui,sans-serif;color:#e7c27a;text-wrap:balance}
.jp-cover .jp-sub{margin:0 0 14px;font-style:italic;font-size:13.5px;color:#f3e7cf}
.jp-cover dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;margin:0;text-align:left;font-size:13px}
.jp-cover dt{color:#9fc3c9;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.06em;align-self:center}
.jp-cover dd{margin:0;font-weight:800;color:#fff;overflow-wrap:anywhere} .jp-cover dd code{font:700 12px ui-monospace,monospace;color:#fff}
.jp-cover .jp-progress{margin:14px 0 0;font:800 15px "Baloo 2",system-ui,sans-serif;color:#e7c27a}
.jp-page{background:#fbf6ee;border:3px solid #e6d6bf;box-shadow:0 5px 0 #d9c5a8;background-image:repeating-linear-gradient(0deg,transparent 0 31px,#efe4d0 31px 32px);background-position:0 96px}
.jp-page header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.jp-page .jp-visa{font:800 11px/1 "Baloo 2",system-ui,sans-serif;letter-spacing:.1em;color:#1f6f8a}
.jp-page .jp-ic{font-size:30px;line-height:1}
.jp-page h3{margin:8px 0 0;font:800 20px/1.2 "Baloo 2",system-ui,sans-serif;color:#1f2a44;text-wrap:balance}
.jp-page .jp-sub{margin:2px 0 10px;font-size:12.5px;color:#6b6f7a}
.jp-lines{list-style:none;margin:0;padding:0 96px 0 0;font-size:13.5px;line-height:1.5;font-weight:600}
.jp-lines li::before{content:"• ";color:#2f8a8c}
.jp-wait{margin:0;padding-right:96px;font-size:13px;font-style:italic;color:#8a8f9c}
.jp-stamp{position:absolute;right:12px;bottom:12px;width:112px;height:112px;border-radius:50%;border:5px double #b8412f;color:#b8412f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transform:rotate(-12deg);text-align:center;opacity:.92;background:rgba(251,246,238,.6)}
.jp-stamp b{font:800 10.5px/1.1 "Baloo 2",system-ui,sans-serif;letter-spacing:.04em} .jp-stamp span{font:700 15px/1 "Baloo 2",system-ui,sans-serif} .jp-stamp i{font:700 9px/1 "Be Vietnam Pro",system-ui,sans-serif;font-style:normal;opacity:.85}
.jp-stamp.jp-empty{border:3px dashed #cdbfa6;color:#b3a68f;background:transparent;transform:none;opacity:1} .jp-stamp.jp-empty span{font:700 11px/1.2 "Be Vietnam Pro",system-ui,sans-serif}
.jp-page[data-status="locked"]{opacity:.78}
.jp-ribbon{margin:14px 0 0;padding:12px 16px;border-radius:16px;background:#e3f1ef;border:2px solid #bfe0dc;color:#1f4a55;font:800 16px "Baloo 2",system-ui,sans-serif;text-align:center}
html[data-theme="dark"] .jp-page{background:#232c4d;border-color:#35406a;box-shadow:0 5px 0 #11162a;color:#f1e6d3;background-image:repeating-linear-gradient(0deg,transparent 0 31px,#2a3458 31px 32px)}
html[data-theme="dark"] .jp-page h3{color:#f1e6d3} html[data-theme="dark"] .jp-page .jp-sub,html[data-theme="dark"] .jp-wait{color:#b9bfd6} html[data-theme="dark"] .jp-stamp{background:rgba(35,44,77,.6)}
html[data-theme="dark"] .jp-ribbon{background:#1b3b4a;border-color:#2d5566;color:#d9ebee}
@media print{body>*:not(main),.jr-hero,#jr-setup,.jr-box:not(#jr-book-box),#jr-book-box .jr-actions,#jr-book-box .sub,#clay-nav,#clay-footer,#bz-dock-btn,#bz-lang-hint{display:none!important}.jp-book{grid-template-columns:1fr 1fr}.jp-cover{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
