body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#f0f4f8,#dce3f0);color:#333;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:20px;box-sizing:border-box}.app-container{width:100%;max-width:900px;background-color:#ffffffe6;border-radius:20px;box-shadow:0 10px 30px #0000001a,0 5px 15px #0000000d,inset 0 1px #ffffff4d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:30px;box-sizing:border-box;overflow:hidden;position:relative}.app-header{text-align:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px dashed rgba(100,100,150,.2)}.app-header h1{font-size:2.5em;color:#2c3e50;margin:0;display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap}.cloud-icon{font-size:1.2em;color:#5dade2;text-shadow:0 0 5px rgba(93,173,226,.5)}.app-subtitle{font-size:.7em;color:#7f8c8d;font-weight:400;display:block;margin-top:5px}.main-content{display:flex;flex-wrap:wrap;gap:30px}.generator-section{flex:2;min-width:300px;background-color:#f0f8ffb3;border-radius:15px;padding:25px;box-shadow:inset 0 0 15px #add8e64d;display:flex;flex-direction:column;align-items:center}.history-section{flex:1;min-width:250px;background:linear-gradient(to bottom,#fffc,#e6ebf0cc);border-radius:15px;padding:20px;box-shadow:0 5px 20px #00000014}.history-section h2{font-size:1.4em;color:#34495e;margin-top:0;margin-bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.clear-history-button{background:none;border:none;color:#e74c3c;cursor:pointer;padding:5px;border-radius:5px;transition:background-color .2s ease,transform .2s ease}.clear-history-button:hover{background-color:#e74c3c1a;transform:scale(1.1)}.category-selector{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;justify-content:center;width:100%}.category-button{background:linear-gradient(135deg,#fff,#e0e5ec);border:none;border-radius:15px;padding:8px 15px;cursor:pointer;font-size:.9em;color:#555;font-weight:500;display:flex;align-items:center;gap:8px;box-shadow:0 2px 5px #0000001a;transition:all .3s ease;white-space:nowrap}.category-button:hover{background:linear-gradient(135deg,#f0f4f8,#dce3f0);box-shadow:0 4px 10px #00000026;transform:translateY(-2px)}.category-button.active{background:linear-gradient(135deg,#85c1e9,#3498db);color:#fff;font-weight:700;box-shadow:0 6px 15px #3498db66}.category-icon{width:20px;height:20px;stroke:currentColor}.category-name-text{display:none}@media (min-width: 600px){.category-name-text{display:inline}.category-button{padding:10px 18px}}.excuse-display{width:100%;min-height:150px;display:flex;justify-content:center;align-items:center;margin-bottom:25px;position:relative}.excuse-bubble{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:20px 30px;box-shadow:0 8px 25px #0000001f,inset 0 2px 5px #ffffff80;position:relative;max-width:90%;text-align:center;animation:fadeInSlideUp .5s ease-out forwards;border:1px solid rgba(200,210,220,.5)}.excuse-bubble p{font-size:1.3em;color:#2c3e50;margin:0;line-height:1.5;font-weight:500}.excuse-bubble .category-tag{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);background-color:#85c1e9;color:#fff;padding:4px 10px;border-radius:10px;font-size:.7em;font-weight:700;box-shadow:0 2px 5px #3498db4d}.excuse-bubble .bubble-tail{position:absolute;bottom:-10px;left:50%;transform:translate(-50%) rotate(45deg);width:20px;height:20px;background:inherit;border-radius:0 0 5px;box-shadow:inherit;border-top:1px solid rgba(200,210,220,.5);border-left:1px solid rgba(200,210,220,.5)}.excuse-bubble.generating{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;padding:20px}.excuse-bubble.generating p{font-size:1.1em;color:#7f8c8d;margin-bottom:15px}.spinner{border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top:4px solid #3498db;width:30px;height:30px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.action-buttons{display:flex;justify-content:center;gap:15px;margin-top:auto;width:100%;flex-wrap:wrap}.generate-button{background:linear-gradient(135deg,#85c1e9,#3498db);color:#fff;border:none;border-radius:25px;padding:12px 25px;font-size:1.1em;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:10px;box-shadow:0 5px 15px #3498db66;transition:all .3s ease;white-space:nowrap}.generate-button:hover:not(:disabled){background:linear-gradient(135deg,#3498db,#2980b9);box-shadow:0 8px 20px #2980b980;transform:translateY(-3px)}.generate-button:disabled{background:linear-gradient(135deg,#bdc3c7,#95a5a6);cursor:not-allowed;box-shadow:none;transform:none}.action-button{background:linear-gradient(135deg,#fff,#f0f4f8);color:#34495e;border:none;border-radius:20px;padding:10px 18px;font-size:.95em;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 3px 8px #0000001a;transition:all .3s ease}.action-button:hover:not(:disabled){background:linear-gradient(135deg,#f0f4f8,#dce3f0);box-shadow:0 5px 12px #00000026;transform:translateY(-2px)}.action-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.copy-button{color:#2ecc71}.share-button{color:#f39c12}.history-list{list-style:none;padding:0;margin:0;max-height:350px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#888 #f1f1f1}.history-list::-webkit-scrollbar{width:8px}.history-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.history-list::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.history-list::-webkit-scrollbar-thumb:hover{background:#555}.history-item{background:#ffffffb3;border-radius:12px;padding:12px 15px;margin-bottom:10px;box-shadow:0 2px 8px #00000014;transition:all .3s ease;cursor:pointer;border:1px solid rgba(200,210,220,.4)}.history-item:hover{background:#ffffffe6;box-shadow:0 4px 12px #0000001f;transform:scale(1.01)}.history-item-content{display:flex;justify-content:space-between;align-items:center;gap:10px}.history-item-content p{margin:0;font-size:.95em;color:#333;flex-grow:1;line-height:1.4}.history-icon-text{display:flex;align-items:center;gap:8px;flex-shrink:0}.history-icon-text .category-icon{width:18px;height:18px;stroke:#7f8c8d}.history-category-tag{background-color:#e0e6ed;color:#555;padding:3px 8px;border-radius:8px;font-size:.65em;font-weight:700;white-space:nowrap;flex-shrink:0}.empty-history-message{text-align:center;color:#95a5a6;padding:20px;font-style:italic}.toast-message{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:#2c3e50d9;color:#fff;padding:12px 25px;border-radius:25px;font-size:.9em;z-index:1000;box-shadow:0 5px 15px #0003;animation:fadeOut 3s forwards;white-space:nowrap}@keyframes fadeOut{0%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(20px)}}@media (max-width: 768px){.app-header h1{font-size:1.8em;flex-direction:column;gap:5px}.app-subtitle{margin-top:0}.main-content{flex-direction:column}.generator-section,.history-section{flex:none;width:100%}.excuse-bubble p{font-size:1.1em}.action-buttons{flex-direction:row;justify-content:center}.generate-button{width:100%;justify-content:center}.category-button{padding:8px 12px;font-size:.8em}}@media (max-width: 480px){.app-container{padding:20px}.category-selector{gap:8px}.category-button{padding:6px 10px;font-size:.75em}.excuse-bubble{padding:15px 20px}.excuse-bubble p{font-size:1em}.action-buttons{flex-direction:column;gap:10px}.action-button,.generate-button{width:100%;padding:10px;font-size:1em}.history-item-content{flex-direction:column;align-items:flex-start}.history-icon-text{margin-bottom:5px}.history-category-tag{font-size:.6em}}
