*{box-sizing:border-box}body{margin:0;background:#f4f4f1;color:#182321;font:15px/1.5 Arial,sans-serif}header{padding:24px 5%;display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid #ddd;font-weight:700;font-size:12px;letter-spacing:1px}.brand{display:flex;align-items:center;gap:12px;font-size:24px}.brand small{display:block;font-size:9px;letter-spacing:1.4px}.mark{color:#c62635;font-size:42px}main{max-width:1320px;margin:auto;padding:30px}.hero{background:#142a27;color:white;padding:48px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-90px;top:-110px;border:60px solid #ffffff08;width:400px;height:400px;border-radius:50%;pointer-events:none}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:bold;color:#9b2332}.hero .eyebrow{color:#ef9b9e}h1{font-size:clamp(32px,5vw,60px);letter-spacing:-2px;margin:12px 0}h2{font-size:26px;margin:4px 0 20px}h3{margin-top:0}.hero p{margin:8px 0}.sub{color:#b8cbc5}.hero-badge{text-align:center;border:1px solid #658078;padding:22px;z-index:1;font-size:12px}.hero-badge strong{font-size:30px}nav{display:flex;gap:10px;margin:25px 0 16px}button,.button{background:white;border:1px solid #d3d9d5;border-radius:6px;padding:11px 16px;cursor:pointer;font:inherit;color:inherit;display:inline-block}button:hover,.button:hover{background:#e7ede8}.primary,nav .active{background:#b82032;color:white;border-color:#b82032}aside{padding:12px 16px;background:#ebe9df;border-radius:6px;font-size:12px;color:#5a5b4f;margin-bottom:30px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.filters,.fields{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:white;padding:24px;border:1px solid #dfe4df;border-radius:10px}label{display:block;font-size:12px;font-weight:700;color:#55645e}input,select{display:block;margin-top:7px;width:100%;padding:11px;border:1px solid #cdd7d1;border-radius:5px;font:14px Arial;background:white;color:#182321}input:focus,select:focus{outline:2px solid #7c9e91;outline-offset:1px}.table-wrap{overflow:auto;border:1px solid #dfe4df;border-radius:9px;background:white;margin-bottom:20px}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;background:#eef1ed;color:#68756d;font-size:11px;text-transform:uppercase;letter-spacing:.7px}td,th{padding:16px;border-bottom:1px solid #edf0ea}td small{display:block;color:#748078}td:last-child strong{color:#b82032;font-size:20px}.division{font-size:15px;margin:28px 0 10px}.empty{text-align:center;padding:65px 20px;background:white;border:1px dashed #bdcbc1;border-radius:10px;color:#63736a}.form-foot{display:flex;gap:12px;align-items:center;margin:20px 0}.form-foot strong{margin-right:auto;color:#b82032;font-size:22px}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.rule-grid article{padding:25px;background:white;border-radius:8px}footer{margin:55px 0 15px;color:#7d857d;font-size:11px;letter-spacing:1px}#summary{font-size:12px;color:#64746c}[hidden]{display:none!important}@media(max-width:760px){main{padding:16px}.hero{padding:28px}.hero-badge{display:none}.filters,.fields{grid-template-columns:1fr 1fr;padding:16px}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:15px}.rule-grid{grid-template-columns:1fr}header>span{display:none}td,th{padding:12px}nav button{padding:10px}h1{letter-spacing:-1px}}

.bulk{padding:24px;background:#e9eee9;border-radius:10px;margin:20px 0 30px}textarea{display:block;width:100%;margin-top:8px;border:1px solid #bdccc1;border-radius:6px;padding:15px;font:14px/1.6 Arial;resize:vertical}#import-preview input{min-width:100px}#import-preview td{vertical-align:top}#import-preview{margin:20px 0}

.federation-logo{width:118px;height:auto;display:block;object-fit:contain;flex-shrink:0}@media(max-width:760px){.federation-logo{width:82px}.brand{font-size:20px;gap:10px}.brand small{font-size:8px}}

/* Canadian federation palette */
body{background:#f8f7f5;color:#242424}header{border-top:5px solid #c8102e;border-bottom:1px solid #e5dedf}header>span{color:#b30e29}.hero{background:#fff;color:#252525;border:1px solid #e8d7da;border-left:10px solid #c8102e;box-shadow:0 5px 25px #63142708}.hero:after{border:60px solid #c8102e08}.hero h1{color:#b30e29}.hero .eyebrow{color:#a00f26}.hero-badge{background:#c8102e;color:#fff;border:0;border-radius:6px;min-width:215px}.maple{display:block;width:60px;height:65px;margin:0 auto 16px;fill:#fff}.primary,nav .active{background:#c8102e;border-color:#c8102e}button:hover,.button:hover{background:#f8e9ec}.primary:hover,nav .active:hover{background:#a80e27;color:#fff}aside{background:#f6e9eb;color:#6a303a}.bulk{background:#fbf0f2;border:1px solid #eed9de}th{background:#f8eeee;color:#70414a}input:focus,select:focus{outline-color:#c8102e}.eyebrow{color:#a40d27}footer{border-top:2px solid #c8102e;padding-top:20px;color:#675257}@media(max-width:760px){.hero{border-left-width:6px}}

.points-guide{background:#fff;padding:26px;border:1px solid #ecd9de;border-radius:12px;margin:0 0 35px}.point-steps{display:flex;align-items:stretch;gap:15px;margin:24px 0}.point-steps article{flex:1;background:#fbf2f3;padding:20px;border-radius:8px}.point-steps h3{margin:8px 0;font-size:17px}.point-steps p{font-size:14px;margin:0}.step-num{display:inline-flex;width:28px;height:28px;border-radius:50%;background:#c8102e;color:white;align-items:center;justify-content:center;font-weight:bold}.math-symbol{align-self:center;font-size:28px;color:#b30e29;font-weight:bold}.point-example{border-left:4px solid #c8102e;padding:14px 20px;background:#f6f5f2}.point-example p{margin:6px 0}.point-example strong{color:#b30e29}.points-note{font-size:12px;color:#665259;margin-bottom:0}@media(max-width:760px){.points-guide{padding:18px}.point-steps{flex-direction:column;gap:8px}.math-symbol{font-size:22px}.points-guide td,.points-guide th{padding:10px}}

.solo-rule{background:#fbf0f2;border:1px solid #eed9de;border-radius:8px;padding:18px 20px;margin:20px 0}.solo-rule h3{margin:0 0 8px}.solo-rule p{margin:6px 0;font-size:14px}
