:root{--paper:#f7f3ec;--surface:#fffcf8;--ink:#342b2d;--muted:#77666a;--wine:#6d2739;--line:#dfd3c9;--gold:#af8b59;--soft:#eee2dd}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.8}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #af8b59;outline-offset:4px}header{max-width:1120px;margin:auto;padding:26px 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{text-decoration:none;color:var(--wine);font-family:serif;font-size:21px;font-weight:700;letter-spacing:3px}.brand span{display:block;font:9px sans-serif;letter-spacing:3px;margin-top:2px}.quiet{border:0;background:none;color:var(--wine);padding:9px 0}.hero{max-width:1050px;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;margin:62px auto 38px;align-items:center;padding:0 28px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--wine);text-transform:uppercase;font-weight:600}.hero h1{font-family:serif;font-weight:500;font-size:clamp(38px,5vw,62px);line-height:1.3;letter-spacing:2px;margin:19px 0 22px}.hero h1 em{font-style:normal;color:var(--wine)}.intro{color:var(--muted);max-width:410px;margin-bottom:28px}.formrow{display:grid;grid-template-columns:1fr 100px;gap:12px}label{display:block;font-size:12px;color:var(--muted)}input,select{background:var(--surface);border:1px solid var(--line);border-radius:3px;width:100%;padding:11px 12px;color:var(--ink);margin:5px 0 14px;min-height:48px}.primary{background:var(--wine);color:var(--surface);border:1px solid var(--wine);padding:13px 22px;border-radius:3px;font-weight:600;letter-spacing:1px}.primary:hover{background:#552032}.secondary{background:transparent;border:1px solid var(--line);color:var(--wine);padding:12px 19px;border-radius:3px}button:disabled{opacity:.45;cursor:not-allowed}.hero .primary{width:100%}.micro{font-size:11px;color:var(--muted);margin:10px 0}.cover-card{background:var(--wine);color:var(--paper);padding:20px;transform:rotate(4deg);max-width:330px;width:100%;margin:0 auto;box-shadow:12px 15px 0 #e7dacf}.card-border{border:1px solid #b79773;padding:30px 17px;text-align:center}.cover-card .sigil{width:100%;height:220px;color:#d5b685}.cover-card h2{font-family:serif;font-size:32px;letter-spacing:5px;margin:12px 0}.cover-card p{font-size:12px;letter-spacing:2px;color:#e1cdc4}.cover-card .eyebrow{color:#d5b685;font-size:9px}.twelve{max-width:1000px;margin:60px auto 0;border-top:1px solid var(--line);padding:24px 28px;display:flex;flex-wrap:wrap;gap:10px 20px;color:var(--muted);font-size:12px}.twelve b{color:var(--wine);font-weight:500}.shell{max-width:720px;margin:42px auto;padding:0 24px}.progressmeta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;letter-spacing:1px}.progress{height:3px;background:var(--line);margin:11px 0 30px}.progress i{display:block;height:100%;background:var(--wine);transition:width .25s}.chapter{color:var(--wine);font-size:12px;letter-spacing:2px}.question h1{font-family:serif;font-weight:500;font-size:clamp(23px,4vw,32px);line-height:1.6;margin:15px 0 8px}.question p{color:var(--muted);font-size:13px;margin:0 0 25px}.options{display:grid;gap:12px}.option{display:flex;align-items:center;gap:16px;text-align:left;background:var(--surface);border:1px solid var(--line);padding:16px 19px;color:var(--ink);border-radius:3px;min-height:76px}.option .letter{font-size:12px;color:var(--gold);font-family:serif}.option:hover{border-color:var(--wine)}.option.selected{border-color:var(--wine);background:#efe1de}.option.selected .letter{color:var(--wine)}.nav{display:flex;justify-content:space-between;gap:12px;margin:26px 0}.shell .micro{text-align:center}.result{max-width:1040px;margin:45px auto;padding:0 28px}.result-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.resultgrid{display:grid;grid-template-columns:330px 1fr;gap:48px;align-items:start}.identity-card{background:var(--wine);padding:18px;color:var(--paper)}.identity-card .sigil{width:100%;height:160px;color:#d5b685}.identity-card h1{font-family:serif;font-weight:500;font-size:41px;letter-spacing:5px;margin:10px 0 0}.identity-card .nickname{font-size:15px;letter-spacing:1px;overflow-wrap:anywhere;margin-bottom:20px}.identity-card .tagline{font-family:serif;font-size:15px;line-height:1.9;letter-spacing:1px}.identity-card .en{font-size:9px;letter-spacing:3px;color:#d5b685}.identity-card .stamp{border-top:1px solid #9e6c6f;margin-top:25px;padding-top:17px;font-size:10px;letter-spacing:2px}.card-actions{display:flex;gap:10px;margin-top:14px}.card-actions button{flex:1;padding:11px 9px;font-size:12px}.resultcopy h2{font-family:serif;font-size:22px;font-weight:500;margin:0 0 10px;color:var(--wine)}.resultcopy section{margin:0 0 28px;padding-bottom:24px;border-bottom:1px solid var(--line)}.resultcopy p{margin:8px 0;font-size:14px}.evidence{border-left:2px solid var(--gold);padding-left:16px;margin:20px 0}.evidence small{color:var(--muted);font-size:12px;display:block}.evidence strong{color:var(--wine);font-weight:500;font-size:13px}.axisrow{display:grid;grid-template-columns:96px 1fr 96px;align-items:center;gap:9px;font-size:10px;color:var(--muted);margin:15px 0}.axisrow span:last-child{text-align:right}.axisbar{height:5px;background:var(--line);position:relative}.axisbar::before{content:'';position:absolute;left:50%;height:11px;top:-3px;width:1px;background:#baaaa0}.axisbar i{position:absolute;top:-4px;width:13px;height:13px;border-radius:50%;background:var(--wine);transform:translateX(-50%)}.scene{background:var(--soft);padding:18px 20px}.scene p{font-family:serif;line-height:2}.edit-list{display:grid;gap:16px}.edit-item{padding:19px;background:var(--surface);border:1px solid var(--line)}.edit-item h2{font-size:15px;line-height:1.8;font-weight:500}.edit-item select{font-size:13px;margin-bottom:0}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1050px;margin:30px auto;padding:0 24px}.archive-item{padding:25px;background:var(--surface);border:1px solid var(--line)}.archive-item .sigil{height:95px;width:100%;color:var(--wine)}.archive-item h2{font-family:serif;color:var(--wine);font-size:24px;text-align:center;font-weight:500}.archive-item p{font-size:12px;color:var(--muted)}.archive-head{max-width:1000px;margin:40px auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.archive-head h1{font-family:serif;font-weight:500;font-size:28px}footer{text-align:center;color:var(--muted);font-size:10px;line-height:2;padding:38px 20px;margin-top:30px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:10px 20px;border-radius:3px;display:none;max-width:90%;font-size:13px;z-index:10}@media(max-width:760px){header{padding:20px}.brand{font-size:18px}.hero{grid-template-columns:1fr;gap:35px;margin-top:33px;padding:0 23px}.hero-copy{order:1}.cover-card{max-width:250px;order:0;transform:rotate(3deg)}.cover-card .sigil{height:115px}.cover-card .card-border{padding:19px}.cover-card h2{font-size:25px;margin:5px}.cover-card p{margin:8px 0;font-size:10px}.hero h1{font-size:38px}.intro{font-size:13px;margin-bottom:20px}.twelve{margin-top:30px;padding:20px 23px}.shell{margin-top:30px;padding:0 20px}.option{padding:14px;gap:12px;font-size:13px}.result{padding:0 20px;margin-top:27px}.resultgrid{grid-template-columns:1fr;gap:30px}.result-aside{max-width:350px;margin:auto;width:100%}.result-top{font-size:11px}.archive-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:0 20px}.archive-item{padding:17px}.archive-item h2{font-size:21px}.archive-item .sigil{height:72px}.resultcopy p{font-size:13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{header,footer,.card-actions,.result-top,button{display:none!important}.resultgrid{display:block}.result-aside{max-width:330px;margin:auto}.resultcopy{margin-top:30px}.identity-card{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
