/* ==== 見た目の切り替え: html[data-theme] = simple（元の白と緑）/ retro / stylish。マイページで選ぶ ====
   色だけでなく、線・影・角・地・見出しの作りまで変える。 */

/* ---------------------------------------------------------------------------
   レトロ: 70年代のクライミングジムのポスター。生成りの紙に網点、太いインクの線、
   ずらした影（版ずれ）、朱・からし・青緑の三本線。
   --------------------------------------------------------------------------- */
html[data-theme="retro"]{--bg:#f6ecd6;--surface:#fbf4e3;--ink:#2a1f16;--ink-sub:#6f604c;--ink-faint:#b3a181;--line:#dccaa6;--line-strong:#2a1f16;--surface-2:#efe2c4;
  --brand:#d9472b;--on-brand:#fbf4e3;--brand-soft:#f8dcc9;--ok:#2f7f73;--on-ok:#fbf4e3;--hi:#e8a33d;--on-hi:#2a1f16;--link:#24386b;--warn:#c0631b;--danger:#d9472b;
  --map-sea:#bcd9cf;--map-land:#fbf4e3;--map-line:#b39f7c;--map-border:#2a1f16;--pin-gym:#d9472b;--pin-crag:#2f7f73;--pin-world:#e8a33d;--pin-ink:#fbf4e3;--empty-seg:#e9e9e7;
  --map-local-line:#8a7552;--map-country-line:#a08a62;--closed:#a39a8a;--danger-soft:#f6d3c8;--ok-soft:#d7ebe2;--warn-soft:#f6e3bd;--warn-ink:#b07a1c;
  --paper-texture:color-mix(in srgb,#5a3c14 7%,transparent);--hi-wash:color-mix(in srgb,var(--hi) 55%,transparent);--map-texture:color-mix(in srgb,#14463c 18%,transparent);
  --retro:"Dela Gothic One","Zen Kaku Gothic New",sans-serif;
  --stripes:linear-gradient(var(--brand) 0 33.3%,var(--hi) 0 66.6%,var(--ok) 0)}
html[data-theme="retro"] body,html[data-theme="retro"] .app{background:var(--bg)}
html[data-theme="retro"] .screen,html[data-theme="retro"] .sheet,html[data-theme="retro"] .listpage,html[data-theme="retro"] .sp,html[data-theme="retro"] .nav,html[data-theme="retro"] .gtabs,html[data-theme="retro"] .listmode .maptop{
  background-color:var(--bg);background-image:radial-gradient(var(--paper-texture) 1px,transparent 1.2px);background-size:7px 7px}
/* 見出しの帯の下に三本線 */
html[data-theme="retro"] .nav{border-bottom:0;box-shadow:none}
html[data-theme="retro"] .nav::after,html[data-theme="retro"] .pagehead::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:9px;background:var(--stripes)}
html[data-theme="retro"] .pagehead{position:relative;margin-bottom:20px;padding-bottom:12px}
html[data-theme="retro"] .nav h1{font-family:var(--retro);font-weight:400;letter-spacing:.03em}
html[data-theme="retro"] .pagehead h1{font-family:var(--retro);font-weight:400;font-size:28px;letter-spacing:.02em;color:var(--ink);text-shadow:2px 2px 0 var(--hi)}
html[data-theme="retro"] .gtitle h1,html[data-theme="retro"] .ptitle h1,html[data-theme="retro"] .mehead b,html[data-theme="retro"] .sthead b,html[data-theme="retro"] .row .n,html[data-theme="retro"] .card .n,html[data-theme="retro"] .head b,html[data-theme="retro"] .pmeta b,html[data-theme="retro"] .hhead b,html[data-theme="retro"] .wallcard b{font-family:var(--retro);font-weight:400;letter-spacing:.02em}
html[data-theme="retro"] .gtitle h1{font-size:27px;text-shadow:2px 2px 0 var(--hi)}
html[data-theme="retro"] .row .n{font-size:17px;color:var(--link)}
/* 節の見出し: からし色の太い下線 */
html[data-theme="retro"] .sec h2{font-family:var(--retro);font-weight:400;letter-spacing:.03em;font-size:17px}
html[data-theme="retro"] .sec h2>:first-child:not(a):not(.sample){}
html[data-theme="retro"] .sec h2{background:linear-gradient(transparent 62%,var(--hi-wash) 62% 92%,transparent 92%) no-repeat 0 0/var(--hw,100%) 100%}
/* 物の縁: 太いインクの線＋ずらした影 */
html[data-theme="retro"] .search,html[data-theme="retro"] .toggle,html[data-theme="retro"] .chip,html[data-theme="retro"] .card,html[data-theme="retro"] .tomap,html[data-theme="retro"] .hcard,html[data-theme="retro"] .lvc,html[data-theme="retro"] .cempty,html[data-theme="retro"] .tries,html[data-theme="retro"] .head,html[data-theme="retro"] .p3d,html[data-theme="retro"] .sp-box{
  background:var(--surface);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}
html[data-theme="retro"] .card{border-radius:12px;box-shadow:4px 4px 0 var(--ink)}
html[data-theme="retro"] .head{border-radius:8px;margin:10px 16px 8px}
html[data-theme="retro"] .chip{height:34px;box-shadow:2px 2px 0 var(--ink)}
html[data-theme="retro"] .chip[aria-pressed="true"]{background:var(--hi);color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
html[data-theme="retro"] .listmode .chip{box-shadow:2px 2px 0 var(--ink)}
html[data-theme="retro"] .toggle[aria-pressed="true"]{background:var(--ok);color:var(--surface)}
html[data-theme="retro"] .btn{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:10px;font-family:var(--retro);font-weight:400;letter-spacing:.04em;transition:transform .08s,box-shadow .08s}
html[data-theme="retro"] .btn:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}
html[data-theme="retro"] .btn.line{background:var(--surface);color:var(--ink)}
html[data-theme="retro"] .btn.gray{background:var(--surface-2)}
html[data-theme="retro"] .gdock .btn.line[aria-pressed="true"]{background:var(--ok);color:var(--surface)}
html[data-theme="retro"] .gdock,html[data-theme="retro"] .savebar{background:linear-gradient(to top,var(--bg) 70%,transparent)}
/* 写真と課題の絵: インクの額縁 */
html[data-theme="retro"] .wallcard .ph,html[data-theme="retro"] .pcard .pimg,html[data-theme="retro"] .post .pimg,html[data-theme="retro"] .thumbs img,html[data-theme="retro"] .hstrip .pimg,html[data-theme="retro"] .stgrid .pimg{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:8px}
html[data-theme="retro"] .pimg .badge,html[data-theme="retro"] .wallcard .pill{background:var(--surface);border:1.5px solid var(--ink);border-radius:4px}
/* 札 */
html[data-theme="retro"] .tag{border:1.5px solid var(--ink);border-radius:3px;background:var(--surface);font-family:var(--retro);font-weight:400;letter-spacing:.04em}
html[data-theme="retro"] .tag.d3{background:var(--brand);border-color:var(--ink);color:var(--surface)}
html[data-theme="retro"] .ftag{background:var(--surface);color:var(--ink);border:1.5px solid var(--ink);border-radius:999px}
html[data-theme="retro"] .sample{border:1px dashed var(--ink-sub);color:var(--ink-sub);background:transparent}
html[data-theme="retro"] .tchips button,html[data-theme="retro"] .feels button,html[data-theme="retro"] .lc,html[data-theme="retro"] .fac,html[data-theme="retro"] .themes button{background:var(--surface);border:1.5px solid var(--ink)}
html[data-theme="retro"] .tchips button[aria-pressed="true"],html[data-theme="retro"] .feels button[aria-pressed="true"],html[data-theme="retro"] .themes button[aria-pressed="true"]{background:var(--hi);color:var(--ink);border-color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
/* 罫線は点線に */
html[data-theme="retro"] .row,html[data-theme="retro"] .post,html[data-theme="retro"] .info li,html[data-theme="retro"] .grow,html[data-theme="retro"] .lday,html[data-theme="retro"] .feetab td,html[data-theme="retro"] .rows .r,html[data-theme="retro"] .sp-row,html[data-theme="retro"] .hrow{border-bottom:1.5px dashed var(--line)}
html[data-theme="retro"] .info li:first-child{border-top:1.5px dashed var(--line)}
html[data-theme="retro"] .pstats{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
html[data-theme="retro"] .pstats b,html[data-theme="retro"] .mestats b,html[data-theme="retro"] .lvc b,html[data-theme="retro"] .keyrow .t{font-family:var(--retro);font-weight:400}
/* ジムのタブ: 札を並べた形 */
html[data-theme="retro"] .gtabs{border-bottom:2px solid var(--ink);gap:4px;padding:0 10px}
html[data-theme="retro"] .gtabs button{font-family:var(--retro);font-weight:400;color:var(--ink-sub);border:2px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;margin-bottom:-2px}
html[data-theme="retro"] .gtabs button[aria-selected="true"]{color:var(--ink);background:var(--surface);border-color:var(--ink)}
html[data-theme="retro"] .gtabs button[aria-selected="true"]::after{display:none}
/* 数字の札（マイページ） */
html[data-theme="retro"] .mestats{background:var(--link);color:var(--surface);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:12px;position:relative;overflow:hidden;padding-bottom:20px}
html[data-theme="retro"] .mestats::after{content:"";position:absolute;left:0;right:0;bottom:0;height:9px;background:var(--stripes)}
html[data-theme="retro"] .av{background:var(--hi);color:var(--ink);border:2px solid var(--ink)}
html[data-theme="retro"] .nic{background:var(--hi);color:var(--ink);border:2px solid var(--ink)}
html[data-theme="retro"] .day{background:var(--surface);border:1px solid var(--line)}
html[data-theme="retro"] .day.on{background:var(--brand);color:var(--surface);border-color:var(--ink)}
html[data-theme="retro"] .gbar,html[data-theme="retro"] .xpbar,html[data-theme="retro"] .hb div{background:var(--surface);border:1.5px solid var(--ink);height:10px}
html[data-theme="retro"] .gbar i,html[data-theme="retro"] .xpbar i,html[data-theme="retro"] .hb i{background:var(--ok);border-radius:0}
html[data-theme="retro"] .axbar{background:var(--surface);border:1.5px solid var(--ink);height:8px}
html[data-theme="retro"] .axbar i{background:var(--brand);border:2px solid var(--ink);box-shadow:none}
html[data-theme="retro"] .dots i{background:var(--surface);border:1.5px solid var(--ink)}html[data-theme="retro"] .dots i.on{background:var(--ok)}
/* 地図: 刷り物の地図 */
html[data-theme="retro"] .map{background-color:var(--map-sea);background-image:radial-gradient(var(--map-texture) 1px,transparent 1.3px);background-size:6px 6px}
html[data-theme="retro"] .pref{fill:var(--surface);stroke:var(--map-local-line)}
html[data-theme="retro"] .pin{fill:var(--brand);stroke:var(--ink);stroke-width:1.2}
html[data-theme="retro"] .pin.unknown{fill:var(--hi)}html[data-theme="retro"] .pin.home,html[data-theme="retro"] .pin.sel{fill:var(--ok);stroke:var(--ink)}
html[data-theme="retro"] .label{fill:var(--ink);stroke:var(--surface)}
html[data-theme="retro"] .mapnote{background:var(--surface)}
html[data-theme="retro"] .grip i{background:var(--ink);opacity:.5}
html[data-theme="retro"] .sheet{border-top:2px solid var(--ink);border-radius:18px 18px 0 0;box-shadow:0 -3px 0 var(--hi)}
/* ロゴ */
html[data-theme="retro"] .logo{flex:none;font-family:var(--retro);font-size:15px;letter-spacing:.04em;color:var(--surface);background:var(--brand);border-radius:6px;padding:3px 9px 4px;box-shadow:inset 0 0 0 2px var(--surface),0 0 0 1.5px var(--ink);margin-right:2px}
/* 下のタブ: 紙の帯に、選んでいる所をからし色の丸で */
html[data-theme="retro"] .tabbar{background:var(--surface);border-top:2px solid var(--ink)}
html[data-theme="retro"] .tabbar button{color:var(--ink-sub)}
html[data-theme="retro"] .tabbar button[aria-current="page"]{color:var(--ink)}
html[data-theme="retro"] .tabbar button[aria-current="page"]:not(.plus) svg{background:var(--hi);border-radius:999px;box-shadow:0 0 0 4px var(--hi);stroke:var(--ink)}
html[data-theme="retro"] .tabbar .plus span{background:var(--brand);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);color:var(--surface)}
html[data-theme="retro"] .toast{background:var(--surface);color:var(--ink);border:2px solid var(--ink)}

/* ---------------------------------------------------------------------------
   スタイリッシュ: 夜のボルダリング・競技会の中継画面。黒地、角は直角、細い罫、
   大文字の見出しと大きな数字。差し色は蛍光の黄緑 1 つ（押す所と「今ここ」だけ）。
   --------------------------------------------------------------------------- */
html[data-theme="stylish"]{--bg:#0c0c0d;--surface:#161618;--ink:#f3f3ef;--ink-sub:#9a9a96;--ink-faint:#5c5c5a;--line:#2a2a2c;--line-strong:#3a3a3d;--surface-2:#1d1d20;
  --brand:#c6f432;--on-brand:#0c0c0d;--brand-soft:#232b0c;--ok:#c6f432;--on-ok:#0c0c0d;--hi:#c6f432;--on-hi:#0c0c0d;--link:#c6f432;--warn:#ffb020;--danger:#ff4d4d;
  --map-sea:#0c0c0d;--map-land:#1b1b1e;--map-line:#38383c;--map-border:#3a3a3d;--pin-gym:#c6f432;--pin-crag:#ff8a3d;--pin-world:#c9a23a;--pin-ink:#0c0c0d;--empty-seg:#e9e9e7;
  --map-line-strong:#4a4a4f;--tab-ink:#6f6f6c;--closed:#555;--danger-soft:#2a1212;--danger-ink:#ff6b6b;--error-ink:#ff8a8a;--map-note:color-mix(in srgb,var(--bg) 80%,transparent);
  --sty:"Archivo Black","Zen Kaku Gothic New",sans-serif;color-scheme:dark;counter-reset:sec}
html[data-theme="stylish"] body,html[data-theme="stylish"] .app,html[data-theme="stylish"] .screen,html[data-theme="stylish"] .sheet,html[data-theme="stylish"] .listpage,html[data-theme="stylish"] .sp,html[data-theme="stylish"] .nav,html[data-theme="stylish"] .gtabs,html[data-theme="stylish"] .listmode .maptop{background:var(--bg);color:var(--ink)}
html[data-theme="stylish"] *{border-radius:0!important}
html[data-theme="stylish"] .av,html[data-theme="stylish"] .axbar i,html[data-theme="stylish"] .dots i{border-radius:50%!important}
html[data-theme="stylish"] .search,html[data-theme="stylish"] .toggle,html[data-theme="stylish"] .chip,html[data-theme="stylish"] .card,html[data-theme="stylish"] .tomap,html[data-theme="stylish"] .p3d,html[data-theme="stylish"] .sheet,html[data-theme="stylish"] .chip[aria-pressed="true"],html[data-theme="stylish"] .listmode .chip{box-shadow:none}
html[data-theme="stylish"] .ib svg,html[data-theme="stylish"] .ic{stroke:currentColor}
/* 帯の見出し */
html[data-theme="stylish"] .nav{border-bottom:1px solid var(--line)}
html[data-theme="stylish"] .nav h1{font-family:var(--sty);font-weight:400;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--ink-sub)}
html[data-theme="stylish"] .pagehead{border-bottom:1px solid var(--line);padding-bottom:12px;margin:0 16px;padding-left:0;padding-right:0}
html[data-theme="stylish"] .pagehead h1{font-family:var(--sty);font-weight:400;font-size:36px;line-height:1.02;letter-spacing:-.01em;text-transform:uppercase}
html[data-theme="stylish"] .pagehead h1::after{content:"";display:inline-block;width:.32em;height:.32em;background:var(--brand);margin-left:.12em}
html[data-theme="stylish"] .gtitle h1,html[data-theme="stylish"] .ptitle h1{font-family:var(--sty);font-weight:400;font-size:30px;line-height:1.08;letter-spacing:-.01em;text-transform:uppercase}
html[data-theme="stylish"] .gtitle{border-left:4px solid var(--brand);margin-left:16px;padding-left:12px}
html[data-theme="stylish"] .row .n,html[data-theme="stylish"] .card .n,html[data-theme="stylish"] .mehead b,html[data-theme="stylish"] .sthead b,html[data-theme="stylish"] .wallcard b,html[data-theme="stylish"] .pmeta b,html[data-theme="stylish"] .hhead b{font-family:var(--sty);font-weight:400;letter-spacing:0}
/* 節の見出し: 番号つき */
html[data-theme="stylish"] .sec{border-top:1px solid var(--line);margin:24px 16px 0;padding:12px 0 0}
html[data-theme="stylish"] .sec h2{counter-increment:sec;font-family:var(--sty);font-weight:400;font-size:15px;text-transform:uppercase;letter-spacing:.05em;justify-content:flex-start;gap:10px}
html[data-theme="stylish"] .sec h2::before{content:counter(sec,decimal-leading-zero);font-size:11px;color:var(--brand);letter-spacing:.08em}
html[data-theme="stylish"] .sec h2 a,html[data-theme="stylish"] .sec h2 .link{margin-left:auto}
/* 面: 黒より一段明るい板、細い罫、影なし */
html[data-theme="stylish"] .search,html[data-theme="stylish"] .toggle,html[data-theme="stylish"] .tomap,html[data-theme="stylish"] .hcard,html[data-theme="stylish"] .lvc,html[data-theme="stylish"] .cempty,html[data-theme="stylish"] .tries,html[data-theme="stylish"] .sp-box,html[data-theme="stylish"] .p3d,html[data-theme="stylish"] .card{background:var(--surface);border:1px solid var(--map-border);color:var(--ink)}
html[data-theme="stylish"] .search{color:var(--ink-sub)}
html[data-theme="stylish"] .toggle small{color:var(--ink)}
html[data-theme="stylish"] .head{background:var(--surface);border-left:3px solid var(--brand);margin:6px 14px 4px}
html[data-theme="stylish"] .head b{font-family:var(--sty);font-weight:400;text-transform:uppercase;letter-spacing:.05em}
html[data-theme="stylish"] .chip{border:1px solid var(--map-border);background:var(--surface);color:var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
html[data-theme="stylish"] .chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
html[data-theme="stylish"] .listmode .search,html[data-theme="stylish"] .listmode .toggle{border:1px solid var(--map-border)}
html[data-theme="stylish"] .toggle[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}html[data-theme="stylish"] .toggle[aria-pressed="true"] small{color:var(--on-brand)}
html[data-theme="stylish"] .btn{font-family:var(--sty);font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:14px;color:var(--on-brand)}
html[data-theme="stylish"] .btn.line{border:1px solid var(--ink);color:var(--ink);background:transparent}
html[data-theme="stylish"] .btn.gray{background:var(--surface-2);color:var(--ink)}
html[data-theme="stylish"] .gdock .btn.line[aria-pressed="true"]{background:var(--ink);color:var(--on-brand)}
html[data-theme="stylish"] .gdock,html[data-theme="stylish"] .savebar{background:linear-gradient(to top,var(--bg) 70%,transparent)}
/* 札 */
html[data-theme="stylish"] .tag{border:1px solid var(--ink);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
html[data-theme="stylish"] .tag.d3{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
html[data-theme="stylish"] .tag.st{border-color:var(--warn);color:var(--warn)}
html[data-theme="stylish"] .ftag{background:transparent;color:var(--brand);border:1px solid var(--brand);font-size:11px;letter-spacing:.04em}
html[data-theme="stylish"] .sample{background:transparent;border-color:var(--map-border);color:var(--ink-sub)}
html[data-theme="stylish"] .tchips button,html[data-theme="stylish"] .feels button,html[data-theme="stylish"] .themes button,html[data-theme="stylish"] .lc,html[data-theme="stylish"] .fac{border:1px solid var(--map-border);background:var(--surface);color:var(--ink)}
html[data-theme="stylish"] .tchips button[aria-pressed="true"],html[data-theme="stylish"] .feels button[aria-pressed="true"],html[data-theme="stylish"] .themes button[aria-pressed="true"]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
/* ジムのタブ */
html[data-theme="stylish"] .gtabs{border-bottom:1px solid var(--line);margin-top:18px}
html[data-theme="stylish"] .gtabs button{font-family:var(--sty);font-weight:400;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
html[data-theme="stylish"] .gtabs button[aria-selected="true"]{color:var(--ink)}
html[data-theme="stylish"] .gtabs button[aria-selected="true"]::after{background:var(--brand);height:3px}
/* 数字: 大きく、等幅で */
html[data-theme="stylish"] .pstats{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
html[data-theme="stylish"] .pstats div+div{border-left:1px solid var(--line)}
html[data-theme="stylish"] .pstats b,html[data-theme="stylish"] .mestats b,html[data-theme="stylish"] .lvc b,html[data-theme="stylish"] .keyrow .t{font-family:var(--sty);font-weight:400;font-variant-numeric:tabular-nums}
html[data-theme="stylish"] .pstats b{font-size:30px}
html[data-theme="stylish"] .mestats{background:var(--bg);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}
html[data-theme="stylish"] .mestats b{font-size:42px;line-height:1;color:var(--brand)}
html[data-theme="stylish"] .mestats div+div{border-left:1px solid var(--line)}
html[data-theme="stylish"] .mestats span{text-transform:uppercase;letter-spacing:.06em;font-weight:700;opacity:1;color:var(--ink-sub)}
html[data-theme="stylish"] .lvc .k,html[data-theme="stylish"] .keyrow .k{color:var(--brand);text-transform:uppercase;letter-spacing:.08em}
html[data-theme="stylish"] .av{background:var(--surface-2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--map-border)}
html[data-theme="stylish"] .nic{background:var(--brand-soft);color:var(--brand)}
html[data-theme="stylish"] .day{background:var(--surface);color:var(--ink-sub)}html[data-theme="stylish"] .day.on{background:var(--brand);color:var(--on-brand)}
html[data-theme="stylish"] .day.today{box-shadow:inset 0 0 0 1.5px var(--ink)}
html[data-theme="stylish"] .gbar,html[data-theme="stylish"] .xpbar,html[data-theme="stylish"] .hb div{background:var(--surface-2);height:6px}
html[data-theme="stylish"] .gbar i,html[data-theme="stylish"] .xpbar i,html[data-theme="stylish"] .hb i{background:var(--brand)}
html[data-theme="stylish"] .axbar{background:var(--map-border);height:2px}
html[data-theme="stylish"] .axbar i{background:var(--brand);border:0;box-shadow:none;width:12px;height:12px}
html[data-theme="stylish"] .dots i{background:var(--surface-2)}html[data-theme="stylish"] .dots i.on{background:var(--brand)}
html[data-theme="stylish"] .cols i{box-shadow:none}
/* 写真の上の札 */
html[data-theme="stylish"] .pimg .badge,html[data-theme="stylish"] .wallcard .pill{background:var(--on-brand);color:var(--ink);box-shadow:inset 0 0 0 1px var(--map-border)}
html[data-theme="stylish"] .pimg .badge,html[data-theme="stylish"] .pimg .badge *{color:var(--ink)}
html[data-theme="stylish"] .row,html[data-theme="stylish"] .post,html[data-theme="stylish"] .info li,html[data-theme="stylish"] .grow,html[data-theme="stylish"] .lday,html[data-theme="stylish"] .rows .r,html[data-theme="stylish"] .sp-row,html[data-theme="stylish"] .feetab td,html[data-theme="stylish"] .feetab th,html[data-theme="stylish"] .hrow{border-bottom:1px solid var(--line)}
html[data-theme="stylish"] .info li:first-child{border-top:1px solid var(--line)}
html[data-theme="stylish"] .info .l{text-transform:uppercase;letter-spacing:.04em;font-size:12px;color:var(--ink-sub)}
html[data-theme="stylish"] .sp-h{background:var(--surface)}
html[data-theme="stylish"] .mark{color:var(--ink-faint)}
/* 地図: 黒の海に、濃い灰の陸、光る点 */
html[data-theme="stylish"] .map{background:var(--map-sea)}
html[data-theme="stylish"] .pref{fill:var(--map-land);stroke:var(--map-line)}
html[data-theme="stylish"] .pin{fill:var(--brand);stroke:var(--on-brand)}
html[data-theme="stylish"] .pin.sel,html[data-theme="stylish"] .pin.home{fill:var(--viewer-ink);stroke:var(--brand)}
html[data-theme="stylish"] .label{fill:var(--ink);stroke:var(--on-brand)}
html[data-theme="stylish"] .bub rect{fill:var(--surface);stroke:var(--map-border)}html[data-theme="stylish"] .bub text{fill:var(--ink)}
html[data-theme="stylish"] .bub.on rect{fill:var(--brand);stroke:var(--brand)}html[data-theme="stylish"] .bub.on text{fill:var(--on-brand)}
html[data-theme="stylish"] .mapnote{background:var(--map-note)}
html[data-theme="stylish"] .sheet{border-top:1px solid var(--map-border)}
html[data-theme="stylish"] .grip i{background:var(--ink-sub);height:3px;width:32px}
/* ロゴ */
html[data-theme="stylish"] .logo{flex:none;font-family:var(--sty);font-size:13px;letter-spacing:.12em;color:var(--on-brand);background:var(--brand);padding:4px 8px;margin-right:2px}
/* 下のタブ: 選んでいる所は上に黄緑の線 */
html[data-theme="stylish"] .tabbar{background:var(--on-brand);border-top:1px solid var(--line)}
html[data-theme="stylish"] .tabbar button{color:var(--tab-ink);position:relative;text-transform:uppercase;letter-spacing:.04em}
html[data-theme="stylish"] .tabbar button[aria-current="page"]{color:var(--ink)}
html[data-theme="stylish"] .tabbar button[aria-current="page"]:not(.plus)::before{content:"";position:absolute;left:24%;right:24%;top:-4px;height:3px;background:var(--brand)}
html[data-theme="stylish"] .tabbar .plus span{background:var(--brand);color:var(--on-brand)}
html[data-theme="stylish"] .toast{background:var(--brand);color:var(--on-brand);font-family:var(--sty);font-weight:400;letter-spacing:.04em}

/* --- シンプル: ロゴだけ整える（他は元のまま） --- */
html:not([data-theme="retro"]):not([data-theme="stylish"]) .logo{flex:none;font-weight:900;font-size:14px;color:var(--viewer-ink);background:var(--brand);border-radius:8px;padding:3px 9px;margin-right:2px}
/* レトロ: 帯の三本線の分だけ下を空ける */
html[data-theme="retro"] .nav{margin-bottom:12px}
html[data-theme="retro"] .gtabs{top:calc(60px + env(safe-area-inset-top,0px))}
/* スタイリッシュ: 地図の県境を少し見えるように */
html[data-theme="stylish"] .pref{stroke:var(--map-line-strong)}
/* 検索の画面 */
html[data-theme="retro"] .spp{background:var(--surface);border:1.5px solid var(--ink);border-radius:8px}
html[data-theme="retro"] .spp[aria-pressed="true"]{background:var(--hi);color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
html[data-theme="retro"] .spp[aria-pressed="true"] small{color:var(--ink)}
html[data-theme="retro"] .sps h3{font-family:var(--retro);font-weight:400;letter-spacing:.03em}
html[data-theme="retro"] .sptabs{border-bottom:2px solid var(--ink)}
html[data-theme="retro"] .sptabs button{font-family:var(--retro);font-weight:400}
html[data-theme="retro"] .sptabs button[aria-selected="true"]{color:var(--ink)}
html[data-theme="retro"] .sptabs button[aria-selected="true"]::after{background:var(--stripes);height:9px;bottom:-2px}
html[data-theme="retro"] .spfoot{background:var(--surface);border-top:2px solid var(--ink)}
html[data-theme="retro"] .spn b{font-family:var(--retro);font-weight:400}
html[data-theme="stylish"] .spp{background:var(--surface);border:1px solid var(--map-border);font-size:13px}
html[data-theme="stylish"] .spp[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
html[data-theme="stylish"] .spp[aria-pressed="true"] small{color:var(--on-brand)}
html[data-theme="stylish"] .sps h3{font-family:var(--sty);font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:13px}
html[data-theme="stylish"] .sptabs button{font-family:var(--sty);font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
html[data-theme="stylish"] .sptabs button[aria-selected="true"]{color:var(--ink)}
html[data-theme="stylish"] .spfoot{background:var(--on-brand);border-top:1px solid var(--line)}
html[data-theme="stylish"] .spn b{font-family:var(--sty);font-weight:400;color:var(--brand);font-size:26px}
html[data-theme="stylish"] .spp.near .ic{stroke:currentColor}
html[data-theme="retro"] .tag.fl{background:var(--ok);color:var(--surface);border-color:var(--ink)}
html[data-theme="retro"] .fac.fl{background:var(--ok);color:var(--surface);border-color:var(--ink)}
html[data-theme="stylish"] .tag.fl,html[data-theme="stylish"] .fac.fl{border-color:var(--brand);color:var(--brand);background:transparent}
html[data-theme="retro"] .spx{background:var(--ok);color:var(--surface);border:1.5px solid var(--ink)}
html[data-theme="retro"] .spbadge{background:var(--brand);color:var(--surface)}
html[data-theme="retro"] .spsel{border-bottom:1.5px dashed var(--line)}
html[data-theme="stylish"] .spx{background:var(--brand);color:var(--on-brand)}
html[data-theme="stylish"] .spbadge{background:var(--brand);color:var(--on-brand)}
/* 外岩 */
html[data-theme="retro"] .pin.crag{fill:var(--ok);stroke:var(--ink)}html[data-theme="retro"] .pin.crag.closed{fill:var(--closed)}
html[data-theme="retro"] .tag.crag{background:var(--ok);color:var(--surface);border-color:var(--ink)}
html[data-theme="retro"] .accbox{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:var(--surface)}
html[data-theme="retro"] .accbox.ng{background:var(--danger-soft)}html[data-theme="retro"] .accbox.ok{background:var(--ok-soft)}html[data-theme="retro"] .accbox.rule{background:var(--warn-soft)}
html[data-theme="stylish"] .pin.crag{fill:var(--pin-crag);stroke:var(--on-brand)}html[data-theme="stylish"] .pin.crag.closed{fill:var(--closed)}
html[data-theme="stylish"] .tag.crag{background:var(--pin-crag);border-color:var(--pin-crag);color:var(--on-brand)}
html[data-theme="stylish"] .accbox{background:var(--surface);border:1px solid var(--map-border)}
html[data-theme="stylish"] .accbox.ok{border-left:4px solid var(--brand)}html[data-theme="stylish"] .accbox.ok b{color:var(--brand)}
html[data-theme="stylish"] .accbox.rule{border-left:4px solid var(--warn);background:var(--surface)}html[data-theme="stylish"] .accbox.rule b{color:var(--warn)}
html[data-theme="stylish"] .accbox.ng{border-left:4px solid var(--danger);background:var(--danger-soft)}html[data-theme="stylish"] .accbox.ng b{color:var(--danger-ink)}
html[data-theme="stylish"] .tag.acc.ng{background:var(--danger);border-color:var(--danger);color:var(--on-brand)}
html[data-theme="retro"] g.pin circle{stroke:var(--ink)}
html[data-theme="retro"] g.pin .gf{fill:var(--surface)}html[data-theme="retro"] g.pin .gs{stroke:var(--surface)}
html[data-theme="stylish"] g.pin circle{stroke:var(--on-brand)}
html[data-theme="stylish"] g.pin .gf{fill:var(--on-brand)}html[data-theme="stylish"] g.pin .gs{stroke:var(--on-brand)}
html[data-theme="stylish"] g.pin.sel .gf{fill:var(--on-brand)}
html[data-theme="stylish"] .tag.crag .tg .gf{fill:var(--on-brand)}
html[data-theme="retro"] .tag.crag .tg .gf{fill:var(--surface)}
html[data-theme="retro"] .fx input[type=text],html[data-theme="retro"] .fx input[type=number],html[data-theme="retro"] .fx input[type=url],html[data-theme="retro"] .fx textarea{background:var(--surface);border:2px solid var(--ink);border-radius:8px}
html[data-theme="retro"] .fxhead b{font-family:var(--retro);font-weight:400;font-size:22px;text-shadow:2px 2px 0 var(--hi)}
html[data-theme="retro"] .fxmsg{background:var(--danger-soft);color:var(--ink);border:2px solid var(--ink)}
html[data-theme="retro"] .fxfoot{background:linear-gradient(to top,var(--bg) 75%,transparent)}
html[data-theme="stylish"] .fx input[type=text],html[data-theme="stylish"] .fx input[type=number],html[data-theme="stylish"] .fx input[type=url],html[data-theme="stylish"] .fx textarea{background:var(--surface);border:1px solid var(--map-border);color:var(--ink)}
html[data-theme="stylish"] .fxfoot{background:linear-gradient(to top,var(--bg) 75%,transparent)}
html[data-theme="stylish"] .fxmsg{background:var(--danger-soft);color:var(--error-ink)}
html[data-theme="retro"] .tag.now{background:var(--ok);color:var(--surface);border-color:var(--ink)}
html[data-theme="retro"] .tag.off{background:transparent;border-style:dashed;border-color:var(--ink-sub)}
html[data-theme="stylish"] .tag.now{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
/* 課題の道具 */
html[data-theme="retro"] .ptabs button{background:var(--surface);border:2px solid var(--ink);font-family:var(--retro);font-weight:400;letter-spacing:.04em}
html[data-theme="retro"] .ptabs button[aria-pressed="true"]{background:var(--hi);color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
html[data-theme="retro"] .ov .pin2 circle{fill:var(--brand)}html[data-theme="retro"] .ov .pin2.others circle{fill:var(--link)}
html[data-theme="retro"] .ov .fig .fi{stroke:var(--hi);fill:var(--hi)}
html[data-theme="retro"] .tn{background:var(--brand);border:1.5px solid var(--ink)}html[data-theme="retro"] .tn.others{background:var(--link)}
html[data-theme="retro"] .tipf textarea,html[data-theme="retro"] .bodyf input{background:var(--surface);border:2px solid var(--ink);border-radius:8px}
html[data-theme="stylish"] .ptabs button{background:var(--surface);border:1px solid var(--map-border);color:var(--ink);font-family:var(--sty);font-weight:400;text-transform:uppercase;letter-spacing:.05em}
html[data-theme="stylish"] .ptabs button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
html[data-theme="stylish"] .tipf textarea,html[data-theme="stylish"] .bodyf input{background:var(--surface);border:1px solid var(--map-border);color:var(--ink)}
html[data-theme="retro"] .pzoom{background:var(--surface);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}
html[data-theme="retro"] .sort select{color:var(--brand);font-family:var(--retro);font-weight:400;letter-spacing:.03em}
html[data-theme="stylish"] .sort select{color:var(--brand)}
html[data-theme="retro"] .pref.world{fill:var(--surface);stroke:var(--map-line)}
html[data-theme="retro"] .clu circle{fill:var(--brand);stroke:var(--ink)}html[data-theme="retro"] .clu text{fill:var(--surface)}
html[data-theme="stylish"] .pref.world{fill:var(--map-land);stroke:var(--map-line)}html[data-theme="stylish"] .clu circle{fill:var(--brand);stroke:var(--on-brand)}html[data-theme="stylish"] .clu text{fill:var(--on-brand)}
html[data-theme="retro"] .dots{stroke:var(--brand)}html[data-theme="retro"] .dots.crag{stroke:var(--ok)}
html[data-theme="retro"] .rlab .rn{fill:var(--brand)}html[data-theme="retro"] .cell{fill:var(--brand)}
html[data-theme="retro"] .mk{fill:var(--brand)}html[data-theme="retro"] .mk.crag{fill:var(--ok)}html[data-theme="retro"] .mk.unk{fill:var(--hi)}html[data-theme="retro"] .mk.home,html[data-theme="retro"] .mk.sel{fill:var(--ink)}
html[data-theme="retro"] .pn .sh{fill:var(--ink)}
html[data-theme="retro"] .pn .bd{fill:var(--brand);stroke:var(--ink);stroke-width:1.8}
html[data-theme="retro"] .pn.crag .bd{fill:var(--ok)}html[data-theme="retro"] .pn.world .bd{fill:var(--hi)}
html[data-theme="retro"] .pn .gf{fill:var(--surface)}html[data-theme="retro"] .pn .gc,html[data-theme="retro"] .pn .gs{fill:var(--brand)}
html[data-theme="retro"] .pn .pt{fill:var(--surface)}html[data-theme="retro"] .pn .b3{fill:var(--link);stroke:var(--ink)}
html[data-theme="retro"] .pn.sel .bd,html[data-theme="retro"] .pn.home .bd{fill:var(--ink)}html[data-theme="retro"] .pn.sel .pt,html[data-theme="retro"] .pn.home .pt{fill:var(--hi)}
html[data-theme="retro"] .mk.world{fill:var(--hi)}
html[data-theme="retro"] .pn.crag .gc{fill:var(--ok)}html[data-theme="retro"] .pn.world .gc{fill:var(--hi)}
html[data-theme="retro"] .pn .pc{fill:var(--surface);font-family:"Dela Gothic One",var(--f);font-weight:400}html[data-theme="retro"] .pn .od{stroke:var(--ink)}
html[data-theme="retro"] .pn.sel .bd{fill:var(--brand);stroke:var(--ink);stroke-width:2.6}
html[data-theme="retro"] .pn.crag.sel .bd{fill:var(--ok)}html[data-theme="retro"] .pn.world.sel .bd{fill:var(--hi)}
html[data-theme="retro"] .pn.sel .pt,html[data-theme="retro"] .pn.sel .pc{fill:var(--surface)}html[data-theme="retro"] .pn.sel .gc{fill:var(--brand)}
.pn.sel{animation:pnpop .25s cubic-bezier(.3,1.6,.5,1)}@keyframes pnpop{from{opacity:.6}}
html[data-theme="retro"] .pn.sel .bd{fill:var(--surface);stroke:var(--brand);stroke-width:3}
html[data-theme="retro"] .pn.sel .gf,html[data-theme="retro"] .pn.sel .pc,html[data-theme="retro"] .pn.sel .pt{fill:var(--brand)}html[data-theme="retro"] .pn.sel .gc,html[data-theme="retro"] .pn.sel .gs{fill:var(--surface)}
html[data-theme="retro"] .pn.crag.sel .bd{fill:var(--surface);stroke:var(--ok)}html[data-theme="retro"] .pn.crag.sel .gf,html[data-theme="retro"] .pn.crag.sel .pc{fill:var(--ok)}
html[data-theme="retro"] .pn.world.sel .bd{fill:var(--surface);stroke:var(--hi)}html[data-theme="retro"] .pn.world.sel .gf,html[data-theme="retro"] .pn.world.sel .pc{fill:var(--warn-ink)}
html[data-theme="retro"] .pn.rg .bd{fill:var(--surface);stroke:var(--ink)}html[data-theme="retro"] .pn.rg .rc{fill:var(--brand)}
html[data-theme="retro"] .cname{font-family:var(--retro);font-weight:400;fill:var(--ink);opacity:.2}
/* 札（バッジ）は「営業中」だけ緑。ほかは全部白（3D・設備・外岩・営業時間外も） */
html[data-theme="retro"] .tag.d3,html[data-theme="retro"] .tag.fl,html[data-theme="retro"] .tag.crag,html[data-theme="retro"] .tag.off{background:var(--surface);color:var(--ink);border:1.2px solid var(--ink)}
html[data-theme="retro"] .tag.off{color:var(--ink-sub);border-color:var(--ink-sub)}
html[data-theme="retro"] .tag.crag .tg .gf{fill:var(--ink)}
/* 海外のジムも日本と同じ色（10/15 運用者） */
html[data-theme="retro"] .pn.world .bd{fill:var(--brand)}html[data-theme="retro"] .pn.world .gc{fill:var(--brand)}html[data-theme="retro"] .mk.world{fill:var(--brand)}
html[data-theme="retro"] .pn.world.sel .bd{fill:var(--surface);stroke:var(--brand)}html[data-theme="retro"] .pn.world.sel .gf,html[data-theme="retro"] .pn.world.sel .pc{fill:var(--brand)}
html[data-theme="retro"] .border{stroke:var(--map-country-line);stroke-width:1.1}
/* ==== 配色（パレット）: html[data-palette]。形（レトロの線・影）はそのまま、トークンの値だけを変える（10/15） ==== */
html[data-theme="retro"][data-palette="faded"]{--bg:#efe1c2;--surface:#f7eedb;--surface-2:#e6d4ad;--ink:#3b2a1a;--ink-sub:#7a654a;--ink-faint:#c9b48c;--line:#dcc9a2;--line-strong:#3b2a1a;
  --brand:#b5442c;--on-brand:#f7eedb;--brand-soft:#ecd1bd;--ok:#4f7a6b;--on-ok:#f7eedb;--ok-soft:#d8e3d6;--hi:#c98f2e;--on-hi:#3b2a1a;--link:#3b4f6b;--warn:#a85a22;--danger:#b5442c;
  --map-sea:#9cc3b4;--map-land:#f7eedb;--map-line:#c9b48c;--map-border:#3b2a1a;--map-local-line:#a8916a;--map-country-line:#a8916a;--pin-gym:#b5442c;--pin-crag:#4f7a6b;--pin-world:#c98f2e;--pin-ink:#f7eedb;
  --paper-texture:color-mix(in srgb,#5a3c14 9%,transparent);--map-texture:color-mix(in srgb,#3b2a1a 18%,transparent);
  --retro:"Mochiy Pop One","Zen Kaku Gothic New",sans-serif}
html[data-theme="retro"][data-palette="navy"]{--bg:#f4ecdc;--surface:#fbf6ec;--surface-2:#ebe2cf;--ink:#1f2d4a;--ink-sub:#5d6b85;--ink-faint:#a9b2c4;--line:#d9d2c2;--line-strong:#1f2d4a;
  --brand:#e8692a;--on-brand:#fbf6ec;--brand-soft:#f6d6c2;--ok:#2f6d8a;--on-ok:#fbf6ec;--ok-soft:#d3e2ea;--hi:#f0b73a;--on-hi:#1f2d4a;--link:#1f2d4a;--warn:#c4621f;--danger:#c8372d;
  --map-sea:#a9bfd6;--map-land:#fbf6ec;--map-line:#b9b3a3;--map-border:#1f2d4a;--map-local-line:#8d97ab;--map-country-line:#8d97ab;--pin-gym:#e8692a;--pin-crag:#2f6d8a;--pin-world:#f0b73a;--pin-ink:#fbf6ec;
  --paper-texture:color-mix(in srgb,#1f2d4a 6%,transparent);--map-texture:color-mix(in srgb,#1f2d4a 14%,transparent)}
html[data-theme="retro"][data-palette="forest"]{--bg:#f2ead8;--surface:#f8f3e6;--surface-2:#e7dec8;--ink:#24452f;--ink-sub:#5b6e5f;--ink-faint:#b3bca9;--line:#d8d0bb;--line-strong:#24452f;
  --brand:#e2552c;--on-brand:#f8f3e6;--brand-soft:#f5d4c6;--ok:#3f7d5a;--on-ok:#f8f3e6;--ok-soft:#d6e6db;--hi:#d9a441;--on-hi:#24452f;--link:#24452f;--warn:#b8641d;--danger:#c8372d;
  --map-sea:#b9cfc0;--map-land:#f8f3e6;--map-line:#bdb59f;--map-border:#24452f;--map-local-line:#93a08f;--map-country-line:#93a08f;--pin-gym:#e2552c;--pin-crag:#3f7d5a;--pin-world:#d9a441;--pin-ink:#f8f3e6;
  --paper-texture:color-mix(in srgb,#24452f 6%,transparent);--map-texture:color-mix(in srgb,#24452f 14%,transparent)}
/* ==== 形（スタイル）: html[data-style]。色ではなく線・影・地・字を変える（10/15） ==== */
/* 静か: 縁は細い線、影なし、網点なし、見出しは本文の字の太字 */
html[data-theme="retro"][data-style="quiet"] .screen,html[data-theme="retro"][data-style="quiet"] .sheet,html[data-theme="retro"][data-style="quiet"] .listpage,html[data-theme="retro"][data-style="quiet"] .sp,html[data-theme="retro"][data-style="quiet"] .nav,html[data-theme="retro"][data-style="quiet"] .gtabs{background-image:none}
html[data-theme="retro"][data-style="quiet"] .search,html[data-theme="retro"][data-style="quiet"] .toggle,html[data-theme="retro"][data-style="quiet"] .chip,html[data-theme="retro"][data-style="quiet"] .card,html[data-theme="retro"][data-style="quiet"] .tomap,html[data-theme="retro"][data-style="quiet"] .hcard,html[data-theme="retro"][data-style="quiet"] .head,html[data-theme="retro"][data-style="quiet"] .btn,html[data-theme="retro"][data-style="quiet"] .pimg,html[data-theme="retro"][data-style="quiet"] .ppost,html[data-theme="retro"][data-style="quiet"] .statsbtn{border-width:1px!important;box-shadow:none!important}
html[data-theme="retro"][data-style="quiet"] .chip{border-color:var(--line)!important}
html[data-theme="retro"][data-style="quiet"] .pagehead h1,html[data-theme="retro"][data-style="quiet"] .gtitle h1{font-family:var(--f);font-weight:900;text-shadow:none}
html[data-theme="retro"][data-style="quiet"] .nav::after,html[data-theme="retro"][data-style="quiet"] .pagehead::after{height:3px;bottom:-3px}
html[data-theme="retro"][data-style="quiet"] .sec h2{background:none;font-family:var(--f);font-weight:900}
html[data-theme="retro"][data-style="quiet"] .pn .sh{display:none}
html[data-theme="retro"][data-style="quiet"] .pn .bd{stroke-width:1}
/* ポスター: もっと太く、影は二重、写真に網点、見出しは大きく */
html[data-theme="retro"][data-style="poster"] .search,html[data-theme="retro"][data-style="poster"] .card,html[data-theme="retro"][data-style="poster"] .btn,html[data-theme="retro"][data-style="poster"] .pimg,html[data-theme="retro"][data-style="poster"] .hcard,html[data-theme="retro"][data-style="poster"] .head{border-width:3px!important;box-shadow:4px 4px 0 var(--hi),4px 4px 0 3px var(--ink)!important;border-radius:4px!important}
html[data-theme="retro"][data-style="poster"] .pagehead h1{font-size:40px;text-shadow:3px 3px 0 var(--hi),6px 6px 0 var(--brand)}
html[data-theme="retro"][data-style="poster"] .pimg{position:relative}
html[data-theme="retro"][data-style="poster"] .pimg::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(color-mix(in srgb,var(--ink) 35%,transparent) 1px,transparent 1.4px);background-size:4px 4px;mix-blend-mode:multiply}
html[data-theme="retro"][data-style="poster"] .pimg .gray{filter:grayscale(1) contrast(1.35) brightness(.75) sepia(.35)}
html[data-theme="retro"][data-style="poster"] .nav::after,html[data-theme="retro"][data-style="poster"] .pagehead::after{height:14px;bottom:-14px}
html[data-theme="retro"][data-style="poster"] .av{border-width:3px}
/* 紙もの: 角は丸く、影はやわらかく、字は丸い。日焼けした紙の配色と合わせる想定 */
html[data-theme="retro"][data-style="paper"] .search,html[data-theme="retro"][data-style="paper"] .card,html[data-theme="retro"][data-style="paper"] .btn,html[data-theme="retro"][data-style="paper"] .pimg,html[data-theme="retro"][data-style="paper"] .hcard,html[data-theme="retro"][data-style="paper"] .head,html[data-theme="retro"][data-style="paper"] .chip,html[data-theme="retro"][data-style="paper"] .statsbtn{border-width:1.5px!important;box-shadow:0 2px 0 color-mix(in srgb,var(--ink) 25%,transparent)!important;border-radius:18px!important}
html[data-theme="retro"][data-style="paper"] .pagehead h1,html[data-theme="retro"][data-style="paper"] .gtitle h1,html[data-theme="retro"][data-style="paper"] .nav h1,html[data-theme="retro"][data-style="paper"] .sec h2{font-family:"Mochiy Pop One",var(--f);font-weight:400;text-shadow:none}
html[data-theme="retro"][data-style="paper"] .pimg .gray{filter:grayscale(1) sepia(.45) contrast(.9) brightness(.8)}
html[data-theme="retro"][data-style="paper"] .nav::after,html[data-theme="retro"][data-style="paper"] .pagehead::after{height:6px;bottom:-6px;border-radius:3px}
/* ==== 方向ちがいの見た目（10/15 試し）: catalog＝登山用具のカタログ、topo＝山岳地形図 ==== */
html[data-theme="catalog"]{--bg:#f4ecdc;--surface:#fbf6ec;--surface-2:#ebe2cf;--ink:#1f2d4a;--ink-sub:#5d6b85;--ink-faint:#a9b2c4;--line:#d6cdb9;--line-strong:#1f2d4a;
  --brand:#e8692a;--on-brand:#fff;--brand-soft:#f6d6c2;--ok:#2f6d8a;--on-ok:#fff;--ok-soft:#d3e2ea;--hi:#1f2d4a;--on-hi:#f4ecdc;--link:#e8692a;--warn:#c4621f;--danger:#c8372d;
  --map-sea:#c9d6e2;--map-land:#fbf6ec;--map-line:#b9b3a3;--map-border:#1f2d4a;--map-local-line:#a0a8b8;--map-country-line:#8d97ab;--pin-gym:#1f2d4a;--pin-crag:#2f6d8a;--pin-world:#1f2d4a;--pin-ink:#fbf6ec}
html[data-theme="catalog"] body,html[data-theme="catalog"] .app,html[data-theme="catalog"] .screen,html[data-theme="catalog"] .sheet,html[data-theme="catalog"] .nav{background:var(--bg)}
html[data-theme="catalog"] *{border-radius:2px}
html[data-theme="catalog"] .pagehead h1,html[data-theme="catalog"] .gtitle h1,html[data-theme="catalog"] .nav h1{font-family:"Archivo Black","Zen Kaku Gothic New",sans-serif;letter-spacing:.04em;text-transform:uppercase}
html[data-theme="catalog"] .pagehead{border-bottom:2px solid var(--ink);margin:0 16px;padding-left:0;padding-right:0}
html[data-theme="catalog"] .pagehead h1{font-size:30px}
html[data-theme="catalog"] .pagehead p{text-transform:uppercase;letter-spacing:.08em;font-size:11px}
html[data-theme="catalog"] .search,html[data-theme="catalog"] .card,html[data-theme="catalog"] .head,html[data-theme="catalog"] .hcard{background:var(--surface);border:1px solid var(--ink);box-shadow:none}
html[data-theme="catalog"] .chip{background:var(--surface);border:1px solid var(--line);box-shadow:none}
html[data-theme="catalog"] .chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
html[data-theme="catalog"] .btn{background:var(--brand);color:#fff;border-radius:2px;letter-spacing:.06em}
html[data-theme="catalog"] .pimg{border-radius:0}html[data-theme="catalog"] .pimg .gray{filter:grayscale(1) contrast(1.05) brightness(.85)}
html[data-theme="catalog"] .av{background:var(--ink);color:var(--bg);border-radius:2px}
html[data-theme="catalog"] .post{border-bottom:1px solid var(--line)}
html[data-theme="catalog"] .tabbar{background:var(--surface);border-top:2px solid var(--ink)}
html[data-theme="catalog"] .tabbar .plus span{background:var(--brand);border-radius:2px}
html[data-theme="catalog"] .tabbar button[aria-current="page"]{color:var(--brand)}
html[data-theme="catalog"] .pn .bd{fill:var(--ink);stroke:var(--surface);stroke-width:1.5}html[data-theme="catalog"] .pn.crag .bd{fill:var(--ok)}html[data-theme="catalog"] .pn .sh{display:none}
html[data-theme="catalog"] .pn.sel .bd{fill:var(--brand);stroke:var(--surface)}html[data-theme="catalog"] .pn.sel .gf{fill:#fff}
html[data-theme="catalog"] .tag{border-radius:2px}
html[data-theme="topo"]{--bg:#efe6cf;--surface:#f6efdc;--surface-2:#e6dabb;--ink:#4a3320;--ink-sub:#7d6548;--ink-faint:#bba98a;--line:#d6c7a4;--line-strong:#4a3320;
  --brand:#b4462b;--on-brand:#f6efdc;--brand-soft:#efcdb9;--ok:#5e7d4c;--on-ok:#f6efdc;--ok-soft:#dde5cf;--hi:#8a5a2b;--on-hi:#f6efdc;--link:#8a5a2b;--warn:#a85a22;--danger:#b4462b;
  --map-sea:#cfe0e3;--map-land:#f2e8cc;--map-line:#c4ab7d;--map-border:#8a5a2b;--map-local-line:#c4ab7d;--map-country-line:#8a5a2b;--pin-gym:#b4462b;--pin-crag:#5e7d4c;--pin-world:#b4462b;--pin-ink:#f6efdc}
html[data-theme="topo"] body,html[data-theme="topo"] .app,html[data-theme="topo"] .screen,html[data-theme="topo"] .sheet,html[data-theme="topo"] .nav{background-color:var(--bg);
  background-image:repeating-radial-gradient(circle at 20% 30%,transparent 0 22px,color-mix(in srgb,#8a5a2b 16%,transparent) 22px 23px),repeating-radial-gradient(circle at 85% 80%,transparent 0 30px,color-mix(in srgb,#8a5a2b 12%,transparent) 30px 31px);background-attachment:local}
html[data-theme="topo"] .pagehead h1,html[data-theme="topo"] .gtitle h1,html[data-theme="topo"] .nav h1,html[data-theme="topo"] .sec h2{font-family:"Zen Old Mincho","Hiragino Mincho ProN",serif;font-weight:900;letter-spacing:.06em}
html[data-theme="topo"] .pagehead h1{font-size:30px}
html[data-theme="topo"] .search,html[data-theme="topo"] .card,html[data-theme="topo"] .head,html[data-theme="topo"] .hcard{background:var(--surface);border:1px solid var(--hi);box-shadow:0 1px 0 var(--line);border-radius:6px}
html[data-theme="topo"] .chip{background:var(--surface);border:1px dashed var(--hi);box-shadow:none}
html[data-theme="topo"] .chip[aria-pressed="true"]{background:var(--hi);color:var(--on-hi);border-style:solid}
html[data-theme="topo"] .pimg{border:1px solid var(--hi);border-radius:4px}html[data-theme="topo"] .pimg .gray{filter:grayscale(1) sepia(.55) contrast(.95) brightness(.85)}
html[data-theme="topo"] .av{background:var(--surface);color:var(--hi);border:1.5px solid var(--hi)}
html[data-theme="topo"] .post{border-bottom:1px dashed var(--line)}
html[data-theme="topo"] .tabbar{background:var(--surface);border-top:1px solid var(--hi)}
html[data-theme="topo"] .tabbar .plus span{background:var(--brand);border-radius:50%}
html[data-theme="topo"] .tabbar button[aria-current="page"]{color:var(--brand)}
html[data-theme="topo"] .pn .bd{fill:var(--brand);stroke:var(--surface);stroke-width:1.5}html[data-theme="topo"] .pn.crag .bd{fill:var(--ok)}html[data-theme="topo"] .pn .sh{fill:color-mix(in srgb,var(--ink) 25%,transparent)}
html[data-theme="topo"] .pn.sel .bd{fill:var(--surface);stroke:var(--brand);stroke-width:2.5}html[data-theme="topo"] .pn.sel .gf{fill:var(--brand)}
html[data-theme="topo"] .map{background-image:repeating-radial-gradient(circle at 40% 40%,transparent 0 18px,color-mix(in srgb,#5d8a95 18%,transparent) 18px 19px)}
/* 三本線の帯の試し（html[data-stripe]）: none＝なし、thin＝細い3px、one＝主役の1色、two＝主役と強調の2色、wide＝今の9px、top＝画面のいちばん上だけ */
html[data-theme="retro"][data-stripe="none"] .nav::after,html[data-theme="retro"][data-stripe="none"] .pagehead::after{display:none}
html[data-theme="retro"][data-stripe="thin"] .nav::after,html[data-theme="retro"][data-stripe="thin"] .pagehead::after{height:3px;bottom:-3px}
html[data-theme="retro"][data-stripe="one"] .nav::after,html[data-theme="retro"][data-stripe="one"] .pagehead::after{height:4px;bottom:-4px;background:var(--brand)}
html[data-theme="retro"][data-stripe="two"] .nav::after,html[data-theme="retro"][data-stripe="two"] .pagehead::after{height:6px;bottom:-6px;background:linear-gradient(var(--brand) 0 50%,var(--hi) 0)}
html[data-theme="retro"][data-stripe="top"] .nav::after,html[data-theme="retro"][data-stripe="top"] .pagehead::after{display:none}
html[data-theme="retro"][data-stripe="top"] .app::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;z-index:9;background:var(--stripes)}
