:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background-color:#242424}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}button{background-color:#f9f9f9}}.app-container{width:100%;max-width:100%;height:100vh;height:100dvh;margin:0;padding:0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;box-sizing:border-box;overflow:hidden}header{padding:10px 0;flex-shrink:0;width:100%;text-align:center}header h1{margin:0;font-size:clamp(1.2rem,2.5vw,2rem);background:linear-gradient(to right,#e60012,#fff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 20px rgba(230,0,18,.5)}.cabinet-layout{display:flex;flex-direction:row;justify-content:center;align-items:center;width:100%;flex-grow:1;gap:clamp(8px,1.5vw,20px);padding:0 clamp(8px,1.5vw,20px);box-sizing:border-box}.center-panel{flex:1 1 auto;position:relative;min-width:0;min-height:0;align-self:stretch;overflow:hidden}.side-panel{flex:0 1 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;max-width:280px;min-width:160px;gap:12px}.left-panel{justify-content:flex-end}.right-panel{justify-content:flex-start}.controls-card{background:#1a1a1acc;padding:clamp(10px,1.5vw,20px);border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #333;color:#eee;width:100%;box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;display:flex;flex-direction:column;align-items:center}.controls-card h3{margin-top:0;border-bottom:1px solid #e60012;padding-bottom:8px;color:#e60012;text-transform:uppercase;letter-spacing:1px;font-size:clamp(.75rem,1.1vw,.95rem)}.key-group{display:flex;flex-direction:column;align-items:center;gap:4px}.key-group p{font-size:clamp(.65rem,.9vw,.8rem);margin:4px 0 0}.key-row{display:flex;gap:4px}.key{width:clamp(28px,4vw,40px);height:clamp(28px,4vw,40px);background:#333;border:2px solid #555;border-radius:8px;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:clamp(.7rem,1vw,1rem);box-shadow:0 4px #222}.key-list{list-style:none;padding:0;text-align:left;width:100%}.key-list li{margin:6px 0;display:flex;align-items:center;gap:6px;font-size:clamp(.7rem,1vw,.9rem)}.key-badge{background:#333;border:1px solid #555;padding:2px 6px;border-radius:4px;font-weight:700;min-width:18px;text-align:center;box-shadow:0 2px #222;color:#fff;font-size:clamp(.65rem,.9vw,.85rem)}.controls-area{margin-top:10px;width:100%;display:flex;justify-content:center}.game-actions{display:flex;justify-content:center;gap:1rem;align-items:center}.action-btn{background-color:#e60012;color:#fff;font-weight:700}.action-btn:hover{background-color:#ff1a1a;border-color:#ff4d4d}footer{padding:6px;font-size:clamp(.6rem,.9vw,.8rem);color:#666;flex-shrink:0}@media(max-width:1100px)and (min-width:769px){.side-panel{max-width:220px;min-width:140px}}@media(max-width:768px){.cabinet-layout{flex-direction:column;gap:8px;padding:0 8px;justify-content:flex-start}.center-panel{flex:1 1 auto;min-height:0;width:100%}.side-panel{flex:0 0 auto;flex-direction:row;flex-wrap:wrap;max-width:100%;min-width:0;gap:6px;justify-content:center}.controls-card{padding:8px 12px;min-width:0;flex:1 1 auto;max-width:48%}.key{width:28px;height:28px;font-size:.7rem}.left-panel,.right-panel{justify-content:center}footer{display:none}}@media(max-width:480px){header h1{font-size:1rem}.cabinet-layout{gap:4px;padding:0 4px}.controls-card{padding:6px 8px;border-radius:8px}.controls-card h3{font-size:.7rem;padding-bottom:4px}.key-list li{gap:3px;font-size:.65rem}.key-badge{padding:1px 4px;font-size:.6rem}}
