*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;touch-action:manipulation}:root{--bg-primary: #ffffff;--bg-secondary: #f9fafb;--text-primary: #1f2937;--text-secondary: #6b7280;--border-color: #d1d5db;--tower-pole: linear-gradient(to bottom, #8b4513, #654321);--tower-base: linear-gradient(to bottom, #654321, #4a3219);--tower-hover: rgba(0, 0, 0, .03);--tower-selected: rgba(59, 130, 246, .1);--tower-selected-border: #3b82f6;--tower-drag-over: rgba(16, 185, 129, .1);--tower-drag-over-border: #10b981;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .15);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .3);--victory-bg: #ffffff;--victory-perfect: #10b981}@media(prefers-color-scheme:dark){:root{--bg-primary: #111827;--bg-secondary: #1f2937;--text-primary: #f9fafb;--text-secondary: #9ca3af;--border-color: #374151;--tower-pole: linear-gradient(to bottom, #a0522d, #8b4513);--tower-base: linear-gradient(to bottom, #8b4513, #654321);--tower-hover: rgba(255, 255, 255, .05);--tower-selected: rgba(59, 130, 246, .2);--tower-selected-border: #60a5fa;--tower-drag-over: rgba(16, 185, 129, .2);--tower-drag-over-border: #34d399;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .6);--victory-bg: #1f2937;--victory-perfect: #34d399}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;overscroll-behavior:none}button,select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.disk{height:30px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;box-shadow:0 2px 4px #0003;transition:transform .2s ease,opacity .2s ease;margin:2px auto;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}@media(hover:hover)and (pointer:fine){.disk.draggable{cursor:grab}.disk.draggable:active{cursor:grabbing}}.disk.not-draggable{cursor:default;opacity:.7}@media(hover:hover){.disk.draggable:hover{transform:scale(1.05);box-shadow:0 4px 8px #0000004d}}@media(max-width:768px){.disk{height:25px;font-size:12px;margin:1px auto}}.tower-container{display:flex;flex-direction:column;align-items:center;gap:10px}.tower{position:relative;width:250px;height:350px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;cursor:pointer;transition:all .3s ease;padding:10px;border-radius:10px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}@media(hover:hover){.tower:hover{background-color:var(--tower-hover)}}.tower:active{background-color:var(--tower-hover)}.tower.selected{background-color:var(--tower-selected);border:2px solid var(--tower-selected-border)}.tower.drag-over{background-color:var(--tower-drag-over);border:2px dashed var(--tower-drag-over-border)}.tower-pole{position:absolute;width:8px;height:280px;background:var(--tower-pole);border-radius:4px;bottom:50px;box-shadow:var(--shadow-sm)}.disk-stack{display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start;min-height:280px;width:100%;position:relative;z-index:1;margin-bottom:10px}.tower-base{width:100%;height:40px;background:var(--tower-base);border-radius:5px;box-shadow:var(--shadow-sm)}.tower-label{font-size:16px;font-weight:600;color:var(--text-secondary);text-align:center}@media(max-width:768px){.tower{width:100px;height:280px;padding:8px}.tower-pole{width:6px;height:220px;bottom:40px}.disk-stack{min-height:220px}.tower-base{height:30px}.tower-label{font-size:14px}}.license-container{position:fixed;inset:0;background:var(--bg-primary);z-index:2000;overflow-y:auto;padding:2rem;box-sizing:border-box}.license-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.license-header h1{margin:0;color:var(--text-primary);font-size:2rem}.close-license-button{background-color:#3b82f6;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-size:1rem;white-space:nowrap;transition:all .2s;box-shadow:var(--shadow-sm)}.close-license-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:var(--shadow-md)}.close-license-button:active{transform:translateY(0)}.license-text-wrapper{word-wrap:break-word;overflow-wrap:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.9rem;line-height:1.6;background:var(--bg-secondary);color:var(--text-primary);padding:1.5rem;border-radius:8px;margin:1rem 0;max-width:100%;box-sizing:border-box;border:1px solid var(--border-color)}.license-text-wrapper p{margin:0 0 1rem}.license-text-wrapper p:last-child{margin-bottom:0}.license-footer{text-align:center;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.license-container{padding:1rem}.license-header h1{font-size:1.5rem}.license-text-wrapper{padding:1rem;font-size:.8rem;line-height:1.5}.close-license-button{padding:.6rem 1.2rem;font-size:.9rem}}.game{min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:center;gap:30px;background-color:var(--bg-primary)}.game-header{text-align:center;max-width:800px}.game-header h1{font-size:3rem;margin-bottom:10px;color:var(--text-primary);text-shadow:2px 2px 4px rgba(0,0,0,.1)}.game-description{font-size:1.1rem;color:var(--text-secondary);line-height:1.6}.game-controls{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:center}.control-group{display:flex;align-items:center;gap:10px}.control-group label{font-weight:600;color:var(--text-primary)}.control-group select{padding:8px 12px;font-size:14px;border:2px solid var(--border-color);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .2s}.control-group select:hover{border-color:var(--tower-selected-border)}.control-group select:focus{outline:none;border-color:var(--tower-selected-border);box-shadow:0 0 0 3px var(--tower-selected)}.reset-button{padding:10px 24px;font-size:14px;font-weight:600;color:#fff;background-color:#3b82f6;border:none;border-radius:6px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm);touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}@media(hover:hover){.reset-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:var(--shadow-md)}}.reset-button:active{transform:translateY(0);background-color:#2563eb}.game-stats{display:flex;gap:40px;padding:20px 40px;background-color:var(--bg-secondary);border-radius:10px;box-shadow:var(--shadow-sm)}.stat{display:flex;flex-direction:column;align-items:center;gap:5px}.stat-label{font-size:14px;color:var(--text-secondary);font-weight:500}.stat-value{font-size:28px;font-weight:700;color:var(--text-primary)}.towers-container{display:flex;gap:40px;justify-content:center;align-items:flex-end;padding:20px;flex-wrap:wrap}.victory-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--victory-bg);padding:40px 60px;border-radius:20px;box-shadow:var(--shadow-lg);text-align:center;z-index:1000;animation:slideIn .3s ease-out;border:1px solid var(--border-color)}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}.victory-message h2{font-size:2.5rem;margin-bottom:15px;color:var(--text-primary)}.victory-message p{font-size:1.2rem;color:var(--text-secondary);margin-bottom:25px}.victory-message .perfect{display:block;color:var(--victory-perfect);font-weight:700;margin-top:10px}.play-again-button{padding:12px 32px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm);touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}@media(hover:hover){.play-again-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}}.play-again-button:active{transform:translateY(0)}@media(max-width:768px){.game{padding:15px;gap:20px}.game-header h1{font-size:2rem}.game-description{font-size:.95rem}.game-stats{gap:20px;padding:15px 25px}.stat-value{font-size:24px}.towers-container{gap:15px;padding:10px}.victory-message{padding:25px 30px;width:90%;max-width:400px}.victory-message h2{font-size:2rem}.victory-message p{font-size:1rem}.reset-button,.play-again-button{min-height:44px;min-width:44px}}.game-footer{display:flex;justify-content:center;align-items:center;gap:15px;padding:20px;max-width:800px;width:100%;flex-wrap:wrap}.footer-button{padding:10px 24px;font-size:14px;font-weight:600;color:#fff;background-color:#3b82f6;border:none;border-radius:6px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}@media(hover:hover){.footer-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:var(--shadow-md)}}.footer-button:active{transform:translateY(0);background-color:#2563eb}@media(max-width:768px){.game-footer{padding:12px 15px;gap:8px}.footer-button{padding:10px 12px;font-size:12px;min-height:44px;flex:0 1 auto;white-space:nowrap}}.App{width:100%;min-height:100vh;background-color:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s ease}
