:root{--ink:#2A1A0F;--paper:#EFE3CB;--card:#FAF3E3;--tan:#E8DAC0;--red:#7A1712}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Source Sans 3',system-ui,sans-serif}
a:focus-visible{outline:3px solid #F0A94F;outline-offset:2px}
.hero{background:#000;color:var(--card)}
.wrap{max-width:1200px;margin:0 auto;padding-inline:24px}
.hero .wrap{padding-block:16px 56px;display:flex;flex-direction:column;gap:24px}
nav{display:flex;justify-content:flex-end}
nav a{color:var(--card);font-weight:600;padding:12px 8px}
.hero-row{display:flex;flex-wrap:wrap;align-items:center;gap:40px}
.logo{flex:1 1 320px;min-width:0;max-width:520px;width:100%;height:auto;display:block}
.hero-text{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:20px}
h1,h2,.card b{font-family:'Zilla Slab',Georgia,serif;font-weight:700}
h1{margin:0;font-size:clamp(38px,6vw,56px);line-height:1.05}
.lede{margin:0;font-size:20px;line-height:1.45;color:var(--tan)}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:flex;align-items:center;justify-content:center;height:52px;padding:0 28px;border-radius:6px;font-weight:700;font-size:18px;text-decoration:none}
.btn.primary{background:var(--red);color:#fff}
.btn.ghost{border:2px solid var(--card);color:var(--card)}
main.wrap{padding-block:56px 72px;display:flex;flex-direction:column;gap:56px}
section.block{display:flex;flex-direction:column;gap:20px;scroll-margin-top:16px}
h2{margin:0;font-size:clamp(28px,4vw,36px)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}
.card{display:flex;flex-direction:column;gap:8px;padding:24px;background:var(--card);border:2px solid var(--ink);border-radius:8px}
.card b{font-size:24px}
.card span{font-size:17px;line-height:1.4}
.card small{font-size:15px;font-weight:700;color:var(--red);margin-top:auto;padding-top:8px}
.rules{margin:0;font-size:17px;line-height:1.45;max-width:720px}
.soon{min-height:100vh;background:#000;color:var(--card);display:flex;align-items:center;justify-content:center;padding:32px 24px}
.soon div{max-width:560px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.soon img{width:100%;max-width:440px;height:auto}
body.dark{background:#000;color:var(--card)}
.auth{min-height:100vh;display:flex;justify-content:center;padding:24px}
.auth-box{width:100%;max-width:440px;display:flex;flex-direction:column;gap:16px}
.auth-box img{width:100%;max-width:300px;height:auto;display:block;margin:0 auto}
.auth-box h1{font-size:36px;text-align:center}
.auth-box h2{margin:12px 0 0;font-size:24px}
.auth-box p{margin:0;font-size:17px;line-height:1.45}
.auth form{display:flex;flex-direction:column;gap:14px}
.auth label{display:flex;flex-direction:column;gap:6px;font-weight:600}
.auth small{font-weight:400;color:var(--tan)}
.auth input:not([type=checkbox]),.auth select{height:48px;padding:0 12px;font:inherit;font-weight:400;border:2px solid #8A7359;border-radius:6px;background:var(--card);color:var(--ink);width:100%}
.auth input:focus,.auth select:focus,.linkbtn:focus-visible,button:focus-visible{outline:3px solid #F0A94F;outline-offset:2px}
.auth label.check{flex-direction:row;align-items:flex-start;gap:12px;font-weight:400;line-height:1.35}
.auth label.check input{width:24px;height:24px;margin:0;flex:none;accent-color:var(--red)}
.auth a{color:var(--card)}
.auth button.btn{border:0;cursor:pointer;width:100%;font-family:inherit}
.notice{background:var(--card);color:var(--ink);padding:12px 14px;border-radius:6px;border-left:0;font-weight:600}
.links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px}
.links a{padding:8px 0}
.auth dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:17px}
.auth dt{font-weight:600}.auth dd{margin:0;overflow-wrap:anywhere}
.rules-list{margin:0;padding-left:22px;font-size:17px;line-height:1.5}
.memberbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-block:16px 0}
.memberbar img{height:120px;width:auto;display:block}
.memberbar>div{display:flex;align-items:center;gap:16px}
.memberbar a,.linkbtn{color:var(--card);font:inherit;font-weight:600;padding:10px 0}
.linkbtn{background:none;border:0;text-decoration:underline;cursor:pointer}
.member{padding-block:32px 72px;display:flex;flex-direction:column;gap:36px}
.intro{display:flex;flex-direction:column;gap:12px;max-width:720px}
.picgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:28px 24px}
.picgrid article{display:flex;flex-direction:column;gap:8px}
.picgrid img{width:100%;height:auto;display:block}
.picgrid p{margin:0;font-size:17px;line-height:1.4;color:var(--tan)}
.picgrid small{font-size:15px;font-weight:700;color:#F0A94F}
.board{padding:clamp(20px,4vw,44px);background:#B07E4C;border:clamp(10px,1.6vw,18px) solid #4A2E18;border-radius:6px;box-shadow:inset 0 0 28px rgba(50,28,10,.55),inset 0 0 0 2px #2A1A0F,0 0 0 2px #7A5A38}
.board .picgrid{gap:clamp(32px,4vw,44px) clamp(20px,3vw,32px)}
.board article{position:relative}
.board article::before{content:"";position:absolute;z-index:2;top:-7px;left:50%;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F2A9A0,#A31F18 55%,#5E0F0B);box-shadow:2px 4px 4px rgba(0,0,0,.5)}
.board article:nth-child(3n+1){transform:rotate(-1.2deg)}
.board article:nth-child(3n+2){transform:rotate(.8deg)}
.board article:nth-child(3n){transform:rotate(-.5deg)}
.board img{filter:drop-shadow(3px 6px 6px rgba(35,18,5,.6))}
.board .note{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--card);border-radius:2px;box-shadow:2px 4px 7px rgba(35,18,5,.45)}
.board .note p{color:var(--ink)}
.board .note small{color:var(--red)}
@media (max-width:600px){.board article{transform:none!important}}
.board{--w:min(100vw - 48px,1152px);--t:calc(var(--w)*.2198);--s:calc(var(--w)*.097);--b:calc(var(--w)*.1127);padding:clamp(12px,2.5vw,28px);background:none;border-radius:0;box-shadow:none;border-style:solid;border-width:var(--t) var(--s) var(--b);border-image:url(/assets/board-frame-4.webp) 195 86 100 fill/var(--t) var(--s) var(--b) stretch}
@media (max-width:820px){.board{border-image-repeat:stretch round}}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.cabin{background:#2A1A0F url(/assets/cabin-wall.webp) center top/900px repeat}
.cabin .memberbar img{filter:drop-shadow(0 4px 8px rgba(0,0,0,.7))}
.cabin .memberbar>div{background:rgba(20,10,4,.82);padding:2px 16px;border-radius:6px}
.cabin .board{filter:drop-shadow(0 10px 18px rgba(0,0,0,.65))}
.cabin .member{padding-top:20px}
.sitefoot{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 24px;font-size:16px}
.sitefoot a{color:var(--card);padding:10px 4px}
.sitefoot.light a{color:var(--ink)}
.cabin .sitefoot{background:rgba(20,10,4,.82);border-radius:6px;align-self:center;padding:2px 16px}
.legal{max-width:720px;margin:0 auto;padding:24px 24px 48px;display:flex;flex-direction:column;gap:14px;font-size:18px;line-height:1.5}
.legal img{width:100%;max-width:220px;height:auto;display:block}
.legal h1{font-size:clamp(36px,6vw,48px);line-height:1.1;margin:8px 0 0}
.legal h2{font-size:26px;margin:16px 0 0}
.legal p,.legal ul{margin:0}
.legal ul{padding-left:24px;display:flex;flex-direction:column;gap:6px}
.legal a{color:var(--card)}
.updated{color:var(--tan);font-size:16px}
