.index-main{font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,sans-serif}.index-top{padding:2rem;max-width:640px;margin:0 auto}.index-top h2{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:#1a202c}.btn-register{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#1a365d,#2c5282);color:#fff;text-decoration:none;border-radius:14px;font-size:1.125rem;font-weight:600;border:none;cursor:pointer;box-shadow:0 4px 14px #1a365d59;transition:transform .2s,box-shadow .2s}.btn-register:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1a365d66}.index-list-section{margin-top:2rem}.index-list-section h2{font-size:1.125rem;font-weight:600;margin-bottom:1rem;color:#1a202c}.index-list{display:flex;flex-direction:column;gap:.75rem}.index-list-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.25rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(0,0,0,.04);transition:box-shadow .2s}.index-list-item:hover{box-shadow:0 4px 16px #00000014}.index-list-item-info{flex:1;min-width:120px}.index-list-item-name{font-weight:600;font-size:1rem;margin-bottom:.25rem;color:#1a202c}.index-list-item-meta{font-size:.8125rem;color:#718096}.index-list-item-actions{display:flex;gap:.5rem;flex-wrap:wrap}.index-list-item-actions a,.index-list-item-actions button{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:10px;text-decoration:none;border:none;cursor:pointer;transition:transform .15s,opacity .15s}.index-list-item-actions a:hover,.index-list-item-actions button:hover{transform:translateY(-1px);opacity:.95}.btn-start{background:linear-gradient(135deg,#3182ce,#2b6cb0);color:#fff;box-shadow:0 2px 8px #3182ce4d}.btn-start:hover{color:#fff}.btn-view{background:linear-gradient(135deg,#38a169,#2f855a);color:#fff;box-shadow:0 2px 8px #38a1694d}.btn-view:hover{color:#fff}.btn-court-select{background:linear-gradient(135deg,#805ad5,#6b46c1);color:#fff;box-shadow:0 2px 8px #805ad54d}.btn-court-select:hover{color:#fff}.btn-reset{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.btn-reset:hover{background:#edf2f7}.btn-delete{background:#fff;color:#e53e3e;border:1px solid #fc8181}.btn-delete:hover{background:#fff5f5}.index-list-empty{padding:2.5rem;text-align:center;color:#718096;background:#fff;border-radius:12px;font-size:.9375rem;box-shadow:0 2px 8px #0000000a}.index-form-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;z-index:100;padding:1rem;animation:fadeIn .25s ease-out}.index-form-overlay.show{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.index-form-box{background:#fff;border-radius:20px;max-width:420px;width:100%;overflow:hidden;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;animation:slideUp .35s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.index-form-box .form-header{background:linear-gradient(135deg,#1a365d,#2d3748);padding:1.5rem 1.75rem;color:#fff}.index-form-box .form-header h2{font-size:1.25rem;font-weight:700;margin:0}.index-form-box .form-header p{font-size:.8125rem;margin:.375rem 0 0;opacity:.85}.index-form-box .form-body{padding:1.75rem 1.75rem 1.5rem}.index-form-box .form-group{margin-bottom:1.25rem}.index-form-box .form-group:last-of-type{margin-bottom:0}.index-form-box label{display:block;font-size:.8125rem;font-weight:600;color:#374151;margin-bottom:.5rem}.index-form-box .required{color:#e53e3e;font-size:.75rem;font-weight:500}.index-form-box input{width:100%;padding:.75rem 1rem;font-size:1rem;font-family:inherit;border:2px solid #e5e7eb;border-radius:12px;background:#fafafa;transition:border-color .2s,background .2s,box-shadow .2s}.index-form-box input:hover{border-color:#d1d5db;background:#fff}.index-form-box input:focus{outline:none;border-color:#3182ce;background:#fff;box-shadow:0 0 0 4px #3182ce26}.index-form-box input::placeholder{color:#9ca3af}.index-form-box .form-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #f3f4f6}.index-form-box .btn-submit{flex:1;padding:.875rem 1.5rem;background:linear-gradient(135deg,#3182ce,#2b6cb0);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #3182ce59;transition:transform .15s,box-shadow .15s}.index-form-box .btn-submit:hover{transform:translateY(-1px);box-shadow:0 6px 20px #3182ce66}.index-form-box .btn-cancel{padding:.875rem 1.25rem;background:#f3f4f6;color:#4b5563;border:none;border-radius:12px;font-size:.9375rem;font-weight:500;cursor:pointer}.index-form-box .btn-cancel:hover{background:#e5e7eb}.index-complete-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;z-index:100;padding:1rem;animation:fadeIn .25s ease-out}.index-complete-overlay.show{display:flex}.index-complete-box{background:#fff;padding:2rem;border-radius:20px;max-width:380px;width:100%;text-align:center;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .35s ease-out}.index-complete-box h2{font-size:1.25rem;font-weight:700;margin:0 0 .5rem;color:#1a202c}.index-complete-box p{margin-bottom:1.5rem;color:#4a5568;font-size:.9375rem}.index-complete-actions{display:flex;flex-direction:column;gap:.75rem}.index-complete-actions a,.index-complete-actions button{display:block;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border-radius:12px;text-decoration:none;border:none;cursor:pointer;transition:transform .15s}.index-complete-actions a:hover,.index-complete-actions button:hover{transform:translateY(-1px)}.btn-complete-start{background:linear-gradient(135deg,#3182ce,#2b6cb0);color:#fff;box-shadow:0 4px 14px #3182ce59}.btn-complete-start:hover{color:#fff}.btn-complete-back{background:#f3f4f6;color:#4b5563}.btn-complete-back:hover{background:#e5e7eb}.operator-main{padding:1.5rem;max-width:1200px;margin:0 auto}.court-section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.btn-back{display:inline-block;padding:.5rem 1rem;background:#718096;color:#fff;text-decoration:none;border-radius:8px}.btn-back:hover{background:#4a5568;color:#fff}.current-tournament{margin:0;font-weight:700}.court-grid{background:#f7fafc;padding:1rem;border-radius:8px}.courts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.courts-venue-layout{display:flex;flex-direction:column;align-items:center;gap:1rem}.courts-venue-layout .courts-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.courts-venue-layout .court-card{flex:0 0 auto;min-width:160px;max-width:200px}.court-card{background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.court-card-header{background:var(--card-header-bg);color:var(--card-header-text);padding:.75rem;font-weight:700;text-align:center}.court-card-body{padding:1rem}.court-current{font-size:.9rem;color:#4a5568;margin-bottom:.75rem;text-align:center}.court-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.75rem}.court-controls button{width:40px;height:40px;border:1px solid #e2e8f0;background:var(--btn-control);color:#fff;border-radius:8px;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.court-controls button:hover{background:var(--btn-control-hover)}.court-controls button:active{transform:scale(.95)}.court-controls input{width:60px;height:40px;text-align:center;font-size:1.25rem;border:2px solid #e2e8f0;border-radius:8px}.court-controls input:focus{outline:none;border-color:var(--btn-update)}.btn-update{width:100%;padding:.75rem;background:var(--btn-update);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn-update:hover{background:var(--btn-update-hover)}.btn-update:active{transform:scale(.98)}@media (min-width: 768px){.courts:not(.courts-venue-layout){grid-template-columns:repeat(5,1fr)}.court-controls button{width:48px;height:48px;font-size:1.5rem}.court-controls input{width:70px;height:48px;font-size:1.5rem}}.view-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a202c,#2d3748);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Meiryo,sans-serif}.view-header{background:linear-gradient(135deg,#1a365d,#2c5282);color:#fff;padding:1rem 2rem;text-align:center;box-shadow:0 4px 20px #0000004d;border-bottom:3px solid rgba(255,255,255,.2)}.view-title{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;margin:0;letter-spacing:.05em;text-shadow:0 2px 4px rgba(0,0,0,.3)}.view-tournament-name{font-size:clamp(.9rem,2vw,1.125rem);margin:.5rem 0 0;opacity:.9}.view-main{flex:1;padding:1rem 2rem;display:flex;align-items:center;justify-content:center;min-height:0}.view-courts{display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,2vw,2rem);max-width:100%;width:100%;min-height:300px}.view-courts-row{display:flex;flex-wrap:nowrap;justify-content:center;gap:clamp(.75rem,1.5vw,1.5rem)}.view-courts-row-top,.view-courts-row-bottom{max-width:100%}.view-court-block{flex-shrink:0;--match-font-size: clamp(1.5rem, 4vw, 4rem);width:clamp(140px,14vw,280px);aspect-ratio:1.15;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:16px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);box-shadow:0 8px 24px #00000040;transition:transform .2s,box-shadow .2s}.view-court-block:hover{transform:scale(1.02)}.view-court-block.court-updated{animation:court-blink 1.5s ease-out}@keyframes court-blink{0%{transform:scale(1.08);box-shadow:0 0 40px #ffffffe6}30%{transform:scale(1.12);box-shadow:0 0 60px #fff}to{transform:scale(1);box-shadow:0 8px 24px #00000040}}.view-court-label{font-size:calc(var(--match-font-size) * .67);font-weight:700;margin-bottom:.25rem;letter-spacing:.05em}.view-court-match{font-size:var(--match-font-size);font-weight:800;letter-spacing:.02em;line-height:1.1;white-space:nowrap}.view-court-block.view-court-num-1,.view-court-block.view-court-num-6,.view-court-block.view-court-num-11{background:linear-gradient(145deg,#3182ce,#2b6cb0)}.view-court-block.view-court-num-2,.view-court-block.view-court-num-7{background:linear-gradient(145deg,#e53e3e,#c53030)}.view-court-block.view-court-num-3,.view-court-block.view-court-num-8{background:linear-gradient(145deg,#d69e2e,#b7791f)}.view-court-block.view-court-num-4,.view-court-block.view-court-num-9{background:linear-gradient(145deg,#38a169,#2f855a)}.view-court-block.view-court-num-5,.view-court-block.view-court-num-10{background:linear-gradient(145deg,#805ad5,#6b46c1)}.view-footer{padding:.75rem 1.5rem;background:#0000004d;display:flex;align-items:center;justify-content:space-between}.view-back-link{color:#ffffffb3;text-decoration:none;font-size:.875rem;padding:.5rem 1rem;border-radius:8px;transition:background .2s,color .2s}.view-back-link:hover{color:#fff;background:#ffffff1a}.view-fullscreen-btn{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fffc;padding:.5rem .75rem;border-radius:8px;font-size:1.25rem;cursor:pointer;transition:background .2s,color .2s}.view-fullscreen-btn:hover{background:#ffffff26;color:#fff}@media (min-width: 1920px){.view-main{padding:1rem 2rem}.view-courts,.view-courts-row{gap:1.5rem}.view-court-block{width:280px;aspect-ratio:1.2;--match-font-size: 3.5rem}.view-court-match{font-size:3.5rem}}@media (min-width: 1200px) and (max-width: 1919px){.view-courts-row{gap:1.25rem}.view-court-block{width:200px;aspect-ratio:1.12;--match-font-size: 2.5rem}.view-court-match{font-size:2.5rem}}@media (min-width: 1600px) and (max-width: 1919px){.view-court-block{width:240px;--match-font-size: 3rem}.view-court-match{font-size:3rem}}@media (min-width: 2000px){.view-courts,.view-courts-row{gap:2rem}.view-court-block{width:320px;--match-font-size: 4.5rem}.view-court-match{font-size:4.5rem}}.court-select-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a202c,#2d3748);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Meiryo,sans-serif}.court-select-header{background:linear-gradient(135deg,#1a365d,#2c5282);color:#fff;padding:1rem 1.5rem;text-align:center;box-shadow:0 4px 20px #0000004d}.court-select-back{display:inline-block;color:#ffffffd9;text-decoration:none;font-size:.875rem;margin-bottom:.5rem}.court-select-back:hover{color:#fff}.court-select-title{font-size:1.5rem;font-weight:700;margin:0}.court-select-tournament{font-size:.9rem;margin:.25rem 0 0;opacity:.9}.court-select-main{flex:1;padding:1.5rem;max-width:480px;margin:0 auto;width:100%}.court-select-desc{color:#ffffffe6;font-size:1rem;margin:0 0 1rem}.court-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;margin-bottom:1rem}.court-select-btn{padding:1rem;font-size:1rem;font-weight:600;border-radius:12px;border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s}.court-select-btn:hover{background:#fff3;border-color:#ffffff80}.court-select-btn.selected{border-color:#fff;box-shadow:0 0 0 2px #ffffff80}.court-select-btn.court-num-1.selected,.court-select-btn.court-num-6.selected,.court-select-btn.court-num-11.selected{background:linear-gradient(145deg,#3182ce,#2b6cb0)}.court-select-btn.court-num-2.selected,.court-select-btn.court-num-7.selected{background:linear-gradient(145deg,#e53e3e,#c53030)}.court-select-btn.court-num-3.selected,.court-select-btn.court-num-8.selected{background:linear-gradient(145deg,#d69e2e,#b7791f)}.court-select-btn.court-num-4.selected,.court-select-btn.court-num-9.selected{background:linear-gradient(145deg,#38a169,#2f855a)}.court-select-btn.court-num-5.selected,.court-select-btn.court-num-10.selected{background:linear-gradient(145deg,#805ad5,#6b46c1)}.court-select-count{color:#ffffffd9;font-size:.9rem;margin:0 0 1rem}.court-select-confirm{width:100%;padding:1rem 1.5rem;font-size:1.125rem;font-weight:600;border-radius:12px;border:none;background:linear-gradient(135deg,#38a169,#2f855a);color:#fff;cursor:pointer;box-shadow:0 4px 14px #38a16959;transition:transform .15s,box-shadow .15s}.court-select-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 20px #38a16966}.view-selected-page .view-selected-main{align-items:stretch;padding:1rem}.view-selected-courts{display:flex;flex-direction:column;align-items:stretch;gap:1rem;max-width:100%;width:100%}.view-selected-courts .view-court-block{width:100%;max-width:100%;aspect-ratio:2.5;min-height:80px}.view-selected-courts .view-court-label{font-size:calc(var(--match-font-size) * .67)}.view-selected-courts .view-court-match{font-size:var(--match-font-size)}@media (max-width: 768px),(orientation: portrait){.view-selected-courts{gap:.75rem;padding:0 .5rem}.view-selected-courts .view-court-block{--match-font-size: 2.5rem;aspect-ratio:3;min-height:70px}.view-selected-page .view-header{padding:.75rem 1rem}.view-selected-page .view-title{font-size:1.25rem}.view-selected-page .view-tournament-name{font-size:.85rem}}@media (min-width: 769px) and (max-width: 1024px){.view-selected-courts{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.view-selected-courts .view-court-block{width:100%}}@media (min-width: 1025px){.view-selected-courts{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:1rem;max-width:1200px}.view-selected-courts .view-court-block{flex:0 0 auto;width:clamp(180px,20vw,280px)}}:root{--header-bg: #1a365d;--header-text: #fff;--card-header-bg: #63b3ed;--card-header-text: #fff;--card-bg: #fff;--btn-update: #3182ce;--btn-update-hover: #2c5282;--btn-control: #718096;--btn-control-hover: #4a5568;--page-bg: #e8f5e9}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Meiryo,sans-serif;background:var(--page-bg)}.app-header{background:var(--header-bg);color:var(--header-text);padding:1rem 1.5rem;font-size:1.25rem;font-weight:700}.display-top-header{display:flex;align-items:center;justify-content:space-between}.display-top-admin-link{font-size:.875rem;font-weight:500;color:#ffffffd9;text-decoration:none}.display-top-admin-link:hover{color:#fff}.nav-links{display:flex;gap:1rem;padding:.5rem 1rem;background:#2d3748}.nav-links a{color:#90cdf4;text-decoration:none;padding:.25rem .5rem}.nav-links a:hover,.nav-links a.active{color:#fff}
