:root{--bg:#f2eee8;--card:#fffcf8c7;--text:#2e2825;--muted:#746962;--accent:#2f7c7a;--gold:#b88b42;--copper:#bd7964;--brown:#4a3b34;--paper:var(--card);--paper-strong:#fffcf8eb;--ink:var(--text);--line:#b88b4238;--warm:var(--copper);--rose:#c88882;--olive:#858d68;--teal:var(--accent);--deep:var(--brown);--radius-card:28px;--radius-inner:24px;--shadow:0 22px 60px #58453324;--soft-shadow:0 14px 42px #5845331a}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}body{background:linear-gradient(180deg, #fffdf9e0, #f4f0ebf5), var(--bg);min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}.mobile-shell{max-width:520px;min-height:100vh;margin:0 auto;padding:18px 14px 184px}.brand-row,.section-title,.progress-summary,.sticky-bar,.report-actions{justify-content:space-between;align-items:center;display:flex}.brand-mark{color:var(--deep);letter-spacing:0;font-family:Georgia,Times New Roman,serif;font-size:1rem}.pill{color:var(--teal);background:#3e73731a;border:1px solid #3e73732e;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:700}.eyebrow,.step-label{color:var(--warm);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800;display:inline-block}.hero-copy h1{margin:8px 0 12px;font-size:2.62rem;line-height:1.02}.hero-copy p{color:var(--muted);max-width:29rem;margin:0;font-size:.98rem;line-height:1.7}.panel,.report-card,.privacy-band{box-shadow:var(--shadow);background:#fffdf9eb;border:1px solid #dfd5caeb;border-radius:8px}.section-title{gap:12px;margin-bottom:16px}.section-title h2{letter-spacing:0;margin:3px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;line-height:1.1}.section-title svg{color:var(--warm);flex:none}.outside-title{margin:20px 2px 12px}.upload-box{aspect-ratio:4/5;cursor:pointer;background:linear-gradient(135deg,#b779611f,#3e73731a),#f8f4ee;border:1px dashed #4d413952;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.upload-box img{object-fit:cover;width:100%;height:100%}.upload-box input{opacity:0;z-index:3;position:absolute;inset:0}.upload-placeholder{color:var(--deep);text-align:center;place-items:center;gap:8px;padding:20px;display:grid}.upload-placeholder strong{font-size:1.05rem}.rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.rule-grid span{color:#5d6249;background:#858d681a;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:8px 10px;font-size:.82rem;font-weight:700;display:flex}.field-group+.field-group{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.field-group h3{color:var(--deep);margin:0 0 9px;font-size:.92rem}.segmented-control,.chip-grid{gap:8px;display:grid}.segmented-control{grid-template-columns:repeat(3,minmax(0,1fr))}.chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control button,.chip-grid button{color:var(--muted);cursor:pointer;background:#f7f1ea;border:1px solid #0000;border-radius:6px;min-height:40px;padding:9px 8px;font-size:.84rem;font-weight:750}.segmented-control button.active,.chip-grid button.active{color:#8f4f3c;background:#b9796124;border-color:#b979616b}.plan-list{gap:10px;display:grid}.plan-option{background:var(--paper-strong);border:1px solid var(--line);color:inherit;cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:stretch;gap:12px;padding:13px;display:flex}.plan-option.selected{border-color:#3e73739e;box-shadow:inset 0 0 0 1px #3e737352}.plan-meta{gap:4px;display:grid}.plan-meta strong{font-size:1rem}.plan-meta small,.plan-meta em{color:var(--muted);font-size:.78rem;font-style:normal;line-height:1.35}.plan-price{white-space:nowrap;place-items:flex-end end;display:grid}.plan-price i{color:var(--teal);background:#3e73731a;border-radius:999px;padding:4px 7px;font-size:.7rem;font-style:normal;font-weight:800}.plan-price b{color:var(--warm);font-size:1.3rem}.progress-summary{color:var(--muted);margin-bottom:10px;font-size:.9rem}.progress-summary strong{color:var(--teal)}.progress-track{background:#ebe2d9;border-radius:999px;height:9px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--warm), var(--teal));border-radius:inherit;height:100%;transition:width .24s;display:block}.stage-list{gap:9px;margin:14px 0 0;padding:0;list-style:none;display:grid}.stage-list li{color:var(--muted);align-items:center;gap:9px;font-size:.88rem;display:flex}.stage-list span{color:var(--muted);background:#eee6dd;border-radius:999px;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:800;display:inline-flex}.stage-list li.active{color:var(--deep);font-weight:750}.stage-list li.active span{background:var(--teal);color:#fff}.report-card{padding:14px;overflow:hidden}.report-heading{border-bottom:1px solid var(--line);text-align:center;margin-bottom:12px;padding-bottom:10px}.report-heading span{color:var(--deep);letter-spacing:.14em;font-family:Georgia,Times New Roman,serif;font-size:1.18rem;display:block}.report-heading h3{color:var(--muted);letter-spacing:.22em;margin:4px 0 0;font-size:.9rem;font-weight:500}.portrait-row{grid-template-columns:1.05fr .95fr;gap:12px;display:grid}.portrait-frame{aspect-ratio:3/4;border:1px solid var(--line);background:#f1ece6;overflow:hidden}.portrait-frame img{object-fit:cover;width:100%;height:100%}.portrait-empty{color:var(--muted);text-align:center;place-items:center;gap:8px;height:100%;padding:12px;font-size:.78rem;display:grid}.diagnosis-box{border-bottom:1px solid var(--line);border-top:1px solid var(--line);flex-direction:column;justify-content:center;padding:10px 0;display:flex}.diagnosis-box>span{color:var(--muted);letter-spacing:.16em;font-family:Georgia,Times New Roman,serif;font-size:.78rem}.diagnosis-box strong{color:var(--deep);margin-top:5px;font-family:Georgia,Times New Roman,serif;font-size:1.28rem;font-weight:500;line-height:1.1;display:block}.diagnosis-box small{color:var(--warm);margin-top:5px;font-size:.82rem;font-weight:750;display:block}.diagnosis-box dl{gap:7px;margin:13px 0 0;display:grid}.diagnosis-box div{justify-content:space-between;display:flex}.diagnosis-box dt,.diagnosis-box dd{margin:0;font-size:.78rem}.diagnosis-box dt{color:var(--muted)}.diagnosis-box dd{color:var(--deep);font-weight:800}.swatch-section{margin-top:14px}.swatch-section h4{border-bottom:1px solid var(--line);color:var(--deep);letter-spacing:.12em;text-align:center;margin:0 0 10px;padding-bottom:6px;font-family:Georgia,Times New Roman,serif;font-size:.98rem;font-weight:500}.swatch-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.swatch-section.compact .swatch-row{grid-template-columns:repeat(4,minmax(0,1fr))}.swatch-row span{gap:5px;min-width:0;display:grid}.swatch-row i{aspect-ratio:1/.72;border:1px solid #4d413914;display:block}.swatch-row b{color:var(--muted);text-align:center;font-size:.62rem;font-weight:750;line-height:1.2}.recommend-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;padding-top:12px;display:grid}.recommendation{min-width:0}.recommendation span{color:var(--warm);background:#b9796124;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.recommendation strong{color:var(--deep);margin-top:6px;font-size:.82rem;display:block}.recommendation p{color:var(--muted);margin:3px 0 0;font-size:.75rem;line-height:1.45}.report-actions{gap:10px;margin-top:12px}.secondary-action{background:var(--paper-strong);border:1px solid var(--line);color:var(--deep);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:10px;font-size:.88rem;font-weight:800;display:inline-flex}.secondary-action:disabled{cursor:wait;opacity:.68}.preunlock-samples{margin:4px 0 18px}.preunlock-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin:0 2px 12px;display:flex}.preunlock-heading h2{color:var(--text);letter-spacing:0;margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:600;line-height:1.05}.preunlock-badge{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--soft-shadow);color:var(--accent);letter-spacing:.04em;text-transform:uppercase;background:#fffcf894;border:1px solid #b88b4247;border-radius:999px;flex:none;align-items:center;gap:5px;min-height:32px;padding:7px 10px;font-size:.68rem;font-weight:850;display:inline-flex}.preunlock-strip{scroll-snap-type:x mandatory;gap:14px;margin:0 -16px;padding:2px 16px 14px;scroll-padding-left:16px;display:flex;overflow-x:auto}.preunlock-sample-card{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(145deg, #fffcf8db, #f2e6d6a8), var(--card);scroll-snap-align:center;border:1px solid #ffffff9e;border-radius:30px;flex:0 0 74%;margin:0;overflow:hidden;box-shadow:0 24px 62px #58453324}.preunlock-sample-card.featured{flex-basis:86%}.preunlock-image-button,.sample-image-button{color:inherit;cursor:zoom-in;text-align:inherit;background:0 0;border:0;width:100%;padding:0;display:block}.preunlock-image-button:not(:disabled):active,.sample-image-button:not(:disabled):active{transform:none}.preunlock-image-frame{background:radial-gradient(circle at 50% 10%,#ffffffc2,#0000 34%),#fffcf89e;border-bottom:1px solid #b88b4224;height:min(58vh,470px);min-height:350px;position:relative;overflow:hidden}.sample-zoom-icon{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--accent);z-index:2;background:#fffcf8b8;border:1px solid #b88b423d;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;bottom:12px;right:12px;box-shadow:0 10px 26px #58453324}.preunlock-sample-card.featured .preunlock-image-frame{height:min(60vh,500px)}.preunlock-image-frame:after{content:"";pointer-events:none;background:linear-gradient(#0000 76%,#fffcf8c7);height:34%;position:absolute;bottom:0;left:0;right:0}.preunlock-image-frame img{object-fit:contain;object-position:top center;width:100%;height:100%}.preunlock-sample-card figcaption{background:#fffcf894;justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:13px 16px 14px;display:flex}.preunlock-sample-card figcaption span{color:var(--brown);min-width:0;font-family:Georgia,Times New Roman,serif;font-size:1.04rem;font-weight:600}.preunlock-sample-card figcaption small{color:var(--accent);white-space:nowrap;background:#2f7c7a1a;border:1px solid #2f7c7a24;border-radius:999px;flex:none;padding:5px 8px;font-size:.68rem;font-weight:850}.preunlock-note{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--soft-shadow);color:var(--muted);background:#fffcf87a;border:1px solid #b88b422e;border-radius:22px;align-items:flex-start;gap:8px;margin-top:2px;padding:11px 12px;font-size:.82rem;font-weight:700;line-height:1.55;display:flex}.preunlock-note svg{color:var(--gold);flex:none;margin-top:2px}.sample-preview-backdrop{z-index:100;background:#261f1bb8;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.sample-preview-modal{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:linear-gradient(145deg, #fffcf8f0, #f1e5d4db), var(--card);border:1px solid #ffffff9e;border-radius:30px;width:100%;max-width:560px;max-height:calc(100vh - 36px);position:relative;overflow:hidden;box-shadow:0 28px 90px #1e181457}.sample-preview-close{z-index:3;top:14px;right:14px}.sample-preview-image-shell{-webkit-overflow-scrolling:touch;background:#fffcf89e;max-height:calc(100vh - 128px);padding:12px;overflow:auto}.sample-preview-image-shell img{border-radius:22px;width:min(108vw,640px);max-width:none;height:auto;margin:0 auto;box-shadow:0 18px 54px #58453324}.sample-preview-caption{border-top:1px solid #b88b422e;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 14px;display:flex}.sample-preview-caption span{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:850}.sample-preview-caption strong{color:var(--brown);font-family:Georgia,Times New Roman,serif;font-size:1.06rem}.activation-gate p{color:var(--muted);margin:0 0 14px;font-size:.92rem;line-height:1.65}.activation-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.activation-form.compact{margin-top:14px}.activation-form input{border:1px solid var(--line);color:var(--deep);letter-spacing:0;text-transform:uppercase;background:#fffaf4;border-radius:8px;min-width:0;min-height:46px;padding:0 12px;font-size:.92rem;font-weight:800}.activation-form button,.activation-status button{background:var(--deep);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:46px;padding:0 15px;font-size:.88rem;font-weight:850;display:inline-flex}.activation-form button:disabled{cursor:wait;opacity:.7}.activation-status{background:#3e73731a;border:1px solid #3e73732e;border-radius:8px;grid-template-columns:1fr .7fr auto;align-items:center;gap:10px;margin:10px 0 14px;padding:12px;display:grid}.activation-status div{gap:2px;display:grid}.activation-status span{color:var(--muted);font-size:.7rem;font-weight:800}.activation-status strong{color:var(--deep);font-size:.98rem}.activation-status button{background:var(--teal);min-height:38px;padding:0 12px}.report-type-grid{gap:10px;display:grid}.report-type{background:var(--paper-strong);border:1px solid var(--line);color:var(--deep);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:12px;display:flex;position:relative}.report-type.selected{background:linear-gradient(90deg, #3e73731f, #fffdf9f0 42%), var(--paper-strong);box-shadow:inset 3px 0 0 var(--teal), inset 0 0 0 1px #3e737342;border-color:#3e7373b3}.report-type.unlocked:not(.selected){border-color:#858d6847}.report-type.locked{color:var(--muted);background:#f7f1ea}.report-type-copy{gap:4px;min-width:0;display:grid}.report-type strong{font-size:.95rem}.report-type small{color:var(--muted);font-size:.75rem;line-height:1.35}.report-status{white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:4px;min-width:76px;padding:7px 9px;font-size:.72rem;font-weight:850;display:inline-flex}.report-status b{font-size:inherit}.report-status.current{background:var(--teal);color:#fff}.report-status.unlocked{color:#5d6249;background:#858d6821}.inline-error{color:#9d252c;background:#c7192214;border:1px solid #c7192229;border-radius:8px;margin:12px 0 0;padding:9px 10px;font-size:.82rem;font-weight:750;line-height:1.5}.generated-report{border:1px solid var(--line);background:linear-gradient(135deg,#b779611a,#3e737314),#f8f4ee;border-radius:8px;gap:12px;min-height:360px;padding:10px;display:grid;overflow:hidden}.generated-report-item{margin:0;position:relative}.generated-report-item figcaption{color:#fff;letter-spacing:.08em;z-index:1;background:#4d4139d1;border-radius:999px;padding:6px 8px;font-size:.72rem;font-weight:850;line-height:1;position:absolute;top:10px;left:10px}.generated-report img{border-radius:6px;width:100%;height:auto}.generated-placeholder{color:var(--muted);text-align:center;align-content:center;justify-items:center;gap:9px;min-height:360px;padding:24px;display:grid}.generated-placeholder strong{color:var(--deep);font-size:1.05rem}.generated-placeholder span{font-size:.86rem;line-height:1.6}.modal-backdrop{z-index:80;background:#261f1b85;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.purchase-modal{background:var(--paper);border:1px solid var(--line);border-radius:8px;width:100%;max-width:492px;padding:22px 16px 16px;position:relative;box-shadow:0 24px 80px #261f1b42}.purchase-modal>svg{color:var(--teal)}.purchase-modal h2{color:var(--deep);margin:10px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:1.24rem}.purchase-modal p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.65}.modal-close{color:var(--deep);cursor:pointer;background:#f5eee7;border:0;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;top:12px;right:12px}.wechat-box{background:#858d681c;border:1px solid #858d6833;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:14px;padding:12px;display:grid}.wechat-box span{color:var(--muted);font-size:.8rem;font-weight:800}.wechat-box strong{color:var(--deep);overflow-wrap:anywhere;min-width:0;font-size:1rem}.wechat-box button{background:var(--paper-strong);border:1px solid var(--line);color:var(--deep);cursor:pointer;border-radius:8px;align-items:center;gap:5px;min-height:34px;padding:0 9px;font-size:.82rem;font-weight:850;display:inline-flex}.sample-section{margin-top:6px}.sample-strip{scroll-snap-type:x mandatory;gap:12px;margin:0 -14px;padding:0 14px 10px;display:flex;overflow-x:auto}.sample-strip figure{background:var(--paper-strong);border:1px solid var(--line);scroll-snap-align:center;border-radius:8px;flex:0 0 76%;margin:0;overflow:hidden}.sample-strip img{object-fit:contain;object-position:top;background:#fffcf8b3;width:100%;height:min(66vh,520px);min-height:360px}.sample-image-frame{display:block;position:relative}.sample-strip figcaption{color:var(--deep);text-align:center;padding:10px;font-size:.82rem;font-weight:800}.privacy-band{align-items:flex-start;gap:10px;margin:14px 0;padding:13px;display:flex}.privacy-band svg{color:var(--teal);flex:none;margin-top:2px}.privacy-band p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.6}.sticky-bar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);z-index:20;background:#fffdf9eb;border:1px solid #dfd5caeb;border-radius:8px;gap:12px;width:calc(100% - 28px);max-width:492px;padding:10px;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.sticky-bar div{gap:2px;display:grid}.sticky-bar span{color:var(--muted);font-size:.74rem;font-weight:800}.sticky-bar button{background:var(--deep);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:136px;min-height:46px;padding:0 14px;font-weight:850;display:inline-flex}.sticky-bar button:disabled{cursor:wait;opacity:.74}@media (min-width:760px){body{background:linear-gradient(90deg, #3e737314, transparent 28%), linear-gradient(270deg, #b9796114, transparent 30%), var(--bg)}.mobile-shell{padding-top:26px}}@media (max-width:370px){.segmented-control,.portrait-row,.recommend-grid{grid-template-columns:1fr}.swatch-row,.swatch-section.compact .swatch-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-bar button{min-width:118px}}html{background:var(--bg);color:var(--text)}body{background:linear-gradient(145deg, #fffaeff5 0%, #f2e8daf5 42%, #decbb1db 100%), linear-gradient(180deg, #2f7c7a1f, transparent 38%), var(--bg)}button,input{color:inherit}button{transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}button:not(:disabled):active{transform:translateY(1px)}.mobile-shell{max-width:520px;padding:22px 16px 190px}.hero-section{padding:14px 2px 22px}.brand-row{gap:12px}.brand-mark{color:var(--brown);align-items:center;font-family:Georgia,Times New Roman,serif;font-size:1.08rem;font-weight:600;display:inline-flex}.brand-mark:before{background:linear-gradient(135deg, var(--gold), var(--accent));content:"";border-radius:999px;width:9px;height:9px;margin-right:8px;display:inline-block}.pill{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--accent);background:#fffcf894;border:1px solid #b88b4257;align-items:center;gap:6px;min-height:34px;padding:7px 11px;display:inline-flex;box-shadow:0 10px 28px #5845331a}.hero-copy{margin-top:24px}.eyebrow,.step-label{color:var(--gold);letter-spacing:.12em;font-size:.72rem}.hero-copy h1{color:var(--text);letter-spacing:0;text-wrap:balance;margin:10px 0 13px;font-family:Georgia,Times New Roman,serif;font-size:2.62rem;font-weight:600;line-height:.98}.hero-copy p{color:var(--muted);font-size:.98rem;line-height:1.72}.panel,.report-card,.privacy-band,.activation-status,.generated-report,.sample-strip figure,.purchase-modal{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow);border:1px solid #ffffff94}.panel{margin:16px 0;padding:18px}.section-title h2,.outside-title h2{color:var(--text);font-family:Georgia,Times New Roman,serif;font-size:1.34rem;font-weight:600}.section-title svg{color:var(--copper)}.activation-status{background:linear-gradient(135deg, #fffcf8d6, #f0e4d3a8), var(--card);border-color:#b88b423d;grid-template-columns:1fr .72fr auto;padding:15px}.activation-status>div{border-right:1px solid #b88b4238;min-width:0;padding-right:10px}.activation-status>div:nth-child(2){padding-left:2px}.activation-status span,.sticky-bar span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.activation-status strong{color:var(--text)}.activation-status button{background:linear-gradient(135deg, var(--accent), #225c59);color:#fffaf2;border-radius:18px;box-shadow:0 14px 28px #2f7c7a38}.activation-gate{background:linear-gradient(145deg, #fffcf8db, #f3e8d8b8), var(--card)}.activation-form input{background:#fffcf8a8;border-color:#b88b4247;border-radius:18px;min-height:50px;box-shadow:inset 0 1px #ffffffb8}.activation-form button{background:linear-gradient(135deg, var(--brown), #332824);border-radius:18px;min-height:50px;box-shadow:0 14px 30px #4a3b342e}.upload-panel{padding:16px}.upload-box{aspect-ratio:4/5.25;background:linear-gradient(135deg,#bd796429,#2f7c7a1a),#fffcf88f;border:1px solid #ffffffa3;border-radius:30px;box-shadow:0 26px 70px #58453329}.upload-box.has-preview:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000 56%,#2e28259e);position:absolute;inset:0}.upload-box img{transform:scale(1.002)}.upload-placeholder{color:var(--brown);z-index:2}.upload-placeholder svg{color:var(--gold)}.upload-placeholder strong{font-family:Georgia,Times New Roman,serif;font-size:1.2rem}.upload-placeholder small{color:var(--muted)}.upload-glass-bar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#fffaf4;z-index:2;background:#fffcf83d;border:1px solid #ffffff5c;border-radius:22px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:10px 12px;display:grid;position:absolute;bottom:14px;left:14px;right:14px;box-shadow:0 16px 34px #1e18142e}.upload-glass-bar span,.upload-glass-bar em{text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-style:normal;font-weight:800;overflow:hidden}.upload-glass-bar strong{color:#fff8e7;font-size:.96rem}.rule-grid{gap:9px;margin-top:14px}.rule-grid span{color:#5d534a;background:#fffcf86b;border:1px solid #b88b4229;border-radius:16px}.rule-grid svg{color:var(--accent)}.report-type-grid{gap:12px}.report-type{box-shadow:var(--soft-shadow);background:#fffcf89e;border-color:#b88b4233;border-radius:24px;min-height:78px;padding:14px;overflow:hidden}.report-type:before{content:"";background:0 0;border-radius:999px;width:4px;height:calc(100% - 26px);position:absolute;top:13px;left:0}.report-type.selected{background:linear-gradient(100deg,#2f7c7a29,#fffcf8c7 44%,#b88b421a),#fffcf8b8;border-color:#2f7c7a7a;box-shadow:0 18px 44px #2f7c7a24,0 0 0 1px #2f7c7a2e}.report-type.selected:before{background:var(--accent)}.report-type.locked{background:#f4eee594}.report-type strong{color:var(--text);font-size:.98rem}.report-type small{color:var(--muted)}.report-status{border:1px solid #0000;min-width:78px;padding:7px 10px}.report-status.current{background:linear-gradient(135deg, var(--accent), #256866);box-shadow:0 10px 24px #2f7c7a33}.report-status.unlocked{color:var(--brown);background:#f4eee5c7;border-color:#b88b422e}.report-status.locked{color:var(--muted);background:#7469621a}.report-status svg{color:currentColor}.progress-summary strong{color:var(--accent);font-size:1.08rem}.progress-track{background:#4a3b341a;height:10px}.progress-track span{background:linear-gradient(90deg, var(--copper), var(--gold), var(--accent));box-shadow:0 0 18px #b88b4247}.stage-list span{color:var(--muted);background:#fffcf89e}.stage-list li.active span{background:var(--accent)}.generated-report{background:linear-gradient(135deg,#bd79641f,#2f7c7a1a),#fffcf88f;border-color:#ffffff94;padding:12px}.generated-report img{border-radius:22px}.generated-placeholder svg{color:var(--gold)}.secondary-action{box-shadow:var(--soft-shadow);background:#fffcf88f;border-color:#b88b4233;border-radius:18px}.sample-strip figure{box-shadow:var(--soft-shadow);border-color:#b88b422e;border-radius:24px}.sample-strip img{border-radius:22px 22px 0 0}.privacy-band{background:#fffcf880;border-color:#b88b4229}.privacy-band svg{color:var(--accent)}.sticky-bar{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fffcf894;border-color:#b88b423d #ffffff9e #ffffff9e;border-radius:26px;padding:11px;bottom:14px;box-shadow:0 -10px 40px #58453324}.sticky-bar strong{color:var(--gold);font-size:1.2rem}.sticky-bar button{background:linear-gradient(135deg, var(--brown), #2d2420);color:#fffaf2;border-radius:20px;box-shadow:0 16px 32px #4a3b3438}.purchase-modal{background:linear-gradient(145deg, #fffcf8e6, #f1e5d4c7), var(--card);border-radius:28px}.modal-close,.wechat-box,.wechat-box button{border-radius:18px}.wechat-box{background:#2f7c7a1a;border-color:#2f7c7a29}@media (min-width:760px){body{background:linear-gradient(120deg,#2f7c7a24,#0000 34%),linear-gradient(240deg,#b88b4233,#0000 36%),linear-gradient(145deg,#fbf4e8 0%,#f2eee8 54%,#decbb1 100%)}}@media (max-width:370px){.hero-copy h1{font-size:2.3rem}.activation-status{grid-template-columns:1fr}.activation-status>div{border-bottom:1px solid #b88b422e;border-right:0;padding:0 0 10px}.activation-status button{width:100%}.upload-glass-bar{grid-template-columns:1fr auto}.upload-glass-bar em{display:none}}.admin-shell{background:linear-gradient(135deg, #fffaeff5, #f2e8daeb 48%, #decbb1c2), var(--bg);color:var(--text);max-width:1180px;min-height:100vh;margin:0 auto;padding:28px 18px 54px}.admin-shell-center{justify-content:center;align-items:center;display:flex}.admin-hero,.admin-card,.admin-login-card,.admin-stat-card{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:var(--card);box-shadow:var(--shadow);border:1px solid #ffffff94;border-radius:28px}.admin-hero{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;padding:24px;display:flex}.admin-eyebrow{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:850;display:inline-block}.admin-hero h1,.admin-login-card h1,.admin-section-title h2{color:var(--text);letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:600}.admin-hero h1,.admin-login-card h1{margin-top:8px;font-size:2.2rem;line-height:1.05}.admin-hero p,.admin-login-card p,.admin-note,.admin-status-text{color:var(--muted);margin:10px 0 0;line-height:1.7}.admin-login-card{width:100%;max-width:460px;padding:28px}.admin-login-card code{color:var(--brown);white-space:normal;word-break:break-all;background:#4a3b3414;border:1px solid #b88b4233;border-radius:14px;margin-top:16px;padding:12px;display:block}.admin-login-form,.admin-form-card{gap:14px;display:grid}.admin-login-form{margin-top:22px}.admin-login-form label,.admin-form-card label,.admin-select-field{gap:7px;display:grid}.admin-login-form label span,.admin-form-card label span,.admin-select-field span{color:var(--muted);font-size:.78rem;font-weight:800}.admin-login-form input,.admin-form-card input,.admin-form-card select,.admin-search input{color:var(--text);background:#fffcf8b8;border:1px solid #b88b423d;border-radius:16px;outline:none;width:100%;min-height:46px;padding:0 13px}.admin-login-form input:focus,.admin-form-card input:focus,.admin-form-card select:focus,.admin-search input:focus{border-color:#2f7c7a8c;box-shadow:0 0 0 3px #2f7c7a1f}.admin-primary-button,.admin-login-form button,.admin-ghost-button,.admin-created-code button,.admin-search button{cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:850;display:inline-flex}.admin-primary-button,.admin-login-form button{background:linear-gradient(135deg, var(--accent), #225c59);color:#fffaf2;border-radius:18px;padding:0 18px;box-shadow:0 16px 32px #2f7c7a33}.admin-primary-button:disabled,.admin-login-form button:disabled{cursor:not-allowed;opacity:.55}.admin-error{color:#9d3d32;margin:0;font-size:.86rem}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.admin-stat-card{gap:7px;min-height:116px;padding:18px;display:grid}.admin-stat-card svg{color:var(--accent)}.admin-stat-card span{color:var(--muted);font-size:.78rem;font-weight:800}.admin-stat-card strong{color:var(--text);font-size:1.7rem}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:16px;margin-bottom:16px;display:grid}.admin-card{padding:20px}.admin-section-title{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.admin-section-title h2{margin-top:4px;font-size:1.35rem}.admin-section-title svg{color:var(--copper)}.admin-segmented{background:#4a3b3412;border:1px solid #b88b422e;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px;display:grid}.admin-segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:14px;min-height:40px;font-weight:850}.admin-segmented button.active{box-shadow:var(--soft-shadow);color:var(--accent);background:#fffcf8c2}.admin-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-report-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.admin-report-checks label{background:#fffcf87a;border:1px solid #b88b4229;border-radius:16px;align-items:center;gap:8px;min-height:42px;padding:0 12px;display:flex}.admin-report-checks input{accent-color:var(--accent);width:auto;min-height:auto}.admin-report-checks span{color:var(--text)}.admin-created-list{gap:10px;margin-top:16px;display:grid}.admin-created-code{background:#fffcf894;border:1px solid #b88b422e;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.admin-created-code code{color:var(--brown);overflow-wrap:anywhere;font-size:.96rem;font-weight:850}.admin-created-code button,.admin-search button,.admin-ghost-button{color:var(--brown);background:#fffcf89e;border:1px solid #b88b422e;border-radius:15px;padding:0 13px}.admin-empty-state{color:var(--muted);text-align:center;background:#fffcf870;border:1px dashed #b88b423d;border-radius:18px;margin-top:14px;padding:18px}.admin-search{background:#fffcf87a;border:1px solid #b88b4229;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:14px;padding:8px;display:grid}.admin-search svg{color:var(--accent);margin-left:8px}.admin-search input{background:0 0;border:0;min-height:38px;padding:0}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:940px}.admin-table th{color:var(--muted);letter-spacing:.08em;text-align:left;text-transform:uppercase;padding:0 12px 10px;font-size:.76rem}.admin-table td{vertical-align:top;border-top:1px solid #b88b4229;padding:14px 12px}.admin-table td span,.admin-table td strong{color:var(--text);font-size:.92rem;display:block}.admin-table td small{color:var(--muted);max-width:240px;margin-top:4px;font-size:.78rem;line-height:1.5;display:block}.admin-chip{background:#7469621a;border-radius:999px;width:fit-content;padding:5px 10px;font-weight:850;color:var(--muted)!important;font-size:.78rem!important;display:inline-flex!important}.admin-chip.active{background:#2f7c7a1f;color:var(--accent)!important}@media (max-width:860px){.admin-hero,.admin-grid{grid-template-columns:1fr}.admin-hero{display:grid}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-field-grid,.admin-report-checks{grid-template-columns:1fr}}@media (max-width:520px){.admin-shell{padding:18px 12px 38px}.admin-hero h1,.admin-login-card h1{font-size:1.92rem}.admin-card,.admin-login-card,.admin-hero{border-radius:24px;padding:16px}.admin-stat-grid{grid-template-columns:1fr}}
