.score-count-row{display:grid;grid-template-columns:minmax(70px,1fr) 44px 64px 44px;gap:8px;align-items:center;padding:5px 0;border-bottom:1px solid #ffffff16}
.score-count-row .set-in{width:100%;height:44px;margin:0;text-align:center;font-size:16px}
.score-count-row .cal-btn{width:44px!important;min-height:44px;border-radius:12px;touch-action:manipulation}
.score-count-row .set-lbl{font-size:14px;min-width:0}
.save-dock{position:fixed;z-index:190;bottom:calc(60px + env(safe-area-inset-bottom,0px));left:0;right:0;width:min(100%,760px);margin:0 auto;padding:10px 14px;background:#111b36;border:1px solid #e4bb4a55;box-shadow:0 -8px 24px #0005;display:flex;align-items:center;gap:12px}
.save-dock .btn{width:auto;flex:0 0 auto;min-height:44px;padding:10px 14px}
.save-dock .dock-summary{flex:1;min-width:0;font-size:14px;font-weight:800}
.save-dock small{display:block;font-size:12px;font-weight:500;color:#c2cee8;line-height:1.4}
.score-form{padding-bottom:85px}
.draft-note{font-size:13px;line-height:1.5;color:#c2cee8;margin:8px 0}
.rank-controls{display:grid;gap:10px;margin-bottom:14px}
.rank-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:end}
.rank-filters label{flex:1;min-width:120px;font-size:13px}
.rank-filters button{min-height:44px}
.ranking-results{display:grid;gap:8px}
.ranking-results .shooter-score-card{margin:0}
.ranking-results details{padding-top:8px;font-size:13px;color:#c2cee8;line-height:1.6}
.ranking-results summary{cursor:pointer;min-height:32px;display:list-item}
.rank-count{color:#c2cee8;font-size:13px;margin:0}
.home-grid{display:grid;gap:12px}
.home-hero{padding:22px;background:linear-gradient(130deg,#202e54,#111a32);border:1px solid #e4bb4a55;border-radius:22px}
.home-hero h2{font-size:25px;margin:6px 0 10px;overflow-wrap:anywhere}
.home-hero p{color:#c2cee8;line-height:1.5}
.home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.home-stats .stat-val{font-size:24px}
.home-stats .stat-card{min-width:0;padding:14px 5px}
.home-stats .stat-lbl{font-size:11px;letter-spacing:.02em;overflow-wrap:anywhere}
.home-stage{padding:10px 0;border-bottom:1px solid #ffffff16;display:flex;justify-content:space-between;gap:12px}
.home-round{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ffffff16;font-size:14px}
.trend-bars{display:flex;align-items:end;gap:10px;height:130px;padding-top:10px}
.trend-column{height:100%;display:flex;flex:1;flex-direction:column;justify-content:end;align-items:center;gap:5px;font-size:12px;color:#c2cee8;min-width:0}
.trend-bar{width:100%;max-width:52px;background:linear-gradient(#f0cc60,#b99129);border-radius:6px 6px 0 0;min-height:2px}
.app .hint,.app .set-sub{font-size:13px;line-height:1.5}
.app input,.app select{scroll-margin-bottom:170px}
.app button:focus-visible,.app summary:focus-visible{outline:2px solid #f0cc60;outline-offset:3px}
@media(max-width:430px){.save-dock .btn{font-size:13px;max-width:50%;white-space:normal}.score-count-row{gap:6px}.app .txt-in{font-size:16px}.home-hero{padding:18px}.bnav-btn{font-size:11px}}
@media(prefers-reduced-motion:reduce){.app *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.app .bottomnav{width:min(100%,760px)}
.app:has(.save-dock) .toast{bottom:calc(150px + env(safe-area-inset-bottom,0px))}
