*{box-sizing:border-box}
body{margin:0;background:#aab99f;color:#182015;font-family:Arial,Helvetica,sans-serif}
body.night{background:#20261f;color:#dfe7d8}
button,select,textarea,input{font:inherit}button{cursor:pointer}
.site{max-width:1240px;margin:auto;background:#dce6d4;min-height:100vh;border-left:4px solid #52634a;border-right:4px solid #52634a}
header{min-height:155px;background:#a9c89b;border-bottom:6px double #44543d;display:grid;grid-template-columns:100px 1fr 250px;align-items:center;padding:14px 18px;gap:15px}
.logo-mark{width:78px;height:78px;border:4px solid #71846a;background:#dfe9da;display:grid;place-items:center;font:bold 30px Georgia;color:#4e6948;line-height:25px}
.header-title h1{font:italic bold 34px Georgia,serif;color:#2e5c2c;margin:0;text-decoration:underline}
.ruler{letter-spacing:8px;text-transform:lowercase;font:12px "Courier New";color:#476141;border-top:2px solid #53684b;margin-top:7px;padding-top:4px}
.header-links{display:flex;justify-content:flex-end;gap:6px}.header-links button{background:#c4d6bb;border:3px outset #eef4e9;padding:9px;font-weight:bold}
.ticker{height:32px;overflow:hidden;white-space:nowrap;background:#d1dfc9;border-bottom:3px double #61745a;padding:8px;font:bold 11px "Courier New"}
.layout{display:grid;grid-template-columns:235px 1fr;min-height:680px}
aside{background:#9aac8f;border-right:4px double #53634d;padding:10px}.aside-brand{font:italic bold 20px Georgia;text-align:center;color:#31542f;padding:8px;border-bottom:2px solid #53644d}.aside-brand small{font:11px Arial}
aside button,.mobile-menu button{display:block;width:100%;margin:5px 0;padding:10px;text-align:left;background:#c7d4bf;border:3px outset #e7eee2;font-weight:bold}
aside button:hover,.mobile-menu button:hover{background:#e5eddf}
.counter{margin-top:22px;padding:9px;background:#d8e1d1;border:2px inset #71816a;font:10px "Courier New"}
main{padding:20px}.page.hidden{display:none}
h2{font:italic bold 27px Georgia,serif;border-bottom:4px double #65765c;padding-bottom:8px;color:#335631}
.news-strip,.old-web{border:2px solid #64765d;background:#d0dfc9;padding:9px;font:11px "Courier New";margin-bottom:15px}
.director{display:grid;grid-template-columns:370px 1fr;gap:22px;background:#c7d5bf;border:4px double #53654b;padding:15px}
.director-photo{display:block;width:100%;height:360px;object-fit:cover;border:5px ridge #e6ece1}.photo-caption{text-align:center;font:10px "Courier New";padding:4px}
.director-copy h3{font:italic bold 26px Georgia;text-decoration:underline}.director-copy a{font:bold 22px Georgia;color:#204d99;text-decoration:underline}.director-copy button{padding:10px;background:#c6d5bd;border:3px outset #eee;font-weight:bold}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}article,.paper,.museum,.vote-paper{background:#edf2e9;border:3px double #65755c;padding:15px;margin:10px 0}article button,.paper button,#dispose,#randomButton,#guestAdd,#resetVotes{padding:11px;background:#c5d4bc;border:3px outset #eef4e9;font-weight:bold}
textarea{width:100%;height:120px;background:#f1f4ee;border:3px inset #72806d;padding:10px}#guestList .paper{font:13px "Courier New"}
.vote-options{display:grid;gap:10px}.vote-options button{padding:13px;text-align:left;background:#c5d4bc;border:3px outset #eef4e9;font-weight:bold}
#voteResult{background:#172016;color:#cfe2c3;padding:14px;min-height:100px;white-space:pre-wrap}
.museum{min-height:100px}.museum div{font-size:40px;float:left;margin-right:15px}
footer{text-align:center;padding:18px;background:#596b52;color:#e8eee4;font:11px "Courier New"}
.mobile-bar,.mobile-menu{display:none}


/* ACCOUNTS */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:10000;display:grid;place-items:center;padding:15px}.modal.hidden{display:none}
.account-window{position:relative;width:min(480px,100%);background:#dce6d4;border:6px double #40523b;padding:22px;box-shadow:12px 12px #111}.account-window h2{margin-top:0}.account-close{position:absolute;right:8px;top:7px;width:44px;height:44px;font-size:32px;background:#bbb;border:4px outset #eee}
.tabs{display:flex;gap:7px;margin-bottom:15px}.tabs button{flex:1;padding:10px;background:#c5d4bc;border:3px outset #eee;font-weight:bold}.account-form label{display:block;font-weight:bold;margin:10px 0}.account-form input{width:100%;padding:11px;background:#f4f6f1;border:3px inset #71806b}.account-form>button{width:100%;padding:12px;background:#b9cdb0;border:4px outset #eee;font-weight:bold}.account-form.hidden{display:none}.form-error{color:#8b1e1e;font:bold 12px "Courier New";min-height:18px}.tiny{font:10px "Courier New"}
.account-card{background:#edf2e9;border:3px double #65755c;padding:16px}.owner-badge{display:inline-block;background:#7b1717;color:#fff;padding:5px 8px;font:bold 11px "Courier New"}
.logout{padding:10px;background:#c4d1bd;border:3px outset #eee;font-weight:bold}.admin-box{margin-top:15px;padding:12px;border:3px dashed #7b1717;background:#eadbd4}

@media(max-width:700px){
 .site{border:0}.mobile-bar{display:flex;position:sticky;top:0;z-index:1000;justify-content:space-between;gap:5px;padding:6px;background:#4e5e48;color:white}.mobile-bar button{background:#c6d2bf;border:3px outset #eee;padding:9px;font-weight:bold}.mobile-bar b{font:9px "Courier New";align-self:center}
 .mobile-menu{display:none;position:sticky;top:48px;z-index:999;background:#879a7e;padding:8px;border-bottom:4px solid #3f4d3a}.mobile-menu.open{display:block}
 .layout{display:block}.layout aside{display:none}main{padding:12px}
 header{min-height:120px;grid-template-columns:55px 1fr;padding:10px}.logo-mark{width:55px;height:55px;font-size:23px}.header-title h1{font-size:19px}.ruler{letter-spacing:2px;font-size:8px}.header-links{display:none}
 .director{grid-template-columns:1fr}.director-photo{height:330px}.grid{grid-template-columns:1fr}
}

.forum-layout{display:grid;grid-template-columns:320px 1fr;gap:16px}
.forum-new{background:#c8d6c0;border:4px double #53654b;padding:14px;height:max-content}
.forum-new input,.forum-new textarea{width:100%;margin:6px 0;padding:10px;border:3px inset #71806b;background:#f3f5f0}
.forum-new textarea{height:150px}
.forum-new button,.reply-button,.secondary-button{padding:10px;background:#c4d3bc;border:3px outset #eef4e9;font-weight:bold}
.forum-topic{background:#edf2e9;border:3px double #65755c;padding:12px;margin:10px 0}
.forum-topic-head{display:flex;justify-content:space-between;gap:10px;border-bottom:2px dotted #6a7963;padding-bottom:6px}
.forum-topic-head span,.forum-reply small{font:10px "Courier New";opacity:.8}
.forum-replies{margin-top:10px}
.forum-reply{border-left:5px solid #879a7e;background:#dbe5d6;padding:8px;margin:6px 0}
.reply-row{display:flex;gap:6px;margin-top:8px}.reply-input{flex:1;padding:9px;border:3px inset #71806b;background:#f5f6f2}
.secondary-button{margin-top:7px;width:100%}
@media(max-width:700px){
 .forum-layout{grid-template-columns:1fr}
 .forum-topic-head{display:block}.reply-row{display:block}.reply-input,.reply-button{width:100%;margin:3px 0}
}

.postal-card{max-width:900px;margin:20px auto;padding:20px;background:#ddd7c8;border:6px double #3f3a31;box-shadow:8px 8px 0 #777}
.postal-warning{font-weight:900;border:3px dashed #8a2929;padding:10px;background:#eee0d0}
.postal-quote{font-family:Georgia,serif;font-size:22px}
.postal-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.postal-actions button{padding:12px;background:#c9c0a8;border:4px outset #eee;font-weight:900;cursor:pointer}
.postal-result{min-height:60px;padding:14px;background:#171717;color:#ddd;font-family:"Courier New",monospace;border:4px inset #777}
.postal-note{margin-top:15px;font-size:12px;opacity:.7}
@media(max-width:700px){.postal-card{margin:10px;padding:12px}.postal-actions{display:grid}.postal-actions button{width:100%}}

/* OWNER ADMIN */
.owner-admin{margin-top:18px;background:#c7d5bf;border:6px double #53654b;padding:14px}.owner-admin.hidden{display:none}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:3px double #65755c;padding-bottom:10px;margin-bottom:12px}.admin-header b{display:block;font:italic bold 20px Georgia}.admin-header span{display:block;font:10px "Courier New";opacity:.75;margin-top:4px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.admin-stat{background:#edf2e9;border:3px double #65755c;padding:10px;text-align:center;min-height:85px}.admin-stat span{display:block;font-size:22px}.admin-stat b{display:block;font:bold 24px "Courier New"}.admin-stat small{font:10px "Courier New"}.admin-users-wrap{margin-top:18px}.admin-users{display:grid;gap:8px}.admin-user-row{background:#edf2e9;border:3px double #65755c;padding:11px;display:grid;grid-template-columns:1fr auto;gap:12px}.admin-user-main b{font-size:16px}.admin-user-main small{display:block;font:10px "Courier New";margin-top:5px;word-break:break-all}.admin-role{display:inline-block;margin-left:8px;padding:3px 6px;border:1px solid #52634a;font:bold 9px "Courier New"}.admin-role.owner{background:#7b1717;color:#fff}.admin-role.moderator{background:#d7c38b}.admin-user-metrics{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;font:10px "Courier New"}.admin-user-metrics span{background:#d6e0d0;padding:5px;border:1px solid #8b9985}
@media(max-width:700px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-header{align-items:flex-start}.admin-user-row{grid-template-columns:1fr}.admin-user-metrics{justify-content:flex-start}}


/* Owner controls */
.admin-user-row.is-blocked{opacity:.78}
.admin-user-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.admin-user-actions .secondary-button{font-size:.72rem}
