*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.setup-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.setup-card{border-radius:16px;box-shadow:0 20px 60px #00000040;max-width:640px;padding:40px}.setup-card,.setup-card h1{color:#fff;color:var(--text-color,#fff)}.setup-card h1{font-size:32px;margin-bottom:10px}.setup-subtitle{color:#ffffffd9;font-size:16px;margin-bottom:30px}.setup-form{gap:20px}.form-group,.setup-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#fff;color:var(--text-color,#fff);font-size:14px;font-weight:700}.form-group input,.form-group select{background:#00000040;border:2px solid #ffffff40;border-radius:8px;color:#fff;color:var(--text-color,#fff);font-size:14px;padding:12px;transition:border-color .2s,background .2s}.form-group input:focus,.form-group select:focus{border-color:#667eea;border-color:var(--primary-color,#667eea);outline:none}.form-group input:disabled,.form-group select:disabled{background-color:#ffffff1a;cursor:not-allowed}.form-group small{color:#ffffffbf;font-size:12px;margin-top:4px}.error-message{background-color:#ff44442e;border:1px solid #ff444459;border-radius:8px;color:#ffd0d0;font-size:14px;padding:12px}.btn-primary,.btn-secondary{font-size:16px;padding:12px 24px}.btn-primary{background:linear-gradient(135deg,var(--primary-color,#667eea) 0,var(--secondary-color,#764ba2) 100%)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.form-actions{display:flex;gap:12px;margin-top:10px}.form-actions .btn-secondary{flex:1 1}.form-actions .btn-primary{flex:2 1}.start-app{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--primary-color,#667eea) 0,var(--secondary-color,#764ba2) 100%);background-attachment:fixed;color:#fff;color:var(--text-color,#fff);min-height:100vh;position:relative}.gradient{inset:0;pointer-events:none;position:absolute}.start-main{align-items:center;display:flex;flex-direction:column;padding:24px 16px 40px;position:relative;z-index:1}.brand-header{margin:40px 0 24px;max-width:720px;text-align:center}.brand-header h1{font-size:32px;margin:0 0 8px}.brand-header .tagline{color:#ffffffe6;font-size:16px;margin:0 0 6px}.brand-header .sub{color:#ffffffd9;font-size:14px;margin:0}.setup-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000040;border-radius:12px;box-shadow:0 30px 80px #00000040;max-width:520px;padding:16px;width:100%}.form-row{display:flex;flex-direction:column;gap:8px}.form-row label{color:#eaeaff;font-size:14px;font-weight:600}.input-row{display:flex;gap:8px}.input-row input{background:#00000040;border:2px solid #ffffff40;border-radius:8px;color:#fff;color:var(--text-color,#fff);flex:1 1;min-width:0;padding:12px}.input-row input:focus{border-color:#667eea;border-color:var(--primary-color,#667eea);outline:none}.btn-ghost{background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;color:#fff;padding:8px 12px}.helper{color:#aeb4ff;font-size:12px;margin:4px 0 0}.error{color:#ff8a8a;font-size:13px;margin:4px 0 0}.remember{align-items:center;color:#dde1ff;display:flex;font-size:14px;gap:8px;margin:12px 0 8px}.actions{display:flex;gap:10px;margin-top:12px}.btn-primary,.btn-secondary{border-radius:10px;font-weight:700;padding:12px 16px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--primary-color,#667eea),var(--secondary-color,#764ba2))}.btn-secondary{background:#ffffff26;color:#fff}.audio-note{color:#aeb4ff;font-size:12px;margin-top:10px}.footer-links{display:flex;gap:16px;margin-top:18px}.linklike{background:none;border:none;color:#fff;cursor:pointer;opacity:.95;padding:0}.footer-links a.linklike,.linklike{text-decoration:underline}@media (prefers-reduced-motion:no-preference){.pulse-once{animation:pulse 1.2s ease-out 1}@keyframes pulse{0%{box-shadow:0 0 0 0 #ffffff59;transform:scale(1)}70%{box-shadow:0 0 0 12px #fff0;transform:scale(1.02)}to{box-shadow:0 0 0 0 #fff0;transform:scale(1)}}}@media (prefers-reduced-motion:reduce){.pulse-once{animation:none}}.faq-dialog::backdrop,.imprint-dialog::backdrop,.video-dialog::backdrop{background:#00000080}.faq-dialog,.imprint-dialog,.video-dialog{background:#0000;border:none;padding:0}.faq-dialog[open],.imprint-dialog[open],.video-dialog[open]{display:grid;height:100vh;inset:0;margin:0;place-items:center;position:fixed;width:100vw}.faq-modal,.imprint-modal,.video-modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000059;border-radius:12px;box-shadow:0 20px 60px #0006;color:#fff;max-height:86vh;overflow:auto;padding:16px;width:min(92vw,820px)}.faq-header,.imprint-header,.video-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.faq-header h2,.imprint-header h2,.video-header h2{font-size:18px;margin:0}.close-btn{background:#fff3;border:1px solid #ffffff40;border-radius:8px;color:#fff;cursor:pointer;padding:6px 10px}.video-body,.video-thumbs{margin-top:10px}.video-thumbs{display:flex;flex-wrap:wrap;gap:8px}.thumb{background:#ffffff1f;border:1px solid #0000;border-radius:8px;cursor:pointer;padding:4px}.thumb.active{border-color:#fff9}.thumb img{border-radius:6px;display:block;height:auto;width:120px}.poster-overlay{background:#00000059;color:#fff;display:grid;font-weight:700;inset:0;place-items:center;position:absolute}.faq-body dl{margin:0}.faq-body dt{font-size:16px;font-weight:800;margin-top:12px}.faq-body dd{font-size:14px;margin:6px 0 10px;opacity:.95}.imprint-body{font-size:13px;line-height:1.5}.stats-display{bottom:80px;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;left:50%;max-width:1200px;padding:0 20px;position:fixed;transform:translateX(-50%);width:100%;z-index:100}.stat-card{background:#fffffff2;border-radius:16px;box-shadow:0 4px 20px #0000001a;min-width:200px;padding:30px 40px;text-align:center;transition:transform .3s,box-shadow .3s}.stat-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-4px)}.stat-card.highlight{border:2px solid #667eea4d}.stat-value{align-items:center;color:#333;display:flex;font-size:48px;font-weight:700;gap:10px;justify-content:center;margin-bottom:8px}.stat-value .increment{animation:pulse .5s ease-in-out;color:#667eea;font-size:24px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.stat-label{color:#666;font-size:16px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}@media (max-width:768px){.stats-display{align-items:stretch;flex-direction:column}.stat-card{min-width:auto}.stat-value{font-size:36px}}.bubble-container{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:1000}.bubble{animation:bubbleFloat 30s ease-out forwards;background:linear-gradient(135deg,#1a4d8c,#6b3fa0);background:linear-gradient(135deg,var(--bubble-color,#1a4d8c) 0,var(--bubble-color,#6b3fa0) 100%);border-radius:50px;bottom:-100px;box-shadow:0 8px 32px #0006;left:50%;max-width:300px;min-width:200px;padding:16px 24px;pointer-events:auto;position:absolute;transform:translateX(-50%)}.bubble-content{align-items:center;color:#fff;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;line-height:1.4;text-align:center;text-shadow:0 2px 4px #0003}.bubble-symbol{flex-shrink:0;font-size:18px;font-weight:700;opacity:.9}@keyframes bubbleFloat{0%{opacity:0;transform:translateX(-50%) translateY(0) scale(.5)}5%{opacity:1;transform:translateX(-50%) translateY(-20px) scale(1)}95%{opacity:1;transform:translateX(-50%) translateY(calc(-100vh + 200px)) scale(1)}to{opacity:0;transform:translateX(-50%) translateY(calc(-100vh + 150px)) scale(.9)}}.bubble-left{animation:bubbleFloatLeft 30s ease-out forwards}.bubble-right{animation:bubbleFloatRight 30s ease-out forwards}@keyframes bubbleFloatLeft{0%{opacity:0;transform:translateX(-20%) translateY(0) scale(.5)}5%{opacity:1;transform:translateX(-20%) translateY(-20px) scale(1)}95%{opacity:1;transform:translateX(-20%) translateY(calc(-100vh + 200px)) scale(1)}to{opacity:0;transform:translateX(-20%) translateY(calc(-100vh + 150px)) scale(.9)}}@keyframes bubbleFloatRight{0%{opacity:0;transform:translateX(-80%) translateY(0) scale(.5)}5%{opacity:1;transform:translateX(-80%) translateY(-20px) scale(1)}95%{opacity:1;transform:translateX(-80%) translateY(calc(-100vh + 200px)) scale(1)}to{opacity:0;transform:translateX(-80%) translateY(calc(-100vh + 150px)) scale(.9)}}@media (max-width:768px){.bubble{max-width:250px;min-width:180px;padding:12px 20px}.bubble-content{font-size:14px}}:root{--pill-bg:#ffffffd9;--pill-fg:#17171c;--pill-border:#d4d4d8;--pill-time-bg:#f4f4f5;--pill-time-fg:#3c3c44;--progress-ok:#10b77f;--progress-warn:#fa9405;--progress-hot:#ef4343;--progress-unknown:#2a6df4}.session-list-rail{display:flex;flex-direction:column;gap:4px;left:20px;max-height:calc(100vh - 120px);overflow-x:hidden;overflow-y:auto;padding-right:8px;pointer-events:auto;position:fixed;top:50%;transform:translateY(-50%);width:clamp(260px,32vw,360px);z-index:200}.session-list-rail::-webkit-scrollbar{width:6px}.session-list-rail::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.session-list-rail::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.session-list-rail::-webkit-scrollbar-thumb:hover{background:#0000004d}.session-pill{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;background:var(--pill-bg);border:1px solid #d4d4d8;border:1px solid var(--pill-border);border-radius:12px;box-shadow:0 2px 4px #00000014;cursor:pointer;display:flex;height:48px;min-height:48px;overflow:hidden;padding:0 10px;position:relative;text-align:left;transition:all .2s ease;width:100%}.session-pill:hover{border-color:#8f8fa3;box-shadow:0 4px 8px #0000001f;transform:translateX(2px)}.session-pill:focus{outline:2px solid #2a2af4;outline-offset:2px}.session-pill:focus-visible{outline:2px solid #2a2af4;outline-offset:2px}.session-progress-bg{border-radius:12px;inset:0;overflow:hidden;pointer-events:none;position:absolute}.session-progress-fill{border-radius:12px 0 0 12px;height:100%;inset:0;position:absolute;transition:width .3s ease}.session-progress-baseline{bottom:0;height:2px;left:0;opacity:.6;position:absolute;right:0}.util-ok .session-progress-fill{background:#10b77f;background:var(--progress-ok);opacity:.6}.util-warn .session-progress-fill{background:#fa9405;background:var(--progress-warn);opacity:.6}.util-hot .session-progress-fill{background:#ef4343;background:var(--progress-hot);opacity:.6}.util-overflow .session-progress-fill{background:#ef4343;background:var(--progress-hot);opacity:.7;width:100%!important}.util-unknown .session-progress-baseline{background:#2a6df4;background:var(--progress-unknown)}.session-progress-overflow{background:repeating-linear-gradient(45deg,#0000 0 4px,#ff000040 4px 8px);inset:0;pointer-events:none;position:absolute}.session-pill-content{align-items:center;color:#17171c;color:var(--pill-fg);display:flex;gap:8px;position:relative;width:100%;z-index:10}.session-time-badge{background:#f4f4f5;background:var(--pill-time-bg);border-radius:6px;color:#3c3c44;color:var(--pill-time-fg);flex-shrink:0;font-size:clamp(11px,.6875rem,12px);min-width:50px;padding:3px 6px;text-align:center}.session-time-badge,.session-title{font-weight:600;line-height:1.2;white-space:nowrap}.session-title{flex:1 1;font-size:clamp(12px,.75rem,14px);min-width:0;overflow:hidden;text-overflow:ellipsis}.session-count,.session-title{color:#17171c;color:var(--pill-fg)}.session-count{font-feature-settings:"tnum";flex-shrink:0;font-size:clamp(11px,.6875rem,12px);font-variant-numeric:tabular-nums;font-weight:700;padding-left:8px;white-space:nowrap}.session-pill.ultra{gap:8px;height:44px;min-height:44px;padding:0 10px}.session-pill.ultra .session-time-badge{font-size:10px;min-width:48px;padding:3px 6px}.session-pill.ultra .session-title{font-size:12px}.session-pill.ultra .session-count{font-size:11px}@media (max-width:768px){.session-list-rail{left:auto;margin-bottom:20px;max-height:400px;position:relative;top:auto;transform:none;width:100%}}.checkin-pop{animation:checkinPop 1.5s ease-out forwards;background:linear-gradient(135deg,#10b77f,#14eba3);border-radius:12px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:14px;font-weight:700;padding:4px 8px;pointer-events:none;position:absolute;right:8px;top:50%;transform:translateY(-50%) scale(.5);z-index:100}@keyframes checkinPop{0%{opacity:0;transform:translateY(-50%) scale(.5)}20%{opacity:1;transform:translateY(-50%) scale(1.2)}40%{transform:translateY(-70%) scale(1)}60%{opacity:1;transform:translateY(-90%) scale(1)}to{opacity:0;transform:translateY(-110%) scale(.8)}}.session-pill.just-checked-in{animation:pillPulse .6s ease-out}@keyframes pillPulse{0%{box-shadow:0 2px 4px #00000014;transform:scale(1)}50%{box-shadow:0 4px 12px #4caf5066;transform:scale(1.02)}to{box-shadow:0 2px 4px #00000014;transform:scale(1)}}.session-list-empty{color:#ffffffb3;font-size:14px;padding:20px;text-align:center}@media (prefers-contrast:high){:root{--pill-bg:#fffffff2;--pill-fg:#000;--pill-border:#303036}.session-pill{border-width:2px}}.settings-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.settings-panel{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;color:#333;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.settings-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:24px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.settings-header h2{color:#333;font-size:24px;margin:0}.settings-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.settings-close-btn:hover{background:#f0f0f0;color:#333}.settings-content{padding:24px}.settings-section{margin-bottom:32px}.settings-section:last-of-type{margin-bottom:24px}.settings-section h3{color:#333;font-size:18px;font-weight:600;margin:0 0 16px}.settings-field{margin-bottom:20px}.settings-field label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.settings-field input[type=password],.settings-field input[type=text],.settings-field select{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.settings-field input[type=password]:focus,.settings-field input[type=text]:focus,.settings-field select:focus{border-color:#667eea;border-color:var(--primary-color,#667eea);outline:none}.settings-field input[type=checkbox]{cursor:pointer;height:18px;margin-right:8px;width:18px}.settings-field label:has(input[type=checkbox]){align-items:center;cursor:pointer;display:flex}.settings-field small{color:#666;display:block;font-size:12px;margin-top:6px}.color-input-group{align-items:center;display:flex;gap:10px}.color-input-group input[type=color]{border:1px solid #ddd;border-radius:8px;cursor:pointer;height:40px;padding:2px;width:60px}.color-text-input{flex:1 1}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-primary{background:#667eea;background:var(--primary-color,#667eea);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-sm{font-size:13px;margin-top:8px;padding:8px 16px}.settings-error{background:#fee;color:#c33}.settings-error,.settings-success{border-radius:8px;font-size:14px;margin-bottom:16px;padding:12px}.settings-success{background:#efe;color:#3c3}.settings-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}@media (max-width:768px){.settings-panel{border-radius:0;max-height:100vh;width:100%}.settings-content{padding:20px}.color-input-group{align-items:stretch;flex-direction:column}.color-input-group input[type=color]{width:100%}}.dashboard{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--primary-color,#667eea) 0,var(--secondary-color,#764ba2) 100%);background-attachment:fixed;color:#fff;color:var(--text-color,#fff);min-height:100vh;padding:20px;position:relative}.dashboard-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.header-left h1{font-size:32px;margin-bottom:8px;text-shadow:0 2px 10px #0003}.connection-status{align-items:center;display:flex;font-size:14px;gap:8px;opacity:.9}.status-indicator{animation:pulse-dot 2s infinite;background-color:#f44;border-radius:50%;height:10px;width:10px}.status-indicator.connected{background-color:#4f4}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.header-controls{display:flex;gap:10px}.control-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:20px;padding:10px 16px;transition:all .2s}.control-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.control-btn.active{background:#fff6;border-color:#fff9}.reset-btn{font-size:18px}.warning-banner{background:#ffc107e6;border-radius:8px;box-shadow:0 4px 12px #0003;justify-content:space-between;margin-bottom:20px;padding:12px 20px}.warning-banner,.warning-banner button{align-items:center;color:#333;display:flex}.warning-banner button{background:none;border:none;cursor:pointer;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.error-banner{background:#ff4444e6;border-radius:8px;box-shadow:0 4px 12px #0003;justify-content:space-between;margin-bottom:20px;padding:12px 20px}.error-banner,.error-banner button{align-items:center;color:#fff;display:flex}.error-banner button{background:none;border:none;cursor:pointer;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.dashboard-content{margin:0 auto;max-width:1200px}.dashboard-footer{bottom:20px;font-size:12px;left:50%;opacity:.7;position:fixed;text-align:center;transform:translateX(-50%)}.dashboard:fullscreen{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--primary-color,#667eea) 0,var(--secondary-color,#764ba2) 100%);padding:40px}.dashboard:fullscreen .dashboard-header{margin-bottom:40px}.dashboard:fullscreen .dashboard-footer{bottom:30px}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column}.header-left h1{font-size:24px}.header-controls{justify-content:flex-end;width:100%}}.App{min-height:100vh;width:100%}
/*# sourceMappingURL=main.2a8f5120.css.map*/