:root{background:#0c0c10;--paper:#f7f3e9;--ink:#17171e;--pink:#ff9a89;--violet:#b397ff;--line:#17171e25}
header{background:#17171e;color:#f7f3e9;border-color:#ffffff25;height:68px}.brand-dot{background:#d8f66a;border:0}.icon-button{border-color:#ffffff40}.wordmark{letter-spacing:.5px}
.app-shell.home-screen{min-height:0}
.app-shell{box-shadow:0 15px 70px #0004}.home-view{background:#17171e;color:#f7f3e9;padding-top:27px;padding-bottom:32px;min-height:0}.home-kicker{font-size:13px;letter-spacing:2.5px;font-weight:750;color:#b397ff}.home-title{font-size:44px;line-height:1.16;max-width:none;margin-top:12px;letter-spacing:-1.5px}.home-intro{font-size:16px;color:#cbc7d3;max-width:none;line-height:1.75;margin-top:14px}.collection-hero{height:305px;position:relative;isolation:isolate;margin:0 -22px 12px;overflow:hidden}.collection-main{position:absolute;height:292px;width:292px;left:50%;top:2px;transform:translateX(-50%);z-index:3;object-fit:contain;filter:drop-shadow(0 12px 15px #0005)}.collection-side{position:absolute;height:180px;width:180px;top:98px;object-fit:contain;z-index:2}.collection-side.left{left:-35px;transform:rotate(-12deg)}.collection-side.right{right:-38px;transform:rotate(12deg)}.collection-orbit{position:absolute;left:50%;top:48px;height:220px;width:360px;transform:translateX(-50%) rotate(-18deg);border:1px solid #b397ff77;border-radius:50%;z-index:0}.collection-orbit:after{content:"";position:absolute;inset:27px -15px;border:1px solid #b397ff30;border-radius:50%;transform:rotate(35deg)}.collection-count{position:absolute;right:30px;top:0;font-size:92px;font-weight:900;color:#f7f3e917;line-height:1;z-index:1;letter-spacing:-7px}
.entry-paths{display:grid;gap:13px}.entry-path{display:grid;grid-template-columns:25px 1fr 22px;align-items:center;gap:12px;width:100%;padding:19px 17px;text-align:left;border-radius:20px;border:1px solid #f7f3e947;background:#24232e;color:#f7f3e9}.entry-path.full{background:#d8f66a;border-color:#d8f66a;color:#17171e}.entry-path.light{background:#b397ff;color:#17171e;border-color:#b397ff}.entry-path strong{font-size:21px;font-weight:800;display:block;line-height:1.35}.entry-path small{font-size:14px;font-weight:450;line-height:1.65;display:block;margin-top:6px;opacity:.82}.path-index{font-size:13px;font-weight:750;align-self:start;padding-top:4px}.entry-path>span:last-child{font-size:25px}.home-view .button.ghost{color:#f7f3e9}.home-view .quiz-footnote{color:#aaa5b8;text-align:left;font-size:13px}.home-view .home-secondary{margin-top:10px}.home-view .resume-note{background:#ffffff10;color:#d8f66a;font-size:14px}
.question-card{box-shadow:0 4px 0 #b397ff;border-color:#17171e33}.question-number{background:#17171e;color:#d8f66a}.quiz-stage.question-art:before{background:#d9d1f7;border-color:transparent}.quiz-stage.body:before{background:#ebdee5;border-color:transparent}.progress-bar{height:6px;border:0;background:#17171e15}.progress-fill{background:#17171e}.choice{border-color:#17171e40}.choice.selected{box-shadow:0 3px 0 #b4c959}.quiz-footnote{font-size:13px}.quiz-view .question-card h1{font-size:24px}.quiz-stage.body{height:125px}.quiz-stage.body img{height:125px}.quiz-stage.body:before{height:90px}.body-options .choice{min-height:48px}
.result-title{padding-bottom:8px}.result-title .home-kicker{color:#7751ce}.result-title h1{margin-top:7px}.profile-hero{position:relative;overflow:hidden;min-height:230px;border-radius:26px;background:#17171e;color:#f7f3e9;border:1px solid #17171e;padding:25px 22px;isolation:isolate}.profile-hero:after{content:"";position:absolute;right:-60px;top:68px;width:245px;height:200px;background:#9b7bd6;border-radius:50%;z-index:-1;transform:rotate(-24deg)}.profile-hero-copy{position:relative;z-index:2;max-width:62%}.profile-hero-copy>p{font-size:16px;color:#d0c7df}.body-code{font-size:73px!important;line-height:1.2!important;letter-spacing:-2px!important;margin-top:18px;font-weight:850;color:#d8f66a;overflow-wrap:anywhere}.body-code.is-words{font-size:34px!important;letter-spacing:-1px!important;line-height:1.4!important}.profile-status{display:block;margin-top:13px;font-size:16px}.profile-mascot{position:absolute;width:190px;height:225px;right:-23px;bottom:-5px;object-fit:contain;z-index:1;transform:rotate(7deg)}.profile-parts{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.profile-parts>span{display:inline-flex;gap:8px;align-items:center;background:#e8e2ff;border:1px solid #b397ff66;padding:9px 12px;border-radius:12px;font-size:16px}.profile-parts b{font-size:19px;color:#5f3ea5}.profile-parts small{font-size:13px;color:#655a76}.tendency-note{margin-top:17px;border-left:3px solid #baa6d9;padding:3px 13px}.tendency-note h3{font-size:16px}.tendency-note p{font-size:15px;color:#65616c;margin-top:5px}.result-details,.code-detail{margin-top:17px;border:1px solid #17171e24;border-radius:17px;background:#fffdfa;padding:16px}.result-details summary,.code-detail summary{font-size:16px;cursor:pointer;font-weight:650;line-height:1.5}.full-code{display:block;overflow-wrap:anywhere;font-size:36px;letter-spacing:3px;margin-top:15px}.code-table{display:grid;margin-top:15px}.code-table>div{display:grid;grid-template-columns:38px 1fr;gap:10px;border-top:1px solid #17171e20;padding:12px 0}.code-table strong{font-size:23px;color:#7751ce}.code-table small{display:block;font-size:13px;color:#65616c;line-height:1.4;margin-top:4px}.result-section>.note{font-size:15px}.results-view .preference-grid{margin-top:15px}.health-bridge{background:#e7edce;border:1px solid #a9bb6b;padding:23px;border-radius:24px;margin-top:26px}.health-bridge h2{font-size:24px}.health-bridge p{font-size:16px;line-height:1.8}.health-bridge .button{margin-top:18px}.result-details .body-result-card{padding:12px;background:#fffdfa}.result-details .body-result-card img{width:65px;height:90px}.result-details .body-result-card .pill{font-size:13px}.result-details .score-row{font-size:14px;gap:10px}.result-details .score-row span:first-child b{font-weight:700;color:#7751ce}.result-details .score-row{grid-template-columns:1fr auto auto}.result-details .note{font-size:14px}.profile-hero+.note{margin-top:16px}
#notice{display:none}body.studio #notice{display:block}.main-loading{opacity:.5;pointer-events:none}
@media(max-width:360px){.home-title{font-size:40px}.collection-hero{height:285px}.collection-main{height:270px;width:270px}.collection-side{width:160px;height:160px}.entry-path{padding:16px 14px;gap:10px}.entry-path strong{font-size:20px}.body-code{font-size:64px!important}.profile-mascot{width:160px}.body-code.is-words{font-size:30px!important}.profile-parts>span{font-size:14px}.profile-parts small{font-size:12px}.profile-hero{min-height:210px;padding:22px 18px}}

/* Short result code: each group is explained beside its letter. */
.profile-hero{min-height:182px;padding:23px 22px}.profile-hero-copy{max-width:69%}.profile-mascot{width:152px;height:180px;right:-26px}.body-code{font-size:54px!important;letter-spacing:1px!important;white-space:nowrap;overflow-wrap:normal;margin-top:15px}.body-code.is-words{white-space:normal;font-size:29px!important}
.short-code-parts{display:grid;gap:9px;margin-top:17px}.short-code-part{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:12px;background:#e8e2ff;border:1px solid #b397ff55;border-radius:15px;padding:12px 15px;min-width:0}.short-code-part>b{display:grid;place-items:center;background:#17171e;color:#d8f66a;border-radius:9px;font-size:23px;min-height:37px}.short-code-part>span{font-size:18px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.short-code-part small{display:inline-block;font-size:13px;color:#645673;font-weight:400;margin-left:8px}.result-primary{margin-top:19px}.result-primary .button{width:100%;font-size:20px}.body-summary>.note{font-size:14px;line-height:1.65}.score-head{font-size:12px!important;color:#77717e}
.plain-preference{padding:17px!important}.plain-preference summary{display:block;cursor:pointer;position:relative;padding-right:18px}.plain-preference summary:after{content:'＋';position:absolute;right:-3px;top:1px;color:#7751ce}.plain-preference[open] summary:after{content:'−'}.plain-preference h3{font-size:16px}.plain-preference .result-copy{font-size:15px;color:#5f5967;margin:8px 0 0}.plain-preference .compact-counts{margin-top:14px}.plain-preference .count-text{font-size:12px}.health-reading article{border-top:1px solid #17171e20;padding:18px 0 8px}.health-reading h3{font-size:19px}.health-reading p,.health-reading li{font-size:15px;line-height:1.8}.health-reading ul{padding-left:23px;margin-top:12px}.health-reading li+li{margin-top:8px}.health-reading .source-list{font-size:12px}.result-boundary{font-size:13px;margin-top:23px}
@media(max-width:360px){.body-code{font-size:46px!important}.profile-hero{padding:20px 17px;min-height:166px}.profile-mascot{width:133px;height:165px}.short-code-part>span{font-size:16px}.short-code-part{padding:11px 12px;gap:9px}}

/* Mobile reading: shorten decoration, keep the next step within reach. */
body:not(.studio) header { height:56px; padding-block:6px; }
body:not(.studio) .view { min-height:0; padding-top:16px; }
.home-title { font-size:36px; margin-top:7px; }
.home-intro { margin-top:8px; line-height:1.55; }
.collection-hero { height:205px; margin-bottom:8px; }
.collection-main { height:203px; width:203px; }
.collection-side { height:130px; width:130px; top:64px; }
.collection-side.left { left:-9px; }.collection-side.right { right:-9px; }
.collection-orbit { top:35px; height:150px; width:290px; }
.collection-count { font-size:72px; right:36px; }
.entry-path { padding:14px; gap:9px; border-radius:17px; }
.entry-path strong { font-size:20px; }.entry-path small { margin-top:4px; line-height:1.55; }
.home-view { padding-bottom:16px; }.home-view .quiz-footnote { margin-top:8px; }
body:not(.studio) .quiz-stage,body:not(.studio) .quiz-stage.question-art,body:not(.studio) .quiz-stage.body { height:64px; margin:5px 0 12px; }
body:not(.studio) .quiz-stage img,body:not(.studio) .quiz-stage.question-art img,body:not(.studio) .quiz-stage.body img { height:64px; width:105px; max-height:none; }
body:not(.studio) .quiz-stage:before { height:48px; width:80px; }
.quiz-view .question-card { padding:16px; border-radius:19px; }
.quiz-view .question-card h1,.quiz-view .question-card h2 { font-size:22px; line-height:1.45; }
.quiz-view .question-card .scene { margin-bottom:7px; font-size:15px; }
.quiz-view .question-options { margin-top:16px; gap:8px; }
.quiz-view .choice { min-height:52px; padding:10px 13px; }
.quiz-view .body-options .choice { min-height:46px; padding:8px 13px; }
.quiz-view .quiz-nav,#app[data-page="practice"] .view>.actions,#app[data-page="body-intro"] .view>.actions,#app[data-page="review"] .view>.actions,.results-view .result-primary { position:fixed; bottom:0; left:50%; transform:translateX(-50%); width:100%; max-width:480px; z-index:25; margin:0; padding:10px 18px calc(10px + env(safe-area-inset-bottom)); background:linear-gradient(transparent,#f7f3e9f5 8px,#f7f3e9); }
#app[data-page="practice"] .view>.actions,#app[data-page="body-intro"] .view>.actions { grid-template-columns:1.6fr 1fr; gap:8px; }
#app[data-page="practice"] .view>.actions .button,#app[data-page="body-intro"] .view>.actions .button { padding:10px; font-size:16px; }
body:not(.studio):has(#app[data-page="preference"]) footer,body:not(.studio):has(#app[data-page="body"]) footer,body:not(.studio):has(#app[data-page="practice"]) footer,body:not(.studio):has(#app[data-page="body-intro"]) footer,body:not(.studio):has(#app[data-page="review"]) footer,body:not(.studio):has(#app[data-page="results"]) footer { padding-bottom:100px; }
#app[data-page="review"] .view>.actions:has(.secondary) { position:sticky; transform:none; left:auto; margin-top:20px; padding-inline:0; }
#app[data-page="body-intro"] .panel { padding:16px; }
#app[data-page="body-intro"] .panel h2 { font-size:21px; }
#app[data-page="body-intro"] .question-options { margin-top:12px; }
#app[data-page="body-intro"] .choice { min-height:48px; padding:10px 13px; }
.result-title h1 { font-size:28px; }.profile-hero { min-height:135px; padding:16px 18px; }.profile-mascot { height:142px; width:125px; }
.body-code { font-size:48px!important; margin-top:8px; }.short-code-parts { gap:7px; margin-top:12px; }.short-code-part { padding:8px 12px; gap:10px; }.short-code-part>span { font-size:17px; }.short-code-part>b { font-size:21px; min-height:30px; }
.result-primary .button { font-size:18px; min-height:50px; padding:11px; }
.app-shell.large-text .quiz-view .question-card h1 { font-size:26px; }
.app-shell.large-text .quiz-view .choice { font-size:19px; }
.app-shell.large-text .quiz-view .scene { font-size:18px; }
@media(max-height:670px) { .collection-hero{height:165px}.collection-main{height:164px;width:164px}.collection-side{height:115px;width:115px;top:48px}.collection-orbit{height:118px;top:28px}.home-title{font-size:32px} }

body:not(.studio) .view { animation:none; }
#app[data-page="body"] .quiz-stage.body { display:none; }
#app[data-page="body"] .question-card { margin-top:23px; }
#app[data-page="body"] .question-card { margin-top:18px; padding:12px 14px; }
#app[data-page="body"] .question-card h1 { font-size:20px; }
#app[data-page="body"] .question-options { margin-top:12px; gap:6px; }
.app-shell.large-text #app[data-page="body"] .question-card h1 { font-size:26px; }
