:root{--ink:#1e2428;--muted:#68757f;--line:#dfe6e9;--paper:#f7f8f6;--panel:#fff;--accent:#006b68;--accent-2:#d14d2f;--accent-3:#8b6f2b;--good:#0d7a4f;--warn:#b15c00;--bad:#bd2d2d}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,Noto Sans JP,Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,system-ui,sans-serif}button,input{font:inherit}.appShell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;position:sticky;top:0}.topbarInner{justify-content:space-between;align-items:center;gap:18px;max-width:1240px;min-height:68px;margin:0 auto;padding:0 24px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brandMark{background:var(--accent);color:#fff;letter-spacing:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:grid}.brand h1{margin:0;font-size:17px;line-height:1.2}.brand p,.topbarHint,.muted{color:var(--muted)}.brand p{margin:2px 0 0;font-size:12px}.topbarHint{text-align:right;font-size:13px}.workspace{grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:24px;max-width:1240px;margin:0 auto;padding:28px 24px 48px;display:grid}.panel,.metric,.finding,.imageTile,.couponRow,.emptyState{background:var(--panel);border:1px solid var(--line);border-radius:8px}.panel{padding:20px}.inputPanel{align-self:start;position:sticky;top:92px}.panelTitle{align-items:center;gap:10px;margin-bottom:16px;display:flex}.panelTitle h2{margin:0;font-size:16px}.field{gap:8px;margin-bottom:16px;display:grid}.field label{color:#364147;font-size:13px;font-weight:700}.field input[type=url],.field input[type=file]{color:var(--ink);background:#fff;border:1px solid #cfd9dd;border-radius:6px;width:100%;min-height:42px;padding:9px 10px}.fieldHelp{color:var(--muted);font-size:12px;line-height:1.55}.primaryButton{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 16px;font-weight:800;display:inline-flex}.primaryButton:disabled{cursor:wait;opacity:.62}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sideNote{border-top:1px solid var(--line);color:var(--muted);margin-top:18px;padding-top:16px;font-size:12px;line-height:1.7}.archiveBlock{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.archiveTitle{align-items:center;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.archiveList{gap:8px;display:grid}.archiveRow{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:6px;gap:4px;padding:10px;display:grid}.archiveRow span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.archiveRow small,.archiveEmpty{color:var(--muted);font-size:11px;line-height:1.5}.snapshotLinks{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.snapshotLinks a{border:1px solid var(--line);color:var(--accent);background:#fff;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.savedPageList{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.savedPageList a{border:1px solid var(--line);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:#f8fbfa;border-radius:6px;gap:4px;min-width:0;padding:9px 10px;font-size:12px;line-height:1.45;text-decoration:none;display:grid;overflow:hidden}.savedPageList a span{color:var(--accent);font-size:11px;font-weight:900}.results{gap:18px;display:grid}.hero{border-bottom:3px solid var(--accent);background:#fff;padding:28px}.hero h2{max-width:820px;margin:0 0 12px;font-size:clamp(24px,4vw,44px);line-height:1.08}.hero p{color:#435057;max-width:860px;margin:0;font-size:15px;line-height:1.8}.summaryBar{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.scorePanel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:18px;padding:20px;display:grid}.scoreMain{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.scoreBadge{color:#fff;border-radius:8px;place-items:center;gap:6px;width:94px;height:94px;display:grid}.scoreBadge.good,.miniScore.good{background:var(--good)}.scoreBadge.warn,.miniScore.warn{background:var(--warn)}.scoreBadge.bad,.miniScore.bad{background:var(--bad)}.scoreBadge span{font-size:34px;font-weight:900;line-height:1}.scoreLabel{color:var(--muted);font-size:12px;font-weight:800}.scoreValue{margin-top:6px;font-size:44px;font-weight:900;line-height:1}.scoreValue small{color:var(--muted);margin-left:4px;font-size:16px}.scoreMain p{color:#46545b;margin:8px 0 0;font-size:13px;line-height:1.7}.scoreBreakdown{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.scoreCategory{border:1px solid var(--line);background:#f8fbfa;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:10px;display:flex}.scoreCategory strong,.comparisonItem strong{font-size:13px}.scoreCategory span,.comparisonTitle span,.comparisonItem span{color:var(--muted);font-size:11px;line-height:1.45}.scoreCategory div:first-child{gap:4px;min-width:0;display:grid}.miniScore{color:#fff;border-radius:6px;flex:none;place-items:center;width:38px;height:32px;font-size:13px;font-weight:900;display:grid}.comparisonBlock{border-top:1px solid var(--line);padding-top:16px}.comparisonTitle{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.comparisonGrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.comparisonItem{border:1px solid var(--line);background:#fff;border-radius:6px;gap:4px;padding:10px;display:grid}.pill{color:#24534f;background:#edf5f3;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.sectionHead{justify-content:space-between;align-items:center;gap:10px;margin:6px 0 12px;display:flex}.sectionHead h3{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.metricGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.metric{min-height:104px;padding:14px}.metricLabel{color:var(--muted);font-size:12px;line-height:1.45}.metricValue{margin-top:12px;font-size:28px;font-weight:850;line-height:1}.metricSub{color:var(--muted);margin-top:8px;font-size:12px}.findingList{gap:10px;display:grid}.finding{border-left:5px solid var(--accent);padding:14px 16px}.finding.bad{border-left-color:var(--bad)}.finding.warn{border-left-color:var(--warn)}.finding.good{border-left-color:var(--good)}.finding h4{align-items:center;gap:8px;margin:0 0 7px;font-size:14px;display:flex}.finding p{color:#46545b;margin:0;font-size:13px;line-height:1.65}.twoCol{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.couponList{gap:8px;display:grid}.suggestionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.suggestionCard{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:16px;display:grid}.suggestionTop{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.suggestionTop span{color:#684a0e;background:#f1e5d1;border-radius:999px;min-height:24px;padding:4px 9px;font-size:11px;font-weight:900}.suggestionTop strong{color:var(--muted);font-size:12px}.suggestionCard h4{margin:0;font-size:16px;line-height:1.45}.suggestionCard p{color:#46545b;margin:0;font-size:13px;line-height:1.7}.suggestionReason{border-left:4px solid var(--accent);color:#46545b;background:#f8fbfa;padding:10px 12px;font-size:12px;line-height:1.65}.auditGrid{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:14px;margin-bottom:14px;display:grid}.auditSummary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.auditPanel{min-height:100%}.auditIssueList{gap:10px;display:grid}.auditIssue{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;display:grid}.auditIssue>span{color:#684a0e;text-align:center;background:#f1e5d1;border-radius:999px;min-width:42px;padding:4px 8px;font-size:11px;font-weight:900}.auditIssue strong{font-size:13px}.auditIssue p{color:#46545b;margin:4px 0 0;font-size:12px;line-height:1.6}.captionList{gap:8px;display:grid}.captionItem{border:1px solid var(--line);color:#46545b;background:#f8fbfa;border-radius:6px;gap:4px;padding:10px 12px;font-size:12px;line-height:1.6;display:grid}.captionItem strong{color:var(--ink)}.imageTags{flex-wrap:wrap;gap:5px;display:flex}.imageTags span{color:#24534f;background:#edf5f3;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800}.couponRow{gap:6px;padding:12px;display:grid}.couponRow strong{font-size:13px;line-height:1.45}.couponRow span{color:var(--muted);font-size:12px}.imageGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.imageTile{overflow:hidden}.imageBox{aspect-ratio:4/3;background:#e7ecef;justify-content:center;align-items:center;display:flex;overflow:hidden}.imageBox img{object-fit:cover;width:100%;height:100%}.imageMeta{gap:8px;padding:11px;display:grid}.imageMeta strong{font-size:12px;line-height:1.45}.imageMeta span,.imageMeta p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.actionList{counter-reset:actions;gap:10px;display:grid}.actionItem{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px;display:grid}.actionItem:before{color:#684a0e;content:counter(actions);counter-increment:actions;background:#f1e5d1;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.actionItem h4{margin:0 0 4px;font-size:14px}.actionItem p{color:#46545b;margin:0;font-size:13px;line-height:1.65}.emptyState{color:var(--muted);text-align:center;place-items:center;min-height:420px;padding:30px;display:grid}.emptyState h2{color:var(--ink);margin:16px 0 8px;font-size:24px}.error{color:#8f2020;background:#fff0f0;border:1px solid #efb4b4;border-radius:8px;padding:12px;font-size:13px;line-height:1.6}@media (max-width:980px){.workspace{grid-template-columns:1fr}.inputPanel{position:static}.metricGrid,.scoreBreakdown,.auditGrid,.comparisonGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.twoCol,.suggestionGrid,.imageGrid{grid-template-columns:1fr}}@media (max-width:560px){.topbarInner,.workspace{padding-left:16px;padding-right:16px}.topbarHint{display:none}.metricGrid,.scoreMain,.scoreBreakdown,.auditGrid,.auditSummary,.comparisonGrid{grid-template-columns:1fr}.hero{padding:22px 18px}}
