:root{color-scheme:light}
*{box-sizing:border-box}
@keyframes gentle-sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes cherry-glow{0%,100%{text-shadow:0 0 5px #ff4081,0 0 10px #ff4081}50%{text-shadow:0 0 15px #ff4081,0 0 25px #ff4081}}
@keyframes lantern-light{0%,100%{opacity:0.8;box-shadow:0 0 10px rgba(255,64,129,.5)}50%{opacity:1;box-shadow:0 0 20px rgba(255,64,129,.8)}}
body{margin:0;font:16px/1.6 'Noto Serif JP',serif;background:#f5f5f5;color:#424242;background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ff4081' fill-opacity='0.05'%3E%3Cpath d='M0 0h10v10H0V0zm10 10h10v10H10V10z'/%3E%3C/g%3E%3C/svg%3E")}
.jg-wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.jg-header{padding:40px 0;background:linear-gradient(135deg,#fff,#f8bbd0);border-bottom:3px solid #ff4081;text-align:center;position:relative}
.jg-header::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ff4081' fill-opacity='0.1'%3E%3Ccircle cx='50' cy='50' r='40'/%3E%3Ccircle cx='50' cy='50' r='20'/%3E%3C/g%3E%3C/svg%3E");background-size:100px 100px}
.jg-banner{font-size:32px;font-weight:900;color:#ff4081;margin-bottom:20px;text-shadow:0 0 10px rgba(255,64,129,.3);animation:cherry-glow 3s infinite;position:relative;z-index:2}
.jg-main-title{margin:0 0 16px 0;font-size:36px;font-weight:700;color:#424242;text-shadow:0 0 10px rgba(255,64,129,.2);position:relative;z-index:2}
.jg-sub{margin:0 0 12px 0;color:#616161;font-weight:500;position:relative;z-index:2}
.jg-motto{color:#ff4081;font-weight:700;font-size:18px;position:relative;z-index:2}
.jg-garden{display:grid;gap:24px;padding:40px 0}
.jg-pavilion{display:grid;grid-template-columns:120px 1fr 100px;gap:24px;align-items:center;padding:28px;background:linear-gradient(135deg,#fff,#fafafa);border:2px solid #ff4081;border-radius:15px;box-shadow:0 8px 16px rgba(0,0,0,.1);transition:all .3s ease;position:relative}
.jg-pavilion::before{content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,#ff4081,#f8bbd0,#ff4081);border-radius:15px;z-index:-1;opacity:0;transition:opacity .3s ease}
.jg-pavilion:hover::before{opacity:1}
.jg-pavilion:hover{transform:translateY(-5px);box-shadow:0 12px 24px rgba(255,64,129,.2)}
.jg-bonsai{text-align:center;animation:gentle-sway 5s ease-in-out infinite}
.jg-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;border:3px solid #ff4081;margin:0 auto 8px;box-shadow:0 0 15px rgba(255,64,129,.2)}
.jg-element{font-size:14px;color:#ff4081;font-weight:700}
.jg-content{min-width:0}
.jg-title{margin:0 0 12px 0;font-size:22px;font-weight:700;color:#424242}
.jg-title a{color:inherit;text-decoration:none;text-shadow:0 0 5px rgba(255,64,129,.1)}
.jg-title a:hover{color:#ff4081;text-shadow:0 0 10px rgba(255,64,129,.2)}
.jg-desc{margin:0 0 16px 0;color:#616161;font-size:15px;line-height:1.6}
.jg-features{display:flex;gap:8px;flex-wrap:wrap}
.jg-feature{background:rgba(255,64,129,.05);color:#ff4081;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600;border:1px solid #ff4081}
.jg-lantern{text-align:center}
.jg-light{font-size:40px;margin-bottom:8px;animation:lantern-light 3s infinite}
.jg-kanji{font-size:16px;color:#ff4081;font-weight:700}
.jg-footer{padding:28px 0;border-top:3px solid #ff4081;text-align:center;color:#ff4081;font-weight:700;background:#fff}

  .addon { padding: 24px 0; border-top:1px solid #232323; }
  .addon-title { font-size: 20px; margin: 0 0 14px 0; position: relative; display:inline-block; }
  .addon-title:after { content:''; position:absolute; left:0; bottom:-6px; width: 42px; height: 3px; background: linear-gradient(90deg,#1a73e8,#00b4d8); border-radius: 3px; }

  /* Highlight card */
  .highlight { padding: 0; border: none; }
  .highlight-inner { display:flex; gap:14px; align-items:center; padding:16px; background: linear-gradient(135deg, rgba(26,115,232,0.08), rgba(0,180,216,0.08)); border:1px solid #2a2a2a; border-radius: 14px; }
  .highlight-icon { width:42px; height:42px; display:flex; align-items:center; justify-content:center; background:#1a1a1a; border:1px solid #2a2a2a; border-radius:10px; font-size:20px; }
  .highlight-content p { margin: 8px 0 0 0; color:#bdbdbd; }

  .table-wrap { overflow-x: auto; border:1px solid #2a2a2a; border-radius: 12px; background:#131313; }
  .table { width: 100%; border-collapse: collapse; }
  .table thead th { background:#191919; color:#ddd; font-weight:700; }
  .table th, .table td { border-bottom: 1px solid #242424; padding: 10px 12px; text-align: left; }
  .table tr:last-child td { border-bottom: none; }
  .table code { background:#1f1f1f; border:1px solid #2a2a2a; padding: 2px 6px; border-radius:6px; }

  .list { display: grid; gap: 8px; margin: 0; padding-left: 18px; }

  .grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
  .grid-card { display: grid; grid-template-columns: 40px 1fr; gap: 12px; padding: 12px; border: 1px solid #2a2a2a; border-radius: 12px; background: #141414; transition: transform .12s ease, border-color .12s ease; }
  .grid-card:hover { transform: translateY(-2px); border-color:#3a3a3a; }
  .grid-rank { width: 40px; height: 40px; background: #1a73e8; color: #fff; border-radius: 10px; display:flex; align-items:center; justify-content:center; font-weight: 800; box-shadow: 0 4px 12px rgba(26,115,232,.25); }
  .grid-title { font-weight: 700; }
  .grid-desc { color: #b0b0b0; }

  .chips { list-style:none; padding:0; margin:0; display:flex; flex-wrap: wrap; gap:10px; }
  .chips li { background:#171717; border:1px solid #2a2a2a; padding:8px 12px; border-radius:999px; color:#ddd; }

  .steps { margin:0; padding-left:18px; }
  .steps li { margin: 0 0 6px 0; }

  .faq details { border:1px solid #2a2a2a; border-radius:12px; padding:10px 14px; background:#151515; }
  .faq details+details { margin-top:10px; }
  .faq summary { cursor:pointer; color:#ddd; }
  
