/* ===================== PASS 5: legal pages, welcome, polish ===================== */
/* legal documents */
.legal{max-width:760px;margin:0 auto;counter-reset:lg}
.legal .legalmeta{text-align:center;font:italic 12px Georgia,serif;color:#6b4b32;margin:-6px 0 14px}
.legal h3{counter-increment:lg;display:flex;align-items:baseline;gap:10px;margin:1.6em 0 .5em;padding-bottom:6px;font:bold 17px Georgia,serif;color:#6a1c10;background:linear-gradient(90deg,var(--edge),transparent) bottom/100% 1px no-repeat}
.legal h3::before{content:counter(lg);display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;font:bold 13px Georgia,serif;color:var(--gold2);background:linear-gradient(#a6271f,#6a120d);border:1px solid #000;transform:rotate(45deg);box-shadow:inset 0 0 0 1px rgba(224,180,76,.4)}
.legal h3{padding-left:6px}
.legal h3::before{margin-right:6px}
.legal p,.legal li{font-size:13.5px;line-height:1.7}
.legal li{margin:6px 0}
.legalnote{margin:6px 0 18px;padding:14px 18px;color:#4a1710;font-size:13.5px;line-height:1.65;background:linear-gradient(90deg,rgba(160,40,31,.16),rgba(224,180,76,.12));border:1px solid rgba(140,29,24,.55);border-left:5px solid #a1281f;box-shadow:inset 0 0 0 2px rgba(224,180,76,.15)}
.termsfield{padding:10px 14px!important}
.termscheck{display:flex;align-items:flex-start;gap:10px;float:none!important;width:auto!important;font-weight:normal!important;font-size:12.5px;line-height:1.55;cursor:pointer;color:#2a1a0e}
.termscheck input{flex:none;width:18px;height:18px;margin:2px 0 0!important;accent-color:#8c1d18}
.termscheck a{font-weight:bold}

/* welcome panel on the home page */
.welcome{margin:0 0 20px;padding:20px 24px;text-align:center;background:radial-gradient(ellipse at 50% 0,rgba(224,100,40,.2),transparent 70%),linear-gradient(rgba(255,250,232,.55),rgba(235,215,170,.4));border:1px solid rgba(110,75,45,.8);border-top:3px solid #8c1d18;box-shadow:inset 0 0 0 2px rgba(224,180,76,.25),0 4px 12px rgba(60,35,10,.25)}
.welcome h2{margin:0 0 6px;padding:0;background:none;font:bold 24px Georgia,serif;color:#6a1c10;letter-spacing:1px}
.welcome p{margin:0 auto 14px;max-width:520px;color:#4a2a12;font-size:13.5px;line-height:1.6}
.welcomebtns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.mybutton.ghost,a.mybutton.ghost{background:linear-gradient(#3a2718,#1d130c)}

/* buttons: consistent size, states */
.mybutton,input[type=submit],button.mybutton,a.mybutton,.donateButton{min-height:36px;display:inline-flex;align-items:center;justify-content:center;line-height:1.1;text-align:center}
.mybutton:focus-visible,input[type=submit]:focus-visible,button:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.mybutton:disabled,input[type=submit]:disabled,button:disabled{opacity:.5;filter:grayscale(.5);cursor:not-allowed}
.card .mybutton,.card input[type=submit].mybutton{display:flex}

/* login panel: no stray blank lines */
#content .message br{display:none}
#content .message .mybutton{margin-top:16px}

/* highscores toolbar + medals */
#content form:has(select.skill){display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin:0 0 14px}
#content .highscoresTable tr:nth-child(2) td:first-child{color:#8a5a00!important;text-shadow:none;font-size:16px}
#content .highscoresTable tr:nth-child(3) td:first-child{color:#55555f;font-size:15px}
#content .highscoresTable tr:nth-child(4) td:first-child{color:#7a4a1a;font-size:15px}

/* pagination */
#content .boardPages,#content .pagination{text-align:center}
#content .boardPages a,#content .boardPages strong,#content .pagination a,#content .pagination strong{display:inline-block;min-width:30px;margin:0 2px;padding:4px 9px;border:1px solid rgba(110,75,45,.7);background:rgba(255,250,232,.5);color:#6a1c10;font:bold 12px Georgia,serif}
#content .boardPages strong,#content .pagination strong{background:linear-gradient(#a6271f,#6a120d);color:var(--gold2);border-color:#000}
#content .boardPages a:hover,#content .pagination a:hover{background:rgba(224,180,76,.35);text-decoration:none}

/* tooltips */
.tipsy-inner{background:#120b07!important;color:var(--gold2)!important;border:1px solid #7a5a38;font:12px Georgia,serif;padding:5px 9px;border-radius:0}
.tipsy-arrow{border-color:#120b07!important}

/* footer */
#footer{max-width:1180px}
#footer p{margin:6px 0}
.footlinks{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 0;margin-bottom:6px}
.footlinks a{padding:4px 12px;color:var(--gold);font-weight:bold;letter-spacing:.5px}
.footlinks i{width:5px;height:5px;background:var(--gold);transform:rotate(45deg);opacity:.6}
#footer .disclaimer{max-width:620px;margin:8px auto 0;font-size:10.5px;line-height:1.5;color:#9a8666}
.legal h3::before{transform:none;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:32px;height:32px;border:0;box-shadow:none;background:linear-gradient(#c0392b,#6a120d);padding-bottom:1px}
#content legend font[color],#content legend *,#content fieldset legend{color:var(--gold2)!important}

/* credits */
#content .creditsList{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:6px 0 18px}
#content .creditCard{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 14px;text-align:center;background:linear-gradient(rgba(255,250,232,.55),rgba(235,215,170,.35));border:1px solid rgba(110,75,45,.7);border-top:3px solid #8c1d18;box-shadow:inset 0 0 0 2px rgba(224,180,76,.18)}
#content .creditRole{font:bold 10px Georgia,serif;letter-spacing:2px;text-transform:uppercase;color:#7a5a38}
#content .creditName{font:bold 17px Georgia,serif;color:#6a1c10}
#content .creditDesc{font-size:12px;color:#4a2a12}
#content .creditsNote{max-width:560px;margin:0 auto;text-align:center;font-size:11px;line-height:1.6;color:#6b4b32}
