:root{--paper:#f5f0e5;--ink:#292d27;--muted:#77796e;--line:#d8d4c7;--yellow:#edda9a;--accent:#4f765a;--soft:#e2eadb;font-family:Arial,'PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);background:#e8e4da;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #94601f;outline-offset:4px}a{color:inherit}button{border:0}h1,h2,h3,p{margin:0}p{line-height:1.8}small{line-height:1.6}.phone{max-width:480px;min-height:100dvh;background:var(--paper);margin:auto;box-shadow:0 0 0 1px #d8d4c7}.topbar{height:72px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:20px;font-weight:900;letter-spacing:-.7px}.brand span{font-size:12px;letter-spacing:1px;margin-left:1px}.archive-link{font-size:12px;min-height:44px;display:flex;align-items:center;text-decoration:none}.desktop-note{display:none}.page{padding:28px 24px 36px}.eyebrow{font:11px/1.6 monospace;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}.home-brand{display:flex;justify-content:space-between;align-items:center;margin:30px 0 32px}.home-brand h1{font-size:76px;font-weight:950;line-height:.95;letter-spacing:-5px}.home-brand .subtitle{font-size:10px;letter-spacing:.3px;margin:9px 0 7px}.home-brand .bureau{font-size:24px;font-weight:900;letter-spacing:9px}.home-brand img{width:68px;height:78px;transform:rotate(8deg);opacity:.92}.home-headline{font-size:42px;line-height:1.22;font-weight:900;letter-spacing:-1.8px;margin:28px 0 18px}.home-headline em{font-style:normal;box-shadow:inset 0 -.36em var(--yellow)}.intro{font-size:14px;color:#62665c;max-width:290px}.facts{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:26px 0 20px;padding:18px 0}.facts div{display:flex;gap:7px;align-items:baseline;font-size:12px;color:#666b60}.facts b{font:800 27px/1 Arial;color:var(--ink)}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;min-height:54px;padding:14px 18px;border-radius:4px;font-size:16px;font-weight:800;width:100%}.primary{background:var(--ink);color:#fffdf4}.primary .arrow{margin-left:auto;font-size:22px}.secondary{background:transparent;border:1px solid var(--line);color:var(--ink)}.muted-btn{background:none;text-decoration:underline;text-underline-offset:4px;font-size:13px;min-height:44px;padding:12px 0;color:#6e7166}.under-note{font-size:11px;text-align:center;color:var(--muted);margin-top:12px}.home-divider{display:flex;justify-content:space-between;align-items:center;margin:42px 0 16px}.home-divider h2{font-size:18px;font-weight:900}.home-divider span{font:11px monospace;color:var(--muted)}.camp-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.camp-row{display:flex;align-items:center;gap:13px;background:var(--paper);padding:17px 14px;min-height:66px;text-decoration:none}.camp-row i{width:11px;height:11px;border-radius:2px;background:var(--accent)}.camp-row strong{font-size:15px}.camp-row small{margin-left:auto;color:var(--muted);font-size:11px}.camp-row span{margin-left:8px}#footer{padding:24px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}#footer>span{font-family:monospace;letter-spacing:1px}#footer p{margin:12px 0}#footer>div{display:flex;gap:24px}#footer a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:3px}.quiz-top{display:flex;justify-content:space-between;align-items:center;font:12px monospace;margin-bottom:14px}.quiz-top b{font-size:20px}.progress{height:5px;background:#dedbcf;border-radius:5px;overflow:hidden}.progress span{height:100%;display:block;background:#333c30;transition:width .25s}.q-label{margin:36px 0 12px}.question{font-size:25px;font-weight:900;line-height:1.5;letter-spacing:-.5px;min-height:110px}.q-note{color:var(--muted);font-size:12px;margin:12px 0 24px}.options{display:grid;gap:12px}.option{display:flex;align-items:center;text-align:left;gap:14px;padding:16px;min-height:73px;border:1px solid #cecebf;background:#faf7ef;border-radius:4px;font-size:14px;line-height:1.65;transition:background .15s,border .15s}.option .letter{font:700 14px monospace;display:flex;align-items:center;justify-content:center;flex:0 0 27px;width:27px;height:29px;border:1px solid #cbcbbb;border-radius:3px}.option[aria-checked=true]{background:#ece1be;border-color:#665c36}.option[aria-checked=true] .letter{background:#393d30;color:#fff;border-color:#393d30}.quiz-actions{display:flex;gap:12px;margin-top:25px}.quiz-actions .secondary{width:100px;flex-shrink:0}.save-note{font-size:11px;color:var(--muted);text-align:center;margin-top:17px}.result-intro{padding:38px 24px 32px;min-height:calc(100svh - 72px);display:flex;flex-direction:column;position:relative;background:var(--soft)}.result-intro .result-label{display:flex;align-items:center;justify-content:space-between;font:11px monospace;letter-spacing:1px}.result-intro .large-badge{height:68px;width:60px;margin-top:64px;opacity:.85}.result-intro h1{font-size:clamp(38px,10vw,48px);line-height:1.25;letter-spacing:-1.8px;font-weight:950;white-space:pre-line;margin:32px 0 18px}.result-intro p{max-width:310px;color:#4e564a;font-size:14px}.scroll-down{margin-top:auto;padding-top:48px;display:flex;justify-content:space-between;text-decoration:none;font-size:13px;min-height:70px;align-items:end}.scroll-down span:last-child{font-size:30px}.dossier{padding:34px 24px}.dossier-top{display:flex;justify-content:space-between;align-items:center;font:12px monospace;color:var(--accent)}.type-code{font:900 54px/1 Arial;letter-spacing:-2px;margin:20px 0 8px}.type-name{font-size:34px;font-weight:900}.tagline{font-size:19px;font-weight:800;line-height:1.65;margin:14px 0 22px}.portrait{display:block;width:100%;height:auto;border-radius:5px;background:#eee9dd;border:1px solid var(--line);margin:22px 0}.personality-note{font-size:16px;line-height:1.9;border-left:3px solid var(--accent);padding-left:17px;margin:25px 0;overflow-wrap:anywhere}.detail-section{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.detail-section h3{font-size:13px;letter-spacing:2px;margin-bottom:17px}.detail-section p{font-size:15px;white-space:pre-line;line-height:2.05;overflow-wrap:anywhere}.match-note{margin-top:28px;padding:16px;background:#eae6da;font-size:12px;color:#62685e;line-height:1.8}.result-actions{display:grid;gap:11px;margin-top:28px}.result-actions .two{display:grid;grid-template-columns:1fr 1fr;gap:11px}.page-title{font-size:32px;line-height:1.3;font-weight:900;margin:12px 0 16px;letter-spacing:-1px}.page-copy{font-size:14px;color:#686e60;margin-bottom:24px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tabs button{font-size:12px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:transparent}.tabs button[aria-pressed=true]{background:var(--ink);color:white}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.type-card{display:block;min-width:0;text-decoration:none;border:1px solid var(--line);border-top:3px solid var(--accent);background:#faf7ef;border-radius:4px;overflow:hidden}.type-card img{width:100%;aspect-ratio:3/4;object-fit:contain;display:block;background:#f4eee3}.type-card>div{padding:12px}.type-card small{font:10px monospace;letter-spacing:1px;color:var(--accent)}.type-card h3{font-size:19px;margin:5px 0 7px}.type-card p{font-size:11px;color:#666a60;line-height:1.7}.camp-gallery{padding:30px 24px}.about details{border-bottom:1px solid var(--line);padding:18px 0}.about summary{font-size:16px;font-weight:800;cursor:pointer;min-height:34px}.about details p,.about details li{font-size:13px;line-height:1.9;color:#555d51;margin-top:14px}.about ul{padding-left:20px}.about a{overflow-wrap:anywhere}.about table{font-size:11px;border-collapse:collapse;width:100%;margin-top:16px}.about td,.about th{text-align:left;padding:9px 5px;border-bottom:1px solid var(--line)}.about code{font:10px monospace;word-break:break-all}.field{display:block;margin:20px 0}.field span{display:block;font-weight:700;font-size:13px;margin-bottom:9px}.field input,.field textarea,.field select{width:100%;border:1px solid #babeb0;background:#fcfaf4;padding:13px;border-radius:4px;color:var(--ink);font-size:16px}.field textarea{min-height:110px;resize:vertical;line-height:1.7}.editor-actions{display:grid;gap:12px}.editor-message{font-size:12px;line-height:1.8;color:#686d62}.badge-tag{padding:6px 8px;background:var(--soft);color:var(--accent);font-size:11px;border-radius:3px}.reading-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.reading-head a{font-size:13px;min-height:44px;display:flex;align-items:center}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);background:#30392f;color:white;padding:13px 18px;font-size:13px;max-width:90vw;z-index:30;border-radius:4px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #c3c5b8;border-radius:8px;width:min(92vw,440px);padding:24px;background:var(--paper);max-height:90dvh;color:var(--ink)}dialog::backdrop{background:#2229}dialog h2{font-size:22px;margin:8px 0}dialog p{font-size:12px;color:var(--muted)}dialog .close{float:right;width:44px;height:44px;font-size:26px;background:transparent}dialog img{display:block;width:100%;margin:18px 0}dialog .primary{font-size:14px}@media(min-width:960px){.phone{margin-left:calc(50% - 40px)}.desktop-note{display:block;position:fixed;left:calc(50% - 430px);top:24vh;max-width:300px}.desktop-note span{font:11px monospace;letter-spacing:1px}.desktop-note strong{display:block;font-size:38px;line-height:1.4;margin:20px 0}.desktop-note p{font-size:18px;line-height:1.9;color:#76796d}.desktop-note small{display:block;margin-top:80px;font-size:11px;color:#818579}}@media(max-width:380px){.page,.dossier,.camp-gallery{padding-left:20px;padding-right:20px}.topbar{padding:0 20px}.home-headline{font-size:39px}.home-brand h1{font-size:70px}.question{font-size:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.topbar,#footer,.result-actions,.desktop-note,.result-intro{display:none}.phone{margin:0;max-width:none;box-shadow:none}.dossier{padding:0}.portrait{max-width:300px}body{background:white}}
.quiz-actions .secondary{width:112px;padding:14px 10px;white-space:nowrap;font-size:14px}.quiz-actions .primary{white-space:nowrap;font-size:15px} .muted-btn{display:inline-flex;align-items:center}
/* 1930s newspaper front page: real text, paper grain and letterpress rules. */
:root{--paper:#e7ddc3;--ink:#28251f;--line:#b8ad91}
.phone{background-color:var(--paper);background-image:url('paper-grain.svg');background-size:190px 190px}
.is-home{background:#c9bfa5}
.is-home .topbar,.is-home .desktop-note,.is-home #footer{display:none}
.is-home .phone{margin:0 auto;max-width:480px;box-shadow:0 0 36px #3f301829;position:relative}
.is-home .phone:before{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 70px #8b6c3029;background:linear-gradient(90deg,transparent 49.5%,#57412408 50%,transparent 50.6%)}
.newspaper-cover{position:relative;min-height:100svh;padding:34px 25px 36px;display:flex;flex-direction:column;color:#28251f;font-family:'Noto Serif SC','Songti SC','STSong','SimSun',serif}
.newspaper-masthead{text-align:center}
.masthead-rule{height:8px;border-top:3px solid currentColor;border-bottom:1px solid currentColor}
.newspaper-masthead h1{display:flex;align-items:center;justify-content:center;gap:14px;white-space:nowrap;margin:22px 0 8px;line-height:1.05;font-weight:900}
.masthead-latin{font-family:Georgia,'Times New Roman',serif;font-size:59px;letter-spacing:-3px}
.masthead-cn{font-size:40px;letter-spacing:-2px}
.newspaper-subtitle{font-family:Georgia,'Times New Roman',serif;letter-spacing:1.8px;font-size:11px;line-height:1.5;margin-bottom:19px}
.bottom-rule{border-top:1px solid currentColor;border-bottom:3px solid currentColor;height:7px}
.cover-story{flex:1;display:flex;flex-direction:column;justify-content:center;padding:34px 0 30px;min-height:340px}
.news-ornament{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:25px}
.news-ornament img{width:31px;height:36px;filter:grayscale(1)}
.news-ornament span{width:44px;height:1px;background:#514937}
.cover-story h2{font-family:'Noto Serif SC','Songti SC','STSong','SimSun',serif;font-size:clamp(44px,12vw,57px);font-weight:900;line-height:1.45;letter-spacing:1px;text-align:center;text-shadow:.5px 0 currentColor,-.5px 0 currentColor}
.press-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:32px;opacity:.27;height:65px;overflow:hidden}
.press-columns i{background:repeating-linear-gradient(0deg,transparent 0 5px,#63553a 5px 6px,transparent 6px 9px);border-top:3px solid #63553a;position:relative}
.press-columns i:after{content:'';position:absolute;right:7px;top:15px;width:20%;height:50%;background:var(--paper);opacity:.8}
.press-start{font-family:inherit;font-weight:900;font-size:21px;letter-spacing:4px;min-height:64px;border:1.5px solid #383024;border-top:5px double #383024;border-bottom:5px double #383024;background:#d6c6a14d;width:100%;border-radius:0;padding:15px 14px;box-shadow:0 3px 0 #38302418;transition:background .15s}
.press-start:hover{background:#c7b28055}.press-start:active{background:#b5a17b66}
@media(max-width:380px){.newspaper-cover{padding-left:21px;padding-right:21px}.masthead-latin{font-size:54px}.masthead-cn{font-size:37px}.newspaper-masthead h1{gap:12px}.newspaper-subtitle{letter-spacing:1.2px}}
@media(min-width:960px){.is-home .phone{margin:24px auto;min-height:calc(100svh - 48px)}.is-home .newspaper-cover{min-height:calc(100svh - 48px)}}


.copyright{text-align:center;font-size:12px;line-height:1.6;color:#77705d;padding:12px 0;margin:12px 0 0}.newspaper-cover .copyright{margin-top:12px}

/* Mobile reading and thumb controls: November 2026 */
:root{--muted:#656653}::selection{background:#dac58e;color:#28271f}
.page:has(.quiz-top){padding-top:22px;padding-bottom:max(18px,env(safe-area-inset-bottom));}
.q-label{display:none}.quiz-top{font-variant-numeric:tabular-nums}.progress{margin-bottom:26px}
.question{font-size:24px;line-height:1.45;letter-spacing:0;min-height:0;overflow-wrap:anywhere}
.q-note{font-size:13px;margin:13px 0 22px;color:#66634f}
.options{gap:10px}.option{font-size:16px;line-height:1.6;padding:14px;min-height:76px;gap:12px;touch-action:manipulation}
.option .letter{flex:0 0 28px;font-size:15px}.option[aria-checked=true]{border-width:2px;padding:13px;background:#e5d6ab}
.quiz-actions{position:sticky;bottom:0;z-index:3;margin:20px -5px 0;padding:12px 5px max(12px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid #c8bea4}
.quiz-actions button{min-height:54px}.save-note{margin-top:4px;font-size:12px;color:#66634f}
.detail-section p{font-size:16px;line-height:1.9}.copyright{color:#635b49}.type-name{overflow-wrap:anywhere}
#image-dialog{max-width:calc(100vw - 24px);max-height:90dvh;overflow:auto}#image-dialog .close{min-width:44px;min-height:44px}
@media(max-width:390px){.page,.dossier{padding-left:20px;padding-right:20px}.topbar{padding:0 20px;height:64px}.question{font-size:23px}.progress{margin-bottom:23px}.result-intro{min-height:calc(100svh - 64px)}}

#app h1[tabindex="-1"]:focus{outline:none}
