:root{--bg-color: #0f1115;--card-bg: #1c1f26;--text-primary: #ffffff;--text-secondary: #a1a1aa;--accent: #22d3ee;--accent-glow: rgba(34, 211, 238, .2);--font-family: "Inter", system-ui, sans-serif}body{margin:0;font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding-top:2rem}#root{width:100%;max-width:1200px;padding:0 1rem}h1,h2,h3{font-weight:700;letter-spacing:-.02em}a{color:var(--accent);text-decoration:none}:root{--bg-dark: #121212;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--accent-blue: #4facfe;--accent-green: #00f260;--accent-red: #ff5858;--text-main: #ffffff;--text-muted: #aaaaaa}body{background-color:var(--bg-dark);color:var(--text-main);font-family:Inter,sans-serif;margin:0;overflow-x:hidden}.landing-page{position:relative;width:100%;overflow-x:hidden}.dashboard{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh;width:100%}.hero{text-align:center;margin-bottom:40px}.title{font-size:3rem;font-weight:800;background:linear-gradient(to right,var(--accent-blue),#00f2fe);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0}.subtitle{color:var(--text-muted);font-size:1.2rem;margin-top:10px}.card{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:24px;padding:30px;box-shadow:0 4px 30px #0000001a;transition:transform .3s ease;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.card:hover{transform:translateY(-5px);border-color:#fff3}.tensaku-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start;width:100%}*{box-sizing:border-box}.image-preview{width:100%;border-radius:16px;overflow:hidden;border:2px solid var(--glass-border);display:flex;flex-direction:column;justify-content:center;align-items:center;background:#0000004d;min-height:200px;padding:20px}.image-preview img{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 4px 12px #00000080;object-fit:contain}.remove-image-btn{position:absolute;top:10px;right:10px;background:#000000b3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:5px 12px;border-radius:20px;cursor:pointer;font-size:.8rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s}.remove-image-btn:hover{background:#ff0000b3;border-color:red}.score-card{text-align:center;margin-bottom:30px}.score-circle{width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--accent-green) calc(var(--score) * 1%),var(--glass-bg) 0);display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;margin:0 auto 15px;position:relative}.score-circle:before{content:"";position:absolute;width:100px;height:100px;background:var(--bg-dark);border-radius:50%}.score-value{position:relative;z-index:2}.section-title{font-size:1.5rem;border-bottom:2px solid var(--glass-border);padding-bottom:10px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.good-point{display:flex;align-items:flex-start;gap:15px;margin-bottom:15px;padding:15px;background:#00f2601a;border-radius:12px;border-left:4px solid var(--accent-green)}.improvement-item{margin-bottom:20px;padding:20px;background:#ffffff08;border-radius:16px}.imp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.imp-badge{background:var(--accent-red);color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:700}.imp-suggestion{font-weight:700;color:var(--accent-blue);margin-top:5px;display:block}.imp-value{background:var(--glass-bg);padding:2px 8px;border-radius:4px;font-family:monospace;margin-left:10px;border:1px solid var(--accent-blue)}.google-data{background:linear-gradient(135deg,#4285f41a,#db44371a);border:1px solid rgba(255,255,255,.2)}.google-font-rec{margin-top:15px;font-family:serif;font-size:1.1rem}.google-label{display:inline-block;background:#4285f4;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:4px;margin-bottom:5px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;border:3px dashed var(--glass-border);border-radius:24px;color:var(--text-muted)}.glass-input{width:100%;box-sizing:border-box;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:1rem;transition:all .3s ease}.glass-input:focus{outline:none;background:#fff3;border-color:var(--accent-blue);box-shadow:0 0 15px #4facfe4d}.glass-input option{background:var(--bg-dark);color:#fff}.submit-btn,.reset-btn{background:linear-gradient(135deg,var(--accent-blue),#00f2fe);border:none;padding:15px 30px;border-radius:50px;color:#121212;font-weight:700;font-size:1.1rem;cursor:pointer;transition:transform .2s,box-shadow .2s;width:100%;margin-top:10px}.submit-btn:hover,.reset-btn:hover{transform:translateY(-2px);box-shadow:0 5px 20px #4facfe66}.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.metric-item{background:#ffffff0d;padding:10px;border-radius:8px}.metric-header{display:flex;justify-content:space-between;margin-bottom:5px}.metric-name{font-weight:700;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-score{color:var(--accent-green);font-weight:700}.metric-comment{font-size:.75rem;opacity:.7;margin:0}.google-insight-text{font-size:.9rem;opacity:.8;line-height:1.6}.final-cta-title{font-size:2.5rem;line-height:1.2;margin-bottom:20px;word-break:keep-all;overflow-wrap:break-word}@media(max-width:768px){.tensaku-grid{grid-template-columns:1fr}.title{font-size:2rem}.dashboard{padding:15px}.card{padding:20px}.image-preview{margin-bottom:20px}.metrics-grid{grid-template-columns:1fr;gap:10px}.metric-name{font-size:.8rem;white-space:normal}.metric-score{font-size:.8rem;flex-shrink:0}.google-insight-text{font-size:.85rem}.final-cta-title{font-size:1.8rem;margin-top:40px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spinner-large{width:60px;height:60px;border:4px solid var(--glass-border);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.history-container{max-width:800px;margin:0 auto;padding:40px 20px;min-height:100vh}.history-header{text-align:center;margin-bottom:40px;animation:fadeIn .8s ease-out}.history-list{display:flex;flex-direction:column;gap:20px}.history-card{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;cursor:pointer;animation:fadeIn .5s ease-out both}.card-info{display:flex;flex-direction:column;gap:5px}.card-date{font-size:.8rem;color:var(--text-muted)}.card-type{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--accent-blue);font-weight:700}.card-title{font-size:1.1rem;margin:0;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-score{display:flex;align-items:baseline;gap:2px}.score-value{font-size:2rem;font-weight:800;color:var(--accent-green)}.score-label{font-size:.8rem;color:var(--text-muted)}.card-arrow{font-size:1.5rem;color:var(--glass-border);transition:transform .3s ease}.history-card:hover .card-arrow{transform:translate(5px);color:var(--text-main)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:20px;transition:all .3s ease}.glass-card:hover{background:#ffffff14;border-color:#fff3;box-shadow:0 8px 32px #0003}.nav-footer{margin-top:50px;text-align:center}.lp-nav{display:flex;justify-content:space-between;align-items:center;padding:20px 5%;position:absolute;top:0;left:0;width:100%;z-index:100;box-sizing:border-box}.hamburger-btn{display:none;flex-direction:column;justify-content:space-around;width:30px;height:25px;background:transparent;border:none;cursor:pointer;padding:0;z-index:200}.hamburger-btn .bar{width:100%;height:3px;background-color:#fff;border-radius:10px;transition:all .3s linear;position:relative;transform-origin:1px}.hamburger-btn .bar.open:nth-child(1){transform:rotate(45deg)}.hamburger-btn .bar.open:nth-child(2){opacity:0;transform:translate(20px)}.hamburger-btn .bar.open:nth-child(3){transform:rotate(-45deg)}.mobile-menu{position:fixed;top:0;right:-100%;width:80%;max-width:300px;height:100vh;background:#121212f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:150;display:flex;flex-direction:column;padding:80px 20px 20px;transition:right .3s ease-in-out;border-left:1px solid var(--glass-border);box-shadow:-5px 0 15px #00000080}.mobile-menu.open{right:0}.mobile-nav-link{color:var(--text-main);text-decoration:none;font-size:1.2rem;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1);transition:color .3s}.mobile-nav-link:hover{color:var(--accent-blue)}.mobile-auth-buttons{margin-top:30px;display:flex;flex-direction:column;gap:15px}.mobile-auth-btn{text-align:center;width:100%}.desktop-only{display:flex}.mobile-only{display:none}.logo{font-size:1.5rem;font-weight:700;background:linear-gradient(90deg,#fff,var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;align-items:center;gap:15px}.nav-btn{color:var(--text-main);text-decoration:none;font-weight:700;padding:8px 16px;border-radius:50px;transition:background .2s}.nav-btn:hover{background:#ffffff1a}.landing-cta-small{margin-top:0!important;padding:10px 24px;font-size:.9rem}.lp-hero{min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:100px 20px 60px;background:radial-gradient(circle at top,rgba(0,198,255,.1),transparent)}.hero-container{display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:1200px;width:100%}.hero-content-left{flex:1;text-align:left}.hero-content-right{flex:1;display:flex;justify-content:center;align-items:center}.hero-image-visual{width:100%;max-width:500px;height:auto;border-radius:20px;box-shadow:0 20px 50px #00000080;border:1px solid var(--glass-border);transform:perspective(1000px) rotateY(-10deg) rotateX(5deg);transition:transform .5s ease}.hero-image-visual:hover{transform:perspective(1000px) rotateY(0) rotateX(0)}.hero-title{width:100%;text-align:left;font-size:clamp(2rem,5vw,3.5rem);line-height:1.2;margin-bottom:20px;word-break:keep-all;overflow-wrap:break-word}.hero-subtitle{font-size:1.1rem;opacity:.8;max-width:600px;margin:0 0 30px;line-height:1.7;text-align:left;word-break:auto-phrase;overflow-wrap:anywhere}.no-break{display:inline-block}.marker-highlight{background:linear-gradient(transparent 60%,#ff634766 60%);font-weight:700;padding:0 4px}.hero-actions{display:flex;flex-direction:row;align-items:center;gap:20px;justify-content:flex-start}.hero-actions .hero-btn{padding:12px 30px;font-size:1.1rem;border-radius:50px;min-width:200px;text-align:center;display:inline-flex;justify-content:center;align-items:center;margin:0;border:1px solid transparent}.hero-actions .secondary-btn{border:1px solid rgba(255,255,255,.2)}.hero-actions .primary-btn{border:1px solid transparent}@media(max-width:768px){.hero-actions{flex-direction:column;width:100%}.hero-actions .hero-btn{width:100%;margin:10px 0 0}}.section-header-center{text-align:center;margin-bottom:50px;display:flex;flex-direction:column;align-items:center}.section-tag{background:#4facfe1a;color:var(--accent-blue);padding:5px 15px;border-radius:20px;font-size:.8rem;font-weight:700;margin-bottom:15px;letter-spacing:1px;text-transform:uppercase;border:1px solid rgba(79,172,254,.2)}.section-desc{max-width:600px;margin:-20px auto 0;color:var(--text-muted)}@media(max-width:1024px){.desktop-only{display:none}.mobile-only{display:flex}.hero-container{flex-direction:column;text-align:center}.hero-content-left{text-align:center}.hero-title,.hero-subtitle{text-align:center;margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-content-right{display:none;width:100%}.lp-nav{padding:15px 20px;flex-wrap:nowrap}.logo{font-size:1.1rem;z-index:200}.demo-report-box{padding:15px!important}.image-preview{min-height:150px}}.pricing-grid{display:flex;justify-content:center;gap:30px;max-width:900px;margin:0 auto}.pricing-card{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;height:100%;width:100%;max-width:450px}.free-plan{border:1px solid var(--glass-border)}.recommended-plan{border:1px solid var(--accent-blue);box-shadow:0 0 30px #00c6ff26;transform:scale(1.05);z-index:2}.plan-badge{position:absolute;top:-15px;background:var(--glass-bg);padding:5px 15px;border-radius:20px;font-size:.8rem;font-weight:700;border:1px solid var(--glass-border)}.plan-badge.recommended{background:var(--accent-blue);color:#121212;border:none}.plan-name{font-size:1.5rem;margin-top:20px;margin-bottom:10px}.secondary-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:12px 24px;border-radius:50px;color:#fff;font-weight:700;text-decoration:none;transition:all .3s;cursor:pointer}.secondary-btn:hover{background:#fff3;border-color:#fff}@media(max-width:1024px){.pricing-grid{grid-template-columns:1fr;gap:50px}.recommended-plan{transform:scale(1)}}.price-display{margin:30px 0}.amount{font-size:4rem;font-weight:700}.benefits-list{list-style:none;padding:0;margin:0 0 30px;text-align:left;width:100%}.benefits-list li{margin-bottom:15px;display:flex;align-items:center;gap:10px}.benefits-list li:before{content:"✓";color:var(--accent-green);font-weight:700}.lp-demo-section{background:#ffffff05}.demo-report-box{background:var(--glass-bg);border-radius:24px;border:1px solid var(--glass-border);padding:40px!important;max-width:1200px;margin:0 auto}.lp-cta{text-align:center;background:linear-gradient(to bottom,transparent,rgba(0,198,255,.05))}.lp-footer{padding:60px 20px;border-top:1px solid var(--glass-border)}.footer-logo{display:none}.footer-content{text-align:center;width:100%}.footer-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}.footer-link{color:var(--text-muted);font-size:.8rem;text-decoration:none;opacity:.7;transition:opacity .2s}.footer-link:hover{opacity:1;color:var(--text-main)}.copyright{font-size:.7rem;color:var(--text-muted);opacity:.5;margin:0}.text-link{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;transition:color .2s}.text-link:hover{color:var(--accent-blue)}.primary-btn{background:linear-gradient(135deg,var(--accent-blue),#00f2fe);border:none;padding:12px 24px;border-radius:50px;color:#121212;font-weight:700;cursor:pointer;margin-top:20px}.history-card:nth-child(1){animation-delay:.1s}.history-card:nth-child(2){animation-delay:.2s}.history-card:nth-child(3){animation-delay:.3s}.history-card:nth-child(4){animation-delay:.4s}.history-card:nth-child(5){animation-delay:.5s}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.auth-card{width:100%;max-width:450px;text-align:center;padding:40px 30px}.input-group{text-align:left;margin-bottom:20px}.input-group label{display:block;margin-bottom:8px;font-size:.9rem;color:var(--text-muted)}.input-group input{padding:12px 16px}.auth-footer{margin-top:30px;border-top:1px solid var(--glass-border);padding-top:20px;font-size:.9rem;color:var(--text-muted)}.error-badge{background:#ff585833;color:#ff5858;padding:10px;border-radius:8px;margin-bottom:20px;font-size:.9rem;border:1px solid var(--accent-red)}.success-badge{background:#00f26033;color:var(--accent-green);padding:10px;border-radius:8px;margin-bottom:20px;font-size:.9rem;border:1px solid var(--accent-green)}.demo-banner{background:linear-gradient(90deg,var(--accent-blue),var(--accent-green));color:#000;padding:10px 20px;text-align:center;font-weight:700;font-size:.9rem;position:sticky;top:0;z-index:1000;display:flex;justify-content:center;align-items:center;gap:15px}.demo-signup-link{background:#000;color:#fff;padding:5px 15px;border-radius:20px;text-decoration:none;font-size:.8rem;transition:transform .2s ease}.demo-signup-link:hover{transform:scale(1.05)}.image-label{background:#000000b3;color:#fff;padding:8px 16px;font-size:.9rem;border-radius:20px;text-align:center;margin-top:15px;width:auto}
