/* Companion to the supplied homepage. Glass is a CSS approximation; inputs stay still. */
.planner-page .nav{background:rgba(18,55,43,.9)}
.planner-page .nav.lt{background:rgba(247,249,247,.92)}
.planner-page .nav .pop{background:#173d31}
.planner-page .links a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.planner-hero{position:relative;isolation:isolate;overflow:hidden;background:#12372b;color:#c9dad1}
.planner-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 15%,rgba(220,232,117,.12),transparent 60%)}
.planner-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center;padding-top:132px;padding-bottom:72px;min-height:640px}
.planner-intro h1{font-size:clamp(44px,5.2vw,72px);line-height:1.06;letter-spacing:-.055em;max-width:10em;color:#fff}
.planner-intro h1>span{display:block;animation:planner-title .9s cubic-bezier(.16,1,.3,1) both}
.planner-intro h1>span+span{animation-delay:70ms}
.planner-intro .sub{font-size:21px;line-height:1.6;margin:24px 0;max-width:25em}
.planner-free{font-size:14px;line-height:1.7;color:#d5e2d8}
.planner-form{padding:32px;border-radius:28px;background:rgba(255,255,255,.07);min-width:0;animation:planner-form .8s .1s cubic-bezier(.16,1,.3,1) backwards}
.planner-form>*{position:relative;z-index:1}
.planner-form h2{font-size:26px;letter-spacing:-.03em;margin:0 0 26px}
.planner-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:0}
.planner-fields>div{min-width:0}
.planner-fields label{display:block;margin-bottom:10px;font-size:15px;font-weight:600;color:#fff}
.planner-stepper{display:flex;align-items:center;min-width:0;border:1px solid #8aa497;border-radius:18px;background:#193f31;overflow:hidden}
.planner-stepper input{min-width:0;width:100%;height:70px;border:0;border-radius:0;background:transparent;color:#fff;font:600 32px/1 Manrope,system-ui,sans-serif;font-variant-numeric:tabular-nums;text-align:center;padding:8px 0}
.planner-enhanced .planner-stepper input{appearance:textfield;-moz-appearance:textfield}
.planner-enhanced .planner-stepper input::-webkit-inner-spin-button,.planner-enhanced .planner-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.planner-stepper button{width:44px;min-width:44px;min-height:70px;border:0;background:transparent;color:#dce875;font:400 24px/1 Manrope,system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
.planner-stepper button:disabled{color:#8ba196;cursor:default}
.planner-stepper input:focus-visible,.planner-stepper button:focus-visible{outline:2px solid #dce875;outline-offset:-4px;border-radius:12px}
.planner-form .field-help{font-size:12px;color:#c9dad1;margin-top:9px}
.planner-generate{display:flex;width:100%;justify-content:space-between;margin-top:28px;min-height:52px;gap:12px;padding:0 22px}
.planner-generate:disabled{cursor:wait;opacity:.8;transform:none}
.planner-generate:disabled>span:last-child{animation:planner-working .8s ease-in-out infinite alternate}
.planner-form-note{margin-top:16px;color:#d1ded5;font-size:13px;line-height:1.65;max-width:28em}
.planner-error{border:1px solid #e8a49b;background:#552e2a;color:#fff1ec;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.6;margin-top:20px}
.planner-output{padding-top:54px;padding-bottom:48px}
.planner-empty{display:flex;justify-content:space-between;align-items:center;gap:32px;min-height:120px}
.planner-empty h2{font-size:27px;letter-spacing:-.035em;line-height:1.25;margin:0 0 12px}
.planner-empty p{max-width:36em;color:var(--mu);font-size:16px;line-height:1.7}
.planner-guide{display:inline-flex;gap:14px;align-items:center;min-height:48px;font-size:14px;text-underline-offset:5px;flex:none}
.planner-sheet-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.planner-eyebrow{font-size:14px;color:var(--mu);margin-bottom:10px}
.planner-sheet-heading h2{font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:-.04em}
.planner-sheet-heading h2:focus{outline:none}.planner-sheet-heading h2{scroll-margin-top:100px}
.planner-summary{font-size:15px;color:var(--mu);margin-top:12px}
.planner-print{font-size:14px;gap:16px;white-space:nowrap}
.planner-instruction{font-size:14px;line-height:1.7;color:var(--mu);padding:24px 0;margin-top:24px;border-top:1px solid var(--line)}
.planner-round-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 20px}
.planner-round-controls{display:flex;align-items:center;gap:16px}
.planner-round-controls .btn{width:48px;padding:0;font-size:20px}
.planner-round-controls .btn:disabled{opacity:.3;cursor:default;transform:none}
.planner-round-position{font-size:14px;min-width:110px;text-align:center;color:var(--mu)}
.planner-round-position strong{color:var(--ink)}
.planner-all{border:0;background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:5px;font:600 14px Manrope,system-ui,sans-serif;min-height:48px;padding:0 2px;cursor:pointer}
.planner-rounds{list-style:none;padding:0;margin:0}
.planner-round{padding:26px;background:var(--card);border:1px solid var(--line);border-radius:24px;margin-bottom:16px;scroll-margin-top:100px}
.planner-round h3{font-size:18px;letter-spacing:-.025em;margin:0 0 18px}
.planner-round h3 span{color:var(--mu);font-weight:500;margin-left:4px}
.planner-courts{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px}
.planner-court{background:var(--band);border:1px solid var(--line);border-radius:16px;min-width:0;padding:16px 20px}
.planner-court h4{font-size:12px;line-height:1.5;color:var(--mu);font-weight:600;margin:0 0 16px}
.planner-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}
.planner-pair>span{display:grid;justify-items:center}
.planner-pair small{font-size:12px;font-weight:500;color:var(--mu);margin-bottom:3px}
.planner-pair b{font-size:40px;line-height:1.2;font-weight:600;letter-spacing:-.04em}
.planner-versus{color:var(--mu);font-size:13px;padding-top:20px}
.planner-unused{color:var(--mu);font-size:14px;min-height:68px;display:flex;align-items:center}
.planner-rest{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;margin-top:20px;font-size:13px;color:var(--mu);line-height:1.6}
.planner-rest strong{font-weight:600;color:var(--ink);margin-right:4px}
.rest-player{border:1px solid var(--line);border-radius:16px;padding:3px 10px}
.planner-upgrade{display:flex;justify-content:space-between;align-items:center;gap:32px;border-top:1px solid var(--line);margin-top:42px;padding-top:32px}
.planner-upgrade h2{font-size:24px;line-height:1.3;letter-spacing:-.03em;margin:0 0 10px}
.planner-upgrade p{font-size:15px;color:var(--mu);line-height:1.7;max-width:34em}
.planner-upgrade .btn{flex:none;font-size:14px;gap:18px}
.planner-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.planner-page [hidden]{display:none!important}
@keyframes planner-title{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes planner-form{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@keyframes planner-working{to{transform:translate(3px,-3px)}}
@media(hover:hover) and (pointer:fine){.planner-stepper button:not(:disabled):hover{background:rgba(220,232,117,.1)}}
@media(max-width:1099px){.planner-layout{gap:36px}.planner-form{padding:26px}.planner-fields{gap:12px}.planner-stepper button{width:44px;min-width:44px}}
@media(max-width:859px){
 .planner-layout{grid-template-columns:minmax(0,1fr);gap:30px;max-width:740px;padding-top:108px;padding-bottom:48px;min-height:0}
 .planner-intro h1{font-size:clamp(40px,7vw,60px);max-width:none}
 .planner-intro .sub{max-width:29em;font-size:19px;margin:20px 0 16px}
 .planner-form{padding:28px}.planner-stepper button{width:48px;min-width:48px}
 .planner-output{padding-top:36px;padding-bottom:36px}
 .planner-empty,.planner-upgrade{align-items:flex-start;flex-direction:column;gap:20px}
 .planner-courts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
}
@media(max-width:479px){
 .planner-intro h1{font-size:clamp(38px,10vw,48px)}.planner-intro .sub{font-size:18px}
 .planner-free{font-size:12px}.planner-form{padding:22px;border-radius:24px}.planner-form h2{font-size:24px}
 .planner-fields{gap:12px}.planner-stepper button{width:44px;min-width:44px;min-height:64px}
 .planner-stepper input{font-size:28px;height:64px}.planner-generate{font-size:15px;padding:0 18px}
 .planner-round{padding:20px}.planner-courts{grid-template-columns:minmax(0,1fr)}
 .planner-court{padding:14px 18px}.planner-court h4{margin-bottom:10px}.planner-pair b{font-size:36px}
 .planner-sheet-heading{gap:18px}.planner-sheet-heading h2{font-size:28px}.planner-round-controls{gap:10px}
 .planner-page .pop a{display:flex}
}
@media(prefers-reduced-transparency:reduce){.planner-form,.planner-page .nav{background:#1b4538}.planner-page .nav.lt{background:#f7f9f7}}
@media(max-width:379px){.planner-fields{grid-template-columns:minmax(0,1fr)}.planner-stepper input{height:58px}.planner-stepper button{min-height:58px}}
.planner-table-wrap{border:1px solid var(--line);border-radius:20px;background:var(--card);overflow-x:auto;scroll-margin-top:100px}
.planner-table-wrap:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.planner-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.6;text-align:left}
.planner-table th,.planner-table td{padding:16px 20px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.planner-table thead th{background:var(--band);font-size:12px;font-weight:600;color:var(--mu);white-space:nowrap}
.planner-table tbody th{font-weight:600}.planner-table td:not(.table-rest){white-space:nowrap;min-width:105px}
.planner-table tr:last-child>*{border-bottom:0}.table-versus{color:var(--mu);padding:0 8px;font-size:12px}
.planner-table .table-rest{color:var(--mu);min-width:105px;font-size:13px}.table-free{color:var(--mu);font-size:12px}
@media print{
 @page{margin:14mm}
 .planner-page{background:#fff;color:#000;font-size:11pt}
 .planner-page .nav,.planner-page footer,.planner-page .sk,.environment-note,.planner-form,.planner-intro .sub,.planner-free,.planner-empty,.planner-upgrade,.planner-round-nav,.planner-print,.planner-error,.planner-status,#planner-round-view{display:none!important}
 .planner-hero{background:none!important;color:#000;overflow:visible}.planner-hero::before{display:none}
 .planner-layout{display:block;min-height:0;padding:0;margin:0}.planner-intro h1{font-size:22pt;color:#000;max-width:none}.planner-intro h1>span{display:inline;animation:none}
 .planner-output{padding:20px 0 0;max-width:none}.planner-eyebrow{display:none}.planner-sheet-heading h2{font-size:16pt}
 .planner-summary,.planner-instruction{font-size:10pt;color:#333}.planner-instruction{padding:12px 0;margin-top:12px}
 .planner-page #planner-rounds[hidden],.planner-page #planner-rounds{display:block!important;overflow:visible;border:0;border-radius:0;background:#fff}
 .planner-table{font-size:9pt;color:#000}.planner-table th,.planner-table td{padding:8px 6px;border-color:#bbb}
 .planner-table thead{display:table-header-group}.planner-table thead th{font-size:8pt;color:#333;background:#fff}
 .planner-table tr{break-inside:avoid}.planner-table td:not(.table-rest),.planner-table .table-rest{min-width:0}
 .planner-table .table-rest,.table-versus,.table-free{font-size:8pt;color:#333}.table-versus{padding:0 3px}
 .planner-sr{display:none}
}
