/* Nihon Mode — guide pages.
   Same palette as the app so a reader arriving from search recognises the app when
   they open it. Deliberately light: no JS, no webfonts, no frameworks — these pages
   exist to be crawled and read fast on hotel wifi. */
:root{
  --bg:#fbf6ee; --card:#fff; --ink:#2a2620; --soft:#7d7367; --line:#efe7d8;
  --verm:#e9583a; --verm-d:#c23f23; --gold:#f2a93c; --gold-d:#a8730f;
  --moss:#3f8244; --indigo:#1d3a5f;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--bg); color:var(--ink); line-height:1.7;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Hiragino Sans","Noto Sans JP",sans-serif;
  font-size:17px;
}
img{max-width:100%;height:auto;}
a{color:var(--verm-d);}

.top{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 20px;background:var(--indigo);position:sticky;top:0;z-index:5;
}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:17px;}
.brand img{width:30px;height:30px;border-radius:8px;display:block;}
.openapp{color:#fff;background:var(--verm);text-decoration:none;font-weight:700;font-size:14px;padding:9px 15px;border-radius:24px;white-space:nowrap;}
.openapp:hover{background:var(--verm-d);}

.crumb{max-width:720px;margin:18px auto 0;padding:0 20px;font-size:13.5px;color:var(--soft);}
.crumb a{color:var(--soft);}

main{max-width:720px;margin:0 auto;padding:22px 20px 40px;}
.kicker{font-size:12.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--gold-d);}
h1{font-size:31px;line-height:1.28;margin:8px 0 16px;letter-spacing:-.4px;}
h2{font-size:21px;margin:38px 0 12px;letter-spacing:-.2px;}
h3{font-size:16.5px;margin:0 0 6px;}
h3 span[aria-hidden]{margin-right:7px;}
.lede{font-size:19px;color:#4c463c;margin:0 0 20px;}

.meta{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 20px;}
.meta span{background:#fff;border:1px solid var(--line);border-radius:20px;padding:5px 13px;font-size:13.5px;font-weight:700;color:var(--soft);}

.stakes{
  margin:0 0 8px;padding:15px 18px;background:#fff5f2;border-left:4px solid var(--verm);
  border-radius:0 12px 12px 0;font-size:16px;color:#5c3129;
}

.cards{list-style:none;margin:0;padding:0;}
.cards li{
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:16px 18px;margin-bottom:11px;box-shadow:0 2px 0 var(--line);
}
.cards p{margin:0;color:#4c463c;font-size:16px;}
.cards.dont li{border-left:4px solid var(--verm);}
.cards.do li{border-left:4px solid var(--moss);}
.cards.do{counter-reset:s;}
.cards.do li h3::before{
  counter-increment:s;content:counter(s);
  display:inline-grid;place-items:center;width:23px;height:23px;margin-right:9px;
  background:var(--moss);color:#fff;border-radius:50%;font-size:13px;vertical-align:2px;
}

.magic{
  background:linear-gradient(150deg,#fff8ec,#ffeed6);border:1.5px dashed var(--gold-d);
  border-radius:18px;padding:20px;text-align:center;margin-top:34px;
}
.magic h2{margin:0 0 10px;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-d);}
.magic .jp{font-size:30px;font-weight:700;margin:0;line-height:1.4;}
.magic .ro{font-size:17px;font-weight:700;color:var(--gold-d);margin:2px 0 10px;}
.magic .mean{font-size:16px;margin:0;color:#5c4a2a;}
.magic .when{font-size:14px;color:#a9834a;margin:8px 0 0;}

.sources{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-top:34px;}
.sources h2{margin:0 0 8px;font-size:15px;letter-spacing:.05em;text-transform:uppercase;color:var(--soft);}
.sources ul{margin:0;padding-left:20px;}
.sources li{margin-bottom:5px;font-size:15px;}
.checked{font-size:13.5px;color:var(--soft);margin:10px 0 0;}

.grid{display:grid;gap:11px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
.card{
  display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:16px 18px;text-decoration:none;color:inherit;box-shadow:0 2px 0 var(--line);
}
.card:hover{border-color:var(--gold);}
.card .e{font-size:24px;display:block;margin-bottom:6px;}
.card b{display:block;font-size:16px;line-height:1.4;margin-bottom:4px;}
.card .d{font-size:14px;color:var(--soft);line-height:1.55;}

.cta{
  margin-top:44px;background:var(--indigo);color:#fff;border-radius:20px;padding:24px;text-align:center;
}
.cta h2{margin:0 0 8px;color:#fff;font-size:20px;}
.cta p{margin:0 0 16px;color:#c8d4e2;font-size:15.5px;}
.btn{
  display:inline-block;background:var(--verm);color:#fff;text-decoration:none;
  font-weight:800;padding:13px 26px;border-radius:28px;box-shadow:0 4px 0 var(--verm-d);
}

footer{max-width:720px;margin:0 auto;padding:0 20px 48px;color:var(--soft);font-size:14px;text-align:center;}
footer a{color:var(--soft);}
.fine{font-size:13px;margin-top:6px;}

@media (max-width:520px){
  body{font-size:16px;}
  h1{font-size:26px;}
  .lede{font-size:17.5px;}
  .magic .jp{font-size:25px;}
}
