:root{font-family:Segoe UI,Malgun Gothic,sans-serif;color:#1e293b;background:#f1f5f9;font-synthesis:none;--bg:#f1f5f9;--surface:#fff;--text:#1e293b;--muted:#66758b;--line:#e3e9f0;--navy:#0c2c55;--green:#168365;--rose:#be5265;--accent:#b47722;--soft:#f7f9fc;--shadow:0 2px 3px #18385c03}:root[data-theme=dark]{color-scheme:dark;--bg:#111c2d;--surface:#19273b;--text:#e4ebf5;--muted:#a7b5c9;--line:#304258;--soft:#1c2d43;--navy:#639ad9;--green:#62c9a4;--rose:#e98da0;--accent:#e4bc78}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c6923b}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button{color:inherit}a{color:var(--navy)}h1,h2,h3,p{margin:0}h2{font-size:17px;letter-spacing:-.4px}h3{font-size:17px}small{font-size:13px}button{border:0;background:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:#0c2c55;color:#fff;min-height:43px;padding:10px 17px;border-radius:7px;font-size:14px;font-weight:600;white-space:nowrap;transition:background .15s}.button:hover{background:#194579}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--line)}.button.secondary:hover{background:var(--soft)}.danger-outline{color:var(--rose);background:transparent;border-color:var(--line)}.danger-outline:hover{background:var(--soft)}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;border-radius:6px;color:var(--muted)}.icon-button:hover{background:var(--soft);color:var(--text)}.text-button{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:600}.text-button:hover{color:var(--navy)}.app-shell{display:flex;min-height:100vh}.sidebar{width:238px;flex-shrink:0;position:fixed;inset:0 auto 0 0;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 18px 0}.logo{display:flex;align-items:center;gap:10px;padding:0 8px}.logo-symbol{background:#0c2c55;color:#fff;border-radius:9px;display:grid;place-items:center;width:38px;height:42px;position:relative}.logo-symbol:after{content:"";height:3px;width:24px;background:#cb9c50;position:absolute;bottom:8px}.logo strong{display:block;font-size:16px;letter-spacing:.2px;font-weight:800}.logo span{display:block;color:var(--muted);font-size:11px;letter-spacing:1px;margin-top:4px}.workspace-label{font-size:11px;letter-spacing:1px;font-weight:700;color:var(--muted);padding:40px 12px 14px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 13px;min-height:48px;font-size:14px;color:var(--muted);border-radius:7px;text-align:left;margin:3px 0}.nav-item:hover{background:var(--soft);color:var(--navy)}.nav-item.active{background:#edf2f8;color:#0c2c55;font-weight:700}:root[data-theme=dark] .nav-item.active{background:#2c405b;color:#dbe9fb}.nav-dot{width:6px;height:6px;background:#0c2c55;border-radius:50%;margin-left:auto}.sidebar-divider{height:1px;background:var(--line);margin:23px 10px 15px}.sidebar-bottom{margin-top:auto;padding-top:30px}.local-indicator{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;letter-spacing:1.5px;color:var(--muted);padding-bottom:22px}.local-indicator i,.status-dot{height:6px;width:6px;background:var(--green);border-radius:50%}.local-indicator svg{margin-left:8px}.admin-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:20px 0}.admin-row>div:nth-child(2){min-width:0;flex:1}.admin-row strong{font-size:13px}.admin-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.admin-avatar,.tiny-avatar{background:var(--soft);border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:12px;width:34px;height:34px;color:var(--navy)}.workspace{width:calc(100% - 238px);margin-left:238px}.topbar{height:72px;border-bottom:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{display:flex;gap:14px;align-items:center;font-size:12px;color:var(--muted)}.breadcrumb strong{color:var(--text);font-weight:500}.topbar-tools{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--muted)}.topbar-divider{height:20px;width:1px;background:var(--line)}.tiny-avatar{width:29px;height:29px}.main-content{padding:34px 38px 0;max-width:1620px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--accent);margin-bottom:9px}.page-heading h1{font-size:29px;letter-spacing:-1.2px;font-weight:750;line-height:1.3}.page-heading p{font-size:13px;color:var(--muted);margin-top:9px}.heading-actions{padding-top:8px}.athlete-switch{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:24px}.athlete-tab{display:flex;align-items:center;gap:13px;min-height:86px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:17px 20px;text-align:left}.athlete-tab.selected{border-color:#0c2c55;box-shadow:inset 3px 0 #0c2c55}.athlete-tab>div:nth-child(2){flex:1}.athlete-tab strong{font-size:16px}.athlete-tab small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.avatar{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;font-size:14px;font-weight:700;background:#e8eef5;color:#385778}.avatar-1{background:#f5efe4;color:#876239}.selected-mark{display:flex;align-items:center;gap:4px;color:var(--navy);font-size:10px;background:var(--soft);padding:5px 7px;border-radius:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:19px 22px;box-shadow:var(--shadow)}.stat-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;font-weight:500}.stat-icon{height:33px;width:33px;border-radius:8px;display:grid;place-items:center}.stat-icon.blue{background:#eff3f9;color:#46658d}.stat-icon.green{background:#eaf6f0;color:#168365}.stat-icon.rose{background:#fbedef;color:#be5265}.stat-icon.amber{background:#fbf4e9;color:#a77225}.stat-value{font-size:36px;line-height:1.35;font-weight:750;letter-spacing:-1.2px;margin:5px 0 8px;font-variant-numeric:tabular-nums}.stat-value small{font-size:16px;font-weight:500;letter-spacing:0;margin-left:5px;color:var(--muted)}.stat-bottom{font-size:11px;color:var(--muted);padding-top:10px;border-top:1px solid var(--line)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:24px;margin-bottom:24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:24px}.dashboard-grid>.card{margin-bottom:0}.card-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 24px 19px;gap:12px}.card-heading p,.list-toolbar p{font-size:11px;color:var(--muted);margin-top:7px;line-height:1.6}.card-heading>svg{color:var(--muted)}.count-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--soft);color:var(--muted);font-size:10px;padding:3px 7px;border-radius:5px;font-weight:600;margin-left:5px;vertical-align:middle}.card-footer{display:flex;gap:7px;align-items:center;border-top:1px solid var(--line);background:var(--soft);padding:13px 24px;font-size:10px;color:var(--muted);line-height:1.6}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 28px 47px;text-align:center;min-height:250px}.empty-icon{width:58px;height:58px;border-radius:50%;background:var(--soft);color:#8795a8;display:grid;place-items:center;margin-bottom:17px}.empty-state h3{font-size:14px;letter-spacing:-.3px;margin-bottom:9px}.empty-state p{font-size:11px;color:var(--muted);max-width:340px;line-height:1.9}.empty-state .button{margin-top:22px;font-size:12px;min-height:36px}.recent-card{display:flex;flex-direction:column}.recent-card .empty-state{flex:1}.recent-card .card-footer{margin-top:auto}.donut-wrap{display:grid;place-items:center;padding:7px 0 18px}.donut{height:155px;width:155px;border-radius:50%;display:grid;place-items:center}.donut>div{width:127px;height:127px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center}.donut span{font-size:11px;color:var(--muted)}.donut strong{font-size:33px;font-weight:750;line-height:1.5}.donut small{font-size:10px;color:var(--muted)}.distribution{display:grid;grid-template-columns:repeat(3,1fr);padding:6px 23px 23px}.distribution>div{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;color:var(--muted);border-right:1px solid var(--line);flex-wrap:wrap}.distribution>div:last-child{border:0}.distribution strong{display:block;width:100%;text-align:center;font-size:18px;color:var(--text);margin-top:4px}.distribution i{width:6px;height:6px;border-radius:50%}.win-dot{background:var(--green)}.loss-dot{background:var(--rose)}.neutral-dot{background:var(--muted)}.season-link{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:15px;width:100%;padding:15px 20px;font-size:11px;color:var(--navy);background:var(--soft)}.journey-banner{display:flex;align-items:center;position:relative;overflow:hidden;background:#0c2c55;color:#fff;padding:25px 30px;border-radius:9px;gap:22px;margin-bottom:22px}.banner-symbol{height:59px;width:59px;border:1px solid #ffffff28;display:grid;place-items:center;transform:rotate(-8deg);border-radius:12px;color:#deb878;background:#ffffff07}.journey-banner>div:nth-child(2){z-index:1;flex:1}.journey-banner span{color:#dbb477;font-size:8px;letter-spacing:2px}.journey-banner h3{font-size:18px;margin:7px 0;letter-spacing:-.5px}.journey-banner p{font-size:11px;color:#bfd0e3}.journey-banner button{display:flex;align-items:center;gap:15px;background:#ffffff12;border:1px solid #ffffff30;color:#fff;border-radius:5px;padding:12px 15px;font-size:11px;z-index:1}.banner-decoration{position:absolute;right:60px;bottom:-70px;font-size:160px;font-weight:900;color:#ffffff03;transform:rotate(-15deg)}.dashboard-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.quick-card{display:flex;align-items:center;gap:13px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px}.quick-card>svg{color:var(--muted);flex-shrink:0}.quick-card>svg:last-child{margin-left:auto;width:14px}.quick-card strong{display:block;font-size:12px}.quick-card span{display:block;font-size:10px;color:var(--muted);margin-top:6px}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:26px 0 22px;color:var(--muted);font-size:9px}.page-footer>span{display:flex;gap:6px;align-items:center}.page-footer i{width:1px;height:10px;background:var(--line);margin:0 5px}.recent-item{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:18px 24px;border-top:1px solid var(--line)}.recent-item:hover{background:var(--soft)}.date-square{background:var(--soft);border:1px solid var(--line);border-radius:6px;width:47px;min-width:47px;height:49px;display:flex;align-items:center;justify-content:center;flex-direction:column}.date-square strong{font-size:18px;line-height:1.3}.date-square span{font-size:10px;color:var(--muted)}.recent-info{flex:1}.recent-info strong{font-size:12px;line-height:1.6}.recent-info small{display:block;font-size:10px;margin-top:6px;color:var(--muted)}.recent-result{text-align:right;display:flex;flex-direction:column;gap:7px}.recent-result small{font-size:10px;color:var(--muted)}.rank-badge,.result-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:var(--soft);color:var(--muted);font-size:11px;border-radius:5px;padding:5px 9px;font-weight:600;white-space:nowrap}.rank-badge.gold{background:#fbf2e1;color:#8b6015}.rank-badge.silver{background:#eef2f7;color:#4b6483}.result-badge.win{background:#eaf6f0;color:#106c52}.result-badge.loss{background:#fbedef;color:#a6364c}.list-toolbar{display:flex;align-items:center;justify-content:space-between;padding:24px;gap:20px}.search-box{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:6px;background:var(--soft);padding:6px 10px;min-width:220px;color:var(--muted)}.search-box input{border:0;background:none;font-size:12px;min-width:0;width:100%;padding:5px 0;color:var(--text)}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:17px 24px;border-top:1px solid var(--line);vertical-align:middle}thead th{background:var(--soft);color:var(--muted);font-weight:500;font-size:11px}td small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.record-title{padding:0;font-size:13px;text-align:left;color:var(--text);font-weight:600;line-height:1.7}.record-title:hover{text-decoration:underline}.record-table tbody tr:hover{background:var(--soft)}.row-arrow{width:30px;padding:10px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.pagination>div{display:flex;gap:4px}.trash-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 24px;border-top:1px solid var(--line)}.trash-list strong{font-size:14px}.trash-list small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 22px;font-size:12px;color:var(--muted)}.filter-bar label{display:flex;align-items:center;gap:12px}.filter-bar select{padding:9px 30px 9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text)}.bar-chart{padding:18px 24px 28px}.bar-row{display:flex;align-items:center;gap:15px;margin-bottom:22px;font-size:13px}.bar-row>span{width:40px}.bar-row strong{width:25px;text-align:right}.bar-track{flex:1;background:var(--soft);height:18px;border-radius:4px;overflow:hidden}.bar{height:100%;background:var(--muted);min-width:0}.bar.win{background:var(--green)}.bar.loss{background:var(--rose)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:0 24px 24px}.detail-grid>div{border-top:1px solid var(--line);padding:17px 0}.detail-grid dt{color:var(--muted);font-size:11px;margin-bottom:8px}.detail-grid dd{margin:0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.detail-grid a{display:flex;align-items:center;gap:6px}.inline-actions{display:flex;gap:8px}.inline-actions .button{font-size:12px;min-height:35px;padding:8px 12px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.photo-content{min-height:180px;display:grid;place-items:center;margin:0 24px;background:var(--soft);border-radius:7px}.photo-content img{max-width:100%;max-height:360px;object-fit:contain}.photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:15px;color:var(--muted);font-size:12px}.photo-actions{display:flex;gap:10px;padding:18px 24px}.photo-actions .button{font-size:12px}.operation-body{padding:8px 24px 24px}.operation-body p{font-size:13px;color:var(--muted);line-height:1.9;margin:15px 0}.operation-body code{display:block;padding:14px;background:var(--soft);font-size:12px;overflow-wrap:anywhere}.status-line{display:flex;align-items:center;gap:9px;font-size:14px}.section-title{margin:15px 0}.loading-bar{font-size:11px;color:var(--muted);margin:-8px 0 14px}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff0f0;border:1px solid #f0cccc;color:#9f2438;padding:13px 16px;border-radius:7px;font-size:13px;line-height:1.7;margin-bottom:18px}.toast-region{position:fixed;bottom:28px;right:28px;z-index:30}.toast{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:0 5px 25px #0002;border-radius:8px;padding:16px 20px;font-size:14px}.toast svg{color:var(--green)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.editor-dialog{border:1px solid var(--line);padding:0;width:660px;max-width:calc(100% - 32px);max-height:90vh;border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 20px 70px #0003}.editor-dialog::backdrop{background:#08182ab3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--line)}.dialog-heading h2{font-size:21px}.dialog-body{padding:24px 28px;max-height:calc(90vh - 190px);overflow:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:600;position:relative}.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:11px 12px;color:var(--text);font-size:14px;width:100%;min-height:44px}.field textarea{resize:vertical}.required{color:var(--rose);position:absolute;top:0;right:0}.full{grid-column:1/-1}.field-hint{font-size:11px;color:var(--muted);line-height:1.7;font-weight:400}.checkbox-field{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:13px}.form-notice{padding:13px;background:#fcf5e6;color:#805a1d;border-radius:5px;font-size:12px}.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px;border-top:1px solid var(--line);background:var(--soft)}.dialog-footer>span{font-size:11px;color:var(--muted)}.dialog-footer>div{display:flex;gap:9px}.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;position:relative}.login-story{background:#0c2c55;color:#fff;padding:45px 55px;position:relative;overflow:hidden}.login-story .logo strong{color:#fff}.login-story .logo span{color:#a8bed8}.login-story .logo-symbol{background:#ffffff10;border:1px solid #ffffff25}.login-copy{margin:90px auto 0;max-width:500px}.login-copy .eyebrow{font-size:11px;color:#d9b275}.login-copy h1{font-size:43px;letter-spacing:-2px;line-height:1.5;font-weight:650;margin:20px 0}.login-copy p{color:#a8bdd7;font-size:15px;line-height:2}.login-copy>small{color:#a8bdd7;letter-spacing:3px;font-size:9px}.mat-illustration{height:255px;position:relative;display:grid;place-items:center;margin:25px 0;overflow:hidden}.mat-ring{width:220px;height:220px;border:1px solid #ffffff12;position:absolute;transform:rotate(45deg);border-radius:36px;box-shadow:0 0 0 35px #ffffff02,0 0 0 70px #ffffff02}.mat-illustration>span{font-size:90px;font-weight:900;color:#ffffff15;transform:rotate(-8deg);letter-spacing:8px}.belt-line{height:12px;background:#c59b54;width:260px;position:absolute;bottom:55px;transform:rotate(-11deg);box-shadow:0 8px #c59b5430}.belt-line:after{content:"";position:absolute;right:17px;top:0;width:43px;height:12px;background:#1a1e28;border-left:3px solid #fff;border-right:3px solid #fff}.login-panel{display:flex;align-items:center;justify-content:center;background:var(--surface);padding:55px}.login-box{max-width:385px;width:100%}.login-box h2{font-size:28px;letter-spacing:-1px;line-height:1.4;margin:12px 0}.login-box>p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:32px}.login-box form>.field{margin-bottom:21px}.login-box .field input{min-height:49px}.login-submit{width:100%;margin-top:13px;min-height:49px;justify-content:space-between;padding-left:20px}.privacy{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:10px;border-top:1px solid var(--line);margin-top:35px;padding-top:22px;line-height:1.6}.privacy svg{flex-shrink:0}.theme-login{position:absolute;top:24px;right:25px}@media(min-width:1600px){.main-content{padding-top:45px}.page-heading{margin-bottom:34px}.stats-grid{gap:24px}.stat-card{padding:25px}.dashboard-grid{grid-template-columns:1.9fr 1fr}.empty-state{min-height:280px}}@media(max-width:1100px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.workspace{margin-left:205px;width:calc(100% - 205px)}.main-content{padding:28px 24px 0}.topbar{padding:0 24px}.dashboard-grid{gap:16px;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr)}.stat-card{padding:16px}.quick-card{padding:17px 14px;gap:9px}.quick-card>svg:last-child{display:none}.card-heading{padding:21px 20px}.journey-banner{padding:24px}.journey-banner h3{font-size:16px}.journey-banner button{font-size:10px}.selected-mark{display:none}.login-story{padding:35px}.login-copy h1{font-size:34px}.login-panel{padding:35px}}@media(max-width:850px){.sidebar{width:74px;padding:24px 10px}.sidebar .logo{padding:0;justify-content:center}.sidebar .logo>div:nth-child(2),.workspace-label,.nav-item span,.nav-item:not(nav .nav-item),.sidebar-divider,.sidebar-bottom{display:none}.sidebar nav{margin-top:37px}.nav-item{font-size:0;justify-content:center;padding:13px 8px;gap:0}.nav-item.active{background:#edf2f8}.workspace{margin-left:74px;width:calc(100% - 74px)}.stats-grid{gap:12px}.stat-value{font-size:30px}.stat-bottom{font-size:10px}.athlete-tab{padding:14px}.dashboard-grid{grid-template-columns:1fr}.season-card{display:grid;grid-template-columns:1fr 1fr}.season-card .card-heading{grid-column:1/-1}.season-card .distribution{align-items:center}.season-link{grid-column:1/-1}.dashboard-bottom{gap:10px}.quick-card{flex-direction:column;align-items:flex-start}.journey-banner{gap:16px}.journey-banner>button{align-self:stretch;justify-content:center}.banner-symbol{display:none}.login-page{grid-template-columns:.8fr 1fr}.login-copy{margin-top:100px}.login-copy h1{font-size:29px}.login-copy p{font-size:12px}.login-story{padding:30px 23px}.login-panel{padding:30px}.login-box h2{font-size:24px}.mat-illustration{height:220px}.logo strong{font-size:13px}.photo-grid{grid-template-columns:1fr}}@media(max-width:600px){body{font-size:16px}.sidebar{position:sticky;top:0;z-index:10;width:100%;height:auto;flex-direction:row;align-items:center;padding:8px 10px;border-right:0;border-bottom:1px solid var(--line);gap:10px;overflow-x:auto}.app-shell{display:block}.sidebar .logo{display:none}.sidebar nav{margin:0;display:flex;gap:3px;width:100%;justify-content:space-around}.nav-item{width:42px;min-width:42px;min-height:41px;margin:0;padding:9px}.workspace{width:100%;margin:0}.topbar{height:56px;padding:0 18px}.topbar-tools{gap:9px}.today-date,.topbar-divider{display:none}.main-content{padding:24px 18px 0}.page-heading{align-items:flex-start;gap:12px;margin-bottom:22px}.page-heading h1{font-size:26px}.page-heading p{font-size:11px;line-height:1.8}.eyebrow{font-size:8px;letter-spacing:1.2px}.heading-actions .button{padding:9px 11px;font-size:11px;min-height:37px}.athlete-switch{gap:9px;margin-bottom:18px}.athlete-tab{padding:12px 10px;gap:8px;min-height:75px;align-items:center}.athlete-tab .avatar{width:34px;height:34px;font-size:11px;flex-shrink:0}.athlete-tab strong{font-size:14px}.athlete-tab small{font-size:9px;line-height:1.6;margin-top:3px}.athlete-tab>svg{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.stat-card{padding:15px}.stat-top{font-size:11px}.stat-icon{width:28px;height:28px}.stat-value{font-size:31px;margin-top:8px}.stat-bottom{font-size:9px}.dashboard-grid{gap:18px;margin-bottom:18px}.card{margin-bottom:18px}.card-heading{padding:20px 17px;gap:8px}.card-heading h2{font-size:15px}.card-heading p{font-size:10px}.text-button{font-size:10px;gap:3px}.empty-state{padding:32px 19px;min-height:250px}.empty-state p{font-size:11px}.card-footer{padding:12px 17px;font-size:9px;align-items:flex-start}.card-footer svg{flex-shrink:0;margin-top:2px}.season-card{display:block}.donut{height:150px;width:150px}.donut>div{height:122px;width:122px}.distribution{padding-bottom:22px}.journey-banner{padding:23px 20px;display:block}.journey-banner h3{font-size:16px;line-height:1.7}.journey-banner p{font-size:10px;line-height:1.9}.journey-banner button{margin-top:17px;padding:10px 13px}.dashboard-bottom{grid-template-columns:1fr;gap:10px}.quick-card{flex-direction:row;align-items:center;padding:18px}.quick-card>svg:last-child{display:block}.quick-card strong{font-size:13px}.quick-card span{font-size:11px}.page-footer{font-size:8px;line-height:1.8}.page-footer>span:last-child{display:none}.list-toolbar{padding:20px 17px;display:block}.search-box{margin-top:16px}.list-toolbar p{font-size:10px}.record-table thead{display:none}.record-table,.record-table tbody,.record-table tr,.record-table td{display:block;width:100%}.record-table tr{position:relative;padding:12px 17px;border-top:1px solid var(--line)}.record-table td{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 0;border:0;font-size:12px}.record-table td:before{content:attr(data-label);font-size:11px;color:var(--muted);min-width:45px}.record-table td small{width:100%;text-align:right;margin:0}.record-table td:first-child{padding-right:20px}.record-table .row-arrow{position:absolute;right:10px;top:10px;width:auto;padding:0}.record-table .row-arrow:before{display:none}.record-title{font-size:13px;max-width:230px;text-align:right}.detail-grid{grid-template-columns:1fr;padding:0 18px 20px}.inline-actions{gap:5px}.inline-actions .button{font-size:10px;padding:7px 8px}.photo-content{margin:0 18px}.photo-actions{padding:17px}.form-grid{grid-template-columns:1fr;gap:18px}.dialog-heading{padding:21px 20px}.dialog-body{padding:22px 20px}.dialog-footer{padding:16px 20px}.dialog-footer>span{display:none}.dialog-footer>div{width:100%;justify-content:flex-end}.editor-dialog{max-width:calc(100% - 24px)}.filter-bar{align-items:flex-start;flex-direction:column;font-size:11px}.filter-bar select{min-width:110px}.toast-region{bottom:16px;right:16px;left:16px}.toast{font-size:12px}.recent-item{padding:16px;gap:10px}.recent-info strong{font-size:12px}.recent-info small{font-size:9px}.recent-item>svg{display:none}.recent-result{min-width:47px}.date-square{width:40px;min-width:40px}.login-page{display:block}.login-story{padding:25px 24px 28px}.login-copy{margin:35px 0 0}.login-copy h1{font-size:29px;margin:15px 0}.login-copy p{font-size:12px}.mat-illustration,.login-copy>small{display:none}.login-panel{padding:35px 24px 45px;min-height:450px}.login-box{max-width:420px}.theme-login{color:#fff;top:22px;right:18px}.photo-card .card-heading{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.mobile-menu{display:none;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:34px;height:34px}.mobile-menu>div{position:absolute;z-index:20;right:0;top:42px;width:150px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0002;padding:6px}.mobile-menu button{text-align:left;font-size:13px;padding:12px}.mobile-menu button:hover{background:var(--soft)}@media(max-width:850px){.mobile-menu{display:block}}.athlete-switch{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.athlete-add{justify-content:center;min-height:86px;border-style:dashed;color:var(--navy)}.athlete-add:hover{background:var(--soft)}.match-records{padding:0 24px 24px}.match-record{border:1px solid var(--line);border-radius:8px;margin-bottom:18px;padding:21px;background:var(--surface)}.match-record:last-child{margin-bottom:0}.match-record-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:17px;border-bottom:1px solid var(--line)}.match-player{display:flex;gap:8px;align-items:center;font-size:15px;font-weight:700;margin-bottom:9px}.match-player>svg{color:var(--muted)}.match-record h3 .record-title{font-size:14px}.match-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px 22px;margin:21px 0}.match-facts dt,.match-written dt{font-size:12px;color:var(--muted);margin-bottom:8px}.match-facts dd,.match-written dd{margin:0;font-size:14px;line-height:1.9;overflow-wrap:anywhere;white-space:pre-wrap}.match-written{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:17px;border-top:1px solid var(--line);padding-top:20px}.match-written>div:last-child{grid-column:1/-1}.inline-link{padding:0;text-decoration:underline;color:var(--navy);text-align:left}.match-written a{overflow-wrap:anywhere}.match-record .text-button{min-height:34px}.match-record-heading>div{min-width:0}.match-written dd{font-size:16px}.record-table td[data-label=비고]{white-space:pre-wrap;overflow-wrap:anywhere;max-width:330px}@media(max-width:1100px){.match-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.athlete-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.athlete-add{min-height:75px}.sidebar nav{gap:0}.nav-item{min-width:38px;width:38px}.match-records{padding:0 15px 18px}.match-record{padding:17px}.match-facts{grid-template-columns:1fr;gap:15px}.match-written{grid-template-columns:1fr}.match-record h3 .record-title{text-align:left;max-width:none}.match-record-heading .text-button{font-size:10px;white-space:nowrap;flex-shrink:0}.match-player{font-size:14px;flex-wrap:wrap}.athlete-add strong{font-size:13px}}.all-athletes strong{white-space:nowrap}.entry-group{border-top:1px solid var(--line)}.entry-group .card-heading{background:var(--soft);padding:16px 24px}.entry-group h3{margin:0}.entry-group .card-heading>span{font-size:12px;color:var(--muted)}.match-row-scroll{width:100%;overflow-x:auto}.match-row-table{width:max-content;min-width:100%;border-collapse:collapse}.match-row-table th,.match-row-table td{padding:14px 18px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);font-size:13px}.match-row-table th{background:var(--soft);color:var(--muted)}.match-row-table .match-record{border:0;border-radius:0;margin:0;padding:0;background:var(--surface)}.match-row-table td button,.match-row-table td a{white-space:nowrap}.match-row-table .record-title{max-width:none}.match-row-table .match-record:hover{background:var(--soft)}@media(max-width:600px){.entry-group .card-heading{padding:14px 17px;flex-wrap:wrap}.match-row-table th,.match-row-table td{padding:12px 14px}}.rank-medal{font-size:18px;margin-left:6px;vertical-align:middle}.account-card{padding:0 24px 24px}.account-card .card-heading{padding-left:0;padding-right:0}.account-card form .button{margin-top:20px}.account-card>div[role=status]{color:var(--green);margin:12px 0}.account-card .error-banner{margin-top:16px}.signup-toggle{width:100%;justify-content:center;margin-top:12px}.account-empty{padding:24px;color:var(--muted)}.entry-search-box{width:min(100%,540px);flex-shrink:0;min-height:44px}.entry-search-box>span{white-space:nowrap;font-size:12px;font-weight:700}.entry-search-box input{min-width:0;width:100%}@media(max-width:1100px){.list-toolbar:has(.entry-search-box){flex-wrap:wrap}.entry-search-box{width:100%}}.logout-button{min-height:34px;font-size:12px;white-space:nowrap;gap:6px;padding:7px 10px}@media(max-width:600px){.topbar-tools{gap:5px}.logout-button{font-size:11px;padding:6px 8px}}.match-tournament-group{border-top:1px solid var(--line)}.match-tournament-group>.card-heading{background:var(--soft);padding:16px 24px}.match-tournament-group h3{margin:0}.match-tournament-group .card-heading>span,.match-entry-heading>span{font-size:12px;color:var(--muted)}.match-entry-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--line)}.match-entry-heading .inline-link{font-size:13px;font-weight:700}.match-entry-group{min-width:0}@media(max-width:600px){.match-tournament-group>.card-heading,.match-entry-heading{padding:14px 17px;flex-wrap:wrap}}.opponent-picker{position:relative}.opponent-search-input{display:flex;align-items:center;gap:4px}.opponent-search-input input{min-width:0;flex:1}.opponent-results{position:absolute;z-index:30;top:74px;left:0;right:0;max-height:240px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 24px #0002;padding:4px}.opponent-results button{display:block;width:100%;text-align:left;padding:11px 10px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.opponent-results button:hover,.opponent-results button[aria-selected=true]{background:var(--soft);color:var(--navy)}.opponent-no-results{padding:12px;color:var(--muted);font-size:12px;line-height:1.8}.opponent-picker>.field-hint{margin-top:6px}.athlete-tab .avatar{overflow:hidden;flex-shrink:0}.athlete-tab .avatar img{width:100%;height:100%;object-fit:cover;display:block}.workspace-label{overflow-wrap:anywhere;white-space:normal}.pagination{gap:12px;flex-wrap:wrap}.pagination>div{flex-wrap:wrap;align-items:center}.page-number{min-width:32px;height:32px;border:1px solid var(--line);border-radius:5px;color:var(--text);font-size:12px;padding:0 8px}.page-number:hover{background:var(--soft)}.page-number.active{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:700}.page-number:disabled{opacity:.5;cursor:wait}.place-search{display:grid;gap:14px}.place-search-input{display:flex;gap:8px}.place-search-input input{min-width:0}.place-results{padding:0;margin:0;list-style:none;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:6px}.place-results li{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid var(--line)}.place-results li>button{flex:1;text-align:left;display:grid;gap:5px}.place-results span,.place-results a{font-size:12px;color:var(--muted)}.spodam-illustration>span{font-size:74px;letter-spacing:-3px;transform:none;color:#fff2}.spodam-growth{position:absolute;bottom:30px;display:flex;align-items:flex-end;gap:10px;height:70px}.spodam-growth i{display:block;width:38px;border-radius:5px 5px 0 0;background:#c59b5450;height:22px}.spodam-growth i:nth-child(2){height:36px}.spodam-growth i:nth-child(3){height:51px}.spodam-growth i:nth-child(4){height:68px;background:#c59b54}.place-map{width:100%;height:280px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--soft)}.place-map-section{min-width:0}.place-map-section .field-hint{margin-top:8px}.match-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,220px));gap:16px;margin:16px 0}.match-photo-grid img{width:100%;height:170px;object-fit:contain;background:var(--soft);border-radius:8px;border:1px solid var(--line)}.match-photo-grid .button{margin-top:8px}.yearly-stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.yearly-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.opponent-stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.opponent-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.head-to-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0}.head-to-head .versus{color:var(--muted);font-size:11px}.head-to-head small{flex-basis:100%;margin-top:0}.idle-logout-dialog{max-width:440px}.guest-view main .button,.guest-view .photo-actions,.guest-view .belt-history form,.guest-view .inline-actions,.guest-view .journey-banner button{display:none}.guest-view .heading-actions .secondary{display:inline-flex}.guest-view main label.button,.guest-view main form{display:none}.password-rules{font-size:12px;line-height:1.6;margin:8px 0;color:var(--muted)}.password-rules p{margin:4px 0}.password-rules ul{list-style:none;padding:0;margin:4px 0;display:flex;flex-wrap:wrap;gap:4px 14px}.password-rules .met{color:var(--green)}.password-rules .unmet{color:var(--muted)}@media(min-width:701px){.sidebar{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}.sidebar>*{flex-shrink:0}}.deployment-manager{display:grid;gap:24px}.deploy-form{display:grid;gap:16px}.deploy-form textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:inherit;font:inherit}.deploy-table-wrap{overflow:auto}.deploy-actions{display:flex;flex-wrap:wrap;gap:8px}.deploy-notes{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;padding:20px;max-height:40vh;overflow:auto}.deploy-dialog{width:min(760px,94vw);max-height:92vh;overflow:auto}.deploy-log{white-space:pre-wrap;overflow-wrap:anywhere;background:#111827;color:#e5e7eb;padding:16px;border-radius:10px;max-height:420px;overflow:auto;font-size:12px}.deployment-manager table td,.deployment-manager table th{padding:14px;text-align:left}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b172b99;z-index:1000;display:grid;place-items:center;padding:20px}.deployment-manager .deploy-form textarea{border-color:var(--line)}.spodam-brand-icon{width:42px;height:42px;object-fit:cover;flex-shrink:0}.spodam-hero-image{display:block;width:100%;max-width:480px;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px;margin:28px 0 20px}@media(max-width:600px){.spodam-hero-image{max-width:320px;margin:20px auto 0}}.ops-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.ops-toolbar span{color:var(--muted);font-size:12px}.ops-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.ops-metrics strong{font-size:26px}.admin-operations>.card{margin-bottom:20px}.ops-alert{border-top:1px solid var(--line);padding:18px 0}.ops-alert .button{margin-left:12px}@media(max-width:600px){.ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-metrics strong{font-size:20px}}
