:root{color:#252321;font-synthesis:none;--red:#c64038;--red-dark:#9f2f29;--red-soft:#fff0ed;--green:#2f8a57;--green-soft:#edf8f1;--amber:#a96f16;--ink:#252321;--muted:#7d7770;--line:#e7e1da;--paper:#fff;--warm:#faf8f5;background:#f4f2ef;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#f4f2ef;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--paper);width:min(100%,520px);min-height:100vh;margin:0 auto;box-shadow:0 0 48px #40312714}.access-shell{background:linear-gradient(#fff 0%,#faf6f2 100%);place-items:center;width:min(100%,520px);min-height:100vh;margin:0 auto;padding:24px;display:grid}.access-checking{color:var(--muted);text-align:center;align-content:center;gap:14px}.access-checking p{margin:0;font-size:13px}.access-checking .brand-mark{margin-bottom:14px}.access-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:100%;padding:30px 24px;box-shadow:0 18px 45px #462e231a}.access-icon{color:#fff;background:var(--red);border-radius:16px;place-items:center;width:50px;height:50px;margin-bottom:22px;display:grid;box-shadow:0 9px 24px #c6403838}.access-card>small{color:var(--red);letter-spacing:.08em;font-size:9px;font-weight:700}.access-card h1{margin:8px 0 9px;font-size:27px}.access-card>p{color:var(--muted);margin:0 0 24px;font-size:12px;line-height:1.7}.access-card form{gap:11px;display:grid}.access-card input{border:1px solid var(--line);width:100%;min-height:50px;color:var(--ink);background:var(--warm);border-radius:12px;outline:none;padding:0 14px}.access-card input:focus{border-color:var(--red);box-shadow:0 0 0 3px #c6403817}.access-card .primary-button{margin:0}.access-card .inline-error{margin-top:12px;display:block}.topbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;height:66px;padding:0 16px;display:grid;position:sticky;top:0}.brand-mark,.icon-button{color:#fff;background:var(--red);border:0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.icon-button{color:var(--ink);background:var(--warm);border:1px solid var(--line);cursor:pointer}.topbar-title{flex-direction:column;gap:1px;min-width:0;display:flex}.topbar-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.topbar-title span{color:var(--muted);letter-spacing:.05em;font-size:9px}.safe-mark{color:var(--green);white-space:nowrap;align-items:center;gap:4px;font-size:9px;font-weight:600;display:flex}.page,.workbench-page{padding:24px 18px 38px}.tiny-label{color:var(--red);letter-spacing:.08em;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.hero-copy{padding:18px 2px 24px}.hero-copy h1,.confirm-copy h1{color:var(--ink);letter-spacing:-.055em;margin:9px 0 10px;font-size:clamp(34px,10vw,45px);line-height:1.18}.hero-copy h1 em{color:var(--red);font-style:normal}.hero-copy p,.confirm-copy p{max-width:360px;color:var(--muted);margin:0;font-size:13px;line-height:1.75}.upload-zone{width:100%;min-height:190px;color:var(--ink);cursor:pointer;background:linear-gradient(#fff,#fff9f8);border:1.5px dashed #d9a29d;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.upload-zone:hover{border-color:var(--red)}.upload-icon{color:#fff;background:var(--red);border-radius:18px;place-items:center;width:58px;height:58px;margin-bottom:5px;display:grid;box-shadow:0 10px 22px #c6403833}.upload-zone strong{font-size:17px}.upload-zone>span:not(.upload-icon){color:var(--muted);font-size:12px}.upload-zone small{color:#aaa19a;font-size:9px}.inline-error{color:var(--red);background:var(--red-soft);border-radius:9px;margin:10px 0 0;padding:10px;font-size:11px}.simple-steps{color:#a29b94;justify-content:space-between;align-items:center;gap:5px;margin:18px 2px 28px;font-size:9px;display:flex}.simple-steps span{white-space:nowrap;align-items:center;gap:4px;display:flex}.simple-steps i{width:19px;height:19px;color:var(--red);background:var(--red-soft);border-radius:50%;place-items:center;font-style:normal;font-weight:700;display:grid}.section-title{justify-content:space-between;align-items:flex-end;margin:24px 2px 10px;display:flex}.section-title small{color:var(--red);font-size:9px;font-weight:700}.section-title h2{margin:2px 0 0;font-size:18px}.section-title>span{color:var(--muted);font-size:9px}.section-title.compact{margin-top:0}.privacy-line{color:var(--muted);justify-content:center;align-items:center;gap:5px;margin:22px 0 0;font-size:9px;display:flex}.privacy-line svg{color:var(--green)}.confirm-copy{margin-bottom:16px}.confirm-copy h1{font-size:29px}.confirm-image{border:1px solid var(--line);background:#eee;border-radius:18px;position:relative;overflow:hidden}.confirm-image>img{width:100%;display:block}.region-mask{z-index:1;background:#2523219e;position:absolute;left:0;right:0}.region-mask.top{top:0}.region-mask.bottom{bottom:0}.region-box{z-index:2;border:2px solid var(--red);position:absolute;box-shadow:inset 0 0 0 1px #fffc}.region-box>span{color:#fff;background:var(--red);border-radius:7px;align-items:center;gap:5px;padding:6px 8px;font-size:9px;font-weight:700;display:flex;position:absolute;top:8px;left:8px}.preview-button{z-index:4;color:var(--ink);cursor:pointer;background:#ffffffeb;border:0;border-radius:8px;align-items:center;gap:4px;padding:7px 9px;font-size:9px;display:flex;position:absolute;bottom:10px;right:10px;box-shadow:0 3px 12px #0000001f}.detected-summary{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.detected-summary>div{border:1px solid var(--line);background:var(--warm);border-radius:11px;align-items:center;gap:8px;padding:11px;display:flex}.detected-summary svg{color:var(--green)}.detected-summary span{flex-direction:column;gap:2px;display:flex}.detected-summary small{color:var(--muted);font-size:7px}.detected-summary strong{font-size:10px}.period-box{border:1px solid var(--line);border-radius:13px;margin-top:12px;padding:13px}.period-box>span{color:var(--muted);margin-bottom:9px;font-size:10px;display:block}.period-box>div{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.period-box button{border:1px solid var(--line);min-height:35px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;font-size:10px}.period-box button.active{color:#fff;border-color:var(--red);background:var(--red)}.primary-button,.secondary-button{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:50px;margin-top:15px;font-weight:700;display:flex}.primary-button{color:#fff;background:var(--red);border:0;box-shadow:0 8px 20px #c640382b}.primary-button svg:last-child{margin-left:auto;margin-right:13px}.secondary-button{color:var(--ink);border:1px solid var(--line);background:#fff}.legal-line{color:#9e9790;text-align:center;margin:13px auto 0;font-size:9px;line-height:1.6}.workbench-page{background:var(--warm);padding:14px 12px 36px}.initial-scan-page{min-height:calc(100vh - 66px)}.initial-scan-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-height:610px;position:relative;overflow:hidden;box-shadow:0 8px 22px #4b34280f}.initial-scan-card img{object-fit:cover;object-position:center 38%;opacity:.84;width:100%;height:610px;display:block}.scan-shade{background:linear-gradient(#ffffff14,#ffffff52);position:absolute;inset:0}.scan-beam{background:var(--red);height:2px;animation:1.5s ease-in-out infinite alternate scan;position:absolute;top:13%;left:4%;right:4%;box-shadow:0 0 18px #c64038b3}.scan-caption{color:var(--red);background:#fffffff0;border:1px solid #ead8d5;border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex;position:absolute;bottom:14px;left:14px;right:14px;box-shadow:0 8px 26px #3e282021}.scan-caption span{flex-direction:column;gap:2px;display:flex}.scan-caption strong{color:var(--ink);font-size:12px}.scan-caption small{color:var(--muted);font-size:9px}@keyframes scan{0%{transform:translateY(0)}to{transform:translateY(430px)}}.live-status{background:#fff;border:1px solid #ead8d5;border-radius:14px;margin-bottom:10px;padding:13px;box-shadow:0 5px 18px #56362c0d}.status-main{grid-template-columns:10px 1fr auto;align-items:start;gap:9px;display:grid}.pulse-dot{background:var(--red);border-radius:50%;width:8px;height:8px;margin-top:5px;animation:1.6s infinite pulse;box-shadow:0 0 #c6403859}.status-main div{flex-direction:column;gap:2px;display:flex}.status-main small{color:var(--red);font-size:8px}.status-main strong{font-size:13px}.status-main p{color:var(--muted);margin:0;font-size:9px}.status-main button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 7px;font-size:9px}.progress-track{background:#eee8e3;border-radius:5px;height:3px;margin-top:10px;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--red);height:100%;transition:width .5s;display:block}@keyframes pulse{70%{box-shadow:0 0 0 7px #c6403800}to{box-shadow:0 0 #c6403800}}.stock-strip{justify-content:space-between;align-items:center;gap:10px;margin:3px 2px 9px;display:flex}.stock-strip>div{align-items:center;gap:7px;display:flex}.stock-strip>div span{color:var(--red);background:var(--red-soft);border-radius:5px;padding:4px 6px;font-size:8px;font-weight:700}.stock-strip strong{font-size:13px}.stock-strip>span{color:var(--muted);font-size:8px}.analysis-chart-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 22px #4b34280f}.chart-head{justify-content:space-between;align-items:center;padding:12px 13px;display:flex}.chart-head>div{flex-direction:column;gap:2px;display:flex}.chart-head small{color:var(--red);font-size:8px}.chart-head strong{font-size:13px}.chart-head button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:4px;padding:6px 8px;font-size:8px;display:flex}.annotated-canvas{background:#fff;width:100%;display:block}.finding-ticker{color:#635e59;background:#fff8f6;border-top:1px solid #f0dfdc;grid-template-columns:18px 1fr auto;align-items:center;gap:7px;padding:9px 12px;font-size:9px;display:grid}.finding-ticker svg,.finding-ticker strong{color:var(--red)}.finding-feed{background:#fffdfc;border-top:1px solid #f0dfdc;gap:1px;max-height:122px;padding:5px 10px 7px;display:grid;overflow:auto}.finding-feed>div{color:#77716c;border-radius:8px;grid-template-columns:20px 1fr 15px;align-items:center;gap:7px;padding:6px 7px;transition:background .25s,color .25s;display:grid}.finding-feed>div.latest{color:#342e2a;background:#fff0ed}.finding-feed i{color:#fff;background:var(--red);border-radius:50%;place-items:center;width:19px;height:19px;font-size:8px;font-style:normal;display:grid}.finding-feed span{flex-direction:column;gap:1px;min-width:0;display:flex}.finding-feed strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.finding-feed small{color:var(--muted);font-size:7px}.finding-feed svg{color:var(--green)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.layer-bar{border-top:1px solid var(--line);background:var(--warm);grid-template-columns:repeat(4,1fr);gap:1px;padding:5px;display:grid}.layer-bar button{color:#625e59;cursor:pointer;background:0 0;border:0;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:38px;font-size:8px;display:flex}.layer-bar button.off{opacity:.35;text-decoration:line-through}.layer-bar button:first-child svg{color:var(--red)}.layer-bar button:nth-child(2) svg{color:var(--green)}.layer-bar button:nth-child(3) svg{color:var(--amber)}.layer-bar button:nth-child(4) svg{color:var(--green)}.analysis-log{border:1px solid var(--line);background:#fff;border-radius:14px;gap:2px;margin-top:12px;padding:7px 11px;display:grid}.analysis-log>div{opacity:.32;grid-template-columns:22px 1fr;align-items:center;gap:6px;padding:7px 0;display:grid}.analysis-log>div.done,.analysis-log>div.active{opacity:1}.analysis-log>div>span{color:#aaa;border:1px solid var(--line);border-radius:50%;place-items:center;width:19px;height:19px;display:grid}.analysis-log>div.done>span{color:#fff;border-color:var(--green);background:var(--green)}.analysis-log>div.active>span{color:var(--red);border-color:var(--red)}.analysis-log p{flex-direction:column;gap:1px;margin:0;display:flex}.analysis-log strong{font-size:9px}.analysis-log small{color:var(--muted);font-size:7px}.decision-card,.reason-card,.detail-card{border:1px solid var(--line);background:#fff;border-radius:15px;margin-top:12px;box-shadow:0 6px 18px #4b34280a}.decision-card{border-top:3px solid var(--red);padding:16px}.decision-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.decision-head small{color:var(--muted);font-size:8px}.decision-head h1{letter-spacing:-.04em;margin:3px 0 0;font-size:24px}.confidence-badge{border-radius:6px;padding:5px 7px;font-size:8px;font-weight:700}.confidence-badge.bearish{color:var(--green);background:var(--green-soft)}.confidence-badge.bullish{color:var(--red);background:var(--red-soft)}.confidence-badge.neutral{color:var(--amber);background:#fff8e8}.decision-summary{color:#625d58;margin:13px 0 0;font-size:11px;line-height:1.72}.trigger-box{color:var(--red-dark);background:var(--red-soft);border-radius:10px;grid-template-columns:24px 1fr;align-items:start;gap:8px;margin-top:12px;padding:11px;display:grid}.trigger-box svg{margin-top:2px}.trigger-box span{flex-direction:column;gap:3px;display:flex}.trigger-box small{font-size:7px}.trigger-box strong{font-size:10px;line-height:1.55}.price-grid{grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;display:grid}.price-grid article{background:var(--warm);border-radius:9px;padding:10px}.price-grid small{color:var(--muted);font-size:7px;display:block}.price-grid strong{margin-top:4px;font:700 13px ui-monospace,SFMono-Regular,monospace;display:block}.price-grid .entry{background:var(--red-soft)}.price-grid .entry strong,.price-grid .target strong{color:var(--red)}.price-grid .stop{background:var(--green-soft)}.price-grid .stop strong{color:var(--green)}.risk-line{border-top:1px dashed var(--line);color:var(--muted);justify-content:space-between;gap:8px;margin-top:9px;padding-top:9px;font-size:8px;display:flex}.reason-card{padding:14px}.reason-card ol{gap:9px;margin:0;padding:0;list-style:none;display:grid}.reason-card li{grid-template-columns:25px 1fr;align-items:start;gap:9px;display:grid}.reason-card li>span{width:24px;height:24px;color:var(--red);background:var(--red-soft);border-radius:7px;place-items:center;font-size:9px;font-weight:700;display:grid}.reason-card li p{flex-direction:column;gap:2px;margin:0;display:flex}.reason-card li strong{font-size:10px}.reason-card li small{color:var(--muted);font-size:8px;line-height:1.5}.detail-card{padding:0 13px}.detail-card summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;list-style:none;display:flex}.detail-card summary span{align-items:center;gap:8px;display:flex}.detail-card summary svg{color:var(--red)}.detail-card summary strong{font-size:11px}.detail-card[open] summary>svg{transform:rotate(180deg)}.indicator-list,.level-list{gap:7px;padding:0 0 12px;display:grid}.indicator-list article,.level-list article{background:var(--warm);border-radius:9px;padding:10px}.indicator-list article>div{justify-content:space-between;gap:8px;display:flex}.indicator-list strong,.level-list strong{font-size:10px}.indicator-list span,.level-list span,.level-list small{color:var(--muted);font-size:8px}.indicator-list p{color:var(--muted);margin:5px 0 0;font-size:8px;line-height:1.5}.level-list article{grid-template-columns:1fr auto;gap:3px 8px;display:grid}.level-list small{grid-column:1/-1}.indicator-list article.unavailable{opacity:.62}.indicator-list .indicator-metrics{flex-wrap:wrap;justify-content:flex-start;margin-top:7px}.indicator-metrics i{color:var(--ink);background:#fff;border-radius:5px;padding:3px 5px;font-size:8px;font-style:normal}.result-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.result-actions .primary-button,.result-actions .secondary-button{font-size:10px}.rejected-page{text-align:center;padding-top:55px}.reject-icon{width:58px;height:58px;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;margin:0 auto 15px;display:grid}.rejected-page h1{margin:0 0 9px;font-size:24px}.rejected-page>p{color:var(--muted);font-size:12px;line-height:1.7}.reject-preview{border:1px solid var(--line);border-radius:15px;height:260px;margin:20px 0;overflow:hidden}.reject-preview img{filter:grayscale(.4);width:100%;transform:translateY(-20%)}.image-lightbox{z-index:100;background:#1f1b19eb;justify-content:center;align-items:flex-start;padding:20px 12px;display:flex;position:fixed;inset:0;overflow:auto}.image-lightbox>button{z-index:2;color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:fixed;top:16px;right:16px}.image-lightbox img{border-radius:14px;width:min(100%,520px)}@media (width>=700px){.app-shell{border-radius:24px;min-height:calc(100vh - 36px);margin-block:18px;overflow:clip}.topbar{position:relative}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
