:root{--sf-primary:#0b1f33;--sf-accent:#2f6f8f;--sf-neutral-900:#0b1f33;--sf-neutral-600:#4a5b6c;--sf-neutral-300:#a8b2bc;--sf-neutral-50:#f2f5f8;--sf-white:#fff;--sf-strong:#1f7a4c;--sf-strong-bg:#e8f5ee;--sf-observable:#b7791f;--sf-observable-bg:#fbf3e0;--sf-weak:#6b7785;--sf-weak-bg:#eef1f4;--sf-radius:10px;--sf-radius-sm:6px;--sf-shadow:0 1px 2px #0b1f330f, 0 8px 24px #0b1f330f;--sf-shadow-lg:0 8px 32px #0b1f3324;--sf-font:"PingFang SC", "Noto Sans SC", "Microsoft YaHei", Inter, "Helvetica Neue", system-ui, -apple-system, sans-serif;--sf-max:1080px;--sf-drawer:440px}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--sf-font);color:var(--sf-primary);background:var(--sf-neutral-50);-webkit-font-smoothing:antialiased;line-height:1.5}button,input{font-family:inherit}a{color:var(--sf-accent)}button{cursor:pointer}:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}.sf-app{flex-direction:column;min-height:100vh;display:flex}.sf-topbar{z-index:40;background:var(--sf-white);border-bottom:1px solid var(--sf-neutral-300);align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;top:0}.sf-topbar__logo{flex-shrink:0;width:auto;height:28px}.sf-topbar__context{min-width:0;color:var(--sf-neutral-600);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.sf-topbar__context button{color:var(--sf-accent);font-size:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.sf-topbar__brand{color:var(--sf-neutral-300);flex-shrink:0;font-size:12px}.sf-main{width:100%;max-width:var(--sf-max);flex:1;margin:0 auto;padding:32px 20px 64px}.sf-footer-note{text-align:center;color:var(--sf-neutral-300);padding:16px 20px 28px;font-size:12px}.sf-btn{border-radius:var(--sf-radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}.sf-btn:disabled{opacity:.5;cursor:not-allowed}.sf-btn--primary{background:var(--sf-primary);color:var(--sf-white)}.sf-btn--primary:hover:not(:disabled){background:#14304a}.sf-btn--secondary{background:var(--sf-white);border-color:var(--sf-neutral-300);color:var(--sf-primary)}.sf-btn--secondary:hover:not(:disabled){border-color:var(--sf-accent);color:var(--sf-accent)}.sf-btn--ghost{color:var(--sf-accent);background:0 0;padding:8px 4px;font-weight:500}.sf-btn--ghost:hover{text-decoration:underline}.sf-btn--block{width:100%}.sf-link{color:var(--sf-accent);text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.sf-intent{max-width:720px;margin:0 auto}.sf-intent__eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--sf-accent);margin-bottom:8px;font-size:12px;font-weight:600}.sf-intent__title{letter-spacing:-.02em;margin:0 0 8px;font-size:28px;font-weight:600;line-height:1.25}.sf-intent__sub{color:var(--sf-neutral-600);margin:0 0 28px;font-size:15px}.sf-intent__card{background:var(--sf-white);border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius);box-shadow:var(--sf-shadow);padding:24px}.sf-intent__label{color:var(--sf-primary);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.sf-intent__input{resize:vertical;border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius-sm);width:100%;min-height:96px;color:var(--sf-primary);background:var(--sf-neutral-50);padding:12px 14px;font-size:15px;line-height:1.5}.sf-intent__input:focus{border-color:var(--sf-accent);background:var(--sf-white);outline:none;box-shadow:0 0 0 3px #2f6f8f26}.sf-intent__tags{flex-wrap:wrap;gap:8px;margin:16px 0 20px;display:flex}.sf-tag{border:1px solid var(--sf-neutral-300);background:var(--sf-white);color:var(--sf-neutral-600);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.sf-tag--on{border-color:var(--sf-accent);color:var(--sf-accent);background:#2f6f8f14}.sf-tag:disabled{opacity:.45}.sf-intent__hint{color:var(--sf-neutral-300);margin:12px 0 0;font-size:12px}.sf-intent__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sf-loading{text-align:center;max-width:720px;margin:40px auto 0}.sf-loading__title{margin:0 0 8px;font-size:16px;font-weight:600}.sf-loading__steps{color:var(--sf-neutral-600);flex-wrap:wrap;justify-content:center;gap:20px;margin:16px 0 28px;padding:0;font-size:13px;list-style:none;display:flex}.sf-loading__steps li[data-active=true]{color:var(--sf-accent);font-weight:600}.sf-skeleton-grid{gap:14px;display:grid}.sf-skeleton-card{border-radius:var(--sf-radius);background:linear-gradient(90deg, var(--sf-white) 0%, #e7ecf1 40%, var(--sf-white) 80%);border:1px solid var(--sf-neutral-300);background-size:200% 100%;height:112px;animation:1.2s ease-in-out infinite sf-shimmer}@keyframes sf-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.sf-ops__header{margin-bottom:20px}.sf-ops__title{letter-spacing:-.02em;margin:0 0 6px;font-size:22px;font-weight:600}.sf-ops__meta{color:var(--sf-neutral-600);margin:0;font-size:13px}.sf-card-list{gap:14px;display:grid}.sf-card{text-align:left;background:var(--sf-white);border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius);width:100%;box-shadow:var(--sf-shadow);padding:18px 20px;transition:border-color .15s,box-shadow .15s}.sf-card:hover{border-color:var(--sf-accent);box-shadow:var(--sf-shadow-lg)}.sf-card__name{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 4px;font-size:17px;font-weight:600;display:flex}.sf-card__market{color:var(--sf-neutral-600);font-size:12px;font-weight:500}.sf-card__pos{color:var(--sf-neutral-600);margin:0 0 6px;font-size:14px}.sf-card__reason{color:var(--sf-primary);margin:0 0 12px;font-size:14px}.sf-card__row{color:var(--sf-neutral-600);flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:12px;display:flex}.sf-badge{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.sf-badge--strong{background:var(--sf-strong-bg);color:var(--sf-strong)}.sf-badge--observable{background:var(--sf-observable-bg);color:var(--sf-observable)}.sf-badge--weak{background:var(--sf-weak-bg);color:var(--sf-weak)}.sf-ops__weak{margin-top:20px;padding-top:8px}.sf-empty{background:var(--sf-white);border:1px dashed var(--sf-neutral-300);border-radius:var(--sf-radius);text-align:center;padding:40px 24px}.sf-empty h2{margin:0 0 8px;font-size:18px}.sf-empty p{color:var(--sf-neutral-600);margin:0 0 20px;font-size:14px}.sf-overlay{z-index:50;background:#0b1f3359;animation:.18s sf-fade;position:fixed;inset:0}@keyframes sf-fade{0%{opacity:0}to{opacity:1}}.sf-drawer{z-index:60;background:var(--sf-white);box-shadow:var(--sf-shadow-lg);flex-direction:column;animation:.22s sf-slide;display:flex;position:fixed}@keyframes sf-slide{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}@media (width>=900px){.sf-drawer{width:min(var(--sf-drawer), 100vw);border-left:1px solid var(--sf-neutral-300);top:0;bottom:0;right:0}}@media (width<=899px){.sf-drawer{border-radius:16px 16px 0 0;max-height:88vh;animation-name:sf-slide-up;bottom:0;left:0;right:0}@keyframes sf-slide-up{0%{opacity:.6;transform:translateY(40px)}to{opacity:1;transform:none}}}.sf-drawer__head{border-bottom:1px solid var(--sf-neutral-300);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.sf-drawer__head h2{margin:0;font-size:16px;font-weight:600}.sf-drawer__head p{color:var(--sf-neutral-600);margin:4px 0 0;font-size:12px}.sf-drawer__close{background:var(--sf-neutral-50);color:var(--sf-neutral-600);border:none;border-radius:8px;flex-shrink:0;width:32px;height:32px;font-size:18px;line-height:1}.sf-drawer__body{flex:1;padding:16px 20px 120px;overflow:auto}.sf-drawer__section{margin-bottom:22px}.sf-drawer__section h3{color:var(--sf-neutral-600);letter-spacing:.02em;margin:0 0 10px;font-size:13px;font-weight:600}.sf-narrative{color:var(--sf-primary);white-space:pre-line;margin:0;font-size:14px}.sf-evidence{gap:10px;margin:0;padding:0;list-style:none;display:grid}.sf-evidence li{border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius-sm);background:var(--sf-neutral-50);padding:12px}.sf-evidence__type{color:var(--sf-accent);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.sf-evidence__excerpt{margin:4px 0;font-size:13px}.sf-evidence__meta{color:var(--sf-neutral-600);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12px;display:flex}.sf-brief{border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius);background:var(--sf-neutral-50);overflow:hidden}.sf-brief__accent{background:var(--sf-accent);height:4px}.sf-brief__header{background:var(--sf-white);border-bottom:1px solid var(--sf-neutral-300);padding:14px 16px 10px}.sf-brief__header-label{letter-spacing:.06em;text-transform:uppercase;color:var(--sf-accent);font-size:11px;font-weight:600}.sf-brief__header h3{margin:4px 0;font-size:16px;font-weight:600}.sf-brief__header-sub{color:var(--sf-neutral-600);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:12px;display:flex}.sf-brief__verdict{background:var(--sf-white);border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius-sm);margin:12px;padding:14px}.sf-brief__verdict-tag{color:var(--sf-accent);margin-bottom:6px;font-size:11px;font-weight:600;display:inline-block}.sf-brief__verdict-text{margin:0 0 10px;font-size:14px;font-weight:600;line-height:1.4}.sf-brief__diff{color:var(--sf-neutral-600);background:var(--sf-neutral-50);border-left:3px solid var(--sf-accent);margin:10px 0 12px;padding:8px 10px;font-size:12px}.sf-brief__metric{color:var(--sf-primary);margin-bottom:12px;font-size:13px}.sf-brief__metric strong{color:var(--sf-accent);margin-right:4px;font-size:20px}.sf-brief__cta-row{flex-direction:column;gap:8px;display:flex}.sf-signal-bars{gap:8px;padding:0 12px 12px;display:grid}.sf-signal-bar{background:var(--sf-white);border-radius:var(--sf-radius-sm);border:1px solid var(--sf-neutral-300);justify-content:space-between;gap:8px;padding:8px 10px;font-size:12px;display:flex}.sf-signal-bar__status--verified{color:var(--sf-strong);font-weight:600}.sf-signal-bar__status--none{color:var(--sf-weak)}.sf-signal-bar__status--pending{color:var(--sf-observable);font-weight:600}.sf-strongest{background:var(--sf-white);border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius-sm);margin:0 12px 12px;padding:12px}.sf-strongest h4{margin:0 0 6px;font-size:13px}.sf-strongest p{color:var(--sf-neutral-600);margin:0 0 6px;font-size:13px}.sf-strongest__foot{color:var(--sf-neutral-300);margin:0;font-size:11px}.sf-gaps{color:var(--sf-neutral-600);border-radius:var(--sf-radius-sm);background:#a7b2bc26;margin:0 12px 14px;padding:10px 12px;font-size:12px}.sf-next{color:var(--sf-primary);margin:0;padding:0 12px 14px 28px;font-size:13px}.sf-next li{margin-bottom:6px}.sf-tabs{border-bottom:1px solid var(--sf-neutral-300);gap:4px;margin-bottom:12px;display:flex}.sf-tabs button{color:var(--sf-neutral-600);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-size:13px}.sf-tabs button[data-active=true]{color:var(--sf-primary);border-bottom-color:var(--sf-accent);font-weight:600}.sf-drawer__actions{background:var(--sf-white);border-top:1px solid var(--sf-neutral-300);gap:8px;margin-top:auto;padding:12px 20px 16px;display:grid;position:sticky;bottom:0;box-shadow:0 -6px 16px #0b1f330a}.sf-drawer__actions-row{gap:8px;display:flex}.sf-drawer__actions-row .sf-btn{flex:1}.sf-drawer__actions-links{justify-content:center;gap:16px;display:flex}.sf-modal-wrap{z-index:80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sf-modal{background:var(--sf-white);border-radius:var(--sf-radius);border:1px solid var(--sf-neutral-300);width:min(420px,100%);box-shadow:var(--sf-shadow-lg);z-index:1;padding:24px;position:relative}.sf-modal h3{margin:0 0 8px;font-size:18px}.sf-modal p{color:var(--sf-neutral-600);margin:0 0 12px;font-size:14px}.sf-modal ul{color:var(--sf-primary);margin:0 0 16px;padding-left:18px;font-size:13px}.sf-modal__actions{flex-direction:column;gap:8px;display:flex}.sf-toast{z-index:90;background:var(--sf-primary);color:var(--sf-white);border-radius:var(--sf-radius-sm);box-shadow:var(--sf-shadow-lg);max-width:90vw;padding:12px 18px;font-size:13px;animation:.2s sf-fade;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.sf-detail-strip{color:var(--sf-neutral-600);background:var(--sf-neutral-50);border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius-sm);flex-wrap:wrap;align-items:center;gap:4px 6px;margin:-8px 0 14px;padding:8px 10px;font-size:12px;display:flex}.sf-detail-strip__dot{color:var(--sf-neutral-300)}.sf-detail{border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius);background:var(--sf-white);margin-bottom:4px;padding:12px 14px 10px}.sf-detail__title{color:var(--sf-primary);justify-content:space-between;align-items:baseline;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.sf-detail__id{color:var(--sf-neutral-300);font-size:11px;font-weight:500}.sf-detail__grid{gap:10px 12px;margin:0;display:grid}.sf-detail__grid>div{min-width:0}.sf-detail__grid dt{color:var(--sf-neutral-600);letter-spacing:.02em;margin:0 0 2px;font-size:11px;font-weight:600}.sf-detail__grid dd{color:var(--sf-primary);margin:0;font-size:13px;line-height:1.45}.sf-detail__full{grid-column:1/-1}.sf-detail__badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sf-detail__muted{color:var(--sf-neutral-600)}.sf-detail__meta{color:var(--sf-neutral-600);font-size:12px}.sf-detail__foot{color:var(--sf-neutral-300);margin:10px 0 0;font-size:11px}@media (width>=420px){.sf-detail__grid{grid-template-columns:1fr 1fr}}.sf-topbar__nav{flex-shrink:0;align-items:center;gap:8px;display:flex}.sf-topbar__nav-link{color:var(--sf-accent);white-space:nowrap;background:0 0;border:none;padding:6px 8px;font-size:13px;font-weight:500}.sf-topbar__nav-link:hover{text-underline-offset:2px;text-decoration:underline}.sf-topbar__cta{white-space:nowrap;padding:7px 12px;font-size:13px}@media (width<=720px){.sf-topbar__brand,.sf-topbar__context{display:none}}.sf-watermark{pointer-events:none;z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.sf-watermark span{letter-spacing:.08em;color:#0b1f330f;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:clamp(48px,12vw,96px);font-weight:800;transform:rotate(-28deg)}.sf-pricing{max-width:960px;margin:0 auto}.sf-pricing__grid{gap:14px;margin-bottom:28px;display:grid}@media (width>=800px){.sf-pricing__grid{grid-template-columns:repeat(3,1fr)}}.sf-pricing__card{background:var(--sf-white);border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius);box-shadow:var(--sf-shadow);flex-direction:column;gap:8px;padding:20px 18px 18px;display:flex;position:relative}.sf-pricing__card--featured{border-color:var(--sf-accent);box-shadow:var(--sf-shadow-lg)}.sf-pricing__badge{letter-spacing:.04em;text-transform:uppercase;color:var(--sf-accent);background:#2f6f8f1a;border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:11px;font-weight:700}.sf-pricing__card h2{margin:0;font-size:18px}.sf-pricing__price{letter-spacing:-.02em;color:var(--sf-primary);margin:0;font-size:28px;font-weight:700}.sf-pricing__meta,.sf-pricing__note{color:var(--sf-neutral-600);flex:1;margin:0;font-size:13px}.sf-pricing__process{background:var(--sf-white);border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius);margin-bottom:16px;padding:20px 22px}.sf-pricing__process h2{margin:0 0 10px;font-size:16px}.sf-pricing__process ol{color:var(--sf-primary);margin:0;padding-left:20px;font-size:14px;line-height:1.55}.sf-pricing__process li{margin-bottom:6px}.sf-pricing__redline{color:var(--sf-neutral-600);border-radius:var(--sf-radius-sm);border-left:3px solid var(--sf-accent);background:#a7b2bc26;margin:0 0 20px;padding:10px 12px;font-size:13px}.sf-pricing__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sf-modal--wide{width:min(480px,100%)}.sf-quote-form{gap:12px;display:grid}.sf-quote-form__field{color:var(--sf-primary);gap:4px;font-size:13px;font-weight:600;display:grid}.sf-quote-form__field input,.sf-quote-form__field select{border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius-sm);color:var(--sf-primary);background:var(--sf-neutral-50);padding:10px 12px;font-size:14px;font-weight:400}.sf-quote-form__field input:focus,.sf-quote-form__field select:focus{border-color:var(--sf-accent);background:var(--sf-white);outline:none;box-shadow:0 0 0 3px #2f6f8f26}.sf-sample{max-width:720px;margin:0 auto;position:relative}.sf-sample__watermark{text-align:center;letter-spacing:.06em;color:#0b1f3312;pointer-events:none;z-index:1;-webkit-user-select:none;user-select:none;font-size:42px;font-weight:800;position:absolute;top:80px;left:0;right:0;transform:rotate(-18deg)}.sf-sample__card{z-index:2;background:var(--sf-white);border:1px solid var(--sf-neutral-300);border-radius:var(--sf-radius);box-shadow:var(--sf-shadow);margin-bottom:20px;padding:22px;position:relative}.sf-sample__meta{gap:10px;margin:0 0 18px;display:grid}@media (width>=520px){.sf-sample__meta{grid-template-columns:1fr 1fr}}.sf-sample__meta dt{color:var(--sf-neutral-600);margin:0;font-size:11px;font-weight:600}.sf-sample__meta dd{margin:2px 0 0;font-size:13px}.sf-sample__card h2{margin:16px 0 8px;font-size:15px}.sf-sample__card ul,.sf-sample__ops{color:var(--sf-primary);margin:0;padding-left:18px;font-size:14px;line-height:1.5}.sf-sample__ops li{margin-bottom:8px}.sf-sample__disclaimer{color:var(--sf-neutral-600);margin:16px 0 0;font-size:12px}
