@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Noto Sans KR,-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{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh;position:relative;text-align:center}.App:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='10' cy='10' r='1' fill='rgba(148,163,184,0.1)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:-1}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}::selection{background-color:#b1bdf0;color:#000}.App-header{background:linear-gradient(135deg,#1e293b,#334155);box-shadow:0 4px 20px #00000026;color:#fff;overflow:hidden;padding:1.5rem;position:relative}.App-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='50' cy='50' r='1' fill='rgba(255,255,255,0.03)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.header-content{align-items:center;display:flex;gap:1rem;justify-content:center;margin:0 auto;max-width:1200px;position:relative;z-index:1}.logo{height:40px;width:auto}h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#e2e8f0);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0000001a}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}main{margin:0 auto;max-width:1200px;padding:1rem}.controls{margin-bottom:1rem}.controls,.manuscript-container{display:flex;justify-content:center}.manuscript-container{align-items:flex-start;box-sizing:border-box;gap:2rem;margin:0 auto;max-width:1400px;min-height:calc(100vh - 100px);padding:1.5rem}@media (max-width:1024px){.manuscript-container{align-items:center;flex-direction:column;gap:1.5rem;padding:1rem}}.input-section{align-items:stretch;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #00000014;box-sizing:border-box;display:flex;flex:0 0 480px;flex-direction:column;gap:1.5rem;justify-content:flex-start;min-height:700px;overflow:hidden;padding:2rem;position:relative}.input-section:before{background:linear-gradient(90deg,#4f46e5,#7c3aed,#ec4899);content:"";height:4px;left:0;position:absolute;right:0;top:0}@media (max-width:1024px){.input-section{flex:none;max-width:500px;padding:1.5rem;width:100%}}@media (max-width:768px){.manuscript-container{gap:1rem;padding:1rem}.input-section{min-height:auto;padding:1rem}.text-input{font-size:1rem;height:300px;padding:1rem}.grid-container{max-width:none;min-width:0;min-width:auto;padding:1rem}.button-groups{flex-direction:column;gap:.5rem}.button-group{flex-direction:column;width:100%}.button-group button{min-width:0;min-width:auto;width:100%}.pagination{flex-direction:column;gap:1rem;padding:1rem}.page-btn{min-width:0;min-width:auto;width:100%}}.text-input{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e9ecef;border-radius:16px;box-sizing:border-box;color:#495057;font-family:Noto Sans KR,sans-serif;font-size:1.1rem;height:400px;line-height:1.8;overflow-y:auto;padding:1.5rem;position:relative;resize:vertical;scrollbar-color:#adb5bd #f8f9fa;scrollbar-width:thin;transition:all .3s ease;width:100%}.text-input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.text-input::placeholder{color:#9ca3af}.text-input::-webkit-scrollbar{width:8px}.text-input::-webkit-scrollbar-track{background:#f8f9fa;border-radius:4px}.text-input::-webkit-scrollbar-thumb{background-color:#adb5bd;border:2px solid #f8f9fa;border-radius:4px}.text-input:focus{background-color:#fff;border-color:#4a90e2;box-shadow:0 0 0 4px #4a90e21a;outline:none}.text-input::placeholder{color:#adb5bd;font-style:italic}.stats{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:1px solid #0000000d;border-radius:16px;margin-top:auto;padding:1.5rem;text-align:center}.total-chars{color:#495057;font-size:1.1rem;font-weight:500;gap:.5rem;justify-content:center}.grid-section,.total-chars{align-items:center;display:flex}.grid-section{box-sizing:border-box;flex:1 1 900px;flex-direction:column;gap:1.5rem;justify-content:flex-start;max-width:1000px;min-width:850px}@media (max-width:1024px){.grid-section{flex:none;max-width:none;min-width:0;min-width:auto;width:100%}}.grid-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #00000014;box-sizing:border-box;max-width:900px;min-width:700px;padding:2rem;position:relative;width:100%}.grid-row{display:flex;gap:0;justify-content:center;margin-bottom:0}.grid-cell[data-style]{display:none}.pagination{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 16px #00000014;display:flex;gap:1.5rem;justify-content:center;margin-top:1.5rem;padding:1.5rem}.page-btn{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:600;min-width:120px}.page-btn:hover:not(:disabled){background:linear-gradient(135deg,#4338ca,#6d28d9);box-shadow:0 8px 25px #4f46e54d;transform:translateY(-2px)}.page-info{color:#495057;font-size:1rem;font-weight:500;min-width:120px;text-align:center}@media (max-width:1200px){.manuscript-container{align-items:center;flex-direction:column;gap:1rem;padding:1rem}.grid-section,.input-section{padding:1rem}.grid-container,.grid-section,.input-section{max-width:100%;min-width:0;min-width:auto;width:100%}.text-input{height:300px}}@media (max-width:900px){.grid-section{padding:.5rem}.grid-container,.grid-section{max-width:100%;min-width:0;min-width:auto;width:100%}.grid-container{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:1rem}.grid-row{justify-content:flex-start;min-width:-webkit-max-content;min-width:max-content}.button-groups{gap:12px}.button-group{padding:10px}.text-input{font-size:1rem;padding:1rem}}@media (max-width:600px){.manuscript-container{gap:.5rem;min-height:calc(100vh - 60px);padding:.5rem}.input-section{gap:1rem;min-height:auto;padding:.75rem}.grid-container{border-radius:8px;padding:.5rem}.grid-row{gap:0;margin-bottom:0}.grid-cell{align-items:center;display:flex;font-size:14px;height:28px;justify-content:center;min-width:28px}.text-input{font-size:.95rem;height:200px;padding:.75rem}.stats{padding:1rem}.total-chars{font-size:.95rem}.pagination{gap:.75rem;padding:.75rem}.page-info{font-size:.9rem;min-width:90px}.page-btn{font-size:.9rem;min-width:100px;padding:8px 16px}.bonus-btn,.clear-btn,.download-btn,.highlight-btn,.print-btn,.settings-btn,.speak-btn,.stop-btn{font-size:.9rem;height:36px;min-width:120px;padding:8px 16px}.grid-settings-panel{min-width:280px;padding:15px}.grid-settings-panel h3{font-size:18px;margin-bottom:15px}.setting-group label{font-size:.9rem}.setting-group input,.setting-group select.style-select{font-size:.9rem;padding:4px 8px}.button-groups{gap:8px;margin-top:12px}.button-group{gap:8px;padding:8px}.cell-marker-badge{font-size:.7rem;padding:1px 4px;right:-30px}}@media (max-width:400px){.manuscript-container{padding:.25rem}.input-section,.text-input{padding:.5rem}.text-input{font-size:.9rem}.bonus-btn,.clear-btn,.download-btn,.highlight-btn,.print-btn,.settings-btn,.speak-btn,.stop-btn{font-size:.85rem;height:32px;min-width:100px;padding:6px 12px}.button-group{gap:6px;padding:6px}.grid-container{padding:.25rem}.grid-cell{font-size:12px;height:24px;min-width:24px}.cell-marker-badge{font-size:.65rem;right:-25px}}.grid-cell.space{background-color:#fff}.grid-cell.punctuation{font-weight:700}.grid-cell.ellipsis{font-weight:700;letter-spacing:-2px}.grid-cell.latin-upper{font-size:18px}.grid-cell.latin-lower-pair{font-size:16px;letter-spacing:-1px}.grid-cell.empty{background-color:#fff}@media print{.input-section{display:none}.grid-cell,.grid-container{border:1px solid #000}.grid-cell{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.grid-cell+.grid-cell{margin-left:0}.grid-row+.grid-row{margin-top:8px}.cell-marker-badge{background:#fdcc9f;border-radius:10px;box-shadow:0 1px 4px #00000014;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:0;opacity:.75;padding:2px 6px;pointer-events:none;position:absolute;right:-40px;top:5px;z-index:2}.highlight-controls{display:none}.bonus-btn,.button-group button,.clear-btn,.close-btn,.download-btn,.generate-btn,.highlight-btn,.page-btn,.print-btn,.random-score-btn,.reset-btn,.settings-btn,.speak-btn,.stop-btn{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #00000014;border-radius:12px;box-shadow:0 2px 8px #00000014;color:#495057;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;height:44px;justify-content:center;min-width:120px;overflow:hidden;padding:.75rem 1.25rem;position:relative;transition:all .3s ease}.bonus-btn:before,.clear-btn:before,.close-btn:before,.download-btn:before,.generate-btn:before,.highlight-btn:before,.print-btn:before,.random-score-btn:before,.reset-btn:before,.settings-btn:before,.speak-btn:before,.stop-btn:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.bonus-btn:hover:not(:disabled),.button-group button:hover:not(:disabled),.clear-btn:hover:not(:disabled),.close-btn:hover:not(:disabled),.download-btn:hover:not(:disabled),.generate-btn:hover:not(:disabled),.highlight-btn:hover:not(:disabled),.page-btn:hover:not(:disabled),.print-btn:hover:not(:disabled),.random-score-btn:hover:not(:disabled),.reset-btn:hover:not(:disabled),.settings-btn:hover:not(:disabled),.speak-btn:hover:not(:disabled),.stop-btn:hover:not(:disabled){background:linear-gradient(135deg,#fff,#f0f9ff);border-color:#4f46e5;box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.bonus-btn:hover:not(:disabled):before,.clear-btn:hover:not(:disabled):before,.close-btn:hover:not(:disabled):before,.download-btn:hover:not(:disabled):before,.generate-btn:hover:not(:disabled):before,.highlight-btn:hover:not(:disabled):before,.print-btn:hover:not(:disabled):before,.random-score-btn:hover:not(:disabled):before,.reset-btn:hover:not(:disabled):before,.settings-btn:hover:not(:disabled):before,.speak-btn:hover:not(:disabled):before,.stop-btn:hover:not(:disabled):before{left:100%}.bonus-btn:active:not(:disabled),.button-group button:active:not(:disabled),.clear-btn:active:not(:disabled),.close-btn:active:not(:disabled),.download-btn:active:not(:disabled),.generate-btn:active:not(:disabled),.highlight-btn:active:not(:disabled),.page-btn:active:not(:disabled),.print-btn:active:not(:disabled),.random-score-btn:active:not(:disabled),.reset-btn:active:not(:disabled),.settings-btn:active:not(:disabled),.speak-btn:active:not(:disabled),.stop-btn:active:not(:disabled){box-shadow:0 2px 4px #4a90e21a;transform:translateY(0)}.button-groups{flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem}.button-group{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #00000014;box-shadow:0 2px 8px #0000000a;gap:.5rem;padding:.5rem}.highlight-btn.active{background-color:#e9ecef;border-color:#ced4da;color:#2b8a3e}.clear-btn,.stop-btn{color:#c92a2a}.close-btn{color:#495057}.reset-btn{color:#e67700}.bonus-btn{color:#1971c2}.random-score-btn{color:#5f3dc4}.speak-btn.speaking{background-color:#e9ecef;border-color:#ced4da;color:#2b8a3e}.icon{font-size:1rem;margin-right:.25rem}button:disabled{background-color:#f1f3f5!important;border-color:#e9ecef!important;box-shadow:none!important;color:#adb5bd!important;cursor:not-allowed;opacity:.5;transform:none!important}@media (max-width:768px){.bonus-btn,.button-group button,.clear-btn,.close-btn,.download-btn,.generate-btn,.highlight-btn,.page-btn,.print-btn,.random-score-btn,.reset-btn,.settings-btn,.speak-btn,.stop-btn{font-size:.9rem;min-width:100px;padding:.6rem 1rem}.button-groups{justify-content:center}}@media (max-width:480px){.bonus-btn,.button-group button,.clear-btn,.close-btn,.download-btn,.generate-btn,.highlight-btn,.page-btn,.print-btn,.random-score-btn,.reset-btn,.settings-btn,.speak-btn,.stop-btn{font-size:.85rem;min-width:90px;padding:.5rem .75rem}.button-groups{align-items:stretch}.button-group,.button-groups{flex-direction:column}}.grid-settings-panel{animation:slideIn .3s ease;background:#fff;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #0003;left:50%;min-width:320px;padding:25px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1001}.grid-settings-panel h3{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:20px;font-weight:600;margin:0 0 25px;padding-bottom:12px}.setting-group{margin-bottom:25px}.setting-group:last-of-type{margin-bottom:30px}.setting-group label{align-items:center;color:#4a5568;display:flex;font-size:14px;font-weight:500;margin-bottom:15px}.setting-group label:last-child{margin-bottom:0}.setting-group input{border:1px solid #e2e8f0;border-radius:6px;font-size:14px;margin-left:auto;padding:6px 10px;transition:all .2s ease;width:80px}.setting-group input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.setting-group input[type=color]{border-radius:4px;cursor:pointer;height:35px;padding:2px;width:45px}.setting-group input[type=number]{text-align:center}.setting-group select.style-select{background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:14px;margin-left:auto;padding:6px 10px;transition:all .2s ease;width:140px}.setting-group select.style-select:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.setting-group select.style-select:hover{border-color:#4a90e2}.settings-buttons{border-top:2px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:25px;padding-top:20px}.grid-settings-panel .close-btn,.grid-settings-panel .reset-btn{border:none;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:10px 20px;transition:all .3s ease}.grid-settings-panel .reset-btn{background:linear-gradient(135deg,#dc3545,#c82333);border:1px solid #dc3545;color:#fff}.grid-settings-panel .reset-btn:hover{background:linear-gradient(135deg,#c82333,#a71e2a);box-shadow:0 4px 12px #dc35454d;transform:translateY(-2px)}.grid-settings-panel .close-btn{background:linear-gradient(135deg,#6c757d,#5a6268);border:1px solid #6c757d;color:#fff}.grid-settings-panel .close-btn:hover{background:linear-gradient(135deg,#5a6268,#495057);box-shadow:0 4px 12px #6c757d4d;transform:translateY(-2px)}.modal-overlay{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;z-index:999}.highlighted{position:relative}.highlighted:after{background-color:#ffff004d;bottom:0;box-shadow:inset 0 0 0 2px gold;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{align-items:center;animation:slideIn .3s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:90vw;padding:2rem;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1001}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.grid-cell[data-style=default]{background-color:#fff;border:1px solid #79b2eb}.grid-cell[data-style=modern]{background-color:#fff;border-color:#79b2eb #b3d4ff;border-style:solid;border-width:.8px}.grid-cell[data-style=classic]{background-color:#fafcff;border:1px solid #2d5b96}.speak-btn{align-items:center;background-color:#4caf50;border:none;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;height:40px;justify-content:center;min-width:140px;padding:10px 20px;transition:all .2s ease}.speak-btn:hover{background-color:#45a049;box-shadow:0 4px 8px #4caf5033;transform:translateY(-1px)}.speak-btn.speaking{background-color:#ff9800}.speak-btn.speaking:hover{background-color:#f57c00;box-shadow:0 4px 8px #ff980033}.stop-btn{align-items:center;background-color:#f44336;border:none;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;height:40px;justify-content:center;min-width:140px;padding:10px 20px;transition:all .2s ease}.stop-btn:hover{background-color:#e53935;box-shadow:0 4px 8px #f4433633;transform:translateY(-1px)}.highlight-controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:15px}@media (max-width:768px){.speak-btn,.stop-btn{min-width:0;min-width:auto;width:100%}}.button-groups{display:flex;flex-direction:column;gap:20px;margin-top:20px;width:100%}.button-group{background:#fffc;border:1px solid #e9ecef;border-radius:12px;display:flex;gap:12px;justify-content:center;padding:15px}@media (max-width:900px){.button-groups{gap:15px;padding:.5rem}.button-group{flex-wrap:wrap;gap:10px;padding:12px}.highlight-controls{display:flex;flex-wrap:wrap;gap:10px}}@media (max-width:600px){.button-groups{gap:12px;padding:.25rem}.button-group{flex-direction:column;gap:8px;padding:10px;width:100%}.export-group,.highlight-group,.settings-group,.speech-controls{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px}.bonus-btn,.clear-btn,.download-btn,.highlight-btn,.page-btn,.print-btn,.settings-btn,.speak-btn,.stop-btn{font-size:.9rem;height:40px;justify-content:center;min-width:0;min-width:auto;padding:8px 12px;width:100%}.button-group .icon{font-size:1.1rem}.highlight-controls{gap:8px;margin-top:10px}}@media (max-width:400px){.button-groups{gap:8px}.button-group{gap:6px;padding:8px}.bonus-btn,.clear-btn,.download-btn,.highlight-btn,.page-btn,.print-btn,.settings-btn,.speak-btn,.stop-btn{font-size:.85rem;height:36px;padding:6px 10px}.button-group .icon{font-size:1rem}.export-group,.highlight-group,.settings-group,.speech-controls{border-radius:6px}.button-group h3,.button-group h4{font-size:.9rem;margin:0 0 4px}}@media (hover:none) and (pointer:coarse){.bonus-btn,.clear-btn,.download-btn,.highlight-btn,.page-btn,.print-btn,.settings-btn,.speak-btn,.stop-btn{min-height:44px}.button-group{touch-action:manipulation}}.export-group,.highlight-group,.settings-group,.speech-controls{background-color:#fff;border-color:#e9ecef}.print-btn{align-items:center;background-color:#5c6bc0;border:none;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;height:40px;justify-content:center;min-width:140px;padding:10px 20px;transition:all .2s ease}.print-btn:hover{background-color:#3f51b5;box-shadow:0 4px 8px #5c6bc033;transform:translateY(-1px)}@media (max-width:768px){.button-group{flex-direction:column;width:100%}.button-group button{width:100%}}.random-score-btn{align-items:center;background-color:#6c5ce7;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;gap:8px;padding:8px 16px;transition:background-color .2s}.random-score-btn:hover{background-color:#5f4ed6}.random-score-modal{animation:modalPop .3s ease-out;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;box-shadow:0 10px 30px #0003;max-width:400px;padding:32px;text-align:center;width:90%}@keyframes modalPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.random-score-modal h2{color:#2d3436;font-size:24px;margin-bottom:20px;text-shadow:2px 2px 4px #0000001a}.score-display{animation:scoreAppear .5s ease-out;color:#6c5ce7;font-size:96px;font-weight:700;margin:30px 0;text-shadow:3px 3px 6px #00000026;transition:all .3s ease}.score-display.generating{color:#e84393;transform:scale(1.1)}@keyframes scoreAppear{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.score-message{animation:messageSlide .5s ease-out;background:#6c5ce71a;border-radius:8px;color:#2d3436;font-size:18px;margin:20px 0;padding:10px}@keyframes messageSlide{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.generate-btn{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transform-origin:center;transition:all .3s ease}.generate-btn:hover:not(:disabled){background-color:#e9ecef;box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.generate-btn:disabled{cursor:not-allowed;opacity:.7}.generate-btn .icon{transition:transform .3s ease}.generate-btn .icon.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-content .close-btn{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#495057;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.modal-content .close-btn:hover{background-color:#e9ecef;box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.modal-buttons{display:flex;gap:16px;justify-content:center;margin-top:30px}@media (max-width:480px){.random-score-modal{padding:20px}.score-display{font-size:72px}.score-message{font-size:16px}.modal-buttons{flex-direction:column;gap:12px}.generate-btn,.modal-content .close-btn{justify-content:center;width:100%}}
/*# sourceMappingURL=main.67234d19.css.map*/