
:root{--g:#6eb74a;--gd:#244f29;--p:#5b2a86;--y:#e6ff63;--c:#fffdf2;--i:#182018}
*{box-sizing:border-box}body{margin:0;background:var(--c);color:var(--i);font-family:Arial,sans-serif;overflow-x:hidden}
.site-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:10px 4vw;background:var(--g);border-bottom:6px solid var(--p);position:relative;z-index:10}
.brand{font-weight:900;font-size:clamp(1.05rem,3vw,1.75rem)}.menu-btn{width:54px;height:49px;background:var(--y);border:3px solid var(--gd);border-radius:14px;box-shadow:4px 4px var(--p);display:grid;place-items:center}
.menu-btn span,.menu-btn span:before,.menu-btn span:after{content:'';display:block;width:27px;height:4px;background:var(--gd);border-radius:9px;position:relative}.menu-btn span:before{position:absolute;top:-9px}.menu-btn span:after{position:absolute;top:9px}
.main-nav{display:none;position:absolute;right:4vw;top:66px;width:min(390px,calc(100vw - 32px));background:#17391c;padding:12px;border:4px solid var(--y);border-radius:18px;box-shadow:9px 9px var(--p);transform:rotate(1deg)}
.main-nav.open{display:block}.main-nav a{display:block;color:#fff;text-decoration:none;font-weight:800;padding:13px;margin:5px;border-radius:12px}.main-nav a:hover{background:var(--p)}
.hero{text-align:center;position:relative;padding:50px 16px}.hero h1{font-size:clamp(2.7rem,7vw,5.8rem);line-height:.92;color:var(--p);text-shadow:4px 4px var(--y);margin:0 auto;max-width:980px;transform:rotate(-1deg)}
.hero-photo{width:min(790px,90vw);margin:28px auto;background:#fff;padding:10px;border:4px solid var(--p);box-shadow:14px 14px var(--g);transform:rotate(-1deg)}.hero-photo img{width:100%;height:auto;display:block}
.tagline{font-size:clamp(1.15rem,2.8vw,1.8rem);font-weight:900;max-width:850px;margin:28px auto}.invader{position:absolute;font-size:clamp(3rem,8vw,7rem)}.i1{left:-15px;top:35%;transform:rotate(18deg)}.i2{right:-15px;top:15%;transform:rotate(-18deg)}.ufo{right:5%;top:4%;transform:rotate(10deg)}
.panel,.page{width:min(1050px,92vw);margin:0 auto 55px}.panel{padding:24px;background:#fff;border:4px dashed var(--p);border-radius:26px;box-shadow:10px 10px var(--g);transform:rotate(.35deg)}
.page{margin-top:42px}.page h1,.panel h2{color:var(--gd)}.portal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.portal{min-height:180px;display:grid;place-items:center;text-align:center;padding:25px;background:var(--p);color:#fff;text-decoration:none;font-weight:900;font-size:1.3rem;border:6px solid var(--y);border-radius:48% 43% 51% 44%;box-shadow:8px 8px var(--gd);transform:rotate(-1.5deg)}.portal:nth-child(even){background:var(--gd);transform:rotate(1.5deg)}
.photo-grid{width:min(1180px,94vw);margin:55px auto;display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.photo-card{margin:0;background:#fff;padding:10px 10px 42px;box-shadow:8px 10px 18px #0003;position:relative}.photo-card:nth-child(odd){transform:rotate(-1.8deg)}.photo-card:nth-child(even){transform:rotate(1.8deg)}.photo-card img{width:100%;height:auto;display:block}.photo-card figcaption{position:absolute;bottom:10px;left:13px;font-weight:900;color:var(--p)}
.board{width:100%;border-collapse:separate;border-spacing:0 10px}.board th{text-align:left;background:var(--gd);color:#fff;padding:12px}.board th:first-child{width:22%}.board td{vertical-align:top;background:#fff;padding:14px;border:2px solid #ddd}.muted{color:#666;font-size:.9rem}
.form-box{max-width:650px;background:#fff;border:3px solid var(--p);border-radius:20px;padding:22px;box-shadow:8px 8px var(--g)}label{display:block;font-weight:800;margin:14px 0 6px}input[type=email],input[type=password],textarea{width:100%;padding:12px;border:2px solid #aaa;border-radius:10px;font:inherit}.action{margin-top:16px;padding:12px 18px;border:0;border-radius:12px;background:var(--p);color:#fff;font-weight:900}
.notice{padding:14px;border-left:6px solid var(--g);background:#fff;margin:18px 0}.site-footer{text-align:center;padding:30px;background:#17391c;color:#fff;border-top:6px solid var(--y);font-weight:700}
@media(max-width:720px){.photo-grid,.portal-grid{grid-template-columns:1fr}.board,.board tbody,.board tr,.board td{display:block;width:100%}.board thead{display:none}}

a,button,.menu-btn,.action,.password-toggle{
  cursor:pointer;
}

.password-wrap{
  position:relative;
}

.password-wrap input{
  padding-right:48px;
}

.password-toggle{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  font-size:1.1rem;
}


/* MB2 Message Board */
.landing-board{max-width:1100px;margin:0 auto}.landing-compose{background:#fff;border:3px solid #642b91;border-radius:22px;padding:22px;margin-bottom:28px;box-shadow:10px 10px 0 #80cf4d}.landing-compose textarea{box-sizing:border-box;width:100%;font:inherit;border:2px solid #aaa;border-radius:14px;padding:14px;resize:vertical}.reply-preview{border-left:5px solid #642b91;background:#f5f0fa;border-radius:8px;padding:10px 12px;margin-bottom:12px;display:flex;justify-content:space-between;gap:15px}.reply-preview[hidden]{display:none}.reply-preview strong,.reply-preview span{display:block}.landing-list{background:#fff;border-radius:18px;overflow:hidden}.landing-post{display:grid;grid-template-columns:minmax(135px,22%) 1fr;border-bottom:1px solid #d7d7d7}.landing-author{padding:18px;background:#f4f7ef;border-right:1px solid #d7d7d7}.landing-author strong,.landing-author span{display:block}.landing-author strong{color:#155b3b}.landing-author span{font-size:.86rem;margin-top:5px}.landing-edited{font-style:italic;color:#666}.landing-message{padding:18px;min-width:0}.landing-comment{overflow-wrap:anywhere;line-height:1.5}.landing-quote{display:block;border-left:5px solid #642b91;background:#f6f2f9;border-radius:7px;padding:9px 12px;margin-bottom:13px;text-decoration:none;color:inherit}.landing-quote strong,.landing-quote span{display:block}.landing-quote span{font-size:.9rem;color:#555}.landing-quote-deleted{color:#777;font-style:italic}.landing-tools{display:flex;align-items:center;gap:14px;margin-top:15px;font-size:.9rem}.landing-tools form{display:inline;margin:0}.landing-tools a,.landing-tools button,.reply-preview button{font:inherit;color:#642b91;text-decoration:underline;border:0;background:transparent;padding:0;cursor:pointer;font-weight:700}.landing-empty{padding:25px;text-align:center}
@media(max-width:650px){.landing-post{grid-template-columns:1fr}.landing-author{border-right:0;border-bottom:1px solid #e1e1e1;padding:11px 14px}.landing-author strong,.landing-author span{display:inline}.landing-author span{margin-left:9px}.landing-message{padding:14px}.landing-compose{padding:16px}}

/* MB2.1 Compact Board Polish */
.landing-board{max-width:1020px}
.landing-board>h1{margin-bottom:14px}
.landing-compose{padding:14px 16px;margin-bottom:18px;box-shadow:7px 7px 0 #80cf4d}
.landing-compose-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.landing-compose-head h2{margin:0;font-size:1.15rem}
.landing-head-post{margin:0;white-space:nowrap;padding:9px 16px}
.landing-compose textarea{padding:10px 12px;min-height:68px}
.landing-post{grid-template-columns:minmax(100px,16%) 1fr}
.landing-author{padding:12px 10px}
.landing-author strong{font-size:.96rem}
.landing-author span{font-size:.8rem;margin-top:3px}
.landing-message{padding:12px 14px}
.landing-tools{margin-top:10px}
.landing-quote{padding:7px 10px;margin-bottom:9px}
.reply-preview{padding:8px 10px;margin-bottom:8px}
@media(max-width:650px){
  .landing-compose-head{align-items:flex-start}
  .landing-head-post{padding:8px 14px}
  .landing-post{grid-template-columns:1fr}
  .landing-author{padding:8px 12px}
  .landing-message{padding:11px 12px}
}

/* MB2.2 Universal Conversation Layout */
.landing-board{max-width:900px}
.landing-post{display:block;border-bottom:1px solid #d7d7d7}
.landing-post-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  background:#f4f7ef;
}
.landing-meta{
  display:flex;
  align-items:center;
  gap:5px;
  color:#155b3b;
  white-space:nowrap;
}
.landing-meta strong{color:#155b3b}
.landing-meta-dot{color:#155b3b;font-weight:700}
.landing-edited{
  margin-left:4px;
  color:#6b6b6b;
  font-style:italic;
  font-size:.82rem;
}
.landing-head-separator{
  color:#666;
  font-weight:700;
}
.landing-tools-head{
  margin:0;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.landing-tools-head a,
.landing-tools-head button{
  color:#642b91;
  font-weight:700;
}
.landing-action-dot{
  color:#642b91;
  font-weight:900;
}
.landing-message-universal{
  padding:11px 12px 13px;
}
.landing-quote{
  margin-top:0;
}
@media(max-width:650px){
  .landing-post-head{
    gap:7px;
    padding:8px 10px;
    flex-wrap:wrap;
  }
  .landing-head-separator{margin-left:1px}
  .landing-message-universal{padding:10px}
}


/* PAM1B Events Admin */
.event-filters{display:grid;grid-template-columns:2fr 1fr 1.3fr 1fr auto;gap:12px;align-items:end}
.event-filters select,.event-directory-row select{width:100%;padding:10px;border:2px solid #aaa;border-radius:10px;background:#fff;font:inherit}
.event-filter-button .action{margin-bottom:0}
.event-directory-list{display:grid;gap:12px}
.event-directory-row{background:#fff;border:2px solid #ddd;border-radius:14px;padding:12px}
.event-directory-row>form{display:grid;grid-template-columns:2.2fr 1fr 1.3fr auto;gap:10px;align-items:end}
.event-directory-row input{width:100%;padding:10px;border:2px solid #aaa;border-radius:10px;font:inherit}
.event-directory-row label{margin-top:0}
.event-row-actions .action{margin:0}
.event-status-row{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:8px;font-size:.9rem}
.event-status-row form{margin:0}
.event-status-row .action{margin:0;padding:7px 10px}
.event-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:24px}
.event-pagination a{font-weight:700}
@media(max-width:850px){
 .event-filters{grid-template-columns:1fr 1fr}
 .event-directory-row>form{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .event-filters,.event-directory-row>form{grid-template-columns:1fr}
 .event-status-row{justify-content:flex-start;flex-wrap:wrap}
}


/* PAM1B.1 */
.pam1b-import-box,.pam1b-find-box{max-width:none;margin-bottom:18px}
.pam1b-required-filename{display:inline-block;margin-bottom:10px;padding:7px 10px;background:#f4f7ef;border-radius:9px;font-weight:800;color:#244f29}
.pam1b-manual-add{margin-bottom:18px}
.pam1b-manual-add summary{cursor:pointer;color:#5b2a86;font-weight:800;margin-bottom:10px}
.pam1b-results{display:grid;gap:7px}
.pam1b-results-head,.pam1b-result-row{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(110px,1fr) minmax(150px,1.35fr) 76px minmax(150px,1.2fr);gap:8px;align-items:center}
.pam1b-results-head{padding:0 10px;font-size:.88rem;font-weight:800;color:#244f29}
.pam1b-result-row{background:#fff;border:2px solid #ddd;border-radius:12px;padding:8px}
.pam1b-event-edit-form{display:contents}
.pam1b-result-row input,.pam1b-result-row select{min-width:0;width:100%;padding:8px 9px;border:2px solid #aaa;border-radius:9px;font:inherit;background:#fff}
.pam1b-result-row .action{margin:0}
.pam1b-status-cell{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0}
.pam1b-status-cell form{margin:0}
.event-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:24px}
@media(max-width:900px){
 .pam1b-results-head{display:none}
 .pam1b-result-row{grid-template-columns:1fr}
 .pam1b-event-edit-form{display:grid;grid-template-columns:1fr;gap:7px}
 .pam1b-status-cell{justify-content:flex-start}
}

/* PAM1C Photo Upload */
.pu-page{max-width:760px}.pu-intro{font-size:1.08rem}.pu-form{max-width:none}
.pu-form input[type=file]{display:block;width:100%;box-sizing:border-box;margin:10px 0 8px;padding:14px;border:2px dashed #6d4a86;border-radius:12px;background:#fff}
.pu-count{margin:4px 0 14px;font-weight:700;color:#244f29}.pu-form button:disabled{opacity:.5;cursor:not-allowed}


/* Mini Ziggy home page — desktop/laptop refresh */
.home-page{overflow:hidden}
.home-hero{position:relative;width:min(1180px,94vw);margin:0 auto;padding:34px 16px 18px}
.home-hero>h1{position:relative;z-index:1;margin:0 auto 30px;max-width:900px;text-align:center;font-size:clamp(2.6rem,5vw,4.7rem);line-height:.96;color:var(--p);text-shadow:4px 4px var(--y);transform:rotate(-1deg)}
.home-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:44px;align-items:center}
.home-hero-photo{width:100%;max-width:610px;margin:0 auto;background:#fff;padding:10px;border:4px solid var(--p);box-shadow:12px 12px var(--g);transform:rotate(-1deg)}
.home-hero-photo img{display:block;width:100%;height:auto}
.home-hero-copy{min-width:0}
.home-tagline{margin:0 0 20px;font-size:clamp(1.15rem,1.9vw,1.55rem);font-weight:900;line-height:1.25;color:var(--gd)}
.home-intro{padding:20px 22px;background:#fff;border:4px dashed var(--p);border-radius:24px;box-shadow:8px 8px var(--g);transform:rotate(.35deg)}
.home-intro h2{margin:0 0 10px;color:var(--gd);font-size:clamp(1.3rem,2vw,1.65rem)}
.home-intro p{margin:0;line-height:1.55}
.home-stats{margin-top:24px}
.home-stats h2{margin:0 0 10px;color:var(--p);font-size:1.15rem}
.home-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.home-stat{display:block;padding:15px 12px;background:var(--gd);border:4px solid var(--y);border-radius:18px;box-shadow:5px 5px var(--p);text-align:center;color:#fff;text-decoration:none}
.home-stat:nth-child(even){background:var(--p);box-shadow:5px 5px var(--g)}
.home-stat strong{display:block;font-size:clamp(2rem,3.5vw,3rem);line-height:1}
.home-stat span{display:block;margin-top:6px;font-weight:900}
.home-stat:hover,.home-stat:focus-visible{transform:translateY(-2px)}
.home-hero .i1{left:-12px;top:42%}
.home-hero .i2{right:-12px;top:18%}
.home-hero .ufo{right:3%;top:1%}

@media(max-width:900px){
  .home-hero{padding-top:38px}
  .home-hero>h1{font-size:clamp(2.5rem,7vw,4rem);max-width:760px}
  .home-hero-grid{grid-template-columns:1fr;gap:30px}
  .home-hero-photo{width:min(650px,88vw)}
  .home-hero-copy{width:min(760px,92vw);margin:0 auto}
  .home-tagline{text-align:center}
  .home-hero .i1{top:31%}
  .home-hero .i2{top:10%}
}

@media(max-width:600px){
  .home-hero{width:100%;padding:34px 14px 8px}
  .home-hero>h1{margin-bottom:24px;font-size:clamp(2.35rem,12vw,3.2rem)}
  .home-hero-grid{gap:26px}
  .home-hero-photo{width:min(88vw,520px);padding:7px;box-shadow:8px 8px var(--g)}
  .home-hero-copy{width:100%}
  .home-intro{padding:17px 16px;box-shadow:6px 6px var(--g)}
  .home-stat-grid{grid-template-columns:1fr}
  .home-stat{padding:13px 10px}
  .home-hero .invader{font-size:3rem;opacity:.82}
  .home-hero .i1{left:-12px;top:30%}
  .home-hero .i2{right:-10px;top:11%}
  .home-hero .ufo{right:2%;top:1%}
}

/* Mini Ziggy menu section dividers */
.main-nav .nav-session{
  margin-top:10px;
  padding-top:10px;
  border-top:4px solid var(--y);
}

