*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#f3ede2;--bg-2:#ece3d2;--ink:#2c241d;--ink-2:#564a3f;--muted:#857868;--soft:#a99c8a;--accent:#a8512f;--accent-deep:#7e3a22;--accent-soft:#c47a5a;--accent-tint:rgba(168,81,47,.08);--line:#dccfbb;--line-soft:#e7ddca;--card:#fbf7f0;--card-glass:rgba(251,247,240,.72);--shadow:0 10px 30px rgba(60,40,20,.06);--shadow-lg:0 18px 50px rgba(60,40,20,.10);--radius:16px}
html,body{background:var(--bg)}
body{font-family:"PingFang SC","Microsoft YaHei",-apple-system,"Segoe UI",sans-serif;color:var(--ink);min-height:100vh;display:flex;justify-content:center;position:relative;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");opacity:.5;mix-blend-mode:multiply;pointer-events:none;z-index:0}
body::after{content:"";position:fixed;width:520px;height:520px;top:-160px;right:-120px;background:radial-gradient(circle,rgba(196,122,90,.16),transparent 70%);filter:blur(20px);pointer-events:none;z-index:0}
.app{width:100%;max-width:500px;min-height:100vh;position:relative;z-index:1;overflow:hidden}
.screen{display:none;flex-direction:column;min-height:100vh;padding:34px 24px 44px;animation:fadeUp .45s ease}
.screen.active{display:flex}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.app::before{content:"";display:block;position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),transparent 60%);z-index:2}
.cover{justify-content:center;align-items:center;text-align:center;gap:24px}
.cover .icon{width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);box-shadow:0 14px 32px rgba(168,81,47,.28);color:var(--card);position:relative}
.cover .icon::after{content:"";position:absolute;inset:-7px;border:1px solid var(--line);border-radius:50%}
.cover .icon svg{width:44px;height:44px}
.cover .eyebrow{font-size:11px;letter-spacing:6px;color:var(--accent);font-weight:600;text-transform:uppercase}
.cover h1{font-size:30px;font-weight:300;line-height:1.45;letter-spacing:2px;padding:0 6px;color:var(--ink)}
.cover h1 .hl{color:var(--accent);font-weight:500}
.cover .sub{font-size:15px;color:var(--muted);line-height:1.8;max-width:300px;font-weight:300}
.cover .btn-start{margin-top:8px;padding:16px 52px;font-size:17px;font-weight:500;background:var(--accent);color:var(--card);border:none;border-radius:2px;cursor:pointer;letter-spacing:3px;box-shadow:0 10px 26px rgba(168,81,47,.24);transition:transform .25s,box-shadow .25s,background .25s}
.cover .btn-start:hover{transform:translateY(-2px);background:var(--accent-deep);box-shadow:0 16px 36px rgba(168,81,47,.32)}
.cover .btn-start:active{transform:scale(.97)}
.cover .trust{font-size:12px;color:var(--soft);margin-top:4px;letter-spacing:1px}.progress-wrap{padding:2px 0 18px}
.progress-bar{height:2px;background:var(--line);border-radius:1px;overflow:hidden}
.progress-fill{height:100%;background:var(--accent);border-radius:1px;transition:width .35s ease}
.progress-label{font-size:12px;color:var(--muted);margin-top:8px;text-align:right;letter-spacing:2px;font-variant-numeric:tabular-nums}
.q-area{flex:1;display:flex;flex-direction:column;gap:18px}
.q-area .q-num{font-size:12px;color:var(--accent);letter-spacing:4px;font-weight:600}
.q-area .q-text{font-size:23px;font-weight:400;line-height:1.55;color:var(--ink);letter-spacing:.5px}
.options{display:flex;flex-direction:column;gap:11px}
.opt{padding:18px 16px;border-radius:var(--radius);background:var(--card-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-soft);cursor:pointer;transition:all .25s;display:flex;align-items:flex-start;gap:13px;box-shadow:var(--shadow)}
.opt:hover{transform:translateY(-2px);border-color:var(--accent-soft);box-shadow:var(--shadow-lg)}
.opt:active{transform:scale(.985);border-color:var(--accent);background:var(--card)}
.opt .letter{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0;background:var(--accent-tint);color:var(--accent-deep);border:1px solid rgba(168,81,47,.16)}
.opt .txt{font-size:15px;line-height:1.6;color:var(--ink-2);flex:1;font-weight:300}
.q-hint{text-align:center;font-size:13px;color:var(--muted);padding:8px 0;letter-spacing:1px;font-weight:300}
.gate-screen{justify-content:center;align-items:center;text-align:center;gap:26px}
.gate-screen .lock-icon{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);box-shadow:0 14px 32px rgba(168,81,47,.26);color:var(--card);position:relative}
.gate-screen .lock-icon::after{content:"";position:absolute;inset:-7px;border:1px solid var(--line);border-radius:50%}
.gate-screen .lock-icon svg{width:40px;height:40px}
.gate-screen h2{font-size:26px;font-weight:400;line-height:1.45;color:var(--ink);letter-spacing:1px}
.gate-screen .gate-desc{font-size:15px;color:var(--muted);line-height:1.8;max-width:300px;font-weight:300}
.gate-screen .unlock-list{text-align:left;background:var(--card-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-soft);border-radius:var(--radius);padding:22px 26px;width:100%;max-width:320px;box-shadow:var(--shadow)}
.gate-screen .unlock-list li{font-size:14px;color:var(--ink-2);line-height:2.05;list-style:none;display:flex;align-items:baseline;gap:10px;font-weight:300}
.gate-screen .unlock-list li::before{content:"—";color:var(--accent);font-weight:500;flex-shrink:0}
.gate-screen .btn-gate{margin-top:6px;padding:15px 46px;font-size:17px;font-weight:500;background:var(--accent);color:var(--card);border:none;border-radius:2px;cursor:pointer;letter-spacing:2px;box-shadow:0 10px 26px rgba(168,81,47,.24);transition:transform .25s,box-shadow .25s,background .25s}
.gate-screen .btn-gate:hover{transform:translateY(-2px);background:var(--accent-deep);box-shadow:0 16px 36px rgba(168,81,47,.32)}
.gate-screen .btn-gate:active{transform:scale(.97)}
.gate-screen .price{font-size:13px;color:var(--soft);margin-top:2px;letter-spacing:1px}.loading{justify-content:center;align-items:center;text-align:center;gap:24px}
.loading .spinner{width:48px;height:48px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.loading .msg{font-size:16px;color:var(--muted);letter-spacing:2px;font-weight:300}
.result{padding:34px 24px 50px}
.result .badge{display:inline-block;padding:6px 16px;border:1px solid var(--accent);border-radius:2px;font-size:11px;color:var(--accent);letter-spacing:4px;margin-bottom:18px;background:var(--accent-tint);font-weight:600}
.result .type-name{font-size:34px;font-weight:300;margin-bottom:8px;line-height:1.25;color:var(--ink);letter-spacing:1px}
.result .type-sub{font-size:16px;color:var(--accent);margin-bottom:22px;line-height:1.5;font-weight:400}
.type-score{font-size:14px;color:var(--accent);margin-bottom:6px;font-weight:600;letter-spacing:1px}
.type-conclusion{font-size:15px;color:var(--ink-2);line-height:1.85;margin-bottom:24px;font-weight:300}
.evidence-box{background:var(--card-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-soft);border-radius:var(--radius);padding:22px;margin-bottom:24px;border-left:2px solid var(--accent);box-shadow:var(--shadow)}
.evidence-box h3{font-size:12px;color:var(--accent);letter-spacing:3px;margin-bottom:12px;font-weight:600}
.evidence-box p{font-size:14px;color:var(--ink-2);line-height:1.85;font-weight:300}
.module{margin-bottom:22px;position:relative}
.module h3{font-size:16px;color:var(--ink);letter-spacing:1px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line-soft);font-weight:500;display:flex;align-items:center;gap:10px}
.module h3::before{content:"";width:14px;height:1px;background:var(--accent);flex-shrink:0}
.module p{font-size:14px;color:var(--ink-2);line-height:1.85;margin-bottom:6px;font-weight:300}.summary-box{background:linear-gradient(150deg,rgba(168,81,47,.06),rgba(168,81,47,.02));border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px 24px;margin:26px 0;text-align:center;box-shadow:var(--shadow);position:relative}
.summary-box .q-mark{font-size:40px;color:var(--accent);margin-bottom:6px;font-weight:300;line-height:1;font-family:Georgia,serif}
.summary-box p{font-size:16px;color:var(--ink);line-height:1.8;letter-spacing:.5px;font-weight:300}
.advice-box{margin-bottom:24px}
.advice-box h3{font-size:12px;color:var(--accent);letter-spacing:3px;margin-bottom:14px;font-weight:600}
.advice-box .advice-item{padding:14px 16px;margin-bottom:9px;background:var(--card-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-soft);border-radius:var(--radius);font-size:14px;color:var(--ink-2);line-height:1.7;display:flex;gap:12px;box-shadow:var(--shadow);font-weight:300}
.advice-box .advice-item .n{color:var(--accent);font-weight:600;flex-shrink:0;font-variant-numeric:tabular-nums;letter-spacing:1px}
.reminder-box{background:var(--card-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:28px;box-shadow:var(--shadow);position:relative}
.reminder-box h3{font-size:12px;color:var(--accent);letter-spacing:3px;margin-bottom:10px;font-weight:600}
.reminder-box p{font-size:14px;color:var(--ink-2);line-height:1.85;font-weight:300}
.disclaimer-text{font-size:12px;color:var(--soft);line-height:1.7;text-align:center;margin-bottom:24px;letter-spacing:.5px;font-weight:300}
.footer{text-align:center;padding:18px 0 4px;font-size:11px;color:var(--soft);border-top:1px solid var(--line-soft);margin-top:auto;letter-spacing:1px;font-weight:300}