*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.block{display:block}.table{display:table}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.resize{resize:both}.filter{filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;min-height:100vh;padding:20px 20px 80px;display:flex;position:relative}.container{box-sizing:border-box;background:#fff;border-radius:24px;width:100%;max-width:900px;margin:0 auto;padding:40px;animation:.5s ease-in fadeIn;overflow:visible;box-shadow:0 20px 60px #0000004d}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.title{text-align:center;color:#667eea;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:30px;font-size:2.5rem;font-weight:700}.input-section{margin-bottom:30px}.input-group{gap:10px;margin-bottom:10px;display:flex}.name-input{border:2px solid #e0e0e0;border-radius:12px;outline:none;flex:1;padding:14px 20px;font-size:16px;transition:all .3s}.name-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.add-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;padding:14px 30px;font-size:16px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #667eea4d}.add-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.add-button:disabled{opacity:.5;cursor:not-allowed}.counter{text-align:center;color:#666;margin-top:8px;font-size:14px}.min-warning{color:#ff6b6b;font-weight:600}.group-input-section{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;margin-top:20px;padding:15px}.group-input-section h3{color:#333;margin:0 0 12px;font-size:1rem;font-weight:600}.group-input-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.group-select{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;outline:none;flex:1;min-width:150px;padding:10px 14px;font-size:14px;transition:all .3s}.group-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.group-separator{color:#667eea;font-size:20px;font-weight:700}.create-group-button{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .3s}.create-group-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.create-group-button:disabled{opacity:.5;cursor:not-allowed}.names-section,.groups-section{margin-bottom:30px}.names-section h2,.groups-section h2{color:#333;margin-bottom:15px;font-size:1.5rem;font-weight:600}.names-list,.groups-list{flex-wrap:wrap;gap:10px;display:flex}.name-tag{cursor:pointer;background:#f5f5f5;border:2px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:12px 16px;transition:all .3s;display:flex;position:relative}.name-tag:hover{background:#e8e8e8;transform:translateY(-2px)}.name-tag.selected{background:#e8e4ff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.name-tag.grouped{background:#fff4e6;border-color:#ffa726}.group-indicator{font-size:14px}.remove-btn{color:#fff;cursor:pointer;background:#ff5252;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:18px;line-height:1;transition:all .2s;display:flex}.remove-btn:hover{background:#ff1744;transform:scale(1.1)}.group-tag{background:#fff4e6;border:2px solid #ffa726;border-radius:12px;align-items:center;gap:8px;padding:12px 16px;display:flex}.group-hint{color:#1976d2;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;margin-bottom:20px;padding:12px 16px;font-weight:500}.placement-actions{flex-direction:column;gap:15px;width:50vw;max-width:450px;margin:30px auto;display:flex}.placement-button{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;width:100%;padding:18px;font-size:18px;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #667eea4d}.placement-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #667eea66}.placement-button:disabled{opacity:.5;cursor:not-allowed;background:#ccc}.create-new-game-button{color:#fff;cursor:pointer;letter-spacing:.5px;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);border:none;border-radius:12px;width:100%;padding:16px;font-size:16px;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #11998e4d}.create-new-game-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #11998e66}.create-new-game-button:disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#999 0%,#777 100%)}.placement-section{margin-top:40px;margin-bottom:0;padding-bottom:0}.placement-section h2{text-align:center;color:#333;margin-bottom:30px;font-size:1.5rem;font-weight:600}.circle-container{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-height:600px;max-height:900px;padding:50px 50px 20px;display:flex;position:relative;overflow:visible}.loading-circle{justify-content:center;align-items:center;width:100%;min-height:400px;display:flex}.spinner{border:6px solid #f3f3f3;border-top-color:#667eea;border-radius:50%;width:80px;height:80px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.circle-placement{aspect-ratio:1;justify-content:center;align-items:center;width:100%;max-width:900px;min-height:600px;max-height:900px;margin:0 auto;display:flex;position:relative}.center-table{z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.table-svg{filter:drop-shadow(0 4px 8px #0003);width:140px;height:140px}.uno-cards{z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.uno-card{filter:drop-shadow(0 3px 6px #0006);width:40px;height:56px;transform-style:preserve-3d;animation:2s ease-in-out infinite cardFloat}.card-svg{width:100%;height:100%;display:block}.uno-card.card-1{animation-delay:0s}@keyframes cardFloat{0%,to{transform:translateY(0)rotate(-8deg)}50%{transform:translateY(-10px)rotate(8deg)}}.circle-name{transform-origin:50%;transform:translate(calc(-50% + var(--x,0)),calc(-50% + var(--y,0)));cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:fit-content;min-width:90px;height:fit-content;margin:5px;transition:transform .3s;animation:.6s ease-out backwards popIn;display:flex;position:absolute;top:50%;left:50%}.circle-name:hover{z-index:10;transform:translate(calc(-50% + var(--x)*1.15),calc(-50% + var(--y)*1.15))!important}@keyframes popIn{0%{opacity:0;transform:translate(calc(-50% + var(--x,0)),calc(-50% + var(--y,0)))scale(0)}50%{transform:translate(calc(-50% + var(--x,0)),calc(-50% + var(--y,0)))scale(1.2)}to{opacity:1;transform:translate(calc(-50% + var(--x,0)),calc(-50% + var(--y,0)))scale(1)}}.name-number{color:#fff;z-index:100;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex;position:relative;box-shadow:0 4px 10px #667eea4d}.name-number.number-one{z-index:100;background:linear-gradient(135deg,#ff9800 0%,#f57c00 100%);position:relative;box-shadow:0 4px 10px #ff980066}.name-text{color:#333;white-space:nowrap;background:#fff;border:2px solid #e0e0e0;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #0000001a}.circle-name:hover .name-text{border-color:#667eea;box-shadow:0 6px 20px #667eea4d}.grouped-name .name-text{background:#fff4e6;border-color:#ffa726}.person-icon{margin-top:4px;font-size:20px;display:block}.app-footer{text-align:center;width:100%;margin-top:40px;padding:20px;position:relative;bottom:0;left:0}.footer-link{color:#fff;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .3s}.footer-link:hover{opacity:.8;text-decoration:underline}.tabs-container{border-bottom:2px solid #e0e0e0;gap:10px;margin-bottom:30px;display:flex}.tab-button{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:12px 24px;font-size:16px;font-weight:500;transition:all .3s}.tab-button:hover{color:#667eea;background:#667eea0d}.tab-button.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.games-list-container{width:100%;margin-top:20px}.games-header{flex-wrap:wrap;gap:15px;margin-bottom:20px;display:flex}.create-game-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);border:none;border-radius:12px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #11998e4d}.create-game-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #11998e66}.create-game-button:disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#999 0%,#777 100%)}.clone-game-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #667eea4d}.clone-game-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.clone-game-button{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);box-shadow:0 4px 15px #f5576c4d}.clone-game-button:hover{box-shadow:0 6px 20px #f5576c66}.games-empty-state{text-align:center;color:#666;padding:60px 20px}.games-empty-state h2{color:#333;margin-bottom:15px}.games-tabs{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:10px;margin-bottom:20px;padding-bottom:10px;display:flex;overflow:auto hidden}.games-tabs::-webkit-scrollbar{height:8px}.games-tabs::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.games-tabs::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.games-tabs::-webkit-scrollbar-thumb:hover{background:#555}.game-tab{color:#666;cursor:pointer;white-space:nowrap;background:#fff;border:2px solid #e0e0e0;border-radius:8px;flex-shrink:0;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s}.game-tab:hover{color:#667eea;border-color:#667eea}.game-tab.in-progress{color:#e65100;background:#fff3e0;border-color:#ff9800;position:relative}.game-tab.in-progress:before{content:"●";color:#ff9800;margin-right:5px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.game-tab.in-progress.active{color:#fff;background:linear-gradient(135deg,#ff9800 0%,#f57c00 100%);border-color:#0000}.game-tab.in-progress.active:before{color:#fff}.game-tab.complete{color:#2e7d32;background:#e8f5e9;border-color:#4caf50}.game-tab.complete.active{color:#fff;background:linear-gradient(135deg,#4caf50 0%,#2e7d32 100%)}.game-score-sheet{width:100%;margin-top:20px}.game-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.target-score-section{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.target-score-section label{color:#333;font-weight:600}.target-score-display{color:#2196f3;text-align:center;background:#e3f2fd;border-radius:8px;min-width:60px;padding:8px 16px;font-size:20px;font-weight:700}.target-score-input{border:2px solid #e0e0e0;border-radius:8px;width:100px;padding:8px 12px;font-size:16px;font-weight:600;transition:border-color .3s}.target-score-input:focus{border-color:#667eea;outline:none}.target-score-input.editing{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.target-score-edit-btn{color:#fff;cursor:pointer;background:#2196f3;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s}.target-score-edit-btn:hover{background:#1976d2;transform:translateY(-1px)}.target-score-save-btn,.target-score-cancel-btn{cursor:pointer;border:none;border-radius:8px;padding:8px 12px;font-size:16px;font-weight:700;transition:all .2s}.target-score-save-btn{color:#fff;background:#4caf50}.target-score-save-btn:hover{background:#45a049;transform:translateY(-1px)}.target-score-cancel-btn{color:#fff;background:#f44336}.target-score-cancel-btn:hover{background:#d32f2f;transform:translateY(-1px)}.delete-game-button{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .3s}.delete-game-button:hover{background:#d32f2f;transform:translateY(-1px)}.edit-game-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff9800 0%,#f57c00 100%);border:none;border-radius:8px;padding:12px 24px;font-size:15px;font-weight:700;transition:all .3s}.edit-game-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff980066}.recalculate-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%);border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:700;transition:all .3s;animation:2s infinite pulse-glow}.recalculate-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #4caf5080}50%{box-shadow:0 0 20px #4caf50cc}}.editing-notice{background:linear-gradient(135deg,#fff3e0 0%,#ffe0b2 100%);border:2px solid #ff9800;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:15px 20px;animation:.3s ease-out slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notice-icon{font-size:24px}.notice-text{color:#e65100;flex:1;font-size:14px;font-weight:600}.score-table-container{border-radius:12px;margin-bottom:20px;overflow-x:auto;box-shadow:0 4px 15px #0000001a}.score-table{border-collapse:collapse;background:#fff;width:100%;min-width:600px}.score-table th,.score-table td{text-align:center;border:1px solid #e0e0e0;padding:12px}.score-table-wrapper{background:#fff;border-radius:12px;margin-bottom:20px;overflow-x:auto;box-shadow:0 4px 15px #0000001a}.score-table-vertical{border-collapse:collapse;background:#fff;width:100%}.score-table-vertical th,.score-table-vertical td{text-align:center;border:1px solid #e0e0e0;padding:12px}.player-name-header{text-align:left;z-index:10;background:#f5f5f5;min-width:120px;padding-left:20px;font-weight:700;position:sticky;left:0}.round-header{background:#f5f5f5;min-width:80px;font-weight:700}.round-header.editing-header{background:#e8f5e9}.total-header{z-index:10;background:#e3f2fd;min-width:100px;font-weight:700;position:sticky;right:0}.actions-header{background:#f5f5f5;min-width:80px}.player-name-cell{text-align:left;z-index:5;padding-left:20px;font-weight:700;position:sticky;left:0}.score-cell{font-size:16px;font-weight:600}.score-cell.editing-cell{background:#f1f8f4}.total-cell{z-index:5;background:#e3f2fd;font-size:18px;position:sticky;right:0}.total-cell.over-target{color:#fff;background:#ff5252;animation:1s infinite pulse}.actions-cell{background:#fafafa}.score-input-table{text-align:center;border:2px solid #4caf50;border-radius:6px;width:70px;padding:6px;font-size:16px;font-weight:700}.score-input-table:focus{border-color:#45a049;outline:none;box-shadow:0 0 0 3px #4caf501a}.table-actions{margin-top:20px}.editing-actions{justify-content:center;gap:10px;margin-bottom:20px;display:flex}.save-btn-large,.cancel-btn-large{cursor:pointer;border:none;border-radius:10px;padding:15px 30px;font-size:16px;font-weight:700;transition:all .3s}.save-btn-large{color:#fff;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%)}.save-btn-large:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.cancel-btn-large{color:#fff;background:linear-gradient(135deg,#f44336 0%,#d32f2f 100%)}.cancel-btn-large:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f443364d}.round-management{flex-direction:column;gap:15px;display:flex}.round-edit-buttons{background:#f5f5f5;border-radius:10px;flex-wrap:wrap;gap:10px;padding:15px;display:flex}.round-action-item{background:#fff;border-radius:8px;flex:1;align-items:center;gap:10px;min-width:200px;padding:10px 15px;display:flex}.round-action-label{color:#333;flex:1;font-weight:600}.round-action-btns{gap:8px;display:flex}.edit-btn-small,.delete-btn-small{cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .2s}.edit-btn-small{color:#fff;background:#2196f3}.edit-btn-small:hover{background:#1976d2;transform:translateY(-1px)}.delete-btn-small{color:#fff;background:#ff5252}.delete-btn-small:hover{background:#d32f2f;transform:translateY(-1px)}.score-table th{color:#333;z-index:10;background:#f5f5f5;font-weight:600;position:sticky;top:0}.score-table tbody tr:hover{background:#f9f9f9}.round-number{color:#667eea;background:#f5f7ff;font-weight:600}.score-input{text-align:center;border:2px solid #667eea;border-radius:6px;width:80px;padding:6px;font-size:14px;font-weight:600}.score-input:focus{border-color:#764ba2;outline:none}.action-cell{justify-content:center;align-items:center;gap:5px;display:flex}.save-btn,.cancel-btn,.edit-btn,.delete-btn{cursor:pointer;border:none;border-radius:6px;padding:6px 10px;font-size:14px;transition:all .2s}.save-btn{color:#fff;background:#4caf50}.save-btn:hover{background:#45a049}.cancel-btn{color:#fff;background:#f44336}.cancel-btn:hover{background:#d32f2f}.edit-btn{color:#fff;background:#2196f3}.edit-btn:hover{background:#1976d2}.delete-btn{color:#fff;background:#ff9800}.delete-btn:hover{background:#f57c00}.editing-row{background:#fff9c4}.totals-row td{background:#e3f2fd;padding:15px 12px;font-size:16px}.rank-row td{background:#f3e5f5;font-size:14px}.tied-rank{background:#fff9c4!important}.rank-cell{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.tie-indicator{color:#ff9800;font-size:12px;font-weight:900;line-height:1}.over-target{color:#c62828;font-weight:700;background:#ffebee!important}.add-round-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;width:100%;padding:15px;font-size:16px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #667eea4d}.add-round-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.game-complete{text-align:center;padding:40px 20px}.game-complete-animated{animation:.6s ease-out gameCompleteEntry}@keyframes gameCompleteEntry{0%{opacity:0;transform:scale(.9)translateY(20px)}50%{transform:scale(1.02)}to{opacity:1;transform:scale(1)translateY(0)}}.game-complete-title{color:#4caf50;margin-bottom:15px;font-size:32px;animation:2s ease-in-out infinite titlePulse}.game-completion-info{background:linear-gradient(135deg,#f5f5f5 0%,#e8e8e8 100%);border-radius:10px;flex-direction:column;align-items:center;gap:5px;margin-bottom:25px;padding:10px 20px;display:flex;box-shadow:0 2px 8px #0000001a}.completion-date{color:#555;font-size:16px;font-weight:600}.completion-time{color:#333;font-size:18px;font-weight:700}@keyframes titlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.winners{flex-direction:column;gap:20px;max-width:500px;margin:0 auto 30px;display:flex}.winner{border-radius:12px;align-items:center;gap:15px;padding:20px;transition:transform .3s;animation:.5s ease-out backwards winnerSlideIn;display:flex;box-shadow:0 4px 15px #0000001a}@keyframes winnerSlideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.winner.first{animation-delay:.2s}.winner.second{animation-delay:.4s}.winner.third{animation-delay:.6s}.winner:hover{transform:translateY(-2px)scale(1.02)}.winner.first{background:linear-gradient(135deg,gold 0%,#ffed4e 100%);font-size:20px}.winner.second{background:linear-gradient(135deg,silver 0%,#e8e8e8 100%);font-size:18px}.winner.third{background:linear-gradient(135deg,#cd7f32 0%,#e8a87c 100%);font-size:16px}.medal{flex-shrink:0;font-size:48px;animation:1s ease-in-out medalBounce}.winner-content{flex-direction:column;flex:1;gap:8px;display:flex}.winner-row{justify-content:space-between;align-items:center;width:100%;display:flex}@keyframes medalBounce{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-10px)rotate(-5deg)}50%{transform:translateY(0)rotate(0)}75%{transform:translateY(-5px)rotate(5deg)}}.winner-name{text-align:left;flex:1;font-weight:700}.winner-score{background:#ffffff80;border-radius:8px;padding:8px 16px;font-weight:600}.other-players{max-width:500px;margin:0 auto 30px}.other-players h3{color:#666;text-align:center;margin-bottom:15px;font-size:18px}.other-player{color:#666;background:#f5f5f5;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 20px;font-size:14px;display:flex}.player-position{text-align:center;color:#999;width:30px;font-weight:600}.player-name{flex:1;margin:0 15px;font-weight:500}.player-score{background:#0000000d;border-radius:6px;padding:4px 12px;font-weight:600}.game-complete-actions{flex-wrap:wrap;justify-content:center;gap:15px;margin-bottom:20px;display:flex}.share-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #11998e4d}.share-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #11998e66}.share-button:disabled{opacity:.6;cursor:not-allowed}.toggle-scores-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s}.toggle-scores-button:hover{transform:translateY(-1px);box-shadow:0 4px 15px #667eea66}.completed-game-scores{border-top:2px solid #e0e0e0;margin-top:30px;padding-top:30px}.completed-game-scores h3{color:#333;text-align:center;margin-bottom:20px;font-size:20px}.remove-all-section{text-align:center;border-top:2px solid #e0e0e0;margin-top:40px;padding-top:30px}.remove-all-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6b6b 0%,#ee5a6f 100%);border:none;border-radius:8px;padding:12px 30px;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #ff6b6b4d}.remove-all-button:hover{background:linear-gradient(135deg,#ff5252 0%,#e53935 100%);transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b66}.confirm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.3s ease-out overlayFadeIn;display:flex;position:fixed;inset:0}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:450px;padding:40px 30px;animation:.3s ease-out dialogSlideUp;box-shadow:0 20px 60px #0000004d}@keyframes dialogSlideUp{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-icon{margin-bottom:20px;font-size:64px;animation:.6s ease-out iconBounce}@keyframes iconBounce{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.confirm-icon.danger{filter:drop-shadow(0 4px 12px #ff6b6b4d)}.confirm-icon.warning{filter:drop-shadow(0 4px 12px #ffc1074d)}.confirm-icon.info{filter:drop-shadow(0 4px 12px #2196f34d)}.confirm-title{color:#333;margin-bottom:15px;font-size:24px;font-weight:700}.confirm-message{color:#666;margin-bottom:30px;font-size:16px;line-height:1.6}.confirm-actions{justify-content:center;gap:15px;display:flex}.confirm-button{cursor:pointer;border:none;border-radius:10px;min-width:120px;padding:12px 30px;font-size:15px;font-weight:600;transition:all .3s}.confirm-button.cancel{color:#666;background:#f5f5f5;border:2px solid #e0e0e0}.confirm-button.cancel:hover{background:#e8e8e8;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.confirm-button.confirm{color:#fff;box-shadow:0 4px 15px #0003}.confirm-button.confirm.danger{background:linear-gradient(135deg,#ff6b6b 0%,#ee5a6f 100%)}.confirm-button.confirm.danger:hover{background:linear-gradient(135deg,#ff5252 0%,#e53935 100%);transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b66}.confirm-button.confirm.warning{background:linear-gradient(135deg,#ffc107 0%,#ff9800 100%)}.confirm-button.confirm.warning:hover{background:linear-gradient(135deg,#ffb300 0%,#ff8f00 100%);transform:translateY(-2px);box-shadow:0 6px 20px #ffc10766}.confirm-button.confirm.info{background:linear-gradient(135deg,#2196f3 0%,#1976d2 100%)}.confirm-button.confirm.info:hover{background:linear-gradient(135deg,#1e88e5 0%,#1565c0 100%);transform:translateY(-2px);box-shadow:0 6px 20px #2196f366}@media (max-width:768px){.app{padding:10px 10px 70px}.container{border-radius:16px;padding:20px}.title{margin-bottom:20px;font-size:1.75rem}.input-group{flex-direction:column;gap:10px}.name-input,.add-button{width:100%}.group-input-group{flex-direction:column;gap:10px}.group-select{width:100%;min-width:auto}.group-separator{transform:rotate(90deg)}.create-group-button,.placement-actions{width:100%}.placement-button{width:100%;padding:16px;font-size:16px}.circle-container{min-height:400px;max-height:550px;padding:25px}.circle-placement{max-width:100%;min-height:400px;max-height:550px}.table-svg{width:100px;height:100px}.uno-card{width:32px;height:45px}.name-number{width:26px;height:26px;font-size:11px}.name-text{padding:6px 10px;font-size:13px}.person-icon{font-size:18px}.app-footer{padding:15px}.footer-link{font-size:12px}}@media (max-width:480px){.app{padding:5px 5px 60px}.container{padding:15px}.title{font-size:1.5rem}.placement-actions{width:100%}.circle-container{min-height:360px;max-height:500px;padding:20px}.circle-placement{min-height:360px;max-height:500px}.table-svg{width:80px;height:80px}.uno-card{width:26px;height:36px}.name-number{width:24px;height:24px;font-size:10px}.name-text{padding:5px 8px;font-size:12px}.app-footer{padding:10px}.footer-link{font-size:11px}.tabs-container{flex-direction:column;gap:5px}.tab-button{width:100%;padding:10px;font-size:14px}.games-header{flex-direction:column}.create-game-button,.clone-game-button{width:100%;font-size:14px}.score-table-container{font-size:12px}.score-table th,.score-table td{padding:8px 4px;font-size:12px}.score-input{width:60px;font-size:16px}.score-table-vertical th,.score-table-vertical td{padding:8px;font-size:14px}.player-name-header,.player-name-cell{min-width:100px;padding-left:12px}.round-header{min-width:60px;font-size:13px}.total-header,.total-cell{min-width:80px;font-size:16px}.score-cell{font-size:14px}.score-input-table{width:55px;padding:4px;font-size:16px}.save-btn-large,.cancel-btn-large{padding:12px 24px;font-size:14px}.round-edit-buttons{padding:12px}.round-action-item{min-width:100%;padding:8px 12px}.edit-btn-small,.delete-btn-small{padding:5px 10px;font-size:12px}.edit-game-button{padding:10px 18px;font-size:14px}.recalculate-button{padding:8px 16px;font-size:13px}.editing-notice{text-align:center;flex-direction:column;padding:12px 15px}.notice-icon{font-size:20px}.notice-text{font-size:13px}.game-complete-actions button{width:100%}.game-complete-title{font-size:24px}.game-completion-info{margin-bottom:20px;padding:8px 15px}.completion-date{font-size:14px}.completion-time{font-size:16px}.winner{padding:15px}.winner.first{font-size:16px}.winner.second{font-size:14px}.winner.third{font-size:13px}.medal{font-size:36px}.winner{gap:10px;padding:15px}.winner-content{gap:6px}.remove-all-button{width:100%;font-size:13px}.other-player{padding:10px 15px;font-size:13px}.player-position{width:25px;font-size:12px}.game-complete-actions{flex-direction:column}.share-button,.toggle-scores-button{width:100%;font-size:13px}.completed-game-scores h3{font-size:18px}.confirm-dialog{max-width:90%;padding:30px 20px}.confirm-icon{font-size:48px}.confirm-title{font-size:20px}.confirm-message{font-size:14px}.confirm-actions{flex-direction:column}.confirm-button{width:100%;min-width:auto}}.pwa-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.3s ease-out pwaFadeIn;display:flex;position:fixed;inset:0}@keyframes pwaFadeIn{0%{opacity:0}to{opacity:1}}.pwa-banner{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:380px;padding:35px 30px;animation:.4s ease-out pwaSlideUp;box-shadow:0 20px 60px #0000004d}@keyframes pwaSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.pwa-icon{margin-bottom:15px;font-size:50px}.pwa-title{color:#333;margin:0 0 12px;font-size:22px;font-weight:800}.pwa-message{color:#666;margin:0 0 25px;font-size:15px;line-height:1.5}.pwa-actions{gap:12px;display:flex}.pwa-btn{cursor:pointer;border:none;border-radius:12px;flex:1;padding:14px 20px;font-size:16px;font-weight:700;transition:all .2s}.pwa-btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.pwa-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.pwa-btn-secondary{color:#555;background:#f0f0f0}.pwa-btn-secondary:hover{background:#e0e0e0;transform:translateY(-2px)}.pwa-ios-guide{text-align:left;margin:20px 0}.pwa-ios-step{color:#444;background:#f8f8f8;border-radius:12px;align-items:center;gap:12px;margin-bottom:10px;padding:12px 15px;font-size:15px;line-height:1.4;display:flex}.pwa-step-num{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;font-size:14px;font-weight:700;display:flex}.pwa-share-icon{color:#007aff;vertical-align:middle;justify-content:center;align-items:center;display:inline-flex}
