:root{--background-color: #121212;--accent-yellow: #FFD60A;--calm-yellow: #E8C547;--panel-bg: rgba(28, 28, 30, .75);--primary-text: #EAEAEA;--secondary-text: #8A8A8E;--panel-border: rgba(255, 214, 10, .2);--danger-color: #F44336;--edit-color: var(--calm-yellow);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:var(--background-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--background-color);overscroll-behavior:none;margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;height:100vh;padding:80px 0 20px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;overflow-y:auto}.main-container{display:flex;flex-direction:column;gap:24px;padding:24px;width:100%;max-width:400px}.main-container.vertical-layout{justify-content:center}.action-button{background-color:var(--panel-bg);border:1px solid var(--panel-border);border-radius:20px;padding:24px;color:var(--primary-text);text-align:center;cursor:pointer;transition:transform .2s ease,background-color .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;gap:12px}.action-button:hover{background-color:#ffd60a1a;transform:translateY(-5px)}.action-button.disabled{cursor:not-allowed;color:var(--secondary-text);opacity:.6}.action-button.disabled:hover{background-color:var(--panel-bg);transform:none}.action-button svg{width:48px;height:48px;fill:currentColor;transition:fill .2s ease}.action-button h2{font-size:20px;font-weight:600;margin:0}.action-button p{font-size:14px;color:var(--secondary-text);margin:0}.action-button.primary svg{color:var(--accent-yellow)}.action-button.primary.active{border-color:var(--accent-yellow);box-shadow:0 0 15px #ffd60a33}.action-button.profile svg{color:var(--accent-yellow)}.action-button.get-workout svg{color:var(--accent-yellow)}.action-button.history svg{color:var(--accent-yellow)}.workout-card{background-color:var(--panel-bg);border:1px solid var(--panel-border);border-radius:20px;padding:20px;width:100%;max-width:400px;box-shadow:0 8px 32px #0000004d;color:var(--primary-text);display:flex;flex-direction:column;gap:16px;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.workout-card .card-header{text-align:center}.workout-card .card-header h3{font-size:20px;color:var(--accent-yellow);margin:0}.workout-card .card-content{background:#0003;border-radius:12px;padding:14px;min-height:150px;max-height:30vh;overflow-y:auto}.workout-card .card-content pre{white-space:pre-wrap;word-wrap:break-word;font-family:inherit;font-size:15px;color:var(--primary-text);margin:0}.workout-card .card-actions{display:flex;gap:12px}.workout-card .card-actions button{flex:1;border:none;padding:14px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .1s}.workout-card .card-actions button:active{transform:scale(.98)}.workout-card .button-secondary{background-color:var(--panel-bg);color:var(--primary-text);border:1px solid var(--panel-border)}.workout-card .button-danger{background-color:#f4433626;color:#f44336;border:1px solid #F44336}.modal-header{display:flex;justify-content:center;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--panel-border);position:relative}.modal-header h3{margin:0;flex-grow:1;text-align:center;padding-right:30px;padding-left:30px}.close-button{background:transparent;border:none;color:var(--secondary-text);font-size:28px;cursor:pointer;padding:0;line-height:1;width:30px;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:color .2s}.loading-spinner{width:40px;height:40px;border:4px solid var(--panel-border);border-top-color:var(--accent-yellow);border-radius:50%;animation:spin 1s linear infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin{to{transform:rotate(360deg)}}.button-loading{position:relative;color:transparent!important;pointer-events:none}.button-loading .button-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block}.button-spinner{display:none;width:20px;height:20px;border:3px solid rgba(0,0,0,.3);border-top-color:#121212;border-radius:50%;animation:spin 1s linear infinite}.button-secondary .button-spinner,.button-danger .button-spinner{border-color:#ffffff4d;border-top-color:var(--primary-text)}#toast-container{position:fixed;top:30px;left:50%;transform:translate(-50%);z-index:999;display:flex;flex-direction:column;align-items:center;gap:10px}.toast{background-color:var(--panel-bg);color:var(--primary-text);padding:14px 22px;border-radius:16px;box-shadow:0 8px 24px #0006;border:1px solid var(--panel-border);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);font-size:15px;font-weight:500;animation:slideInDown .4s cubic-bezier(.25,.46,.45,.94),fadeOut .4s ease-in 2.6s forwards;display:flex;align-items:center;gap:12px;min-width:280px;justify-content:center}.toast.error{color:var(--danger-color);border-color:#f4433666}.toast.success{color:#4caf50;border-color:#4caf5066}.toast .toast-icon{width:20px;height:20px}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px) translate(-50%)}to{opacity:1;transform:translateY(0) translate(-50%)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:100;display:flex;justify-content:center;align-items:center;padding:16px}.modal-content{background-color:var(--panel-bg);border:1px solid var(--panel-border);border-radius:20px;padding:24px;width:100%;max-width:500px;box-shadow:0 8px 32px #0000004d;color:var(--primary-text);display:flex;flex-direction:column;gap:20px;max-height:90vh;overflow-y:auto}.modal-content h3{text-align:center;font-size:22px;color:var(--accent-yellow);margin:0}.modal-content textarea{width:100%;min-height:200px;background:#0003;border:1px solid var(--panel-border);color:var(--primary-text);font-size:16px;padding:14px;border-radius:12px;outline:none;resize:vertical;transition:border-color .2s,box-shadow .2s;font-family:inherit}.modal-content textarea:focus{border-color:var(--accent-yellow);box-shadow:0 0 0 3px #ffd60a4d}.modal-actions{display:flex;gap:12px;margin-top:10px}.modal-actions button{flex:1;border:none;padding:14px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .1s}.modal-actions button:active{transform:scale(.98)}.modal-actions .button-primary{background-color:var(--accent-yellow);color:#121212}.modal-actions .button-secondary{background-color:var(--panel-bg);color:var(--secondary-text);border:1px solid var(--panel-border)}.modal-actions .button-group{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.modal-actions .button-subtitle{font-size:12px;color:var(--secondary-text);font-weight:400;text-align:center}.modal-actions .button-calm{background-color:var(--calm-yellow);color:#121212}.workout-card .button-edit{background-color:var(--edit-color);color:#121212}.workout-card .button-danger{background-color:#f4433626;color:var(--danger-color);border:1px solid var(--danger-color)}.button-edit{background-color:var(--calm-yellow);color:#121212}.button-logout{background-color:transparent;color:var(--secondary-text);border:1px solid var(--panel-border)}.modal-subtitle{text-align:center;color:var(--secondary-text);margin:-10px 0 20px;font-size:15px}.login-input{width:100%;background:#0003;border:1px solid var(--panel-border);color:var(--primary-text);font-size:16px;padding:14px;border-radius:12px;outline:none;transition:border-color .2s,box-shadow .2s;margin-bottom:20px}.login-input:focus{border-color:var(--accent-yellow);box-shadow:0 0 0 3px #ffd60a4d}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}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}.error-view{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;padding:16px}.error-view .modal-subtitle{background-color:#ffffff0d;padding:10px 14px;border-radius:12px;border:1px solid var(--panel-border);font-size:14px;line-height:1.5;color:var(--secondary-text)}.error-view p:not(.modal-subtitle){margin:0;font-size:16px;color:var(--primary-text)}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app-header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#121212b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--panel-border);z-index:10}.logo{font-size:20px;font-weight:700;color:var(--accent-yellow)}.profile-button{background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--primary-text);padding:8px 16px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.profile-button:hover{background-color:#ffffff1a}.profile-button svg{width:20px;height:20px}.profile-info{text-align:center;margin-bottom:16px}.profile-info p{color:var(--secondary-text);margin:8px 0 0}.goal-textarea{width:100%;min-height:120px;background:#0003;border:1px solid var(--panel-border);color:var(--primary-text);font-size:16px;padding:14px;border-radius:12px;outline:none;resize:vertical;transition:border-color .2s,box-shadow .2s;font-family:inherit}.goal-textarea:focus{border-color:var(--calm-yellow);box-shadow:0 0 0 3px #e8c5474d}.get-workout-textarea{width:100%;min-height:150px;background:#0003;border:1px solid var(--panel-border);color:var(--primary-text);font-size:15px;padding:14px;border-radius:12px;outline:none;resize:vertical;transition:border-color .2s,box-shadow .2s;font-family:inherit}.get-workout-textarea:focus{border-color:var(--accent-yellow);box-shadow:0 0 0 3px #ffd60a4d}.profile-fields{display:flex;flex-direction:column;gap:16px}.field-group{display:flex;flex-direction:column;gap:8px}.field-group label{font-size:14px;font-weight:500;color:var(--secondary-text)}.field-group pre,.field-group textarea{width:100%;min-height:80px;background:#0003;border:1px solid var(--panel-border);color:var(--primary-text);font-size:15px;padding:12px;border-radius:12px;font-family:inherit;white-space:pre-wrap;word-wrap:break-word;margin:0}.field-group textarea{outline:none;resize:vertical;transition:border-color .2s,box-shadow .2s}.field-group textarea:focus{border-color:var(--calm-yellow);box-shadow:0 0 0 3px #e8c5474d}.profile-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--panel-border)}.profile-username{font-size:24px;font-weight:700;color:var(--calm-yellow)}.prompt-container{background-color:#0003;border-radius:12px;padding:16px;margin-top:16px;border:1px solid var(--panel-border);max-height:40vh;overflow-y:auto}.prompt-text{white-space:pre-wrap;word-wrap:break-word;font-family:Menlo,Monaco,Courier New,monospace;font-size:14px;color:var(--secondary-text);line-height:1.6}.prompt-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;gap:16px;color:var(--secondary-text)}.prompt-loader .button-spinner{display:block}.history-container{margin-top:16px;max-height:60vh;overflow-y:auto;padding-right:8px}.history-item{background-color:#0000001a;border:1px solid var(--panel-border);border-radius:12px;margin-bottom:12px;overflow:hidden}.history-item-header{padding:14px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:500}.history-item-header:hover{background-color:#ffffff0d}.history-item-chevron{transition:transform .2s ease-in-out}.history-item-chevron.expanded{transform:rotate(180deg)}.history-item-title{display:flex;align-items:center;gap:12px}.history-item-tag{font-size:12px;padding:3px 8px;border-radius:6px;font-weight:500}.history-item-tag.ai_suggestion{background-color:#ffd60a26;color:var(--accent-yellow);border:1px solid rgba(255,214,10,.2)}.history-item-tag.user_workout{background-color:#ffffff1a;color:var(--secondary-text);border:1px solid rgba(255,255,255,.15)}.history-item-content{padding:0 16px 16px;border-top:1px solid var(--panel-border)}.history-item-content .prompt-text{padding:16px 0}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin-top:1em;margin-bottom:.5em;font-weight:600}.markdown-content ul,.markdown-content ol{padding-left:20px}.markdown-content p{line-height:1.6;margin-bottom:1em}.markdown-content strong{font-weight:600}
