*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background-color:#fff;color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.container{width:100%}.app-container,.container{margin:0 auto;max-width:1200px;padding:20px}.flex{display:flex}.flex-col{flex-direction:column}.flex-shrink-0{flex-shrink:0}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.admin-action-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:20px}.gap-2{gap:2px}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.text-xs{font-size:12px}.text-sm{font-size:14px}.text-md{font-size:16px}.text-lg{font-size:18px;font-weight:700}.text-xl{font-size:24px;font-weight:700}.text-2xl{font-size:20px}.font-bold,.text-2xl{font-weight:700}.font-medium{font-weight:500}.text-center{text-align:center}.text-right{text-align:right}.whitespace-pre-wrap{white-space:pre-wrap}.text-primary{color:#3b82f6}.text-gray,.text-secondary{color:#64748b}.text-dark{color:#1e293b}.text-success{color:#16a34a}.text-danger{color:#ef4444}.text-warning{color:#f59e0b}.like-button-active{color:#e395b0}.like-count-zero{color:#64748b!important}.like-count-positive{color:#e395b0!important}.notification-badge-brand{background-color:#e395b0;color:#fff}.notification-icon-brand{color:#e395b0}.tab-active-brand{background-color:#e395b0;color:#fff}.like-button-brand{background:none!important;background-color:initial!important;border:none!important;box-shadow:none!important;outline:none!important;transition:color .2s}.like-button-brand:not(.cursor-not-allowed):hover{background:none!important;background-color:initial!important;color:#d1477a}.like-button-brand:focus{background:none!important;background-color:initial!important;box-shadow:none!important;outline:none!important}.bg-light{background-color:#f8fafc}.bg-white{background-color:#fff}.bg-primary{background-color:#3b82f6}.bg-success{background-color:#dcfce7}.bg-success-light{background-color:#d1fae5}.bg-danger-light{background-color:#fee2e2}.bg-red-600{background-color:#dc2626}.bg-warning-light{background-color:#fff7ed}.bg-indigo-50{background-color:#eef2ff}.bg-blue-50{background-color:#eff6ff}.bg-gray-50{background-color:#f9fafb}.border-warning{border-color:#f59e0b}.border-success{border-color:#16a34a}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mx-16{margin-left:16px;margin-right:16px}.ml-1{margin-left:4px}.ml-2{margin-left:8px}.ml-4{margin-left:4px}.ml-8{margin-left:8px}.mr-1{margin-right:4px}.mr-2,.mr-8{margin-right:8px}.mr-16{margin-right:16px}.mt-1,.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-40{margin-top:40px}.mb-0{margin-bottom:0}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.p-4{padding:4px}.p-8{padding:8px}.p-12{padding:12px}.p-16{padding:16px}.p-24{padding:24px}.p-40{padding:40px}.py-2{padding-bottom:2px;padding-top:2px}.py-4{padding-bottom:4px;padding-top:4px}.px-4{padding-left:4px;padding-right:4px}.px-8{padding-left:8px;padding-right:8px}.pl-32{padding-left:32px}.pl-48{padding-left:48px}.pt-0{padding-top:0}.pb-16{padding-bottom:16px}.rounded-md{border-radius:8px}.rounded-full{border-radius:9999px}.border{border:1px solid #e2e8f0}.border-bottom{border-bottom:1px solid #e2e8f0}.border-t{border-top:1px solid #e2e8f0}.navbar{background-color:#fff;margin-bottom:16px;padding:16px}.navbar-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.navbar-logo{color:#e395b0;font-size:24px;font-weight:700}.nav-links{display:flex;gap:8px}.nav-link{background-color:#f7f7f7;border:none;border-radius:4px;color:#363636;cursor:pointer;padding:8px 16px}.nav-link.active{background-color:#e395b0;border:none;color:#fff}.nav-link-container{position:relative}.nav-notification-badge{align-items:center;background-color:#e395b0;border:1px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}.user-dropdown{align-items:center;background-color:#f3f4f6;border-radius:4px;display:flex;gap:8px;padding:8px;position:relative}.dropdown-select{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.mobile-nav{align-items:center;background-color:#f6f6f6;bottom:0;display:none;height:76px;justify-content:space-around;left:0;position:fixed;width:100%;z-index:990}.mobile-nav-item{align-items:center;background:none;border:none;color:#9f9f9f;cursor:pointer;display:flex;flex-direction:column;font-size:12px;height:100%;justify-content:flex-start;padding:8px 0 24px;position:relative;width:20%}.mobile-nav-item.active{color:#e395b0}.mobile-nav-item span{margin-top:4px}.mobile-notification-badge{align-items:center;border-radius:50%;display:flex;font-size:10px;font-weight:700;height:18px;justify-content:center;position:absolute;right:28%;top:0;width:18px}.btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-weight:500;gap:8px;padding:8px 16px}.btn-primary{background-color:#3b82f6;color:#fff}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-success{background-color:#16a34a;color:#fff}.btn-danger{background-color:#ef4444;color:#fff}.btn-warning{background-color:#f59e0b;color:#fff}.btn-icon{padding:8px}.btn-sm{font-size:14px;padding:4px 8px}.btn-block{justify-content:center;width:100%}.btn-disabled,.btn:disabled{cursor:not-allowed;opacity:.5}.card{margin-bottom:16px;padding:16px}.admin-action-card,.card{background-color:#fff;border-radius:8px}.admin-action-card{box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.admin-action-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-3px)}.admin-action-button{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:center;padding:32px 16px;text-align:center;width:100%}.admin-action-icon{color:#3b82f6;margin-bottom:16px}.admin-action-title{font-size:18px;font-weight:700;margin-bottom:8px}.admin-action-desc{color:#6b7280;font-size:14px}.form-label{color:#111827;margin-bottom:8px}.form-label.required:after{color:#ef4444;content:"*";margin-left:4px}.form-control{border:1px solid #d1d5db;border-radius:4px;padding:8px;width:100%}.form-control-error{border-color:#ef4444}.form-textarea{min-height:120px;resize:vertical}.form-input{border-radius:6px;font-size:16px;padding:10px 12px}.form-input.error{border-color:#ef4444}.form-select{appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;padding:10px 12px;width:100%}.form-error{color:#ef4444;font-size:14px;margin-top:4px}.form-error-message{align-items:center;animation:errorShake .5s ease-in-out;color:#ef4444;display:flex;font-size:14px;gap:8px;margin-bottom:4px;margin-top:6px}.form-hint{color:#6b7280;font-size:14px;margin-top:6px}.form-button-group{display:flex;gap:12px;margin-top:24px}.form-submit-button{background-color:#3b82f6;border:none;border-radius:6px;color:#fff}.form-cancel-button,.form-submit-button{align-items:center;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;justify-content:center;padding:10px 16px;transition:background-color .2s}.form-cancel-button{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151}.alert-notice{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.alert-message,.alert-notice{margin-bottom:16px;padding:12px}.alert-message{background-color:#fff7ed;border:1px solid #fdba74;border-radius:4px}.alert-message,.modal-overlay{align-items:center;display:flex}.modal-overlay{background-color:#00000080;bottom:0;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;max-height:80vh;max-width:500px;overflow-y:auto;padding:24px;width:90%}.modal-title{font-size:20px;font-weight:700;margin-bottom:16px}.slideover-overlay{animation:fadeIn .3s ease-in-out;background-color:#00000080;left:0;z-index:1100}.slideover-overlay,.slideover-panel{bottom:0;position:fixed;right:0;top:0}.slideover-panel{animation:slideIn .3s ease-in-out;background-color:#fff;box-shadow:-2px 0 10px #0000001a;display:flex;flex-direction:column;max-width:100%;overflow:hidden;width:100%;z-index:1200}.slideover-header{align-items:center;background-color:#fff;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;min-height:64px;padding:16px}.slideover-back-button{align-items:center;background:none;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:8px;transition:background-color .2s}.slideover-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding:16px}.confirmation-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirmation-dialog{background-color:#fff;border-radius:8px;max-width:400px;padding:24px;width:90%}.confirmation-title{font-size:18px;font-weight:700;margin-bottom:12px}.confirmation-message{margin-bottom:20px}.confirmation-actions{display:flex;gap:12px;justify-content:flex-end}.confirmation-cancel-btn{background-color:#f3f4f6;color:#374151}.confirmation-cancel-btn,.confirmation-confirm-btn{border:none;border-radius:4px;cursor:pointer;padding:8px 16px}.confirmation-confirm-btn{background-color:#ef4444;color:#fff}.mobile-menu-overlay{align-items:flex-end;animation:fadeIn .3s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:995}.mobile-menu{animation:slideUp .3s ease-out;background-color:#fff;border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -4px 20px #0003;max-height:70vh;overflow-y:auto;width:100%}.mobile-menu-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px}.mobile-menu-header h2{font-size:18px;font-weight:700;margin:0}.mobile-menu-close{background:none;border:none;color:#64748b;cursor:pointer;padding:4px}.mobile-menu-content{padding:8px 0}.mobile-menu-item{align-items:center;background:none;border:none;cursor:pointer;display:flex;padding:16px;text-align:left;width:100%}.mobile-menu-item:hover{background-color:#f8fafc}.mobile-menu-item span{font-size:16px;margin-left:12px}.mobile-menu-item.active{background-color:#eef2ff;color:#3b82f6;font-weight:500}.mobile-menu-separator{background-color:#e2e8f0;height:1px;margin:12px 16px}.mobile-menu-admin-header{color:#64748b;font-size:14px;font-weight:500;padding:8px 16px}.mobile-menu-admin-item{background-color:#f8fafc}.mobile-menu-admin-item svg{color:#3b82f6}.notification-badge{position:relative}.notification-count{align-items:center;border-radius:50%;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}.notification-icon{cursor:pointer;margin-right:16px;position:relative}.notification-approved{background-color:#d1fae5!important}.notification-liked{background-color:#dbeafe!important}.notification-rejected{background-color:#fee2e2!important}.notification-unread{border-left:4px solid #3b82f6!important}.notification-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.notification-item{background-color:#f8fafc;border-radius:8px;cursor:pointer;padding:12px;transition:background-color .2s}.notification-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.notification-title{font-weight:700}.notification-content{font-size:14px;margin-bottom:8px}.notification-timestamp{color:#64748b;font-size:12px;text-align:right}.profile-notification-badge{align-items:center;border-radius:50%;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}.admin-badge{align-items:center;background-color:#3b82f6;border-radius:12px;color:#fff;display:inline-flex;font-size:12px;font-weight:500;gap:4px;margin-left:8px;padding:2px 8px}.admin-notification-badge{align-items:center;border-radius:50%;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}.calendar{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;overflow:hidden}.calendar-header{background-color:#f8fafc;border-bottom:1px solid #e2e8f0;display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day-header{font-weight:700;padding:12px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{border:1px solid #e2e8f0;min-height:100px;padding:8px;position:relative}.calendar-cell-today{background-color:initial}.calendar-cell-event{background-color:#f8fafc}.calendar-day-number{font-size:14px;margin-bottom:8px}.calendar-day-number-today{align-items:center;background-color:#e395b0;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:21px;justify-content:center;margin-bottom:8px;width:21px}.calendar-event{border-radius:4px;cursor:pointer;font-size:12px;margin-bottom:4px;padding:4px 8px}.calendar-event-no-reviews{background-color:#fff;border:1px solid #9a55a1;color:#9a55a1}.calendar-event-with-reviews{background-color:#9a55a1;color:#fff}.calendar-event-prefecture{font-size:12px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.calendar-event-reviews{align-items:center;display:flex;font-size:10px;gap:4px;justify-content:center}.calendar-event-link{text-decoration:none}.calendar-select{background-color:#fff;border:1px solid #d1d5db;border-radius:4px;padding:8px}.current-month-option{background-color:#f0f9ff;font-weight:700}.calendar-navigation{margin-bottom:40px;margin-top:40px}.nav-grid{flex-direction:column}.nav-grid,.nav-row{display:flex;gap:16px}.nav-card{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;flex:1 1;transition:transform .2s,box-shadow .2s}.nav-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-3px)}.nav-card-button{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:center;padding:24px 16px;text-align:center;width:100%}.nav-card-icon{margin-bottom:12px}.nav-card-title{font-size:16px;font-weight:700;margin-bottom:4px}.nav-card-desc{color:#6b7280;font-size:14px}.review-card{background-color:#f7f7f7;border-radius:8px;box-shadow:0 1px 3px #0000001a;flex:0 0 280px;padding:16px;scroll-snap-align:start}.review-title{font-size:16px;font-weight:700;margin-bottom:8px}.review-content-wrapper{margin-bottom:12px}.reviews-container{margin:0 30px;position:relative}.reviews-count{color:#64748b;font-size:14px;font-weight:400;margin-left:8px}.reviews-scroller{-ms-overflow-style:none;align-items:flex-start;display:flex;flex-wrap:nowrap;gap:16px;overflow-x:auto;padding:8px 0;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.reviews-scroller::-webkit-scrollbar{display:none}.reviews-scroll-buttons{display:flex;justify-content:space-between;left:-16px;pointer-events:none;position:absolute;right:-16px;top:50%;transform:translateY(-50%)}.reviews-scroll-buttons.start-only{justify-content:flex-end}.reviews-scroll-btn{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:50%;box-shadow:0 2px 5px #0000001a;cursor:pointer;display:flex;height:32px;justify-content:center;pointer-events:auto;width:32px;z-index:10}.reviews-scroll-left{order:1}.reviews-scroll-right{order:2}.review-submission-page{margin:0 auto;max-width:800px;padding:20px}.review-submission-header{align-items:center;display:flex;gap:16px;margin-bottom:24px}.review-submission-title{font-size:24px;font-weight:700}.back-button{background:none;color:#6b7280;gap:4px}.back-button,.review-submit-btn{align-items:center;border:none;cursor:pointer;display:flex}.review-submit-btn{background-color:#9a55a1;border-radius:4px;color:#fff;font-size:16px;gap:8px;justify-content:center;margin:0 auto;max-width:400px;padding:12px 24px;width:100%}.review-submission-overlay{background-color:#f8fafc;bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:1000}.event-summary{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:16px}.event-summary-title{font-size:20px;font-weight:700;margin-bottom:12px}.event-summary-details{color:#6b7280}.input-container{margin-bottom:16px}.input-label{display:block;font-weight:500;margin-bottom:8px}.input-wrapper{position:relative}.review-input{border:1px solid #d1d5db;border-radius:8px;padding:8px 80px 8px 12px;width:100%}.char-counter{bottom:8px;color:#6b7280;font-size:12px;position:absolute;right:12px}.char-warning{color:#f59e0b}.textarea-container{margin-bottom:16px;position:relative}.review-textarea{border:1px solid #d1d5db;border-radius:8px;min-height:180px;padding:12px;resize:vertical;width:100%}.review-limit-info{margin-bottom:16px}.review-limit-warning{color:#f59e0b;font-weight:700;margin-left:8px}.review-limit-error{color:#ef4444;font-weight:700;margin-left:8px}.review-guidelines{background-color:#f8fafc}.error-message,.review-guidelines{border-radius:6px;margin-bottom:16px;padding:12px}.error-message{background-color:#fee2e2;color:#ef4444}.form-buttons{display:flex;gap:12px}.cancel-button{background-color:#f3f4f6;color:#374151}.cancel-button,.submit-button{border:none;border-radius:4px;cursor:pointer;flex:1 1;padding:12px}.submit-button{align-items:center;background-color:#3b82f6;color:#fff;display:flex;gap:8px;justify-content:center}.submit-success{background-color:#dcfce7;border-radius:8px;color:#166534;padding:16px;text-align:center}.profile-card{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:24px;margin-bottom:24px;padding:24px}.profile-avatar{background-color:#f3f4f6;border-radius:50%;color:#6b7280;flex-shrink:0;padding:16px}.profile-info{flex:1 1}.profile-name{font-size:24px;font-weight:700;margin-bottom:8px}.profile-meta{color:#6b7280;display:flex;gap:16px;margin-bottom:12px}.profile-fan-history{margin-top:12px}.profile-details{margin-top:8px}.profile-edit-form{display:flex;flex-direction:column;gap:16px;width:100%}.profile-info-display{display:flex;flex-direction:column;gap:8px}.profile-tabs{display:flex;gap:16px;margin-bottom:24px}.program-item{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 16px}.program-item-intermission{background-color:#f1f5f9}.program-item-futaba{background-color:#eef2ff}.program-item-talk{background-color:#f3f4f6}.program-content-wrapper{flex:1 1}.program-title-row{align-items:center;display:flex;gap:16px;justify-content:space-between}.program-item-title{flex-shrink:0;font-weight:700}.program-item-title-intermission,.program-item-title-talk{color:#6b7280;font-weight:400}.program-item-performer{color:#64748b}.program-item-performer,.program-item-performer-futaba{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-item-performer-futaba{color:#4f46e5;font-weight:500}.programs-container{margin:0 30px;position:relative}.programs-scroller{-ms-overflow-style:none;display:flex;gap:16px;overflow-x:auto;padding:8px 0;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.programs-scroller::-webkit-scrollbar{display:none}.programs-scroll-buttons{display:flex;justify-content:space-between;left:-16px;pointer-events:none;position:absolute;right:-16px;top:50%;transform:translateY(-50%)}.programs-scroll-btn{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:50%;box-shadow:0 2px 5px #0000001a;cursor:pointer;display:flex;height:32px;justify-content:center;pointer-events:auto;width:32px;z-index:10}.programs-scroll-left{order:1}.programs-scroll-right{order:2}.program-card{background-color:#f8fafc;border-radius:8px;box-shadow:0 1px 3px #0000001a;flex:0 0 280px;padding:16px;scroll-snap-align:start}.program-card-add{background-color:#f0f9ff;border:2px dashed #93c5fd}.program-card-add,.program-card-add-button{align-items:center;display:flex;justify-content:center}.program-card-add-button{background:none;border:none;color:#3b82f6;cursor:pointer;flex-direction:column;gap:12px;height:100%;padding:24px 0;width:100%}.program-card-header{border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.program-card-user{color:#3b82f6;font-weight:500}.program-card-actions{display:flex;justify-content:center;margin-top:16px}.event-detail{padding:16px}.event-title{font-size:18px;font-weight:700;margin-bottom:16px}.event-detail-info{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.event-detail-meta{align-items:center;color:#6b7280;display:flex;gap:8px}.event-section{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:24px}.section-title{font-size:18px;font-weight:700;margin-bottom:16px}.event-after-start{margin-top:24px}.file-upload-area{margin-bottom:24px}.file-upload-dropzone{border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;padding:40px 20px;text-align:center;transition:border-color .2s,background-color .2s}.file-upload-dropzone:hover{background-color:#f8fafc;border-color:#3b82f6}.hidden{display:none}.selected-file{margin-bottom:24px}.csv-preview-table{border-collapse:collapse;font-size:14px;width:100%}.csv-preview-table th{background-color:#f8fafc;font-weight:600;padding:8px;text-align:left}.csv-preview-table td{border-top:1px solid #e5e7eb;padding:8px}.template-download{background-color:#f8fafc;border-radius:8px;margin-bottom:24px;padding:16px}.template-download ul{margin-top:8px;padding-left:20px}.template-download li{margin-bottom:4px}.overflow-x-auto{overflow-x:auto}.clickable-link{color:#3b82f6;cursor:pointer}.clickable-link:hover{text-decoration:underline}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.opacity-50{opacity:.5}.position-relative{position:relative}.review-confirm{margin:0 auto;max-width:800px;padding:20px}.confirm-section{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:24px;padding:16px}.confirm-label{color:#374151;font-size:16px;font-weight:700;margin-bottom:8px}.confirm-content{background-color:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1e293b;font-size:16px;line-height:1.6;padding:8px}@media (max-width:768px){.confirm-section{margin-bottom:16px;padding:12px}.confirm-content,.confirm-label{font-size:14px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes errorShake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-4px)}}@media (max-width:768px){html{font-size:15px}.container{padding:.75rem}.navbar{display:none}.mobile-nav{display:flex}.calendar-navigation{display:none}.main-content,.slideover-content{padding-bottom:70px}.form-button-group{flex-direction:column-reverse}.form-inline{flex-direction:column}.form-inline .form-field-group{margin-bottom:16px;width:100%}.modal-content{margin:0 auto;padding:16px;width:95%}.profile-card{align-items:center;flex-direction:column;padding:16px;text-align:center}.profile-info{width:100%}.profile-meta{align-items:center;flex-direction:column;gap:8px}.profile-notification-badge{display:inline-flex;margin-left:8px;position:static}.nav-row{flex-direction:column}.admin-action-grid{gap:12px;grid-template-columns:repeat(2,1fr);width:100%}.admin-action-card{width:100%}.admin-action-button{padding:12px 8px}.admin-action-title{font-size:14px;margin-bottom:4px}.admin-action-desc{display:none}.admin-action-icon{margin-bottom:8px}}@media (max-width:480px){html{font-size:14px}.container{padding:.5rem}.calendar-day-header{background-color:#e395b0;border-right:1px solid #f1cad8;color:#fff;font-size:12px;padding:6px 4px}.calendar-day-header:last-child{border-right:none}.calendar-cell{min-height:60px;padding:2px}.calendar-day-number,.calendar-day-number-today{font-size:12px;margin-bottom:4px}.calendar-event{font-size:9px;margin-bottom:2px;padding:2px}.calendar-event-prefecture{font-size:9px}.reviews-scroll-btn{display:none}.reviews-container{margin:0}.program-title-row{align-items:flex-start;flex-direction:column;gap:4px}.program-item-performer,.program-item-performer-futaba{font-size:12px}.nav-card-button{padding:16px 8px}.nav-card-icon{margin-bottom:8px}.nav-card-title{font-size:14px}.nav-card-desc{font-size:12px}.mx-16{margin-left:8px;margin-right:8px}.profile-name{font-size:20px}.notification-header{align-items:flex-start;flex-direction:column}.admin-action-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.admin-action-button{min-height:80px;padding:10px 4px}.admin-action-title{font-size:12px;margin-bottom:0}.admin-action-icon{margin-bottom:4px;transform:scale(.8)}.modal-content,.review-card{padding:16px}.program-card{padding:12px}.rejection-modal-content{padding:16px;width:95%}.rejection-modal-textarea{min-height:100px}.confirmation-dialog{padding:16px;width:95%}}.login-container{align-items:center;background-color:#f8fafc;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:32px;text-align:center;width:100%}.login-title{color:#1e293b;font-size:24px;font-weight:700;margin-bottom:16px}.login-description{color:#64748b;margin-bottom:32px}.google-logo{height:18px;margin-right:8px;width:18px}.login-footer{color:#64748b;font-size:12px;margin-top:32px}.auth-error{background-color:#fee2e2;border-radius:4px;color:#ef4444;margin-top:16px;text-align:left}.auth-callback-container{flex-direction:column;text-align:center}.loading-spinner{border:4px solid #3b82f633;border-radius:50%;border-top-color:#3b82f6;display:inline-block;height:32px;margin-bottom:16px;width:32px}.logout-button{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:flex;gap:8px;padding:4px 8px}.logout-button:hover{color:#ef4444}@media (max-width:768px){.login-card{padding:24px}.login-title{font-size:22px}.login-description{font-size:14px;margin-bottom:24px}}@media (max-width:480px){.login-container{padding:16px}.login-card{max-width:100%;padding:20px 16px}.login-title{font-size:20px;margin-bottom:12px}.login-description{font-size:14px;margin-bottom:20px}.login-footer{font-size:11px;margin-top:24px}.auth-error{font-size:13px;padding:10px}}.not-found-container{align-items:center;background-color:#f8fafc;display:flex;justify-content:center;min-height:100vh;padding:20px;text-align:center}.not-found-content{max-width:400px}.not-found-title{color:#3b82f6;font-size:120px;font-weight:700;line-height:1;margin-bottom:16px}.not-found-message{color:#64748b;font-size:18px;margin-bottom:32px}.not-found-actions{margin-top:24px}@media (max-width:480px){.not-found-title{font-size:80px}.not-found-message{font-size:16px}}.database-error-alert{align-items:flex-start;background-color:#fff7ed;border:1px solid #fdba74;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;gap:16px;left:50%;max-width:600px;padding:16px;position:fixed;top:20px;transform:translateX(-50%);width:90%;z-index:1000}.alert-icon{color:#ea580c;flex-shrink:0}.alert-content{flex:1 1}.alert-title{color:#9a3412;font-size:18px;font-weight:700;margin-bottom:8px}.alert-details{background-color:#ffedd5;border-radius:4px;font-size:14px;margin-bottom:12px;padding:12px}.alert-details ul{margin-top:8px;padding-left:24px}.alert-details li{margin-bottom:4px}.alert-message{color:#9a3412;font-size:14px}.app-loading{align-items:center;background-color:#f8fafc;display:flex;flex-direction:column;justify-content:center;min-height:100vh}@media (max-width:768px){.database-error-alert{gap:12px;padding:12px;width:95%}.alert-title{font-size:16px}.alert-details{font-size:13px;padding:10px}}@media (max-width:480px){.database-error-alert{align-items:center;flex-direction:column;text-align:center;top:10px}.alert-details{text-align:left}}.auth-callback-container{align-items:center;background-color:#f8fafc;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-callback-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:32px;text-align:center;width:100%}.auth-callback-icon{margin-bottom:16px}.auth-callback-title{color:#1e293b;font-size:24px;font-weight:700;margin-bottom:16px}.auth-callback-message{color:#64748b;margin-bottom:24px}.google-login-section{margin-bottom:32px}.google-login-button{align-items:center;background-color:#fff;border:1px solid #4285f4;border-radius:4px;color:#4285f4;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:12px;justify-content:center;padding:12px 16px;transition:background-color .2s,box-shadow .2s;width:100%}.google-login-button:hover{background-color:#f8fafc;box-shadow:0 2px 4px #0000000d}.google-login-button:disabled{cursor:not-allowed;opacity:.7}.google-icon{height:20px;width:20px}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.btn-lg{font-size:18px;padding:12px 24px}@media (min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.legal-document{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;line-height:1.8;margin:0 auto;max-width:800px;padding:32px}.legal-header{border-bottom:2px solid #e2e8f0;margin-bottom:32px;padding-bottom:16px}.legal-last-updated{color:#64748b;font-size:14px;margin:0;text-align:right}.legal-section{margin-bottom:32px}.legal-section-title{border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:20px;font-weight:700;margin-bottom:16px;padding-bottom:8px}.legal-subsection{margin:24px 0}.legal-subsection-title{color:#374151;font-size:16px;font-weight:600;margin-bottom:12px}.legal-purpose-group,.legal-rights-group,.legal-service-group{margin:20px 0}.legal-purpose-title,.legal-rights-title,.legal-service-title{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:8px}.legal-service-item{background-color:#f8fafc;border-radius:6px;margin:16px 0;padding:12px}.legal-contact-info{background-color:#f8fafc;border-radius:8px;margin-top:16px;padding:20px}.legal-contact-title{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:8px}.legal-list{margin:12px 0;padding-left:24px}.legal-list li{margin-bottom:8px}.legal-sublist{list-style-type:disc;margin:8px 0;padding-left:20px}.legal-sublist li{margin-bottom:4px}.legal-contact{color:#3b82f6;font-weight:500}.legal-footer{border-top:2px solid #e2e8f0;color:#64748b;font-weight:500;margin-top:32px;padding-top:16px;text-align:center}@media (max-width:768px){.legal-document{margin:0 8px;padding:20px}.legal-section-title{font-size:18px}.legal-contact-title,.legal-purpose-title,.legal-rights-title,.legal-service-title,.legal-subsection-title{font-size:15px}.legal-list{padding-left:20px}.legal-sublist{padding-left:16px}}@media (max-width:480px){.legal-document{margin:0 4px;padding:16px}.legal-section-title{font-size:16px}.legal-contact-title,.legal-purpose-title,.legal-rights-title,.legal-service-title,.legal-subsection-title{font-size:14px}.legal-service-item{padding:8px}.legal-contact-info{padding:16px}}.announcement-header{transition:background-color .2s}.announcement-header:hover{background-color:#f8fafc}.announcement-important{background-color:#fef7f0}.announcement-important:hover{background-color:#fef2e8}.announcement-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.announcement-content.expanded{max-height:500px;transition:max-height .3s ease-in}@media (max-width:768px){.announcement-header{align-items:flex-start;flex-direction:column;gap:8px}.announcement-content.expanded{max-height:300px}}@media (max-width:480px){.announcement-content .p-16,.announcement-header{padding:12px}}.google-original-btn{align-items:center;background-color:#fff;border:1px solid #4285f4;border-radius:4px;color:#4285f4;cursor:pointer;display:inline-flex;font-size:18px;font-weight:500;gap:8px;padding:12px 24px}.calendar-controls{align-items:center;display:flex;gap:24px;justify-content:flex-end}.calendar-year-select{flex:0 0 auto}.calendar-month-controls{align-items:center;display:flex;gap:16px}.calendar-month-controls .mx-16{font-weight:500;margin:0 12px;min-width:40px;text-align:center}.calendar-header-container{align-items:center;display:flex;gap:16px;justify-content:center}.desktop-hidden{display:none}.desktop-only{display:block}@media (max-width:768px){.calendar-header-container{display:flex;flex-direction:column;gap:16px;position:relative}.desktop-hidden{display:block}.desktop-only{display:none}.calendar-title-year-row{align-items:center;display:flex;flex-wrap:nowrap;justify-content:space-between;margin-top:-8px;padding-bottom:8px;position:relative;width:100%}.calendar-title-year-row:after{background-color:#e395b0;bottom:0;content:"";height:1px;left:50%;position:absolute;transform:translateX(-50%);width:100vw;z-index:0}.calendar-title{color:#e395b0;font-size:18px;font-weight:700;margin:0;white-space:nowrap}.calendar-title,.calendar-year-select{flex-shrink:0;position:relative;z-index:1}.calendar-year-select{max-width:120px;min-width:100px}.calendar-month-controls{align-items:center;display:flex;justify-content:space-between;width:100%}.calendar-month-display{flex:1 1;font-size:14px;font-weight:500;text-align:center}}.maintenance-container{align-items:center;background-color:#f8fafc;display:flex;justify-content:center;min-height:100vh;padding:20px}.maintenance-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:500px;padding:48px 32px;text-align:center;width:100%}.maintenance-icon{color:#f59e0b;margin-bottom:24px}.maintenance-title{color:#1e293b;font-size:32px;font-weight:700;margin-bottom:24px}.maintenance-message{color:#64748b;line-height:1.6;margin-bottom:32px}.maintenance-details{background-color:#f8fafc;border-radius:6px;margin-bottom:24px;padding:20px}.maintenance-detail-item{align-items:center;color:#374151;display:flex;gap:8px;margin-bottom:8px}.maintenance-detail-item:last-child{margin-bottom:0}.maintenance-contact{align-items:center;color:#3b82f6;display:flex;gap:8px;justify-content:center;margin-bottom:24px}.maintenance-footer{color:#64748b;font-size:14px}@media (max-width:768px){.maintenance-content{padding:32px 20px}.maintenance-title{font-size:28px}.maintenance-details{padding:16px}.maintenance-detail-item{align-items:flex-start;flex-direction:column;gap:4px}.maintenance-contact{flex-direction:column;gap:8px}}@media (max-width:480px){.maintenance-container{padding:16px}.maintenance-content{padding:24px 16px}.maintenance-title{font-size:24px}.maintenance-icon{height:48px;width:48px}}.about-button{align-items:center;background-color:#fff;border:1px solid #e395b0;border-radius:8px;color:#e395b0;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;justify-content:center;min-width:160px;padding:12px 24px;transition:all .2s ease}.about-button:hover{box-shadow:0 4px 8px #e395b04d;transform:translateY(-1px)}.about-button:active{box-shadow:0 2px 4px #e395b033;transform:translateY(0)}.about-modal-content{background-color:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:600px;position:relative;width:90%}.about-modal-header{border-bottom:1px solid #e5e5e5;flex-shrink:0;padding:24px 24px 0}.about-modal-title{color:#1e293b;font-size:24px;font-weight:700;margin:0 0 16px;text-align:center}.about-modal-body{flex:1 1;line-height:1.6;overflow-y:auto;padding:24px}.about-modal-body p{color:#374151;margin-bottom:16px}.about-section-title{border-bottom:2px solid #e395b0;color:#e395b0;font-size:20px;font-weight:700;margin:24px 0 16px;padding-bottom:8px}.about-feature{background-color:#f8fafc;margin-bottom:24px;padding:14px}.about-feature-title{color:#1e293b;font-size:18px;font-weight:700;margin:0 0 12px}.about-feature p{margin-bottom:8px}.about-note{color:#64748b;font-size:14px;font-style:italic;margin-bottom:4px!important}.about-modal-footer{background-color:#f8fafc;border-radius:0 0 12px 12px;border-top:1px solid #e5e5e5;display:flex;flex-shrink:0;justify-content:center;padding:16px 24px}.about-modal-footer .btn{min-width:120px}@media (max-width:768px){.about-button{font-size:14px;min-width:140px;padding:10px 20px}.about-modal-content{max-height:85vh;width:95%}.about-modal-header{padding:20px 20px 0}.about-modal-title{font-size:20px}.about-modal-body{padding:20px}.about-section-title{font-size:18px}.about-feature-title{font-size:16px}.about-feature{padding:12px}.about-modal-footer{padding:12px 20px}}@media (max-width:480px){.about-button{font-size:13px;min-width:120px;padding:8px 16px}.about-modal-content{max-height:90vh;width:98%}.about-modal-header{padding:16px 16px 0}.about-modal-title{font-size:18px}.about-modal-body{padding:16px}.about-section-title{font-size:16px;margin:20px 0 12px}.about-feature-title{font-size:15px}.about-feature{margin-bottom:16px;padding:10px}.about-note{font-size:13px}.about-modal-footer{padding:10px 16px}}.guidelines-accordion{margin-top:16px}.guidelines-accordion-item{border:1px solid #e2e8f0;border-radius:6px;margin-bottom:8px}.guidelines-accordion-button{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-weight:500;justify-content:space-between;padding:12px 16px;transition:background-color .2s;width:100%}.guidelines-accordion-button:hover{background-color:#f8fafc}.guidelines-accordion-content{background-color:#f8fafc;border-top:1px solid #e2e8f0;padding:12px 16px}.guidelines-accordion-content ul{margin:0;padding-left:20px}.guidelines-accordion-content li{color:#374151;font-size:14px;margin-bottom:8px}@media (max-width:768px){.form-buttons{flex-direction:column-reverse;gap:12px}.form-buttons .btn,.form-buttons .cancel-button,.form-buttons .review-submit-btn{width:100%}.review-submit-btn{max-width:none;width:100%}}.report-card-actions{align-items:center;display:flex;justify-content:space-between;margin-top:12px}.report-card-actions-left,.report-card-actions-right{align-items:center;display:flex;gap:8px}.report-card-actions-right{margin-left:auto}.like-button-container{align-items:center;display:flex;gap:4px;margin-left:auto}.profile-page-name{color:#9f9f9f;flex-shrink:0;font-size:18px;font-weight:700;margin:0;position:relative;white-space:nowrap;z-index:1}.recent-report-event-info{margin-bottom:12px;margin-bottom:16px}.recent-report-event-title{color:#1e293b;font-size:16px;font-weight:700;margin-bottom:12px}.recent-report-event-meta{display:flex;flex-direction:column;gap:8px}.recent-report-meta-item{align-items:center;color:#64748b;display:flex;font-size:14px;gap:8px}.recent-report-divider{border:none;border-top:1px solid #e2e8f0;margin:16px 0}.recent-report-content{margin-bottom:0}.recent-report-user-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.recent-report-post-date{color:#64748b;font-size:14px}.recent-report-title{color:#1e293b;font-size:16px;font-weight:700;margin-bottom:12px}.recent-report-text{color:#1e293b;line-height:1.6;margin-bottom:12px}.recent-report-fan-info{color:#64748b;font-size:14px;margin-bottom:8px}.recent-report-residence{color:#64748b;font-size:14px;margin-bottom:16px}.recent-report-actions{display:flex;justify-content:flex-end}.recent-report-like-section{align-items:center;display:flex;gap:8px}.like-count{font-size:14px;font-weight:500}@media (max-width:768px){.recent-report-event-meta{gap:6px}.recent-report-user-info{align-items:flex-start;flex-direction:column;gap:4px}.recent-report-meta-item,.recent-report-post-date{font-size:13px}}.profile-report-event-info{margin-bottom:12px}.profile-report-event-title{color:#1e293b;font-size:16px;font-weight:700;margin-bottom:12px}.profile-report-event-meta{display:flex;flex-direction:column;gap:8px}.profile-report-meta-item{align-items:center;color:#64748b;display:flex;font-size:14px;gap:8px}.profile-report-divider{border:none;border-top:1px solid #e2e8f0;margin:16px 0}.profile-report-content{margin-bottom:0}.profile-report-post-date{color:#64748b;font-size:14px;margin-bottom:12px}.profile-report-title{color:#1e293b;font-size:16px;font-weight:700;margin-bottom:12px}.profile-report-text{color:#1e293b;line-height:1.6;margin-bottom:12px}.profile-report-status{border-radius:4px;display:inline-block;font-size:12px;font-weight:700;margin-bottom:12px;padding:4px 8px}.status-approved{background-color:#dcfce7;color:#16a34a}.status-rejected{background-color:#fee2e2;color:#ef4444}.status-pending{background-color:#fff7ed;color:#f59e0b}@media (max-width:768px){.profile-report-event-meta{gap:6px}.profile-report-meta-item,.profile-report-post-date{font-size:13px}}@media (max-width:1024px){.user-management-table td:nth-child(4),.user-management-table td:nth-child(5),.user-management-table th:nth-child(4),.user-management-table th:nth-child(5){display:none}}@media (max-width:768px){.user-management-table td:nth-child(6),.user-management-table th:nth-child(6){display:none}}.login-tooltip{animation:fadeInTooltip .2s ease-out;background-color:#9a55a1;border-radius:6px;bottom:100%;box-shadow:0 2px 8px #00000026;color:#fff;font-size:12px;margin-bottom:8px;padding:8px 12px;white-space:nowrap;z-index:1000}.login-tooltip,.login-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.login-tooltip:after{border:4px solid #0000;border-top-color:#9a55a1;content:"";top:100%}@media (max-width:768px){.login-tooltip{bottom:50%;left:auto;margin-bottom:0;margin-right:8px;right:100%;text-align:center;transform:translateY(50%);white-space:pre-line;width:160px;word-break:break-word}.login-tooltip:after{border:4px solid #0000;border-left-color:#9a55a1;left:100%;right:auto;top:50%;transform:translateY(-50%)}}@keyframes fadeInTooltip{0%{opacity:0;transform:translateX(-50%) translateY(4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.profile-reports-header{align-items:center;display:flex;justify-content:space-between}@media (max-width:768px){.profile-reports-header{align-items:flex-start;flex-direction:column;gap:16px}.profile-reports-header h2{font-size:18px;font-weight:700;margin:0}.profile-reports-header select{font-size:14px;max-width:200px;width:100%}}.admin-announcement{background-color:#f7f7f7;border-left:4px solid #e395b0;border-radius:8px;color:#363636;margin:16px 0;padding:16px 20px}.admin-announcement-content{align-items:center;display:flex;font-size:16px;font-weight:700;gap:8px;margin-bottom:8px}.admin-announcement-message{font-size:15px;line-height:1.5;margin-left:4px}@media (max-width:768px){.admin-announcement{margin:12px 0;padding:14px 16px}.admin-announcement-content{font-size:15px}.admin-announcement-message{font-size:14px}}.back-button-text{color:#9f9f9f;font-size:14px;font-weight:400;margin:0;text-align:left}@media (max-width:768px){.back-button-text{font-size:13px}}.loading-container{align-items:center;background-color:#f8fafc;display:flex;flex-direction:column;justify-content:center;left:0;min-height:100vh;position:fixed;text-align:center;top:0;width:100vw;z-index:9999}.loading-text{color:#64748b;font-size:18px;font-weight:500}.loading-dots{display:inline-block;font-weight:700}.loading-dots:after{animation:loadingDots 1.5s infinite;content:""}@keyframes loadingDots{0%{content:""}25%{content:"・"}50%{content:"・・"}75%{content:"・・・"}to{content:"・・・"}}.login-modal-content{max-width:400px;width:90%}.google-login-section{margin-bottom:16px}.auth-divider{border-top:1px solid #e2e8f0;margin:24px 0;position:relative;text-align:center}.auth-divider span{background-color:#fff;color:#64748b;font-size:14px;left:50%;padding:0 16px;position:absolute;top:-10px;transform:translateX(-50%)}.email-auth-options{display:flex;flex-direction:column;gap:8px}.email-auth-form{margin-top:16px}.form-group{margin-bottom:16px}.form-label{color:#1e293b;font-weight:500}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:#64748b;left:12px;position:absolute;z-index:1}.form-input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:12px 16px 12px 40px;transition:border-color .2s,box-shadow .2s;width:100%}.form-input::placeholder{color:#9ca3af}.password-toggle{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;transition:color .2s}.password-toggle:hover{color:#3b82f6}.auth-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626}.auth-error,.auth-success{align-items:center;display:flex;font-size:14px;padding:12px}.auth-success{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#16a34a}.auth-mode-links{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:14px;gap:8px;justify-content:center}.auth-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:14px;padding:0;text-decoration:none;transition:color .2s}.auth-link:hover{color:#1d4ed8;text-decoration:underline}.auth-link-separator{color:#d1d5db;font-weight:700}.btn-outline{background-color:initial;border:1px solid #d1d5db;color:#374151}.btn-outline:hover{background-color:#f9fafb;border-color:#9ca3af}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:480px){.login-modal-content{margin:16px;max-width:95%}.email-auth-options{gap:12px}.auth-mode-links{flex-direction:column;gap:12px}.auth-link-separator{display:none}.form-input{font-size:16px}}.password-reset-card,.register-form-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin:0 auto;max-width:480px;padding:32px}.password-reset-content,.register-form-content{text-align:center}.password-reset-title,.register-form-title{color:#1e293b;font-size:24px;font-weight:700;margin-bottom:8px}.password-reset-description,.register-form-description{color:#64748b;font-size:16px;line-height:1.5;margin-bottom:32px}.register-google-section{margin-bottom:24px}.register-google-section .google-login-button{width:100%}.password-reset-form,.register-email-form{text-align:left}.form-group{margin-bottom:20px}.form-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.password-requirements{margin-top:4px}.password-requirements .text-xs{color:#6b7280;font-size:12px}.checkbox-label{align-items:flex-start;cursor:pointer;display:flex;font-size:14px;gap:8px;line-height:1.4}.checkbox-input{accent-color:#3b82f6;cursor:pointer;height:16px;margin:0;width:16px}.checkbox-text{color:#374151;flex:1 1}.checkbox-text a{color:#3b82f6;text-decoration:none}.checkbox-text a:hover{text-decoration:underline}.password-reset-complete{text-align:center}.password-reset-complete .text-success{color:#16a34a}.auth-error,.auth-success{border-radius:8px;font-size:14px;line-height:1.4}.btn.w-full{justify-content:center;width:100%}.btn:disabled{cursor:not-allowed;opacity:.6}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input:invalid{border-color:#ef4444}.form-input:invalid:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}@media (max-width:768px){.password-reset-card,.register-form-card{margin:16px;max-width:none;padding:24px}.password-reset-title,.register-form-title{font-size:20px}.password-reset-description,.register-form-description{font-size:14px;margin-bottom:24px}}@media (max-width:480px){.password-reset-card,.register-form-card{margin:8px;padding:20px}.form-input{font-size:16px}.checkbox-label{font-size:13px}.btn{padding:14px 16px}}.password-reset-card,.register-form-card{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn:disabled .loading-spinner{margin-right:8px}.btn:focus,.checkbox-input:focus,.form-input:focus{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-color-scheme:dark){.password-reset-card,.register-form-card{background-color:#1f2937;border-color:#374151;color:#f9fafb}.form-input,.password-reset-title,.register-form-title{color:#f9fafb}.form-input{background-color:#374151;border-color:#4b5563}.form-input::placeholder{color:#9ca3af}}.auth-divider{border:none;border-top:1px solid #e5e5e5;margin:16px 0}.about-feature-list{list-style-type:none;margin:8px 0;padding-left:0}.about-feature-list li{margin-bottom:4px;padding-left:16px;position:relative}.about-feature-list li:before{content:"・";left:0;position:absolute;top:0}.about-subsection{margin-top:16px}.about-subsection-title{color:#9a55a1;font-size:16px;font-weight:700;margin:12px 0 8px}.about-guidelines{margin-bottom:16px}.about-guidelines-title{font-size:14px;font-weight:700;margin:8px 0 4px}@media (max-width:768px){.faq-answer-container{word-wrap:break-word;margin-right:0;overflow-wrap:break-word;padding-left:20px!important}}
/*# sourceMappingURL=main.5ce7a3e8.css.map*/