.sauna-rally-container{background-color:#0000;background-image:linear-gradient(#0000004d,#0000004d),url(../../../sauna-bg.jpg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;position:relative}.sauna-home-button{color:#ff6b35;background:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #00000026}.sauna-home-button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.sauna-home-button:active{transform:translateY(0);box-shadow:0 2px 6px #00000026}.sauna-header{color:#fff;z-index:20;background:linear-gradient(135deg,#ff6b35 0%,#ff8c5a 100%);min-height:88px;padding:1rem 1.5rem;position:sticky;top:0;box-shadow:0 4px 12px #ff6b354d}.header-top{align-items:center;gap:1rem;min-height:56px;display:flex}.back-button{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;transition:all .3s;display:flex}.back-button:hover{background:#ffffff4d;transform:scale(1.05)}.rally-title{cursor:pointer;flex:1;margin:0;font-size:1.8rem;font-weight:700;transition:opacity .2s}.rally-title:hover{opacity:.9}.title-input{color:#fff;box-sizing:border-box;background:#fff3;border:2px solid #fff;border-radius:8px;flex:1;height:56px;padding:.55rem 1rem;font-size:1.8rem;font-weight:700}.title-input::placeholder{color:#ffffffb3}.header-actions{align-items:center;gap:.75rem;display:flex}.theme-button{color:#ff6b35;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600;transition:all .3s}.theme-button:hover{color:#ff5722;background:#ffffffe6}.password-settings-button{cursor:pointer;background:#fff3;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .3s;display:flex}.password-settings-button:hover{background:#ffffff59}.edit-button{color:#fff;cursor:pointer;white-space:nowrap;background:#fff3;border:2px solid #fff;border-radius:8px;padding:.5rem 1rem;font-weight:600;transition:all .3s}.edit-button:hover{background:#ffffff4d}.view-mode-toggle-button{color:#ff6b35;cursor:pointer;white-space:nowrap;background:#fffffff2;border:2px solid #fff;border-radius:8px;padding:.5rem 1rem;font-weight:600;transition:all .3s}.view-mode-toggle-button:hover{color:#ff5722;background:#fff}.add-sauna-button-header{color:#ff6b35;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600;transition:all .3s}.add-sauna-button-header:hover{color:#ff5722;background:#ffffffe6}.progress-bar{background:#e0e0e0;border-radius:6px;height:12px;position:relative;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#ff6b35 0%,#f7b801 100%);border-radius:6px;height:100%;transition:width .5s;box-shadow:0 0 10px #ff6b3580}.sauna-content{max-width:1200px;margin:0 auto;padding:2rem 1rem}.add-sauna-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6b35 0%,#ff8c5a 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;max-width:400px;margin:0 auto 3rem;padding:1.25rem;font-size:1.1rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 4px 12px #ff6b354d}.add-sauna-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b3566}.stamp-rally-grid{grid-template-columns:repeat(auto-fit,minmax(260px,320px));justify-content:center;gap:2rem;width:100%;max-width:1100px;margin:0 auto;padding:2rem;display:grid}.empty-stamp-card,.stamp-card{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff6;border:4px dashed #ff6b3599;border-radius:16px;flex-direction:column;align-items:center;min-height:380px;padding:1.5rem;transition:all .3s;display:flex;position:relative}.stamp-card{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;background:#fff6;border:3px solid #ff6b3599}.stamp-card:hover:not(.editing){background:#fff9;transform:translateY(-4px);box-shadow:0 8px 20px #0000004d}.stamp-card.completed{background:#f0fff473;border-color:#4caf50b3}.stamp-card.editing{cursor:default;background:#fff9;border-color:#2196f3b3}.empty-stamp-card{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff59;justify-content:center}.stamp-card-name{color:#2c3e50;text-align:center;min-height:1.5rem;margin-bottom:1rem;font-size:1.1rem;font-weight:700}.stamp-area{flex:1;justify-content:center;align-items:center;width:100%;padding:1rem;display:flex}.stamp-area.empty{flex-direction:column}.empty-stamp-circle{border:4px dashed #ff6b3580;border-radius:50%;justify-content:center;align-items:center;width:150px;height:150px;display:flex}.empty-stamp-text{text-align:center;color:#ff6b35b3;font-weight:700;line-height:1.3}.empty-stamp-icon{margin-bottom:.5rem;font-size:2rem}.empty-stamp-message{letter-spacing:.05em;font-size:.95rem}.empty-add-button{color:#fff;cursor:pointer;background:#ff6b35;border:none;border-radius:10px;margin-top:1rem;padding:.65rem 1.25rem;font-weight:700;transition:all .25s;box-shadow:0 4px 12px #ff6b3559}.empty-add-button:hover{background:#ff5722;transform:translateY(-1px)}.empty-icon{opacity:.3;margin-bottom:.5rem;font-size:4rem}.empty-text{color:#999;font-size:.95rem}.no-stamp{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.stamp-placeholder{opacity:.2;font-size:4rem}.stamp-image{justify-content:center;align-items:center;width:100%;animation:.5s ease-out stamp-in;display:flex}@keyframes stamp-in{0%{opacity:0;transform:scale(0)rotate(-45deg)}60%{opacity:1;transform:scale(1.1)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}.stamp-circle{background:radial-gradient(circle,#d32f2f1a 0%,#d32f2f0d 100%);border:6px solid #d32f2f;border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;display:flex;transform:rotate(-15deg);box-shadow:0 2px 8px #d32f2f4d}.stamp-image.pending{opacity:.35}.stamp-circle.pending{background:radial-gradient(circle,#d32f2f14 0%,#d32f2f0a 100%);border-color:#d32f2f73;box-shadow:0 2px 6px #00000026}.stamp-text.pending{color:#d32f2fb3}.stamp-date.pending{min-height:.9rem}.stamp-bottom.pending{color:#d32f2fcc}.stamp-text{text-align:center;color:#d32f2f;font-weight:700;line-height:1.2}.stamp-top{margin-bottom:.25rem;font-size:1.2rem}.stamp-date{margin-bottom:.25rem;font-size:.75rem}.stamp-bottom{letter-spacing:.1em;font-size:1.3rem}.stamp-card-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;width:100%;margin-top:1rem;display:flex}.complete-button{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:8px;padding:.6rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s}.complete-button:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.complete-button.undo{background:#9e9e9e}.complete-button.undo:hover{background:#757575;box-shadow:0 4px 12px #75757566}.edit-icon-button,.delete-icon-button{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:6px;padding:.4rem .6rem;font-size:1.1rem;transition:all .2s}.edit-icon-button:hover{background:#fff3e0;border-color:#ff6b35}.delete-icon-button:hover{background:#ffebee;border-color:#f44336}.edit-form-inline{background:#f8f9fa;border-radius:8px;width:100%;padding:1rem}.form-group{margin-bottom:1rem}.form-group label{color:#2c3e50;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.form-hint{color:#666;margin-top:.35rem;font-size:.85rem}.form-input{box-sizing:border-box;border:2px solid #e0e0e0;border-radius:6px;width:100%;padding:.6rem;font-size:.95rem;transition:all .3s}.form-input:focus{border-color:#ff6b35;outline:none;box-shadow:0 0 0 3px #ff6b351a}.reference-link{color:#666;margin-top:.5rem;font-size:.85rem}.reference-link a{color:#004e89;font-weight:600;text-decoration:none}.reference-link a:hover{text-decoration:underline}.form-actions-inline{gap:.5rem;margin-top:1rem;display:flex}.button-cancel,.button-save{cursor:pointer;border:none;border-radius:6px;flex:1;padding:.6rem 1rem;font-size:.9rem;font-weight:600;transition:all .3s}.button-cancel{color:#666;background:#fff;border:2px solid #e0e0e0}.button-cancel:hover{background:#f5f5f5}.button-save{color:#fff;background:#ff6b35}.button-save:hover{background:#ff5722;box-shadow:0 2px 8px #ff6b354d}.delete-confirm-overlay{z-index:10;background:#fffffffa;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.delete-confirm-overlay p{color:#c62828;margin:0 0 1.5rem;font-size:1.1rem;font-weight:600}.confirm-actions{gap:1rem;display:flex}.button-danger{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:6px;padding:.6rem 1.5rem;font-weight:600;transition:all .3s}.button-danger:hover{background:#d32f2f;box-shadow:0 4px 12px #f4433666}@media (width<=900px){.stamp-rally-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;padding:1.5rem}}@media (width<=640px){.stamp-rally-grid{grid-template-columns:1fr;gap:1.5rem;padding:1rem}.stamp-card{min-height:340px}.stamp-circle{width:120px;height:120px}.stamp-top{font-size:1rem}.stamp-date{font-size:.7rem}.stamp-bottom{font-size:1.1rem}}.add-icon{font-size:1.5rem;font-weight:700}.add-sauna-form{background:#fff;border-radius:16px;max-width:600px;margin:0 auto 3rem;padding:2rem;box-shadow:0 4px 16px #0000001a}.form-title{color:#ff6b35;margin:0 0 1.5rem;font-size:1.5rem;font-weight:700}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.time-inputs{align-items:center;gap:.5rem;display:flex}.time-input{text-align:center;border:2px solid #e0e0e0;border-radius:8px;width:60px;padding:.75rem;font-size:1rem}.time-separator{color:#666;font-size:1.2rem;font-weight:700}.form-actions{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}.form-textarea{box-sizing:border-box;resize:vertical;border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:.75rem;font-size:1rem;transition:all .3s}.form-textarea:focus{border-color:#ff6b35;outline:none;box-shadow:0 0 0 3px #ff6b351a}.button-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6b35 0%,#ff8c5a 100%);border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:all .3s;box-shadow:0 2px 8px #ff6b354d}.button-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3566}.button-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.button-secondary{color:#666;cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:all .3s}.button-secondary:hover{background:#f5f5f5;border-color:#ccc}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:400px;padding:2rem;box-shadow:0 8px 32px #0000004d}.password-input{box-sizing:border-box;border:2px solid #e0e0e0;border-radius:8px;width:100%;margin-bottom:1.5rem;padding:.75rem;font-size:1rem}.password-input:focus{border-color:#ff6b35;outline:none;box-shadow:0 0 0 3px #ff6b351a}.modal-actions{justify-content:flex-end;gap:1rem;display:flex}@media (width<=640px){.header-top{flex-wrap:wrap}.stats-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.stat-value{font-size:1.4rem}.stat-label{font-size:.75rem}.form-row{grid-template-columns:1fr}.card-header{flex-direction:column;gap:.75rem}.card-date{align-self:flex-start}.card-actions{flex-direction:column}.action-button{width:100%}}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.modal-content h2{color:#2c3e50;margin:0 0 1rem}.modal-content p{color:#666;margin-bottom:1.5rem}.modal-title{color:#ff6b35;margin:0 0 1rem;font-size:1.5rem;font-weight:700}.reference-info{color:#666;background:#fff3e0;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.95rem;display:flex}.ikitai-link-small{color:#004e89;align-items:center;gap:.25rem;font-weight:600;text-decoration:none;display:inline-flex}.ikitai-link-small:hover{text-decoration:underline}.theme-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.theme-modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:80vh;padding:2rem;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.theme-modal-title{color:#ff6b35;text-align:center;margin:0 0 1.5rem;font-size:1.5rem;font-weight:700}.theme-list{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.theme-option{cursor:pointer;text-align:left;background:#f5f5f5;border:2px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;padding:1rem 1.5rem;font-size:1rem;transition:all .3s;display:flex}.theme-option:hover{background:#ffe5d0;border-color:#ff6b35}.theme-option.selected{background:#fff3e0;border-color:#ff6b35}.theme-name{color:#2c3e50;font-weight:600}.theme-check{color:#ff6b35;font-size:1.25rem;font-weight:700}.theme-modal-close{color:#666;cursor:pointer;background:#e0e0e0;border:none;border-radius:8px;width:100%;padding:.75rem;font-weight:600;transition:all .3s}.theme-modal-close:hover{background:#d0d0d0}.share-button{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex}.share-button:hover{background:#ffffff4d;transform:scale(1.05)}.share-button:active{transform:scale(.98)}.sauna-copy-message{color:#fff;z-index:999;background:#4caf50;border-radius:8px;padding:12px 20px;font-weight:600;animation:.3s slideInUp,.3s 1.7s slideOutDown;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 12px #00000026}@keyframes slideInUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100px)}}.sauna-password-overlay.svelte-9dgg92{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sauna-password-dialog.svelte-9dgg92{background:#fff;border-radius:16px;width:90%;max-width:400px;padding:24px;box-shadow:0 8px 32px #0003}.sauna-password-dialog-title.svelte-9dgg92{color:#1a1a1a;margin:0 0 8px;font-size:18px;font-weight:600}.sauna-password-dialog-desc.svelte-9dgg92{color:#666;margin:0 0 20px;font-size:14px}.sauna-password-input.svelte-9dgg92{box-sizing:border-box;border:2px solid #e0e0e0;border-radius:8px;width:100%;margin-bottom:20px;padding:10px 12px;font-family:inherit;font-size:16px;transition:border-color .2s}.sauna-password-input.svelte-9dgg92:focus{border-color:#ff6b35;outline:none}.sauna-dialog-actions.svelte-9dgg92{justify-content:flex-end;gap:12px;display:flex}.sauna-btn.svelte-9dgg92{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.sauna-btn.svelte-9dgg92:disabled{opacity:.6;cursor:not-allowed}.sauna-btn-primary.svelte-9dgg92{color:#fff;background:linear-gradient(135deg,#ff6b35 0%,#ff8c5a 100%)}.sauna-btn-primary.svelte-9dgg92:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff6b3566}.sauna-btn-secondary.svelte-9dgg92{color:#1a1a1a;background:#f0f0f0}.sauna-btn-secondary.svelte-9dgg92:hover:not(:disabled){background:#e0e0e0}.sauna-share-overlay.svelte-vqsgwi{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sauna-share-dialog.svelte-vqsgwi{background:#fff;border-radius:16px;width:90%;max-width:400px;padding:24px;box-shadow:0 8px 32px #0003}.sauna-share-dialog-title.svelte-vqsgwi{color:#1a1a1a;margin:0 0 20px;font-size:18px;font-weight:600}.sauna-share-options.svelte-vqsgwi{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.sauna-share-option.svelte-vqsgwi{cursor:pointer;text-align:left;background:#f5f5f5;border:2px solid #0000;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;font-family:inherit;transition:all .2s;display:flex}.sauna-share-option.svelte-vqsgwi:hover{background:#efefef;border-color:#ff6b35}.sauna-share-option-icon.svelte-vqsgwi{flex-shrink:0;font-size:20px}.sauna-share-option-content.svelte-vqsgwi{flex:1}.sauna-share-option-title.svelte-vqsgwi{color:#1a1a1a;margin:0;font-size:14px;font-weight:600}.sauna-share-option-desc.svelte-vqsgwi{color:#666;margin:4px 0 0;font-size:12px}.sauna-dialog-actions.svelte-vqsgwi{justify-content:flex-end;gap:12px;display:flex}.sauna-btn.svelte-vqsgwi{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-family:inherit;font-weight:600;transition:all .2s}.sauna-btn-secondary.svelte-vqsgwi{color:#1a1a1a;background:#f0f0f0}.sauna-btn-secondary.svelte-vqsgwi:hover{background:#e0e0e0}
