:root{--bg:#0d0d0d;--ivory:#eadfcb;--muted:#aaa197;--red:#e33143;--line:#39312e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ivory);font:16px/1.65 Manrope,Arial,sans-serif}a{color:inherit}button,input,textarea{font:inherit}a,button,input,textarea{outline-offset:4px}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:22px max(24px,4vw);border-bottom:1px solid var(--line);background:#111010}.portal-brand{font:32px 'Bebas Neue',Impact,sans-serif;text-decoration:none;white-space:nowrap}.portal-brand b{font-weight:400;color:var(--red)}.portal-header nav{display:flex;gap:26px;flex-wrap:wrap}.portal-header nav a{text-decoration:none;font-size:14px;color:#bcb1a3;padding:7px 0}.portal-header nav a:hover,.portal-header nav a[aria-current]{color:#fff;border-bottom:2px solid var(--red)}.portal-main{max-width:1320px;padding:44px 28px 70px;margin:auto;min-height:70vh}.page-heading{margin-bottom:32px}.eyebrow,.meta{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}h1,h2,h3{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;line-height:1.1}h1{font-size:clamp(40px,5vw,64px);margin:10px 0 24px}h2{font-size:34px;margin:12px 0 20px}h3{font-size:28px;margin:16px 0}p{color:#bdb3a6}.tool-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}.tool-card{display:flex;flex-direction:column;border:1px solid var(--line);padding:30px;text-decoration:none;background:#171414;min-height:300px;border-top:3px solid #60504a}.tool-card:hover{border-color:var(--red);background:#211719}.tool-card h2{font-size:38px;margin-top:40px}.tool-card p{margin:0 0 30px;font-size:15px}.primary-card{border-top-color:var(--red);background:#251719}.card-action{margin-top:auto;color:#f27580;font-size:14px}.library-section{margin-top:58px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.button{display:inline-block;text-decoration:none;padding:11px 18px;border:1px solid #65504a;background:#211919;color:var(--ivory);font-size:14px;cursor:pointer}.button.primary{background:var(--red);border-color:var(--red);color:white}.button:disabled{opacity:.5;cursor:wait}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.empty{padding:32px;border:1px dashed #51413b;background:#151313}.empty h3{margin-top:0}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.scenario-card{border:1px solid var(--line);padding:25px;background:#171414}.scenario-card h3 a{text-decoration:none}.scenario-card p{font-size:14px;overflow-wrap:anywhere}.text-link{color:#f07581;font-size:14px}.search-form{margin:16px 0 28px;max-width:700px}.search-form div{display:flex;gap:10px;margin-top:8px}.search-form input{flex:1;min-width:0}.scenario-form{max-width:900px;display:grid;gap:22px}.scenario-form label{display:grid;gap:8px;font-size:14px}.scenario-form input,.scenario-form textarea,.search-form input,.login input{background:#151313;border:1px solid #56463f;color:var(--ivory);padding:12px;width:100%}.scenario-form textarea{resize:vertical}.honey{position:absolute!important;left:-10000px}.map-attachment{padding:24px;border:1px solid var(--line)}.map-attachment label{margin-top:20px}.rules{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;margin-top:40px}.rules section{border-top:1px solid var(--line);padding-top:18px;overflow-wrap:anywhere}.rules p{white-space:normal}.map-figure{margin:24px 0;background:#191716;padding:24px;text-align:center}.map-figure img{max-width:100%;max-height:650px}.map-figure figcaption{font-size:13px;color:var(--muted)}.portal-footer{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding:25px 4vw;color:var(--muted);font-size:12px}.portal-footer span{margin-right:auto}.review-card{padding:25px;border:1px solid var(--line);margin:24px 0}.review-card img{max-width:100%;max-height:350px}.review-card dl{display:grid;grid-template-columns:1fr 1fr;gap:20px}.review-card dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.notice{padding:18px;border-left:3px solid var(--red);background:#24171a}.stats{display:flex;gap:20px;flex-wrap:wrap}.stats div{padding:20px;background:#211919;min-width:160px}.stats strong{display:block;font-size:32px}.login{max-width:450px}.login label{display:grid;gap:10px}.calculator{margin-top:20px}.portal-main .site-shell{padding:0;max-width:none}.portal-main .masthead{display:none}@media(max-width:900px){.portal-header{align-items:flex-start;flex-direction:column;gap:12px}.portal-header nav{gap:18px}.tool-grid,.scenario-grid{grid-template-columns:1fr}.tool-card{min-height:0}.tool-card h2{margin-top:22px}.section-heading{align-items:flex-start;flex-direction:column}.portal-main{padding:30px 20px}.rules,.review-card dl{grid-template-columns:1fr}.tool-card p{margin-bottom:20px}}@media print{.portal-header,.portal-footer,.button-row{display:none}body{background:white;color:black}.rules p{color:black}.portal-main{padding:0}.rules{display:block}.map-figure img{max-height:500px}}
.calculator .dice{flex-wrap:wrap}
.scenario-form select{font:inherit;background:#111010;border:1px solid #4a3e3f;color:var(--ivory);padding:12px;width:100%;color-scheme:dark}.scenario-form select option{background:#171414;color:var(--ivory)}
.print-actions{flex-wrap:wrap}
.review-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.review-tabs b{margin-left:10px}.library-filters{max-width:none;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;margin:24px 0}.library-filters .button-row{grid-column:1/-1}@media(max-width:800px){.library-filters{grid-template-columns:1fr 1fr}}@media(max-width:500px){.library-filters{grid-template-columns:1fr}}
.button.danger{border-color:#b55750;color:#ffadb3}
.rule-table-wrap{max-width:100%;overflow-x:auto;margin:12px 0}.rule-table{width:100%;border-collapse:collapse;font-size:.9em;table-layout:fixed}.rule-table th,.rule-table td{border:1px solid #675a50;padding:8px;overflow-wrap:anywhere}.rule-table th{background:#251f1c;font-weight:700}.review-card dd .rule-content,.review-card dd p{white-space:normal}@media print{.rule-table-wrap{overflow:visible;break-inside:avoid}.rule-table th{background:#eee;color:#111}.rule-table th,.rule-table td{padding:4px;border-color:#777}}
.scenario-thumbnail{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#211e19;border:1px solid var(--line);margin:18px 0 22px;overflow:hidden;padding:12px}.scenario-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}.scenario-thumbnail:hover{border-color:var(--red)}.thumbnail-empty{color:var(--muted);font-size:14px}
