.line-login-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#06c755;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit;position:relative;overflow:hidden}.line-login-button:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffff1a;transform:translate(-100%);transition:transform .3s ease}.line-login-button:hover:before{transform:translate(0)}.line-login-button:hover{background:#05b04c;transform:translateY(-2px);box-shadow:0 4px 12px #06c75566}.line-login-button:active{transform:translateY(0);box-shadow:0 2px 6px #06c7554d}.line-login-button.small{padding:8px 16px;font-size:14px;gap:8px}.line-login-button.small .line-logo{width:20px;height:20px}.line-login-button.medium{padding:12px 24px;font-size:16px;gap:12px}.line-login-button.medium .line-logo{width:24px;height:24px}.line-login-button.large{padding:16px 32px;font-size:18px;gap:14px}.line-login-button.large .line-logo{width:28px;height:28px}.line-login-button.full-width{width:100%}.line-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0}.line-logo svg{width:100%;height:100%}.line-text{position:relative;z-index:1;white-space:nowrap}.line-login-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.line-login-button:disabled:hover{background:#ccc;box-shadow:none;transform:none}.line-login-button:disabled:before{display:none}@media(max-width:480px){.line-login-button.medium{padding:10px 20px;font-size:15px}.line-login-button.large{padding:14px 28px;font-size:16px}}@media(prefers-color-scheme:dark){.line-login-button{box-shadow:0 2px 8px #06c7554d}.line-login-button:hover{box-shadow:0 4px 16px #06c75580}}.login-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200000;padding:16px;box-sizing:border-box;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.login-modal{background:#fff;padding:24px;border-radius:16px;width:100%;max-width:420px;box-shadow:0 8px 32px #00000040;animation:slideUp .3s ease-out;max-height:90vh;overflow-y:auto;overflow-x:hidden;position:relative;display:flex;flex-direction:column}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-modal h2{margin-top:0;margin-bottom:20px;text-align:center;font-size:1.5rem;color:#333;font-weight:700;flex-shrink:0}.login-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #f0f0f0}.login-tab{flex:1;padding:12px 16px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:.95rem;font-weight:600;color:#999;transition:all .2s ease;position:relative;bottom:-2px}.login-tab:hover:not(:disabled){color:#667eea;background-color:#f8f9ff}.login-tab.active{color:#667eea;border-bottom-color:#667eea;background-color:#f8f9ff}.login-tab:disabled{opacity:.5;cursor:not-allowed}.help-text{font-size:.9rem;color:#666;line-height:1.6;margin-bottom:20px;padding:12px 16px;background-color:#f8f9ff;border-radius:8px;border-left:3px solid #667eea}.login-modal form label{display:block;margin-bottom:16px;font-size:.95rem;font-weight:600;color:#555}.login-modal form input{width:100%;padding:14px 16px;margin-top:6px;box-sizing:border-box;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;transition:all .2s ease;background-color:#fafafa}.login-modal form input:focus{outline:none;border-color:#667eea;background-color:#fff;box-shadow:0 0 0 3px #667eea1a}.login-modal form input::placeholder{color:#aaa;font-size:15px}.login-modal-buttons{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.login-modal-buttons button{flex:1;padding:14px 20px;border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s ease;min-height:48px}.login-modal-buttons button:first-child{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.login-modal-buttons button:first-child:hover:not(:disabled){box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.login-modal-buttons button:first-child:active:not(:disabled){transform:translateY(0)}.login-modal-buttons button:last-child{background-color:#f5f5f5;color:#666;border:2px solid #e0e0e0}.login-modal-buttons button:last-child:hover:not(:disabled){background-color:#e8e8e8;border-color:#ccc}.login-modal-buttons button:disabled{opacity:.6;cursor:not-allowed}.login-modal-buttons button.loading{display:flex;align-items:center;justify-content:center;gap:8px}.forgot-password-link{text-align:right;margin-top:4px;margin-bottom:8px}.forgot-password-link .link-button{background:none;border:none;color:#667eea;text-decoration:none;cursor:pointer;font-size:.9rem;padding:8px;font-weight:500;transition:color .2s;min-height:36px}.forgot-password-link .link-button:hover{color:#764ba2;text-decoration:underline}.error-message{background-color:#fff5f5;border-left:4px solid #f56565;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem;line-height:1.5;animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.success-message{background-color:#f0fff4;border-left:4px solid #48bb78;color:#2f855a;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem;line-height:1.5}.register-link{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0;font-size:.95rem;color:#666}.register-link .link-button{background:none;border:none;color:#667eea;text-decoration:none;cursor:pointer;font-weight:600;padding:8px;margin-left:4px;transition:color .2s;min-height:36px}.register-link .link-button:hover{color:#764ba2;text-decoration:underline}@media(max-width:768px){.login-modal-overlay{padding:0;align-items:flex-end}.login-modal{border-radius:24px 24px 0 0;max-width:100%;height:auto;max-height:90vh;padding:16px 20px;padding-bottom:max(120px,calc(120px + env(safe-area-inset-bottom)));animation:slideUpMobile .3s ease-out;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative;display:flex;flex-direction:column}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.login-modal h2{font-size:1.3rem;margin-bottom:16px;margin-top:0;flex-shrink:0}.login-modal form label{font-size:.9rem;margin-bottom:14px}.login-modal form input{padding:12px 14px;font-size:16px}.login-modal form{flex:1;min-height:0;display:flex;flex-direction:column}.login-modal-buttons{gap:10px;margin-top:20px;padding-bottom:max(20px,env(safe-area-inset-bottom));flex-direction:column;flex-shrink:0}.login-modal-buttons button{width:100%;min-height:48px;font-size:1rem}.forgot-password-link{margin-top:-6px;margin-bottom:10px}.register-link{font-size:.9rem;margin-top:16px;margin-bottom:20px;flex-shrink:0}.forgot-password-link .link-button,.register-link .link-button{min-height:40px;padding:8px}.login-tabs{gap:4px;margin-bottom:20px}.login-tab{padding:14px 12px;font-size:.9rem}.help-text{font-size:.85rem;padding:10px 12px;margin-bottom:14px;line-height:1.4}}.registration-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200000;overflow-y:auto;padding:20px;box-sizing:border-box;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.registration-modal{background:#fff;border-radius:16px;width:90%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000040;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.close-button{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.close-button:hover:not(:disabled){background-color:#f0f0f0;color:#333}.close-button:disabled{opacity:.5;cursor:not-allowed}.registration-modal .step-indicator{display:flex;justify-content:center;align-items:center;padding:12px 24px 8px;gap:0}.registration-modal .step{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;flex-shrink:0;min-width:90px}.registration-modal .step-number{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;background-color:#f5f5f5;color:#999;border:2px solid #e0e0e0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3rem;line-height:1;transition:all .3s ease;flex-shrink:0}.registration-modal .step.active .step-number{background-color:#667eea;color:#fff;border-color:#667eea;box-shadow:0 4px 12px #667eea40;transform:scale(1.05)}.registration-modal .step-label{font-size:.9rem;color:#666;transition:color .3s;white-space:nowrap;font-weight:500;text-align:center}.registration-modal .step.active .step-label{color:#667eea;font-weight:700}.registration-modal .step-divider{width:80px;height:2px;background-color:#e0e0e0;margin:23px 16px 0;flex-shrink:0;align-self:flex-start}.modal-body{padding:16px 24px 20px}.registration-form{display:flex;flex-direction:column;gap:10px}.step-description{margin:0 0 12px;color:#666;font-size:.85rem;line-height:1.4}.registration-form label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;font-weight:600;color:#333}.registration-form input[type=text],.registration-form input[type=tel],.registration-form input[type=password],.registration-form input[type=date]{width:100%;padding:14px 16px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;box-sizing:border-box;transition:all .2s ease;background-color:#fafafa}.registration-form input::placeholder{color:#aaa;opacity:1;font-size:15px}.registration-form input:focus{outline:none;border-color:#667eea;background-color:#fff;box-shadow:0 0 0 3px #667eea1a}.registration-form input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.error-text{color:#e53935;font-size:.85rem;font-weight:500;margin-top:4px;display:flex;align-items:center;gap:4px}.error-text:before{content:"⚠";font-size:1rem}.error-alert{background-color:#ffebee;color:#c62828;padding:12px 16px;border-radius:6px;font-size:.9rem;border-left:4px solid #e53935}.name-row{display:flex;gap:10px}.half-width{flex:1}.radio-group{display:flex;gap:24px;padding:8px 0}.radio-label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.radio-label input[type=radio]{width:18px;height:18px;cursor:pointer}.checkbox-group{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background-color:#f9f9f9;border-radius:6px}.registration-modal .checkbox-label{display:flex;align-items:flex-start;gap:8px;font-weight:400;font-size:.9rem;line-height:1.8}.registration-modal .checkbox-label input[type=checkbox]{width:18px;height:18px;min-width:18px;cursor:pointer;flex-shrink:0;margin-top:3px}.registration-modal .checkbox-text{flex:1;line-height:1.8}.registration-modal .checkbox-text,.registration-modal .checkbox-text *{display:inline!important}.checkbox-label a{color:#667eea;text-decoration:none;font-weight:600}.checkbox-label a:hover{text-decoration:underline}.form-buttons{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.form-buttons button{flex:1;padding:14px 24px;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px}.form-buttons button:not(.primary){background-color:#f0f0f0;color:#333}.form-buttons button:not(.primary):hover:not(:disabled){background-color:#e0e0e0}.form-buttons button.primary:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#6639 8b,#6639);box-shadow:0 4px 12px #667eea66}@media(max-width:600px){.registration-modal{width:95%;max-height:95vh}.modal-header{padding:16px 20px}.modal-header h2{font-size:1.25rem}.modal-body{padding:20px}.registration-modal .step-indicator{padding:16px;gap:0}.registration-modal .step{min-width:70px;gap:8px}.registration-modal .step-number{width:42px;height:42px;min-width:42px;min-height:42px;font-size:1.15rem;line-height:1;border-width:2px}.registration-modal .step-label{font-size:.8rem}.registration-modal .step-divider{width:40px;margin:21px 10px 0}.name-row{flex-direction:column;gap:16px}.form-buttons{flex-direction:column}}.duplicate-dialog{text-align:center;padding:30px 20px}.duplicate-dialog .dialog-icon{font-size:3rem;margin-bottom:16px}.duplicate-dialog h3{font-size:1.2rem;font-weight:600;color:#333;margin-bottom:16px}.duplicate-dialog p{font-size:.95rem;color:#666;line-height:1.6;margin-bottom:12px}.duplicate-dialog .info-text{background-color:#fff9e6;border-left:4px solid #ffc107;padding:12px;border-radius:4px;font-size:.9rem;color:#856404;text-align:left;margin-top:20px}.duplicate-dialog .dialog-buttons{display:flex;gap:12px;justify-content:center;margin-top:24px}.duplicate-dialog .dialog-buttons button{padding:10px 24px;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.duplicate-dialog .dialog-buttons button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.duplicate-dialog .dialog-buttons button.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.duplicate-dialog .dialog-buttons button.secondary{background-color:#e0e0e0;color:#333}.duplicate-dialog .dialog-buttons button.secondary:hover{background-color:#d0d0d0}.link-button-inline{background:none;border:none;color:#667eea;text-decoration:none;font-weight:600;cursor:pointer;padding:0;font-size:inherit;display:inline}.link-button-inline:hover{text-decoration:underline}.terms-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200001;padding:20px}.terms-modal-content{background:#fff;border-radius:12px;width:90%;max-width:800px;height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.terms-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e0e0e0}.terms-modal-header h3{margin:0;font-size:1.2rem;color:#333}.terms-modal-body{flex:1;overflow:hidden}@media(max-width:768px){.registration-modal-overlay{padding:0;align-items:flex-end}.registration-modal{width:100%;max-width:100%;max-height:92vh;border-radius:24px 24px 0 0;animation:slideUpMobile .3s ease-out}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{padding:16px 20px;position:sticky;top:0;background:#fff;z-index:10;border-radius:24px 24px 0 0}.modal-header h2{font-size:1.3rem}.modal-body{padding:16px 20px 24px}.registration-modal .step-indicator{padding:16px 12px 12px;gap:0}.registration-modal .step{min-width:70px}.registration-modal .step-number{width:40px;height:40px;min-width:40px;min-height:40px;font-size:1.1rem}.registration-modal .step-label{font-size:.75rem}.registration-modal .step-divider{width:40px;margin:19px 8px 0}.registration-form{gap:12px}.registration-form input[type=text],.registration-form input[type=tel],.registration-form input[type=password],.registration-form input[type=date]{padding:16px;font-size:16px}.form-buttons{gap:10px;margin-top:12px;flex-direction:column-reverse}.form-buttons button{width:100%;min-height:52px;font-size:1.05rem}.radio-label input[type=radio],.checkbox-label input[type=checkbox]{width:20px;height:20px}.radio-label,.checkbox-label{font-size:.95rem;min-height:44px;align-items:center}.name-row{flex-direction:column;gap:12px}.half-width{width:100%}.terms-modal-content{width:95%;height:90vh;border-radius:16px}.error-text{font-size:.9rem}.help-text.password-rules{font-size:.8rem;padding:8px 10px}}.password-reset-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200001;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.password-reset-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.3rem;font-weight:600;color:#333}.close-button{background:none;border:none;font-size:1.8rem;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-button:hover{background-color:#f5f5f5;color:#333}.close-button:disabled{cursor:not-allowed;opacity:.5}.step-indicator{display:flex;align-items:center;justify-content:center;padding:24px 24px 0;gap:12px}.password-reset-modal .step{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.4;transition:opacity .3s}.password-reset-modal .step.active{opacity:1}.password-reset-modal .step-number{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;background-color:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;line-height:1;transition:all .3s;flex-shrink:0}.password-reset-modal .step.active .step-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.password-reset-modal .step-label{font-size:.85rem;font-weight:500;color:#666}.password-reset-modal .step.active .step-label{color:#333;font-weight:600}.password-reset-modal .step-divider{width:60px;height:2px;background-color:#e0e0e0;margin-top:-30px}.modal-body{padding:24px}.step-description{font-size:.9rem;color:#666;line-height:1.6;margin-bottom:24px;text-align:center}.password-reset-form{display:flex;flex-direction:column;gap:20px}.password-reset-form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;color:#333}.label-text{display:inline-flex;align-items:center;flex-wrap:nowrap;white-space:nowrap}.required{color:#e53935;font-size:.75rem;font-weight:600;margin-left:4px;white-space:nowrap;display:inline}.optional{color:#999;font-size:.75rem;font-weight:500;margin-left:4px;white-space:nowrap;display:inline}.password-reset-form input[type=text],.password-reset-form input[type=tel],.password-reset-form input[type=password],.password-reset-form input[type=date]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:.95rem;box-sizing:border-box;transition:border-color .2s}.password-reset-form input::placeholder{color:#999;opacity:1}.password-reset-form input:focus{outline:none;border-color:#667eea}.password-reset-form input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-text{color:#e53935;font-size:.8rem;font-weight:400;margin-top:-4px}.help-text{color:#999;font-size:.8rem;font-weight:400;margin-top:-4px}.help-text.password-rules{line-height:1.4;color:#666;background-color:#f9f9f9;padding:6px 8px;border-radius:4px;border-left:3px solid #667eea;margin-top:2px;font-size:.75rem;word-break:break-word}.error-alert{background-color:#ffebee;border-left:4px solid #e53935;padding:12px;border-radius:4px;font-size:.9rem;color:#c62828}.form-buttons{display:flex;gap:12px;margin-top:8px}.form-buttons button{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.form-buttons button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.form-buttons button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.form-buttons button:not(.primary){background-color:#e0e0e0;color:#333}.form-buttons button:not(.primary):hover:not(:disabled){background-color:#d0d0d0}.form-buttons button:disabled{opacity:.6;cursor:not-allowed}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.completion-message{text-align:center;padding:30px 20px}.completion-icon{font-size:3rem;margin-bottom:16px}.completion-message h3{font-size:1.2rem;font-weight:600;color:#333;margin-bottom:12px}.completion-message p{font-size:.95rem;color:#666;line-height:1.6;margin-bottom:24px}@media(max-width:768px){.password-reset-modal{width:95%}.modal-body{padding:20px}.step-indicator{padding:20px 20px 0}.step-divider{width:40px}.form-buttons{flex-direction:column}}:root{--primary-color: #007acc;--primary-hover: #005fa3;--secondary-bg: #ccc;--font-sans: "Segoe UI", sans-serif;--border-radius: 8px;--border-radius-sm: 6px;--btn-font-size: .95rem;--avatar-size: 28px;--z-high: 9999}.user-status-panel,.user-dropdown,.user-button{display:flex;align-items:center;gap:10px;font-family:var(--font-sans)}.user-dropdown{position:relative}.login-button,.user-button,.login-dialog .button-row button{border:none;cursor:pointer;transition:background-color .2s ease;font-size:var(--btn-font-size)}.auth-buttons{display:flex;gap:10px;align-items:center}.login-button{background-color:var(--primary-color);color:#fff;padding:8px 14px;border-radius:var(--border-radius);min-width:80px;white-space:nowrap;text-align:center;border:none;font-weight:500;text-shadow:none}.login-button:hover{background-color:var(--primary-hover)}.register-button{background-color:#28a745;color:#fff;padding:8px 14px;border-radius:var(--border-radius);min-width:80px;white-space:nowrap;text-align:center;border:none;cursor:pointer;transition:background-color .2s ease;font-size:var(--btn-font-size);font-weight:500;text-shadow:none}.register-button:hover{background-color:#218838}.user-button{gap:8px;background:none;padding:6px 10px;border-radius:var(--border-radius)}.user-avatar{width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--btn-font-size)}.user-name{color:#000;font-size:var(--btn-font-size);white-space:nowrap;font-weight:500;text-shadow:none}.user-menu{display:none}.user-status-panel{position:static;top:auto;right:auto;z-index:var(--z-high)}.user-button-mobile{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.user-avatar-guest{background-color:#6c757d;font-size:1.1rem}@media(max-width:768px){.user-status-panel{max-width:fit-content;justify-content:flex-start}.user-button{padding:4px;gap:0}.user-name{display:none}}.info-panel{display:flex;flex-direction:column;box-sizing:border-box;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:20px;box-shadow:0 8px 32px #0000001a;height:100%}.pc-tabs{display:flex;background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border-bottom:1px solid rgba(226,232,240,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px 20px 0 0;padding:8px;gap:4px}.pc-tabs .tab-button{flex:1;padding:12px 16px;background:transparent;border:none;cursor:pointer;font-weight:500;font-size:14px;color:#64748b;border-radius:12px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pc-tabs .tab-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea,#764ba2);opacity:0;transition:opacity .3s ease;border-radius:12px}.pc-tabs .tab-button:hover{color:#475569;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.pc-tabs .tab-button:hover:before{opacity:.1}.pc-tabs .tab-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 6px 20px #667eea4d;transform:translateY(-2px)}.pc-tabs .tab-button.active:before{opacity:0}.hidden{display:none!important}.tab-content{flex:1 1 auto;min-height:0;padding:16px 16px 60px;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.5) transparent;box-sizing:border-box}.tab-content::-webkit-scrollbar{width:6px}.tab-content::-webkit-scrollbar-track{background:transparent}.tab-content::-webkit-scrollbar-thumb{background:#9ca3af80;border-radius:3px}.tab-content::-webkit-scrollbar-thumb:hover{background:#9ca3afb3}.tab-content .health-record-tab.iframe-view{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex;flex-direction:column;margin:0;padding:0}.tab-content:has(.health-record-tab.iframe-view){padding:0!important;overflow:hidden!important;position:relative;width:100%;height:100%}@media screen and (min-width:769px){.info-panel{height:100%;overflow:hidden}.tab-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 16px 40px}}@media screen and (max-width:768px){.info-panel{background:#ffffffb3;margin-top:0;padding-bottom:0;position:relative;z-index:900}.pc-tabs{padding:6px;gap:3px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-height:52px;flex-shrink:0}.pc-tabs::-webkit-scrollbar{display:none}.pc-tabs .tab-button{flex:0 0 auto;min-width:80px;padding:14px 12px;font-size:13px;white-space:nowrap;line-height:1.2;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.pc-tabs .tab-button:active{transform:scale(.96);background:linear-gradient(135deg,#667eea1a,#764ba21a)}.pc-tabs .tab-button.active:active{transform:scale(.98)}.tab-content{padding:20px 12px 120px}}.home-tab-container{padding:0 0 40px;box-sizing:border-box}.step-value{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:4px;font-size:2.5rem;font-weight:700;color:#667eea;width:100%}.step-value .step-unit{font-size:1.2rem;font-weight:500;color:#666}.reward-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.reward-header h4{margin:0;font-size:1.1rem;font-weight:600}.reward-header .refresh-btn{padding:6px 10px;background:#667eea1a;border:1px solid rgba(102,126,234,.2);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:1rem}.reward-header .refresh-btn:hover:not(:disabled){background:#667eea33;transform:rotate(180deg)}.reward-header .refresh-btn:disabled{opacity:.5;cursor:not-allowed}.already-received{padding:16px;text-align:center;color:#4caf50;font-weight:500;background:#4caf501a;border-radius:8px;border:1px solid rgba(76,175,80,.2)}.reward-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding-right:8px}.reward-list::-webkit-scrollbar{width:6px}.reward-list::-webkit-scrollbar-track{background:#667eea0d;border-radius:3px}.reward-list::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.reward-list::-webkit-scrollbar-thumb:hover{background:#667eea80}.reward-list .reward-item{display:flex;align-items:center;gap:12px;padding:12px;background:#667eea0d;border-radius:8px;border:1px solid rgba(102,126,234,.1);transition:all .2s ease}.reward-list .reward-item:hover{background:#667eea1a;transform:translate(4px)}.manga-reader-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;z-index:10000;display:flex;justify-content:center;align-items:center}.manga-reader-container{width:100%;height:100%;max-width:800px;background:#1a1a1a;position:relative;overflow-y:auto;overflow-x:hidden}.manga-reader-header{position:sticky;top:0;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;z-index:100;border-bottom:1px solid rgba(255,255,255,.1)}.manga-close-btn{background:#ffffff1a;color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:20px;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0}.manga-close-btn:hover{background:#fff3;transform:scale(1.1)}.manga-close-btn:active{transform:scale(.95)}.manga-progress{color:#ffffffb3;font-size:14px}.manga-title-page{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:40px 20px}.manga-title-content{text-align:center;max-width:600px}.manga-title-thumbnail{width:100%;max-width:400px;height:auto;border-radius:16px;margin-bottom:24px;box-shadow:0 8px 32px #00000080}.manga-episode-title{color:#fff;font-size:28px;margin:0 0 16px}.manga-episode-description{color:#ffffffb3;font-size:16px;line-height:1.6;margin:0 0 32px}.manga-start-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px 48px;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 20px #667eea66}.manga-start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #667eea99}.manga-content-area{min-height:calc(100vh - 120px);display:flex;flex-direction:column;align-items:center;padding:20px;cursor:pointer;-webkit-user-select:none;user-select:none}.manga-page{width:100%;max-width:800px;position:relative}.manga-page-image{width:100%;height:auto;display:block;border-radius:8px;box-shadow:0 4px 20px #00000080}.manga-page-text{margin-top:16px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px;border-radius:12px;color:#fff;text-align:center;font-size:16px;line-height:1.6}.manga-navigation-hint{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:20px;pointer-events:none;opacity:.3;transition:opacity .3s}.manga-content-area:hover .manga-navigation-hint{opacity:.6}.hint-prev,.hint-next{color:#fff;font-size:24px;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.8)}.manga-episode-end{background:#000c;padding:40px 20px;text-align:center}.manga-end-content{max-width:500px;margin:0 auto}.manga-end-content h3{color:#fff;font-size:32px;margin:0 0 16px}.manga-end-content p{color:#ffffffb3;font-size:16px;margin:0 0 32px}.manga-next-episode-btn,.manga-back-btn{display:block;width:100%;max-width:300px;margin:0 auto 16px;padding:16px;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s}.manga-next-episode-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 20px #667eea66}.manga-next-episode-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #667eea99}.manga-back-btn{background:#ffffff1a;color:#fff}.manga-back-btn:hover{background:#fff3}.manga-reader-footer{position:sticky;bottom:0;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 16px;display:flex;justify-content:space-between;gap:16px;border-top:1px solid rgba(255,255,255,.1)}.manga-nav-btn{flex:1;padding:12px;background:#ffffff1a;color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s}.manga-nav-btn:hover:not(:disabled){background:#fff3}.manga-nav-btn:disabled{opacity:.3;cursor:not-allowed}@media(max-width:768px){.manga-episode-title{font-size:24px}.manga-episode-description{font-size:14px}.manga-start-btn{padding:14px 32px;font-size:16px}.manga-content-area{padding:10px}.manga-page-text{font-size:14px}.hint-prev,.hint-next{font-size:18px}}.manga-list-container{width:100%;height:100%;overflow-y:auto;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;box-sizing:border-box}.manga-list-header{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:30px;padding:20px 0;position:relative}.manga-list-header h2{font-size:32px;font-weight:700;color:#fff;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.manga-back-btn{position:absolute;left:0;background:#fff3;border:2px solid rgba(255,255,255,.5);color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:20px;font-weight:700;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:0}.manga-back-btn:hover{background:#ffffff4d;transform:scale(1.1)}.manga-back-btn:active{transform:scale(.95)}.manga-series-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;max-width:1200px;margin:0 auto}.manga-series-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000026;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;position:relative;height:400px}.manga-series-card:hover{transform:translateY(-8px);box-shadow:0 8px 30px #00000040}.manga-cover-image{width:100%;height:100%;object-fit:cover}.manga-card-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);padding:20px;color:#fff}.manga-card-overlay h3{margin:0 0 8px;font-size:18px}.manga-card-overlay p{margin:0 0 12px;font-size:14px;opacity:.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.manga-card-meta{display:flex;gap:15px;font-size:13px;opacity:.8}.manga-series-detail{display:flex;gap:30px;background:#ffffff1a;border-radius:16px;padding:30px;margin-bottom:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.manga-series-cover{width:200px;height:300px;object-fit:cover;border-radius:12px;box-shadow:0 4px 20px #0000004d}.manga-series-info{flex:1;color:#fff}.manga-series-description{font-size:16px;line-height:1.6;margin-bottom:20px;opacity:.95}.manga-series-author,.manga-series-count{font-size:14px;opacity:.8;margin:8px 0}.manga-episode-list h3{color:#fff;font-size:24px;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.episode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.episode-card{background:#fff;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 15px #00000026}.episode-card:hover{transform:translateY(-5px);box-shadow:0 6px 25px #00000040}.episode-thumbnail{width:100%;height:180px;object-fit:cover}.episode-info{padding:15px}.episode-info h4{margin:0 0 8px;font-size:16px;color:#333}.episode-info p{margin:0 0 12px;font-size:13px;color:#666;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.episode-pages{font-size:12px;color:#999;display:inline-block;padding:4px 12px;background:#f0f0f0;border-radius:12px}.manga-list{width:100%;height:100%;overflow-y:auto;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;box-sizing:border-box}.manga-list-header{text-align:center;margin-bottom:30px;padding:20px 0}.manga-list-title{font-size:32px;font-weight:700;color:#fff;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.manga-list-subtitle{font-size:16px;color:#ffffffe6;margin:10px 0 0}.manga-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;max-width:1200px;margin:0 auto}.manga-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000026;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;position:relative}.manga-card:hover{transform:translateY(-8px);box-shadow:0 8px 30px #00000040}.manga-card:active{transform:translateY(-4px);box-shadow:0 6px 25px #0003}.manga-thumbnail{width:100%;height:200px;object-fit:cover;background:linear-gradient(135deg,#f093fb,#f5576c);display:flex;align-items:center;justify-content:center;font-size:72px;color:#ffffffb3}.manga-info{padding:20px}.manga-title{font-size:20px;font-weight:700;color:#333;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.manga-description{font-size:14px;color:#666;margin:0 0 15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.6}.manga-meta{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid #eeeeee}.manga-author{font-size:13px;color:#999;display:flex;align-items:center}.manga-author:before{content:"✏️";margin-right:5px}.manga-pages{font-size:13px;color:#999;display:flex;align-items:center}.manga-pages:before{content:"📄";margin-right:5px}.manga-list-empty{text-align:center;padding:80px 20px;color:#fffc}.manga-list-empty-icon{font-size:80px;margin-bottom:20px}.manga-list-empty-text{font-size:18px;font-weight:500}@media(max-width:768px){.manga-list-container{padding:15px}.manga-list-header h2{font-size:24px}.manga-back-btn{font-size:14px;padding:8px 16px}.manga-series-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.manga-series-card{height:250px}.manga-series-detail{flex-direction:column;padding:20px;gap:20px}.manga-series-cover{width:100%;height:auto;max-width:200px;margin:0 auto}.episode-grid{grid-template-columns:1fr;gap:15px}.manga-list{padding:15px}.manga-list-title{font-size:28px}.manga-list-subtitle{font-size:14px}.manga-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.manga-thumbnail{height:150px;font-size:48px}.manga-info{padding:15px}.manga-title{font-size:16px}.manga-description{font-size:13px}.manga-meta{flex-direction:column;align-items:flex-start;gap:5px}}@media(max-width:480px){.manga-grid{grid-template-columns:1fr;gap:15px}.manga-thumbnail{height:200px}}.zone-share-icons{display:flex;gap:8px;align-items:center;justify-content:flex-start;margin-top:8px}.share-icon-button{width:36px;height:36px;padding:0;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.share-icon-button:hover{transform:translateY(-2px) scale(1.1);box-shadow:0 4px 8px #0003}.share-icon-button:active{transform:translateY(0) scale(1)}.share-icon-button.x-twitter{background:#000}.share-icon-button.x-twitter:hover{background:#1a1a1a}.share-icon-button.facebook{background:#1877f2}.share-icon-button.facebook:hover{background:#0e63d1}.share-icon-button.line{background:#06c755}.share-icon-button.line:hover{background:#05a847}.share-icon-button.copy{background:#667eea}.share-icon-button.copy:hover{background:#764ba2}.share-icon-button.copy.copied{background:#10b981}@media(max-width:768px){.zone-share-icons{gap:6px}.share-icon-button{width:32px;height:32px}.share-icon-button svg{width:16px;height:16px}}.zone-like-button-container{position:relative;display:inline-block}.zone-like-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;border:2px solid #e5e7eb;border-radius:24px;font-size:16px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.zone-like-button:hover{border-color:#ef4444;color:#ef4444;transform:scale(1.05);box-shadow:0 4px 12px #ef444433}.zone-like-button.liked{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#dc2626;color:#fff}.zone-like-button.liked:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:scale(1.05)}.zone-like-button.animating{animation:pulse .6s ease}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.like-icon{width:24px;height:24px;transition:all .3s ease}.zone-like-button:hover .like-icon{transform:scale(1.1)}.zone-like-button.liked .like-icon{stroke:none}.like-count{font-size:16px;font-weight:600;min-width:24px;text-align:center}.like-animation{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.floating-heart{position:absolute;width:20px;height:20px;color:#ef4444;opacity:0;animation:float-up 1.5s ease-out forwards}.floating-heart.heart-0{left:-30px;animation-delay:0s}.floating-heart.heart-1{left:-15px;animation-delay:.1s}.floating-heart.heart-2{left:0;animation-delay:.2s}.floating-heart.heart-3{left:15px;animation-delay:.3s}.floating-heart.heart-4{left:30px;animation-delay:.4s}.floating-heart.heart-5{left:45px;animation-delay:.5s}@keyframes float-up{0%{opacity:1;transform:translateY(0) scale(.5)}50%{opacity:.8;transform:translateY(-30px) scale(1)}to{opacity:0;transform:translateY(-60px) scale(.3)}}@media(max-width:768px){.zone-like-button{padding:8px 16px;font-size:14px}.like-icon{width:20px;height:20px}.like-count{font-size:14px;min-width:20px}.floating-heart{width:16px;height:16px}}.header-bar{position:fixed;top:0;left:0;width:100%;padding-top:env(safe-area-inset-top,0px);height:calc(56px + env(safe-area-inset-top,0px));display:flex;justify-content:space-between;align-items:center;padding-left:8px;padding-right:8px;background:#f8f9fafa;box-shadow:0 2px 8px #00000014;border-bottom:1px solid rgba(0,0,0,.06);overflow:visible;z-index:1002}.header-button-group{display:flex;flex-direction:column;align-items:center;gap:2px}.header-button{width:40px;height:40px;border-radius:8px;border:1.5px solid rgba(102,126,234,.25);background:#667eea14;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 1px 3px #0000000d}.header-button:hover{background:#667eea26;border-color:#667eea66;transform:translateY(-2px);box-shadow:0 2px 6px #0000001a}.header-button:active{transform:translateY(0);box-shadow:0 1px 2px #00000014}.header-button.active{background:#4ecdc433;border-color:#4ecdc480;box-shadow:0 2px 4px #4ecdc433}.button-label{font-size:10px;color:#000;white-space:nowrap;font-weight:500}.header-bar>div:first-child{display:flex;flex-wrap:nowrap;gap:8px;overflow:hidden}@media(max-width:768px){.header-bar{min-height:calc(56px + env(safe-area-inset-top,0px));height:auto;padding-top:calc(4px + env(safe-area-inset-top,0px));padding-bottom:4px;align-items:flex-start}.header-bar>div:first-child{max-width:none}.header-left{padding-top:4px}.header-right{align-items:center;overflow:visible;max-height:none;padding-right:4px;padding-top:4px;gap:4px!important}.button-label{display:none}.header-button{width:36px;height:36px;font-size:16px}.header-button-group{flex-direction:row;gap:0}}.header-left{display:flex;align-items:center;min-width:0}.header-right{display:flex;align-items:center}.user-status-panel{position:static;height:56px;display:flex;align-items:center;z-index:1003}.user-status-panel .login-button{margin:0}.realtime-voice-status{position:fixed;bottom:120px;right:30px;display:flex;flex-direction:column;align-items:flex-end;gap:12px;z-index:9999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.status-indicator{display:flex;align-items:center;gap:8px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 18px;border-radius:24px;box-shadow:0 4px 16px #00000026;animation:slideInFromRight .3s ease-out}.status-dot{width:10px;height:10px;border-radius:50%;transition:all .3s ease}.status-dot.connected{background:#10b981;box-shadow:0 0 8px #10b98199;animation:statusPulse 2s infinite}.status-dot.disconnected{background:#ef4444}.status-text{font-size:14px;font-weight:600;color:#000c;white-space:nowrap}.speaking-indicator{display:flex;align-items:center;gap:8px;background:#93c5fdf2;padding:10px 16px;border-radius:20px;font-size:13px;font-weight:600;color:#000000e6;box-shadow:0 4px 12px #3b82f64d;animation:slideInFromRight .3s ease-out}.pulse-animation{width:8px;height:8px;border-radius:50%;background:#3b82f6;animation:statusPulse 1s infinite}@keyframes statusPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media(max-width:768px){.realtime-voice-status{bottom:100px;right:20px}.status-indicator{padding:10px 14px}.status-text{font-size:12px}.speaking-indicator{font-size:12px;padding:8px 12px}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-container{position:relative;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;max-width:1200px;width:100%;max-height:90vh;overflow:auto;padding:24px;animation:modalSlideIn .3s ease-out}.modal-close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#0000001a;color:#666;font-size:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.modal-close-btn:hover{background:#0003;transform:scale(1.1)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.modal-overlay{padding:10px}.modal-container{padding:16px;max-height:95vh;border-radius:12px}.modal-close-btn{top:12px;right:12px;width:28px;height:28px;font-size:18px}}.navigator-bubble{position:fixed;bottom:100px;left:20px;right:20px;max-width:calc(100% - 40px);background:#fffffffa;border-radius:16px;padding:16px 20px;box-shadow:0 -4px 20px #00000026;font-size:.95rem;line-height:1.5;z-index:11000;border:2px solid rgba(102,126,234,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:flex-start;gap:12px}.bubble-emotion-icon{font-size:1.5rem;flex-shrink:0;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.bubble-text{color:#333;word-break:break-word;flex:1}.bubble-triangle{position:absolute;top:-10px;left:30px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid rgba(255,255,255,.98);filter:drop-shadow(0 -2px 2px rgba(0,0,0,.1))}@media(min-width:769px){.navigator-bubble{bottom:20px;left:auto;right:150px;max-width:500px}.bubble-triangle{left:auto;right:30px}}.character-bubble{position:fixed;bottom:42%;right:28%;max-width:320px;min-width:200px;opacity:0;transform:translateY(20px) scale(.8);transition:all .4s cubic-bezier(.34,1.56,.64,1);z-index:9999;pointer-events:none;filter:drop-shadow(0 8px 16px rgba(102,126,234,.3))}.character-bubble.visible{opacity:1;transform:translateY(0) scale(1)}.bubble-tail{position:absolute;bottom:-15px;right:60px;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:20px solid rgba(255,255,255,.98);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.bubble-content{background:linear-gradient(135deg,#fffffffa,#fffafffa);border:3px solid #f0e6ff;border-radius:24px;padding:16px 20px;box-shadow:0 4px 20px #667eea33,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.bubble-content:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);animation:bubble-shine 3s ease-in-out infinite;pointer-events:none}@keyframes bubble-shine{0%,to{transform:translate(0);opacity:.3}50%{transform:translate(20px,20px);opacity:.6}}.bubble-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;position:relative;z-index:1}.bubble-icon{font-size:18px;animation:bubble-bounce 1s ease-in-out infinite}.bubble-emotion-icon{font-size:20px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}@keyframes bubble-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.bubble-name{font-size:13px;font-weight:700;color:#667eea;text-shadow:0 1px 2px rgba(255,255,255,.8)}.bubble-text{font-size:15px;line-height:1.6;color:#333;font-weight:500;position:relative;z-index:1;min-height:24px}.bubble-cursor{display:inline-block;margin-left:2px;color:#667eea;animation:cursor-blink 1s step-end infinite}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.bubble-music-notes{position:absolute;top:10px;right:15px;display:flex;gap:5px;z-index:2}.note{font-size:16px;color:#764ba2;animation:note-float 2s ease-in-out infinite;opacity:.8}.note-1{animation-delay:0s}.note-2{animation-delay:.3s}.note-3{animation-delay:.6s}@keyframes note-float{0%,to{transform:translateY(0) rotate(0);opacity:.8}50%{transform:translateY(-10px) rotate(10deg);opacity:1}}.bubble-sparkles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.sparkle{position:absolute;font-size:14px;animation:sparkle-twinkle 2s ease-in-out infinite;opacity:0}.sparkle-1{top:10%;right:15%;animation-delay:0s}.sparkle-2{top:60%;right:5%;animation-delay:.7s}.sparkle-3{top:30%;left:10%;animation-delay:1.4s}@keyframes sparkle-twinkle{0%,to{opacity:0;transform:scale(.5) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}@media(max-width:768px){.character-bubble{bottom:15%;right:10px;left:auto;transform:translateY(20px) scale(.8);max-width:280px}.character-bubble.visible{transform:translateY(0) scale(1)}.bubble-tail{right:40px;left:auto}.bubble-content{padding:12px 16px}.bubble-text{font-size:14px}}@media(max-width:480px){.character-bubble{max-width:240px;bottom:12%;right:5px}.bubble-content{padding:10px 14px;border-radius:18px}.bubble-text{font-size:13px}.bubble-icon{font-size:16px}.bubble-name{font-size:12px}}@keyframes bubble-fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.9)}}.bluemap-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100dvh;min-height:100dvh;background:#0009;display:flex;justify-content:center;align-items:center;z-index:150000;pointer-events:auto}.bluemap-container{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 24px #00000052;display:flex;flex-direction:column;position:relative;width:min(909px,95vw);height:min(700px,90dvh);z-index:10001;transition:box-shadow .2s;padding:0}.bluemap-header{display:flex;align-items:center;justify-content:space-between;background:#292929;color:#fff;padding:0 20px;height:48px;min-height:48px;font-size:1.1rem;font-weight:700;border-radius:14px 14px 0 0;box-sizing:border-box;position:relative;z-index:10}.bluemap-title{flex:1;text-align:left;font-size:1.1rem;padding-left:2px}.bluemap-close-btn{position:relative;right:-6px;top:0;background:none;border:none;color:#fff;font-size:2rem;font-weight:700;cursor:pointer;border-radius:50%;width:44px;height:44px;line-height:42px;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:20}.bluemap-close-btn:hover{background:#f4433624;color:#f44336}.bluemap-close-btn{touch-action:auto}.bluemap-iframe{display:block;width:100%;height:100%;border:none;border-radius:0 0 12px 12px;background:#eee}@media(max-width:1024px),(max-height:800px),(pointer:coarse){.bluemap-container{max-width:100vw!important;max-height:100dvh!important;width:99vw!important;height:97dvh!important;min-width:0;min-height:0;border-radius:8px;padding:0}.bluemap-header{font-size:1rem;padding:0 10px;height:44px;min-height:44px;border-radius:8px 8px 0 0}.bluemap-close-btn{width:38px;height:38px;font-size:1.6rem}}@supports (-webkit-touch-callout: none){@media(max-width:1024px)and (orientation:landscape){.bluemap-container{height:calc(100vh - 32px)!important;min-height:0!important;max-height:97vh!important;margin-top:8px;margin-bottom:8px}}}.live-status-banner{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;width:100%}.live-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:12px;background:linear-gradient(135deg,#fffffff2,#ffffffe6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #00000014;transition:all .3s ease;cursor:pointer;text-decoration:none;color:inherit;border:1px solid rgba(0,0,0,.06)}.live-banner:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.live-banner.youtube-live{background:linear-gradient(135deg,red,#c00);color:#fff;border:none}.live-banner.youtube-live:hover{background:linear-gradient(135deg,#ff1a1a,#d90000)}.live-banner.minecraft-monitoring{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;cursor:pointer;border:none}.banner-content{display:flex;align-items:center;gap:12px;flex:1}.live-indicator,.status-indicator{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#fff3;border-radius:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.live-dot,.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.live-dot,.status-dot.online{background:#fff;box-shadow:0 0 8px #fffc}.status-dot.offline{background:#666;animation:none}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.live-text,.status-text{font-size:11px;font-weight:700;letter-spacing:.5px}.banner-info{display:flex;flex-direction:column;gap:2px}.banner-title{font-size:12px;font-weight:700;line-height:1.3;white-space:nowrap}.banner-subtitle{font-size:12px;opacity:.9;line-height:1.3}.banner-action{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff3;border-radius:50%;transition:all .3s ease}.live-banner:hover .banner-action{background:#ffffff4d;transform:scale(1.1)}.banner-stats{display:flex;gap:12px;align-items:center}.stat{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff3;border-radius:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);min-width:64px}.stat.player-stat{min-width:80px}.stat-icon{font-size:16px;line-height:1}.stat-value{font-size:14px;font-weight:700;min-width:32px;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:768px){.live-status-banner{gap:10px;margin-bottom:12px}.live-banner{padding:10px 12px;border-radius:10px}.banner-title{font-size:11px}.banner-subtitle{font-size:10px}.banner-action{width:32px;height:32px}.banner-stats{gap:8px}.stat{padding:4px 8px;min-width:56px}.stat.player-stat{min-width:64px}.stat-icon{font-size:14px}.stat-value{font-size:12px;min-width:28px}}@media(prefers-color-scheme:dark){.live-banner{background:linear-gradient(135deg,#282828f2,#1e1e1ee6);border:1px solid rgba(255,255,255,.1)}}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog-content{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#4caf50,#388e3c);border-radius:16px 16px 0 0;color:#fff}.dialog-header h2{margin:0;font-size:20px;font-weight:700}.dialog-close{background:#fff3;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:#fff;transition:all .2s ease}.dialog-close:hover{background:#ffffff4d;transform:scale(1.1)}.dialog-body{padding:24px}.server-info-section{margin-bottom:24px}.server-info-section:last-child{margin-bottom:0}.server-info-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#333}.server-address{display:flex;align-items:center;gap:8px;padding:12px;background:#f5f5f5;border-radius:8px;border:2px solid #e0e0e0}.server-address code{flex:1;font-family:Courier New,monospace;font-size:14px;color:#2196f3;font-weight:600;word-break:break-all}.copy-button{background:#4caf50;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.copy-button:hover{background:#45a049;transform:scale(1.05)}.server-version,.server-capacity{margin:0;font-size:16px;font-weight:600;color:#4caf50;padding:12px;background:#e8f5e9;border-radius:8px;text-align:center}.server-info-section.important{background:#fff3e0;padding:16px;border-radius:12px;border:2px solid #ff9800}.server-info-section.important h3{color:#ff9800}.join-steps{margin:12px 0;padding-left:24px}.join-steps li{margin:8px 0;font-size:14px;line-height:1.6;color:#333}.notice{margin:12px 0 0;padding:12px;background:#fff;border-radius:8px;font-size:13px;font-weight:600;color:#d32f2f;text-align:center;border:2px solid #ffcdd2}.dialog-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:8px}.dialog-button{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.dialog-button.primary{background:#4caf50;color:#fff}.dialog-button.primary:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}@media(max-width:768px){.dialog-content{max-width:95%;border-radius:12px}.dialog-header h2{font-size:18px}.dialog-body{padding:16px}.server-info-section{margin-bottom:16px}.server-info-section h3{font-size:14px}.server-address code{font-size:12px}.copy-button{font-size:11px;padding:4px 8px}.server-version,.server-capacity{font-size:14px;padding:10px}.join-steps li{font-size:13px}.notice{font-size:12px;padding:10px}}@media(prefers-color-scheme:dark){.dialog-content{background:#1e1e1e;color:#fff}.dialog-header{border-bottom-color:#333}.server-info-section h3{color:#fff}.server-address{background:#2a2a2a;border-color:#444}.server-version,.server-capacity{background:#1b5e20;color:#a5d6a7}.server-info-section.important{background:#3e2723;border-color:#ff9800}.join-steps li{color:#e0e0e0}.notice{background:#2a2a2a;border-color:#d32f2f}.dialog-footer{border-top-color:#333}}.app-footer{position:fixed;bottom:0;left:0;right:0;background:#fffffff2;border-top:1px solid rgba(0,0,0,.1);padding:12px 20px;z-index:900;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.footer-content{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:8px}.footer-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.footer-link{color:#667eea;text-decoration:none;font-size:13px;font-weight:500;transition:color .3s ease}.footer-link:hover{color:#5568d3;text-decoration:underline}.footer-separator{color:#ccc;font-size:13px}.footer-copyright{color:#999;font-size:12px;text-align:center}@media(max-width:768px){.app-footer{padding:10px 16px;bottom:56px}.footer-links{gap:8px}.footer-link,.footer-separator{font-size:12px}.footer-copyright{font-size:11px}}@media(max-width:480px){.footer-links{flex-direction:column;gap:4px}.footer-separator{display:none}}.cookie-consent-overlay{position:fixed;bottom:0;left:0;right:0;z-index:10000;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:0;animation:fadeIn .3s ease-in-out}.cookie-consent-banner{background:linear-gradient(135deg,#fff,#f8f9fa);border-top:3px solid #4a90e2;box-shadow:0 -4px 20px #00000026;padding:24px;max-width:1200px;margin:0 auto}.cookie-consent-content{margin-bottom:16px}.cookie-consent-title{font-size:1.2rem;font-weight:700;color:#2c3e50;margin:0 0 12px;display:flex;align-items:center;gap:8px}.cookie-consent-text{font-size:.95rem;color:#555;line-height:1.6;margin:8px 0}.cookie-consent-text a{color:#4a90e2;text-decoration:underline;font-weight:500}.cookie-consent-text a:hover{color:#357abd}.cookie-consent-list{margin:12px 0;padding-left:24px;color:#555}.cookie-consent-list li{margin:4px 0;font-size:.9rem}.cookie-consent-actions{display:flex;gap:12px;justify-content:flex-end}.cookie-consent-btn{padding:10px 24px;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.cookie-consent-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.cookie-consent-btn:active{transform:translateY(0)}.cookie-consent-btn-accept{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff}.cookie-consent-btn-accept:hover{background:linear-gradient(135deg,#357abd,#2868a8)}.cookie-consent-btn-decline{background:#e0e0e0;color:#555}.cookie-consent-btn-decline:hover{background:#d0d0d0}@media(max-width:768px){.cookie-consent-banner{padding:16px}.cookie-consent-title{font-size:1rem}.cookie-consent-text{font-size:.85rem}.cookie-consent-list li{font-size:.8rem}.cookie-consent-actions{flex-direction:column}.cookie-consent-btn{width:100%;padding:12px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.background-color-picker{background:#000000d9;border-radius:12px;padding:20px;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1)}.picker-header h3{margin:0 0 20px;font-size:18px;font-weight:700;text-align:center}.preset-section,.custom-section,.transparent-section,.alpha-section,.preview-section,.obs-guide-section{margin-bottom:20px}.preset-colors{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.preset-button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;border:2px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;transition:all .3s ease;background-clip:padding-box;position:relative}.preset-button:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:8px;padding:2px;background:linear-gradient(135deg,#ffffff4d,#ffffff1a);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease}.preset-button:hover:before{opacity:1}.preset-button.active{border-color:#0f0;box-shadow:0 0 10px #00ff0080}.preset-icon{font-size:24px;margin-bottom:4px}.preset-name{font-size:12px;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.5)}.custom-picker{display:flex;gap:10px;align-items:center}.color-input{width:60px;height:40px;border:2px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;background:transparent}.color-input:disabled{opacity:.5;cursor:not-allowed}.hex-input{flex:1;height:40px;padding:0 12px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:14px;font-family:monospace;transition:all .3s ease}.hex-input:focus{outline:none;border-color:#0f0;background:#ffffff26}.hex-input:disabled{opacity:.5;cursor:not-allowed}.transparent-section label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.transparent-checkbox{width:20px;height:20px;cursor:pointer}.transparent-info{margin-top:10px;padding:10px;background:#00ff001a;border:1px solid rgba(0,255,0,.3);border-radius:6px;font-size:13px;color:#0f0}.alpha-slider{width:100%;height:8px;border-radius:4px;background:linear-gradient(to right,transparent,#ffffff);outline:none;cursor:pointer;-webkit-appearance:none}.alpha-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#0f0;cursor:pointer;box-shadow:0 2px 4px #0000004d}.alpha-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#0f0;cursor:pointer;border:none;box-shadow:0 2px 4px #0000004d}.preview-box{position:relative;height:100px;border-radius:8px;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;overflow:hidden}.preview-transparent-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px}.preview-text{position:relative;z-index:1;font-size:16px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.8);background:#00000080;padding:8px 16px;border-radius:6px}.obs-guide-link{display:inline-flex;align-items:center;gap:5px;padding:10px 16px;background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;text-decoration:none;border-radius:8px;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #0000004d}.obs-guide-link:hover{transform:translateY(-2px);box-shadow:0 4px 8px #2196f366;background:linear-gradient(135deg,#42a5f5,#2196f3)}@media(max-width:768px){.background-color-picker{padding:15px}.preset-colors{grid-template-columns:repeat(3,1fr)}.preset-button{padding:8px 4px}.preset-icon{font-size:20px}.preset-name{font-size:10px}}.vrm-model-selector{background:#000000d9;border-radius:12px;padding:20px;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1)}.selector-header h3{margin:0 0 20px;font-size:18px;font-weight:700;text-align:center}.file-upload-section,.default-models-section,.url-input-section,.info-section,.future-features{margin-bottom:20px}.section-label{display:block;font-size:14px;font-weight:600;margin-bottom:10px;color:#ccc}.file-upload-group{display:flex;flex-direction:column;gap:8px}.login-required-notice{background:#ff980026;border:1px solid rgba(255,152,0,.4);color:#ffb74d;padding:10px 12px;border-radius:6px;font-size:13px;font-weight:500;margin-bottom:10px;text-align:center}.file-upload-label{cursor:pointer;display:inline-block}.file-upload-label input:disabled{cursor:not-allowed}.file-input-hidden{display:none}.file-upload-button{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;transition:all .3s ease;cursor:pointer;border:2px solid transparent;text-align:center}.file-upload-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66;border-color:#ffffff4d}.file-upload-button.disabled{background:linear-gradient(135deg,#555,#666);cursor:not-allowed;opacity:.5;transform:none}.file-upload-button.disabled:hover{transform:none;box-shadow:none}.file-name-display{background:#667eea1a;border:1px solid #667eea;color:#667eea;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;text-align:center}.model-list{display:flex;flex-direction:column;gap:10px}.model-button{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ffffff0d;border:2px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;transition:all .3s ease;color:#fff;font-size:14px}.model-button:hover{background:#ffffff1a;border-color:#ffffff4d}.model-button.active{background:#00ff001a;border-color:#0f0;box-shadow:0 0 10px #00ff004d}.model-icon{font-size:24px;flex-shrink:0}.model-name{flex:1;text-align:left}.model-check{color:#0f0;font-weight:700;font-size:18px}.url-input-group{display:flex;flex-direction:column;gap:10px}.url-input{width:100%;height:40px;padding:0 12px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:14px;transition:all .3s ease;box-sizing:border-box}.url-input:focus{outline:none;border-color:#0f0;background:#ffffff26}.url-input:disabled{opacity:.5;cursor:not-allowed}.load-button{width:100%;height:40px;padding:0 20px;background:linear-gradient(135deg,#0f0,#0c0);color:#000;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-sizing:border-box}.load-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0f06}.load-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.error-message{margin-top:10px;padding:10px;background:#ff00001a;border:1px solid rgba(255,0,0,.3);border-radius:6px;font-size:13px;color:#f55}.info-section{background:#2196f31a;border:1px solid rgba(33,150,243,.3);border-radius:8px;padding:12px}.info-item{font-size:13px;color:#90caf9;margin-bottom:8px;line-height:1.5}.info-item:last-child{margin-bottom:0}.future-features{background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:8px;padding:12px}.future-label{font-size:14px;font-weight:600;color:#ffb74d;margin-bottom:8px}.future-list{margin:0;padding-left:20px;font-size:13px;color:#ffcc80}.future-list li{margin-bottom:4px}.future-list li:last-child{margin-bottom:0}.vroid-hub-guide{background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:8px;padding:12px;margin-bottom:20px}.guide-header{display:flex;align-items:center;gap:8px;font-size:14px;color:#81c784;margin-bottom:12px;font-weight:600}.guide-icon{font-size:18px}.guide-steps{margin:0;padding-left:20px;font-size:13px;color:#a5d6a7;line-height:1.6}.guide-steps li{margin-bottom:12px}.guide-steps li:last-child{margin-bottom:0}.guide-example{background:#0000004d;border:1px solid rgba(76,175,80,.4);border-radius:4px;padding:6px 10px;margin-top:6px;font-family:Courier New,monospace;font-size:12px;color:#c8e6c9;word-break:break-all}.guide-example code{color:#c8e6c9;font-size:12px}.guide-note{color:#ffb74d;font-size:12px;margin-top:4px;font-style:italic}.guide-steps-sub{margin-top:8px;padding-left:16px}.guide-steps-sub div{margin-bottom:4px;color:#c8e6c9}.mobile-hint{background:#2196f326;border:1px solid rgba(33,150,243,.4);border-radius:6px;padding:10px 12px;font-size:13px;color:#90caf9;text-align:center;margin-bottom:0}@media(max-width:768px){.vrm-model-selector{padding:15px}.selector-header h3{font-size:16px;margin-bottom:15px}.section-label{font-size:13px}.file-upload-button,.load-button{font-size:13px;padding:8px 16px}.url-input{font-size:13px;height:38px}.model-button{padding:10px 14px;font-size:13px}}.game-recommendation-overlay{position:fixed;bottom:20px;right:20px;z-index:250000;max-width:350px;pointer-events:auto;font-family:Segoe UI,Meiryo,sans-serif}.game-recommendation-dialog{background:linear-gradient(145deg,#667eea,#764ba2);border-radius:16px;padding:20px;box-shadow:0 10px 30px #0000004d;color:#fff;animation:slideInUp .4s ease-out}.training3d-theme{background:linear-gradient(145deg,#11998e,#38ef7d)}.recommendation-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.recommendation-icon{font-size:2rem;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff3;border-radius:50%}.recommendation-header h3{margin:0;font-size:1.2rem;font-weight:600}.recommendation-content{margin-bottom:20px}.recommendation-message{margin:0 0 16px;line-height:1.5;font-size:.95rem}.training-preview{display:flex;flex-direction:column;gap:8px}.preview-feature{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffff26;border-radius:20px;font-size:.85rem}.feature-icon{font-size:1rem}.recommendation-actions{display:flex;gap:12px;justify-content:space-between}.play-button{flex:1;padding:12px 16px;background:#ffffffe6;color:#333;border:none;border-radius:25px;font-weight:600;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.training-play-button{background:#fffffff2;color:#11998e}.play-button:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #0003}.dismiss-button{padding:12px 16px;background:transparent;color:#fffc;border:1px solid rgba(255,255,255,.3);border-radius:25px;font-size:.85rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.dismiss-button:hover{background:#ffffff1a;color:#fff}.button-icon{font-size:1rem}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.game-recommendation-overlay{bottom:10px;right:10px;left:10px;max-width:none}.recommendation-actions{flex-direction:column}.dismiss-button{align-self:center;min-width:120px}}.swallowing-diary-container{width:100%;max-width:1000px;margin:0 auto;padding:12px;font-family:var(--font-sans, sans-serif);box-sizing:border-box;overflow-x:hidden}.swallowing-diary-container *{box-sizing:border-box}.mock-notice{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#ffa726,#fb8c00);color:#fff;padding:12px 14px;border-radius:10px;margin-bottom:16px;box-shadow:0 4px 12px #ffa7264d;animation:slideDown .5s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mock-icon{font-size:24px;flex-shrink:0}.mock-text{font-size:13px;font-weight:600;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.status-notice{display:flex;align-items:flex-start;gap:8px;padding:10px;border-radius:8px;margin-bottom:12px;animation:slideDown .5s ease;font-size:12px;font-weight:500;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.status-notice-warning{background:linear-gradient(135deg,#ffd54f,#ffb300);color:#333;box-shadow:0 3px 10px #ffb3004d}.status-notice-offline{background:linear-gradient(135deg,#ef5350,#e53935);color:#fff;box-shadow:0 3px 10px #e539354d}.status-notice-online{background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff;box-shadow:0 3px 10px #43a0474d}.status-icon{font-size:20px;flex-shrink:0}.status-text{line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;flex:1;min-width:0;max-width:100%}.error-notice{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#ef5350,#e53935);color:#fff;padding:14px 18px;border-radius:10px;margin-bottom:20px;box-shadow:0 3px 10px #e539354d;animation:slideDown .5s ease}.error-icon{font-size:20px;flex-shrink:0}.error-text{font-size:14px;font-weight:500;line-height:1.5}.diary-header{text-align:center;margin-bottom:30px}.diary-header h1{font-size:28px;color:#333;margin-bottom:8px}.diary-subtitle{font-size:14px;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);padding:12px 20px;border-radius:8px;word-wrap:break-word;overflow-wrap:break-word;line-height:1.6;box-shadow:0 2px 8px #667eea4d}.stats-panel{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:16px;margin-bottom:16px;color:#fff}.stats-panel h3{font-size:16px;margin-bottom:12px;text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.stat-item{text-align:center;background:#ffffff26;border-radius:10px;padding:12px 8px}.stat-value{font-size:26px;font-weight:700;margin-bottom:4px}.stat-label{font-size:12px;opacity:.9}.diary-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.new-record-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;padding:10px 20px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 15px #667eea66;transition:all .3s ease}.new-record-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.view-toggle{display:flex;gap:8px}.toggle-btn{padding:10px 20px;border:2px solid #667eea;background:#fff;color:#667eea;border-radius:50px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.toggle-btn.active{background:#667eea;color:#fff}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.form-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;overflow-y:auto}.form-modal-content{background:#fff;border-radius:20px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.swallowing-diary-form{padding:16px}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.form-header h2{font-size:24px;color:#333;margin:0}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:4px;line-height:1}.close-btn:hover{color:#333}.form-section{margin-bottom:32px}.form-section h3{font-size:18px;color:#667eea;margin-bottom:16px;display:flex;align-items:center;gap:8px}.form-row{display:grid;grid-template-columns:1fr;gap:12px}.form-section label{display:block;font-size:14px;color:#555;margin-bottom:12px}.form-section label:last-child{margin-bottom:0}.form-section input,.form-section textarea{display:block;width:100%;padding:8px 10px;margin-top:4px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .3s ease;box-sizing:border-box}.form-section input:focus,.form-section textarea:focus{outline:none;border-color:#667eea}.form-section textarea{resize:vertical;min-height:60px}.meal-section{background:#f9f9f9;border-radius:10px;padding:12px;margin-bottom:12px}.meal-section:last-child{margin-bottom:0}.meal-section h4{font-size:16px;color:#333;margin:0 0 12px}.training-checkboxes{display:grid;grid-template-columns:1fr;gap:10px}.checkbox-label{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f9f9f9;border-radius:8px;cursor:pointer;transition:background .3s ease;flex-wrap:nowrap}.checkbox-label:hover{background:#f0f0f0}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin:0;cursor:pointer}.checkbox-label span{font-size:13px;color:#333;white-space:nowrap;flex-shrink:0}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:2px solid #f0f0f0}.cancel-btn,.save-btn{padding:10px 24px;border:none;border-radius:50px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn{background:#f0f0f0;color:#666}.cancel-btn:hover{background:#e0e0e0}.save-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.save-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.record-list{display:grid;gap:16px}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-state p{font-size:18px;margin-bottom:8px}.empty-hint{font-size:14px!important}.record-card{background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 8px #00000014;border:2px solid #f0f0f0;transition:all .3s ease}.record-card:hover{border-color:#667eea;box-shadow:0 4px 16px #667eea33}.record-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.record-date{display:flex;align-items:center;gap:12px}.date-text{font-size:18px;font-weight:700;color:#333}.temperature{font-size:14px;color:#666}.record-actions{display:flex;gap:8px}.edit-btn-small,.delete-btn-small{background:none;border:none;font-size:20px;cursor:pointer;padding:4px;line-height:1;opacity:.6;transition:opacity .3s ease}.edit-btn-small:hover,.delete-btn-small:hover{opacity:1}.record-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.summary-item{display:flex;justify-content:space-between;align-items:center;background:#f9f9f9;border-radius:8px;padding:12px}.summary-label{font-size:14px;color:#666}.summary-value{font-size:18px;font-weight:700}.summary-value.success{color:#4caf50}.summary-value.warning{color:#ff9800}.record-memo{display:flex;align-items:flex-start;gap:8px;background:#fff8e1;border-radius:8px;padding:12px;margin-bottom:16px}.memo-icon{font-size:16px;line-height:1.5}.memo-text{font-size:14px;color:#333;line-height:1.5}.record-meals{display:grid;gap:8px}.meal-summary{display:flex;align-items:flex-start;gap:8px;font-size:14px}.meal-label{display:inline-block;background:#667eea;color:#fff;padding:4px 12px;border-radius:50px;font-weight:700;min-width:40px;text-align:center;flex-shrink:0}.meal-content{color:#666;line-height:1.8}@media(max-width:768px){.swallowing-diary-container{padding:8px}.mock-notice{padding:12px 16px;margin-bottom:16px}.mock-icon{font-size:20px}.mock-text{font-size:12px}.diary-header h1{font-size:24px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:24px}.stat-label{font-size:11px}.diary-actions{flex-direction:column;align-items:stretch}.new-record-btn,.view-toggle{width:100%}.toggle-btn{flex:1}.form-modal{padding:0}.form-modal-content{max-height:100vh;border-radius:0}.form-row,.training-checkboxes{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.cancel-btn,.save-btn{width:100%}.record-summary{grid-template-columns:1fr}.summary-item{font-size:14px}.summary-value{font-size:16px}}@media(min-width:769px)and (max-width:1024px){.stats-grid,.training-checkboxes{grid-template-columns:repeat(2,1fr)}}.embed-zone-container{width:100%;height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden}.embed-map-wrapper{position:relative;flex:1;width:100%;overflow:hidden}.embed-map-iframe{width:100%;height:100%;border:none;pointer-events:none}.embed-click-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000;cursor:pointer;transition:background .3s ease;display:flex;align-items:center;justify-content:center}.embed-click-overlay:hover{background:#0000001a}.embed-overlay-text{opacity:0;color:#fff;font-size:18px;font-weight:600;background:#000000b3;padding:12px 24px;border-radius:24px;transition:opacity .3s ease;pointer-events:none}.embed-click-overlay:hover .embed-overlay-text{opacity:1}.embed-info-bar{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fffffff2;border-top:2px solid rgba(102,126,234,.3);box-shadow:0 -2px 10px #0000001a}.embed-coordinates{font-size:14px;font-weight:600;color:#333}.embed-like-button{display:flex;align-items:center}.embed-footer{padding:8px 20px;background:#ffffffe6;text-align:center;border-top:1px solid rgba(102,126,234,.2)}.embed-footer-link{font-size:12px;color:#667eea;text-decoration:none;font-weight:600;transition:color .3s ease}.embed-footer-link:hover{color:#764ba2;text-decoration:underline}.embed-zone-error{width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:16px;text-align:center;padding:20px}.embed-zone-error p{margin:8px 0}@media(max-width:768px){.embed-info-bar{flex-direction:column;gap:12px;padding:12px 16px}.embed-coordinates{font-size:13px}.embed-overlay-text{font-size:16px;padding:10px 20px}.embed-footer-link{font-size:11px}}@media(max-height:500px){.embed-info-bar{padding:10px 16px}.embed-footer{padding:6px 16px}.embed-coordinates{font-size:12px}.embed-footer-link{font-size:10px}}.zone-detail-container{min-height:100vh;height:auto;overflow-y:auto;overflow-x:hidden;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Segoe UI,Meiryo,sans-serif}.zone-detail-header{background:#fff;padding:20px;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.back-button{background:none;border:none;color:#667eea;font-size:16px;font-weight:600;cursor:pointer;padding:8px 0;margin-bottom:12px;transition:all .2s ease}.back-button:hover{color:#764ba2;transform:translate(-4px)}.zone-title{margin:0;font-size:28px;color:#333;display:flex;align-items:center;gap:12px}.zone-emoji{font-size:32px}.zone-detail-main{max-width:1200px;margin:0 auto;padding:32px 20px;display:flex;flex-direction:column;gap:24px}.zone-map-section{width:100%}.map-wrapper{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #00000026;background:#f3f3f3}.map-iframe{width:100%;height:100%;border:none;display:block}.map-overlay{position:absolute;top:16px;left:16px;z-index:10}.map-badge{background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:8px 16px;border-radius:24px;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;box-shadow:0 4px 12px #0003}.badge-icon{font-size:18px}.zone-info-section{width:100%}.info-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.info-title{margin:0 0 20px;font-size:20px;color:#333;font-weight:600}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.info-item{display:flex;align-items:center;gap:12px;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.info-icon{font-size:24px}.info-content{flex:1}.info-label{font-size:12px;color:#666;margin-bottom:4px}.info-value{font-size:16px;color:#333;font-weight:600}.zone-id{font-family:Courier New,monospace;font-size:14px;color:#667eea}.zone-actions-section{width:100%}.action-card{background:#fff;padding:32px;border-radius:12px;box-shadow:0 4px 12px #0000001a;text-align:center}.action-title{margin:0 0 12px;font-size:24px;color:#333;font-weight:700}.action-description{margin:0 0 24px;font-size:16px;color:#666;line-height:1.6}.like-button-large{display:flex;justify-content:center;margin-bottom:32px;transform:scale(1.5);padding:20px 0}.share-section{border-top:2px solid #e5e7eb;padding-top:24px}.share-title{margin:0 0 16px;font-size:18px;color:#333;font-weight:600}.zone-cta-section{width:100%}.cta-card{background:linear-gradient(135deg,#667eea,#764ba2);padding:40px;border-radius:12px;box-shadow:0 8px 24px #667eea4d;text-align:center;color:#fff}.cta-title{margin:0 0 12px;font-size:28px;font-weight:700}.cta-description{margin:0 0 32px;font-size:16px;line-height:1.8;opacity:.95}.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.cta-button{padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.cta-button.primary{background:#fff;color:#667eea}.cta-button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffffff4d}.cta-button.secondary{background:transparent;color:#fff;border:2px solid white}.cta-button.secondary:hover{background:#ffffff1a;transform:translateY(-2px)}.zone-detail-footer{background:#333;color:#fff;padding:24px;text-align:center}.footer-text{margin:0;font-size:14px;opacity:.8}.zone-detail-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:40px;text-align:center}.zone-detail-error p{font-size:18px;color:#666;margin:8px 0}.zone-detail-error button{margin-top:24px;padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.zone-detail-error button:hover{background:#764ba2;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}@media(max-width:768px){.zone-title{font-size:22px}.zone-emoji{font-size:26px}.zone-detail-main{padding:20px 16px;gap:20px}.map-wrapper{aspect-ratio:4/3}.info-card,.action-card{padding:20px}.info-grid{grid-template-columns:1fr}.action-title{font-size:20px}.like-button-large{transform:scale(1.3)}.cta-card{padding:32px 20px}.cta-title{font-size:22px}.cta-buttons{flex-direction:column}.cta-button{width:100%}}.line-callback-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.line-callback-card{background:#fff;border-radius:16px;padding:48px 32px;max-width:400px;width:100%;text-align:center;box-shadow:0 10px 40px #0003;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.line-callback-icon{width:80px;height:80px;margin:0 auto 24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:48px}.line-callback-icon.processing{background:#f0f4ff}.line-callback-icon.success{background:#d4edda;color:#28a745}.line-callback-icon.error{background:#f8d7da;color:#dc3545}.spinner-large{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.checkmark{font-weight:700;animation:scaleIn .3s ease-out}.error-mark{font-weight:700;animation:shake .5s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.line-callback-card h2{font-size:24px;font-weight:600;color:#333;margin-bottom:12px}.line-callback-card p{font-size:16px;color:#666;margin-bottom:0}.line-callback-card .error-message{color:#dc3545;font-weight:500;margin-top:12px}.retry-button{margin-top:24px;padding:12px 32px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-button:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.retry-button:active{transform:translateY(0)}@media(max-width:480px){.line-callback-card{padding:32px 24px}.line-callback-icon{width:64px;height:64px;font-size:36px}.spinner-large{width:36px;height:36px}.line-callback-card h2{font-size:20px}.line-callback-card p{font-size:14px}}.settings-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#fff}.settings-loading .spinner-large{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.settings-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.settings-header h1{color:#fff;font-size:28px;font-weight:700;margin:0}.settings-tabs{display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;-webkit-overflow-scrolling:touch}.settings-tab{background:#fff3;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.settings-tab:hover{background:#ffffff4d}.settings-tab.active{background:#fff;color:#667eea}.settings-content{background:#fff;border-radius:16px;padding:32px;box-shadow:0 10px 40px #0000001a;animation:fadeIn .4s ease-out}.settings-section h2{font-size:24px;font-weight:700;color:#333;margin-bottom:24px}.settings-info-list{display:flex;flex-direction:column;gap:20px}.settings-info-item{border-bottom:1px solid #eee;padding-bottom:16px}.settings-info-item:last-child{border-bottom:none;padding-bottom:0}.settings-info-item label{display:block;font-size:14px;font-weight:600;color:#666;margin-bottom:8px}.settings-info-item p{font-size:16px;color:#333;margin:0}.line-status{margin-bottom:24px}.status-badge{display:inline-block;padding:6px 16px;border-radius:20px;font-size:14px;font-weight:600}.status-badge.connected{background:#d4edda;color:#28a745}.status-badge.disconnected{background:#f8d7da;color:#dc3545}.line-linked-info,.line-unlinked-info{max-width:600px}.line-profile{display:flex;align-items:center;gap:16px;padding:20px;background:#f8f9fa;border-radius:12px;margin-bottom:24px}.line-profile-image{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #06C755}.line-profile-info{flex:1}.line-display-name{font-size:18px;font-weight:700;color:#333;margin:0 0 4px}.line-user-id{font-size:14px;color:#666;margin:0}.line-linked-benefits h3,.line-benefits h3{font-size:18px;font-weight:600;color:#333;margin-bottom:12px}.line-linked-benefits ul,.line-benefits ul{list-style:none;padding:0;margin:0 0 24px}.line-linked-benefits li,.line-benefits li{padding:8px 0;font-size:15px;color:#555}.unlink-button{width:100%;padding:14px;background:#dc3545;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:12px}.unlink-button:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.unlink-button:active{transform:translateY(0)}.unlink-warning{font-size:14px;color:#856404;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:12px;margin:0}.line-link-button-container{margin:24px 0}.link-description{font-size:14px;color:#666;text-align:center;margin:16px 0 0}.coming-soon{text-align:center;font-size:18px;color:#666;padding:60px 20px}@media(max-width:768px){.settings-container{padding:16px}.settings-header h1{font-size:24px}.settings-content{padding:20px}.settings-section h2{font-size:20px}.settings-tab{padding:10px 16px;font-size:14px}.line-profile{flex-direction:column;text-align:center}.line-profile-image{width:80px;height:80px}}@media(max-width:480px){.settings-header{flex-direction:column;align-items:flex-start;gap:12px}.settings-tabs{gap:6px}.settings-tab{padding:8px 12px;font-size:13px}.settings-content{padding:16px}.line-profile-image{width:64px;height:64px}.line-display-name{font-size:16px}}html,body,#root{overflow:auto!important;height:auto!important;min-height:100vh!important}.terms-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.terms-header{max-width:900px;margin:0 auto 32px}.terms-header h1{color:#fff;font-size:32px;font-weight:700;margin:16px 0 8px}.terms-header .last-updated{color:#ffffffe6;font-size:14px;margin:0}.back-button{background:#fff3;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button:hover{background:#ffffff4d;transform:translate(-2px)}.terms-content{max-width:900px;margin:0 auto;background:#fff;border-radius:16px;padding:48px;box-shadow:0 10px 40px #0000001a;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.terms-section{margin-bottom:48px}.terms-section:last-child{margin-bottom:0}.terms-section h2{font-size:24px;font-weight:700;color:#333;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #667eea}.terms-section h3{font-size:18px;font-weight:600;color:#555;margin:24px 0 12px}.terms-section p{font-size:15px;line-height:1.8;color:#555;margin-bottom:16px}.terms-section ul{margin:16px 0;padding-left:24px}.terms-section li{font-size:15px;line-height:1.8;color:#555;margin-bottom:8px}.terms-highlight{background:#f8f9ff;padding:24px;border-radius:12px;border:2px solid #667eea}.important-notice{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:16px;margin-bottom:16px}.important-notice strong{color:#856404}.youtube-terms-box{background:#fff;border:2px solid #667eea;border-radius:12px;padding:24px;margin:24px 0}.youtube-terms-box h3{color:#667eea;font-size:18px;font-weight:600;margin-top:0;margin-bottom:12px}.youtube-terms-box p{margin-bottom:12px}.youtube-terms-box ul{margin:12px 0;padding-left:20px}.youtube-terms-box li{margin-bottom:8px}.terms-notice{font-style:italic;color:#666;font-size:14px;margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0}.external-link{color:#667eea;text-decoration:none;font-weight:600;word-break:break-all;transition:color .3s ease}.external-link:hover{color:#5568d3;text-decoration:underline}.inline-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .3s ease}.inline-link:hover{color:#5568d3;text-decoration:underline}.external-link-button{display:inline-block;background:#667eea;color:#fff;text-decoration:none;padding:12px 24px;border-radius:8px;font-weight:600;font-size:15px;transition:all .3s ease;margin-top:12px}.external-link-button:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.related-links{background:#f8f9fa;padding:24px;border-radius:12px;margin-top:24px}.related-links h3{color:#333;font-size:18px;font-weight:600;margin-top:0;margin-bottom:12px}.related-links p{margin-bottom:12px;color:#666}.contact-info{background:#f8f9fa;padding:20px;border-radius:8px;border-left:4px solid #667eea}.contact-info p{margin:0;line-height:1.8}.contact-info strong{color:#333;font-size:16px}@media(max-width:768px){.terms-container{padding:16px}.terms-header h1{font-size:24px}.terms-content{padding:24px}.terms-section h2{font-size:20px}.terms-section h3{font-size:16px}.terms-section p,.terms-section li{font-size:14px}.youtube-terms-box{padding:16px}}@media(max-width:480px){.terms-header{margin-bottom:24px}.terms-header h1{font-size:20px}.terms-content{padding:20px}.terms-section{margin-bottom:32px}.terms-section h2{font-size:18px}.external-link-button{display:block;text-align:center}}:root{--mobile-ads-height: 84px}.app-container{position:relative;width:100vw;height:100dvh;height:100vh;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat}.header-bar{position:fixed;top:0;left:0;width:100%;height:56px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;background:#fffffff0;box-shadow:0 2px 8px #00000012;z-index:1002}.login-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:24px;border-radius:var(--border-radius-sm);box-shadow:0 10px 30px #00000026;width:340px;z-index:9999;font-family:var(--font-sans)}.panel-mobile{position:absolute;left:0;right:0;top:72px;bottom:var(--mobile-ads-height);overflow-y:auto;background:#fffffff2;padding:16px;box-sizing:border-box;z-index:1000;border-radius:16px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@supports (-webkit-touch-callout: none){@media screen and (max-width:768px){.panel-mobile{top:calc(72px + env(safe-area-inset-top,0px));bottom:calc(var(--mobile-ads-height) + env(safe-area-inset-bottom,0px) + 8px)}}}.bottom-menu-wrapper{position:fixed;bottom:0;left:0;width:100%;height:56px;background:#fffffff2;box-shadow:0 -2px 8px #00000012;padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box;display:flex;justify-content:space-around;align-items:center;z-index:1003}@media(min-width:768px){.header-bar{position:absolute;top:24px;left:24px;right:24px;max-width:1280px;margin:0 auto;border-radius:13px}.panel-mobile,.bottom-menu-wrapper{display:none!important}.panel-pc{position:absolute;top:90px;left:24px;width:430px;bottom:24px;display:flex;flex-direction:column;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:16px;box-shadow:0 2px 12px #0000000f;overflow:hidden;z-index:9990}}.login-dialog h3{margin-bottom:20px;font-size:1.25rem;text-align:center}.login-dialog label,.login-dialog input,.login-dialog .button-row button{font-size:var(--btn-font-size)}.login-dialog label{display:block;margin-bottom:12px;color:#333}.login-dialog input{width:100%;padding:8px;margin-top:4px;border:1px solid #ccc;border-radius:var(--border-radius-sm);box-sizing:border-box}.login-dialog .button-row{display:flex;justify-content:space-between;gap:10px;margin-top:12px}.login-dialog .button-row button{flex:1;padding:10px;border-radius:var(--border-radius-sm)}.login-dialog .button-row button:first-child{background-color:var(--primary-color);color:#fff}.login-dialog .button-row button:last-child{background-color:var(--secondary-bg);color:#333}.login-dialog .button-row button:hover{opacity:.9}.icon-button{width:40px;height:40px;border-radius:50%;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;border:1px solid #ccc;cursor:pointer;transition:background-color .2s;padding:0;box-sizing:border-box}.icon-button img{width:22px;height:22px}.map-button{display:flex;align-items:center;gap:6px;padding:0 14px;font-size:1rem;height:40px;border-radius:20px;border:1.5px solid #007acc;background:#fff;color:#007acc;cursor:pointer;transition:background-color .2s;box-sizing:border-box}.map-button img{width:22px;height:22px}.map-button:hover{background-color:#e6f2ff}.open-map-button{display:inline-block;padding:4px 8px;margin-left:8px;background:#007acc;color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;position:relative;z-index:1010;transition:background-color .2s}.open-map-button:hover{background:#005a99}
