@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;650;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";
:root{--bg:#f7f8f5;--surface:#fff;--ink:#20392f;--muted:#7b857e;--green:#245642;--deep:#173c31;--lime:#d7ed82;--line:#e8ece5;--font:"DM Sans","Noto Sans KR",-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{background:var(--bg);font:14px/1.6 var(--font);color:var(--ink);margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #91b848}input:focus,select:focus,textarea:focus{outline-offset:1px;outline:2px solid #91b848}button{border:0}a{color:inherit}svg{stroke:currentColor;stroke-width:1.7px;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:20px;height:20px}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--deep);color:#d7e3dc;z-index:20;flex-direction:column;width:220px;padding:33px 22px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;letter-spacing:1px;align-items:center;gap:9px;font-size:20px;font-weight:800;display:flex}.ball{background:var(--lime);border-radius:50%;flex-shrink:0;width:29px;height:29px;display:inline-block;position:relative;overflow:hidden}.ball:before,.ball:after{content:"";border:1.5px solid var(--deep);border-radius:50%;width:26px;height:37px;position:absolute;top:-4px;transform:rotate(-35deg)}.ball:before{left:-18px}.ball:after{right:-18px}.brand-sub{letter-spacing:3px;color:#9fb3a6;margin:8px 0 43px 39px;font-size:10px}.nav-label{letter-spacing:2px;color:#94ad9c;margin:0 14px 12px;font-size:10px}.nav-item{color:#b3c6b9;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:13px;width:100%;margin:5px 0;padding:13px 15px;font-size:13px;display:flex}.nav-item.active{background:var(--lime);color:var(--deep);font-weight:700}.nav-item:hover:not(.active){color:#fff;background:#ffffff0c}.nav-item .nav-number{opacity:.65;margin-left:auto;font-size:10px}.sidebar-note{color:#b1c5b8;border:1px solid #ffffff18;border-radius:10px;margin-top:37px;padding:16px 14px}.sidebar-note .mini-ball{color:var(--lime);margin-bottom:9px}.sidebar-note strong{color:#e5ede7;font-size:12px;font-weight:500;display:block}.sidebar-note p{color:#9cb2a4;margin:6px 0 0;font-size:11px;line-height:1.8}.sidebar-bottom{margin-top:auto;padding:28px 10px 0}.storage-state{color:#b4c6ba;align-items:center;gap:7px;font-size:11px;display:flex}.dot{background:#b9d878;border-radius:50%;width:6px;height:6px;display:inline-block}.sidebar-bottom small{color:#91a99a;margin-top:7px;font-size:10px;display:block}.workspace{grid-column:2;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff9;justify-content:space-between;align-items:center;gap:15px;height:82px;padding:0 44px;display:flex}.breadcrumb{color:var(--muted);align-items:center;gap:13px;font-size:12px;display:flex}.breadcrumb svg{color:#a9b2aa;width:14px;height:14px}.breadcrumb strong{color:var(--ink);font-weight:500}.top-right{align-items:center;gap:12px;font-size:12px;display:flex}.avatar{background:#ecefe6;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:grid}.top-tag{color:#63764e;background:#edf3df;border:1px solid #dde7c8;border-radius:5px;padding:3px 7px;font-size:10px}.main{max-width:1470px;margin:auto;padding:35px 44px 30px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.eyebrow{color:#6f826e;letter-spacing:2px;margin-bottom:7px;font-size:10px;font-weight:700}.page-heading h1{letter-spacing:-1.1px;margin:0;font-size:27px;font-weight:700}.page-heading p{color:var(--muted);margin:7px 0 0;font-size:12px}.heading-actions{flex-shrink:0;gap:9px;display:flex}.btn{white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:10px 15px;font-size:12px;font-weight:600;display:inline-flex}.btn svg{width:16px;height:16px}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:#1b4434}.btn-light{color:var(--ink);background:#fff;border:1px solid #dfe5dc}.btn-light:hover{background:#f3f6ef}.btn-lime{background:var(--lime);color:var(--deep)}.btn-ghost{color:#54735c;background:0 0;min-height:28px;padding:6px 0;font-size:11px}.btn-danger{color:#ad4c3c;background:#fff1ee}.icon-btn{color:var(--muted);background:0 0;border-radius:5px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.icon-btn:hover{background:#eef2e9}.icon-btn svg{width:17px;height:17px}.event-select-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.event-select-wrap{align-items:center;gap:8px;min-width:0;display:flex}.event-select{color:var(--ink);background:0 0;border:0;max-width:300px;padding:5px 18px 5px 0;font-size:14px;font-weight:700}.badge{white-space:nowrap;color:#5c7755;background:#eef3e8;border-radius:4px;align-items:center;gap:5px;padding:3px 7px;font-size:10px;display:inline-flex}.badge.demo{color:#97783c;background:#f4eddd}.badge.live{color:#4d7650;background:#e8f0e3}.text-muted{color:var(--muted)}.text-small{font-size:11px}.event-meta{color:var(--muted);align-items:center;gap:15px;font-size:11px;display:flex}.event-meta span{align-items:center;gap:5px;display:flex}.event-meta svg{width:13px;height:13px}.hero{background:#e8eedf;border:1px solid #dce6d3;border-radius:12px;justify-content:space-between;align-items:center;gap:30px;min-height:209px;padding:28px 32px;display:flex;position:relative;overflow:hidden}.hero-content{z-index:2;position:relative}.hero-kicker{letter-spacing:1.8px;color:#687f5b;align-items:center;gap:7px;font-size:10px;display:flex}.hero-kicker span{background:#819c66;border-radius:50%;width:5px;height:5px}.hero h2{letter-spacing:-1px;margin:9px 0;font-size:26px;font-weight:700;line-height:1.5}.hero p{color:#6e7d65;margin:0 0 17px;font-size:11px}.hero .btn{min-height:35px;padding:8px 13px;font-size:11px}.court-art{flex-shrink:0;width:310px;height:170px;margin-right:32px;position:relative;transform:rotate(-8deg)}.court-ground{background:#477458;border:9px solid #658565;border-radius:5px;position:absolute;inset:7px 0;box-shadow:12px 17px #ced9bc}.court-lines{border:1.5px solid #d4dfbe;position:absolute;inset:7px}.court-lines:before{content:"";border-top:1px solid #d4dfbe;border-bottom:1px solid #d4dfbe;position:absolute;inset:16% -1px}.court-lines:after{content:"";border-left:1px solid #d4dfbe;border-right:1px solid #d4dfbe;position:absolute;inset:16% 25%}.court-net{background:#ecf0d9;width:1px;position:absolute;top:0;bottom:0;left:50%;box-shadow:4px 0 #264d3470}.court-net:after{content:"";background:repeating-linear-gradient(0deg,#0000,#0000 3px,#e7ecd799 4px),repeating-linear-gradient(90deg,#0000,#0000 2px,#e7ecd799 3px);border:1px solid #f1f4da;width:5px;position:absolute;top:-4px;bottom:-4px;left:-3px;transform:skewY(-12deg)}.art-ball{width:33px;height:33px;position:absolute;bottom:-3px;right:-4px;box-shadow:4px 5px 5px #21483235}.court-label{letter-spacing:3px;color:#819273;font-size:9px;position:absolute;bottom:-26px;left:65px;transform:rotate(8deg)}.art-mark{background:#e0ecba;border-radius:50%;width:8px;height:8px;position:absolute;top:52px;left:69px;box-shadow:172px 47px #d9ed86}.stats{grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0 27px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:9px;padding:17px 19px}.stat-top{color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.stat-top svg{color:#9aab92;width:15px;height:15px}.stat-value{letter-spacing:-1px;margin-top:7px;font-size:28px;font-weight:600;line-height:1.3}.stat-value small{color:#9aa495;letter-spacing:0;margin-left:6px;font-size:12px;font-weight:400}.stat-foot{color:#91a180;margin-top:6px;font-size:10px}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:21px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:22px}.section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;display:flex}.section-title h2{align-items:center;gap:9px;margin:0;font-size:14px;font-weight:700;display:flex}.section-title h2 svg{color:#739268;width:17px;height:17px}.section-title p{color:var(--muted);margin:3px 0 0;font-size:10px}.round-selector{scrollbar-width:thin;gap:6px;padding:1px 1px 12px;display:flex;overflow:auto}.round-btn{border:1px solid var(--line);color:#86907f;white-space:nowrap;background:#fff;border-radius:5px;align-items:center;gap:6px;padding:7px 12px;font-size:11px;display:flex}.round-btn.selected{background:var(--deep);color:#fff;border-color:var(--deep)}.round-btn .done-dot{background:#9db17e;border-radius:50%;width:4px;height:4px}.round-info{color:var(--muted);justify-content:space-between;align-items:center;margin:5px 0 12px;font-size:10px;display:flex}.match-card{border:1px solid var(--line);border-radius:8px;margin-bottom:11px;overflow:hidden}.match-card:last-child{margin-bottom:0}.match-head{color:#7d8a74;background:#f9faf7;border-bottom:1px solid #eef0e9;justify-content:space-between;align-items:center;padding:9px 13px;font-size:10px;display:flex}.court-name{letter-spacing:1px;color:#53654c;align-items:center;gap:5px;font-size:10px;font-weight:600;display:flex}.court-name svg{width:12px;height:12px}.match-body{justify-content:space-between;align-items:center;gap:12px;padding:17px 15px;display:flex}.team{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.team:last-child{text-align:right;align-items:flex-end}.team-name{overflow-wrap:anywhere;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.team-name .player-dot{background:#d2ddc8;border-radius:50%;flex-shrink:0;width:5px;height:5px}.team:last-child .team-name{flex-direction:row-reverse}.score-area{align-items:center;gap:10px;display:flex}.score-box{flex-direction:column;align-items:center;gap:4px;display:flex}.score-number{font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1.3}.vs{color:#a5afa0;margin-top:4px;font-size:10px}.score-action{color:#58734d;white-space:nowrap;background:#f2f6ed;border:1px solid #dce5d4;border-radius:5px;padding:5px 9px;font-size:10px}.match-card.completed .score-number{color:#8a9882}.match-card.completed .score-number.winner{color:#305d3d}.match-foot{border-top:1px solid #eff1eb;justify-content:center;padding:7px 12px;display:flex}.score-form{border-top:1px solid var(--line);background:#fafbf8;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:9px;padding:15px;display:flex}.score-form label{color:#6a7e60;flex-direction:column;gap:4px;max-width:115px;font-size:10px;display:flex}.score-form input{text-align:center;width:90px;color:var(--ink);background:#fff;border:1px solid #dce4d4;border-radius:6px;padding:8px;font-size:18px}.score-form .btn{min-height:39px;padding:8px 12px;font-size:11px}.score-form .clear-score{color:#9b725a;background:0 0;width:100%;padding:0;font-size:10px}.rest-note{color:#8b9683;background:#f7f9f3;border-radius:5px;margin-top:12px;padding:9px 11px;font-size:10px}.ranking-table{border-collapse:collapse;text-align:right;width:100%;font-size:11px}.ranking-table th{color:#929c8a;border-bottom:1px solid var(--line);white-space:nowrap;padding:0 8px 12px;font-size:10px;font-weight:400}.ranking-table td{white-space:nowrap;border-bottom:1px solid #f0f2ec;padding:12px 8px}.ranking-table tr:last-child td{border-bottom:0}.ranking-table th:first-child,.ranking-table td:first-child{text-align:left;width:30px}.ranking-table th:nth-child(2),.ranking-table td:nth-child(2){text-align:left}.ranking-name{white-space:normal;overflow-wrap:anywhere;align-items:center;gap:8px;min-width:90px;max-width:220px;display:flex}.player-avatar{color:#718565;background:#edf1e7;border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.rank-num{color:#87947b;font-weight:600}.rank-top{color:#3a653f}.positive{color:#5c7d45}.table-note{color:#98a08f;border-top:1px solid var(--line);margin-top:10px;padding-top:14px;font-size:10px;line-height:1.9}.info-strip{color:#708363;background:#eef2e8;border:1px solid #e1e8d7;border-radius:8px;align-items:flex-start;gap:13px;margin-top:21px;padding:15px 17px;font-size:11px;display:flex}.info-strip svg{flex-shrink:0;width:17px;height:17px;margin-top:2px}.info-strip strong{color:#526a48;margin-bottom:3px;font-weight:600;display:block}.footer{color:#9ba593;justify-content:space-between;gap:14px;margin-top:30px;font-size:10px;display:flex}.footer button{color:#809274;background:0 0;padding:0;font-size:10px}.subpage{min-height:530px}.full-round{margin-top:13px}.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.schedule-grid .match-card{margin:0}.table-scroll{overflow:auto}.rule-box{color:#718165;background:#f5f7f0;border-radius:8px;padding:18px 20px;font-size:11px;line-height:2}.rule-box strong{color:#42623d}.rule-box h3{color:var(--ink);margin:0 0 5px;font-size:12px}.players-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.player-card{border:1px solid var(--line);border-radius:8px;align-items:center;gap:11px;min-width:0;padding:17px;display:flex}.player-card .player-avatar{width:35px;height:35px;font-size:12px}.player-card strong{overflow-wrap:anywhere;font-size:12px;font-weight:600;display:block}.player-card small{color:var(--muted);font-size:10px}.progress-track{background:#edf1e7;border-radius:4px;height:5px;overflow:hidden}.progress-fill{background:#b0ca74;height:100%;transition:width .3s}.progress-caption{color:var(--muted);justify-content:space-between;margin:7px 0 17px;font-size:10px;display:flex}.empty{text-align:center;color:#7b8b70;padding:50px 20px}.empty h2{color:var(--ink);font-size:20px}.empty svg{width:35px;height:35px;margin-bottom:10px}.empty p{margin-bottom:20px;font-size:12px}.readonly-notice{color:#8e7749;background:#fff7e6;border:1px solid #f0e6cc;border-radius:8px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;padding:12px 16px;font-size:11px;display:flex}.readonly-notice button{color:#5b6e4c;background:0 0;font-size:11px;text-decoration:underline}.inline-message{color:#8b7240;background:#fff6e7;border-radius:6px;margin-bottom:15px;padding:12px;font-size:11px}.mobile-brand,.mobile-label{display:none}dialog{width:min(570px,100vw - 28px);max-height:90dvh;color:var(--ink);background:#fff;border:1px solid #dfe5da;border-radius:14px;padding:0;box-shadow:0 25px 100px #18322133}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10281c66}.dialog-header{justify-content:space-between;align-items:flex-start;gap:20px;padding:25px 26px 17px;display:flex}.dialog-header h2{letter-spacing:-.5px;margin:0;font-size:20px}.dialog-header p{color:var(--muted);margin:7px 0 0;font-size:11px}.dialog-body{padding:0 26px 25px}.form-grid{grid-template-columns:1fr 1fr;gap:16px 13px;display:grid}.field{flex-direction:column;gap:7px;min-width:0;font-size:11px;font-weight:600;display:flex}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:#fafbf8;border:1px solid #dfe5d9;border-radius:6px;min-width:0;padding:10px 11px;font-size:12px}.field textarea{resize:vertical;min-height:135px;line-height:1.9}.field small{color:var(--muted);font-size:10px;font-weight:400}.field-header{justify-content:space-between;align-items:center;display:flex}.field-header button{color:#64824c;background:0 0;padding:0;font-size:10px}.form-error{color:#b04e39;min-height:18px;margin:12px 0 0;font-size:11px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:15px;display:flex}.dialog-note{color:#7d8e6c;background:#f4f7ee;border-radius:7px;margin-top:17px;padding:12px;font-size:10px;line-height:1.9}.share-url{border:1px solid var(--line);color:#708064;white-space:nowrap;text-overflow:ellipsis;background:#f5f7f0;border-radius:6px;width:100%;padding:12px;font-size:11px;overflow:hidden}.share-warning{color:#8a7a56;margin:13px 0;font-size:11px;line-height:1.9}.share-options{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:16px;display:flex}.toast{color:#fff;z-index:200;opacity:0;pointer-events:none;background:#203f30;border-radius:9px;max-width:90vw;padding:12px 20px;font-size:12px;transition:all .2s;position:fixed;bottom:28px;left:calc(50% + 110px);transform:translate(-50%)translateY(20px);box-shadow:0 8px 25px #12322122}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.confirm-copy{color:#7a856f;font-size:12px;line-height:1.9}.muted-link{color:#8f9c83;background:0 0;margin-top:15px;padding:0;font-size:10px;text-decoration:underline}.demo-note{color:#8e927f;align-items:center;gap:7px;margin:0 0 17px;font-size:10px;display:flex}.demo-note svg{width:13px;height:13px}.schedule-full-tools{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.schedule-full-tools select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:8px 12px;font-size:11px}.blank-score{color:#afbaa5}.section-spacer{margin-top:22px}@media (min-width:1600px){.main{padding-top:42px}.hero{min-height:230px}.court-art{margin-right:80px}}@media (max-width:1150px){.sidebar{width:185px;padding:30px 15px}.shell{grid-template-columns:185px 1fr}.brand{font-size:17px}.brand-sub{letter-spacing:2px;font-size:9px}.topbar{padding:0 28px}.main{padding:28px}.hero{padding:24px}.court-art{width:230px;height:145px;margin-right:8px}.hero h2{font-size:23px}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:16px}.panel{padding:18px}.stats{gap:10px}.stat{padding:15px}.toast{left:calc(50% + 92px)}.players-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:950px){.dashboard-grid{grid-template-columns:1fr}.court-art{width:230px}.ranking-table td{padding-top:11px;padding-bottom:11px}.event-meta{gap:10px}.event-meta .desktop-only{display:none}.hero h2{font-size:23px}.page-heading h1{font-size:24px}.page-heading{align-items:flex-start}.heading-actions{padding-top:4px}.btn{padding:9px 12px}.heading-actions .btn{font-size:11px}.topbar{height:70px}.schedule-grid{grid-template-columns:1fr}}@media (max-width:680px){.shell{display:block}.sidebar{width:100%;height:70px;color:var(--ink);background:#fff;border-top:1px solid #dfe5d9;padding:0 8px;inset:auto 0 0}.sidebar nav{justify-content:space-around;align-items:center;height:100%;display:flex}.sidebar .brand,.sidebar .brand-sub,.sidebar .nav-label,.sidebar-note,.sidebar-bottom{display:none}.nav-item{color:#93a08b;border-radius:7px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;width:auto;max-width:95px;margin:0;padding:8px 5px;font-size:10px}.nav-item.active{color:#345934;background:#edf3e1}.nav-item:hover:not(.active){color:var(--ink);background:#f5f7f0}.nav-number{display:none}.nav-item svg{width:19px;height:19px}.workspace{padding-bottom:70px}.topbar{background:#fff;height:61px;padding:0 20px}.breadcrumb{display:none}.mobile-brand{letter-spacing:.7px;align-items:center;gap:8px;font-size:15px;font-weight:800;display:flex}.mobile-brand .ball{width:23px;height:23px}.top-right{gap:8px}.top-right .operator-name{display:none}.top-right .avatar{width:27px;height:27px;font-size:10px}.top-tag{font-size:9px}.main{padding:25px 18px}.page-heading{margin-bottom:23px;display:block}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.heading-actions{margin-top:17px;padding:0}.heading-actions .btn{flex:1;min-height:38px;font-size:11px}.eyebrow{margin-bottom:5px;font-size:9px}.event-select-row{margin-bottom:12px;display:block}.event-select{max-width:245px;font-size:13px}.event-meta{flex-wrap:wrap;gap:6px 12px;margin-top:5px;font-size:10px}.hero{gap:0;min-height:200px;padding:22px 20px}.hero h2{margin-top:10px;font-size:21px}.hero p{max-width:170px;font-size:10px;line-height:1.8}.hero-kicker{letter-spacing:1.4px;font-size:8px}.court-art{opacity:.8;width:160px;height:112px;position:absolute;bottom:27px;right:-31px;transform:rotate(-13deg)}.court-ground{border-width:6px}.court-lines{inset:4px}.court-label{display:none}.art-ball{width:25px;height:25px;bottom:1px;right:5px}.hero-content{max-width:85%}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0 20px}.stat{padding:14px 16px}.stat-top{font-size:10px}.stat-value{margin-top:4px;font-size:25px}.stat-foot{margin-top:4px;font-size:9px}.dashboard-grid{gap:16px}.panel{border-radius:9px;padding:17px 15px}.section-title h2{font-size:13px}.round-btn{padding:7px 10px;font-size:10px}.match-body{gap:7px;padding:16px 12px}.team-name{font-size:11px}.score-area{gap:8px}.score-number{font-size:23px}.score-action{padding:5px 7px;font-size:9px}.footer{flex-wrap:wrap;margin-top:24px;font-size:9px}.footer button{font-size:9px}.info-strip{margin-top:16px;padding:13px;font-size:10px}.toast{white-space:normal;width:max-content;max-width:90vw;padding:11px 15px;font-size:11px;bottom:86px;left:50%}.players-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.player-card{gap:8px;padding:12px 10px}.player-card .player-avatar{width:29px;height:29px}.player-card strong{font-size:11px}.player-card small{font-size:9px}.rule-box{padding:14px;font-size:10px}.dialog-header{padding:23px 20px 17px}.dialog-body{padding:0 20px 22px}.dialog-header h2{font-size:19px}.form-grid{gap:13px 10px}.readonly-notice{align-items:flex-start;padding:11px;font-size:10px}.readonly-notice button{flex-shrink:0;font-size:10px}.ranking-table th,.ranking-table td{padding-left:6px;padding-right:6px}.ranking-table{font-size:10px}.ranking-name{min-width:80px}.ranking-name .player-avatar{width:23px;height:23px;font-size:9px}.badge{font-size:9px}.schedule-full-tools{align-items:flex-start}.score-form input{width:75px}.demo-note{font-size:9px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.sidebar,.topbar,.heading-actions,.footer,.score-action,.score-form,.info-strip,.round-selector,.btn,.toast{display:none!important}.shell{display:block}.workspace,.main{padding:0}.panel,.match-card{break-inside:avoid}.hero{display:none}.stats{grid-template-columns:repeat(4,1fr)}body{background:#fff}}.event-tools{align-items:center;gap:16px;margin-top:24px;display:flex}.storage-note{color:var(--muted);max-width:800px;font-size:10px;line-height:1.8}.empty-state{text-align:center;padding:65px 25px}.empty-state h2{font-size:23px}.empty-state p{color:var(--muted);margin-bottom:25px}.empty-state .muted-link{margin:20px auto 0;display:block}.match-header{color:#7c8a70;background:#f5f7f0;justify-content:space-between;padding:11px 15px;font-size:10px;display:flex}.match-bottom{border-top:1px solid var(--line);text-align:center;padding:8px}.table-scroll{max-width:100%;overflow-x:auto}.ranking-table{white-space:nowrap}.dashboard-grid .ranking-table{font-size:10px}.inline-message{justify-content:space-between;align-items:center;gap:12px;display:flex}.round-selector{flex-wrap:wrap}.event-meta .btn{padding:5px 10px}.player-card small{display:block}.court-service{border-top:1px solid #f8fff2;border-bottom:1px solid #f8fff2;position:absolute;inset:23% 12%}.hero .btn,.dialog-actions a{text-decoration:none}dialog .form-error{overflow-wrap:anywhere;max-width:100%}@media (max-width:680px){.event-tools{flex-wrap:wrap}.empty-state{padding:45px 15px}.inline-message{flex-wrap:wrap}.ranking-table{min-width:470px}.storage-note{font-size:9px}.round-selector{gap:5px}.hero-content{z-index:1;position:relative}}body{padding-top:64px}.platform-header{z-index:40;background:var(--deep);color:#d7e3dc;border-bottom:1px solid #ffffff1c;align-items:center;gap:40px;height:64px;padding:0 32px;display:flex;position:fixed;inset:0 0 auto}.platform-header .brand{letter-spacing:-.6px;white-space:nowrap;font-size:19px;text-decoration:none}.brand-icon{flex-shrink:0;width:32px;height:32px;display:block}.nav-item>span:first-child{justify-content:center;align-items:center;display:flex}.platform-header nav{align-self:stretch;display:flex}.feature-tab{color:#b3c6b9;border-bottom:3px solid #0000;align-items:center;padding:3px 22px 0;font-size:13px;font-weight:700;text-decoration:none;display:flex}.feature-tab:hover{color:#fff;background:#ffffff08}.feature-tab.active{color:var(--lime);border-bottom-color:var(--lime)}.platform-tagline{letter-spacing:2px;color:#a6bcae;margin-left:auto;font-size:9px}.shell{min-height:calc(100vh - 64px)}.sidebar{padding-top:28px;top:64px}.sidebar .nav-label{letter-spacing:1px;color:var(--lime);margin-bottom:23px;font-size:15px;font-weight:700}.feature-home{max-width:1120px;margin:auto;padding:72px 44px 40px}.feature-home h1{letter-spacing:-1.2px;margin:10px 0;font-size:34px}.home-intro{color:var(--muted);margin:0 0 35px}.feature-card{background:#e8eedf;border:1px solid #dce6d3;border-radius:14px;justify-content:space-between;align-items:center;gap:35px;padding:38px;text-decoration:none;transition:box-shadow .2s;display:flex}.feature-card:hover{box-shadow:0 10px 30px #173c3110}.feature-card h2{letter-spacing:-.7px;margin:12px 0 8px;font-size:28px}.feature-card p{color:#6e7d65;margin:0 0 24px;font-size:13px;line-height:1.9}.feature-card .court-art{width:270px;height:160px;margin-right:20px}.home-footnote{letter-spacing:2px;color:#91a180;margin-top:28px;font-size:9px}.round-help{color:#667e56;background:#f0f5e8;border:1px solid #e0e8d4;border-radius:7px;grid-column:1/-1;padding:12px 14px;font-size:11px;line-height:1.8}.round-help strong{color:#42623d;font-weight:600}.round-help p{margin:3px 0 0}@media (max-width:680px){.platform-header{gap:22px;padding:0 18px}.platform-header .brand{gap:8px;font-size:16px}.brand-icon{width:30px;height:30px}.platform-header .ball{width:25px;height:25px}.platform-tagline{display:none}.feature-tab{padding-left:18px;padding-right:18px}.sidebar{padding:0 8px;top:auto}.sidebar .nav-label{display:none}.breadcrumb{gap:6px;font-size:11px;display:flex}.feature-home{padding:42px 20px}.feature-home h1{font-size:27px;line-height:1.45}.home-intro{font-size:12px}.feature-card{gap:10px;padding:25px;overflow:hidden}.feature-card h2{font-size:25px}.feature-card p{font-size:12px}.feature-card .court-art{display:none}.feature-card-copy{z-index:1;position:relative}.topbar{height:56px}.top-right{gap:6px}}@media print{body{padding-top:0}.platform-header{display:none!important}}.account-controls{align-items:center;min-width:0;margin-left:auto;display:flex}.google-login{color:#3c4043;white-space:nowrap;background:#fff;border:1px solid #dadce0;border-radius:7px;justify-content:center;align-items:center;gap:10px;min-height:40px;padding:9px 13px;font-size:12px;font-weight:500;display:inline-flex}.google-login:hover:not(:disabled){background:#f8faff;box-shadow:0 1px 3px #10281c15}.google-login:disabled{opacity:.7}.google-mark{stroke:none;flex-shrink:0;width:18px;height:18px}.login-short{display:none}.auth-loading{color:#c4d2c9;font-size:11px}.account-retry{color:var(--lime);background:0 0;font-size:11px;text-decoration:underline}.account-menu{position:relative}.account-menu summary{cursor:pointer;color:#fff;align-items:center;gap:8px;font-size:12px;list-style:none;display:flex}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:focus-visible{outline-offset:4px;outline:3px solid #91b848}.account-initial{background:var(--lime);width:30px;height:30px;color:var(--deep);border-radius:50%;place-items:center;font-weight:700;display:grid}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.account-popover{border:1px solid var(--line);width:270px;color:var(--ink);background:#fff;border-radius:9px;flex-direction:column;gap:10px;padding:18px;display:flex;position:absolute;top:43px;right:0;box-shadow:0 12px 36px #173c3122}.account-popover>strong{overflow-wrap:anywhere;font-size:13px}.account-popover p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:11px}.account-popover>a,.account-popover>button{text-align:left;color:var(--ink);background:#f3f6ee;border-radius:5px;padding:9px 12px;font-size:12px;text-decoration:none}.auth-feedback{color:#786038;background:#fff8e6;border:1px solid #e4d8b4;border-radius:9px;flex-wrap:wrap;align-items:center;gap:12px;max-width:390px;padding:14px 16px;font-size:11px;display:flex;position:absolute;top:76px;right:24px;box-shadow:0 5px 20px #173c3112}.identity-panel{background:#eef3e7;border:1px solid #dfe8d5;border-radius:9px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;padding:15px 18px;font-size:11px;display:flex}.identity-panel strong{color:#42623d;font-size:12px;font-weight:600}.identity-panel p{color:#718165;margin:4px 0 0;line-height:1.8}.identity-panel .btn{white-space:normal;text-align:center;flex-shrink:0}.identity-panel .google-login{flex-shrink:0}.auth-wait{max-width:1120px;padding-top:40px}@media (max-width:950px){.identity-panel{flex-wrap:wrap}}@media (max-width:680px){.platform-header{gap:12px;padding-left:16px;padding-right:16px}.feature-tab{padding-left:12px;padding-right:12px}.platform-header .brand{gap:7px;font-size:15px}.account-controls .compact{gap:6px;min-height:34px;padding:7px 9px;font-size:11px}.compact .login-full{display:none}.compact .login-short{display:inline}.account-name{display:none}.account-menu summary{gap:5px}.auth-loading{max-width:60px;font-size:9px}.account-popover{width:min(270px,100vw - 32px)}.auth-feedback{max-width:calc(100vw - 32px);right:16px}.identity-panel{gap:12px;padding:13px 14px}.identity-panel .btn{flex-shrink:1}.identity-panel .google-login{min-height:36px;font-size:11px}}@media print{.account-controls,.identity-panel,.auth-feedback{display:none!important}}.matching-options{border:1px solid var(--line);border-radius:7px;grid-column:1/-1;margin:0;padding:14px}.matching-options legend{font-size:12px;font-weight:600}.matching-options label{align-items:center;gap:5px;margin-right:20px;display:inline-flex}.matching-options input{width:auto;accent-color:var(--green)}.matching-options p,.rating-fields p{color:var(--muted);margin:8px 0 0;font-size:11px}.rating-fields{border:1px solid var(--line);border-radius:8px;flex-direction:column;grid-column:1/-1;gap:0;display:flex;overflow:hidden}.rating-fields>p{margin:0;padding:0 14px 12px}.rating-list-heading{justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 8px;font-size:12px;display:flex}.rating-list-heading>span{color:var(--muted);font-size:11px;font-weight:500}.rating-entry{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 140px;align-items:center;gap:12px;padding:10px 14px;display:grid}.rating-player{align-items:center;gap:10px;min-width:0;font-size:13px;font-weight:600;display:flex}.rating-player>span:last-child{overflow-wrap:anywhere}.rating-player-index{color:var(--muted);flex-shrink:0;font-size:10px;font-weight:400}.rating-input{align-items:center;min-width:0;display:flex;position:relative}.rating-input input{font-variant-numeric:tabular-nums;text-align:right;width:100%;min-width:0;min-height:44px;color:var(--ink);background:#fafbf8;border:1px solid #dfe5d9;border-radius:6px;padding:9px 44px 9px 10px;font-size:16px}.rating-input input::placeholder{color:#8b948d;font-size:12px}.rating-input>span{color:var(--muted);pointer-events:none;font-size:10px;position:absolute;right:11px}@media (max-width:480px){.rating-entry{grid-template-columns:minmax(0,1fr) 124px;gap:8px;padding:9px 12px}.rating-player{gap:7px;font-size:12px}}.team-rating{color:var(--muted);margin-top:4px;font-size:10px;font-weight:400;display:block}.rating-badge{color:var(--green)}.rating-input select{width:100%;min-width:0;min-height:44px;color:var(--ink);text-align:center;background:#fafbf8;border:1px solid #dfe5d9;border-radius:6px;padding:9px 8px;font-size:16px}.rating-input select:required:invalid{color:var(--muted)}.rating-input select option{color:var(--ink)}.participant-line{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:6px;padding:6px 10px;display:grid}.participant-line.with-rating{grid-template-columns:minmax(0,1fr) minmax(92px,30%) 44px}.participant-name{width:100%;min-width:0;min-height:44px;color:var(--ink);border:1px solid #dfe5d9;border-radius:6px;padding:8px 10px;font-size:16px}.remove-participant{min-height:44px;color:var(--muted);background:0 0;border-radius:6px;font-size:20px}.grade-guide{text-underline-offset:2px;text-decoration:underline}.kato-guide{border:1px solid var(--line);border-radius:8px;grid-column:1/-1;min-width:0;padding:10px 14px}.kato-guide summary{cursor:pointer;font-size:13px;font-weight:600}.kato-guide table{border-collapse:collapse;text-align:left;width:100%;margin-top:10px;font-size:13px;line-height:1.6}.kato-guide th,.kato-guide td{border-top:1px solid var(--line);vertical-align:top;padding:7px 5px}.kato-guide th:first-child{word-break:keep-all;width:33%}.kato-guide p{color:var(--muted);font-size:12px}.schedule-full-tools h2{margin:0;font-size:18px}.schedule-full-tools h2 small{color:var(--muted);font-size:12px;font-weight:500;display:inline-block}.overview-round+.overview-round{margin-top:18px}.overview-round h3{color:var(--deep);background:#edf3e9;border-radius:5px;margin:0;padding:5px 10px;font-size:13px}.overview-match{border-bottom:1px solid var(--line);grid-template-columns:max-content minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:3px 6px;display:grid}.overview-court,.overview-rest{color:var(--muted);font-size:12px}.overview-rest{overflow-wrap:anywhere;margin:5px 6px 0}.overview-team{text-align:center;overflow-wrap:anywhere;font-size:13px}.overview-team small{color:var(--muted);font-size:10px;display:block}.overview-score{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}button.overview-score{min-width:55px;min-height:44px;color:var(--green);background:#f3f6ef;border-radius:5px;padding:4px;font-weight:600}
