﻿.poster-preview[data-v-498256c4]{margin-top:20px;padding:16px;background:#f0f0f0;border-radius:8px}.poster-preview h4[data-v-498256c4]{margin:0 0 12px;font-size:14px;color:#666}.poster-preview img[data-v-498256c4]{max-width:100%;border-radius:8px;box-shadow:0 2px 8px #0000001a}:root{--bg: #f6faf6;--panel: #ffffff;--text: #1e2a22;--muted: #6a786f;--line: #dbe8dd;--soft: #edf6ef;--accent: #6c8d71;--accent-strong: #4d6a53;--shadow: 0 16px 40px rgba(47, 73, 55, .08);--radius: 22px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:radial-gradient(circle at top left,#f8fff8 0,#f6faf6 36%,#f2f7f3);color:var(--text);min-height:100vh}.shell{max-width:980px;margin:0 auto;padding:24px 16px 56px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero{padding:28px;margin-top:20px;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:linear-gradient(180deg,#7fa5862e,#7fa58605);pointer-events:none}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--accent-strong);border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:8px 12px;margin-bottom:16px}h1,h2,h3,p{margin:0}.hero h1{font-size:clamp(28px,5vw,52px);line-height:1.08;letter-spacing:-.03em;max-width:680px}.hero .sub{margin-top:14px;color:var(--muted);font-size:15px;line-height:1.75;max-width:720px}.hero-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:18px;align-items:stretch;margin-top:24px}.mini-panel{padding:18px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,#fbfefb,#f3f8f4)}.mini-panel h3{font-size:15px;margin-bottom:10px}.mini-panel ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.8;font-size:14px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.hero-minimal{min-height:48vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:42px 20px}.hero-minimal:after{display:none}.hero-minimal h1{max-width:none;margin:0}.hero-actions-single{justify-content:center;margin-top:28px}.intro-disclaimer{margin-top:20px;font-size:10px;color:var(--muted);line-height:1.7;max-width:320px;opacity:.75}.intro-author{margin-top:20px;font-size:14px;font-weight:600;color:var(--muted);opacity:.7}.intro-author a{color:inherit;text-decoration:underline}button{border:0;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;font:inherit}button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-primary{background:var(--accent-strong);color:#fff;padding:14px 12px;border-radius:14px;box-shadow:0 12px 30px #4d6a532e;font-weight:700}.btn-secondary{background:#fff;color:var(--accent-strong);padding:14px 20px;border-radius:14px;border:1px solid var(--line);font-weight:700}.screen,.screen.active{display:block}.test-wrap,.result-wrap{margin-top:22px;padding:22px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}.progress{flex:1;min-width:240px;height:10px;background:#edf3ee;border-radius:999px;overflow:hidden;position:relative}.progress>span{display:block;width:0;height:100%;background:linear-gradient(90deg,#97b59c,#5b7a62);border-radius:inherit;transition:width .22s ease}.progress-text{color:var(--muted);font-size:13px;white-space:nowrap}.question-list{display:grid;gap:16px}.question{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdfb)}.question-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;color:var(--muted);font-size:12px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:var(--soft);border:1px solid var(--line)}.question-title{font-size:16px;line-height:1.7;white-space:pre-wrap}.options{display:grid;gap:10px;margin-top:14px}.option{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:14px;border:1px solid var(--line);background:#fff;transition:border-color .16s ease,background .16s ease,transform .16s ease}.option:hover{border-color:#bcd0c1;background:#f8fcf9}.option input{margin-top:3px;accent-color:var(--accent-strong);transform:scale(1.1);flex-shrink:0}.option-code{font-weight:800;color:var(--accent-strong);min-width:22px}.actions-bottom{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:6px}.hint{color:var(--muted);font-size:13px;line-height:1.7}.result-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch}.type-box,.score-box,.dim-box,.top3-box,.about-box{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdfb)}.type-kicker{font-size:12px;color:var(--accent-strong);margin-bottom:8px;letter-spacing:.05em}.type-name{font-size:clamp(30px,5vw,48px);line-height:1.08;letter-spacing:-.03em}.type-subname{margin-top:8px;color:var(--muted);font-size:15px}.match{margin-top:18px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 14px;background:var(--soft);border:1px solid var(--line);color:var(--accent-strong);font-weight:700}.type-desc{margin-top:18px;line-height:1.85;font-size:15px;color:#304034}.score-box h3,.dim-box h3,.top3-box h3,.about-box h3{font-size:16px;margin-bottom:12px}.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.score-item{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.score-item .k{font-size:12px;color:var(--muted);margin-bottom:6px}.score-item .v{font-size:20px;font-weight:800;color:var(--accent-strong)}.dim-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dim-pill{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.dim-pill .label{color:var(--muted);font-size:12px;margin-bottom:6px}.dim-pill .value{font-size:20px;font-weight:800;color:var(--accent-strong)}.top3-list{display:grid;gap:10px}.top3-item{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:center}.top3-item strong{display:block;margin-bottom:4px}.top3-item span{color:var(--muted);font-size:13px}.top3-score{color:var(--accent-strong);font-weight:800;white-space:nowrap}.about-box p{color:var(--muted);font-size:14px;line-height:1.8}.footer-note{margin-top:16px;color:var(--muted);font-size:12px;line-height:1.7}.result-layout{display:grid;gap:18px}.result-top{display:grid;grid-template-columns:1fr;gap:18px;align-items:stretch}.poster-box,.type-box,.analysis-box,.dim-box,.note-box{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdfb)}.poster-box{display:grid;grid-template-rows:1fr auto;min-height:280px;overflow:hidden;position:relative;background:radial-gradient(circle at top right,#7fa58629,#7fa58600 40%),linear-gradient(180deg,#fff,#f7fbf8)}.poster-box:after{content:"";position:absolute;right:-46px;bottom:-46px;width:140px;height:140px;border-radius:50%;background:linear-gradient(180deg,#7fa5861f,#7fa58603);pointer-events:none}.poster-image{width:100%;min-height:220px;max-height:460px;-o-object-fit:contain;object-fit:contain;border-radius:18px;background:#ffffffbf;position:relative;z-index:1}.poster-box.no-image .poster-image{display:none}.poster-qr-wrap{position:absolute;bottom:0;right:6px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px}.poster-qr{width:50px;height:50px;border-radius:4px;display:block}.poster-qr-label{font-size:9px;color:var(--muted);letter-spacing:.03em;white-space:nowrap}.poster-caption{margin-top:14px;color:var(--muted);font-size:14px;line-height:1.8;position:relative;z-index:1}.poster-search-tip{font-size:10px;color:var(--muted);opacity:.7;-webkit-writing-mode:horizontal-tb;-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;text-align:center;letter-spacing:.05em}.analysis-box h3,.dim-box h3,.note-box h3{font-size:16px;margin-bottom:12px}.result-actions{margin-top:22px;display:flex;justify-content:center}.analysis-box p{margin:0;color:#304034;font-size:15px;line-height:1.9;white-space:pre-wrap}.dim-list{display:grid;gap:12px}.dim-item{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.dim-item-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;flex-wrap:wrap}.dim-item-name{font-size:14px;font-weight:700;color:var(--text)}.dim-item-score{color:var(--accent-strong);font-weight:800;font-size:14px;white-space:nowrap}.dim-item p,.note-box p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.author-box{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdfb);overflow:hidden}.author-box summary{list-style:none;cursor:pointer;padding:18px;font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:12px}.author-box summary::-webkit-details-marker{display:none}.author-box summary:after{content:"å±å¼";font-size:12px;font-weight:700;color:var(--accent-strong);border:1px solid var(--line);background:var(--soft);padding:6px 10px;border-radius:999px;flex-shrink:0}.author-box[open] summary:after{content:"æ¶èµ·"}.author-content{border-top:1px solid var(--line);padding:0 18px 18px}.author-content p{margin:14px 0 0;color:#304034;font-size:14px;line-height:1.9}@media(max-width:860px){.result-top{grid-template-columns:1fr}.poster-search-tip{-webkit-writing-mode:horizontal-tb;-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;text-align:center}}@media(max-width:860px){.hero-grid,.result-hero{grid-template-columns:1fr}.dim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.shell{padding:14px 12px 42px}.hero,.test-wrap,.result-wrap{padding:16px}.hero h1{font-size:32px}.question-title{font-size:15px}.dim-grid,.score-grid{grid-template-columns:1fr}}


.hidden{display:none!important}
.question-item{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdfb)}
.meta-label{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:var(--soft);border:1px solid var(--line);color:var(--muted);font-size:12px}
.question-text{font-size:16px;line-height:1.7;white-space:pre-wrap;margin:10px 0 0}
.option-label{font-size:14px;line-height:1.65;color:var(--text)}
.author-box summary:after{content:"展开"}
.author-box[open] summary:after{content:"收起"}

.atlas-box{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdfb)}
.atlas-box h3{font-size:16px;margin:0 0 8px}
.atlas-subtitle{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.7}
.atlas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}
.atlas-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;display:grid;grid-template-rows:auto 1fr;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;cursor:pointer}
.atlas-card:hover{transform:translateY(-1px);border-color:#bcd0c1;box-shadow:0 8px 20px rgba(47,73,55,.08)}
.atlas-card.is-active{border-color:var(--accent-strong);box-shadow:0 10px 24px rgba(77,106,83,.18)}
.atlas-card:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}
.atlas-cover{position:relative}
.atlas-image{width:100%;height:112px;object-fit:cover;background:#f5f8f6;display:block}
.atlas-rank{position:absolute;left:8px;top:8px;padding:3px 8px;border-radius:999px;background:rgba(24,41,30,.82);color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em}
.atlas-fallback{height:160px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f1ea,#d9e7dd);color:#4d6a53;font-size:28px;font-weight:800;letter-spacing:.08em}
.atlas-content{padding:9px 10px 10px}
.atlas-head strong{display:block;font-size:13px;color:var(--text);line-height:1.35}
.atlas-meta-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.atlas-pill{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#f1f6f2;color:#5b7462;font-size:10px;font-weight:700;line-height:1.2}
.atlas-pill-soft{background:#eef3fb;color:#51698e}
.atlas-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:18px}
.atlas-modal-backdrop{position:absolute;inset:0;background:rgba(15,24,19,.56)}
.atlas-modal-panel{position:relative;z-index:1;width:min(920px,100%);max-height:92vh;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(20,32,25,.26);display:flex;flex-direction:column}
.atlas-modal-close{position:absolute;right:12px;top:12px;border:1px solid #d4e3d7;background:#ffffffd9;color:#33513d;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}
.atlas-modal-image{width:100%;max-height:56vh;object-fit:contain;background:#f4f8f5;display:block;flex-shrink:0}
.atlas-modal-meta{padding:14px 16px;border-top:1px solid var(--line);overflow-y:auto}
.atlas-modal-meta h4{margin:0;font-size:20px;line-height:1.3}
.atlas-modal-meta p{margin:6px 0 0;color:var(--muted);font-size:14px}
.atlas-modal-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.atlas-modal-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#f1f6f2;color:#43614a;font-size:12px;font-weight:700}
.atlas-modal-badge.type{background:#eef3fb;color:#49658f}
.atlas-modal-desc{margin-top:12px !important;color:#435449 !important;font-size:14px !important;line-height:1.8 !important}
@media(max-width:700px){.atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:700px){.atlas-modal{padding:10px}.atlas-modal-image{max-height:44vh}.atlas-modal-meta h4{font-size:18px}}

#start-btn{
  min-width: 168px;
  padding: 20px 32px;
  border-radius: 18px;
  font-size: 32px;
  font-weight: 800;
  box-shadow: 0 18px 38px rgba(77,106,83,.24);
}

@media(max-width:700px){
  #start-btn{
    min-width: 152px;
    padding: 18px 28px;
    font-size: 28px;
  }
}

.hero-minimal{
  background:
    radial-gradient(circle at 12% 20%, rgba(127,165,134,.14), transparent 24%),
    radial-gradient(circle at 86% 14%, rgba(255,222,173,.28), transparent 20%),
    linear-gradient(180deg, #ffffff 0%, #fbfefb 100%);
}

.hero-showcase-tip{
  margin-top: 18px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.hero-showcase{
  width: min(860px, 100%);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
  gap: 10px;
  margin-top: 18px;
  max-height: 360px;
  overflow-y: auto;
  padding: 4px 6px 6px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(241,246,242,.96), rgba(255,255,255,.88));
  border: 1px solid rgba(219,232,221,.9);
}

.hero-character{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(219,232,221,.9);
  background: linear-gradient(180deg, #fdfefd 0%, #eef5f0 100%);
  box-shadow: 0 10px 22px rgba(53, 79, 61, .08);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.hero-character:hover{
  transform: translateY(-2px);
  border-color: #b8cdbd;
  box-shadow: 0 14px 28px rgba(53, 79, 61, .14);
}

.hero-character img{
  width: 100%;
  height: 132px;
  object-fit: cover;
  display: block;
}

.hero-character span{
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(20, 31, 24, .74);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  backdrop-filter: blur(8px);
}

@media(max-width:860px){
  .hero-showcase{
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    width: 100%;
    max-height: 320px;
  }

  .hero-character img{
    height: 122px;
  }
}

@media(max-width:600px){
  .hero-showcase{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    max-height: 300px;
  }

  .hero-character img{
    height: 132px;
  }

  .hero-character span{
    font-size: 11px;
    left: 8px;
    bottom: 8px;
    padding: 5px 8px;
  }
}
