:root{--ink:#1e2923;--muted:#67736b;--paper:#f5f3ec;--surface:#fffffcc7;--surface-solid:#fffefa;--line:#1f302621;--green:#285b46;--green-dark:#194533;--green-soft:#dce9df;--amber:#d4a154;--danger:#9b4137;--shadow:0 22px 70px #27392e1a;--radius:28px}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;min-width:320px}body{color:var(--ink);background:radial-gradient(circle at 5% 12%, #d2e5d7b3, transparent 27rem), radial-gradient(circle at 96% 6%, #efdbb96b, transparent 24rem), var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible+span{outline-offset:3px;outline:3px solid #285b465c}a{color:inherit}h1,h2,p{margin-top:0}h1,h2{text-wrap:balance}.app-shell{width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:0 20px}.site-header{justify-content:space-between;align-items:center;gap:16px;min-height:78px;display:flex}.brand{color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:8px 0;font-size:19px;font-weight:750;display:inline-flex}.brand-mark{color:#f8f6ef;background:var(--green);border-radius:50%;place-items:center;width:34px;height:34px;font-size:15px;display:grid;box-shadow:0 7px 20px #285b4633}.site-header nav{color:var(--muted);align-items:center;gap:16px;font-size:13px;display:flex}.site-header nav a,footer a{text-underline-offset:4px}.privacy-pill{border:1px solid var(--line);background:#fff6;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;display:none}.privacy-pill i{background:#4f8a63;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #4f8a631f}.hero{align-items:center;min-height:min(690px,100vh - 78px);padding:54px 0 80px;display:grid}.hero-copy{z-index:2;position:relative}.eyebrow{color:var(--green);letter-spacing:.16em;text-transform:uppercase;margin-bottom:15px;font-size:12px;font-weight:800}.hero h1{letter-spacing:-.045em;max-width:720px;margin-bottom:22px;font-family:Georgia,Songti SC,STSong,serif;font-size:clamp(42px,10vw,76px);font-weight:500;line-height:1.08}.hero-copy>p{max-width:590px;color:var(--muted);margin-bottom:28px;font-size:17px;line-height:1.85}.hero-actions,.button-stack{flex-direction:column;align-items:stretch;gap:12px;display:flex}.button{text-align:center;cursor:pointer;border:1px solid #0000;border-radius:15px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:12px 19px;font-weight:720;line-height:1.3;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button:disabled{cursor:not-allowed;opacity:.42}.button.primary{color:#fff;background:var(--green);box-shadow:0 12px 28px #285b4633}.button.primary:hover:not(:disabled){background:var(--green-dark);box-shadow:0 15px 34px #285b4640}.button.large{min-height:56px;padding-inline:24px}.button.secondary{border-color:var(--line);color:var(--ink);background:#ffffff94}.button.secondary:hover:not(:disabled){background:#fff;border-color:#285b464d}.text-button{min-height:44px;color:var(--green);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:8px;font-weight:700;-webkit-text-decoration:underline #285b4659;text-decoration:underline #285b4659}.text-button.danger{color:var(--danger);font-size:13px}.trust-row{color:var(--muted);flex-wrap:wrap;gap:10px 18px;margin-top:27px;font-size:12px;display:flex}.trust-row span:before{content:"✓";color:var(--green);margin-right:6px;font-weight:900}.hero-visual{z-index:0;opacity:.43;pointer-events:none;width:280px;height:280px;position:absolute;top:150px;right:-50px}.mood-lens{place-items:center;width:100%;height:100%;display:grid;position:relative}.lens-ring{border:1px solid #285b466b;border-radius:48% 52% 46% 54%;position:absolute}.lens-ring.outer{animation:9s ease-in-out infinite drift;inset:0}.lens-ring.inner{border-color:#d4a154a6;animation:7s ease-in-out infinite reverse drift;inset:42px}.lens-face{width:104px;height:104px;color:var(--green);box-shadow:var(--shadow);background:#ffffffa8;border-radius:50%;place-items:center;font-family:serif;font-size:52px;display:grid}.sound-wave{background:var(--green);border-radius:9px;width:5px;position:absolute;bottom:50px}.sound-wave.one{height:20px;left:50px}.sound-wave.two{height:38px;left:65px}.sound-wave.three{height:28px;left:80px}.orb{filter:blur(2px);border-radius:50%;position:absolute}.orb-one{background:#d4a15447;width:92px;height:92px;top:-12px;right:-12px}.orb-two{background:#508f6933;width:70px;height:70px;bottom:5px;left:-7px}.center-stage{place-items:start center;min-height:calc(100vh - 158px);padding:28px 0 70px;display:grid}.center-stage>div{width:min(680px,100%)}.flow-card{border-radius:var(--radius);background:var(--surface);width:min(680px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffffbd;padding:28px 20px}.flow-card h1,.results-heading h1,.privacy-page h1{letter-spacing:-.025em;margin-bottom:13px;font-family:Georgia,Songti SC,STSong,serif;font-size:clamp(31px,7vw,46px);font-weight:500;line-height:1.2}.lead{color:var(--muted);font-size:15px;line-height:1.8}.camera-preview{aspect-ratio:4/3;border:1px solid var(--line);background:linear-gradient(145deg,#e3ebe2,#d3dfd7);border-radius:22px;width:100%;margin:23px 0 16px;position:relative;overflow:hidden}.camera-preview video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.camera-placeholder{color:#64776b;place-content:center;justify-items:center;gap:15px;font-size:13px;display:grid;position:absolute;inset:0}.face-guide{border:2px dashed #285b4652;border-radius:50%;place-items:center;width:100px;height:126px;font-size:0;display:grid}.face-frame{pointer-events:none;border:1px solid #ffffffdb;border-radius:48%;width:42%;height:70%;position:absolute;top:12%;left:50%;transform:translate(-50%);box-shadow:0 0 0 999px #132b1f1c}.capture-status{min-height:38px;color:var(--muted);text-align:center;font-size:13px;line-height:1.5}.progress-track{background:#285b461c;border-radius:999px;width:100%;height:5px;margin:0 0 18px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--green);transform-origin:0;width:100%;height:100%;transition:transform .1s linear;display:block}.microcopy,.platform-note{color:var(--muted);text-align:center;margin:16px 0 0;font-size:11px;line-height:1.65}.notice,.error-banner,.data-notice{color:#345846;background:#dce9dfbd;border:1px solid #285b4626;border-radius:14px;padding:13px 15px;font-size:13px;line-height:1.6}.error-banner{color:#7e332c;background:#f9e2ded9;border-color:#9b41372e;width:100%;margin-bottom:14px}.data-notice{text-align:center;margin:0 0 20px}.confidence-note{color:var(--green);background:var(--green-soft);border-radius:999px;margin:0 0 15px;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex}.choice-grid{border:0;gap:10px;margin:22px 0 25px;padding:0;display:grid}.choice-card{border:1px solid var(--line);cursor:pointer;background:#ffffff85;border-radius:17px;align-items:center;gap:14px;min-height:72px;padding:13px 15px;transition:border-color .16s,background .16s,transform .16s;display:flex;position:relative}.choice-card:hover{border-color:#285b4657;transform:translateY(-1px)}.choice-card.is-selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#dce9dfbf}.choice-card input{opacity:0;width:1px;height:1px;position:absolute}.choice-symbol{width:37px;height:37px;color:var(--green);background:#ffffffbf;border-radius:50%;flex:none;place-items:center;font-size:20px;display:grid}.choice-card strong,.choice-card small{display:block}.choice-card strong{margin-bottom:4px;font-size:15px}.choice-card small{color:var(--muted);font-size:12px}.split-actions{grid-template-columns:minmax(90px,.65fr) 1.35fr;gap:10px;display:grid}.select-label{gap:8px;margin:4px 0 20px;font-size:13px;font-weight:720;display:grid}.select-label select{border:1px solid var(--line);width:100%;min-height:49px;color:var(--ink);background:#ffffffb3;border-radius:13px;padding:0 13px}.privacy-payload{color:var(--muted);background:#dce9df73;border-radius:15px;align-items:flex-start;gap:11px;margin-bottom:22px;padding:13px;display:flex}.privacy-payload>span{color:var(--green);font-size:20px}.privacy-payload p{margin:0;font-size:12px;line-height:1.6}.loading-card{text-align:center;place-content:center;justify-items:center;min-height:420px;display:grid}.loading-card h1{margin-top:24px;font-size:31px}.loading-card p{max-width:430px;color:var(--muted);line-height:1.7}.vinyl{background:repeating-radial-gradient(circle,#234b3b 0 5px,#2d5c49 6px 9px);border-radius:50%;place-items:center;width:112px;height:112px;animation:3s linear infinite spin;display:grid;box-shadow:0 18px 40px #285b463d}.vinyl span{border:8px solid var(--amber);background:var(--paper);border-radius:50%;width:30px;height:30px}.results-stage{width:min(820px,100%);margin:0 auto;padding:34px 0 80px}.results-heading{text-align:center;margin-bottom:28px}.results-heading>p{color:var(--muted)}.demo-badge{color:#71541f;background:#eed8aca6;border-radius:999px;padding:7px 11px;font-size:11px;display:inline-block}.recommendation-list{gap:12px;display:grid}.recommendation-card{border:1px solid var(--line);background:#fffffca6;border-radius:22px;gap:13px;padding:19px;display:grid}.recommendation-card.featured{box-shadow:var(--shadow);background:#fffffce0;border-color:#285b4647}.track-number{color:var(--green);background:var(--green-soft);border-radius:999px;place-self:start;padding:5px 9px;font-size:10px;font-weight:800}.track-copy h2{margin-bottom:4px;font-family:Georgia,Songti SC,serif;font-size:24px;font-weight:550}.artist{color:var(--muted);margin-bottom:9px;font-size:13px}.reason{color:#526158;margin:0;font-size:13px;line-height:1.65}.netease-button{color:#fff;background:#d4403a;box-shadow:0 10px 22px #d4403a29}.external{margin-left:2px}.feedback-box{border:1px solid var(--line);background:#ffffff80;border-radius:22px;gap:16px;margin-top:28px;padding:20px;display:grid}.feedback-box h2{margin-bottom:5px;font-size:17px}.feedback-box p{color:var(--muted);margin-bottom:0;font-size:12px}.feedback-options{gap:8px;display:grid}.feedback-options button{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;background:#ffffffad;border-radius:12px;font-weight:650}.feedback-options button.is-selected{border-color:var(--green);color:var(--green);background:var(--green-soft)}.saved-note{font-weight:700;color:var(--green)!important}.result-actions{flex-direction:column;gap:5px;margin-top:22px;display:flex}.history-section{border-top:1px solid var(--line);margin:0 auto 70px;padding:35px 0 0}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.section-heading .eyebrow{margin-bottom:8px}.section-heading h2{margin-bottom:0;font-family:Georgia,Songti SC,serif;font-size:27px;font-weight:500}.empty-history{color:var(--muted);font-size:13px}.history-list{gap:10px;display:grid}.history-item{border:1px solid var(--line);background:#ffffff6b;border-radius:17px;padding:15px}.history-meta{justify-content:space-between;gap:15px;margin-bottom:9px;font-size:12px;display:flex}.history-meta time{color:var(--muted)}.history-songs{flex-wrap:wrap;gap:7px 15px;display:flex}.history-songs a{color:var(--green);text-underline-offset:3px;font-size:12px}.history-pagination{color:var(--muted);justify-content:center;align-items:center;gap:12px;padding-top:10px;font-size:12px;display:flex}.history-page-button{border:1px solid var(--line);min-height:44px;color:var(--green);font:inherit;cursor:pointer;background:#ffffff8f;border-radius:999px;padding:0 18px;font-weight:700}.history-page-button:disabled{opacity:.42;cursor:not-allowed}footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;flex-direction:column;gap:6px;padding:25px 0 35px;font-size:11px;line-height:1.6;display:flex}footer p{margin:0}.privacy-page{width:min(760px,100% - 38px);margin:0 auto;padding:32px 0 70px}.back-link{color:var(--green);text-underline-offset:4px;margin-bottom:35px;font-size:13px;display:inline-block}.privacy-page article{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);border:1px solid #ffffffb8;padding:28px 20px}.privacy-page section{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.privacy-page h2{margin-bottom:12px;font-size:19px}.privacy-page section p,.privacy-page li{color:#536158;font-size:14px;line-height:1.8}.privacy-page ul{padding-left:21px}.privacy-return{margin-top:18px}.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}@keyframes drift{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(12deg)scale(1.04)}}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:560px){.app-shell{padding-inline:28px}.privacy-pill{display:inline-flex}.hero-actions{align-items:flex-start}.flow-card{padding:40px}.mood-grid{grid-template-columns:repeat(2,1fr)}.mood-grid .choice-card:last-child{grid-column:1/-1}.goal-grid{grid-template-columns:repeat(2,1fr)}.feedback-options{grid-template-columns:repeat(3,1fr)}.result-actions{flex-direction:row;justify-content:center;align-items:center}.recommendation-card{grid-template-columns:75px 1fr auto;align-items:center}.recommendation-card .button{max-width:165px}.privacy-page article{padding:45px}}@media (min-width:850px){.hero{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:30px;position:relative}.hero-visual{opacity:1;justify-self:center;width:min(390px,34vw);height:min(390px,34vw);position:relative;top:auto;right:auto}.center-stage{place-items:center;padding-top:35px}.history-section{width:88%}footer{text-align:left;flex-direction:row;justify-content:space-between}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
