.advent-calendar{max-width:1200px;margin:0 auto}.calendar-header{text-align:center;margin-bottom:30px}.dog-illustration{font-size:4rem;margin-bottom:10px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.calendar-subtitle{font-size:1.2rem;opacity:.9;margin-top:10px}.calendar-info{font-size:1rem;opacity:.8;margin-top:5px;font-style:italic}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;padding:20px}.door{aspect-ratio:1;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #0000004d;position:relative;overflow:hidden}.door:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#fff0);pointer-events:none}.door:hover:not(.empty){transform:translateY(-5px) scale(1.05);box-shadow:0 8px 25px #0006}.door.opened{background:linear-gradient(135deg,#f093fb,#f5576c);animation:openAnimation .5s ease-out}.door.partial{background:linear-gradient(135deg,#4facfe,#00f2fe);border:3px solid #ffd700}.door.locked{background:linear-gradient(135deg,#4facfe,#00f2fe)}.door.empty{background:linear-gradient(135deg,#434343,#000);cursor:not-allowed;opacity:.5}.door-number{font-size:1.5rem;font-weight:700;margin-bottom:5px;text-shadow:2px 2px 4px rgba(0,0,0,.3);z-index:1}.door-icon{font-size:2rem;z-index:1}.door-status{display:flex;gap:5px;margin-top:5px;z-index:1}.player-indicator{font-size:1.2rem;animation:pulse 1.5s ease-in-out infinite}.player-indicator.player1{animation-delay:0s}.player-indicator.player2{animation-delay:.75s}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.door-decoration{position:absolute;top:5px;right:5px;font-size:1rem;opacity:.6;animation:float 3s ease-in-out infinite}.door-decoration .snowflake{display:block}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(180deg)}}@keyframes openAnimation{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.other-player-indicator{position:absolute;bottom:5px;left:5px;font-size:1rem;opacity:.8;z-index:2;animation:pulse 2s ease-in-out infinite}@media (max-width: 768px){.calendar-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:10px;padding:10px}.door-number{font-size:1.2rem}.door-icon{font-size:1.5rem}.dog-illustration{font-size:3rem}.calendar-subtitle{font-size:1rem}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3c72,#2a5298);padding:20px}.login-box{background:linear-gradient(135deg,#667eea,#764ba2);padding:40px;border-radius:20px;box-shadow:0 20px 60px #00000080;text-align:center;min-width:300px;max-width:500px;width:100%;position:relative;overflow:hidden}.login-box:before{content:"❄️";position:absolute;top:10px;right:10px;font-size:2rem;opacity:.3;animation:float 3s ease-in-out infinite}.login-box:after{content:"🎄";position:absolute;bottom:10px;left:10px;font-size:2rem;opacity:.3;animation:float 3s ease-in-out infinite 1.5s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-header{margin-bottom:20px}.login-header h1{margin-bottom:10px;color:#fff;font-size:2rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.dog-emoji{font-size:3rem;margin:10px 0;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-box p{color:#fff;margin-bottom:25px;font-size:1.1rem}.warning-message{background:#ffa5004d;border:2px solid #fbbf24;padding:15px;border-radius:10px;margin-bottom:20px;color:#fff;font-weight:700}.info-text{margin-top:15px;font-size:.9rem;opacity:.9;color:#fff}.player-input-group{margin-bottom:20px;text-align:left}.player-input-group h3{color:#fff;margin-bottom:10px;font-size:1.2rem}.login-input{width:100%;padding:12px;margin:8px 0;border:2px solid rgba(255,255,255,.3);border-radius:10px;background:#ffffffe6;font-size:1rem;box-sizing:border-box}.login-input:focus{outline:none;border-color:#fff;background:#fff}.login-button{width:100%;padding:15px;margin-top:10px;background:#ffffff4d;border:2px solid white;color:#fff;border-radius:10px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s}.login-button:hover{background:#ffffff80;transform:scale(1.05)}@media (max-width: 480px){.login-header h1{font-size:1.5rem}}.lightbulb-puzzle{line-height:1.6}.puzzle-instructions{background:#ffffff1a;padding:20px;border-radius:10px;margin:20px 0}.puzzle-instructions p{margin-bottom:15px}.puzzle-instructions .question{background:#ffd7004d;padding:15px;border-radius:8px;margin-top:20px;font-size:1.1rem}.formula-section{background:#ffffff1a;padding:20px;border-radius:10px;margin:20px 0;text-align:center}.formula-section h4{margin-bottom:15px}.formulas{display:flex;gap:30px;justify-content:center;margin:20px 0;flex-wrap:wrap}.formula{background:#fff3;padding:15px 25px;border-radius:10px;font-size:1.5rem;font-weight:700;font-family:Courier New,monospace}.formula-note{font-size:.9rem;margin-top:10px;opacity:.9}.hint-text{background:#ffffff26;padding:12px;border-radius:8px;margin-top:15px;font-size:.95rem;font-style:italic}.quick-calc-section{background:#ffffff1a;padding:20px;border-radius:10px;margin:20px 0;text-align:center}.quick-calc-button{padding:12px 24px;font-size:1rem;background:#ffffff4d;border:2px solid white;color:#fff;border-radius:10px;cursor:pointer;transition:all .2s;font-weight:700;margin-bottom:15px}.quick-calc-button:hover{background:#ffffff80;transform:scale(1.05)}.calc-result{background:#fff3;padding:10px;border-radius:8px;margin:10px 0;font-size:1.1rem}.calculator-section,.circuit-calc-section{background:#ffffff1a;padding:20px;border-radius:10px;margin:20px 0}.circuit-calc-section h4,.calculator-section h4{margin-bottom:15px}.calculator{display:flex;flex-direction:column;gap:15px}.calc-row{display:flex;align-items:center;gap:15px}.calc-row label{min-width:200px;font-weight:700}.calc-row input{flex:1;padding:10px;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffffe6;color:#333;font-size:1rem}.calc-row input:focus{outline:none;border-color:#fff;background:#fff}.calc-row input[readonly]{background:#ffffffb3;cursor:not-allowed}.answer-section{background:#ffd7004d;padding:20px;border-radius:10px;margin:20px 0;text-align:center}.answer-section label{display:block;margin-bottom:15px;font-size:1.1rem}.answer-input{width:100%;max-width:200px;padding:15px;font-size:1.5rem;border:2px solid rgba(255,255,255,.3);border-radius:10px;background:#ffffffe6;color:#333;text-align:center;margin:15px 0}.answer-input:focus{outline:none;border-color:#fff;background:#fff}.submit-answer-button{padding:15px 30px;font-size:1.1rem;background:#ffffff4d;border:2px solid white;color:#fff;border-radius:10px;cursor:pointer;transition:all .2s;font-weight:700;margin-top:10px}.submit-answer-button:hover{background:#ffffff80;transform:scale(1.05)}.puzzle-solved{text-align:center;padding:20px}.puzzle-solved h3{font-size:2rem;margin-bottom:20px}.puzzle-solved .door-message{font-size:1.2rem;margin:15px 0;line-height:1.8}@media (max-width: 768px){.calc-row{flex-direction:column;align-items:flex-start}.calc-row label{min-width:auto}.calc-row input{width:100%}.formulas{flex-direction:column;gap:15px}}.sync-modal-content{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:30px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;position:relative}.sync-modal-content h2{margin-bottom:25px;font-size:2rem;text-align:center}.sync-container{display:flex;flex-direction:column;gap:30px}.sync-section{background:#ffffff1a;padding:20px;border-radius:15px}.sync-section h3{margin-bottom:15px;font-size:1.3rem}.code-display{display:flex;gap:10px;margin-bottom:10px}.code-output{flex:1;padding:15px;font-size:1.3rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,Courier New,monospace;border:2px solid rgba(255,255,255,.3);border-radius:10px;background:#ffffffe6;color:#333;text-align:center;letter-spacing:2px;font-weight:700;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.copy-button{padding:15px 25px;background:#ffffff4d;border:2px solid white;color:#fff;border-radius:10px;cursor:pointer;font-weight:700;transition:all .2s;white-space:nowrap}.copy-button:hover{background:#ffffff80;transform:scale(1.05)}.code-hint{font-size:.9rem;opacity:.8;text-align:center;margin-top:10px}.code-input-group{display:flex;gap:10px;margin-bottom:10px}.code-input{flex:1;padding:15px;font-size:1.2rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,Courier New,monospace;border:2px solid rgba(255,255,255,.3);border-radius:10px;background:#ffffffe6;color:#333;text-align:center;letter-spacing:2px;text-transform:uppercase;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.sync-button{padding:15px 25px;background:#ffffff4d;border:2px solid white;color:#fff;border-radius:10px;cursor:pointer;font-weight:700;transition:all .2s;white-space:nowrap}.sync-button:hover{background:#ffffff80;transform:scale(1.05)}.error-message{color:#ff6b6b;font-weight:700;margin-top:10px;text-align:center}.synced-info{margin-top:15px;padding:15px;background:#ffffff26;border-radius:10px}.success-message{font-weight:700;font-size:1.1rem;margin-bottom:10px;text-align:center}.doors-info{font-size:.95rem;opacity:.9;text-align:center}@media (max-width: 768px){.sync-container{gap:20px}.code-display,.code-input-group{flex-direction:column}.code-output,.code-input{font-size:1rem}}.app{min-height:100vh;padding:20px}.app-header{text-align:center;margin-bottom:30px}.app-header h1{font-size:clamp(1.5rem,4vw,2.2rem);margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;align-items:center;margin-bottom:20px}.player-info{display:flex;align-items:center;gap:8px;background:#fff3;padding:10px 15px;border-radius:10px;font-size:1rem}.player-name{font-weight:700}.player-progress{font-size:.9rem;opacity:.9}.logout-button{padding:10px 20px;background:#fff3;border:2px solid white;color:#fff;border-radius:10px;cursor:pointer;font-size:.9rem;transition:all .2s}.logout-button:hover{background:#ffffff4d}.current-player{font-size:1rem;opacity:.9;margin-bottom:10px}.sync-status{background:#ffffff26;padding:15px;border-radius:10px;margin:15px 0}.sync-status p{margin:5px 0}.ready-message{color:#4ade80;font-weight:700;margin-top:10px}.wait-message{color:#fbbf24;font-weight:700;margin-top:10px}.path-info{background:#fff3;padding:15px;border-radius:10px;margin-top:20px;text-align:center;font-size:1rem}.sync-header-button{padding:10px 20px;background:#fff3;border:2px solid white;color:#fff;border-radius:10px;cursor:pointer;font-size:.9rem;transition:all .2s}.sync-header-button:hover{background:#ffffff4d}.synced-player-info{background:#4caf504d;padding:15px;border-radius:10px;margin-top:15px;text-align:center;font-size:.95rem}.synced-player-info p{margin:5px 0}.player-selector{display:flex;flex-direction:column;gap:15px;margin-top:20px}.player-button{padding:20px;font-size:1.2rem;background:#fff3;border:2px solid white;color:#fff;border-radius:10px;cursor:pointer;transition:all .2s;font-weight:700}.player-button:hover{background:#fff6;transform:scale(1.05)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:30px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;position:relative}.close-button{position:absolute;top:15px;right:15px;background:#fff3;border:none;color:#fff;font-size:2rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-button:hover{background:#ffffff4d}.modal-content h2{margin-bottom:20px;font-size:2rem}.door-content{line-height:1.6}.door-message{font-size:1.2rem;margin-bottom:20px}.hint-box{background:#fff3;padding:15px;border-radius:10px;margin:20px 0}.hint-box strong{display:block;margin-bottom:8px;font-size:1.1rem}.next-door-info{background:#ffd7004d;padding:15px;border-radius:10px;margin-top:20px;text-align:center;font-size:1.3rem}.code-input-section{text-align:center}.warning-box{background:#ffa5004d;padding:15px;border-radius:10px;margin-bottom:20px;font-weight:700}.code-input{width:100%;padding:15px;font-size:1.2rem;border:2px solid rgba(255,255,255,.3);border-radius:10px;background:#ffffffe6;color:#333;margin:15px 0;text-align:center;text-transform:uppercase}.code-input:focus{outline:none;border-color:#fff;background:#fff}.submit-button{padding:15px 30px;font-size:1.1rem;background:#ffffff4d;border:2px solid white;color:#fff;border-radius:10px;cursor:pointer;transition:all .2s;font-weight:700}.submit-button:hover{background:#ffffff80;transform:scale(1.05)}.error-message{color:#ff6b6b;margin-top:10px;font-weight:700}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#1e3c72,#2a5298);min-height:100vh;color:#fff}#root{min-height:100vh}
