:root{--bg-page:#e7e8e9;--bg-page-top:#f7f8f8;--surface:#fff;--surface-subtle:#f7f8f9;--surface-muted:#f2f4f5;--border:#d8dade;--border-strong:#c4c9cf;--text-main:#11161a;--text-soft:#41454f;--text-muted:#71737b;--text-dim:#8a8d94;--accent:#f03;--accent-dark:#800015;--accent-ring:#ff003324;--shadow-lg:0 14px 32px #11161a0f;--shadow-md:0 8px 20px #11161a0d;--radius-xl:24px;--radius-lg:20px;--radius-md:16px;--radius-sm:12px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at top right, #ff003309, transparent 24%), linear-gradient(180deg, var(--bg-page-top) 0%, var(--bg-page) 100%);min-width:320px;color:var(--text-main);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}button,input,select,a{font:inherit}input:disabled,button:disabled{opacity:.6;cursor:not-allowed}.app-shell{width:100%;min-height:100vh;padding:clamp(18px,2vw,40px) clamp(14px,2.2vw,32px) clamp(22px,2.5vw,40px)}.brand-strip{background:var(--surface);border:1px solid var(--border);width:min(100%,1400px);box-shadow:var(--shadow-md);border-radius:18px;justify-content:flex-start;align-items:center;margin:0 auto 16px;padding:16px 22px;display:flex}.brand-logo{object-fit:contain;width:auto;height:clamp(34px,4vw,52px);display:block}.hero-shell,.project-settings-card,.comparison-panel,.comparison-section{border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--border);width:min(100%,1400px);box-shadow:var(--shadow-lg);margin:0 auto 20px;padding:clamp(16px,2vw,28px)}.hero-shell{background:linear-gradient(135deg, #ff003305, #fff), var(--surface)}.hero-copy{min-width:0}.hero-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0 0 10px;font-size:.72rem;font-weight:700;line-height:1}.app-title{color:var(--text-main);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1.02}.app-subtitle{color:var(--text-soft);max-width:68ch;margin:14px 0 0;font-size:clamp(.95rem,1.5vw,1rem);line-height:1.55}.section-header{margin-bottom:18px}.section-header-left{text-align:left}.section-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0 0 8px;font-size:.7rem;font-weight:700;line-height:1}.section-title{color:var(--text-main);text-wrap:balance;margin:0;font-size:clamp(1.45rem,2.5vw,2rem)}.section-subtitle{color:var(--text-soft);max-width:75ch;margin:8px 0 0;font-size:clamp(.9rem,1.4vw,.98rem);line-height:1.5}.project-settings-grid{grid-template-columns:repeat(4,minmax(160px,1fr));align-items:end;gap:16px;display:grid}.field-group{min-width:0;margin-bottom:16px}.field-group-toggle{flex-direction:column;justify-content:flex-end;display:flex}.field-label{color:var(--text-main);margin-bottom:8px;font-size:.93rem;font-weight:600;display:block}.field-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;color:var(--text-main);outline:none;padding:13px 15px;font-size:.98rem;transition:border-color .18s,box-shadow .18s,background .18s}.field-input:hover{border-color:var(--border-strong)}.field-input:focus{box-shadow:0 0 0 4px var(--accent-ring);border-color:#ff003373}.field-input:disabled{background:var(--surface-muted)}.toggle-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.toggle-label{margin-bottom:0}.toggle-switch{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-shrink:0;align-items:center;gap:10px;padding:9px 12px;display:inline-flex}.toggle-switch-text{min-width:24px;color:var(--text-soft);text-align:right;font-size:.82rem;font-weight:700}.field-checkbox{appearance:none;border:1px solid var(--border-strong);cursor:pointer;background:#dfe3e6;border-radius:999px;width:40px;height:22px;margin:0;transition:background .2s,border-color .2s;position:relative}.field-checkbox:before{content:"";background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .2s;position:absolute;top:1px;left:1px;box-shadow:0 1px 2px #11161a2e}.field-checkbox:checked{background:var(--accent);border-color:var(--accent)}.field-checkbox:checked:before{transform:translate(18px)}.field-checkbox:focus-visible{box-shadow:0 0 0 4px var(--accent-ring);outline:none}.scenario-toolbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.scenario-toolbar-copy{min-width:0;margin-bottom:0}.scenario-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.scenario-counter{background:var(--surface-subtle);border:1px solid var(--border);color:var(--text-soft);white-space:nowrap;border-radius:12px;padding:10px 14px;font-weight:700}.secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--text-soft);cursor:pointer;border-radius:12px;padding:12px 16px;font-weight:700;transition:border-color .2s,color .2s,background .2s,transform .2s}.secondary-button:hover:not(:disabled){background:var(--surface-subtle);color:var(--accent-dark);border-color:#ff003347;transform:translateY(-1px)}.calculator-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:clamp(16px,2vw,24px);display:grid}.calculator-card{background:var(--surface-subtle);border-radius:var(--radius-lg);border:1px solid var(--border);min-width:0;box-shadow:none;padding:clamp(16px,1.8vw,20px);position:relative}.remove-scenario-button{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-soft);cursor:pointer;border-radius:999px;place-items:center;padding:0;font-size:1rem;font-weight:700;line-height:1;transition:border-color .2s,color .2s,background .2s,transform .2s;display:grid;position:absolute;top:12px;right:12px}.remove-scenario-button:hover{background:var(--surface-muted);color:var(--accent-dark);border-color:#ff003347;transform:translateY(-1px)}.scanner-card-header-inline{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;padding-right:42px;display:flex}.scanner-title-wrap{flex:1;min-width:0}.calculator-title{color:var(--text-main);overflow-wrap:anywhere;letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.12}.range-badge{background:var(--surface);border:1px solid var(--border);text-align:right;border-radius:12px;flex-shrink:0;min-width:88px;padding:10px 12px}.range-badge-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);font-size:.68rem;display:block}.range-badge-value{color:var(--text-main);margin-top:4px;font-weight:700;display:block}.micro-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:2px 0 14px;display:grid}.micro-stats-single{grid-template-columns:1fr}.micro-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;padding:12px 14px}.micro-stat-label{color:var(--text-dim);font-size:.8rem;line-height:1.3;display:block}.micro-stat-value{color:var(--text-main);overflow-wrap:anywhere;margin-top:6px;font-weight:700;display:block}.results-box{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.result-value-hero{color:var(--accent);font-size:1.08rem}.comparison-panel-v3{background:var(--surface)}.comparison-summary-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.comparison-header-grow{flex:1;min-width:0;margin-bottom:0}.summary-meta-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.summary-meta-chip{background:var(--surface);border:1px solid var(--border);color:var(--text-soft);border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:600;line-height:1}.export-button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border-radius:12px;flex-shrink:0;padding:12px 18px;font-weight:700;transition:background .2s,transform .2s,border-color .2s}.export-button:hover{background:#db002c;border-color:#db002c;transform:translateY(-1px)}.summary-main-card{background:var(--surface-subtle);border:1px solid var(--border);border-radius:18px;margin-bottom:16px;padding:20px;box-shadow:0 4px 10px #11161a05}.summary-main-card-v3{background:var(--surface-subtle);border-color:var(--border)}.summary-main-card-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.summary-main-label{color:var(--text-muted);margin-bottom:8px;font-size:.88rem;font-weight:600}.summary-main-value{color:var(--text-main);overflow-wrap:anywhere;font-size:clamp(1.2rem,2vw,1.45rem);font-weight:700;line-height:1.2}.summary-main-note{color:var(--text-soft);margin-top:12px;line-height:1.5}.recommendation-pill{color:var(--accent-dark);background:#ff00330d;border:1px solid #ff003324;border-radius:999px;flex-shrink:0;padding:10px 12px;font-size:.82rem;font-weight:700}.summary-insight-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px;margin-bottom:16px;display:grid}.summary-insight-card{background:var(--surface-subtle);border:1px solid var(--border);border-radius:18px;min-width:0;padding:18px;box-shadow:0 4px 10px #11161a05}.summary-insight-card-v3{background:var(--surface-subtle)}.summary-insight-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.summary-insight-label{color:var(--text-muted);font-size:.88rem;font-weight:600}.summary-insight-mini{color:var(--text-dim);text-align:right;font-size:.8rem}.summary-insight-hero{letter-spacing:-.03em;margin-bottom:10px;font-size:clamp(1.7rem,3vw,2.1rem);font-weight:800;line-height:1}.summary-insight-hero.positive{color:var(--accent)}.summary-insight-value{overflow-wrap:anywhere;margin-bottom:8px;font-size:1.04rem;font-weight:700;line-height:1.25}.summary-insight-value.neutral{color:var(--text-main)}.summary-insight-detail{color:var(--text-soft);margin-top:4px;line-height:1.45}.ranking-panel{background:var(--surface-subtle);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 4px 10px #11161a05}.ranking-panel-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.ranking-panel-title{color:var(--text-main);font-size:1rem;font-weight:700}.ranking-panel-subtitle{color:var(--text-soft);margin-top:6px;font-size:.92rem;line-height:1.45}.scenario-ranking-table-wrapper{border:1px solid var(--border);background:var(--surface);border-radius:16px;overflow-x:auto}.scenario-ranking-table{border-collapse:collapse;background:var(--surface);width:100%;min-width:1040px}.scenario-ranking-table th,.scenario-ranking-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:14px 12px}.scenario-ranking-table th{background:var(--surface-subtle);color:var(--text-main);white-space:nowrap;font-size:.8rem;font-weight:700}.scenario-ranking-table td{color:var(--text-main);font-size:.94rem}.scenario-ranking-table tbody tr:first-child{background:#ff003305}.scenario-ranking-table tbody tr:hover{background:#11161a04}.scenario-ranking-table tbody tr:last-child td{border-bottom:none}.rank-badge{background:var(--accent);color:#fff;border-radius:999px;place-items:center;width:28px;height:28px;font-weight:800;display:inline-grid}.ranking-device-cell{min-width:220px}.ranking-device-name{color:var(--text-main);overflow-wrap:anywhere;font-weight:700}.ranking-device-subvalue{color:var(--text-muted);overflow-wrap:anywhere;margin-top:4px;font-size:.82rem}.ranking-positive{color:var(--accent);font-weight:700}.ranking-muted{color:var(--text-muted);margin-top:4px;font-size:.82rem}.app-footer{width:min(100%,1400px);margin:12px auto 0;padding:8px 2px 0}.app-footer-inner{border-top:1px solid #71737b3d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding-top:16px;display:flex}.app-footer-brand{gap:4px;display:grid}.app-footer-title{color:var(--text-main);font-size:.9rem;font-weight:700}.app-footer-copy{color:var(--text-muted);font-size:.82rem}.app-footer-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 14px;display:flex}.app-footer-link{color:var(--text-soft);border-bottom:1px solid #71737b47;font-size:.84rem;font-weight:600;text-decoration:none;transition:color .2s,border-color .2s}.app-footer-link:hover{color:var(--text-main);border-color:#11161a57}.access-shell{background:radial-gradient(circle at 100% 0,#ff00330a,#0000 24%),linear-gradient(#f7f8f8 0%,#e7e8e9 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.access-card{background:var(--surface);border:1px solid var(--border);width:min(100%,460px);box-shadow:var(--shadow-lg);border-radius:24px;padding:28px}.access-badge{color:var(--accent-dark);letter-spacing:.06em;text-transform:uppercase;background:#ff00330d;border:1px solid #ff00331f;border-radius:999px;align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.access-title{color:var(--text-main);margin:0;font-size:clamp(1.8rem,4vw,2.3rem);line-height:1.1}.access-subtitle{color:var(--text-soft);margin:12px 0 0;line-height:1.5}.access-form{gap:12px;margin-top:22px;display:grid}.access-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-main);border-radius:12px;outline:none;padding:14px 15px}.access-input:focus{box-shadow:0 0 0 4px var(--accent-ring);border-color:#ff003373}.access-button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:12px;width:100%;padding:13px 16px;font-weight:700;transition:background .2s,transform .2s}.access-button:hover{background:#db002c;transform:translateY(-1px)}.access-error{color:#c10028;margin:12px 0 0;font-size:.92rem}@media (width<=1180px){.project-settings-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.scenario-toolbar{flex-direction:column;align-items:flex-start}.scenario-actions{justify-content:flex-start}}@media (width<=980px){.summary-insight-grid{grid-template-columns:1fr}.comparison-summary-top,.summary-main-card-header,.summary-insight-header{flex-direction:column;align-items:stretch}.export-button{width:100%}.summary-insight-mini{text-align:left}}@media (width<=760px){.summary-meta-chip{width:100%}}@media (width<=640px){.project-settings-grid,.micro-stats{grid-template-columns:1fr}.hero-shell,.calculator-card,.summary-insight-card,.summary-main-card,.ranking-panel,.brand-strip{border-radius:var(--radius-md)}.scenario-counter,.secondary-button{width:100%}.scanner-card-header-inline{align-items:flex-start;padding-right:38px}.range-badge{min-width:82px}.brand-logo{height:36px}.app-footer-inner{align-items:flex-start}.app-footer-links{justify-content:flex-start;width:100%}}
