/* ================= shared bits for secondary pages ================= */
.eyebrow{font:700 8.5px var(--mono);letter-spacing:.14em;color:var(--orange)}
.wm-sans{font-family:"Noto Sans SC",sans-serif;font-weight:900;font-size:200px;top:-4px}
.cjk,.cjk-o{font-family:"Noto Serif SC",serif;font-weight:700}
.cjk-o{color:var(--orange);font-size:11px;margin-right:4px}
.foot .muted{color:var(--muted)}
.wan{font:400 9px/1 "Noto Serif SC",serif;color:#8F8370}

/* ================= ABOUT ================= */
.about-hero{padding-top:12px}
.about-hero .eyebrow{position:relative;margin-bottom:12px}
.about-hero .lede{max-width:520px;font-size:19px;line-height:1.12;margin-top:14px}
.about-copy{max-width:540px;margin-top:32px}
.about-copy p{font:400 11.8px/1.55 var(--sans);color:#4C6566;margin-bottom:17px}
.about-copy b{color:var(--navy)}
.about-sec{margin-top:40px}
.about-sec .h-serif{font-size:36px;padding-bottom:4px}
.gallery{display:grid;grid-template-columns:repeat(3,283px);justify-content:space-between;row-gap:13px;margin-top:16px}
.gallery img{display:block;width:283px;height:427px;object-fit:cover;border:1px solid var(--navy);box-shadow:3px 3px 0 var(--navy)}
.find{display:grid;grid-template-columns:410px 1fr;gap:20px;margin-top:16px}
.addr{padding:18px 19px 18px;box-shadow:5px 5px 0 var(--navy)}
.addr address{font:600 17px/1.2 var(--serif);font-style:normal;color:var(--navy);margin-top:8px;padding-bottom:7px;border-bottom:1px solid var(--line)}
.addr dl div{display:flex;align-items:center;height:38px;border-bottom:1px solid var(--line)}
.addr dl div:last-child{border-bottom:0}
.addr dt{width:74px;font:400 8.5px var(--mono);letter-spacing:.1em;color:var(--muted)}
.addr dd{font:400 11.5px var(--sans);color:var(--navy)}
.addr dd a{color:#007C7A;text-underline-offset:2px}
.mono-link{font:400 9px var(--mono);letter-spacing:.06em;margin-left:4px}
.btn-dir{display:inline-flex;align-items:center;gap:8px;margin-top:12px;height:30px;padding:0 15px;background:var(--navy);color:#fff;text-decoration:none;font:700 8.5px var(--mono);letter-spacing:.08em;box-shadow:2px 2px 0 var(--orange)}
.map{min-height:262px;box-shadow:5px 5px 0 var(--navy);overflow:hidden}
.map iframe{display:block;width:100%;height:100%;min-height:262px;border:0;filter:sepia(.25) saturate(.85)}
.about-foot{border-top-color:#3A2E2A;margin-top:46px}

/* ================= COMBOS ================= */
.combos-hero .lede{max-width:540px;font-size:19px;line-height:1.13}
.ex-link{position:relative;display:inline-block;margin-top:10px;font:400 11px var(--sans);color:var(--navy);text-underline-offset:3px}
.day{position:relative;display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:0 24px;height:182px;background:var(--card);border:1px solid var(--navy)}
.day + .day{height:162px}
.day.honor{box-shadow:5px 5px 0 var(--gold);margin-top:24px}
.day.number{box-shadow:5px 5px 0 var(--navy)}
.day h4{font:700 12.5px var(--mono);letter-spacing:.26em;color:var(--gold)}
.day.number h4{color:var(--navy)}
.day .date{margin-top:12px;font:400 9px var(--mono);letter-spacing:.14em;color:var(--muted)}
.day p{margin-top:9px;max-width:380px;font:400 10.5px/1.25 var(--sans);color:#4C6566}
.day p b{color:var(--navy);font-weight:700}
.day-tile{text-align:center;min-width:120px}
.day-tile .name{margin-top:12px;font:600 17px var(--serif);color:var(--navy)}
.day-tile .cn{margin-top:6px;font:400 11px "Noto Serif SC",serif;color:var(--muted)}
.day-tiles{display:flex;gap:6px;justify-content:center}
.filters{display:flex;align-items:center;gap:14px;margin-top:22px}
.chips-seg{display:flex;border:1.5px solid var(--navy);box-shadow:2px 2px 0 var(--orange)}
.chips-seg button{height:29px;padding:0 12px;background:var(--card);border-left:1.5px solid var(--navy);font:700 8.5px var(--mono);letter-spacing:.06em}
.chips-seg button:first-child{border-left:0}
.chips-seg button.on{background:var(--navy);color:#fff}
.chips-seg i{font-style:normal;color:var(--orange);margin-left:3px;font-size:8px}
.find-combo{width:255px;height:31px;padding:0 10px;background:var(--card);border:1.5px solid var(--navy);box-shadow:2px 2px 0 var(--orange);font:400 9.5px var(--mono);color:var(--navy);outline:none}
.find-combo::placeholder{color:var(--muted)}
.tier{margin-top:34px}
.tier-head{display:flex;align-items:baseline;gap:8px;padding-bottom:5px;border-bottom:3px solid var(--orange)}
.tier-head h2{font:700 37px/1 var(--serif);letter-spacing:.005em;color:var(--orange)}
.tier-head h2.gold{color:var(--gold)}
.tier-head h2.navy{color:#13393B}
.tier-head .range{font:400 8.5px var(--mono);letter-spacing:.12em;color:var(--muted)}
.tier-head .count{margin-left:auto;font:400 8.5px var(--mono);letter-spacing:.12em;color:var(--muted)}
.tier-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;align-items:start}
.tier-col{display:flex;flex-direction:column;gap:12px}
.cc{padding:16px 15px 14px;background:var(--card);border:1px solid var(--navy);box-shadow:5px 5px 0 var(--navy)}
.cc .tags{display:flex;gap:7px;margin-bottom:10px}
.tag{display:inline-block;padding:2px 6px;font:700 7.5px var(--mono);letter-spacing:.1em}
.tag.new{background:var(--orange);color:#fff;border:1px solid var(--orange)}
.tag.event{border:1px solid #6E4FA2;color:#6E4FA2}
.tag.stack{border:1px solid var(--navy);color:var(--navy)}
.cc-top{display:flex;align-items:baseline}
.cc h5{font:700 13.5px var(--serif);color:var(--navy)}
.cc .pts{margin-left:auto;font:700 10.5px var(--mono);letter-spacing:.04em;color:var(--orange)}
.cc .pts.gold{color:var(--gold)}
.cc .desc{margin-top:9px;font:400 9.6px/1.25 var(--sans);color:#4C6566}
.cc .sh{margin-top:10px;font:400 8.5px var(--mono);letter-spacing:.14em;color:var(--muted)}
.hand{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}
.hand + .hand{margin-top:8px}

/* ---- mahjong tiles ---- */
.mt{position:relative;display:inline-grid;place-items:center;width:18px;height:23px;background:#FFFDF8;border:1px solid #A9A196;border-radius:2px;box-shadow:0 1px 0 #CFC6B8;overflow:hidden;flex:none}
.mt.blank{background:none;border:1px dashed var(--navy);box-shadow:none}
.mt .n{position:absolute;top:1px;left:0;right:0;text-align:center;font:700 7.5px/1 "Noto Serif SC",serif;color:#2B3B9E}
.mt .wn{position:absolute;bottom:1px;left:0;right:0;text-align:center;font:700 8px/1 "Noto Serif SC",serif;color:#C42C24}
.mt .h{font:400 11px/1 "Noto Serif SC",serif;color:#2B3B9E}
.mt .h.r{color:#D02A22}
.mt .h.g{color:#1F8A3A}
.mt .wd{width:11px;height:15px;border:1.2px solid #4A73B8;border-radius:1px}
.mt .fl{font:400 9px/1 "Noto Serif SC",serif}
.mt .fn{position:absolute;top:1px;left:2px;font:400 5px/1 "Noto Serif SC",serif;color:#2B3B9E}
.mt .fn.r{color:#C42C24}
.mt .fn.k{color:#1A1A1A}
.mt.jk{background:#FFF6D8;border-color:#B8902A}
.mt.jk .jk-s{position:absolute;top:2px;left:0;right:0;text-align:center;font:400 9px/1 serif;color:#C42C24}
.mt.jk .jk-t{position:absolute;bottom:3px;left:0;right:0;text-align:center;font:800 3.6px/1 var(--mono,monospace);letter-spacing:.02em;color:#6B3FA0}
.mt.big.jk .jk-s{font-size:30px;top:8px}
.mt.big.jk .jk-t{font-size:11px;bottom:9px}
.mt svg{display:block}
.mt.big{width:58px;height:74px;border:1.5px solid #3C3C3C;border-radius:5px;box-shadow:0 2px 0 #9C958A}
.mt.big .wd{width:42px;height:56px;border:1.5px solid #2B6B3A;border-radius:3px}
.mt.big .n{font-size:22px;top:6px}
.mt.big .wn{font-size:22px;bottom:6px}

/* ================= RANKINGS ================= */
.rk-main{padding:0 14px 0 16px}
.rk-hero{padding-top:50px}
.rk-hero .eyebrow{color:#A88E5A;margin-bottom:12px}
.rk-hero h1{font:300 46px/1 var(--serif);letter-spacing:-.02em}
.rk-hero .lede{max-width:560px;margin-top:16px;font:500 14.5px/1.38 var(--sans);color:#3D5859}
.rk-ctl{display:flex;align-items:center;gap:12px;margin-top:24px}
.rk-ctl .seg{box-shadow:2px 2px 0 var(--navy);margin-left:0}
.rk-ctl .seg button{height:29px;font-size:8.5px}
.rk-ctl .seg button.on{background:var(--orange);color:#fff}
.rk-ctl .bands-btn{margin-left:auto;height:30px;padding:0 12px;background:var(--card);border:1.5px solid var(--navy);box-shadow:2px 2px 0 var(--navy);font:700 8.5px var(--mono);letter-spacing:.06em}
.rk-find{display:flex;align-items:center;gap:12px;margin-top:20px}
.rk-find input{width:304px;height:31px;padding:0 10px;background:var(--card);border:1.5px solid var(--navy);box-shadow:2px 2px 0 var(--navy);font:400 9.5px var(--mono);color:var(--navy);outline:none}
.rk-find input::placeholder{color:var(--muted)}
.dist{margin-top:26px}
.dist .lbl{margin-bottom:8px}
.dist-bar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.dist-bar div i{display:block;height:8px}
.dist-bar div b{display:block;margin-top:5px;font:700 7.5px var(--mono);letter-spacing:.08em;color:#8B7F70}
.dist-bar div span{display:block;margin-top:5px;font:400 7.5px var(--mono);color:#A89880}
.top3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.t3{position:relative;height:134px;padding:15px 16px;background:var(--card);border:1px solid var(--orange);box-shadow:5px 5px 0 var(--orange)}
.t3.navy{border-color:var(--navy);box-shadow:5px 5px 0 var(--navy)}
.t3-head{display:flex;align-items:center;gap:13px}
.t3-rank{font:300 30px/1 var(--serif);color:var(--orange);width:14px}
.t3.navy .t3-rank{color:var(--navy)}
.t3 .ptile{width:34px;height:44px;border-radius:4px}
.t3 .ptile svg{width:17px;height:21px}
.t3 .ptile .wan{font-size:19px}
.t3-name{font:400 13.5px var(--sans);color:var(--navy);letter-spacing:.02em}
.t3-lv{margin-top:5px;font:400 8.5px var(--mono);letter-spacing:.12em;color:var(--muted)}
.t3-foot{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:flex-end}
.t3-rating{font:500 22px/1 var(--serif);color:#1F8A3A}
.t3-rating .d{font:700 9px var(--mono);margin-left:6px}
.t3-sr{margin-top:4px;font:400 8.5px var(--mono);letter-spacing:.12em;color:var(--muted)}
.t3-band{margin-left:auto;display:flex;align-items:center;gap:8px;font:700 8.5px var(--mono);letter-spacing:.08em;color:var(--navy);padding-bottom:6px}
.rk-table{margin-top:24px;background:var(--card);border:1px solid var(--navy);box-shadow:5px 5px 0 var(--navy)}
.rk-table table{width:100%;border-collapse:collapse}
.rk-table th{height:28px;padding:0 12px;background:#F5EEDD;text-align:left;font:400 8.5px var(--mono);letter-spacing:.1em;color:var(--muted)}
.rk-table th.r,.rk-table td.r{text-align:right}
.rk-table th.on{color:var(--navy);font-weight:700}
.rk-table td{height:48.3px;padding:0 12px;border-top:1px solid #CFC4B5}
.rk-table td.pos{width:56px;font:300 13px var(--serif);color:#A89880}
.rk-table td.pos.g{color:#008E8C}.rk-table td.pos.o{color:#E3122C}
.rk-table td.pl{width:350px}
.pl-cell{display:flex;align-items:center;gap:9px}
.ptile{display:inline-grid;place-items:center;flex:none;width:18px;height:23px;border:1.3px solid #A0968A;border-radius:3px;background:var(--card)}
.ptile.b{border-color:var(--navy)}
.ptile .wan{font-size:12px}
.pl-name{font:700 11.5px var(--sans);color:var(--navy)}
.band-cell{display:flex;align-items:center;gap:8px;font:700 7.5px var(--mono);letter-spacing:.08em;color:var(--navy)}
.band-cell .ic{width:16px;display:flex;justify-content:center}
.band-cell.faded{color:#A89880;font-weight:400}
.band-cell.faded .ic{opacity:.45}
.band-cell .fx{font-weight:400}
.rk-table td.rt{width:90px;font:700 11px var(--mono)}
.rk-table td.pk{width:70px;font:400 11px var(--mono);color:#A89880}
.rk-table td.ls{width:70px;font:700 10.5px var(--mono)}
.up{color:#2E7D4F}.dn{color:#C23B2A}.flat{color:#A89880;font-weight:400}
.c-jade{color:#1F8A3A}.c-plat{color:#0E8F87}.c-gold{color:#B57E0E}.c-silver{color:#6F6E78}.c-bronze{color:#C4473A}.c-wood{color:#6B4A1F}
.faded-note{margin-top:14px;font:400 8.5px var(--mono);letter-spacing:.12em;color:var(--muted)}
.placing{margin-top:22px}
.placing .lbl{margin-bottom:10px}
.placing-list{display:flex;flex-wrap:wrap;gap:8px 8px}
.pchip{display:inline-flex;align-items:center;gap:9px;height:37px;padding:0 10px 0 11px;border:1px dashed #BCAE98;font:600 11.5px var(--sans);color:var(--navy)}
.pchip small{font:400 8px var(--mono);color:#A89880}

@media (max-width:760px){
  .gallery{grid-template-columns:1fr 1fr;gap:12px}
  .gallery img{width:100%;height:auto;aspect-ratio:283/427}
  .find,.tier-cols,.top3{grid-template-columns:1fr}
  .day{height:auto!important;padding:20px;gap:16px;flex-wrap:wrap}
  .filters,.rk-ctl,.rk-find{flex-wrap:wrap}
  .find-combo,.rk-find input{width:100%}
  .rk-main{padding:0}
  .rk-table td.pl{width:auto}
  .rk-table th:nth-child(5),.rk-table td:nth-child(5){display:none}
  .band-cell .bl{display:none}
}
.bands-help{margin-top:16px;padding:14px 16px;display:grid;gap:8px;font:400 11px/1.5 var(--sans);color:#4C6566;box-shadow:4px 4px 0 var(--navy)}
.bands-help b{color:var(--navy)}
.t3.is-empty{display:flex;align-items:center;gap:16px;opacity:.6}
.t3-open{font:400 9px var(--mono);letter-spacing:.14em;color:var(--muted)}
.lv{font:400 8px var(--mono);color:var(--muted);letter-spacing:.08em}
.rk-table .empty{padding:40px 20px}
/* Majo gallery: one feature photo + placeholders until more photos arrive */
.gallery-feature{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:13px;height:600px;justify-content:stretch}
.gallery-feature figure{margin:0;border:1px solid var(--navy);box-shadow:3px 3px 0 var(--navy);overflow:hidden;background:var(--card)}
.gallery-feature .g-main{grid-row:1 / span 2}
.gallery-feature img{width:100%;height:100%;object-fit:cover;border:0;box-shadow:none}
.gallery-feature .g-soon{display:grid;place-items:center;align-content:center;gap:12px;background:var(--card)}
.gallery-feature .g-soon img{width:56px;height:56px;opacity:.35;object-fit:contain}
.gallery-feature .g-soon span{font:400 8.5px/1.6 var(--mono);letter-spacing:.16em;color:var(--muted);text-align:center}
.map{display:grid;place-items:center}
.map-logo{width:72px;opacity:.18}
@media (max-width:760px){.gallery-feature{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}.gallery-feature .g-main{grid-column:1 / span 2;grid-row:auto;aspect-ratio:4/5}.gallery-feature .g-soon{aspect-ratio:1}}

/* ================= share dialog ================= */
.sh-modal{position:fixed;inset:0;z-index:90;background:rgba(19,57,59,.55);display:grid;place-items:center;padding:16px}
.sh-box{width:min(340px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--card);border:1.5px solid var(--navy);box-shadow:6px 6px 0 var(--navy);padding:18px 18px 16px}
.sh-head{display:flex;align-items:center;justify-content:space-between}
.sh-head h3{font:700 16px var(--serif);letter-spacing:.02em}
.sh-x{font:400 22px/1 var(--sans);color:var(--muted)}
.sh-style{text-align:center;margin-top:16px}
.sh-style b{display:block;font:700 9px var(--mono);letter-spacing:.14em}
.sh-style span{display:block;margin-top:4px;font:400 8.5px var(--mono);letter-spacing:.14em;color:var(--muted)}
.sh-preview{margin:12px auto 0;width:170px}
.sh-preview canvas{display:block;width:100%;height:auto;border:1px solid var(--line);box-shadow:0 2px 6px rgba(0,0,0,.08)}
.sh-actions{display:flex;justify-content:center;gap:8px;margin-top:14px}
.btn-dl{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 16px;background:var(--navy);color:#fff;font:700 11px var(--serif)}
.btn-ln{height:32px;padding:0 12px;border:1px solid var(--line);font:400 9px var(--mono);color:var(--navy)}
.sh-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px}
.sh-nav button{width:28px;height:24px;border:1px solid var(--line);font:400 14px var(--sans);color:var(--navy)}
#sh-dots{display:flex;gap:5px}
#sh-dots i{width:8px;height:8px;border:1px solid var(--navy)}
#sh-dots i.on{background:var(--navy)}
.ch-eyebrow{position:relative;margin-bottom:8px;color:var(--navy)}
.meter.sand i{background:#B9A88F}.meter.ink i{background:var(--navy)}
.r-miles.zero,.form-cell b.zero{color:var(--muted)}
a.bands-btn{display:inline-flex;align-items:center;text-decoration:none;color:var(--navy)}
.xpbar{height:6px;background:#D9D2C4}
.xpbar i{display:block;height:100%;background:var(--orange)}
.xpc small,.t3-foot.xpf small{display:block;margin-top:4px;font:400 7.5px var(--mono);letter-spacing:.08em;color:var(--muted)}
.rk-table td.xpc{width:170px}
.rk-table td.lvt{font:400 9px var(--mono);letter-spacing:.1em;color:var(--muted)}
.t3-foot.xpf{display:block}
.t3-foot.xpf .t3-rating{color:var(--navy);margin-bottom:8px}
.t3-rating .u{font:400 9px var(--mono);color:var(--muted);margin-left:6px}
.rk-table td.lvt{white-space:nowrap}

/* ---------- Combos: JOKER RULES ---------- */
.chips-seg button.jk{color:#6E4FA2}
.chips-seg button.jk.on{background:#6E4FA2;color:#fff;border-color:var(--navy)}
.joker-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px}
.chips-seg.sub{box-shadow:2px 2px 0 #6E4FA2}
.chips-seg.sub button{height:31px;padding:0 14px;font-size:9px}
.chips-seg.sub button.on{background:#6E4FA2}
.chips-seg.sub b{margin-left:7px;padding:1px 5px;border-radius:7px;background:var(--bg);color:var(--navy);font:700 8px var(--mono)}
.chips-seg.sub button.on b{background:#fff;color:#6E4FA2}
.joker-note{flex:1;min-width:260px;font:400 10.5px/1.6 var(--sans);color:#4C6566}
.joker-note b{color:var(--navy)}
.joker-note .mt{vertical-align:middle;margin:0 2px}
.jcc .jno{display:inline-block;min-width:22px;margin-right:7px;padding:1px 4px;border:1px solid var(--navy);font:700 9px/1.3 var(--mono);text-align:center;vertical-align:3px}
.jcc .pts small{font:400 8px var(--mono);letter-spacing:.06em}
.jcc .jx{margin-top:6px;font:400 9.5px/1.4 var(--mono);color:var(--orange)}
.jcc .sh .cap{color:var(--navy);letter-spacing:.06em}
.tag.kv3{border:1px solid var(--orange);color:var(--orange)}
.tag.excl{border:1px solid #6E4FA2;color:#6E4FA2}
@media (max-width:640px){ .joker-bar{flex-direction:column;align-items:stretch} }

/* hand size per board (levels page) */
.tier-tbl{margin-top:12px;overflow-x:auto}
.tier-tbl table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--navy);box-shadow:4px 4px 0 var(--navy)}
.tier-tbl th{padding:8px 10px;text-align:left;font:700 8.5px var(--mono);letter-spacing:.12em;color:var(--muted);border-bottom:2px solid var(--orange)}
.tier-tbl td{padding:8px 10px;border-top:1px solid var(--line);font:400 12px var(--sans);color:var(--navy);white-space:nowrap}
.tier-tbl td b{font:600 14px var(--serif)}
