:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}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;color:inherit;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}body,html{height:100%}#root{margin:0 auto;position:fixed;top:0;right:0;bottom:0;left:0}.app{max-width:800px;margin:0 auto;padding:2rem;text-align:center}.app-nav{background:#1a1a1a;padding:0;min-height:50px;display:flex;justify-content:space-between;align-items:center}.app-nav .help-button button{height:50px;border-radius:0}.app-nav h1{font-size:15pt;margin:0;padding-left:14px}#app-wrapper{display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;height:100%}.app-header{margin-bottom:2rem}.app-header h1{color:#646cff;margin:0}.app-header p{color:#888;font-size:1.1rem}.sentence-form{background:#ffffff0d;padding:2rem;border-radius:12px;margin-bottom:1.3rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}app.solved{background:#afffaf}.input-group{margin-bottom:1.5rem}.input-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#ddd}.sentence-input{width:100%;max-width:500px;padding:.75rem;font-size:1rem;border:2px solid rgba(100,108,255,.3);border-radius:8px;background:#ffffff1a;color:inherit;transition:border-color .3s ease}.sentence-input:focus{outline:none;border-color:#646cff}.submit-button{background:linear-gradient(135deg,#646cff,#535bf2);color:#fff;border:none;padding:.75rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer}.submit-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #646cff66}.happle-container{background:#ffffff0d;padding:2rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.happle-container h2{color:#646cff;margin-bottom:1.5rem}.sentence-display{background:#ffffff1a;padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-style:italic}.generate-button{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff;border:none;padding:.75rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;margin-bottom:2rem}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #ff6b6b66}.generate-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.happle-words{margin-top:2rem}.happle-words h3{color:#4ecdc4;margin-bottom:1.5rem}.word-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.word-buttons .author{padding-top:1.2rem}.word-button{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;padding:.75rem 1.5rem;font-size:1.1rem;font-weight:600;border-radius:25px;cursor:pointer;transition:all .3s ease;min-width:100px;text-transform:uppercase}.word-buttons .word-button.word-button-split{display:flex;align-items:center;justify-content:center;padding:0;min-width:0}.word-buttons .word-button.word-button-split .left{padding:.75rem 0 .75em 1.5rem;background-color:#4ac5ac;border-bottom-left-radius:25px;border-top-left-radius:25px}.word-buttons .word-button.word-button-split .right{padding:.75rem 1.5rem .75em 0;background-color:#4ac5ac;border-bottom-right-radius:25px;border-top-right-radius:25px}.app.solved .word-button.word-button-split .left,.app.solved .word-button.word-button-split .right{background-color:#3d933a}.word-button:hover{box-shadow:0 8px 20px #4ecdc44d;background:linear-gradient(135deg,#5fd3cb,#4ecdc4)}.word-buttons .word-button.word-button-split:hover{background-color:inherit}.word-buttons .word-button.word-button-split:focus .right{background-color:#2d8573}@media (hover:hover){.word-buttons .word-button.word-button-split:hover .right{background-color:#2d8573}}.word-buttons .word-button.word-button-split .right[draggable=true]{cursor:grab;transition:all .2s ease;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.word-buttons .word-button.word-button-split .right[draggable=true]:hover{background-color:#5fd3cb!important;transform:scale(1.05)}.word-buttons .word-button.word-button-split .right[draggable=true]:active{cursor:grabbing;transform:scale(.95)}@media (hover: none) and (pointer: coarse){.word-buttons .word-button.word-button-split .right[draggable=true]{cursor:default}.word-buttons .word-button.word-button-split .right[draggable=true]:active{background-color:#5fd3cb!important;transform:scale(1.1)}}.word-buttons .word-button.word-button-split[dragging=true]{opacity:.5}.word-buttons .word-button.word-button-split[drag-over=true]{background:#4ecdc433}.word-buttons .word-button.word-button-split[data-drag-over=true]{background:#4ecdc44d!important;transition:all .1s ease}.word-buttons .word-button.word-button-split .right:active{background-color:#5fd3cb!important;transition:none}.touch-drag-element{position:fixed!important;pointer-events:none!important;z-index:9999!important;opacity:.8!important;box-shadow:0 8px 20px #4ecdc466!important;background-color:#5fd3cb!important;border-radius:25px!important;transition:none!important}.word-buttons .word-button.word-button-split .right[data-dragging=true]{opacity:.3!important;background-color:#5fd3cb!important}body.touch-dragging{overflow:hidden;position:fixed;width:100%;height:100%}footer.game-footer{display:flex;justify-content:space-around;align-items:center}footer.game-footer .stats{display:flex;align-items:center;gap:1rem}footer.game-footer .stats .badge{display:inline-block;padding:0 .5rem;background-color:#404aca;border-radius:25px;font-size:1rem;color:#fff;line-height:1rem;height:1.2rem}footer.game-footer .stats div{color:#ddd;display:flex;gap:.5rem;align-items:center}.footer-date{color:#ddd;font-size:.9rem;margin-top:.5rem}.share-button{position:relative;display:inline-block;cursor:pointer}.share-button .badge{display:inline-block;padding:0 .5rem;background-color:#cd4e4e;border-radius:25px;color:#fff;font-size:.8rem;transition:background-color .2s ease}.share-button .badge:hover{background-color:#8f2f2f}.share-button .copied-overlay,.link-button .copied-overlay{position:absolute;top:-3rem;right:0;background-color:#000000e6;color:#fff;padding:.5rem 1rem;border-radius:25px;font-size:.8rem;opacity:0;transition:opacity .3s ease;pointer-events:none;width:120px}.share-button .copied-overlay.show,.link-button .copied-overlay.show{opacity:1}.link-button{position:relative}@media (max-width: 768px){.app{padding:1rem}.sentence-form,.happle-container{padding:1.5rem}.word-buttons{gap:.5rem}.word-button{padding:.6rem 1.2rem;font-size:1rem;min-width:80px}.app-header h1{font-size:2.5rem}}.text-button{background-color:transparent;border:none;color:#5fd3cb;cursor:pointer;font-size:1rem;padding:.5rem 1rem;border-radius:25px;transition:background-color .2s ease}.text-button:hover{background-color:#4ecdc41a}.word-button.selected{background:linear-gradient(135deg,#ff6b6b,#ee5a24);transform:scale(1.05);box-shadow:0 0 20px #ff6b6b99;animation:pulse-selected 1.5s infinite}.word-button.selected .left,.word-button.selected .right{background-color:#c44569}@keyframes pulse-selected{0%,to{box-shadow:0 0 20px #ff6b6b99}50%{box-shadow:0 0 30px #ff6b6bcc}}.previous-quote-button{border-radius:0}.muted{color:#999}.app-footer{min-height:42px;display:flex;justify-content:space-around;background:#1a1a1a}.app-footer button{border-radius:0}.app-footer button:focus{outline:none}.app-footer button:disabled{opacity:.3}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-content{background:#313133;padding:2rem;padding-top:2.8em;border-radius:8px;min-width:300px;max-width:90vw;position:relative;margin:0 14px}.modal-content button,.modal-content .button{background-color:#44a08d}.modal-content .modal-close-button{background-color:#000}.modal-close-button{position:absolute;padding:.2em .5em;margin:0;top:8px;right:8px;background:transparent;border:none;font-size:1.5rem;cursor:pointer}
