:root{color:#222;background-color:#f5f7fb;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*,:before,:after{box-sizing:border-box}body{margin:0}#root{min-height:100vh}.app-root{max-width:1200px;margin:0 auto;padding:1.5rem}.app-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.6rem;display:flex}.app-title{margin:0;font-size:1.8rem}.app-subtitle{color:#555;margin:.1rem 0 0;font-size:.95rem}.title-and-powered{flex-direction:column;gap:.1rem;display:flex}.powered-by-below{align-items:center;gap:.5rem;margin-top:-2px;display:flex}.app-actions{flex-direction:column;align-items:flex-end;gap:.4rem;display:flex}.app-stat{color:#333;font-size:.9rem}.saved-circuit-controls{align-items:center;gap:.35rem;font-size:.8rem;display:flex}.saved-circuit-controls select{background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:.15rem .6rem;font-size:.8rem}.app-title-block{flex-direction:column;gap:.25rem;display:flex}.app-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.app-header-left{flex-direction:column;gap:0;display:flex}.app-header-top-row{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.powered-by-badge{align-items:center;gap:.5rem;display:flex}.powered-by-banner{justify-content:center;align-items:center;gap:.3rem;margin-top:.25rem;margin-bottom:.5rem;display:flex}.powered-by-below{justify-content:center;align-items:center;gap:.5rem;margin-top:-4px;margin-bottom:8px;display:flex}.powered-by-label{color:#6b7280;font-size:.9rem;font-weight:500}.powered-by-logo{width:auto;height:140px}.powered-by-link{text-decoration:none}.app-layout{grid-template-columns:minmax(260px,320px) 1fr;align-items:flex-start;gap:1.25rem;display:grid}.circuit-panel{flex-direction:column;gap:.75rem;display:flex}.palette{background:#fff;border-radius:.75rem;flex-direction:column;max-height:80vh;padding:1rem;display:flex;box-shadow:0 2px 6px #0f172a14}.section-title{margin:0 0 .25rem;font-size:1.2rem}.section-subtitle{color:#666;margin:0 0 .75rem;font-size:.85rem}.palette-tabs{background:#e5edff;border-radius:999px;margin-bottom:.6rem;padding:.15rem;display:inline-flex}.palette-tab{cursor:pointer;color:#4b5563;background:0 0;border:none;border-radius:999px;padding:.25rem .8rem;font-size:.8rem}.palette-tab-active{color:#fff;background:#2563eb}.palette-items{flex-direction:column;gap:.5rem;padding-right:.2rem;display:flex;overflow-y:auto}.palette-item{cursor:pointer;background:#f8fafc;border-left:4px solid #94a3b8;border-radius:.6rem;padding:.5rem .6rem;transition:background .15s,box-shadow .15s,transform .1s}.palette-item:hover{background:#eef2ff;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb26}.palette-item:active{transform:translateY(0)}.palette-item-name{justify-content:space-between;align-items:center;font-size:.9rem;font-weight:600;display:flex}.palette-item-name-left{align-items:center;display:flex}.palette-item-add-indicator{color:#2563eb;opacity:.8;background:#e0e7ff;border-radius:999px;padding:.15rem .4rem;font-size:.7rem;font-weight:600;transition:opacity .15s}.palette-item:hover .palette-item-add-indicator{opacity:1}.palette-item-icon{margin-right:.4rem;font-size:1rem}.palette-item-description{color:#555;margin-top:.1rem;font-size:.8rem}.palette-item-instructions{color:#4b5563;margin-top:.2rem;font-size:.78rem}.palette-item-meta{color:#777;margin-top:.2rem;font-size:.75rem}.palette-search{margin-bottom:.5rem}.palette-search input{border:1px solid #d1d5db;border-radius:999px;width:100%;padding:.35rem .6rem;font-size:.85rem}.palette-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.5rem;display:grid}.palette-empty{color:#6b7280;font-size:.8rem}.palette-item-description--compact{color:#4b5563;max-height:3.1em;margin-top:.1rem;font-size:.78rem;line-height:1.3;overflow:hidden}.circuit-layout{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.9rem;display:grid}.circuit-column{background:#fff;border-radius:.75rem;flex-direction:column;align-items:stretch;min-height:auto;padding:.6rem;display:flex;box-shadow:0 2px 6px #0f172a14}.circuit-column-compact{min-height:130px}.circuit-column-header h3{margin:0;font-size:1rem}.circuit-column-subtitle{color:#666;margin:.15rem 0 .4rem;font-size:.8rem}.circuit-column-empty{color:#94a3b8;text-align:center;border:1px dashed #cbd5f5;border-radius:.6rem;flex:0;padding:.5rem .6rem;font-size:.8rem}.circuit-column-content{flex-direction:column;gap:.6rem;margin-top:.4rem;display:flex}.circuit-activity-wrapper{background:#f9fafb;border-top:4px solid #cbd5f5;border-radius:.6rem;padding:.4rem}.circuit-recommendation{color:#6b7280;margin-bottom:.3rem;font-size:.75rem}.phase-progress{margin-top:.5rem}.phase-progress-bar{background:#e5e7eb;border-radius:999px;height:6px;overflow:hidden}.phase-progress-fill{border-radius:inherit;background:#2563eb;height:100%}.phase-progress-text{color:#6b7280;margin-top:.15rem;font-size:.75rem}.timer-card{background:#fff;border:1px solid #e2e8f0;border-radius:.6rem;padding:.5rem .6rem .6rem}.timer-header{justify-content:space-between;align-items:center;display:flex}.timer-label{font-size:.9rem;font-weight:600}.timer-remove{cursor:pointer;color:#ef4444;background:0 0;border:none;font-size:.9rem}.timer-row{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.4rem;display:flex}.timer-time{font-family:ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1.1rem}.timer-controls{gap:.4rem;display:flex}.timer-duration{margin-top:.45rem;font-size:.8rem}.timer-duration input{width:3.5rem}.timer-details{color:#4b5563;margin-top:.4rem;font-size:.78rem}.timer-description{margin:0 0 .2rem}.timer-instructions{margin:0}.btn{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:999px;padding:.25rem .7rem;font-size:.8rem}.btn-secondary{color:#111827;background:#e2e8f0}.btn-danger{color:#fff;background:#ef4444}.btn:disabled{opacity:.6;cursor:default}.btn-primary-large{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:999px;padding:.6rem 1.8rem;font-size:1rem;font-weight:600;box-shadow:0 10px 25px #2563eb59}.btn-primary-large:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.run-button-row{flex-direction:column;align-items:center;gap:.35rem;margin-top:.5rem;display:flex}.run-button-hint{color:#6b7280;font-size:.8rem}.run-screen{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.run-card{text-align:center;background:#fff;border-radius:.9rem;width:100%;max-width:480px;padding:1.5rem 1.75rem;box-shadow:0 10px 30px #0f172a2e}.run-progress{color:#6b7280;margin-top:.25rem;font-size:.85rem}.run-timer-display{margin-top:.5rem;font-family:ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:2.4rem}.run-note{color:#6b7280;margin-top:.5rem;font-size:.85rem}.run-complete{color:#16a34a;margin-top:.75rem;font-size:.9rem;font-weight:600}.run-controls{justify-content:center;gap:.75rem;margin-top:1.25rem;display:flex}.run-progress-bar{background:#e5e7eb;border-radius:999px;width:100%;height:6px;margin-top:.5rem;overflow:hidden}.run-progress-fill{border-radius:inherit;background:#2563eb;height:100%}.run-progress-summary{color:#4b5563;margin-top:.25rem;font-size:.8rem}.run-phase-header{align-items:center;gap:.4rem;margin-top:.9rem;font-size:.9rem;font-weight:600;display:flex}.run-phase-icon{font-size:1.3rem}.run-phase-text{color:#111827}.run-duration-summary{color:#374151;font-size:.85rem}.run-activity-meta{text-align:left;margin-top:.8rem}.run-activity-title{align-items:center;gap:.4rem;font-size:1.05rem;font-weight:600;display:flex}.run-activity-icon{font-size:1.4rem}.run-activity-description{color:#4b5563;margin-top:.25rem;font-size:.9rem}.run-activity-instructions{color:#374151;margin-top:.3rem;font-size:.85rem}.run-upnext{border-top:1px solid #e5e7eb;margin-top:.75rem;padding-top:.5rem}.run-upnext-label{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-bottom:.15rem;font-size:.8rem}.run-upnext-name{color:#111827;font-size:.9rem;font-weight:600}.transition-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;color:#fff;pointer-events:none;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.transition-countdown-text{letter-spacing:2px;text-align:center;background:linear-gradient(135deg,#005db8,#00b8a9);border-radius:24px;padding:32px 64px;font-size:5rem;font-weight:700;animation:.7s ease-in-out countdownPulse;box-shadow:0 8px 32px #0006}@keyframes countdownPulse{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@media (max-width:960px){.app-layout,.circuit-layout{grid-template-columns:1fr}.app-header{flex-direction:column;align-items:flex-start}.app-actions{align-items:flex-start}}.palette-filters{color:#374151;margin-bottom:.5rem;font-size:.8rem}.palette-filter-checkbox{align-items:center;gap:.35rem;display:inline-flex}.palette-filter-checkbox input{accent-color:#2563eb}@keyframes flashFade{0%{opacity:.9}to{opacity:0}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{color:#fff;background:#1f2937;border-radius:.5rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:500;animation:.25s toastSlideIn,.3s 2.5s forwards toastFadeOut;display:flex;box-shadow:0 4px 12px #0003}.toast-icon{font-size:1rem}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastFadeOut{0%{opacity:1}to{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}.share-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.share-modal{background:#fff;border-radius:1rem;width:100%;max-width:480px;padding:1.5rem;position:relative;box-shadow:0 20px 60px #0000004d}.share-modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;font-size:1.5rem;line-height:1;position:absolute;top:.75rem;right:.75rem}.share-modal-close:hover{color:#111827}.share-modal h2{margin:0 0 1rem;font-size:1.25rem}.share-section{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.share-section:first-of-type{border-top:none;margin-top:0;padding-top:0}.share-section-label{color:#374151;margin:0 0 .5rem;font-size:.85rem;font-weight:600}.share-generate-btn{width:100%;padding:.75rem 1rem!important;font-size:1rem!important}.share-link-container{gap:.5rem;display:flex}.share-link-input{color:#374151;background:#f9fafb;border:1px solid #d1d5db;border-radius:.5rem;flex:1;padding:.5rem .75rem;font-size:.85rem}.share-social-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.share-social-btn{cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:opacity .15s;display:inline-flex}.share-social-btn:hover{opacity:.9}.share-social-btn span{font-weight:700}.share-social-btn.linkedin{color:#fff;background:#0077b5}.share-social-btn.facebook{color:#fff;background:#1877f2}.share-social-btn.twitter{color:#fff;background:#000}.share-social-btn.email{color:#fff;background:#6b7280}.share-colleague-container{gap:.5rem;display:flex}.share-colleague-input{border:1px solid #d1d5db;border-radius:.5rem;flex:1;padding:.5rem .75rem;font-size:.9rem}.share-colleague-message{border-radius:.5rem;margin:.5rem 0 0;padding:.5rem .75rem;font-size:.85rem}.share-colleague-message.success{color:#065f46;background:#d1fae5}.share-colleague-message.error{color:#991b1b;background:#fee2e2}.share-colleague-hint{color:#6b7280;margin:.5rem 0 0;font-size:.8rem}.shared-view-container{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.shared-view-loading,.shared-view-error{text-align:center;background:#fff;border-radius:1rem;padding:3rem;box-shadow:0 10px 40px #0000001a}.shared-view-loading .loading-spinner{border:4px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:48px;height:48px;margin:0 auto 1rem;animation:.8s linear infinite spin}.shared-view-error h2{margin:0 0 .5rem;font-size:1.5rem}.shared-view-card{background:#fff;border-radius:1rem;width:100%;max-width:600px;padding:2rem;box-shadow:0 10px 40px #0000001a}.shared-view-header{text-align:center;border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem;padding-bottom:1rem}.shared-view-header h1{color:#111827;margin:0 0 .5rem;font-size:1.5rem}.shared-view-author{color:#6b7280;margin:0;font-size:.9rem}.shared-view-circuit{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.shared-view-phase h3{color:#374151;margin:0 0 .5rem;font-size:1rem}.shared-view-activities{flex-direction:column;gap:.5rem;display:flex}.shared-view-activity{background:#f9fafb;border-left:4px solid #2563eb;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.shared-view-activity .activity-icon{font-size:1.5rem}.shared-view-activity .activity-details{flex:1;justify-content:space-between;align-items:center;display:flex}.shared-view-activity .activity-duration{color:#6b7280;font-family:ui-monospace,monospace;font-size:.85rem}.shared-view-actions{border-top:1px solid #e5e7eb;flex-direction:column;align-items:center;gap:1rem;padding-top:1rem;display:flex}.copy-success-message{color:#065f46;background:#d1fae5;border-radius:.5rem;padding:.75rem 1rem;font-size:.9rem}.copy-success-message a{color:#047857;font-weight:600}.login-prompt{text-align:center}.login-prompt p{color:#6b7280;margin:0 0 .5rem;font-size:.9rem}.shared-view-footer{text-align:center;margin-top:1.5rem}.powered-link{color:#2563eb;font-size:.9rem;font-weight:500;text-decoration:none}.powered-link:hover{text-decoration:underline}.no-access-container{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.no-access-card{text-align:center;background:#fff;border-radius:1rem;width:100%;max-width:400px;padding:3rem;box-shadow:0 10px 40px #0000001a}.no-access-icon{margin-bottom:1rem;font-size:4rem}.no-access-card h1{color:#111827;margin:0 0 1rem;font-size:1.5rem}.no-access-card p{color:#4b5563;margin:0 0 .5rem}.no-access-subtitle{font-size:.9rem;color:#6b7280!important;margin-bottom:1.5rem!important}.no-access-card .btn-primary-large{margin-top:1rem}.user-menu{position:relative}.user-menu-trigger{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0}.user-avatar{object-fit:cover;border-radius:50%;width:36px;height:36px}.user-avatar-placeholder{color:#fff;background:linear-gradient(135deg,#005db8,#00b8a9);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:flex}.user-menu-dropdown{z-index:100;background:#fff;border:1px solid #d3deea;border-radius:12px;min-width:220px;margin-top:8px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 10px 30px #0000001a}.user-menu-header{border-bottom:1px solid #d3deea;padding:16px}.user-menu-name{color:#123047;margin-bottom:2px;font-weight:600}.user-menu-email{color:#6b7a90;margin-bottom:8px;font-size:13px}.user-menu-subscription{color:#005db8;background:#e3f4ff;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-block}.user-menu-divider{background:#d3deea;height:1px}.user-menu-item{text-align:left;color:#123047;cursor:pointer;background:0 0;border:none;width:100%;padding:12px 16px;font-size:14px;transition:background .2s;display:block}.user-menu-item:hover{background:#f3f5fb}.user-menu-signout{color:#dc2626}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:16px;padding:24px;box-shadow:0 20px 60px #0003}.feedback-modal{width:90%;max-width:480px}.feedback-modal h3{color:#1f2937;margin:0 0 4px;font-size:20px}.feedback-modal .modal-subtitle{color:#6b7280;margin:0 0 20px;font-size:14px}.feedback-modal .form-group{margin-bottom:16px}.feedback-modal .form-group label{color:#1f2937;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.type-selector{flex-wrap:wrap;gap:8px;display:flex}.type-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:8px 16px;font-size:13px;transition:all .2s}.type-btn:hover{border-color:#005db8}.type-btn.active{color:#fff;background:linear-gradient(135deg,#005db8,#00b8a9);border-color:#0000}.feedback-modal textarea{color:#1f2937;resize:vertical;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;min-height:100px;padding:12px;font-family:inherit;font-size:14px}.feedback-modal textarea:focus{border-color:#005db8;outline:none}.feedback-modal .modal-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.btn-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 16px;font-size:14px;transition:all .2s}.btn-secondary:hover{background:#f9fafb}.feedback-success{text-align:center;padding:32px 16px}.feedback-success .success-icon{color:#fff;background:linear-gradient(135deg,#005db8,#00b8a9);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;font-size:28px;display:inline-flex}.feedback-success h3{margin:0 0 8px;font-size:20px}.feedback-success p{color:#6b7280;margin:0}.cookie-banner{z-index:10000;background:#fff;border-top:2px solid #00b8a9;padding:1.5rem;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000026}.cookie-banner-content{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;display:flex}@media (min-width:768px){.cookie-banner-content{flex-direction:row;justify-content:space-between;align-items:center}}.cookie-banner-text h3{color:#222;margin:0 0 .5rem;font-size:1.1rem}.cookie-banner-text p{color:#6b7280;margin:0 0 .5rem;font-size:.9rem;line-height:1.5}.cookie-privacy-link{color:#00b8a9;font-size:.85rem;text-decoration:none}.cookie-privacy-link:hover{text-decoration:underline}.cookie-banner-actions{flex-shrink:0;gap:1rem;display:flex}.cookie-btn{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s}.cookie-btn-accept{color:#fff;background:#00b8a9}.cookie-btn-accept:hover{background:#3aa59d}.cookie-btn-reject{color:#222;background:0 0;border:2px solid #e5e7eb}.cookie-btn-reject:hover{border-color:#9ca3af}@media (max-width:480px){.cookie-banner-actions{flex-direction:column}.cookie-btn{width:100%}}
