:root{color:#20392f;font-synthesis:none;background:#f6f7f2;font-family:Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:#fff;border:1px solid #dce3d9;border-radius:8px;padding:9px 12px}button:hover{background:#edf3df}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #88a53a}header{background:#fff;border-bottom:1px solid #e4e8df;justify-content:space-between;align-items:center;height:78px;padding:0 max(5vw,24px);display:flex}.brand{color:#193f31;letter-spacing:-1px;align-items:center;gap:10px;font-size:23px;font-weight:800;text-decoration:none;display:flex}.ball{color:#94b531;font-size:32px}.beta{letter-spacing:1px;background:#eaf0df;border-radius:4px;padding:4px 6px;font-size:9px}.save{color:#758273;font-size:11px}main{max-width:1340px;margin:auto;padding:0 40px}.hero{justify-content:space-between;align-items:center;padding:50px 15px 46px;display:flex}.eyebrow{letter-spacing:2.2px;color:#78905c;font-size:10px;font-weight:700}h1{letter-spacing:-2px;margin:14px 0;font-size:43px;line-height:1.35}h1 span{color:#7d9652}.hero p:not(.eyebrow){color:#788276;font-size:13px;line-height:1.9}.court-art{background:#214e3a;border-radius:100px 12px;width:360px;height:190px;margin-right:35px;position:relative;overflow:hidden;transform:rotate(-7deg)}.court-lines{background:linear-gradient(90deg,#0000 49.5%,#9fb299 49.5% 50%,#0000 50%),linear-gradient(#0000 22%,#9fb299 22% 22.5%,#0000 22.5% 77%,#9fb299 77% 77.5%,#0000 77.5%);border:1px solid #9fb299;position:absolute;inset:25px 40px}.art-ball{background:#d2eb75;border-radius:50%;width:42px;height:42px;position:absolute;top:53px;left:230px;box-shadow:10px 12px #173628}.court-caption{letter-spacing:3px;color:#b7c9a9;font-size:8px;position:absolute;bottom:10px;left:60px}.workspace{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:28px;display:grid}.setup{background:#fff;border:1px solid #e1e6dc;border-radius:14px;padding:24px}fieldset{border:0;min-width:0;margin:0;padding:0}h2{letter-spacing:-.7px;margin:0;font-size:19px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title small{color:#9bad87;margin-right:10px;font-size:11px}.pill{background:#eff3e7;border-radius:20px;padding:5px 10px;font-size:11px}.hint{color:#7c8676;font-size:11px;line-height:1.8}.add{gap:5px;margin:17px 0;display:flex}.add input{flex:1;min-width:0}.add select{width:75px}.add button{color:#fff;background:#244c3b;padding:4px 11px;font-size:20px}input,select{color:#334738;background:#fbfcf9;border:1px solid #dfe5d9;border-radius:7px;width:100%;min-height:42px;padding:10px}.players{border-top:1px solid #edf0e8}.player{border-bottom:1px solid #edf0e8;align-items:center;gap:8px;padding:5px 0;display:flex}.player>span{overflow-wrap:anywhere;flex:1;min-width:0;font-size:12px}.player select{width:75px;min-height:34px;padding:5px;font-size:11px}.player button{color:#8f978b;background:0 0;border:none;padding:5px 10px}.text-button{color:#708750;background:0 0;border:0;padding:12px 0;font-size:11px}.settings{margin:20px 0 18px}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}label{margin-bottom:14px;font-size:11px;font-weight:600;display:block}label input,label select{margin-top:7px;font-weight:400;display:block}.rule-note{color:#748066;background:#f6f8ef;border-radius:8px;margin:18px 0;padding:14px;font-size:10px;line-height:1.8}.rule-note p{margin:4px 0 12px}.rule-note p:last-child{margin-bottom:0}.rule-note strong{color:#526843}.primary{color:#fff;background:#244b39;width:100%;padding:15px;font-weight:600}.primary:hover{background:#346547}.result-head{justify-content:space-between;align-items:center;margin:5px 0 22px;display:flex}.result-head .eyebrow{margin:0 0 7px}.actions{gap:6px;display:flex}.actions button{font-size:11px}.empty{text-align:center;color:#79896c;background:#f0f3e9;border:1px dashed #d1dac6;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:470px;display:flex}.empty>span{color:#9db57b;font-size:45px;font-weight:300}.empty h3{color:#4c6540;margin-bottom:4px;font-size:19px}.empty p{font-size:12px;line-height:1.9}.preview-stats{margin-top:25px;font-size:12px}.preview-stats i{color:#b3bfa3;margin:0 14px}.stats{background:#eaf0df;border-radius:12px;grid-template-columns:repeat(4,1fr);padding:20px 6px;display:grid}.stats>div{text-align:center;border-right:1px solid #d5dfc8}.stats>div:last-child{border:0}.stats strong{font-size:27px;font-weight:600;display:block}.stats span{color:#7f8c71;font-size:10px}.validation{color:#607d45;margin:16px 0;font-size:11px}.validation span{color:#8c9485}details{background:#fff;border:1px solid #e1e6dc;border-radius:8px;padding:12px;font-size:11px}summary{cursor:pointer}.attendance>div{border-bottom:1px solid #eee;justify-content:space-between;padding:8px;display:flex}.swap-hint{color:#7c8773;font-size:11px;line-height:1.8}.swap-hint button{padding:4px}.rounds{gap:16px;display:grid}.round{background:#fff;border:1px solid #e0e6d9;border-radius:12px;overflow:hidden}.round-heading{background:#fafbf6;border-bottom:1px solid #e7ebdf;justify-content:space-between;align-items:center;padding:13px 18px;display:flex}.round-heading h3{letter-spacing:1px;margin:0;font-size:10px;font-weight:500}.round-heading h3 span{margin-right:9px;font-size:21px;font-weight:700}.round-heading>span{letter-spacing:1px;color:#99a08f;font-size:9px}.games{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.game{border-right:1px solid #edf0e6;padding:16px}.game-meta{color:#8a957e;justify-content:space-between;margin-bottom:13px;font-size:10px;display:flex}.game-meta span:first-child{color:#567047;font-weight:600}.teams{justify-content:space-between;align-items:center;gap:10px;display:flex}.teams>div{flex-direction:column;flex:1;gap:4px;display:flex}.teams button{background:#f5f7ef;border:0;padding:8px 3px;font-size:13px;font-weight:600}.versus{color:#a4ae99;font-size:9px}.rest{color:#929b86;border-top:1px solid #edf0e6;flex-wrap:wrap;align-items:center;gap:6px;padding:9px 16px;font-size:10px;display:flex}.rest span{margin-right:7px}.rest button{color:#7d886e;background:0 0;border:0;padding:4px 8px;font-size:11px}.chosen{outline:2px solid #7a9649;background:#d7ec9d!important}.error{color:#954a2f;background:#fff1e9;border:1px solid #e7b7a5;border-radius:8px;margin-bottom:16px;padding:14px;font-size:12px}footer{color:#7f8c72;border-top:1px solid #e0e6d8;align-items:center;gap:15px;margin-top:35px;padding:35px 0;font-size:12px;font-weight:700;display:flex}footer span{font-size:10px;font-weight:400}footer span:last-child{margin-left:auto}@media (width<=800px){main{padding:0 20px}.hero{padding:30px 0}.hero h1{font-size:34px}.court-art{width:220px;height:140px;margin:0 10px}.workspace{grid-template-columns:290px minmax(0,1fr);gap:16px}.setup{padding:18px}.result-head{flex-direction:column;align-items:start;gap:10px}.stats{grid-template-columns:1fr 1fr;gap:12px}.stats>div:nth-child(2){border:0}}@media (width<=620px){header{height:65px;padding:0 20px}.brand{font-size:20px}.save{text-align:right;max-width:90px;font-size:9px}.hero{padding:30px 0 22px}.hero h1{font-size:32px}.hero .eyebrow{letter-spacing:1.4px;font-size:8px}.hero p:not(.eyebrow){font-size:11px}.court-art{border-radius:60px 10px;flex-shrink:0;width:115px;height:150px}.court-lines{inset:20px 15px}.art-ball{width:29px;height:29px;top:58px;left:54px}.court-caption{display:none}.workspace{display:block}.results{margin-top:32px}.result-head{flex-direction:row;align-items:center}.result-head h2{font-size:18px}.stats{grid-template-columns:repeat(4,1fr);gap:0}.stats strong{font-size:23px}.stats span{font-size:9px}.stats>div:nth-child(2){border-right:1px solid #d5dfc8}.empty{min-height:300px}.games{grid-template-columns:1fr 1fr}.game{padding:12px 9px}.teams{gap:5px}.teams button{font-size:12px}.game-meta{font-size:9px}footer{flex-wrap:wrap}footer span:last-child{width:100%;margin:0}}@media print{@page{size:A4;margin:12mm}:root{color:#000;background:#fff;font-size:10px}header,.hero,.setup,.actions,.swap-hint,footer,details,.error{display:none!important}main{max-width:none;padding:0}.workspace{display:block}.result-head{margin:0 0 12px}.results{margin:0}.stats{padding:8px}.stats strong{font-size:18px}.rounds{gap:10px}.round{break-inside:avoid;border:1px solid #aaa}.round-heading{padding:6px 12px}.game{padding:8px 12px}.teams>div{flex-direction:row}.teams button{background:#fff;font-size:12px}.rest{padding:5px 12px}.chosen{background:#fff!important;outline:0!important}.validation{margin:8px 0}.games{grid-template-columns:repeat(2,1fr)}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media screen and (width<=620px){button,.player button,.rest button,.teams button,.player select{min-height:44px}}@media print{.stats{grid-template-columns:repeat(4,1fr)}.teams button{font-size:15px;font-weight:700}.rest button{font-size:12px}.rounds[data-courts="1"]{gap:5px}.rounds[data-courts="1"] .round{padding-left:42px;position:relative}.rounds[data-courts="1"] .round-heading{justify-content:center;width:40px;padding:5px;position:absolute;inset:0 auto 0 0}.rounds[data-courts="1"] .round-heading h3{font-size:0}.rounds[data-courts="1"] .round-heading h3 span{margin:0;font-size:16px}.rounds[data-courts="1"] .round-heading>span{display:none}.rounds[data-courts="1"] .games{display:block}.rounds[data-courts="1"] .game{align-items:center;gap:12px;padding:4px 8px;display:flex}.rounds[data-courts="1"] .game-meta{flex-direction:column;gap:3px;width:75px;margin:0}.rounds[data-courts="1"] .teams{flex:1}.rounds[data-courts="1"] .teams button{flex:1;padding:3px}.rounds[data-courts="1"] .rest{gap:3px;padding:2px 8px}.rounds[data-courts="1"] .rest button{padding:2px 5px}.rounds[data-courts="1"] .round:nth-child(10n+11),.rounds[data-courts="2"] .round:nth-child(5n+6){break-before:page}}.add-status{color:#526843;min-height:1.8em;margin:0 0 5px;font-size:11px;line-height:1.8}.player.newly-added{background:#edf5dd;padding-left:8px;box-shadow:inset 3px 0 #7d9652}
