:root{font-family:Arial,Helvetica,sans-serif;color:#000;background:#d3ffe2}*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:#d3ffe2}a{color:inherit;text-decoration:none}a:hover{color:#0a5}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-header{position:sticky;top:0;z-index:10;min-height:125px;width:84%;margin:auto;padding:24px 2%;background:#d3ffe2}.site-header h1{margin:0;font-size:clamp(40px,5vw,82px);letter-spacing:.13rem;font-weight:400;line-height:1}.header-actions{display:flex;gap:1rem;justify-content:flex-end;font-size:14px}.header-actions button{background:none;border:0;padding:0}.content{width:80%;margin:0 auto;min-height:75vh;padding:55px 0 110px}.sort-links{display:flex;flex-wrap:wrap;gap:2.5rem;margin:1rem 0 4rem;font-size:clamp(16px,1.5vw,24px)}.sort-links .selected{text-decoration:underline;text-underline-offset:.35rem}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 4vw}.card{display:block;min-height:280px;padding:15px 10px 55px;border-top:1px dashed #000}.card h2{font-size:clamp(27px,2.8vw,52px);line-height:1.04;letter-spacing:.07vw;font-weight:400;margin:2rem 0}.card h3,.card p{font-size:clamp(15px,1.15vw,22px);font-weight:400;margin:1rem 0}.terrain-head{display:flex;align-items:center;justify-content:space-between;font-size:clamp(16px,1.15vw,24px);letter-spacing:.13vw}.terrain-head img{width:32px;height:32px;object-fit:contain}.classic .card{min-height:370px}.classic .card h2{font-size:clamp(34px,4vw,70px)}.classic .card h3{font-size:clamp(17px,1.5vw,26px)}.hearts img{width:24px;height:24px;margin-right:3px}.buyit{display:inline-block;margin-left:1rem;border:1px solid #000;padding:.1rem .35rem}.page-links{margin-top:5rem;display:grid;gap:1rem}.page-links a,.button{display:block;border:1px solid #000;padding:16px;text-align:center;font-size:18px;background:transparent}.page-links a:hover,.button:hover{border-color:#0a5}.back-link{display:inline-block;margin-bottom:2rem;font-size:22px}.detail-title{font-size:clamp(36px,4vw,70px);font-weight:400;margin:1rem 0}.detail-icon{width:60px;height:60px;object-fit:contain}.detail-intro{margin:2rem 0 4rem;white-space:pre-wrap}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem;margin:2rem 0 4rem}.detail-grid h2,.section-title{font-weight:400;font-size:clamp(23px,2vw,38px);border-bottom:1px solid #000;padding-bottom:.5rem}.detail-grid h3{font-size:clamp(18px,1.5vw,28px);font-weight:400}.detail-grid dl{display:grid;grid-template-columns:30% 1fr;gap:1rem}.detail-grid dt,.detail-grid dd{margin:0;overflow-wrap:anywhere}.narrative{white-space:pre-wrap;line-height:1.5;margin:1rem 0 4rem}.form-title{font-size:clamp(36px,4vw,70px);font-weight:400}.field{display:grid;grid-template-columns:30% 1fr;gap:1rem;align-items:start;margin:1.3rem 0}.field label{font-size:clamp(16px,1.45vw,24px)}.field input,.field select,.field textarea{width:100%;padding:.45rem;border:1px solid #000;background:#fafffc;border-radius:0}.field textarea{min-height:220px}.field .short{max-width:360px}.field.check input{width:28px;height:28px}.form-section{margin-top:3.5rem}.errors{border:2px solid #a00000;color:#a00000;padding:1rem;margin:1rem 0}.form-actions{display:flex;gap:1rem;margin-top:3rem}.form-actions button{min-width:180px}.rank-table{width:100%;border-collapse:collapse;margin:4rem 0}.rank-table th,.rank-table td{text-align:left;border-bottom:1px solid #000;padding:16px 10px}.rank-table th{font-weight:400}.auth-panel{max-width:500px}.auth-panel .field{display:block}.auth-panel .field label{display:block;margin:0 0 .5rem}.site-footer{margin:2rem 10%;padding:1rem 0;font-size:14px}.map-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0}.map-filters button{border:1px solid #000;background:transparent;padding:.5rem .8rem}.map-filters button.selected{background:#000;color:#d3ffe2}.map-container{height:min(75vh,850px);min-height:450px;border:1px solid #000}@media(max-width:760px){.site-header,.content{width:90%}.site-header{min-height:95px}.cards,.detail-grid{grid-template-columns:1fr}.detail-grid{gap:1rem}.field{grid-template-columns:1fr;gap:.35rem}.rank-table{display:block;overflow-x:auto}}
