:root{--bg:#f3f7f5;--card:#fff;--text:#17221f;--muted:#66736f;--line:#d9e4e0;--brand:#0a6855;--brand2:#13566b;--gold:#95701c;--danger:#b83b3b;--quality:#285f7a;--value:#9a741c;--div:#0a6855;--shadow:0 10px 30px rgba(24,55,47,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}.topbar{background:linear-gradient(135deg,#075e4d,#13566b);color:#fff}.topbar-inner{max-width:1180px;margin:auto;padding:25px 18px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.kicker,.mini{font-size:11px;letter-spacing:.13em;font-weight:900}.topbar h1{font-size:clamp(25px,4vw,39px);margin:5px 0 6px}.topbar p{margin:0;opacity:.86}.version{text-align:center;border:1px solid rgba(255,255,255,.26);border-radius:13px;padding:8px 12px;font-weight:900;white-space:nowrap}.version small{font-weight:700;opacity:.8}.tabs{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.tabs-inner{max-width:1180px;margin:auto;display:flex;overflow:auto;padding:0 8px}.tab{border:0;background:transparent;padding:15px 17px;font-weight:900;color:var(--muted);border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap}.tab.active{color:var(--brand);border-color:var(--brand)}.container{max-width:1180px;margin:auto;padding:20px 16px 70px}.panel{display:none}.panel.active{display:block}.card,.concept-card,.conclusion,.metric,.summary-cards article{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.concept-card{padding:22px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;gap:22px}.concept-card h2,.card h2{margin:4px 0 7px}.concept-card p,.card p{margin:0;color:var(--muted)}.weights{display:flex;gap:8px;flex-wrap:wrap}.weights div{min-width:95px;background:#edf5f2;padding:9px 11px;border-radius:11px}.weights span{display:block;color:var(--muted);font-size:12px}.weights b{font-size:18px}.card{padding:20px;margin:14px 0}.card.quality{border-left:5px solid var(--quality)}.card.value{border-left:5px solid var(--value)}.card.dividend{border-left:5px solid var(--div)}.card.risk{border-left:5px solid var(--danger)}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.section-head h2{margin:4px 0 5px}.weight-badge{background:#eff4f2;padding:7px 10px;border-radius:999px;font-weight:900}.form-grid{display:grid;gap:13px;margin-top:16px}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}label{font-size:13px;font-weight:800;color:#34423e}input,select{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cbd8d3;border-radius:10px;background:#fff;color:var(--text);font:inherit;outline:none}input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(10,104,85,.1)}.help{font-size:12px!important;margin-top:12px!important}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.check{display:flex;gap:9px;align-items:center;background:#f7f9f8;border:1px solid #e7eeeb;padding:11px;border-radius:11px}.check input{width:auto;margin:0}.actionbar{display:flex;gap:9px;flex-wrap:wrap;position:sticky;bottom:8px;z-index:20;background:rgba(243,247,245,.92);backdrop-filter:blur(10px);padding:9px;border-radius:15px}.btn{border-radius:11px;padding:11px 15px;font-weight:900;cursor:pointer;font:inherit}.btn-primary{background:var(--brand);border:1px solid var(--brand);color:#fff}.btn-outline{background:#fff;border:1px solid var(--brand);color:var(--brand)}.btn-ghost{background:#fff;border:1px solid var(--line);color:#596662}.btn-small{margin-top:15px}.btn:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}.result{margin-top:18px}.conclusion{padding:24px;background:linear-gradient(135deg,#fff,#ebf6f2);display:flex;justify-content:space-between;align-items:center;gap:20px}.conclusion-copy h2{font-size:clamp(24px,4vw,36px);margin:5px 0}.conclusion-copy p{margin:0;color:#52615c}.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.badge{font-size:12px;font-weight:900;border-radius:999px;background:#dfeee9;color:#0a6855;padding:7px 10px}.badge.warn{background:#fdeaea;color:#9f3030}.score-ring{width:122px;height:122px;min-width:122px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--brand);color:#fff;box-shadow:0 12px 30px rgba(10,104,85,.25)}.score-ring strong{font-size:46px;line-height:.9}.score-ring span{font-size:12px;font-weight:900}.score-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0}.metric{padding:16px}.metric>span{display:block;color:var(--muted);font-size:13px;font-weight:900}.metric strong{font-size:34px}.metric small{color:var(--muted);font-weight:800}.meter{height:7px;background:#edf1f0;border-radius:99px;overflow:hidden;margin-top:8px}.meter i{display:block;width:0;height:100%;background:var(--brand);border-radius:99px;transition:width .25s}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.compact{margin:0}.compact h3{margin:0}.bullets{margin:10px 0 0;padding-left:20px}.bullets li{margin:7px 0;color:#46534f}.warning-card li{color:#7e423a}.reference-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:11px}.reference-grid>div{background:#f6f9f8;padding:13px;border-radius:11px}.reference-grid span{display:block;font-size:12px;color:var(--muted)}.reference-grid strong{display:block;margin-top:4px}.one-line-card p{font-size:18px!important;font-weight:900;color:var(--text)!important;margin-top:6px!important}.table-wrap{overflow:auto;margin-top:16px}table{width:100%;border-collapse:collapse;min-width:800px}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{color:var(--muted);font-size:12px}.pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#edf5f2;color:var(--brand);font-weight:900}.danger-pill{background:#fdeaea;color:#9f3030}.empty{text-align:center;color:var(--muted);padding:30px}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary-cards article{padding:18px}.summary-cards span{display:block;font-size:13px;color:var(--muted)}.summary-cards strong{display:block;font-size:26px;margin-top:5px}.prose{line-height:1.8}.prose .lead{font-size:20px;color:var(--text);font-weight:900}.prose h3{margin:24px 0 4px}.logic,.notice{margin-top:20px;border-radius:13px;padding:16px}.logic{background:#edf5f2}.notice{background:#fff8e5;color:#715819;border:1px solid #f1df9c}footer{text-align:center;color:#7a8883;font-size:12px;padding:26px 15px}
@media(max-width:900px){.cols-4{grid-template-columns:repeat(2,1fr)}.check-grid{grid-template-columns:repeat(2,1fr)}.reference-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.topbar-inner{display:block}.version{display:inline-block;margin-top:14px}.concept-card{display:block}.weights{margin-top:15px}.cols-4,.check-grid,.score-cards,.result-grid,.reference-grid,.summary-cards{grid-template-columns:1fr}.conclusion{align-items:flex-start}.score-ring{width:96px;height:96px;min-width:96px}.score-ring strong{font-size:36px}.card{padding:16px}.actionbar .btn{flex:1 1 145px}.tab{padding:13px 14px}}

/* v0.1.1 auto fetch */
.auto-fetch-box{margin-top:16px;border:1px solid #b9d8cf;background:linear-gradient(135deg,#eef9f5,#f7fbfa);border-radius:16px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:18px}.auto-fetch-copy h3{margin:3px 0 5px}.auto-fetch-copy p{margin:0;color:var(--muted)}.auto-fetch-btn{min-width:190px}.auto-status{margin-top:10px;padding:11px 13px;border-radius:11px;font-size:13px;font-weight:700}.auto-status.neutral{background:#f0f3f2;color:#596762}.auto-status.loading{background:#edf5ff;color:#245a86}.auto-status.success{background:#e7f6ef;color:#0a6855}.auto-status.warn{background:#fff4dd;color:#805c11}.auto-status.error{background:#fdeaea;color:#9a3030}.api-settings{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.api-settings summary,.manual-details>summary{cursor:pointer;padding:12px 14px;font-weight:850;color:#34433e}.api-settings-body{padding:0 14px 14px}.api-settings-body>p{margin:0 0 10px;color:var(--muted);font-size:13px}.api-key-row{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:9px;align-items:end}.manual-details{margin:14px 0;border:1px solid var(--line);border-radius:16px;background:#eef4f2}.manual-details>summary{padding:15px 18px}.manual-details-body{padding:0 10px 10px}.manual-details .card{box-shadow:none}.auto-filled{background:#f1fbf7!important;border-color:#85c5b2!important}.source-chip{display:inline-block;padding:3px 7px;border-radius:999px;background:#e8f2ef;color:#0a6855;font-size:11px;font-weight:800;margin-left:5px}.fetch-notes{margin:7px 0 0;padding-left:18px;font-size:12px;font-weight:500}.fetch-notes li{margin:3px 0}@media(max-width:700px){.auto-fetch-box{display:block}.auto-fetch-btn{width:100%;margin-top:12px}.api-key-row{grid-template-columns:1fr}.api-key-row .btn{width:100%}}

/* v0.1.2: industry model + dividend yield timing */
.industry-strip{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:10px;margin-top:14px}.industry-strip>div,.industry-strip>.inline-select{background:#f4f8f6;border:1px solid #d9e7e2;border-radius:13px;padding:12px 14px}.industry-strip span,.industry-strip>div>span{display:block;font-size:12px;color:#68756f;margin-bottom:4px}.industry-strip strong{display:block;font-size:15px;color:#17332c}.inline-select{font-size:12px!important}.inline-select select{margin-top:6px}.model-settings{margin-top:10px;border:1px solid #dbe7e3;border-radius:12px;background:#fbfdfc}.model-settings summary{cursor:pointer;padding:11px 14px;font-weight:800;color:#2f5e52}.model-settings-body{padding:0 14px 14px}.model-settings-body label{max-width:360px;display:block}.metric-note{display:block;margin-top:8px!important;color:#60716b;font-weight:700}.yield-timing-card{border:1px solid #cfe3dc;background:linear-gradient(135deg,#fff,#f2faf7)}.yield-timing-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;background:#dcefe8;color:#0a6855;font-weight:900;white-space:nowrap}.yield-timing-badge.good{background:#d6f1e4;color:#086247}.yield-timing-badge.great{background:#bfe8d6;color:#064c39}.yield-timing-badge.warn{background:#fff0d7;color:#8a5a09}.yield-timing-badge.danger{background:#f7dddd;color:#9a2f2f}.yield-position{height:12px;border-radius:999px;background:linear-gradient(90deg,#e8eeec 0%,#dfe9e6 40%,#cfe7df 70%,#b4dfd0 100%);position:relative;margin:16px 3px 14px;overflow:visible}.yield-position-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:999px;background:rgba(10,104,85,.18)}.yield-position-marker{position:absolute;top:50%;left:0;width:4px;height:24px;border-radius:3px;background:#0a6855;transform:translate(-2px,-50%);box-shadow:0 0 0 3px #fff}.yield-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.yield-grid>div{background:#f7faf9;border:1px solid #e0ebe7;border-radius:12px;padding:12px}.yield-grid span{display:block;font-size:12px;color:#6e7a76}.yield-grid strong{display:block;margin-top:4px;font-size:18px}.model-chip{display:inline-block;padding:5px 9px;border-radius:999px;background:#e5f1ed;color:#0a6855;font-size:12px;font-weight:900}.industry-note{margin-top:8px;padding:10px 12px;border-radius:10px;background:#f5f8f7;color:#56645f;font-size:13px}.source-chip.industry-source{background:#eef2ff;color:#4256a6}
@media(max-width:820px){.industry-strip{grid-template-columns:1fr}.yield-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.yield-grid{grid-template-columns:1fr 1fr}.yield-grid strong{font-size:16px}}
