*{box-sizing:border-box}html{background:#b79b58;color:#30281b;font-family:Georgia,'Times New Roman',serif}body{margin:0;background:radial-gradient(circle at 50% 0,#d8c58a 0,#b79b58 48%,#8f7338 100%);min-height:100vh}.global-school-nav{background:#0d110e;border-bottom:1px solid #6f5130;font-family:Arial,sans-serif}.global-nav-inner{width:min(1500px,100%);margin:auto;padding:12px clamp(14px,3vw,42px);display:flex;align-items:center;gap:24px}.global-brand{font-weight:900;letter-spacing:.09em;color:#f4d078;text-decoration:none;white-space:nowrap}.global-links{margin-left:auto;display:flex;gap:24px;flex-wrap:nowrap;font:700 .78rem Arial,sans-serif;letter-spacing:.08em}.global-links a{color:#ddd4bd;text-decoration:none}.global-links a:hover,.global-links .active{color:#f4d078}.wrap{width:min(1180px,100%);margin:auto;padding:42px clamp(14px,4vw,48px) 70px}.paper{border:1px solid #80652f;background:rgba(235,221,174,.96);box-shadow:0 18px 50px rgba(67,49,20,.2);padding:clamp(22px,5vw,58px)}.kicker{font:800 .76rem Arial,sans-serif;letter-spacing:.16em;color:#735a2c;margin:0 0 8px}.paper>h1{font-size:clamp(2.5rem,7vw,5rem);line-height:.9;margin:0;color:#332b1c}.intro{font-size:1.2rem;font-style:italic;color:#69562e;margin:16px 0 36px}.panel{border-top:1px solid #9a7d42;padding:28px 0}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:20px}.section-head h2{margin:0;font:900 1.35rem Arial,sans-serif;letter-spacing:.08em}.section-head p{margin:5px 0 0;color:#675631}.league-name{min-width:min(320px,100%)}label{font:800 .72rem Arial,sans-serif;letter-spacing:.08em;color:#5d4b28}input,select{display:block;width:100%;margin-top:6px;border:1px solid #8a713c;background:#fffaf0;color:#30281b;padding:10px 11px;font:1rem Georgia,serif}button{border:1px solid #6d562c;background:#e4cf91;color:#332b1c;padding:10px 14px;font:900 .72rem Arial,sans-serif;letter-spacing:.08em;cursor:pointer}button:hover{background:#d7bc6e}.primary{background:#332b1c;color:#f5e7b8;border-color:#332b1c;min-height:44px}.team-actions{display:flex;align-items:center;gap:10px;margin-bottom:12px}.team-actions span{font:700 .8rem Arial,sans-serif;color:#675631}.teams{display:grid;gap:8px}.team-row{display:grid;grid-template-columns:42px 1fr 1fr;gap:10px;align-items:center}.team-no{font:900 .8rem Arial,sans-serif;text-align:center;color:#80652f}.team-row input{margin:0}.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:520px}.bonus-grid{display:grid;gap:9px;margin-top:18px}.bonus-grid label{display:grid;grid-template-columns:auto 1fr 80px;gap:9px;align-items:center;max-width:520px}.bonus-grid input[type=checkbox]{width:18px;height:18px;margin:0}.bonus-grid input[type=number]{margin:0}.bonus-mode{display:block;max-width:300px;margin-top:18px}.note{font-size:.9rem;color:#6d5b36}.game-form{display:grid;grid-template-columns:2fr 80px 80px 48px 2fr 80px 80px;gap:10px;align-items:end}.versus{font:900 .8rem Arial,sans-serif;text-align:center;padding-bottom:12px}.game-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.game-actions .primary{min-width:190px}.danger{background:#fffaf0;border-color:#8a2e20;color:#8a2e20}.danger:hover{background:#ead7c8}.message{grid-column:3/-1;margin:0 0 10px;color:#8a2e20;font-weight:bold}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fffaf0}th,td{border:1px solid #9c8655;padding:9px 8px;text-align:center}th{background:#d8c58a;font:900 .7rem Arial,sans-serif;letter-spacing:.06em}td:nth-child(2),td:nth-child(3){text-align:left}.matches{display:grid;gap:8px}.match{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid #a58c54;background:#fffaf0;padding:11px 12px}.match strong{font-family:Arial,sans-serif}.match small{color:#6b5b39}.match button{padding:7px 10px}.empty{color:#75633d;font-style:italic}.footer{border-top:1px solid #94783e;margin-top:34px;padding-top:18px;text-align:center;font:.78rem Arial,sans-serif;color:#66532e}@media(max-width:900px){.global-nav-inner{align-items:flex-start;flex-direction:column;gap:8px;padding:10px 14px}.global-links{margin-left:0;gap:12px;font-size:.64rem;flex-wrap:wrap}.section-head{align-items:stretch;flex-direction:column}.game-form{grid-template-columns:1fr 72px 72px}.versus{display:none}.game-form label:nth-of-type(4){grid-column:1}.game-actions{grid-column:1/-1}.message{grid-column:1/-1}.match{grid-template-columns:1fr auto}}@media(max-width:560px){.paper{padding:20px 14px}.score-grid{grid-template-columns:repeat(3,1fr)}.team-row{grid-template-columns:30px 1fr}.team-row input:last-child{grid-column:2}.game-form{grid-template-columns:1fr 64px 64px}.global-links{line-height:1.6}}

.file-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:-14px 0 28px}.file-message{font:700 .78rem Arial,sans-serif;color:#675631}.file-message.error{color:#8a2e20}.file-actions button:first-child{background:#fffaf0}.file-actions button:first-child:hover{background:#eadfbd}@media(max-width:560px){.file-actions{align-items:stretch}.file-actions button{flex:1 1 auto}.file-message{flex-basis:100%}}

/* PASS 04 · finish where the commissioner is working */
.bottom-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid #b39a62}.bottom-actions button:last-child{background:#332b1c;color:#f5e7b8;border-color:#332b1c}.bottom-actions button:last-child:hover{background:#51452e}.print-tip{margin:8px 0 0;text-align:right;font-size:12px;color:#786744;font-style:italic}.print-head{display:none}
@media(max-width:560px){.bottom-actions button{flex:1 1 auto}}

@media print{
  @page{size:A4 portrait;margin:12mm}
  html,body{background:#fff!important;color:#000!important}
  body{min-height:auto}
  .global-school-nav,.file-actions,.league-panel,.scoring-panel,.game-panel,.bottom-actions,.print-tip,.footer{display:none!important}
  .wrap{width:100%;margin:0;padding:0}
  .paper{border:0;background:#fff!important;box-shadow:none;padding:0}
  .paper>.kicker,.paper>h1,.paper>.intro{display:none}
  .print-head{display:block;border-bottom:2px solid #000;padding-bottom:8mm;margin-bottom:5mm}
  .print-head p{margin:0 0 2mm;font:700 8pt Arial,sans-serif;letter-spacing:.08em;color:#333}
  .print-head h2{margin:0 0 2mm;font:700 24pt Georgia,'Times New Roman',serif}
  .print-head #printScoring{font:9pt Georgia,'Times New Roman',serif;letter-spacing:0;color:#333}
  .panel{border-top:0;padding:4mm 0}
  .section-head{margin-bottom:3mm}
  .section-head h2{font-size:12pt}
  .section-head p{font-size:9pt;color:#333}
  .table-scroll{overflow:visible}
  table{background:#fff;font-size:9pt;break-inside:avoid}
  th,td{border:1px solid #555;padding:4px 5px}
  th{background:#eee!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .matches{gap:3mm}
  .match{background:#fff;border:1px solid #777;padding:6px 8px;break-inside:avoid;grid-template-columns:1fr auto}
  .match button{display:none!important}
  .match strong{font-size:9pt}
  .match small{font-size:8pt;color:#333}
}

/* FINAL · BBSoB print signature */
@media print{
  .paper::after{
    content:"bbsob.net";
    display:block;
    margin-top:8mm;
    padding-top:3mm;
    border-top:1px solid #aaa;
    text-align:center;
    font:700 8pt Arial,sans-serif;
    letter-spacing:.08em;
    color:#444;
  }
}
