:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;width:100%;overflow-x:hidden}#root{width:100%;margin:0;padding:0}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}.header-logo{height:40px}body{font-family:Hiragino Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;color:#333;background-color:#f0f0f0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{background:linear-gradient(to bottom,#35bdbb,#20b7c2);color:#fff;padding:1rem 2rem;flex-shrink:0;box-shadow:0 2px 10px #0000001a}.header-wrapper{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;width:100%}.header-container{text-align:left;flex:1}.app-header h1{font-size:1.8rem;margin-bottom:.25rem;font-weight:300}.app-header p{font-size:.9rem;opacity:.9}.report-link-container{display:flex;align-items:center}.report-link{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent!important;color:#fef100!important;border:none;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500;text-decoration:none;opacity:.9}.report-link:hover{opacity:1;transform:translateY(-1px)}.help-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0}.report-text{display:flex;align-items:center;white-space:nowrap}.arrow{margin-left:4px;font-weight:700}.csv-download{display:inline-flex;align-items:center;padding:8px 12px;color:#fff;cursor:pointer;transition:all .3s ease}.csv-download:hover{transform:translateY(-1px)}.url-input-area{background:#fff;padding:1rem 2rem;border-bottom:1px solid #e0e0e0;flex-shrink:0;display:flex;flex-direction:column;align-items:center}.url-input-row{display:flex;align-items:center;gap:12px;max-width:800px;width:100%;margin:0 auto}.url-input-container.main-url{position:relative;flex:1 1 auto;min-width:0}.url-input-container.sub-url{position:relative;max-width:800px;width:100%;margin:0 auto;display:flex;align-items:center;gap:12px}.add-url-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:#333;line-height:1;font-size:20px;padding:0;cursor:pointer;z-index:2}.add-url-button:focus{outline:none}.add-url-button:focus-visible{outline:2px solid #35bdbb;outline-offset:2px;border-radius:8px}.url-input-container.sub-url{padding-left:2rem}.url-input-container.sub-url:before{content:"└"}.url-input-container.main-url .url-input{width:100%}.url-input{flex:1 1 auto;min-width:0;padding:.75rem 1rem;padding-right:56px;font-size:1rem;border:2px solid #e9ecef;border-radius:8px;transition:border-color .3s ease}.url-input:focus{outline:none;border-color:#35bdbb;box-shadow:0 0 0 3px #04b1ea1a}.analyze-button{padding:.75rem 2rem;font-size:1rem;background:#fef100;color:#35537c;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600;white-space:nowrap;width:auto}.analyze-button:focus{outline:none;box-shadow:none}.analyze-button.recheck-mode{background:#fff;color:#35bdbb;border:2px solid #35bdbb;position:relative;overflow:hidden}.analyze-button.recheck-mode:before{content:"↻";position:absolute;left:1rem;font-size:1.2rem;animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.analyze-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #fef1004d}.analyze-button.recheck-mode:hover:not(:disabled){background:#35bdbb;color:#fff;box-shadow:0 4px 12px #35bdbb4d}.analyze-button:disabled{opacity:.6;cursor:not-allowed}.three-column-layout{display:flex;flex:1;overflow:hidden;background:#f0f0f0}.left-panel{width:350px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;overflow:hidden}.panel-header{position:relative;padding:1rem;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between;background:#fafafa}.panel-header h3{font-size:1.1rem;color:#333;font-weight:500}.issue-count{color:#35bdbb;padding:2px 8px;border-radius:12px;font-size:.85rem;font-weight:600}.issue-list{flex:1;overflow-y:auto;padding:0rem}.issue-list::-webkit-scrollbar{width:6px}.issue-list::-webkit-scrollbar-track{background:#f7f7f7}.issue-list::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.no-issues{padding:2rem 1rem;text-align:center;color:#999;font-size:.9rem}.no-violations-container{text-align:center;padding:2rem 1rem;background:linear-gradient(135deg,#f5f9ff,#e8f4fd);border-radius:12px;border:1px solid rgba(4,177,234,.2);position:relative;overflow:hidden}.no-violations-container:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(4,177,234,.05) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.05);opacity:.8}}.success-icon{font-size:4rem;color:#4ade80;margin-bottom:1rem;animation:checkmark .6s ease-in-out}@keyframes checkmark{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.2) rotate(0)}to{transform:scale(1) rotate(0);opacity:1}}.success-title{color:#1a73e8;font-size:1.3rem;margin-bottom:.5rem;font-weight:600}.success-description{color:#5f6368;font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.success-note{background:#fffc;padding:1rem;border-radius:8px;border-left:4px solid #4ade80}.note-text{color:#666;font-size:.85rem;line-height:1.4}.issue-list-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent;position:relative}.issue-list-item:hover{background:#f8f9fa}.issue-list-item.selected{background:linear-gradient(to right,rgba(53,189,187,.1),transparent);border-left-color:#35bdbb}.issue-list-item.locked{opacity:.5;cursor:not-allowed}.issue-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;font-size:.8rem;font-weight:600;color:#fff}.issue-badge.critical{background:linear-gradient(135deg,#8925c7,#bc52ff);box-shadow:0 2px 8px #8925c74d}.issue-badge.high{background:linear-gradient(135deg,#c0392b,#e74c3c);box-shadow:0 2px 8px #e74c3c4d}.issue-badge.medium{background:linear-gradient(135deg,#f39c12,#f1c40f);box-shadow:0 2px 8px #f1c40f4d}.issue-badge.low{background:linear-gradient(135deg,#2980b9,#3498db);box-shadow:0 2px 8px #3498db4d}.issue-text-container{flex:1;min-width:0}.issue-summary{color:#333;font-size:.9rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center-content{flex:1;display:flex;flex-direction:column;background:#fff;overflow:hidden}.website-display{flex:1;overflow:hidden;position:relative;background:#fff}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem}.loading-spinner{width:60px;height:60px;border:4px solid #e0e0e0;border-top:4px solid #35bdbb;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{font-size:1.1rem;color:#333;margin-bottom:.5rem}.loading-submessage{font-size:.9rem;color:#666;margin-bottom:1.5rem}.loading-progress{width:200px;height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden}.loading-progress-bar{height:100%;background:linear-gradient(90deg,#35bdbb,#20b7c2);animation:progress 2s ease-in-out infinite}@keyframes progress{0%{width:0%}50%{width:70%}to{width:100%}}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-size:1.1rem}.right-panel{width:400px;background:#fff;border-left:1px solid #e0e0e0;display:flex;flex-direction:column;overflow-y:auto;transition:transform .3s ease}.drawer-close-btn{display:none;position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:#666;z-index:10}.drawer-close-btn:hover{color:#333}.issue-detail{padding:1.5rem}.issue-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.risk-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:20px;font-size:1.1rem;font-weight:600;color:#fff}.risk-badge.critical{background:linear-gradient(135deg,#8925c7,#bc52ff);box-shadow:0 4px 12px #8925c74d}.risk-badge.high{background:linear-gradient(135deg,#c0392b,#e74c3c);box-shadow:0 4px 12px #e74c3c4d}.risk-badge.medium{background:linear-gradient(135deg,#f39c12,#f1c40f);box-shadow:0 4px 12px #f1c40f4d}.risk-badge.low{background:linear-gradient(135deg,#2980b9,#3498db);box-shadow:0 4px 12px #3498db4d}.risk-label{font-size:1rem;font-weight:600;color:#333}.detail-section{margin-bottom:1.5rem}.detail-section h4{font-size:.9rem;color:#666;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.label-title{display:flex;align-items:center;gap:8px;margin-bottom:.5rem}.label-title h4{margin:0}.label-icon{display:inline-flex;vertical-align:middle;color:#35bdbb}.original-text{background:#f8f9fa;padding:1rem;border-radius:8px;border-left:3px solid #35bdbb;font-style:italic;line-height:1.6;color:#333}.improvement-text{background:linear-gradient(135deg,#f0fdf4,#dcfce7);padding:1rem;border-radius:8px;border:1px solid #86efac;line-height:1.6;color:#166534}.improvement-text.blurred{filter:blur(4px);-webkit-user-select:none;user-select:none;pointer-events:none}.content-locked{position:relative;min-height:60px;cursor:pointer;transition:transform .2s;border-radius:8px;overflow:hidden;background:#f8f9fa}.content-locked:hover{transform:scale(1.02)}.lock-overlay{position:absolute;inset:0;background:#fffffff2;border-radius:8px;display:flex;align-items:center;justify-content:center;z-index:1}.lock-overlay .lock-msg{padding:.5rem 1rem;background:#fff;border-radius:6px;box-shadow:0 2px 8px #0000001a;font-weight:500;color:#35bdbb;border:1px solid #35bdbb;display:flex;align-items:center;gap:.5rem;font-size:.85rem;white-space:nowrap}.ai-confidence{margin-top:1rem;padding:.75rem;background:#f8f9fa;border-radius:8px;display:flex;align-items:center;gap:1rem}.confidence-label{font-size:.85rem;color:#666;font-weight:600}.confidence-bar{flex:1;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.confidence-fill{height:100%;background:linear-gradient(90deg,#35bdbb,#20b7c2);transition:width .3s ease;border-radius:4px}.confidence-value{font-size:.85rem;font-weight:600;color:#35bdbb;min-width:40px;text-align:right}.apply-button{margin-top:1rem;margin-left:auto;padding:.75rem 1.5rem;background:linear-gradient(135deg,#35bdbb,#20b7c2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px #35bdbb4d;width:auto}.apply-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #35bdbb66}.apply-button:active{transform:translateY(0)}.applied-badge{margin-top:1rem;margin-left:auto;margin-right:0;padding:.75rem 1.5rem;background:transparent;color:#35bdbb;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;width:fit-content}.no-selection{padding:2rem;text-align:center;color:#999}.ad-slot{padding:1rem;background:#f8f9fa;border-top:1px solid #e0e0e0;text-align:center}.ad-slot.pc-only{display:block}.ad-slot.mobile-only{display:none}.ad-banner{display:inline-block;max-width:100%;height:auto}.ad-banner img{max-width:100%;height:auto;border-radius:8px}.mobile-stats{display:none;background:#fff;border-bottom:1px solid #e0e0e0;gap:1rem;padding:.5rem 1rem;justify-content:space-around;flex-wrap:wrap}.stat-row{display:flex;align-items:center;font-size:.85rem;font-weight:600}.stat-row.critical{color:#bc52ff}.stat-row.high{color:#e74c3c}.stat-row.medium{color:#f1c40f}.stat-row.low{color:#3498db}.desktop-stats{display:none;background:#fafafa;border-top:1px solid #e0e0e0;padding:1rem;flex-shrink:0}.stats-content{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.stat-item{display:flex;align-items:center;gap:.5rem;padding:.6rem;background:#fff;border-radius:6px;border:1px solid #e0e0e0;font-size:.85rem;color:#666}.stat-item svg{flex-shrink:0}.stat-item.critical{color:#bc52ff}.stat-item.high{color:#e74c3c}.stat-item.medium{color:#f1c40f}.stat-item.low{color:#3498db}@media (min-width: 769px){.desktop-stats{display:block}.mobile-stats,.drawer-close-btn,.drawer-backdrop,.left-panel-backdrop,.left-panel-close-btn{display:none!important}}.url-input-area{display:flex;flex-direction:column;gap:.75rem}.url-input-container .url-input{padding-right:56px}.url-input.error{border-color:#e74c3c}.url-error-message{position:absolute;top:100%;left:0;color:#e74c3c;font-size:.85rem;margin-top:.25rem;width:100%}.remove-url-button{background:transparent;border:none;color:#999;cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease}.url-tabs{display:flex;gap:0;background:linear-gradient(to bottom,#f8f9fa,#fff);border-bottom:2px solid #e0e0e0;overflow-x:auto;scrollbar-width:thin;padding:.5rem}.url-tabs::-webkit-scrollbar{height:4px}.url-tabs::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:2px}.url-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;color:#666;cursor:pointer;transition:all .2s;position:relative;white-space:nowrap;font-size:.9rem;border-bottom:3px solid transparent;margin-bottom:-2px;border-radius:8px 8px 0 0}.url-tab:hover{background:#35bdbb0d;color:#333}.url-tab:focus{outline:none;box-shadow:none}.url-tab.active{color:#35bdbb;background:#fff;border-bottom-color:#35bdbb;font-weight:600;box-shadow:0 -2px 8px #35bdbb1a}.tab-icon{font-size:1.1rem}.tab-text{font-size:.9rem}.content-blurred{position:relative;min-height:80px}.content-blurred .improvement-text{filter:blur(4px);-webkit-user-select:none;user-select:none;pointer-events:none}.blur-overlay{position:absolute;inset:0;background:#f5f5f5d9;display:flex;align-items:center;justify-content:center;z-index:1;cursor:pointer;transition:background .2s;border-radius:8px}.blur-overlay:hover{background:#ffffffe6}.lock-msg{padding:.5rem 1rem;background:#fff;border-radius:6px;box-shadow:0 2px 8px #0000001a;font-weight:500;color:#35bdbb;border:1px solid #35bdbb;display:flex;align-items:center;gap:.5rem;white-space:nowrap;font-size:.85rem}.lock-icon{flex-shrink:0}.improvement-section h4,.improvement-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.improvement-title{display:flex;align-items:center;gap:.5rem;color:#35bdbb}.copy-button{padding:.3rem;background:transparent!important;border:none;color:#35bdbb!important;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.copy-button:hover{color:#fef100!important;transform:translateY(-1px);background:transparent!important}.copy-button.copied{color:#4caf50}.copy-button:focus{outline:none;box-shadow:none}.section-icon{font-size:1.2rem}@media (max-width: 768px){.header-logo{height:25px}.url-input-row{flex-direction:row;gap:.75rem;padding:0 1rem}.url-input-container.main-url{width:100%;position:relative}.url-input-container.main-url .url-input{width:100%;padding-right:10px}.analyze-button{width:10%;padding:.75rem 0rem}.url-input-container.sub-url{width:100%;padding-left:2rem;margin:.5rem 0;position:relative;display:flex;align-items:center;gap:.75rem}.url-input-container.sub-url:before{content:"└";position:absolute;left:.5rem;color:#999;font-size:1.2rem}.url-input-container.sub-url .url-input{flex:1;padding-right:50px}.url-input-container.sub-url .remove-url-button{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:2}.app-header{padding:.75rem 1rem}.app-header h1{font-size:1.2rem}.app-header p{font-size:.8rem}.report-text{display:none}.csv-download{padding:8px}.three-column-layout{position:relative}.left-panel{position:fixed;left:-100%;top:0;height:100vh;width:80%;max-width:350px;z-index:1000;transition:left .3s ease;box-shadow:2px 0 10px #0000001a}.left-panel.show-on-mobile{left:0}.left-panel-backdrop{display:block;position:fixed;inset:0;background:#0000004d;z-index:999}.left-panel-close-btn{display:block;position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:transparent;font-size:1.5rem;line-height:32px;cursor:pointer;color:#666;z-index:10;text-align:center}.left-panel-close-btn:focus{outline:none;box-shadow:none}.left-panel-close-btn:hover{color:#333}.center-content{width:100%}.right-panel{position:fixed;right:-100%;top:0;height:100vh;width:85%;max-width:400px;z-index:1001;transition:right .3s ease;box-shadow:-2px 0 10px #0000001a}.right-panel.open{right:0}.drawer-backdrop{display:block;position:fixed;inset:0;background:#0000004d;z-index:1000}.drawer-close-btn{display:flex!important;align-items:center;justify-content:center}.drawer-close-btn:focus{outline:none;box-shadow:none}.mobile-stats{display:flex!important}.desktop-stats{display:none!important}.url-input-area{padding:.75rem 1rem}.url-input-container{flex-direction:column;gap:.5rem}.url-input-container.sub-url{padding-left:1.5rem;flex-direction:row}.url-input-container.sub-url .url-input{flex:1}.url-input-container.main-url .url-input{width:100%}.analyze-button{width:30%}.add-url-button{width:20%}.remove-url-button{width:36px;height:36px;min-width:36px;padding:.5rem}.url-tabs{padding:.5rem;justify-content:flex-start}.url-tab{padding:.5rem 1rem;font-size:.85rem}.tab-icon{font-size:1rem}.url-tab:focus{outline:none;box-shadow:none}.ad-slot.pc-only{display:none}.ad-slot.mobile-only{display:block}.plan-comparison{grid-template-columns:1fr}.lock-overlay span{font-size:.8rem}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-content h2{color:#333;margin-bottom:1rem;font-size:1.5rem}.modal-content p{color:#666;margin-bottom:1.5rem;line-height:1.6}.modal-content ul{list-style:none;padding:0;margin:0 0 2rem}.modal-content ul li{padding:.75rem;background:#f8f9fa;margin-bottom:.5rem;border-radius:6px;color:#333;display:flex;align-items:center}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end}.upgrade-button,.cancel-button{padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .2s;border:none}.upgrade-button{background:#35bdbb;color:#fff}.upgrade-button:hover{background:#2ca8a6;transform:translateY(-1px)}.cancel-button{background:#e0e0e0;color:#666}.cancel-button:hover{background:#d0d0d0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#555a5a,#333);padding:20px}.auth-card{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:450px;box-shadow:0 20px 60px #0000004d;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:30px}.auth-header h1{color:#333;font-size:28px;margin-bottom:10px}.auth-header p{color:#666;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{color:#555;font-size:14px;margin-bottom:8px;font-weight:500}.form-group input{padding:12px;border:1px solid #ddd;border-radius:8px;font-size:16px;transition:all .3s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-hint{color:#888;font-size:12px;margin-top:5px}.checkbox-group{display:flex;flex-direction:row!important;align-items:center;gap:6px;width:auto}.checkbox-label .checkbox-text{display:inline-flex;align-items:center;white-space:nowrap;gap:4px}.checkbox-label input{margin-right:8px}.checkbox-row{display:flex;align-items:center;gap:6px;margin-top:-10px}.terms-link{background:none;border:none;color:#667eea;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.terms-modal{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.terms-content{background:#fff;border-radius:12px;padding:30px;max-width:600px;max-height:70vh;overflow-y:auto}.terms-text h4{color:#333;margin-top:20px;margin-bottom:10px}.close-terms{margin-top:20px;padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;width:100%}.g-recaptcha{display:flex;justify-content:center}.error-message{background:#fee;color:#c33;padding:10px;border-radius:6px;font-size:14px;text-align:center}.auth-button{background:linear-gradient(90deg,#35bdbb,#20b7c2);color:#fff;border:none;padding:14px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #667eea4d}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.auth-footer p{color:#666;margin-bottom:10px}.auth-link{color:#667eea;text-decoration:none;font-weight:500}.auth-link:hover{text-decoration:underline}.auth-links{margin-top:20px;text-align:center}.back-link{color:#888;text-decoration:none;font-size:14px}.verification-code-container{display:flex;gap:10px;justify-content:center;margin:30px 0}.code-input{width:50px;height:60px;text-align:center;font-size:24px;font-weight:700;border:2px solid #ddd;border-radius:8px}.code-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.resend-section{text-align:center;margin-top:20px}.resend-button{background:none;color:#667eea;border:1px solid #667eea;padding:10px 20px;border-radius:6px;cursor:pointer;margin-top:10px;transition:all .3s}.resend-button:hover:not(:disabled){background:#667eea;color:#fff}.resend-button:disabled{opacity:.5;cursor:not-allowed}.success-card{max-width:600px}.success-icon-large{width:80px;height:80px;margin:0 auto 30px;background:linear-gradient(135deg,#27ae60,#2ecc71);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:checkBounce 1s ease-out}.success-icon-large span{color:#fff;font-size:48px;font-weight:700}.registration-info{margin:30px 0}.info-box{background:#f9f9f9;border-radius:8px;padding:20px;margin-bottom:20px}.info-box h3{color:#333;margin-bottom:10px;font-size:18px}.info-note{color:#666;font-size:14px;margin-bottom:20px}.credential-item{margin-bottom:15px}.credential-item label{display:block;color:#666;font-size:12px;margin-bottom:5px}.credential-value{display:flex;align-items:center;gap:10px;background:#fff;padding:10px;border-radius:6px;border:1px solid #ddd}.credential-value code{flex:1;font-family:Courier New,monospace;font-size:14px}.copy-button{background:#667eea;color:#fff;border:none;padding:5px 10px;border-radius:4px;cursor:pointer;font-size:16px}.warning-box{background:#fef5e7;border-left:4px solid #f39c12;padding:15px;margin-top:20px}.warning-box p{color:#856404;margin:5px 0;font-size:14px}.plan-info{text-align:center}.plan-badge{display:inline-block;padding:5px 15px;border-radius:20px;font-size:14px;margin-bottom:15px}.plan-features{list-style:none;padding:0;text-align:left;margin-bottom:20px}.plan-features li{padding:5px 0;font-size:14px;color:#666}.upgrade-link{color:#667eea;text-decoration:none;font-weight:500}.action-buttons-group{display:flex;gap:15px;margin-top:30px}.primary-button,.secondary-button{flex:1;padding:12px;text-align:center;border-radius:8px;text-decoration:none;font-weight:500;transition:all .3s}.primary-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.secondary-button{background:#fff;color:#667eea;border:2px solid #667eea}.next-steps{background:#f0f4ff;border-radius:8px;padding:20px;margin-top:30px}.next-steps h4{color:#333;margin-bottom:15px}.next-steps ol{margin-left:20px;color:#666}.next-steps li{margin-bottom:10px;font-size:14px}.mypage-container{min-height:100vh;background:#f5f5f5}.mypage-header{background:linear-gradient(to bottom,#35bdbb,#20b7c2);color:#fff;padding:1rem 0;box-shadow:0 2px 10px #0000001a}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:300;color:#fff;text-decoration:none}.header-actions{display:flex;gap:1rem;align-items:center}.header-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:6px;transition:background .3s}.header-link:hover{background:#ffffff1a}.logout-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .3s}.logout-button:hover{background:#ffffff4d}.mypage-content{max-width:1200px;margin:0 auto;display:flex;gap:2rem;padding:2rem}.mypage-sidebar{width:250px;background:#fff;border-radius:12px;padding:1rem;height:fit-content;box-shadow:0 2px 8px #00000014}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem}.sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:#666;text-decoration:none;border-radius:8px;transition:all .3s}.sidebar-item:hover{background:#f0f0f0;color:#333}.sidebar-item.active{background:linear-gradient(135deg,#35bdbb,#20b7c2);color:#fff}.sidebar-icon{font-size:1.2rem}.mypage-main{flex:1;background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #00000014}.mypage-section{max-width:800px}.section-title{color:#333;font-size:1.8rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.plan-status-card{background:#f9f9f9;border-radius:12px;padding:2rem;margin-bottom:2rem}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.plan-header h3{color:#333;font-size:1.2rem;margin:0}.plan-badge{padding:.5rem 1.5rem;border-radius:20px;font-weight:500;font-size:.9rem}.plan-badge.free{background:#e8f5e9;color:#2e7d32}.plan-badge.premium{background:linear-gradient(135deg,gold,#ffed4e);color:#333}.plan-details{margin-bottom:2rem}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #e0e0e0}.detail-label{color:#666;font-size:.95rem}.detail-value{color:#333;font-weight:500}.usage-indicator{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.usage-bar{width:150px;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.usage-progress{height:100%;background:linear-gradient(90deg,#35bdbb,#20b7c2);transition:width .3s ease}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider{background-color:#35bdbb}input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-label{margin-left:1rem}.feature-list{list-style:none;padding:0}.feature-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;color:#666}.feature-icon{color:#35bdbb;font-weight:700}.upgrade-section{background:linear-gradient(135deg,#f0fffe,#e6f9f8);border:2px solid #35bdbb;border-radius:12px;padding:2rem;text-align:center;margin-top:2rem}.upgrade-section h4{color:#333;margin-bottom:1rem}.upgrade-description{color:#666;margin-bottom:1.5rem}.price-info{margin-bottom:1.5rem}.price{font-size:2rem;font-weight:700;color:#35bdbb}.price-note{color:#666;font-size:.9rem;margin-left:.5rem}.upgrade-button{background:linear-gradient(135deg,#35bdbb,#20b7c2);color:#fff;padding:.75rem 2rem;border-radius:8px;text-decoration:none;display:inline-block;font-weight:500;transition:all .3s}.upgrade-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #35bdbb4d}.cancel-section{text-align:center;padding:2rem;border-top:1px solid #e0e0e0;margin-top:2rem}.cancel-note{color:#666;margin-bottom:1rem}.cancel-button{background:#fff;color:#e74c3c;border:1px solid #e74c3c;padding:.5rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .3s}.cancel-button:hover{background:#fee}.form-card{background:#f9f9f9;border-radius:12px;padding:2rem;margin-bottom:2rem}.form-card h3{color:#333;margin-bottom:1.5rem;font-size:1.2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:#666;font-size:.9rem;margin-bottom:.5rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:all .3s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#35bdbb;box-shadow:0 0 0 3px #35bdbb1a}.disabled-input{background:#e0e0e0;cursor:not-allowed}.submit-button{background:linear-gradient(135deg,#35bdbb,#20b7c2);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s}.submit-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #35bdbb4d}.message{padding:1rem;border-radius:8px;margin-bottom:2rem}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.card-info-container{padding:2rem 0}.credit-card-display{margin-bottom:3rem}.card-visual{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;border-radius:16px;box-shadow:0 10px 30px #667eea4d;max-width:400px;margin:0 auto}.card-brand{font-size:1.2rem;margin-bottom:2rem;font-weight:500}.card-number{font-size:1.5rem;letter-spacing:2px;margin-bottom:2rem;font-family:Courier New,monospace}.card-details{display:flex;justify-content:space-between}.card-holder,.card-expiry{display:flex;flex-direction:column}.card-holder .label,.card-expiry .label{font-size:.75rem;opacity:.8;margin-bottom:.25rem}.card-holder .value,.card-expiry .value{font-size:1rem;font-weight:500}.card-info-details{background:#f9f9f9;border-radius:12px;padding:2rem;margin-bottom:2rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #e0e0e0}.info-row:last-child{border-bottom:none}.info-label{color:#666;font-size:.95rem}.info-value{color:#333;font-weight:500}.default-badge{background:#35bdbb;color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.85rem}.card-actions{display:flex;gap:1rem;margin-bottom:2rem}.update-card-button,.delete-card-button{flex:1;padding:.75rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s;text-align:center;text-decoration:none}.update-card-button{background:linear-gradient(135deg,#35bdbb,#20b7c2);color:#fff;border:none}.delete-card-button{background:#fff;color:#e74c3c;border:1px solid #e74c3c}.update-card-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #35bdbb4d}.delete-card-button:hover{background:#fee}.security-notice{background:#f0f8ff;border-left:4px solid #3498db;border-radius:8px;padding:1.5rem;display:flex;gap:1.5rem}.notice-icon{font-size:2rem;line-height:1}.notice-content h4{color:#333;margin-bottom:.75rem}.notice-content p{color:#666;font-size:.9rem;line-height:1.6}.no-card-container{text-align:center;padding:4rem 2rem;background:#f9f9f9;border-radius:12px}.no-card-icon{font-size:4rem;margin-bottom:2rem}.no-card-container h3{color:#333;margin-bottom:1rem}.no-card-container p{color:#666;margin-bottom:2rem}.register-card-button{background:linear-gradient(135deg,#35bdbb,#20b7c2);color:#fff;padding:.75rem 2rem;border-radius:8px;text-decoration:none;display:inline-block;font-weight:500;transition:all .3s}.register-card-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #35bdbb4d}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%}.modal-content h3{color:#333;margin-bottom:1rem}.modal-content p{color:#666;margin-bottom:1rem}.warning-text{color:#e74c3c;font-size:.9rem}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.cancel-button,.confirm-delete-button{flex:1;padding:.75rem;border-radius:6px;cursor:pointer;transition:all .3s;font-size:1rem}.cancel-button{background:#e0e0e0;color:#666;border:none}.confirm-delete-button{background:#e74c3c;color:#fff;border:none}.stripe-container{max-width:600px}.stripe-form{background:#fff}.form-section{margin-bottom:2.5rem}.form-section h3{color:#333;margin-bottom:1.5rem;font-size:1.2rem}.stripe-element-container{background:#fff;padding:.75rem;border:1px solid #ddd;border-radius:6px;transition:all .3s}.stripe-element-container:focus-within{border-color:#35bdbb;box-shadow:0 0 0 3px #35bdbb1a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group.half{margin-bottom:0}.payment-summary{background:#f9f9f9;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.payment-summary h3{color:#333;margin-bottom:1rem;font-size:1.1rem}.summary-row{display:flex;justify-content:space-between;padding:.75rem 0;color:#666}.summary-row.total{border-top:2px solid #e0e0e0;padding-top:1rem;margin-top:.5rem;font-weight:700;color:#333}.plan-name{color:#35bdbb;font-weight:500}.price,.total-price{font-weight:700}.form-actions{margin-bottom:2rem}.form-actions .submit-button{width:100%;padding:1rem;font-size:1.1rem}.security-badges{display:flex;justify-content:center;gap:2rem;padding:2rem;background:#f9f9f9;border-radius:12px}.badge{display:flex;align-items:center;gap:.5rem;color:#666;font-size:.9rem}.payment-notes,.payment-faq{background:#f9f9f9;border-radius:12px;padding:2rem;margin-top:2rem}.payment-notes h4,.payment-faq h4{color:#333;margin-bottom:1rem}.payment-notes ul{list-style:none;padding:0}.payment-notes li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:#666}.payment-notes li:before{content:"✓";position:absolute;left:0;color:#35bdbb}.faq-item{margin-bottom:1.5rem}.faq-item h5{color:#333;margin-bottom:.5rem}.faq-item p{color:#666;font-size:.9rem}.loading{text-align:center;padding:4rem 2rem;color:#666;font-size:1.1rem}@media (max-width: 768px){.mypage-content{flex-direction:column}.mypage-sidebar{width:100%}.sidebar-nav{flex-direction:row;overflow-x:auto;gap:.25rem}.sidebar-item{white-space:nowrap}.form-row{grid-template-columns:1fr}.card-visual{max-width:100%}.security-badges{flex-direction:column;gap:1rem}}
