/* Shared water theme for the member page and rules slides.
   Explicit root scope keeps these overrides independent of stylesheet order. */
:root:root{
  --ink:#214f5d;--paper:#f3faf9;--white:#ffffff;
  --red:#97494b;--redsoft:#faf0ee;--green:#267568;
  --greensoft:#e7f4ef;--blue:#e6f3f5;--line:#cbdfe0;
  --muted:#526e77;--gold:#498a91;
  font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  background:#e6f2f3;
}
:root body{background:radial-gradient(ellipse at 8% 5%,#d9eff0,transparent 52%),radial-gradient(ellipse at 92% 45%,#e3f1ec,transparent 50%),#eef6f6}
:root .site,:root .shell{background:var(--paper);box-shadow:0 12px 70px #245a6410;border-color:#cbdfe0}
:root .header{background:#f4fbfaf5;border-color:#d4e6e6}
:root .brand{font-weight:700;letter-spacing:.015em}
:root .brand svg{color:#438e94}
:root .header-note{font-weight:500;color:#526e77}
:root .hero{background:radial-gradient(ellipse at 100% 0,#d9f0f1,transparent 58%),linear-gradient(150deg,#fcfffe,#eaf6f5)}
:root .eyebrow{font-weight:600;letter-spacing:.1em}
:root .hero h1{font-weight:600;letter-spacing:.08em;font-size:clamp(30px,8vw,42px);line-height:1.5}
:root .hero-lead{font-size:16px;font-weight:500;line-height:1.9}
:root .member-badge{border-color:#c7e3da;border-radius:16px;background:#ffffffb8}
:root .member-badge strong{font-weight:600}
:root .line-icon{border-radius:13px}
:root .notice{border-left:3px solid #aa6566;border-radius:0 14px 14px 0;background:#fffcf9;font-weight:500;line-height:1.9;margin-bottom:12px}
:root .notice strong{font-weight:700;color:#914346}
:root .membership-detail{max-width:475px;margin:0 auto 22px;color:#526e77;font-size:12px;line-height:1.85;text-align:left}
:root .primary{background:#2c6977;border-radius:28px;box-shadow:0 5px 16px #2c69771a;font-weight:600;min-height:54px}
:root .section{border-color:#d8e8e8}
:root .section h2{font-weight:600;letter-spacing:.025em;line-height:1.6}
:root .section-kicker{font-weight:600;color:#397f87;letter-spacing:.1em}
:root .section-head p{line-height:1.9}
:root .prohibition{border:1px solid #e5d8d3;border-top:3px solid #b87873;border-radius:16px;background:#fffcfa}
:root .prohibition-number{border-width:2px;border-color:#b87873;color:#97494b;font-weight:600}
:root .prohibition h3{font-weight:700;font-size:20px;line-height:1.55}
:root .prohibition p{line-height:1.85}
:root .poster{border-radius:14px}
:root .hours{background:linear-gradient(145deg,#265666,#32757e);color:#faffff}
:root .hours .section-kicker{color:#c2e9e6}
:root .hours .section-head p{color:#e0f1f1}
:root .hours-card{border-radius:16px;background:#ffffff0b;border-color:#a0cace66}
:root .hours-card h3{font-weight:600;color:#d7f2ef}
:root .time strong{font-weight:600}
:root .reception{color:#e0efef}
:root .reception b{color:#ffe4d8}
:root .closed{border-radius:13px;background:#ffffff17;font-weight:500}
:root .closed strong{font-weight:700}
:root .principle{border-color:#d3e5e5;border-radius:16px;background:#ffffffc9}
:root .principle h3{font-weight:600}
:root .principle span{background:#e7f4f4;color:#3a7e87}
:root .principle p{color:#526e77;line-height:1.9}
:root .rules-cta{border-radius:18px;background:linear-gradient(130deg,#dfefef,#ebf5ef)}
:root .rules-cta strong{font-weight:600}
:root .rules-cta a{border-radius:27px;background:#2c6977;font-weight:600}
:root .forgotten{background:#eaf4f5}
:root .forgotten-box{border-left:3px solid #a8706d;border-radius:0 16px 16px 0;background:#ffffffdc}
:root .forgotten-box h3{font-size:21px;font-weight:600;line-height:1.65}
:root .forgotten-box p{line-height:1.9}
:root .fact strong{font-weight:600}
:root .forgotten-link{border-color:#8ab2b8;border-radius:26px;font-weight:600}
:root .info-card{border-color:#d3e3e3;border-radius:16px}
:root .info-card h3{font-weight:600}
:root .gate-note{background:#f0f7f3;border-color:#cedfd6}
:root .gate-note strong{color:#3d7060}
:root .button{border-radius:26px;font-weight:600}
:root .button.shop{border-color:#8cb3b8}
:root .related-card{border-radius:16px;border-color:#d3e3e3}
:root .related-card strong,:root .related-card em{font-weight:600}
:root .photo{border-radius:18px}
:root .address{font-weight:600}
:root .map{border-color:#8ab2b8;border-radius:26px;font-weight:600}
:root .footer{background:linear-gradient(145deg,#214f5d,#2e6670)}
:root .footer .brand svg{color:#a8dbd8}
:root .footer p{color:#d3e5e6}
:root .bottom-nav{background:#fafffef5;border-color:#cbdfe0;box-shadow:0 -5px 25px #285a6410}
:root .bottom-nav a{color:#456774;font-weight:500}
:root .bottom-nav b{color:#367d87;font-weight:600}
/* Slides retain their geometry and playback controls. */
:root .masthead{border-color:#d2e4e4}
:root .masthead h1,:root .intro{font-weight:500}
:root .rule{--accent:#285d6c;--soft:#e7f3f4;border-color:#cbdfe0;border-top-width:3px;border-radius:18px;background:#feffff}
:root .rule.tone-red{--accent:#97494b;--soft:#faf0ee;border-color:#e6d4cf}
:root .rule.tone-green{--accent:#267568;--soft:#e7f4ef}
:root .rule-top{font-weight:600}
:root .rule h2{font-weight:600}
:root .description{font-weight:400}
:root .rule-note{border-radius:12px;font-weight:600}
:root .time-row{background:#eaf5f5;border-color:#d0e4e4;border-radius:13px}
:root .time-row strong{font-weight:600}
:root .time-row b{color:#97494b}
:root .buttons button{border-radius:24px;border-color:#b7d4d8;font-weight:600}
:root .buttons #play-toggle{background:#2c6977;border-color:#2c6977;font-weight:600}
:root .progress span.current{background:#2c6977}
:root .progress span.current:after{background:#86c6c7}
:root .utility{border-color:#d2e4e4}
@media(min-width:560px){:root .site,:root .bottom-nav{border-radius:20px}}
@media(min-width:600px){:root .shell{border-radius:20px}}
@media(max-width:350px){:root .hero h1{font-size:29px}:root .hero-lead{font-size:15px}}
