:root{--navy:#132b4f;--blue:#2563a8;--sky:#e8f1fb;--ink:#172033;--muted:#64748b;--line:#d5dde8;--paper:#fff;--bg:#f4f7fb;--danger:#c93636;--warn:#fff0ce;--active:#d7e9ff;--cell:34px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif}.app-header{display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:white;padding:14px 16px}.eyebrow{font-size:10px;letter-spacing:.18em;margin:0;opacity:.7}.app-header h1{font-size:20px;margin:0}.icon-btn{width:42px;height:42px;border:1px solid #ffffff55;background:#ffffff10;color:white;border-radius:10px;font-size:22px}.steps{display:grid;grid-template-columns:repeat(3,1fr);position:sticky;top:0;z-index:10;background:white;border-bottom:1px solid var(--line)}.steps button{border:0;border-bottom:3px solid transparent;background:white;padding:13px 4px;color:var(--muted);font-weight:700}.steps button.active{color:var(--blue);border-color:var(--blue)}main{max-width:1050px;margin:auto}.view{display:none;padding:16px}.view.active{display:block}h2{font-size:17px;margin:0}p{margin:4px 0;color:var(--muted);font-size:13px}button,.file-button,input,select{font:inherit}button,.file-button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:9px 12px;font-weight:700}button.primary,.primary{background:var(--blue);color:white;border-color:var(--blue)}button.danger{color:var(--danger)}button:disabled{opacity:.45}.full{width:100%}.next-btn{margin-top:16px;padding:14px}.toolbar{display:grid;grid-template-columns:2fr 1fr;gap:10px;background:white;padding:12px;border:1px solid var(--line);border-radius:12px}.toolbar label,dialog label{display:grid;gap:4px;color:var(--muted);font-size:12px}input,select{min-width:0;width:100%;border:1px solid var(--line);border-radius:8px;padding:9px;background:white;color:var(--ink)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:22px 0 9px}.template-row{display:grid;grid-template-columns:1fr auto auto;gap:8px}.roster-list{display:grid;gap:8px}.roster-card{display:grid;grid-template-columns:auto minmax(100px,1fr) 70px 68px;align-items:center;gap:8px;background:white;border:1px solid var(--line);border-radius:11px;padding:9px}.roster-card.absent{opacity:.52}.attendance{width:24px;height:24px}.player-main strong{display:block}.player-main small{color:var(--muted)}.edit-sticky{position:sticky;top:47px;background:var(--bg);z-index:8;padding:4px 0 10px}.quarter-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.quarter-tabs button.active{background:var(--navy);color:white}.edit-summary{display:flex;justify-content:space-between;align-items:center;margin-top:9px;font-weight:800}.warning-pill{background:var(--warn);color:#8a5b00;border-radius:999px;padding:4px 9px}.gesture-help{text-align:center}.rotation-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:12px}.rotation-grid{display:grid;grid-template-columns:minmax(116px,1fr) repeat(10,var(--cell)) 48px;min-width:520px;user-select:none;touch-action:pan-y}.grid-cell{min-height:42px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:13px}.grid-cell.name{justify-content:flex-start;padding:6px 8px;position:sticky;left:0;background:white;z-index:2}.grid-cell.header{background:var(--navy);color:white;font-weight:800;min-height:34px}.grid-cell.minute{cursor:pointer}.grid-cell.minute.on{background:var(--active);box-shadow:inset 0 -4px 0 var(--blue)}.grid-cell.minute.over{background:#ffe4e4}.grid-cell.total{font-weight:800;background:#f8fafc}.warnings{display:grid;gap:7px;margin-top:10px}.warning-item{background:var(--warn);border-left:4px solid #d39114;padding:9px;border-radius:5px;font-size:13px}.warning-item.danger{background:#ffe5e5;border-color:var(--danger)}.share-sheet{background:white;border:1px solid var(--line);padding:14px;overflow-x:auto}.share-quarter{margin-bottom:18px;min-width:730px}.share-quarter h3{margin:0 0 6px}.timeline{display:grid;grid-template-columns:150px repeat(10,1fr) 45px}.timeline>div{min-height:30px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px}.timeline .label{justify-content:flex-start;font-weight:700;padding-right:6px}.timeline .bar{background:var(--blue);color:white;margin:4px 0;border-radius:999px;min-height:22px;font-size:11px;white-space:nowrap}.timeline .empty{background:transparent}.share-actions{display:flex;gap:8px;margin-top:12px}.share-actions>*{flex:1}dialog{width:min(92vw,420px);border:0;border-radius:14px;padding:18px;box-shadow:0 18px 60px #0004}dialog::backdrop{background:#0b173066}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dialog-head button{border:0;font-size:20px}.dialog-actions{display:grid;gap:9px}#playerForm{display:grid;gap:12px}@media(max-width:560px){.view{padding:12px}.toolbar{grid-template-columns:1fr}.roster-card{grid-template-columns:auto minmax(90px,1fr) 62px 60px}.roster-card select{padding:8px 4px}.section-head{align-items:center}.section-head p{max-width:210px}}@media print{body{background:white}.app-header,.steps,.no-print,#setupView,#editView{display:none!important}#shareView{display:block!important;padding:0}.share-sheet{border:0;padding:0}.share-quarter{break-inside:avoid;margin-bottom:10px}.timeline>div{min-height:24px}@page{size:A4 landscape;margin:8mm}}
