:root{color:#3f4036;font-synthesis:none;text-rendering:optimizelegibility;--ink:#3f4036;--sage:#626a56;--sage-deep:#4e5748;--ivory:#f8f4eb;--paper:#f4efe4;--gold:#b79b63;--line:#b79b639e;--display:"Songti SC", "STSong", "Noto Serif CJK SC", serif;background:#d8d3c9;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#d8d3c9}body{background:#d8d3c9;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.42}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{letter-spacing:.08em;cursor:pointer;border:0;border-radius:13px;min-height:54px;padding:0 24px;font-size:16px;font-weight:650;transition:transform .18s,box-shadow .18s,background-color .18s}.button:active:not(:disabled){transform:translateY(1px)}.button-primary{color:#fffdf7;background:linear-gradient(135deg,#6f7762,#50594b);border:1px solid #a78d5e;box-shadow:0 8px 24px #3f433738,inset 0 0 0 2px #fffaeb47,inset 0 0 0 4px #4d55466b}.button-ghost{color:#4e4539;background:0 0;border:1px solid #4f433347}.button-outline{color:#5f594a;background:#fffcf5b8;border:1px solid #b79b63ad;box-shadow:inset 0 0 0 2px #ffffff7a}.public-page,.home-page,.quiz-page,.result-page{width:min(100%,540px);min-height:100vh;min-height:100svh;min-height:var(--app-visible-height,100svh);margin:0 auto;overflow-x:hidden;box-shadow:0 0 60px #3e3a3133}.activation-page{padding:28px 0;color:var(--ink);isolation:isolate;background:linear-gradient(#ffffff14,#f0eadc2e),url(/assets/public-light/activation.webp) 50%/cover no-repeat;place-items:center;padding:max(4svh,28px) 0;display:grid;position:relative}.activation-page:before{content:"";z-index:-1;background:linear-gradient(90deg,#fffcf414,#fffcf457 50%,#e9e8dc14);position:absolute;top:0;bottom:0;left:0;right:0}.activation-content{padding:42px 8% 34px;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(145deg,#ffffffad,#f8f4eb7a);border:1px solid #b79b6394;border-radius:30px;width:min(88%,460px);padding:clamp(34px,6svh,54px) 8% 34px;position:relative;box-shadow:inset 0 0 0 5px #ffffff42,inset 0 0 0 6px #b79b632e,0 18px 50px #5350441f}.activation-content:before,.activation-content:after{content:"⌜";color:#b79b638f;font:24px/1 var(--display);position:absolute;top:9px}.activation-content:before{left:12px}.activation-content:after{right:12px;transform:scaleX(-1)}.activation-mark{color:#69705f;border:1px solid #b79b6394;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 8px;display:grid}.activation-mark svg{width:38px;height:38px}.activation-eyebrow,.home-eyebrow{font:500 17px/1.4 var(--display);letter-spacing:.1em;color:#6a6556;justify-content:center;align-items:center;gap:12px;margin:0;display:flex}.activation-eyebrow span,.home-eyebrow span{color:var(--gold);font-size:10px}.botanical-rule{color:var(--gold);justify-content:center;align-items:center;gap:11px;display:flex}.botanical-rule span{background:linear-gradient(90deg, transparent, var(--line));width:31%;height:1px}.botanical-rule span:last-child{transform:rotate(180deg)}.activation-content .botanical-rule{margin:14px auto 20px}.activation-content h1{font:500 clamp(38px, 10.5vw, 54px)/1.34 var(--display);letter-spacing:.06em;color:#4a4b40;text-shadow:0 1px #fffc;margin:0}.activation-description{font:400 14px/1.7 var(--display);letter-spacing:.035em;color:#666253;margin:22px 0 24px}.activation-form{gap:14px;display:grid}.code-field{background:#fffdf88f;border:1px solid #b79b63c7;align-items:center;gap:12px;height:62px;padding:0 18px;display:flex;box-shadow:inset 0 0 0 3px #ffffff57}.code-field:focus-within{border-color:#9f8048;box-shadow:0 0 0 3px #b79b6321,inset 0 0 0 3px #ffffff73}.code-field.has-error{border-color:#b77973}.field-icon{color:#85897a;flex:none;width:24px}.code-field input{width:100%;min-width:0;color:var(--ink);font:400 17px/1 var(--display);letter-spacing:.08em;background:0 0;border:0;outline:0}.code-field input::placeholder{color:#50504573}.field-message{color:#a55f59;letter-spacing:.03em;min-height:18px;margin:-8px 0 -5px;font-size:12px}.activation-button{height:60px;font:600 18px/1 var(--display);margin-top:6px}.activation-footnote{color:#777162;font:400 12px/1.5 var(--display);letter-spacing:.035em;justify-content:center;align-items:center;gap:8px;margin:28px 0 0;display:flex}.activation-footnote span{color:var(--gold);font-size:8px}.home-page{color:var(--ink);isolation:isolate;background:#ece6d9;flex-direction:column;display:flex;position:relative}.home-background{object-fit:cover;z-index:-1;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.home-page:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#f5f0e50f,#f5f0e538 62%,#54564714);position:absolute;top:0;bottom:0;left:0;right:0}.home-frame{pointer-events:none;border:1px solid #b79b63b8;position:absolute;top:18px;bottom:18px;left:18px;right:18px;box-shadow:inset 0 0 0 4px #ffffff2e}.home-frame:before,.home-frame:after{content:"◇";color:#ad925d;background:#eee6d6a3;padding:0 9px;font-size:13px;position:absolute;left:50%;transform:translate(-50%)}.home-frame:before{top:-8px}.home-frame:after{bottom:-8px}.home-copy{padding:52px 9% 0;text-align:center;flex:none;padding:max(8svh,52px) 9% 0}.home-copy h1{font:500 clamp(42px, 11vw, 58px)/1.34 var(--display);letter-spacing:.04em;color:#3d4138;text-shadow:0 1px #ffffffb8;margin:20px 0 0}.home-rule{margin:22px auto 24px}.home-subtitle{font:500 15px/1.75 var(--display);letter-spacing:.04em;color:#565548;margin:0}.home-copy blockquote{color:#5b5c50;font:400 16px/1.9 var(--display);letter-spacing:.05em;margin:28px 0 0}.home-actions{z-index:1;padding:32px 0 52px;text-align:center;gap:11px;width:70%;margin:auto auto 0;padding-bottom:max(8svh,52px);display:grid;position:relative}.home-actions .button{min-height:62px;font:600 20px/1 var(--display)}.home-restart{color:#605b4e;cursor:pointer;background:#fffcf46b;border:0;padding:8px;font-size:14px}.quiz-page{height:100vh;height:100svh;height:var(--app-visible-height,100svh);color:var(--ink);padding:max(env(safe-area-inset-top), 14px) 20px max(env(safe-area-inset-bottom), 12px);background:linear-gradient(#ffffff1a,#f6f0e621),url(/assets/public-light/quiz.webp) top/cover no-repeat;flex-direction:column;display:flex;position:relative;overflow:hidden}.quiz-page:before{content:"";pointer-events:none;background:linear-gradient(#fffdf80f,#fffdf83d 55%,#f8f2e71f);position:absolute;top:0;bottom:0;left:0;right:0}.quiz-header{z-index:1;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;min-height:50px;padding:0;display:grid;position:relative}.quiz-header .quiz-brand{min-width:0;font:400 12px/1 var(--display);letter-spacing:.08em;color:#806c49;white-space:nowrap;background:#fffdf8b8;border-radius:999px;grid-column:2;justify-content:center;align-items:center;gap:7px;margin:0;padding:7px 10px;display:flex;overflow:hidden;box-shadow:0 2px 10px #5b503d0f}.quiz-brand span{color:var(--gold);font-size:9px}.back-home{color:#57564b;width:40px;height:40px;font:400 13px/1 var(--display);cursor:pointer;background:#fffcf5c2;border:0;border-radius:999px;grid-column:1;justify-content:center;justify-self:start;align-items:center;padding:0;display:inline-flex;box-shadow:0 2px 10px #5b503d12}.back-home span{display:none}.back-home svg{color:#88734d;width:23px;height:23px}.question-sheet{overscroll-behavior:contain;min-height:0;color:var(--ink);flex:auto;margin-top:3px;padding:2px 2px 10px;scroll-padding-bottom:12px;position:relative;overflow-y:auto}.chapter-title{text-align:center;font:500 clamp(27px, 7.2vw, 38px)/1.35 var(--display);letter-spacing:.07em;color:#403d34;margin:5px 0 10px}.question-count{text-align:center;font-family:var(--display)}.question-count strong{letter-spacing:.08em;color:#9b7c49;font-size:22px;font-weight:600}.question-count span{color:#7b7466;margin-left:7px;font-size:16px}.progress-track{background:#786f6030;border-radius:999px;width:62%;height:6px;margin:14px auto 30px;padding:1px;overflow:hidden;box-shadow:inset 0 1px 2px #5047391f}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#c8a667,#e0c690);height:100%;transition:width .26s;display:block;box-shadow:0 0 0 1px #9a793f57}.question-sheet h1{text-align:left;max-width:none;font:500 clamp(21px, 5.4vw, 28px)/1.58 var(--display);letter-spacing:.025em;color:#413e36;line-break:strict;overflow-wrap:break-word;margin:0;padding:0 4px}.question-ornament{color:var(--gold);justify-content:center;align-items:center;gap:8px;margin:15px 0 20px;font-size:9px;display:flex}.question-ornament span{background:linear-gradient(90deg, transparent, var(--line));width:38px;height:1px}.question-ornament span:last-child{transform:rotate(180deg)}.answer-list{gap:11px;display:grid}.answer-row{color:#4a493f;text-align:left;width:100%;min-height:76px;font:400 15px/1.62 var(--display);letter-spacing:.025em;line-break:strict;overflow-wrap:break-word;cursor:pointer;background:#fffdf8d1;border:1px solid #b79b6385;border-radius:16px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;padding:12px 48px 12px 15px;transition:background-color .16s,transform .16s,border-color .16s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #ffffff61,0 5px 12px #6358461a}.answer-row:after{content:"";opacity:.42;background:radial-gradient(at 46% 80%,#9e917273 0 2px,#0000 3px),radial-gradient(at 65% 52%,#ad996a57 0 5px,#0000 6px);width:70px;height:70px;position:absolute;bottom:-12px;right:-6px;transform:rotate(-18deg)}.answer-row:first-child:after{filter:hue-rotate(255deg)}.answer-row:nth-child(3):after{filter:hue-rotate(315deg)}.answer-row:nth-child(4):after{filter:hue-rotate(220deg)}.answer-row.selected{background:#eeebdadb;border-color:#9c814f;transform:translate(2px);box-shadow:inset 0 0 0 3px #ffffff75,0 7px 16px #56513e24}.answer-mark{z-index:1;color:#9d7e4d;width:46px;height:46px;font:500 24px/1 var(--display);background:#fffdf76b;border:1px solid #b79b63b8;border-radius:50%;place-items:center;display:grid;position:relative}.answer-row.selected .answer-mark{color:#fffdf7;background:#65705b;border-color:#65705b}.answer-row>span:last-child{z-index:1;position:relative}.quiz-nav{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f4ebf0;border:1px solid #b79b636b;border-radius:999px;flex:none;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:8px;padding:7px;display:grid;position:relative;box-shadow:0 8px 24px #4c453929,inset 0 0 0 2px #ffffff61}.quiz-nav .button{min-width:0;min-height:52px;font:500 16px/1 var(--display);letter-spacing:.08em;border-radius:999px;padding:0 13px}.quiz-disclaimer{z-index:1;text-align:center;color:#938875;font:400 11px/1.4 var(--display);letter-spacing:.06em;margin:15px 0 0;position:relative}.dialog-backdrop{z-index:30;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#494c416b;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.dialog{text-align:center;color:#403d34;background:#f8f4ebf5;border:1px solid #b79b63;border-radius:18px;width:min(100%,390px);padding:26px;box-shadow:0 24px 70px #44403447,inset 0 0 0 4px #ffffff5c}.dialog-knot{color:#a57d38;margin:0}.dialog h2{font:600 25px/1.3 var(--display);margin:8px 0 10px}.dialog>p:not(.dialog-knot){color:#6a5d4d;margin:0 0 23px;font-size:14px}.dialog-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.result-page{background:var(--theme-surface);color:var(--theme-text)}.result-hero{background:var(--theme-surface);isolation:isolate;min-height:100svh;position:relative;overflow:hidden}.result-portrait{object-fit:cover;object-position:center top;z-index:-2;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.result-hero:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--theme-surface) 28%, transparent) 45%, color-mix(in srgb, var(--theme-surface) 68%, transparent) 100%);position:absolute;top:38%;bottom:0;left:0;right:0}.result-hero-copy{flex-direction:column;min-height:100svh;padding:max(47svh,370px) 8% max(3svh,20px);display:flex}.result-overline{font:500 15px/1.3 var(--display);letter-spacing:.2em;margin:0 0 7px}.result-hero h1{font:600 clamp(52px, 15vw, 78px)/1.05 var(--display);letter-spacing:.1em;text-shadow:0 1px 16px var(--theme-surface);margin:0}.result-work{font:500 16px/1.4 var(--display);letter-spacing:.08em;margin:7px 0 17px}.result-summary{grid-template-columns:118px minmax(0,1fr);align-items:center;gap:17px;display:grid}.match-ring{aspect-ratio:1;text-align:center;border:1px solid var(--theme-border);background:color-mix(in srgb, var(--theme-surface) 72%, transparent);width:112px;box-shadow:inset 0 0 0 6px color-mix(in srgb, var(--theme-primary) 12%, transparent), 0 0 0 1px #ffffff59;border-radius:50%;place-content:center;display:grid}.match-ring span{letter-spacing:.12em;font-size:12px}.match-ring strong{font:500 40px/1 var(--display);display:block}.match-ring small{font-size:17px}.result-tags{gap:7px;margin:0;padding:0;list-style:none;display:grid}.result-tags li{border:1px solid var(--theme-border);text-align:center;min-width:0;font:500 14px/1.25 var(--display);background:color-mix(in srgb, var(--theme-surface) 64%, transparent);border-radius:7px;padding:6px 10px}.result-hero blockquote{border-left:2px solid var(--theme-border);font:500 16px/1.8 var(--display);letter-spacing:.02em;text-shadow:0 1px 10px var(--theme-surface);margin:18px 0 12px;padding-left:16px}.scroll-hint{color:inherit;letter-spacing:.12em;justify-items:center;gap:3px;margin-top:auto;font-size:12px;text-decoration:none;display:grid}.scroll-hint svg{width:24px;animation:1.8s ease-in-out infinite drift-down}.result-body{background:var(--theme-surface);color:var(--theme-text);position:relative;overflow:hidden}.result-body:before{content:"";opacity:.32;pointer-events:none;background:radial-gradient(circle at 90% 7%, color-mix(in srgb, var(--theme-secondary) 28%, transparent), transparent 18%), radial-gradient(circle at 8% 38%, color-mix(in srgb, var(--theme-primary) 12%, transparent), transparent 23%);position:absolute;top:0;bottom:0;left:0;right:0}.report-section,.letter-section,.result-actions,.disclaimer{position:relative}.report-section{border-bottom:1px solid color-mix(in srgb, var(--theme-border) 42%, transparent);padding:54px 8%}.section-number{color:var(--theme-primary);letter-spacing:.18em;opacity:.7;margin:0 0 5px;font:600 11px/1 monospace}.report-section h2,.letter-section h2{font:600 clamp(27px, 7vw, 34px)/1.25 var(--display);letter-spacing:.03em;margin:0 0 20px}.report-section h2:after{content:"";background:var(--theme-border);width:32px;height:1px;margin-top:12px;display:block}.report-section>p:not(.section-number):not(.section-intro){max-width:31em;font:400 17px/2 var(--display);letter-spacing:.025em;margin:0}.section-intro{color:color-mix(in srgb, var(--theme-text) 68%, transparent);margin:-8px 0 10px;font-size:13px;line-height:1.7}.soul-section{padding-top:68px}.radar-section{text-align:center}.radar-section h2:after{margin-left:auto;margin-right:auto}.radar{width:100%;max-width:390px;margin:6px auto -12px;overflow:visible}.radar-label{fill:var(--theme-text);font:500 12px var(--display)}.radar-value{fill:var(--theme-primary);font:700 11px -apple-system,BlinkMacSystemFont,sans-serif}.modern-section{background:color-mix(in srgb, var(--theme-secondary) 10%, transparent);flex-direction:column;justify-content:center;min-height:260px;display:flex}.paired-sections{grid-template-columns:1fr 1fr;display:grid}.paired-sections .report-section{border-right:1px solid color-mix(in srgb, var(--theme-border) 42%, transparent);padding:45px 7%}.paired-sections .report-section:last-child{border-right:0}.paired-sections h2{font-size:clamp(23px,6vw,30px)}.paired-sections p:not(.section-number){font-size:15px;line-height:1.85}.growth-section{background:linear-gradient(90deg, color-mix(in srgb, var(--theme-primary) 10%, transparent), transparent 55%);padding-left:24%}.letter-section{border:1px solid color-mix(in srgb, var(--theme-border) 55%, transparent);box-shadow:0 12px 35px color-mix(in srgb, var(--theme-primary) 10%, transparent);background:#fff3;margin:58px 7% 30px;padding:35px 8% 28px}.letter-section blockquote{font:500 19px/2 var(--display);letter-spacing:.04em;margin:0}.letter-signature{text-align:right;font:500 14px/1 var(--display);margin:18px 0 0}.result-actions{gap:12px;padding:10px 8% 44px;display:grid}.result-actions .button{border-radius:13px;justify-content:center;align-items:center;gap:13px;min-height:67px;display:flex}.result-actions svg{flex:none;width:24px}.result-actions span{font:600 17px/1.1 var(--display);letter-spacing:.08em;gap:3px;display:grid}.result-actions small{letter-spacing:.05em;opacity:.72;font:400 10px/1.2 -apple-system,BlinkMacSystemFont,sans-serif}.result-restart{color:#fff;background:var(--theme-primary);border:1px solid var(--theme-border)}.result-save{color:var(--theme-primary);border:1px solid var(--theme-border);background:0 0}.save-hint{text-align:center;margin:0;font-size:12px;line-height:1.6}.disclaimer{text-align:center;color:color-mix(in srgb, var(--theme-text) 58%, transparent);margin:0;padding:0 8% 35px;font-size:11px;line-height:1.6}@keyframes drift-down{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(5px)}}@media (max-width:370px){.activation-content{width:90%}.activation-content h1{font-size:36px}.activation-eyebrow{font-size:15px}.home-copy{padding-left:6%;padding-right:6%}.home-copy h1{font-size:39px}.quiz-page{padding-left:14px;padding-right:14px}.quiz-header .quiz-brand{font-size:11px}.back-home span{display:none}.question-sheet h1{font-size:20px}.answer-row{grid-template-columns:42px minmax(0,1fr);gap:10px;padding-left:12px;padding-right:38px;font-size:14px}.answer-mark{width:40px;height:40px;font-size:21px}.result-hero-copy{padding-left:6%;padding-right:6%}}.compact-height .home-frame{top:12px;bottom:12px;left:12px;right:12px}.compact-height .home-copy{padding-top:20px}.compact-height .home-eyebrow{font-size:15px}.compact-height .home-copy h1{margin-top:8px;font-size:clamp(34px,9.2vw,40px);line-height:1.15}.compact-height .home-rule{margin:10px auto 12px}.compact-height .home-subtitle{font-size:14px;line-height:1.5}.compact-height .home-copy blockquote{margin-top:12px;font-size:14px;line-height:1.55}.compact-height .home-actions{padding-top:14px;padding-bottom:50px}.compact-height .home-actions .button{min-height:56px;font-size:18px}.compact-height .quiz-page{padding-top:max(env(safe-area-inset-top), 8px);padding-bottom:max(env(safe-area-inset-bottom), 8px)}.compact-height .quiz-header{min-height:44px}.compact-height .quiz-brand span{display:none}.compact-height .chapter-title{margin:2px 0 6px;font-size:clamp(25px,6.7vw,31px);line-height:1.25}.compact-height .question-count strong{font-size:20px}.compact-height .question-count span{font-size:15px}.compact-height .progress-track{margin-top:8px;margin-bottom:18px}.compact-height .question-sheet h1{font-size:clamp(19px,5vw,23px);line-height:1.43}.compact-height .question-ornament{display:none}.compact-height .answer-list{gap:8px}.compact-height .answer-row{grid-template-columns:42px minmax(0,1fr);gap:10px;min-height:66px;padding:9px 40px 9px 12px;font-size:14px;line-height:1.48}.compact-height .answer-mark{width:40px;height:40px;font-size:21px}.compact-height .quiz-nav .button{min-height:48px;font-size:15px}.compact-height .quiz-disclaimer{display:none}@media (max-width:619px) and (max-height:680px){.home-copy{padding-top:20px}}@media (min-width:620px){body{padding:24px 0}.public-page,.home-page,.quiz-page,.result-page{min-height:calc(100vh - 48px);min-height:calc(100svh - 48px);min-height:calc(var(--app-visible-height,100svh) - 48px);border-radius:18px}.quiz-page{height:calc(var(--app-visible-height,100svh) - 48px)}.result-hero,.result-hero-copy{min-height:calc(100vh - 48px);min-height:calc(100svh - 48px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
