:root{--bg: #ffffff;--bg-soft: #f7f6f2;--bg-card: #f2f0eb;--ink: #111110;--ink-mid: #3d3d38;--ink-muted: #888880;--accent: #b8e800;--accent-hover: #a2cf00;--accent-deep: #556b00;--border: #e2e0d8;--border-strong: #c8c6bc;--red: #d23a3a;--amber: #e8a800;--font: "Jost", sans-serif;--radius: 12px;--shadow: 0 2px 12px rgba(0,0,0,.06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg-soft);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased}@keyframes spin{to{transform:rotate(360deg)}}.spin{display:inline-block;animation:spin 1s linear infinite}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-soft);padding:20px}.login-card{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:48px 40px;width:100%;max-width:400px;box-shadow:var(--shadow)}.login-logo{font-size:36px;font-weight:700;margin-bottom:4px}.login-sub{color:var(--ink-muted);font-size:14px;margin-bottom:32px}.login-form{display:flex;flex-direction:column;gap:12px}.login-toggle{text-align:center;font-size:13px;color:var(--ink-muted);margin-top:20px}.input{width:100%;padding:12px 16px;border:1.5px solid var(--border-strong);border-radius:var(--radius);font-family:var(--font);font-size:15px;color:var(--ink);background:var(--bg);outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--ink-muted)}.input:disabled{opacity:.55}.btn-primary{background:var(--accent);color:var(--ink);border:none;padding:12px 24px;border-radius:var(--radius);font-family:var(--font);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:none;border:none;color:var(--ink-mid);font-family:var(--font);font-size:14px;cursor:pointer;padding:8px 12px;border-radius:8px;transition:background .15s}.btn-ghost:hover{background:var(--bg-card)}.link-btn{background:none;border:none;color:var(--accent-deep);font-weight:600;cursor:pointer;font-size:13px;font-family:var(--font);text-decoration:underline}.msg{font-size:13px;padding:10px 14px;border-radius:8px;line-height:1.5}.msg.error{background:#fef0f0;color:var(--red)}.msg.success{background:#f4fce0;color:var(--accent-deep)}.msg.warning{background:#fffbf0;color:#8a6000}.app-layout{min-height:100vh;display:flex;flex-direction:column}.navbar{height:60px;background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10}.nav-logo{font-size:22px;font-weight:700}.nav-right{display:flex;align-items:center;gap:8px}.nav-email{font-size:13px;color:var(--ink-muted)}.main-content{max-width:820px;width:100%;margin:0 auto;padding:40px 24px 80px;display:flex;flex-direction:column;gap:28px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title{font-size:28px;font-weight:700}.page-sub{font-size:14px;color:var(--ink-muted);margin-top:4px}.usage-pill{background:var(--bg-card);border:1px solid var(--border);border-radius:999px;padding:6px 16px;font-size:13px;font-weight:600;color:var(--ink-mid);display:flex;align-items:center;gap:10px}.usage-bar{width:80px;height:5px;background:var(--border);border-radius:3px;overflow:hidden}.usage-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s}.scan-box{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:24px}.scan-form{display:flex;gap:10px}.scan-input{flex:1}.scan-hint{font-size:12px;color:var(--ink-muted);margin-top:10px;line-height:1.5}.upgrade-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:16px;flex-wrap:wrap}.upgrade-banner-text{flex:1;min-width:0}.analyses-list{display:flex;flex-direction:column;gap:10px}.analysis-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:18px 24px 0;cursor:pointer;text-align:left;width:100%;font-family:var(--font);transition:border-color .15s,box-shadow .15s;gap:0;overflow:hidden}.analysis-card:hover{border-color:var(--accent);box-shadow:0 2px 16px #b8e8001f}.card-top{display:flex;align-items:center;gap:12px;padding-bottom:16px}.card-left{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.card-domain{font-size:15px;font-weight:700}.card-url{font-size:12px;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-date{font-size:12px;color:var(--ink-muted)}.card-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.card-score-num{font-size:28px;font-weight:700;line-height:1}.card-score-max{font-size:14px;color:var(--ink-muted)}.card-dims{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);margin:0 -24px}.card-dim-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 8px;gap:2px;border-right:1px solid var(--border)}.card-dim-box:last-child{border-right:none}.card-dim-code{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--ink-muted);text-transform:uppercase}.card-dim-score{font-size:15px;font-weight:700;color:var(--ink)}.card-dim-score.locked{color:var(--border-strong)}.tier-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tier-badge.basic{background:var(--bg-card);color:var(--ink-muted)}.tier-badge.complete{background:var(--accent);color:var(--ink)}.empty-state{text-align:center;padding:60px 20px;color:var(--ink-muted);font-size:15px;display:flex;flex-direction:column;gap:8px;align-items:center}.analysis-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.analysis-domain{font-size:26px;font-weight:700}.analysis-url-full{font-size:13px;color:var(--ink-muted);margin-top:4px;word-break:break-all}.analysis-meta{font-size:13px;color:var(--ink-muted);margin-top:8px;display:flex;align-items:center;gap:8px}.global-score-box{background:var(--ink);color:#fff;border-radius:16px;padding:20px 28px;text-align:center;flex-shrink:0;min-width:140px}.global-score-num{font-size:48px;font-weight:700;line-height:1;display:block}.global-score-max{font-size:18px;color:#ffffff73}.global-score-label{font-size:13px;font-weight:600;margin-top:8px;display:block}.result-section{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:16px}.section-head{display:flex;align-items:center;justify-content:space-between}.dim-badge{display:inline-block;background:var(--accent);color:var(--ink);font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px;margin-right:10px}.dim-title{font-size:18px;font-weight:700}.dim-score{font-size:17px;font-weight:700;color:var(--ink-muted)}.dim-intro{font-size:13px;color:var(--ink-muted);font-style:italic;line-height:1.5}.score-bar-wrap{display:flex;align-items:center;gap:12px}.score-bar-bg{flex:1;height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden}.score-bar-fill{height:100%;border-radius:4px;transition:width .7s ease}.score-bar-label{font-size:13px;font-weight:600;min-width:38px;text-align:right}.subdims{display:flex;flex-direction:column;gap:14px}.subdim-row{display:flex;flex-direction:column;gap:5px}.subdim-head{display:flex;justify-content:space-between;align-items:center}.subdim-label{font-size:14px;font-weight:600}.subdim-score{font-size:13px;color:var(--ink-muted)}.prog-bg{height:6px;background:var(--bg-card);border-radius:3px;overflow:hidden}.prog-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .7s ease}.subdim-desc{font-size:12px;color:var(--ink-muted);font-style:italic;line-height:1.4}.findings-title{font-size:14px;font-weight:600;color:var(--ink-mid)}.findings-list{display:flex;flex-direction:column;gap:8px}.finding-row{border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:7px}.finding-row.ok{background:#f4fce0}.finding-row.bad{background:#fef0f0}.finding-row.warn{background:#fffbf0}.finding-row.neutral{background:var(--bg-soft)}.finding-main{display:flex;align-items:flex-start;gap:10px}.finding-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;margin-top:1px}.finding-icon.ok{background:var(--accent);color:var(--ink)}.finding-icon.bad{background:var(--red);color:#fff}.finding-icon.warn{background:var(--amber);color:#fff}.finding-icon.neutral{background:var(--border-strong);color:var(--ink-muted)}.finding-text{font-size:14px;line-height:1.5}.finding-desc{margin-left:30px;font-size:13px;color:var(--ink-mid);line-height:1.6;margin-top:4px;margin-bottom:2px}.desc-label{font-weight:600;color:var(--ink)}.finding-solution{margin-left:30px;font-size:13px;color:var(--ink-mid);line-height:1.5}.sol-label{font-weight:600;color:var(--accent-deep)}.locked-section{position:relative;overflow:hidden}.locked-content{filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none}.locked-overlay{position:absolute;bottom:0;left:0;right:0;padding:90px 24px 32px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.98) 40%);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;border-radius:0 0 var(--radius) var(--radius)}.locked-label{font-size:15px;font-weight:700;color:var(--ink)}.locked-sub{font-size:13px;color:var(--ink-muted)}.upgrade-cta{background:var(--ink);color:#fff;border-radius:16px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.upgrade-cta p{font-size:15px;line-height:1.6}.upgrade-cta strong{color:var(--accent)}@media (max-width: 600px){.navbar{padding:0 16px}.main-content{padding:24px 16px 60px}.scan-form,.analysis-header{flex-direction:column}.global-score-box{min-width:unset;width:100%;flex-direction:row;display:flex;align-items:center;justify-content:center;gap:16px;padding:16px}.upgrade-cta{flex-direction:column}.card-url{max-width:200px}.login-card{padding:36px 24px}}
