body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.duel-gui{background:linear-gradient(135deg,#0a0a0a,#1a1a1a);overflow:hidden}.duel-gui,.duel-gui-loading{color:#fff;display:flex;flex-direction:column;height:100vh}.duel-gui-loading{align-items:center;background:#1a1a1a;justify-content:center}.spinner{animation:spin 1s linear infinite;border:4px solid #333;border-radius:50%;border-top-color:#007bff;height:50px;margin-bottom:20px;width:50px}.duel-header{align-items:center;background:#2a2a2a;border-bottom:2px solid #333;box-shadow:0 2px 5px #0000004d;display:flex;justify-content:space-between;padding:15px 20px}.duel-header h1{color:#007bff;font-size:20px;font-weight:600;margin:0}.close-button{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;transition:all .2s;width:40px}.close-button:hover{background:#c82333;transform:scale(1.1)}.duel-content{display:flex;flex:1 1;overflow:hidden}.video-section{background:#1f1f1f;border-right:1px solid #333;flex:0 0 400px;padding:15px}.field-section{background:#1a1a1a;display:flex;flex:1 1;flex-direction:column;height:100%;overflow:hidden}.operation-section{background:#1f1f1f;border-left:1px solid #333;flex:0 0 350px;overflow:hidden}@media (max-width:1400px){.duel-content{flex-direction:column}.video-section{border-bottom:1px solid #333;border-right:none;flex:0 0 300px}.field-section{flex:1 1;min-height:0}.operation-section{border-left:none;border-top:1px solid #333;flex:0 0 250px}}@media (max-width:768px){.duel-header{padding:10px 15px}.duel-header h1{font-size:16px}.close-button{font-size:18px;height:35px;width:35px}.video-section{flex:0 0 250px;padding:10px}.operation-section{flex:0 0 200px}.field-section{min-height:500px}}@media (max-width:480px){.duel-content{flex-direction:column}.video-section{flex:0 0 200px;padding:8px}.operation-section{flex:0 0 150px}.field-section{min-height:400px}}.duel-gui ::-webkit-scrollbar{height:8px;width:8px}.duel-gui ::-webkit-scrollbar-track{background:#1a1a1a}.duel-gui ::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.duel-gui ::-webkit-scrollbar-thumb:hover{background:#666}.duel-gui ::-webkit-scrollbar-corner{background:#1a1a1a}.loading-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:999}.error-message{align-items:center;background:#dc3545;border-radius:4px;color:#fff;display:flex;justify-content:space-between;margin:10px;padding:10px 15px}.error-message button{background:none;border:none;color:#fff;cursor:pointer;font-size:18px}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-in-left{animation:slideInLeft .3s ease-out}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.slide-in-right{animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@media (prefers-contrast:high){.duel-gui{background:#000;color:#fff}.duel-header{background:#222;border-bottom-color:#fff}.operation-section,.video-section{background:#111;border-color:#fff}.field-section{background:#000}}@media (prefers-reduced-motion:reduce){.fade-in,.slide-in-left,.slide-in-right,.spinner{animation:none}*{transition:none!important}}.duel-list-container{background:linear-gradient(135deg,#0a0a0a,#1a1a1a);color:#fff;min-height:100vh}.duel-list-content{margin:0 auto;max-width:1200px;padding:20px}.duel-item{background:#2a2a2a;border:1px solid #333;border-radius:8px;box-shadow:0 4px 8px #0000004d;margin-bottom:20px;padding:20px;transition:transform .2s,box-shadow .2s}.duel-item:hover{border-color:#007bff;box-shadow:0 6px 16px #0006;transform:translateY(-2px)}.duel-name{border-bottom:2px solid #333;color:#007bff;font-size:24px;font-weight:600;margin:0 0 15px;padding-bottom:10px;text-align:center}.player-info{background:#1f1f1f;border-left:4px solid #007bff;border-radius:5px;margin:15px 0;padding:15px}.player-line{color:#e0e0e0;font-size:16px;margin:8px 0}.player-line strong{color:#007bff;margin-right:8px}.deck-info{color:#28a745;font-style:italic;margin-left:5px}.action-buttons{border-top:1px solid #333;gap:10px;margin-top:20px;padding-top:15px}.btn{border:none;border-radius:5px;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;min-width:120px;padding:10px 16px;text-align:center;text-decoration:none;transition:all .2s}.btn:hover{box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}.btn-info{background:#17a2b8;color:#fff}.btn-info:hover{background:#117a8b}.btn-back{background:#28a745;color:#fff;font-size:16px;min-width:200px;padding:12px 24px}.btn-back:hover{background:#1e7e34}.file-input{background:#333;border:1px solid #555;border-radius:5px;color:#fff;cursor:pointer;margin-right:10px;padding:8px;transition:border-color .2s}.file-input:focus,.file-input:hover{border-color:#007bff}.file-input:focus{box-shadow:0 0 0 2px #007bff40;outline:none}.download-section{background:#1f1f1f;border:1px solid #28a745;border-radius:5px;margin-top:15px;padding:15px}.download-section h4{color:#28a745;font-size:16px;margin:0 0 10px}.download-link{border:1px solid #28a745;border-radius:4px;color:#28a745;display:inline-block;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s}.download-link:hover{background:#28a745;color:#fff;text-decoration:none}.navigation-section{background:#1f1f1f;border-top:1px solid #333;padding:30px 20px;text-align:center}@media (max-width:768px){.duel-item,.duel-list-content{padding:15px}.action-buttons{flex-direction:column}.btn{margin:5px 0;min-width:100%}.file-input{margin:10px 0;width:100%}}.deck-view-container{background:linear-gradient(135deg,#0a0a0a,#1a1a1a);color:#fff;min-height:100vh}.deck-view-content{margin:0 auto;max-width:1600px;padding:20px}.deck-list-section,.player-selection-section{background:#2a2a2a;border-radius:8px;box-shadow:0 4px 8px #0000004d;margin-bottom:30px;padding:20px;text-align:center}.section-title{border-bottom:2px solid #333;color:#007bff;font-size:20px;font-weight:600;margin:0 0 20px;padding-bottom:10px;text-align:center}.player-grid{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:15px}.player-card{background:#333;border:3px solid #0000;border-radius:8px;cursor:pointer;min-width:100px;padding:10px;text-align:center;transition:all .3s}.player-card:hover{background:#404040;transform:translateY(-2px)}.player-card.selected{background:#1a4480;border-color:#007bff;box-shadow:0 0 15px #007bff80}.player-avatar{background:#2a2a2a;border:2px solid #333;border-radius:50%;box-shadow:0 2px 4px #00000080;height:80px;object-fit:cover;transition:all .3s;width:80px}.player-card:hover .player-avatar{border-color:#007bff}.player-name{color:#e0e0e0;font-size:14px;font-weight:500;margin-top:8px}.deck-item{background:#333;border:1px solid #444;border-radius:8px;box-shadow:0 4px 8px #0000004d;margin:0 auto 20px;max-width:900px;padding:20px;text-align:center;transition:all .3s}.deck-item:hover{border-color:#007bff;transform:translateY(-2px)}.deck-name{color:#007bff;font-size:22px;font-weight:600;margin:0 0 15px;text-align:center}.deck-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:15px}.deck-images-inline{align-items:center;display:flex;gap:8px}.deck-name-inline{color:#007bff;font-size:22px;font-weight:600;margin:0}.deck-illust-small,.deck-player-image-small,.deck-sleeve-small{background:#2a2a2a;border:2px solid #555;border-radius:4px;box-shadow:0 2px 4px #00000080;cursor:pointer;transition:all .3s}.deck-player-image-small{border-radius:50%;height:40px;object-fit:cover;width:40px}.deck-illust-small,.deck-sleeve-small{height:40px;object-fit:cover;width:30px}.deck-illust-small:hover,.deck-player-image-small:hover,.deck-sleeve-small:hover{border-color:#007bff;box-shadow:0 4px 8px #007bff80;transform:scale(1.1)}.deck-images{background:#1a1a1a;border:1px solid #333;border-radius:8px;display:flex;gap:15px;justify-content:center;margin:15px 0;padding:15px}.deck-illust,.deck-player-image,.deck-sleeve{background:#2a2a2a;border:2px solid #555;border-radius:4px;box-shadow:0 2px 4px #00000080;transition:all .3s}.deck-player-image{border-radius:50%;height:80px;object-fit:cover;width:80px}.deck-illust,.deck-sleeve{cursor:pointer;height:80px;object-fit:cover;width:60px}.deck-images img:hover{border-color:#007bff;box-shadow:0 4px 8px #007bff80;transform:scale(1.1)}.deck-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.deck-detail-container{background:#1f1f1f;margin-top:20px}.deck-detail-container,.deck-detail-section{border:2px solid #007bff;border-radius:8px;padding:20px}.deck-detail-section{background:#2a2a2a;box-shadow:0 4px 8px #0000004d;margin-top:30px}.deck-control-buttons{border-top:1px solid #333;display:flex;gap:15px;justify-content:center;margin-top:20px;padding-top:20px}.deck-detail-name{color:#007bff;font-size:24px;font-weight:600;margin:0 0 20px;text-align:center}.card-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));margin-top:20px}.card-item{border-radius:4px;cursor:pointer;overflow:hidden;transition:transform .3s}.card-item:hover{transform:scale(1.1);z-index:10}.card-image{border:1px solid #333;border-radius:4px;height:80px;transition:border-color .3s;width:60px}.card-item:hover .card-image{border-color:#007bff;box-shadow:0 4px 8px #007bff80}.card-list-inline{margin-top:20px;min-width:650px;overflow-x:auto;text-align:left}.card-image-inline{border:1px solid #333;border-radius:4px;cursor:pointer;display:inline-block;height:80px;margin:2px;object-fit:cover;transition:all .3s;vertical-align:top;width:60px}.card-image-inline:hover{border-color:#007bff;box-shadow:0 4px 8px #007bff80;position:relative;transform:scale(1.1);z-index:10}.main-dashboard-container{background:linear-gradient(135deg,#0a0a0a,#1a1a1a);color:#fff;min-height:100vh}.dashboard-content{margin:0 auto;max-width:1200px;padding:20px}.welcome-section{background:#2a2a2a;border-radius:8px;box-shadow:0 4px 8px #0000004d;margin-bottom:40px;padding:20px;text-align:center}.welcome-text{color:#e0e0e0;font-size:18px;margin:0}.dashboard-actions{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.action-group{background:#2a2a2a;border:1px solid #333;border-radius:8px;box-shadow:0 4px 8px #0000004d;padding:25px;transition:transform .3s}.action-group:hover{border-color:#007bff;transform:translateY(-3px)}.action-group-title{border-bottom:2px solid #333;color:#007bff;font-size:20px;font-weight:600;margin:0 0 20px;padding-bottom:10px;text-align:center}.dashboard-btn{font-size:16px;font-weight:500;margin:10px 0;padding:12px 20px;width:100%}.dashboard-link{display:block}.dashboard-link,.dashboard-link:hover{text-decoration:none}@media (max-width:768px){.player-grid{justify-content:center}.deck-images{align-items:center}.deck-actions,.deck-images{flex-direction:column}.card-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.dashboard-actions{grid-template-columns:1fr}.action-group{padding:20px}}.custom-modal-overlay{align-items:center;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.custom-modal{background:none;border:none;max-height:90vh;max-width:90vw;outline:none;overflow:visible;padding:0;z-index:1001}.modal-content{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border:2px solid #007bff;border-radius:12px;box-shadow:0 8px 32px #00000080;max-height:85vh;width:100%}.add-deck-modal{padding:25px;width:600px}.add-duel-modal{padding:25px;width:500px}.modal-header{border-bottom:2px solid #333;margin-bottom:25px;padding-bottom:15px;text-align:center}.modal-header h2{color:#007bff;font-size:28px;font-weight:600;margin:0}.form-section{margin-bottom:20px}.section-subtitle{color:#007bff;font-size:18px;font-weight:500;margin:0 0 15px}.image-preview-section{display:flex;gap:15px;justify-content:center;margin:15px 0}.preview-image{border:2px solid #555;border-radius:8px;box-shadow:0 2px 8px #00000080;height:100px;object-fit:cover;width:100px}.button-group{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.form-group{margin-bottom:15px}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1 1}.form-label{color:#e0e0e0;display:block;font-size:14px;font-weight:500;margin-bottom:5px}.form-input,.form-select{background:#333;border:1px solid #555;border-radius:4px;color:#fff;font-size:14px;padding:8px 12px;transition:border-color .3s;width:100%}.form-input:focus,.form-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.file-input-modal,.form-select option{background:#333;color:#fff}.file-input-modal{border:1px solid #555;border-radius:4px;cursor:pointer;padding:8px;transition:border-color .3s;width:100%}.file-input-modal:hover{border-color:#007bff}.file-info{background:#1f1f1f;border-left:3px solid #28a745;border-radius:4px;margin:10px 0;padding:10px}.file-info p{color:#e0e0e0;margin:0}.file-content{margin:15px 0}.file-preview{background:#1f1f1f;border:1px solid #333;border-radius:4px;color:#e0e0e0;font-size:12px;line-height:1.4;max-height:150px;overflow-y:auto;padding:10px}.modal-footer{border-top:1px solid #333;display:flex;gap:15px;justify-content:center;margin-top:20px;padding-top:20px}@media (max-width:768px){.custom-modal{max-height:95vh;max-width:95vw}.add-deck-modal,.add-duel-modal{padding:20px;width:100%}.form-row{gap:10px}.button-group,.form-row,.modal-footer{flex-direction:column}}.ReactModal__Overlay{z-index:1500!important}.ReactModal__Content{z-index:1501!important}.video-player{background-color:#000;box-shadow:0 4px 6px #0000004d;margin:0 auto;max-width:800px;width:100%}.video-container{align-items:center;background-color:#000;display:flex;justify-content:center;min-height:400px}.video-element{height:auto;max-height:80vh}.video-placeholder{padding:20px;text-align:center}.video-loading{color:#fff;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:10}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#007bff;height:50px;margin:0 auto 10px;width:50px}.video-error{background-color:#dc3545e6;border-radius:8px;color:#fff;left:50%;max-width:300px;padding:20px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:10}.video-error button{background-color:#fff;border:none;border-radius:4px;color:#dc3545;cursor:pointer;font-weight:700;margin-top:10px;padding:8px 16px}.video-error button:hover{background-color:#f8f9fa}.video-controls{background-color:#000c;padding:15px}.control-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 12px}.control-button:hover{background-color:#0056b3}.control-button:disabled{background-color:#6c757d;cursor:not-allowed}.time-display{color:#fff;margin-left:auto}.video-quality-selector{margin-left:10px}.video-quality-selector select{background-color:#333;border:1px solid #555;border-radius:4px;color:#fff;padding:4px 8px}.video-player{background:#000;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.video-container{background:#000;height:400px;position:relative;width:100%}.video-element{height:100%;object-fit:contain;width:100%}.video-placeholder{align-items:center;color:#666;display:flex;font-size:18px;height:100%;justify-content:center}.video-controls{align-items:center;background:#1a1a1a;color:#fff;display:flex;gap:10px;padding:10px}.play-pause-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s}.play-pause-button:hover:not(:disabled){background:#0056b3}.play-pause-button:disabled{background:#666;cursor:not-allowed}.skip-button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background .2s}.skip-button:hover:not(:disabled){background:#1e7e34}.skip-button:disabled{background:#666;cursor:not-allowed}.time-display{font-family:Courier New,monospace;font-size:14px;min-width:120px}.seek-bar{-webkit-appearance:none;appearance:none;background:#333;border-radius:3px;flex:1 1;height:6px;outline:none}.seek-bar::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#007bff;border-radius:50%;cursor:pointer;height:16px;width:16px}.seek-bar::-moz-range-thumb{background:#007bff;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.video-info{background:#2a2a2a;color:#ccc;font-size:12px;padding:8px 10px}.shortcut-info{color:#888;margin:4px 0 0}.card{background:#1a1a1a;border:1px solid #333;border-radius:6px;cursor:pointer;display:inline-block;position:relative;transition:transform .2s,box-shadow .2s;-webkit-user-select:none;user-select:none}.card:hover{box-shadow:0 4px 8px #007bff4d;transform:scale(1.05)}.card-normal{height:48px;width:36px}.card-small{height:36px;width:28px}.card-large{height:90px;width:67px}.card-rotated{transform:rotate(90deg)}.card-rotated:hover{transform:rotate(90deg) scale(1.05)}.card-empty{background:#0a0a0a;border:1px dashed #444;cursor:default}.card-empty:hover{box-shadow:none;transform:none}.card-back,.card-front{overflow:hidden;position:relative}.card-back,.card-front,.card-image{border-radius:5px;height:100%;width:100%}.card-image{object-fit:cover}.card-placeholder{align-items:center;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);color:#ccc;display:flex;flex-direction:column;font-size:10px;height:100%;justify-content:center;padding:4px;text-align:center}.card-id{font-size:9px;font-weight:700;margin-bottom:2px}.card-unique-id{color:#888;font-size:7px;word-break:break-all}.card-back{background:linear-gradient(45deg,#8b4513,sienna);position:relative}.card-back-pattern{background:repeating-linear-gradient(45deg,#654321,#654321 2px,#8b4513 0,#8b4513 6px);border-radius:4px;height:80%;width:80%}.card-back-pattern,.card-loading{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.card-loading{align-items:center;display:flex;justify-content:center}.spinner-small{animation:spin 1s linear infinite;border:2px solid #333;border-radius:50%;border-top-color:#007bff;height:16px;width:16px}.card-details{background:#000c;bottom:0;color:#fff;font-size:8px;left:0;padding:2px;position:absolute;right:0}.detail-item{margin:1px 0}.card-counters{align-items:center;background:#dc3545;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.card-normal{height:60px;width:44px}.card-large{height:90px;width:66px}}.card-selected{border:2px solid #007bff;box-shadow:0 0 10px #007bff80}.card-highlighted{border:2px solid #28a745;box-shadow:0 0 10px #28a74580}.card-targeted{border:2px solid #ffc107;box-shadow:0 0 10px #ffc10780}.player-info{background:#0009;border:1px solid #333;border-radius:8px;color:#fff;margin:10px;min-width:180px;padding:12px}.player-0{border-color:#007bff}.player-1{border-color:#dc3545}.player-header{border-bottom:1px solid #444;margin-bottom:10px;padding-bottom:8px;text-align:center}.player-header h3{font-size:16px;font-weight:700;margin:0}.player-0 h3{color:#007bff}.player-1 h3{color:#dc3545}.player-stats{display:flex;flex-direction:column;gap:8px}.stat-item{align-items:center;font-size:14px}.stat-label{color:#ccc;font-weight:500}.stat-value{font-family:Courier New,monospace;font-weight:700}.life-points{color:#28a745;font-size:16px}.life-points.critical{animation:pulse-critical 1.5s infinite;color:#dc3545}@keyframes pulse-critical{0%,to{opacity:1}50%{opacity:.6}}@media (max-width:768px){.player-info{margin:5px;min-width:150px;padding:8px}.player-header h3{font-size:14px}.stat-item{font-size:12px}.life-points{font-size:14px}}.duel-field{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:6px;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow-y:auto;padding:6px;width:100%}.loading-field{align-items:center;color:#ccc;display:flex;font-size:18px;height:400px;justify-content:center}.player-area{display:flex;flex:1 1;flex-direction:column;margin:1px 0;max-height:45%;min-height:0}.player-area-top{order:1}.player-area-bottom{order:3}.center-area{display:flex;flex-shrink:0;height:auto;justify-content:center;margin:2px 0;max-height:10%;order:2}.field-layout{display:flex;flex-direction:column;gap:2px;height:100%;justify-content:space-between}.field-row{align-items:center;display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.field-row-p1-1,.field-row-p1-2,.field-row-p2-1,.field-row-p2-2{flex-direction:row}.card-zone{margin:2px;position:relative}.zone-label{color:#aaa;font-size:9px;font-weight:700;letter-spacing:.5px;margin-bottom:1px;text-align:center;text-transform:uppercase}.card-slots{display:flex;gap:2px}.card-slot,.deck-zone{position:relative}.deck-zone{margin:2px}.deck-stack{align-items:center;display:flex;flex-direction:column}.deck-card,.deck-stack{position:relative}.deck-empty{background:#0000;border:1px dashed #555}.card-count{align-items:center;background:#007bff;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-10px;top:-10px;width:20px}.hand-zone{margin:4px;position:relative}.hand-cards{display:flex;flex-wrap:wrap;gap:2px;justify-content:center}.hand-card{margin:0 -6px}.game-info{background:#000000b3;border-radius:4px;font-size:12px;min-width:120px;padding:4px 8px;text-align:center}.phase-info{margin-bottom:10px}.current-phase{color:#007bff;font-size:14px;font-weight:700;margin-bottom:2px}.turn-info,.turn-player{font-size:11px;margin:1px 0}.chain-info,.summoning-info{background:#ffc10733;border-radius:4px;font-size:12px;margin-top:10px;padding:5px}.monster-field-p1,.monster-field-p2{order:1}.spell-trap-p1,.spell-trap-p2{order:2}.main-deck-p1,.main-deck-p2{order:3}.field-spell-p1,.field-spell-p2{margin:0 10px;order:4}.extra-deck-p1,.extra-deck-p2,.grave-p1,.grave-p2,.removed-p1,.removed-p2{order:5}.hand-p1,.hand-p2{order:6}@media (max-width:1400px){.field-row{flex-wrap:wrap;gap:4px}.hand-cards{margin:0 auto;max-width:500px}}@media (max-width:1000px){.duel-field{min-height:300px;padding:6px}.field-row{gap:3px}.zone-label{font-size:10px}.game-info{min-width:120px;padding:6px}.current-phase{font-size:14px}.hand-cards{max-width:400px}}@media (max-width:768px){.duel-field{padding:4px}.field-row{gap:2px}.zone-label{font-size:9px}.game-info{min-width:100px;padding:4px}.current-phase{font-size:12px}.turn-info,.turn-player{font-size:11px}.hand-cards{max-width:300px}.hand-card{margin:0 -8px}}@media (max-width:480px){.field-row{align-items:center;flex-direction:column;gap:2px}.hand-cards{max-width:250px}}.operation-list{background:#1a1a1a;border-radius:8px;color:#fff;display:flex;flex-direction:column;height:100%;overflow:hidden}.operation-list-header{background:#222;border-bottom:1px solid #333;padding:15px}.operation-list-header h3{color:#007bff;font-size:16px;margin:0 0 10px}.operation-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.filter-input{background:#333;border:1px solid #444;border-radius:4px;color:#fff;flex:1 1;font-size:14px;min-width:150px;padding:6px 10px}.filter-input:focus{border-color:#007bff;outline:none}.clear-button,.sort-button{background:#333;border:1px solid #444;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background .2s}.clear-button:hover:not(:disabled),.sort-button:hover{background:#555}.clear-button:disabled{background:#222;color:#666;cursor:not-allowed}.operation-stats{background:#1f1f1f;border-bottom:1px solid #333;padding:10px 15px}.operation-stats summary{color:#ccc;cursor:pointer;font-size:12px;margin-bottom:5px}.stats-content{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:8px}.stat-item{background:#333;border-radius:3px;display:flex;font-size:11px;justify-content:space-between;padding:2px 4px}.stat-type{color:#ccc}.stat-count{color:#007bff;font-weight:700}.operation-items{flex:1 1;overflow-y:auto;padding:10px}.operation-item{background:#2a2a2a;border:1px solid #333;border-radius:6px;margin-bottom:8px;padding:10px;transition:border-color .2s}.operation-item:hover{border-color:#555}.operation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.operation-timestamp{color:#28a745;font-family:Courier New,monospace;font-size:12px;font-weight:700}.operation-type{font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.remove-button{background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:16px;font-weight:700;height:24px;line-height:1;transition:background .2s;width:24px}.remove-button:hover{background:#c82333}.operation-details{color:#ccc;font-size:12px}.operation-params{margin-bottom:5px}.operation-params summary{color:#007bff;cursor:pointer;margin-bottom:5px}.param-content{background:#1a1a1a;border:1px solid #444;border-radius:4px;color:#ccc;font-size:11px;margin:5px 0;max-height:100px;overflow-y:auto;padding:8px;white-space:pre-wrap;word-break:break-all}.operation-id{color:#666;font-size:10px}.no-operations{color:#666;font-style:italic;padding:40px 20px;text-align:center}.operation-list-footer{background:#222;border-top:1px solid #333;color:#666;padding:10px 15px;text-align:center}.operation-items::-webkit-scrollbar{width:6px}.operation-items::-webkit-scrollbar-track{background:#1a1a1a}.operation-items::-webkit-scrollbar-thumb{background:#555;border-radius:3px}.operation-items::-webkit-scrollbar-thumb:hover{background:#666}@media (max-width:768px){.operation-controls{align-items:stretch;flex-direction:column}.filter-input{margin-bottom:8px;min-width:auto}.stats-content{grid-template-columns:1fr}.operation-header{flex-wrap:wrap;gap:5px}.operation-timestamp{order:3;text-align:left;width:100%}}.phase-controls{background:#1f1f1f;border:1px solid #333;border-radius:8px;margin:10px 0;padding:15px}.phase-info-bar{align-items:center;border-bottom:1px solid #333;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:15px;padding-bottom:10px}.chain-display,.current-phase-display,.turn-display,.turn-player-display{align-items:center;display:flex;font-size:14px;gap:8px}.chain-label,.phase-label,.turn-label,.turn-player-label{color:#ccc;font-weight:500}.phase-name{background:#007bff;border-radius:4px;color:#fff;font-weight:700;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.turn-number,.turn-player-number{background:#28a745;color:#fff;font-family:Courier New,monospace}.chain-number,.turn-number,.turn-player-number{border-radius:3px;font-weight:700;padding:2px 8px}.chain-number{background:#ffc107;color:#000}.phase-buttons-container{display:flex;flex-direction:column;gap:15px}.phase-buttons,.special-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.phase-control-group{align-items:center;background:#2a2a2a;border:1px solid #444;border-radius:6px;display:flex;gap:8px;padding:8px 12px}.phase-control-group label{color:#ccc;font-size:14px;font-weight:500}.first-player-select{background:#333;border:1px solid #555;border-radius:4px;color:#fff;font-size:14px;padding:4px 8px}.first-player-select:focus{border-color:#007bff;outline:none}.action-button,.phase-button,.special-button,.turn-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:all .2s}.phase-button{background:#007bff;color:#fff}.phase-button:hover{background:#0056b3;transform:translateY(-1px)}.action-button{background:#17a2b8;color:#fff}.action-button:hover{background:#117a8b;transform:translateY(-1px)}.action-button.draw{background:#28a745}.action-button.draw:hover{background:#1e7e34}.action-button.damage{background:#fd7e14}.action-button.damage:hover{background:#e55a00}.turn-button{background:#6c757d;color:#fff}.turn-button:hover{background:#545b62;transform:translateY(-1px)}.special-button{background:#6f42c1;color:#fff}.special-button:hover{background:#5a31a1;transform:translateY(-1px)}.special-button.resolve{background:#dc3545}.special-button.resolve:hover{background:#c82333}.special-button.summon{background:#ffc107;color:#000}.special-button.summon:hover{background:#e0a800}.start-duel{background:#28a745;font-size:16px;font-weight:700}.start-duel:hover{background:#1e7e34}.special-buttons{border-top:1px solid #333;padding-top:10px}@media (max-width:768px){.phase-info-bar{align-items:flex-start;flex-direction:column;gap:10px}.phase-buttons,.special-buttons{justify-content:center}.action-button,.phase-button,.special-button,.turn-button{font-size:12px;padding:6px 12px}.phase-control-group{flex-wrap:wrap;gap:5px}}@media (max-width:480px){.phase-controls{padding:10px}.phase-buttons,.special-buttons{align-items:stretch;flex-direction:column}.action-button,.phase-button,.special-button,.turn-button{width:100%}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .2s ease-out;background:#1f1f1f;border:1px solid #444;border-radius:8px;box-shadow:0 10px 30px #00000080;color:#fff;max-height:90vh;overflow-y:auto}.modal-small{max-width:400px;width:90%}.modal-medium{max-width:600px;width:90%}.modal-large{max-width:800px;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;background:#2a2a2a;border-bottom:1px solid #333;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:15px 20px}.modal-title{color:#007bff;font-size:18px;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#ccc;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:all .2s;width:30px}.modal-close:hover{background:#dc3545;color:#fff}.modal-body{padding:20px}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#1f1f1f}.modal-content::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#666}@media (max-width:768px){.modal-large,.modal-medium,.modal-small{margin:10px;max-width:none;width:95%}.modal-header{padding:10px 15px}.modal-title{font-size:16px}.modal-body{padding:15px}}.action-controls{background:#1f1f1f;border:1px solid #333;border-radius:8px;color:#fff;margin:10px 0;padding:15px}.action-section{margin-bottom:20px}.action-section:last-child{margin-bottom:0}.action-section h4{border-bottom:1px solid #333;color:#007bff;font-size:14px;letter-spacing:.5px;margin:0 0 10px;padding-bottom:5px;text-transform:uppercase}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.action-btn{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;letter-spacing:.3px;padding:8px 12px;text-transform:uppercase;transition:all .2s}.life-recover{background:#28a745;color:#fff}.life-recover:hover{background:#218838;transform:translateY(-1px)}.life-damage{background:#dc3545;color:#fff}.life-damage:hover{background:#c82333;transform:translateY(-1px)}.life-cost{background:#6c757d;color:#fff}.life-cost:hover{background:#5a6268;transform:translateY(-1px)}.card-move{background:#17a2b8;color:#fff}.card-move:hover{background:#138496;transform:translateY(-1px)}.card-destroy{background:#dc3545;color:#fff}.card-destroy:hover{background:#c82333;transform:translateY(-1px)}.card-grave{background:#6c757d;color:#fff}.card-grave:hover{background:#5a6268;transform:translateY(-1px)}.generate-tokens{background:#ffc107;color:#000}.generate-tokens:hover{background:#e0a800;transform:translateY(-1px)}.duel-end{background:#dc3545;color:#fff;font-size:14px;font-weight:700;padding:12px 20px}.duel-end:hover{background:#c82333;transform:translateY(-1px)}.card-move-form,.destroy-card-form,.life-change-form{display:flex;flex-direction:column;gap:15px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{color:#ccc;font-size:14px;font-weight:500}.form-group input,.form-group select{background:#333;border:1px solid #444;border-radius:4px;color:#fff;font-size:14px;padding:8px 12px}.form-group input:focus,.form-group select:focus{border-color:#007bff;outline:none}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.cancel-button{background:#0000;border:1px solid #6c757d;border-radius:4px;color:#6c757d;cursor:pointer;padding:8px 16px;transition:all .2s}.cancel-button:hover{background:#6c757d;color:#fff}.confirm-button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.confirm-button:hover{background:#0056b3}.confirm-button.destroy{background:#dc3545}.confirm-button.destroy:hover{background:#c82333}@media (max-width:768px){.action-buttons{align-items:stretch;flex-direction:column}.action-btn{text-align:center;width:100%}.form-actions{flex-direction:column}.cancel-button,.confirm-button{width:100%}}
/*# sourceMappingURL=main.ecf7a81e.css.map*/