:root{--pt-green: #1e4030;--pt-green-deep: #15281e;--pt-green-soft: #2f5a43;--pt-gold: #b2823c;--pt-gold-soft: #d8b277;--pt-paper: #faf8f3;--pt-ink: #1c2a22;--pt-muted: #6b7167;--pt-line: #e4dfd3;--pt-radius: 12px;--pt-font: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--pt-serif: "Georgia", "Times New Roman", serif}html,body,#root{min-height:100%;margin:0}body{font-family:var(--pt-font);color:var(--pt-ink)}.app-shell{position:relative;min-height:100vh;background-color:#eae7dd;background-position:center center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}.app-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(165deg,#faf8f3ed,#f4f1e9e6 45%,#e7e3d8eb);pointer-events:none;z-index:0}.app-splash{display:flex;align-items:center;justify-content:center}.app-splash-inner{position:relative;z-index:1;font-size:1rem;letter-spacing:.05em;color:var(--pt-green);background:#ffffffd9;padding:.85rem 1.6rem;border-radius:999px;box-shadow:0 6px 20px #15281e1f}.app-logo{position:fixed;top:.65rem;right:.75rem;z-index:200;height:6.5rem;width:auto;max-width:min(52vw,22rem);object-fit:contain;filter:drop-shadow(0 2px 8px rgba(15,23,42,.22));pointer-events:none}.app{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:1.25rem 1rem 3rem;padding-right:max(1rem,11rem)}.app-header{margin-bottom:.25rem}h1{font-size:1.5rem;margin:0 0 .25rem;font-family:var(--pt-serif);letter-spacing:.01em;color:var(--pt-green-deep)}.sub{color:var(--pt-muted);font-size:.9rem;margin:0 0 1.25rem}.app-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;border-bottom:2px solid var(--pt-line);padding-bottom:.75rem}.app-nav-btn{font:inherit;font-size:.9rem;font-weight:600;padding:.45rem .95rem;border-radius:999px;border:1px solid var(--pt-line);background:#ffffffb3;color:var(--pt-green);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.app-nav-btn:hover{border-color:var(--pt-green-soft);background:#fff}.app-nav-btn.is-active{border-color:var(--pt-green);background:var(--pt-green);color:#fff;box-shadow:0 3px 10px #15281e33}.app-version-pill{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--pt-gold);background:#fbf3e3;border:1px solid #ecd9b6;border-radius:999px;padding:.05rem .5rem;margin-left:.4rem;vertical-align:middle}.page-banner{position:relative;border-radius:var(--pt-radius);overflow:hidden;margin-bottom:1.1rem;min-height:116px;display:flex;align-items:flex-end;background-color:var(--pt-green-deep);background-position:center 38%;background-size:cover;background-repeat:no-repeat;box-shadow:0 4px 16px #15281e2e}.page-banner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,#0f1e16d1,#142a1e9e 55%,#142a1e59)}.page-banner-text{position:relative;z-index:1;padding:1rem 1.25rem;color:#fff}.page-banner-title{margin:0;font-family:var(--pt-serif);font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.05;color:#fff}.page-banner-sub{margin:.2rem 0 0;font-size:.9rem;color:#ffffffd9}.app-header-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.app-header-row h1{margin:0}.app-restart-btn{font:inherit;font-size:.8rem;font-weight:600;padding:.3rem .7rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer}.app-restart-btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.app-restart-btn:disabled{cursor:progress;opacity:.7;background:#fef3c7;border-color:#fde68a;color:#92400e}.app-version-footer{margin-top:2rem;padding:.75rem .25rem;text-align:center;color:#64748b;font-size:.8rem;border-top:1px solid #e2e8f0}.app-version-footer strong{color:#334155;font-weight:600}.source-badge{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.02em;border-radius:999px;padding:.05rem .45rem;margin-left:.45rem;vertical-align:middle;border:1px solid transparent}.source-badge--session{color:#166534;background:#dcfce7;border-color:#bbf7d0}.source-badge--excel{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.source-badge--version{color:#9a3412;background:#ffedd5;border-color:#fed7aa}.step-tracker{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .85rem;padding:0;font-size:.85rem}.step-tracker .step{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .7rem;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.step-tracker .step.is-active{background:#e0f2fe;border-color:#7dd3fc;color:#0c4a6e;font-weight:600}.step-tracker .step.is-done{background:#dcfce7;border-color:#bbf7d0;color:#166534}.step-tracker .step-num{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;border-radius:50%;background:#fff;border:1px solid currentColor;font-size:.75rem;font-weight:700}.step-tracker .step.is-done .step-num:before{content:"✓"}.step-tracker .step.is-done .step-num{color:#166534;background:#bbf7d0}.step-tracker .step.is-done .step-num>*{display:none}.readiness-panel{margin:.5rem 0 1rem;padding:.6rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.readiness-panel-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#475569;margin-bottom:.35rem;font-weight:600}.readiness-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.readiness-item{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;align-items:center;padding:.3rem .5rem;border-radius:6px;background:#fff;border:1px solid #e2e8f0}.readiness-item--ready{background:#f0fdf4;border-color:#bbf7d0}.readiness-item--in_progress{background:#fff7ed;border-color:#fed7aa}.readiness-item--empty{background:#fafafa;border-color:#e5e7eb}.readiness-name{font-weight:600;color:#0f172a}.readiness-status{font-variant-numeric:tabular-nums;font-weight:600;font-size:.85rem;color:#334155}.readiness-item--ready .readiness-status{color:#166534}.readiness-item--in_progress .readiness-status{color:#9a3412}.readiness-item--empty .readiness-status{color:#94a3b8}.readiness-icons{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;color:#475569}.readiness-icon{font-size:.7rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.05rem .35rem;color:#475569}.readiness-pill{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.02em;border-radius:999px;padding:.05rem .45rem;border:1px solid transparent}.readiness-pill--ok{color:#166534;background:#dcfce7;border-color:#bbf7d0}.readiness-pill--warn{color:#92400e;background:#fef3c7;border-color:#fde68a}.ocr-row-status{display:block;margin-top:.25rem;font-size:.78rem;line-height:1.3}.ocr-row-status--ok{color:#166534}.ocr-row-status--warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:.25rem .4rem}.manual-scores-wrap{overflow-x:auto;margin:.5rem -1rem .75rem;padding:0 1rem}.manual-scores-horizontal{width:100%;border-collapse:collapse;font-size:.85rem;margin:.5rem 0 .75rem;table-layout:fixed}.manual-scores-horizontal--full{margin:0}.manual-scores-horizontal--full th,.manual-scores-horizontal--full td{padding:.15rem .05rem}.manual-scores-horizontal--full .manual-scores-axis{width:2.4rem;font-size:.78rem;padding-left:.25rem;padding-right:.25rem}.manual-scores-horizontal--full .manual-scores-holehead{font-size:.78rem}.manual-scores-horizontal--full .manual-scores-holenum{font-size:.85em}.manual-scores-horizontal--full .manual-scores-holepar{font-size:.66em}.manual-scores-horizontal--full .manual-score-input{width:100%;max-width:2.4rem;font-size:.9rem;padding:.12rem .1rem}.manual-scores-horizontal--full .manual-scores-total{width:1.95rem;font-size:.85rem}.manual-scores-horizontal--full .manual-scores-holehead--nine-end,.manual-scores-horizontal--full .manual-scores-cell--nine-end{border-right:2px solid #94a3b8}.manual-scores-horizontal th,.manual-scores-horizontal td{border:1px solid #e2e8f0;padding:.2rem .25rem;text-align:center;vertical-align:middle}.manual-scores-horizontal thead th{background:#f1f5f9;font-weight:600}.manual-scores-axis{text-align:left;background:#f8fafc;color:#334155;font-weight:600;white-space:nowrap;width:5.5rem}.manual-scores-holehead{line-height:1.15}.manual-scores-holenum{display:block;font-weight:700;font-size:.95em}.manual-scores-holepar{display:block;font-weight:500;font-size:.72em;color:#64748b}.manual-scores-horizontal .manual-score-input{width:100%;max-width:3rem;font-size:.95rem;padding:.15rem .2rem;text-align:center;-moz-appearance:textfield}.manual-scores-horizontal .manual-score-input::-webkit-outer-spin-button,.manual-scores-horizontal .manual-score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.manual-scores-total{background:#f1f5f9;font-weight:700;color:#0f172a;width:2.75rem}.kisat-wrap{max-width:1200px}.kisat-stat-grid{display:grid;gap:.85rem;margin-bottom:1.75rem;align-items:stretch}.kisat-stat-grid--two{grid-template-columns:minmax(200px,1fr) minmax(300px,2fr)}.kisat-stat-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.kisat-stat-grid--five{grid-template-columns:repeat(5,minmax(0,1fr))}.kisat-stat-card{border:1px solid var(--pt-line);border-top:3px solid var(--pt-gold-soft);border-radius:10px;padding:.85rem .9rem .65rem;box-shadow:0 2px 10px #15281e0f;min-width:0;display:flex;flex-direction:column}.kisat-stat-card--sage{background:#eef4ea}.kisat-stat-card--blue{background:#e9f1f7}.kisat-stat-card--mint{background:#ecf4ef}.kisat-stat-card .kisat-grid-head{min-height:4.75rem;margin-bottom:.5rem}.kisat-stat-card .kisat-grid-head .kisat-block-title{margin:0 0 .35rem;font-size:.95rem;display:block}.kisat-stat-card .kisat-grid-head-notes{min-height:2.5rem}.kisat-grid-head-spacer{visibility:hidden;margin:0;line-height:1.35}.kisat-stat-card .kisat-grid-table{flex:1 1 auto;background:#fff;border-radius:8px;overflow:hidden;border:1px solid rgba(21,40,30,.1)}.kisat-stat-card .kisat-table{margin-bottom:0}.kisat-stat-card .kisat-table th{background:#f5f8f6;color:var(--pt-green);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-color:#15281e1a}.kisat-stat-card .kisat-table td{border-color:#15281e14;background:#fff}.kisat-stat-card .kisat-table td:first-child{color:var(--pt-ink);font-weight:500}.kisat-table--stats-equal{table-layout:fixed;width:100%}.kisat-table--stats-equal th,.kisat-table--stats-equal td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kisat-num-col{text-align:right;font-variant-numeric:tabular-nums}.kisat-table--narrow th,.kisat-table--narrow td{padding:.28rem .35rem;font-size:.84rem}.kisat-putts-round-col{text-align:right;font-variant-numeric:tabular-nums}.kisat-grid-head{display:flex;flex-direction:column;gap:.2rem}.kisat-grid-head .kisat-block-title{margin:0 0 .15rem}.kisat-grid-head-notes{display:flex;flex-direction:column;gap:.15rem}.kisat-grid-table{min-width:0}.kisat-table--scratch td:first-child,.kisat-table--scratch th:first-child{width:auto;color:inherit}.scratch-cell{font-variant-numeric:tabular-nums}.scratch-cell--na{color:#94a3b8}.scratch-cell--red{color:#b91c1c;font-weight:600}.scratch-cell--green{color:#15803d;font-weight:600}.scratch-cell--blue{color:#1d4ed8;font-weight:600}.scratch-cell--black{color:#0f172a;font-weight:600}@media (max-width: 900px){.kisat-stat-grid--four,.kisat-stat-grid--five{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.kisat-stat-grid--two,.kisat-stat-grid--four,.kisat-stat-grid--five{grid-template-columns:1fr}}.kisat-awards-section{margin-top:2rem}.kisat-awards-header{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.75rem}.kisat-awards-header .kisat-block-title{margin:0}.kisat-awards-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}.kisat-awards-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.85rem;margin-bottom:.85rem}.kisat-awards-grid>.kisat-award-card{grid-column:span 2}.kisat-awards-grid-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:1.25rem}.kisat-awards-grid-bottom>.kisat-award-card{background:#ecf4ef}.kisat-andys-cup-form-rows{display:grid;gap:.65rem;margin-bottom:.75rem}.kisat-andys-cup-form-row{display:grid;grid-template-columns:4.5rem 1fr minmax(5.5rem,7rem);gap:.65rem;align-items:end}.kisat-andys-cup-field-place input{text-align:center;font-weight:600}.kisat-andys-cup-form-row .kisat-awards-field input,.kisat-andys-cup-form-row .kisat-awards-field select{width:100%}.kisat-extra-points-form-rows{display:grid;gap:.65rem;margin-bottom:.75rem}.kisat-extra-points-form-row{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(4.5rem,5.5rem) minmax(10rem,1.5fr) auto;gap:.65rem;align-items:end}.kisat-extra-points-form-row .kisat-awards-field input,.kisat-extra-points-form-row .kisat-awards-field select{width:100%}.kisat-extra-points-remove{align-self:end;min-width:2.25rem;height:2.25rem;padding:0;line-height:1;font-size:1.25rem}.kisat-awards-grid>.kisat-award-card:nth-child(-n+4){background:#eef4ea}.kisat-awards-grid>.kisat-award-card:nth-child(n+5):nth-child(-n+8){background:#e9f1f7}.kisat-text-awards-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;margin-bottom:1.25rem}.kisat-text-awards-form--single{grid-template-columns:1fr;margin-bottom:0}.kisat-text-awards-row{display:flex;gap:.5rem;align-items:center}.kisat-text-awards-row input{flex:1 1 auto;padding:.4rem .55rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;font-size:.92rem;min-width:0}.kisat-text-awards-row button{flex:0 0 auto}@media (max-width: 1100px){.kisat-awards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kisat-awards-grid>.kisat-award-card:nth-child(n){grid-column:auto;margin-left:0}.kisat-awards-grid-bottom{max-width:none}}@media (max-width: 720px){.kisat-awards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kisat-awards-grid-bottom,.kisat-andys-cup-form-row,.kisat-text-awards-form{grid-template-columns:1fr}}@media (max-width: 460px){.kisat-awards-grid{grid-template-columns:1fr}}.kisat-award-card{border:1px solid var(--pt-line);border-top:3px solid var(--pt-gold-soft);border-radius:10px;padding:.9rem;background:#fff;display:flex;flex-direction:column;justify-content:center;gap:.25rem;min-width:0;min-height:7.25rem;text-align:center;box-shadow:0 2px 10px #15281e0f}.kisat-award-label{font-weight:700;letter-spacing:.09em;font-size:.72rem;color:var(--pt-green);text-transform:uppercase}.kisat-award-player{font-size:.98rem;font-weight:600;color:var(--pt-ink);white-space:normal;overflow-wrap:anywhere;line-height:1.25}.kisat-award-value{font-size:1.5rem;line-height:1.05;font-family:var(--pt-serif);font-variant-numeric:tabular-nums;color:var(--pt-green-deep)}.kisat-award-value strong{font-weight:700}.kisat-award-unit{font-size:.95rem;font-family:var(--pt-font);color:var(--pt-muted);margin-left:.15rem}.kisat-award-meta{margin-top:.15rem}.kisat-award-empty{margin-top:.4rem}.kisat-awards-admin{border:1px solid #e2e8f0;border-radius:10px;padding:.5rem .9rem .9rem;background:#f8fafc}.kisat-awards-admin>summary{cursor:pointer;font-weight:600;padding:.4rem 0;color:#1e293b;list-style:revert}.kisat-awards-admin[open]>summary{border-bottom:1px solid #e2e8f0;margin-bottom:.75rem}.kisat-awards-import-bar{margin-bottom:1rem;padding:.65rem .75rem;background:#fff;border:1px dashed #cbd5e1;border-radius:8px}.kisat-awards-import-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.kisat-awards-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem .9rem;align-items:end}.kisat-awards-field{display:flex;flex-direction:column;gap:.2rem;min-width:0}.kisat-awards-field>span{font-size:.78rem;color:#475569;font-weight:500}.kisat-awards-field input,.kisat-awards-field select{padding:.4rem .55rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;font-size:.92rem;min-width:0}.kisat-awards-field--note{grid-column:1 / span 4}.kisat-awards-actions{grid-column:1 / span 4;display:flex;align-items:center;gap:.8rem;margin-top:.3rem}.kisat-awards-hint{font-style:italic}.kisat-awards-rows{margin-top:1rem}.kisat-awards-rows-title{margin:0 0 .4rem;font-size:.95rem;color:#334155}.kisat-awards-table{width:100%}.kisat-awards-delete{background:none;border:1px solid transparent;color:#b91c1c;cursor:pointer;padding:.2rem .45rem;border-radius:4px;font-size:.85rem}.kisat-awards-delete:hover:not(:disabled){background:#fee2e2;border-color:#fecaca}.kisat-awards-delete:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 720px){.kisat-awards-cards{grid-template-columns:1fr}.kisat-awards-form{grid-template-columns:1fr 1fr}.kisat-awards-field--note,.kisat-awards-actions{grid-column:1 / span 2}}.kisat-table--compact{font-size:.88rem}.kisat-table--marathon-equal{table-layout:fixed;width:100%}.kisat-table--marathon-equal th,.kisat-table--marathon-equal td{width:16.666%;box-sizing:border-box;padding:.2rem .28rem;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.kisat-table--marathon-equal td:first-child,.kisat-table--marathon-equal th:first-child{width:16.666%;color:#64748b}.kisat-year-label{display:inline-flex;align-items:center;gap:.35rem;margin:.5rem 0 1rem;font-size:.95rem}.kisat-year-label select{font:inherit;padding:.25rem .5rem;border-radius:6px;border:1px solid #cbd5e1}.kisat-block-title{font-family:var(--pt-serif);font-size:1.05rem;color:var(--pt-green-deep);margin:1.25rem 0 .6rem;padding-bottom:.28rem;border-bottom:2px solid var(--pt-gold-soft);display:inline-block}.kisat-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-bottom:.5rem}.kisat-table th,.kisat-table td{border:1px solid #e2e8f0;padding:.35rem .5rem;text-align:left}.kisat-table th{background:#f8fafc;color:#475569;font-weight:600}.kisat-table td:first-child{width:2.5rem;color:#64748b}.layout{display:grid;gap:1.25rem}@media (min-width: 800px){.layout{grid-template-columns:minmax(220px,.7fr) minmax(540px,1.7fr);align-items:start}}.panel{background:#fffffff5;border:1px solid var(--pt-line);border-top:3px solid var(--pt-green);border-radius:var(--pt-radius);padding:1.15rem;box-shadow:0 4px 18px #15281e17;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.rounds-picker-panel .rounds-year-step{margin-bottom:1rem}.rounds-step-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.45rem}.year-chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.year-chip{font:inherit;font-size:.9rem;font-weight:600;padding:.35rem .85rem;border-radius:999px;border:1px solid #cbd5e1;background:#ffffffd9;color:#334155;cursor:pointer}.year-chip:hover{background:#f8fafc}.year-chip.is-active{border-color:var(--pt-green);background:var(--pt-green);color:#fff}.rounds-list-step{border-top:1px solid #e2e8f0;padding-top:.75rem}.panel h2{font-size:1.15rem;margin:0 0 .75rem;font-family:var(--pt-serif);color:var(--pt-green-deep)}.err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:.65rem .75rem;border-radius:8px;font-size:.9rem;margin-bottom:.75rem;white-space:pre-wrap}.notice{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:.65rem .75rem;border-radius:8px;font-size:.9rem;margin-bottom:.75rem}button.primary{background:var(--pt-green);color:#fff;border:1px solid var(--pt-green-deep);padding:.45rem .9rem;border-radius:8px;font:inherit;font-weight:600;cursor:pointer}button.primary:hover:not(:disabled){background:var(--pt-green-deep)}button.primary:disabled{opacity:.45;cursor:not-allowed;background:#94a3b8;border-color:#94a3b8;color:#f8fafc}.new-round-footer-actions{margin-top:.75rem}button.danger{background:#fff;border:1px solid #fca5a5;color:#b91c1c;padding:.45rem .9rem;border-radius:8px;font:inherit;font-weight:600;cursor:pointer}button.danger:hover:not(:disabled){background:#fef2f2}button.danger:disabled{opacity:.45;cursor:not-allowed}.hcp-edit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.5rem 1rem;margin:.5rem 0 .75rem}.hcp-edit-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.manual-score-totals{margin:.5rem 0 .75rem;font-size:.95rem}.muted{color:#64748b;font-size:.85rem}.list{list-style:none;margin:0;padding:0;max-height:420px;overflow:auto}.list li{border-bottom:1px solid #f1f5f9}.list button{width:100%;text-align:left;padding:.55rem .35rem;border:none;background:transparent;cursor:pointer;font:inherit;color:inherit}.list button:hover{background:#f8fafc}.list button.active{background:#eff6ff}.row-title{font-weight:600}.row-meta{font-size:.8rem;color:#64748b}.hole-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.hole-nav button{padding:.35rem .65rem;border-radius:6px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font:inherit}.hole-nav button:disabled{opacity:.45;cursor:not-allowed}.hole-card{border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;background:#f8fafc}.hole-card h3{margin:0 0 .5rem;font-size:.95rem}.grid-teams{display:grid;gap:.75rem}@media (min-width: 520px){.grid-teams{grid-template-columns:1fr 1fr}}.team-block h4{margin:0 0 .35rem;font-size:.85rem}.team-block ul{margin:0;padding-left:1.1rem;font-size:.85rem}.team-totals-line{white-space:nowrap}@media (max-width: 520px){.team-totals-line{white-space:normal}}.scoreline{font-size:.85rem;margin-top:.35rem;color:#334155}.final{margin-top:.75rem;font-size:.9rem}.big-final{font-size:1.05rem;margin:1rem 0}.nine-final-block{margin-bottom:1rem}.winner-line{margin:.35rem 0 0;font-size:.95rem;color:#1e293b}.big-points-day{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e8f0}.big-points-title{margin:0 0 .5rem;font-size:.95rem}.big-points-list{margin:0;padding-left:1.2rem;font-size:.95rem;line-height:1.5;color:#334155}.round-strokes-summary{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e8f0}.round-strokes-summary-title{margin:0 0 .35rem;font-size:.95rem}.round-strokes-summary-list{margin:.5rem 0 0;padding-left:1.2rem;font-size:.95rem;line-height:1.55;color:#334155}.round-strokes-name{font-weight:600}.daily-summary-date{margin:.25rem 0 1rem;font-size:.95rem}.daily-summary-block{margin-top:1.25rem;padding:1rem 1.1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.daily-summary-block--big{background:#fff}.daily-summary-heading{margin:0 0 .65rem;font-size:.95rem;font-weight:600;color:#1e293b}.daily-summary-table-wrap{margin-top:.65rem}.daily-summary-table{background:#fff}.daily-summary-table th,.daily-summary-table td{white-space:nowrap;background:#fff}.daily-summary-table thead th{font-weight:700}.daily-summary-table tbody td{font-weight:400}.player-totals-nine{margin-top:1rem;padding:.85rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.player-totals-nine-title{margin:0 0 .5rem;font-size:.9rem}.player-totals-nine-list{margin:0;padding-left:1.2rem;font-size:.9rem;line-height:1.5;color:#334155}.player-totals-name{font-weight:600}.small{font-size:.8rem;margin:0 0 .5rem}.team-edit-grid{display:grid;gap:.75rem;margin:.75rem 0}@media (min-width: 640px){.team-edit-grid{grid-template-columns:1fr 1fr}}.team-edit-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600}.team-edit-grid textarea{font:inherit;padding:.5rem;border:1px solid #cbd5e1;border-radius:8px;resize:vertical;min-height:4.5rem}.btn-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;align-items:center}a.btn-secondary,button.btn-secondary{display:inline-block;background:#f1f5f9;border:1px solid #cbd5e1;color:#0f172a;text-decoration:none;font:inherit;font-weight:600;padding:.45rem .9rem;border-radius:8px;cursor:pointer;line-height:1.3}a.btn-secondary:hover,button.btn-secondary:hover:not(:disabled){background:#e2e8f0}button.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.kisat-putts-manual-wrap{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e8f0}.kisat-putts-manual-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0 .75rem}.kisat-file-import{cursor:pointer;display:inline-block}.kisat-file-import input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kisat-putts-manual-table-wrap{overflow-x:auto;margin-bottom:.75rem}.kisat-putts-manual-table-wrap .kisat-table input{width:100%;min-width:4rem;box-sizing:border-box;font:inherit;padding:.2rem .35rem;border:1px solid #cbd5e1;border-radius:4px}.kisat-putts-manual-add{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.75rem}.new-round-wrap{max-width:1220px}.new-round-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:1.25rem;align-items:start}@media (max-width: 900px){.new-round-layout{grid-template-columns:1fr}}.new-round-form label{display:block;margin-bottom:.75rem;font-size:.9rem}.new-round-form input,.new-round-form select,.new-round-form textarea{display:block;width:100%;margin-top:.25rem;box-sizing:border-box}.new-round-session-list{list-style:none;padding:0;margin:.75rem 0 0}.new-round-session-btn{width:100%;text-align:left;padding:.5rem .65rem;margin-bottom:.35rem;border:1px solid var(--border, #cbd5e1);border-radius:6px;background:#fff;cursor:pointer}.new-round-session-btn.is-active{border-color:#2563eb;background:#eff6ff}.new-round-player-table input[type=file]{max-width:100%;font-size:.8rem}.new-round-putts-input{width:4.5rem;margin-right:.35rem}.new-round-plan-list{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:.55rem}.new-round-plan-item{border:1px solid #dbeafe;border-radius:10px;padding:.65rem .75rem;background:#f8fbff}.new-round-plan-item.is-selected{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.new-round-plan-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin-bottom:.45rem}.new-round-plan-status{font-size:.75rem;font-weight:600;padding:.1rem .45rem;border-radius:999px}.new-round-plan-status--ready{color:#15803d;background:#dcfce7}.new-round-plan-status--started{color:#1d4ed8;background:#dbeafe}.new-round-plan-status--blocked{color:#b45309;background:#fef3c7}.new-round-plan-actions{margin:0}.phase-pill{font-size:.75rem;font-weight:600;margin-left:.35rem}.phase-pill--scheduled{color:#b45309}.phase-pill--post_round{color:#15803d}.manual-scores-grid .manual-score-input{width:3.2rem;font-size:.85rem}.manual-scores-grid{margin:.75rem 0;max-width:280px}.kisat-putts-manual-add input[type=text]{min-width:10rem;padding:.25rem .45rem;border:1px solid #cbd5e1;border-radius:6px;font:inherit}.reveal-step{margin:.75rem 0 1rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.app--reveal-mode{max-width:none;width:100%;padding:.5rem 1rem .65rem}.app--reveal-mode .sub,.app--reveal-mode .app-version-footer{display:none}.app--reveal-mode .app-header{margin-bottom:.15rem}.app--reveal-mode .app-nav{margin-bottom:.65rem;padding-bottom:.5rem}.app--reveal-mode .app-logo{height:4.25rem}.layout--reveal-full{grid-template-columns:1fr}.layout--reveal-full .rounds-picker-panel{display:none}.panel.panel-stack.panel-stack--reveal{height:auto;min-height:auto;max-height:none}.panel-body--reveal{flex:0 1 auto;min-height:auto;overflow:visible;display:block}.reveal-panel-head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1.25rem;margin-bottom:.65rem}.reveal-panel-head h2{margin:0}.reveal-meta{margin:0;font-size:.95rem}.reveal-step-pill{margin:0}.panel-footer--reveal{flex-shrink:0}.app--reveal-mode .reveal-stage-wrap{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;align-items:stretch}.app--reveal-mode .reveal-stage--players,.app--reveal-mode .reveal-stage--team-totals{display:flex;flex-direction:column;min-height:100%;margin:0}.app--reveal-mode .reveal-player-stack--fixed{flex:1 1 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-content:start}.app--reveal-mode .reveal-team-totals-body{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}.app--reveal-mode .reveal-stage--team-totals.is-pending .reveal-summary-line strong,.app--reveal-mode .reveal-player-card.is-pending{visibility:hidden}.app--reveal-mode .reveal-player-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.app--reveal-mode .reveal-stage{margin:0}.app--reveal-mode .reveal-stage-head{margin-bottom:.65rem}.app--reveal-mode .reveal-hole-summary-grid{margin-top:.65rem}.app--reveal-mode .reveal-stage--hole-result{margin:0;padding:.95rem 1.2rem 1.05rem}.app--reveal-mode .reveal-stage--hole-result .reveal-stage-title{font-size:1.5rem;margin-bottom:.55rem}.app--reveal-mode .reveal-hole-result-lead{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem 1.25rem;margin-bottom:.7rem}.app--reveal-mode .reveal-stage--hole-result .reveal-summary-line{font-size:1.3rem;margin:0;line-height:1.35}.app--reveal-mode .reveal-stage--hole-result .reveal-hole-summary-grid{margin-top:0;gap:.85rem}.app--reveal-mode .reveal-stage--hole-result .reveal-hole-summary-block{padding:.9rem 1.1rem}.app--reveal-mode .reveal-stage--hole-result .reveal-hole-summary-head{font-size:1.2rem;font-weight:700;margin-bottom:.45rem}.app--reveal-mode .reveal-stage--hole-result .reveal-hole-summary-list{font-size:1.25rem;line-height:1.45;margin-bottom:.4rem;padding-left:1.2rem}.app--reveal-mode .reveal-stage--hole-result .reveal-hole-summary-list li{margin-bottom:.15rem}.app--reveal-mode .reveal-stage--hole-result .team-totals-line{font-size:1.15rem;margin:.25rem 0 0}.app--reveal-mode .reveal-stage--hole-result .reveal-shout-inline{font-size:1.1em}.app--reveal-mode .panel-footer{padding-top:.75rem}@media (max-width: 900px){.app--reveal-mode .reveal-player-stack,.app--reveal-mode .reveal-stage-wrap{grid-template-columns:1fr}.app--reveal-mode .reveal-hole-result-lead{grid-template-columns:1fr;gap:.35rem}}.reveal-stage-wrap{display:flex;flex-direction:column;gap:.85rem}.reveal-stage{margin:.5rem 0 0;padding:1.1rem 1.25rem 1.15rem}.reveal-stage--team-a{background:#eef4ea}.reveal-stage--team-b{background:#e9f1f7}.reveal-stage--summary{background:#f5f8f6}.reveal-stage--team-totals .reveal-stage-title,.reveal-stage-head{margin-bottom:.85rem}.reveal-stage-title{margin:0 0 .35rem;font-family:var(--pt-serif);font-size:1.35rem;font-weight:700;color:var(--pt-green-deep)}.reveal-team-line{font-size:1.05rem;font-weight:700;margin:0;color:var(--pt-green);text-transform:uppercase;letter-spacing:.04em}.reveal-player-stack{display:flex;flex-direction:column;gap:.65rem}.reveal-player-card{background:#fff;border:1px solid rgba(21,40,30,.12);border-radius:10px;padding:.85rem 1rem;box-shadow:0 1px 6px #15281e0d;min-height:5.75rem}.reveal-player-card.is-revealed{opacity:.92}.reveal-player-card.is-current{border-color:var(--pt-green);box-shadow:0 2px 12px #15281e1a}.reveal-player-name{font-size:1.35rem;font-weight:700;color:var(--pt-green-deep);margin-bottom:.45rem}.reveal-player-stats{display:flex;flex-wrap:wrap;gap:1.25rem;font-size:1.15rem}.reveal-player-stat strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.reveal-summary-line{font-size:1.1rem;margin:.45rem 0;line-height:1.45}.reveal-hole-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.reveal-hole-summary-block{background:#fff;border:1px solid rgba(21,40,30,.1);border-radius:10px;padding:.85rem 1rem}.reveal-hole-summary-head{margin:0 0 .5rem;font-size:1rem;color:var(--pt-green-deep)}.reveal-hole-summary-list{margin:0 0 .5rem;padding-left:1.15rem;font-size:1rem;line-height:1.5}@media (max-width: 720px){.reveal-hole-summary-grid{grid-template-columns:1fr}.reveal-player-stats{flex-direction:column;gap:.35rem}}.reveal-step h3{margin:0 0 .5rem;font-size:1rem}.reveal-lead{font-size:1rem;margin:.35rem 0}.step-pill{display:inline-block;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;padding:.35rem .75rem;border-radius:999px;font-size:.95rem;font-weight:600;margin-bottom:.65rem}.reveal-shout{margin:.5rem 0 0;font-size:1.45rem;font-weight:800;letter-spacing:.02em;color:#15803d;text-shadow:0 0 1px rgb(22 101 52 / 35%)}.reveal-shout.eagle{color:#a16207;text-shadow:0 0 1px rgb(161 98 7 / 30%)}.reveal-shout-inline{font-weight:800;color:#15803d;font-size:.9em}.reveal-shout-inline.eagle{color:#a16207}.panel-stack{display:flex;flex-direction:column;height:min(86vh,980px);min-height:min(86vh,980px)}.panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}.panel.panel-stack.panel-stack--daily-summary{height:auto;min-height:auto;max-height:none}.panel-body--daily-summary{flex:0 1 auto;overflow:visible;min-height:auto}.panel-footer{flex-shrink:0;padding-top:1rem;border-top:1px solid #e2e8f0;background:linear-gradient(to top,#fff 70%,#fff0)}.panel-footer .btn-row{margin-top:0;flex-wrap:nowrap;align-items:center;gap:.5rem;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;-webkit-overflow-scrolling:touch}.panel-footer .btn-row button{flex:0 0 auto}.panel-footer .btn-row--summary{margin-bottom:.5rem}.btn-nav{display:inline-flex;align-items:center;justify-content:center;min-width:7.5rem;min-height:2.35rem;padding:.4rem .85rem;font:inherit;font-size:.875rem;font-weight:600;line-height:1.25;border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a;cursor:pointer;text-decoration:none;flex:1 1 0;max-width:14rem}.btn-nav:hover{background:#e2e8f0}.btn-nav:disabled{opacity:.55;cursor:not-allowed}.btn-nav--next{background:#2563eb;border-color:#1d4ed8;color:#fff}.btn-nav--next:hover:not(:disabled){background:#1d4ed8}.panel-footer .btn-row--nav .btn-nav{flex:1 1 0}.scorecard-wrap{overflow-x:auto;margin:.75rem 0}.scorecard-table{width:100%;border-collapse:collapse;font-size:.82rem}.scorecard-table th,.scorecard-table td{border:1px solid #cbd5e1;padding:.35rem .45rem;text-align:center;vertical-align:middle}.scorecard-table th{background:#f1f5f9;font-weight:600}.scorecard-table tbody tr:nth-child(2n){background:#f8fafc}.scorecard-table--by-player tbody tr:nth-child(2n){background:transparent}.scorecard-table--by-player tbody tr:nth-child(2n) .scorecard-cell:not([class*=scorecard-cell--]){background:#f8fafc}.scorecard-table--by-player .scorecard-corner,.scorecard-table--by-player .scorecard-player-name{text-align:left;white-space:nowrap;background:#f1f5f9;font-weight:600}.scorecard-table--by-player .scorecard-hole-head{line-height:1.2;min-width:2.4rem;padding:.3rem .25rem}.scorecard-table--by-player .scorecard-cell{padding:.3rem .25rem}.scorecard-table--by-player .scorecard-player-name,.scorecard-table--by-player .scorecard-corner{padding:.3rem .5rem}.scorecard-table--by-player .scorecard-hole-num{display:block;font-weight:700;font-size:.9em}.scorecard-table--by-player .scorecard-hole-par{display:block;font-weight:500;font-size:.72rem;color:#64748b}.scorecard-str{font-weight:700}.scorecard-pts{color:#475569;font-size:.92em}.scorecard-sep{color:#94a3b8;font-weight:400}.scorecard-cell--albatross{background:#e6c35c;color:#0d0d0d}.scorecard-cell--albatross .scorecard-sep,.scorecard-cell--albatross .scorecard-pts{color:#0d0d0dbf}.scorecard-cell--eagle{background:#4a148c;color:#fff}.scorecard-cell--eagle .scorecard-sep,.scorecard-cell--eagle .scorecard-pts{color:#ffffffe0}.scorecard-cell--birdie{background:#c62828;color:#fff}.scorecard-cell--birdie .scorecard-sep,.scorecard-cell--birdie .scorecard-pts{color:#ffffffe0}.scorecard-cell--par{background:#c8e6c9;color:#0d1f0d}.scorecard-cell--par .scorecard-sep{color:#0d1f0d8c}.scorecard-cell--par .scorecard-pts{color:#0d1f0dbf}.scorecard-cell--bogey{background:#bbdefb;color:#0d0d0d}.scorecard-cell--bogey .scorecard-sep,.scorecard-cell--bogey .scorecard-pts{color:#0d0d0db8}.scorecard-cell--double-bogey{background:#fff9c4;color:#0d0d0d}.scorecard-cell--double-bogey .scorecard-sep,.scorecard-cell--double-bogey .scorecard-pts{color:#0d0d0db8}.big-nine .celebration-cheer{margin:.75rem 0 0;font-size:1.2rem;font-weight:800;color:#1d4ed8;letter-spacing:.02em}.admin-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e2e8f0}.admin-section:first-of-type{margin-top:1rem;padding-top:0;border-top:0}.admin-section h3{margin:0 0 .5rem;font-size:1rem}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.admin-section-head h3{margin:0}.admin-db-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem 1.5rem;margin:0 0 1rem}.admin-db-meta>div{display:flex;flex-direction:column;gap:.1rem}.admin-db-meta dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.admin-db-meta dd{margin:0;font-weight:600;color:#1e293b}.admin-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;font-weight:500!important;word-break:break-all}.admin-stats-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-stats-table th,.admin-stats-table td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid #eef2f7}.admin-stats-table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.admin-stats-table .admin-num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.admin-table-name{color:#94a3b8;font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.admin-season-edit-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 .35rem}.admin-season-edit-table{margin-bottom:.75rem}.admin-season-edit-toggle{display:inline-flex;align-items:center;gap:.4rem;font-weight:600}.admin-season-edit-toggle input{margin:0}.intake-head-btns{display:flex;gap:.5rem;align-items:center}.intake-group-title{margin:1rem 0 .4rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.intake-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.intake-card{display:flex;gap:.9rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.intake-card--failed{border-color:#fecaca;background:#fef2f2}.intake-card--confirmed{border-color:#bbf7d0;background:#f0fdf4}.intake-card--discarded{opacity:.6}.intake-thumb{flex:0 0 auto;display:block;width:84px;height:132px;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb;background:#f8fafc}.intake-thumb img{width:100%;height:100%;object-fit:cover}.intake-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.5rem}.intake-meta{display:flex;flex-direction:column;gap:.15rem}.intake-player{font-weight:700;font-size:1rem}.intake-sub{font-size:.85rem;color:#475569}.intake-err{font-size:.82rem;color:#b91c1c}.intake-warn{font-size:.82rem;color:#b45309}.intake-scanning{display:flex;align-items:center;gap:.65rem;margin:.75rem 0;padding:.65rem .85rem;border-radius:8px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;font-size:.88rem}.intake-scanning-spinner{width:1rem;height:1rem;border:2px solid #93c5fd;border-top-color:#1d4ed8;border-radius:50%;animation:intake-spin .8s linear infinite;flex-shrink:0}@keyframes intake-spin{to{transform:rotate(360deg)}}.intake-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.intake-suggested{font-size:.85rem;color:#334155}.intake-suggested--done{color:#15803d;font-weight:600}.intake-confirm{background:#16a34a!important;color:#fff!important;border-color:#16a34a!important}.intake-discard{color:#b91c1c!important}.intake-partial{background:#d97706!important;color:#fff!important;border-color:#d97706!important}.intake-manual{display:flex;flex-direction:column;gap:.45rem;width:100%}.intake-field{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:#64748b}.intake-field select{font:inherit;padding:.35rem .5rem;border:1px solid #cbd5e1;border-radius:6px;max-width:28rem}.intake-edit{display:flex;gap:.75rem;flex-wrap:wrap;margin:.35rem 0 .1rem}.intake-field--inline{flex-direction:row;align-items:center;gap:.4rem}.intake-field--inline>span{font-weight:600}.intake-field--inline select,.intake-field--inline input{font:inherit;padding:.3rem .45rem;border:1px solid #cbd5e1;border-radius:6px}.intake-field--inline input{width:5.5rem}.intake-action-row{display:flex;gap:.5rem;flex-wrap:wrap}.intake-done{margin-top:1rem}.intake-done summary{cursor:pointer;font-size:.85rem;color:#64748b;margin-bottom:.5rem}.intake-clear-processed{margin-left:.75rem}.stats-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.stats-head h2{margin:0}.stats-year{font-size:.85rem;font-weight:600;color:#334155}.stats-year select{font:inherit;margin-left:.3rem;padding:.2rem .4rem;border-radius:6px;border:1px solid #cbd5e1}.stats-subnav{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 1rem;border-bottom:1px solid #e2e8f0;padding-bottom:.6rem}.stats-subbtn{font:inherit;font-size:.85rem;font-weight:600;padding:.4rem .9rem;border-radius:999px;border:1px solid var(--pt-line);background:#ffffffb3;color:var(--pt-green);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.stats-subbtn:hover{background:#fff;border-color:var(--pt-green-soft)}.stats-subbtn.is-active{background:var(--pt-green);border-color:var(--pt-green);color:#fff;box-shadow:0 3px 10px #15281e33}.stats-groups{display:flex;flex-direction:column;gap:1.25rem}.stats-group h3{margin:0 0 .5rem;font-size:1rem}.stats-table-scroll{overflow-x:auto}.stats-table{width:100%;border-collapse:collapse;font-size:.88rem}.stats-table th,.stats-table td{padding:.35rem .6rem;border-bottom:1px solid #eef2f7;text-align:left;white-space:nowrap}.stats-table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:#64748b}.stats-table .num{text-align:right;font-variant-numeric:tabular-nums}.stats-table .strong,.stats-table td.strong{font-weight:700}.stats-table td.muted{color:#94a3b8}.stats-table tr.is-low-sample td{color:#b6bfca}.stats-table tr.is-best td{background:#ecfdf5}.stats-table tr.is-worst td{background:#fef2f2}.stats-order{margin:.4rem 0 0;font-variant-numeric:tabular-nums}.stats-player-courses{display:flex;flex-direction:column;gap:.3rem}.stats-player-name{font-weight:700;font-size:.9rem}.stats-chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.stats-chip{font-size:.78rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.15rem .6rem;color:#334155}.stats-chip.is-low-sample{color:#94a3b8}.stats-kpi-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem}.stats-kpi{display:flex;flex-direction:column;min-width:96px;padding:.5rem .75rem;border:1px solid var(--pt-line);border-top:3px solid var(--pt-gold-soft);border-radius:10px;background:#fff}.stats-kpi-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--pt-green);font-weight:600}.stats-kpi-value{font-size:1.2rem;font-weight:700;font-family:var(--pt-serif);color:var(--pt-green-deep)}.auth-control{position:relative;display:flex;align-items:center;gap:.5rem}.auth-hi{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:#334155}.auth-hi-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1px solid #cbd5e1}.auth-popover{position:absolute;top:calc(100% + .4rem);right:0;z-index:300;width:240px;display:flex;flex-direction:column;gap:.5rem;padding:.85rem;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 8px 24px #0f172a2e}.auth-popover label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:#475569}.auth-popover input{font:inherit;padding:.35rem .5rem;border:1px solid #cbd5e1;border-radius:7px}.auth-popover-actions{display:flex;gap:.5rem}.profile-card{border:1px solid #e2e8f0;border-radius:12px;padding:1rem;margin-bottom:1rem;background:#fff}.profile-card-main{display:flex;gap:1rem;align-items:flex-start}.profile-avatar img,.profile-avatar-empty{width:84px;height:84px;border-radius:50%;object-fit:cover;border:1px solid #cbd5e1;flex:none}.profile-avatar-empty{display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#64748b;background:#f1f5f9}.profile-card-body{flex:1;min-width:0}.profile-card-name{margin:0 0 .3rem}.profile-desc{margin:0 0 .5rem;white-space:pre-wrap;color:#334155}.profile-edit-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.profile-editor,.profile-password-form{margin-top:.85rem;padding-top:.85rem;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.6rem}.profile-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#475569}.profile-field textarea,.profile-field input{font:inherit;padding:.4rem .55rem;border:1px solid #cbd5e1;border-radius:7px;resize:vertical}.profile-password{margin-top:.85rem;padding-top:.85rem;border-top:1px solid #e2e8f0}.account-create{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0}.account-create input[type=text],.account-create input[type=password]{font:inherit;padding:.4rem .55rem;border:1px solid #cbd5e1;border-radius:7px;min-width:180px}.account-admin-check{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;color:#475569}.accounts-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:.5rem}.accounts-table th,.accounts-table td{border:1px solid #e2e8f0;padding:.35rem .5rem;text-align:left}.accounts-table thead th{background:#f1f5f9;font-weight:600}.accounts-actions{display:flex;flex-wrap:wrap;gap:.35rem}.landing{min-height:100vh;display:flex;flex-direction:column;background:var(--pt-paper);color:var(--pt-ink)}.landing-hero{position:relative;flex:1;display:flex;flex-direction:column;background-color:var(--pt-green-deep);background-position:center center;background-size:cover;background-repeat:no-repeat;color:#fff;padding:1.25rem clamp(1rem,5vw,4rem) clamp(2.5rem,6vw,5rem)}.landing-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,#0f1e16db,#142a1eb8 45%,#142a1e73);z-index:0}.landing-topbar,.landing-hero-inner{position:relative;z-index:1}.landing-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.landing-brand{font-family:var(--pt-serif);font-size:1.15rem;font-weight:700;letter-spacing:.18em;color:#fff}.landing-logo{height:4.5rem;width:auto;object-fit:contain;filter:drop-shadow(0 2px 10px rgba(0,0,0,.4))}.landing-hero-inner{flex:1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.9fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;margin-top:clamp(1.5rem,5vw,3rem)}.landing-eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.8rem;font-weight:600;color:var(--pt-gold-soft);margin:0 0 .75rem}.landing-title{font-family:var(--pt-serif);font-size:clamp(2.75rem,7vw,5rem);line-height:1.02;margin:0 0 1.25rem;color:#fff}.landing-lead{font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.7;max-width:38rem;color:#ffffffeb;margin:0}.landing-login{background:#fffffff7;color:var(--pt-ink);border-radius:16px;border-top:4px solid var(--pt-gold);padding:1.6rem;box-shadow:0 18px 50px #0a161073;display:flex;flex-direction:column;gap:.65rem}.landing-login h2{font-family:var(--pt-serif);font-size:1.4rem;margin:0;color:var(--pt-green-deep)}.landing-login-sub{margin:0 0 .35rem;font-size:.88rem;color:var(--pt-muted)}.landing-login label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:600;color:var(--pt-green)}.landing-login input{font:inherit;padding:.6rem .7rem;border:1px solid var(--pt-line);border-radius:9px;background:#fff}.landing-login input:focus{outline:none;border-color:var(--pt-green-soft);box-shadow:0 0 0 3px #2f5a4329}.landing-login-btn{margin-top:.35rem;font:inherit;font-weight:700;font-size:1rem;padding:.7rem 1rem;border-radius:10px;border:1px solid var(--pt-green-deep);background:var(--pt-green);color:#fff;cursor:pointer;transition:background .15s ease}.landing-login-btn:hover:not(:disabled){background:var(--pt-green-deep)}.landing-login-btn:disabled{opacity:.5;cursor:not-allowed}.landing-login-hint{margin:.2rem 0 0;font-size:.78rem;color:var(--pt-muted);text-align:center}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:clamp(2rem,5vw,3.5rem) clamp(1rem,5vw,4rem);background:var(--pt-paper)}.landing-feature{background:#fff;border:1px solid var(--pt-line);border-radius:14px;overflow:hidden;box-shadow:0 6px 22px #15281e14;display:flex;flex-direction:column}.landing-feature-img{height:180px;background-color:var(--pt-green-soft);background-position:center center;background-size:cover;background-repeat:no-repeat}.landing-feature-body{padding:1.1rem 1.25rem 1.35rem}.landing-feature-body h3{font-family:var(--pt-serif);font-size:1.25rem;margin:0 0 .5rem;color:var(--pt-green-deep)}.landing-feature-body p{margin:0;font-size:.92rem;line-height:1.55;color:var(--pt-muted)}.landing-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:1.5rem clamp(1rem,5vw,4rem);background:var(--pt-green-deep);color:#fff;font-size:.85rem}.landing-footer-dim{color:#fff9}@media (max-width: 820px){.landing-hero-inner,.landing-features{grid-template-columns:1fr}}.welcome-home{display:flex;flex-direction:column;gap:0;margin:0 calc(-1*clamp(.75rem,3vw,1.5rem)) 1.5rem}.welcome-section{padding:clamp(1.75rem,4vw,3rem) clamp(1rem,4vw,2.5rem)}.welcome-section:nth-child(odd){background:#ffffffeb}.welcome-section:nth-child(2n){background:#f8fafcf2}.welcome-section-inner{max-width:1100px;margin:0 auto}.welcome-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:center}.welcome-eyebrow{margin:0 0 .35rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pt-gold, #b2823c)}.welcome-section-title{margin:0 0 .75rem;font-family:var(--pt-serif, Georgia, serif);font-size:clamp(1.55rem,3vw,2.1rem);font-weight:700;color:var(--pt-green-deep, #1e4030);line-height:1.15}.welcome-lead{margin:0;font-size:1.05rem;line-height:1.65;color:#334155;max-width:42rem}.welcome-story-photos{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.welcome-story-photo,.welcome-team-banner-img,.welcome-info-photo,.welcome-player-photo{display:block;width:100%;object-fit:cover;border-radius:12px;box-shadow:0 8px 28px #0f1e1624}.welcome-story-photo{aspect-ratio:4 / 3;min-height:10rem}.welcome-img-fallback{background:linear-gradient(145deg,#1e4030,#2d5a45 55%,#1a3328);border-radius:12px;min-height:10rem}.welcome-story-photos .welcome-img-fallback{aspect-ratio:4 / 3}.welcome-team-banner-img{aspect-ratio:16 / 10;min-height:12rem}.welcome-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.85rem,2vw,1.25rem);margin-top:clamp(1.25rem,3vw,2rem)}.welcome-player-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 4px 18px #0f1e160f}.welcome-player-photo-wrap{position:relative}.welcome-player-photo{aspect-ratio:4 / 3;min-height:8.5rem}.welcome-player-avatar{position:absolute;right:.65rem;bottom:-1.25rem;width:3.25rem;height:3.25rem;border-radius:50%;border:3px solid #fff;overflow:hidden;box-shadow:0 4px 12px #0000002e;background:#f1f5f9}.welcome-player-avatar img{width:100%;height:100%;object-fit:cover}.welcome-player-avatar-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--pt-green-deep, #1e4030);background:#dcfce7}.welcome-player-name{margin:1.65rem .75rem .35rem;font-size:1.1rem;color:var(--pt-green-deep, #1e4030)}.welcome-player-desc{margin:0 .75rem 1rem;font-size:.92rem;line-height:1.55;color:#475569}.welcome-info-panel{text-align:left}.welcome-info-text strong{color:var(--pt-green-deep, #1e4030)}.welcome-inline-link{display:inline;padding:0;border:none;background:none;font:inherit;font-weight:600;color:#1d4ed8;text-decoration:underline;cursor:pointer}.welcome-inline-link:hover{color:#1e40af}.welcome-info-photos{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-top:1.5rem}.welcome-info-photo{aspect-ratio:16 / 9;min-height:9rem}@media (max-width: 900px){.welcome-split{grid-template-columns:1fr}.welcome-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.welcome-story-photos,.welcome-info-photos,.welcome-player-grid{grid-template-columns:1fr}}button.btn-primary{display:inline-block;font:inherit;padding:.4rem .75rem;border-radius:8px;border:1px solid #166534;background:#15803d;color:#fff;cursor:pointer;line-height:1.3;font-weight:600}button.btn-primary:hover:not(:disabled){background:#166534}button.btn-primary:disabled{opacity:.55;cursor:not-allowed}.season-plan-wrap{max-width:1100px}.season-plan-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin:1rem 0}.season-plan-year input{display:block;margin-top:.25rem;width:6rem;padding:.35rem .5rem;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.season-plan-steps{display:flex;gap:.35rem}.season-plan-step{font:inherit;padding:.35rem .65rem;border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;cursor:pointer}.season-plan-step.is-active{background:#dcfce7;border-color:#86efac;font-weight:600}.season-plan-step:disabled{opacity:.5;cursor:not-allowed}.season-plan-status.is-ready{color:#166534;font-weight:600}.season-plan-status.is-draft{color:#b45309}.season-plan-player-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.season-plan-player-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;cursor:pointer;font-size:.92rem}.season-plan-player-chip.is-on{background:#dcfce7;border-color:#86efac}.season-plan-player-remove{border:none;background:transparent;color:#166534;font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .1rem}.season-plan-player-remove:hover{color:#b91c1c}.season-plan-add-player{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.season-plan-add-player input{flex:1 1 12rem;padding:.4rem .55rem;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.season-plan-suggest-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin:1rem 0}.season-plan-suggest-bar label select{display:block;margin-top:.25rem;min-width:12rem;padding:.35rem .5rem;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.season-plan-round-list{display:flex;flex-direction:column;gap:.65rem}.season-plan-round-card{border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden}.season-plan-round-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem .35rem 0}.season-plan-round-toggle{flex:1;text-align:left;border:none;background:transparent;font:inherit;padding:.5rem .75rem;cursor:pointer}.season-plan-round-toggle span{display:block;margin-top:.15rem}.season-plan-round-body{padding:0 .75rem .85rem;border-top:1px solid #f1f5f9}.season-plan-round-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.65rem;margin:.75rem 0}.season-plan-round-meta label{display:flex;flex-direction:column;gap:.25rem;font-size:.88rem}.season-plan-round-meta input,.season-plan-round-meta select{padding:.35rem .5rem;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.season-plan-wide{grid-column:1 / -1}.season-plan-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem}.season-plan-team-grid h4{margin:0 0 .35rem;font-size:.9rem}.season-plan-team-grid textarea{width:100%;font:inherit;padding:.45rem;border:1px solid #cbd5e1;border-radius:8px;resize:vertical}.season-plan-readiness{margin-top:1.25rem;padding:.75rem 1rem;background:#fffbeb;border:1px solid #fde68a;border-radius:10px}.season-plan-readiness ul{margin:.35rem 0 0;padding-left:1.25rem}@media (max-width: 720px){.season-plan-team-grid{grid-template-columns:1fr}}:root{font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background:#f8fafc}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:#1d4ed8}
