:root{--ink:#1d4a34;--paper:#eef8ee;--white:#fff;--line:#2c5b41;--soft:#e2f0df;--accent:#fff3b8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-rounded,"Hiragino Maru Gothic ProN","Yu Gothic",system-ui,sans-serif;line-height:1.85}a{color:inherit}img{max-width:100%;height:auto}.article-wrap{width:min(1050px,calc(100% - 28px));margin:auto;padding:24px 0 80px}.back{display:inline-block;font-weight:900;text-decoration:none;margin-bottom:18px}.article-hero,.article-section{background:#fff;border:2px solid var(--line);border-radius:28px;padding:clamp(20px,4vw,42px);box-shadow:6px 8px 0 rgba(29,74,52,.08);margin-bottom:22px}.article-hero img{width:100%;border-radius:18px;margin-bottom:22px}.label,.tag{display:inline-block;border-radius:999px;background:var(--soft);padding:5px 10px;font-size:12px;font-weight:900}.article-hero h1{font-size:clamp(36px,7vw,68px);line-height:1.08;letter-spacing:-.04em;margin:12px 0}.article-hero p,.article-section p{font-size:16px;font-weight:650}.article-section h2{font-size:clamp(27px,4vw,40px);margin-top:0}.article-section h3{font-size:22px}.photo-grid,.outcome-grid,.hub-grid,.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.photo-grid img,.outcome-card img,.hub-card img{width:100%;border-radius:18px;object-fit:cover}.outcome-card,.hub-card,.doc-card{border:2px solid var(--line);border-radius:22px;background:#f9fff8;padding:14px;text-decoration:none}.outcome-card h3,.hub-card h2{margin:8px 0}.future-box{display:grid;place-items:center;aspect-ratio:16/9;border-radius:15px;background:#edf2ea;font-weight:1000;letter-spacing:.08em}.event-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.event-meta div{background:#f2faef;border-radius:16px;padding:10px 14px}.event-meta b{display:block;font-size:12px}.god-card{display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:24px;align-items:start;border-top:1px solid #cbdccb;padding:28px 0}.god-card:first-of-type{border-top:0}.god-card img{width:100%;border-radius:22px;background:#eef4ea}.audio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}.audio-btn{border:2px solid var(--line);border-radius:999px;background:#fff;padding:11px 13px;font-weight:900;cursor:pointer}.audio-btn.playing{background:var(--ink);color:#fff}.book-link,.primary-link{display:inline-flex;align-items:center;gap:8px;padding:14px 18px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-weight:1000}.doc-card{display:block}.doc-card h3{margin-bottom:4px}.doc-card p{margin-top:0}.status-note{padding:12px 14px;border-radius:16px;background:#fff7d6;font-weight:800}.apply-disabled{opacity:.55;cursor:not-allowed}.article-date{font-weight:900;opacity:.6}@media(max-width:760px){.photo-grid,.outcome-grid,.hub-grid,.doc-grid{grid-template-columns:1fr}.god-card{grid-template-columns:1fr}.event-meta{grid-template-columns:1fr}.audio-grid{grid-template-columns:1fr}}



/* Collaboration book entry shown directly on the event page */

.collab-book-card{display:grid;grid-template-columns:minmax(150px,230px) 1fr;gap:clamp(20px,4vw,40px);align-items:center;margin-top:18px;padding:clamp(18px,3vw,30px);border:2px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#fffdf7,#edf6e9);text-decoration:none;box-shadow:5px 7px 0 rgba(29,74,52,.08)}

.collab-cover-frame{display:block;aspect-ratio:1573/2223;background:#fff;overflow:hidden;box-shadow:0 16px 30px rgba(0,0,0,.20);transform:perspective(900px) rotateY(5deg);transform-origin:right center;transition:transform .25s ease,filter .25s ease}

.collab-cover-frame img{display:block;width:100%;height:100%;object-fit:cover}

.collab-book-card:hover .collab-cover-frame,.collab-book-card:focus-visible .collab-cover-frame{transform:perspective(900px) rotateY(0) translateY(-3px);filter:brightness(1.05)}

.collab-book-card:focus-visible{outline:3px solid var(--line);outline-offset:4px}

.collab-book-meta{display:flex;flex-direction:column;align-items:flex-start;gap:7px}

.collab-book-meta strong{font-size:clamp(28px,4vw,44px);line-height:1.15}

.collab-book-meta small{opacity:.62;font-weight:800}

.collab-book-meta b{margin-top:12px;border-bottom:2px solid currentColor}

@media(max-width:620px){.collab-book-card{grid-template-columns:1fr}.collab-cover-frame{width:min(64vw,260px);justify-self:center}.collab-book-meta{align-items:center;text-align:center}}


/* Fixed back navigation for sub pages. The href is page-specific; no history.back(). */

html, body { min-height: 100%; }

body.has-fixed-back { padding-bottom: 92px !important; }

.fixed-back {

  position: fixed;

  left: max(14px, env(safe-area-inset-left));

  bottom: max(14px, env(safe-area-inset-bottom));

  z-index: 800;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-height: 48px;

  max-width: calc(100vw - 28px);

  padding: 10px 16px;

  border: 2px solid #2c5b41;

  border-radius: 999px;

  background: rgba(255,255,255,.96);

  color: #173f2c !important;

  box-shadow: 0 5px 16px rgba(23,55,44,.18);

  text-decoration: none !important;

  font-weight: 1000 !important;

  line-height: 1.2;

  white-space: nowrap;

  backdrop-filter: blur(8px);

  -webkit-backdrop-filter: blur(8px);

}

.fixed-back:hover,

.fixed-back:focus-visible { background: #173f2c; color: #fff !important; }

.fixed-back:focus-visible { outline: 3px solid rgba(23,55,44,.28); outline-offset: 3px; }

@media (max-width: 560px) {

  body.has-fixed-back { padding-bottom: 82px !important; }

  .fixed-back { min-height: 44px; padding: 9px 13px; font-size: 14px; }

}


.login-hero{text-align:center;padding:50px 24px}.login-hero img{max-width:260px}.line-login{text-decoration:none;line-height:normal;background-color:#049841;color:#fff;border:none;border-radius:9999px;padding:12px 24px;font-size:16px;font-weight:bold;cursor:pointer;width:100%;max-width:260px;display:block;margin:0 auto;text-align:center;box-shadow:0 4px 6px rgba(0,0,0,.1)}.line-login:focus-visible{outline:3px solid #173f2c;outline-offset:4px}
@media(max-width:560px){.login-hero h1{font-size:clamp(24px,7.5vw,36px)}}

.login-guides{display:grid;gap:20px;max-width:680px;margin:12px auto 0;text-align:left}
.login-guide{min-width:0;padding:22px 24px;border:2px solid #8cab96;border-radius:18px;background:#f7faf8;line-height:1.8;overflow-wrap:anywhere}
.login-guide h2{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #c4d6c9;font-size:20px;line-height:1.5;letter-spacing:0}
.login-guide p{margin:0 0 16px;font-size:16px;font-weight:500}
.login-guide ol{margin:0;padding-left:1.6em;font-size:16px;font-weight:500}
.login-guide li{padding-left:4px}
.login-guide li+li{margin-top:12px}
.login-guide li::marker{color:#24623e;font-weight:800}
.login-guide .login-guide-result{margin:16px 0 0;padding-top:14px;border-top:1px solid #c4d6c9}
.login-guide-mobile{border-color:#508c62;background:#f1f8ed}
.login-account-name{display:block;margin:4px 0}
.login-keyword{display:inline-block;margin-right:8px;padding:2px 12px;border:1px solid #84a991;border-radius:6px;background:#fff;font-size:18px}
@media(max-width:560px){.login-guides{gap:16px}.login-guide{padding:18px 16px;border-radius:14px}.login-guide h2{font-size:18px}}
