:root {
  --paper:#f5f1e8; --surface:#fffcf6; --ink:#32283d; --muted:#786b7d; --line:#d8cfce;
  --accent:#684b8a; --coral:#e89476; --lime:#d9e68b; --lavender:#d8c9e7; --blue:#bdd9d7; --green:#63897c;
  --sans:'Avenir Next',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;
  --display:'Avenir Next','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;
  color:var(--ink); background:var(--paper); font-family:var(--sans); font-synthesis:none; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased;
}
*{box-sizing:border-box} html{scrollbar-gutter:stable;scroll-behavior:smooth} body{margin:0;min-width:320px;font-size:14px;line-height:1.6}
h1,h2,h3,h4,p,dl,dd{margin:0} button,input,select,textarea{font:inherit;color:inherit} button{min-width:44px;min-height:44px;padding:0;border:0;background:none;cursor:pointer;touch-action:manipulation}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent} button,a{transition:color .18s,background .18s,border-color .18s,transform .18s,box-shadow .18s}
button:disabled{cursor:not-allowed;opacity:.42} a{color:inherit;text-underline-offset:4px} button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8a62a4;outline-offset:4px}
input,textarea{outline:0} ::selection{background:var(--lime);color:var(--ink)} ::placeholder{color:#918293;opacity:1}
.icon{flex:0 0 auto;width:18px;height:18px;vertical-align:middle}.shell{width:min(100%,1248px);margin:0 auto;padding:0 48px}
.topbar{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:25px}.brand{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.brand-name{font-family:var(--display);white-space:nowrap;font-size:29px;font-weight:600;letter-spacing:0}.brand-dot{display:inline-block;color:#a76756;margin-left:1px;transform:rotate(12deg)}
.top-actions{display:flex;align-items:center;gap:20px}.nav-button{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.nav-button:hover,.nav-button.active{color:var(--accent)}.nav-button .icon{width:16px;height:16px}.count-badge{display:grid;place-items:center;min-width:21px;height:21px;border-radius:50%;background:#e7ddd9;font-size:12px;margin-left:1px}
.main{min-height:70vh}.workspace{padding:26px 0 0}.form-panel{display:grid;grid-template-columns:248px minmax(0,1fr);gap:0 47px;align-items:start}.brief-rail{display:flex;flex-direction:column;gap:19px;grid-column:1;grid-row:1/3;padding-right:25px;border-right:1px solid #ddd3d0}.explore-section{grid-column:2;grid-row:1;min-width:0}
.brief-rail .language-row{margin-bottom:0}.language-row{display:flex;align-items:center;gap:8px;margin:0 0 22px;padding:3px;background:#e8dfdb;border-radius:6px}.language-button{flex:1;min-height:39px;padding:7px 5px;border-radius:4px;color:#8c738a;font-size:13px}.language-button.selected{background:var(--surface);color:var(--ink);font-weight:600}.language-button:hover{color:var(--accent)}
.essentials-row{display:grid;gap:20px}.scene-grid{display:flex;gap:7px}.scene-card{flex:1;min-height:42px;border:1px solid var(--line);border-radius:5px;font-size:12px;color:var(--muted)}.scene-card.selected{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field-label{font-size:13px;font-weight:600}.optional{display:inline;font-size:12px;color:var(--muted);font-weight:400;margin-left:4px}
.text-input{width:100%;min-width:0;min-height:47px;padding:10px 12px;background:var(--surface);border:1px solid #d5c7cf;border-radius:5px;font-size:16px;transition:border-color .18s,box-shadow .18s}.text-input:hover{border-color:#a28caa}.text-input:focus{border-color:#80618f;box-shadow:0 0 0 3px #e5dced}textarea.text-input{min-height:102px;resize:vertical;line-height:1.8}
.surname-field .text-input{font-family:var(--display);font-size:28px}.surname-field .text-input::placeholder{font-family:var(--sans);font-size:12px}
.entry-tabs{display:flex;align-items:center;gap:8px;margin-bottom:21px;padding-bottom:14px;border-bottom:1px solid #d9cbcf}.entry-tab{position:relative;min-height:42px;padding:9px 15px;border-radius:5px;color:#8b7389;font-size:13px;white-space:nowrap}.entry-tab.selected{background:var(--ink);color:var(--surface);font-weight:600}.entry-tab:hover:not(.selected){background:#e9dfe8;color:#60436f}
.culture-shelf{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.culture-book{display:inline-flex;align-items:center;gap:7px;min-height:38px;color:#8a7286;text-align:left;white-space:nowrap}.book-index{font:12px Georgia,serif;color:#a2909b}.culture-book strong{font-size:14px;font-weight:500}.culture-book.selected strong{color:#6d4578;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}.culture-book:hover strong{color:#6d4578}
.source-grid{display:grid;gap:10px}.source-card{position:relative;min-width:0;padding:1px 17px 7px;border:1px solid #dfd3cf;border-radius:6px;background:#fdfaf3;transition:background .18s,border-color .18s}.source-card.selected{border-color:#95719f;background:#eee4f2}.source-card:hover{border-color:#b4a0b8}
.source-pick{display:flex;align-items:flex-start;position:relative;width:100%;min-height:56px;padding:14px 33px 3px 0;text-align:left}.source-quote{font-family:var(--display);font-size:24px;line-height:1.7;letter-spacing:.01em}.source-select{display:grid;place-items:center;position:absolute;top:20px;right:0;width:21px;height:21px;border:1px solid #cebdcb;border-radius:50%;color:#987a94;font-size:18px;line-height:1}.source-select .icon{width:12px;height:12px}.source-card.selected .source-select{color:var(--surface);background:#805b8b;border-color:#805b8b}
.source-attribution{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:29px;color:#897288;font-size:13px}.source-attribution a{display:inline-flex;align-items:center;min-height:32px;font-size:13px;text-decoration:none;white-space:nowrap}.source-attribution a:hover{color:#664575;text-decoration:underline}
.source-names{display:flex;align-items:center;flex-wrap:wrap;gap:2px 8px;margin:0 0 3px;min-width:0}.source-names-label{flex:0 0 auto;margin-right:2px;color:var(--muted);font-size:12px;white-space:nowrap}.source-name{flex:0 0 auto;min-height:44px;padding:5px 7px;border-radius:4px;font-family:var(--display);font-size:19px;font-weight:500;line-height:1.4;white-space:nowrap;word-break:keep-all;text-decoration:underline;text-decoration-color:#cdb9cf;text-decoration-thickness:1px;text-underline-offset:5px}.source-name:hover{background:#e9dfe8;color:var(--accent);text-decoration-color:currentColor}
.meaning-grid,.inspiration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meaning-card,.inspiration-card{position:relative;display:flex;align-items:center;min-width:0;gap:13px;padding:20px 28px 20px 18px;min-height:102px;text-align:left;background:#fffaf0;border:1px solid #dfd2cb;border-radius:6px}.meaning-card:nth-child(3n+2),.inspiration-card:nth-child(3n+2){background:#f0e9f3}.meaning-card:nth-child(3n),.inspiration-card:nth-child(3n){background:#edf0de}.meaning-card>.icon{display:none}.meaning-card strong{display:block;font-family:var(--display);font-size:23px;font-weight:500;white-space:nowrap}.meaning-card small{display:block;color:#89718a;font-size:12px;margin-top:5px}.meaning-check,.example-check{position:absolute;right:13px;top:18px;color:#9b8098;font-size:18px}.meaning-check .icon,.example-check .icon{width:14px;height:14px}.meaning-card.selected,.inspiration-card.selected{border-color:#8d659a;box-shadow:inset 0 0 0 1px #8d659a}.meaning-card:hover,.inspiration-card:hover{transform:translateY(-2px);border-color:#a887b1}
.inspiration-card{display:block}.example-names{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-family:var(--display);font-size:27px;line-height:1.4}.example-separator{font-size:16px;font-weight:300;color:#b395a4}.example-tone{display:block;margin-top:6px;color:#8b7088;font-size:13px}
.selection-strip{display:flex;flex-wrap:wrap;gap:7px;padding-top:15px}.selected-token{display:inline-flex;align-items:center;gap:7px;min-height:35px;padding:6px 10px;border:1px solid #c0a6c5;border-radius:4px;background:#eaddf0;color:#725380;font-size:12px}.selected-token .icon{width:11px;height:11px}.selected-token:hover{background:#decee8}
.bazi-section{margin-top:26px;border-top:1px solid var(--line)}.extra-preferences{border-top:1px solid var(--line)}.details-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:51px;font-size:13px;text-align:left}.details-toggle>span:first-child{display:inline-flex;align-items:center;gap:8px}.details-toggle>span:last-child{color:var(--muted);font-size:12px;white-space:nowrap}.details-toggle:hover{color:var(--accent)}.details-toggle .icon{width:14px;height:14px}.bazi-seal{display:grid;place-items:center;width:20px;height:22px;border:1px solid #b79183;border-radius:2px;font-family:var(--display);font-size:13px;color:#9e735f}
.bazi-fields{display:grid;gap:17px;padding:3px 0 22px}.bazi-modes{display:flex;gap:19px}.bazi-mode{min-height:36px;font-size:13px;color:#927a8d;border-bottom:1px solid transparent}.bazi-mode.selected{color:#775683;border-color:#94729e}.birth-row{display:grid;gap:14px}.birth-row .text-input{font-size:16px}.birth-convention{margin-top:-7px;color:#947b8b;font-size:13px}.element-row{display:grid;gap:8px}.element-chips{display:flex;gap:5px}.element-chip{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:39px;border:1px solid #d5c5cb;border-radius:4px;background:#fff9f0;font-family:var(--display);font-size:18px}.element-chip .icon{width:10px;height:10px}.element-chip.selected{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.optional-fields{padding:5px 0 24px}.preference-grid{display:grid;gap:18px}.segmented{display:flex;flex-wrap:wrap;gap:5px}.segment{flex:1;min-width:40px;min-height:39px;padding:6px 5px;font-size:13px;color:#786175;border:1px solid #d8c8d0;border-radius:4px;white-space:nowrap}.segment.selected{background:var(--ink);color:var(--surface);border-color:var(--ink)}.segment:hover:not(.selected){background:#eadfea;border-color:#bca5c3}.strict-toggle{display:inline-flex;align-items:center;gap:7px;min-height:30px;width:fit-content;font-size:13px;color:#92768a;cursor:pointer}.strict-toggle input{width:14px;height:14px;margin:0;accent-color:var(--accent)}
.form-footer{grid-column:2;display:flex;align-items:center;gap:18px;padding-top:23px}.form-footer .wishes-field{flex:1;min-width:0}.form-footer .text-input{font-size:16px;background:#fffcf5;border-radius:5px}
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:47px;padding:11px 20px;border:1px solid var(--ink);border-radius:5px;font-size:14px;font-weight:600;text-decoration:none}.primary-button{background:var(--ink);color:var(--lime);border-color:var(--ink)}.primary-button:hover:not(:disabled){background:#54425e;border-color:#54425e;transform:translateY(-2px)}.secondary-button{background:transparent;border-color:#bba5be;color:#785786}.secondary-button:hover:not(:disabled){background:#ece0f0;border-color:#92719f}.start-button{min-width:176px;min-height:49px;white-space:nowrap}.start-button .icon{width:16px;height:16px}
.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;color:#84708a;text-decoration:none}.text-button .icon{width:15px;height:15px}.text-button:hover{color:#583c67}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:5px}.icon-button:hover{background:#e8dce9;color:#684a77}
.request-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 15px;margin-top:19px;border:1px solid #cbbed2;border-radius:6px;background:#eee3f1;font-size:13px;color:#76577f}.request-status.is-loading::before{content:'';width:14px;height:14px;border:1.5px solid #c9b5d2;border-top-color:#785282;border-radius:50%;animation:spin .8s linear infinite}.request-error{background:#f6e1d7;color:#9a5744;border-color:#d9b4a6}
.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:58px;padding:20px 0 27px;border-top:1px solid #d9cccf;color:#947b8e;font-size:13px}.footer>span:first-child{font-size:15px;font-weight:600;letter-spacing:0}.footer .text-button{font-size:13px}
.toast{position:fixed;left:50%;bottom:25px;z-index:100;max-width:calc(100vw - 36px);padding:12px 19px;background:var(--ink);color:var(--paper);border-radius:7px;transform:translate(-50%,10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility .18s;font-size:13px}.toast.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
.hidden,[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.shell{padding:0 32px}.form-panel{grid-template-columns:220px minmax(0,1fr);column-gap:29px}.brief-rail{padding-right:20px}.entry-tabs{gap:6px}.entry-tab{padding:8px 10px;font-size:12px}.culture-shelf{gap:12px}.culture-book{gap:5px}.book-index{display:none}.source-quote{font-size:22px}.form-footer{gap:12px}.start-button{min-width:151px;padding:11px 14px}.meaning-card strong{font-size:22px}.example-names{font-size:26px}}
@media(max-width:760px){html{scrollbar-gutter:auto}.shell{padding:0 24px}.topbar{min-height:74px}.brand-name{font-size:28px}.workspace{padding-top:17px}.form-panel{display:flex;flex-direction:column;align-items:stretch}.brief-rail{display:contents}.brief-rail>.purpose-options{order:0;margin-bottom:18px}.brief-rail>.field{order:1;margin-bottom:18px}.brief-rail>.member-fields{order:1;margin-bottom:19px}.language-row{order:0;margin-bottom:18px}.essentials-row{order:1;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:23px}.scene-grid{align-self:end}.surname-field .text-input{font-size:26px}.explore-section{order:2}.entry-tabs{gap:5px;justify-content:flex-start;flex-wrap:wrap;margin-bottom:16px;padding-bottom:12px}.entry-tab{font-size:12px;padding:8px 14px;min-height:41px}.culture-shelf{gap:14px;margin-bottom:12px}.culture-book strong{font-size:14px}.source-card{padding:0 14px 5px}.source-pick{padding:12px 31px 2px 0;min-height:54px}.source-quote{font-size:22px}.source-select{top:18px}.source-attribution{font-size:13px;gap:8px}.meaning-card,.inspiration-card{min-height:94px;padding:19px 26px 19px 15px}.meaning-card strong{font-size:22px}.example-names{font-size:26px}.bazi-section{order:3;margin-top:24px}.extra-preferences{order:4}.bazi-fields{padding:6px 0 20px}.birth-row{grid-template-columns:1fr 1fr;gap:13px}.birth-row .optional{display:block;margin-left:0}.birth-row>.field{justify-content:flex-end}.element-row{grid-template-columns:1fr auto;align-items:center}.element-chip{min-width:38px}.preference-grid{grid-template-columns:1fr 1fr;gap:18px 15px}.text-input{font-size:16px}.form-footer{order:5;padding-top:19px;flex-direction:column;align-items:stretch;gap:13px}.form-footer .text-input{font-size:16px}.start-button{position:fixed;left:24px;right:24px;bottom:max(12px,env(safe-area-inset-bottom));z-index:20;width:auto;min-height:54px;padding:13px 19px;font-size:15px;justify-content:space-between;border-radius:6px;box-shadow:0 4px 20px #32283d30}.shell:has(.start-button){padding-bottom:88px}body:has(.start-button) .toast{bottom:88px}.footer{margin-top:41px}}
@media(max-width:440px){.shell{padding:0 20px}.start-button{left:20px;right:20px}.topbar{min-height:70px}.top-actions{gap:16px}.nav-button{font-size:13px}.essentials-row{gap:14px}.source-quote{font-size:20px}.culture-shelf{gap:11px}.culture-book strong{font-size:14px}.entry-tab{padding:8px 10px;font-size:12px}.meaning-grid,.inspiration-grid{gap:10px}.meaning-card,.inspiration-card{padding-left:12px;min-height:88px}.meaning-card strong{font-size:22px}.example-names{font-size:26px;gap:5px}.example-tone,.meaning-card small{font-size:13px}.preference-grid{grid-template-columns:1fr}.element-row{grid-template-columns:1fr}.footer{margin-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Keep sample names whole; split between choices, never through a name. */
.example-names [data-example-name]{white-space:nowrap}.text-input{scroll-margin-bottom:104px}.source-quote{text-wrap:pretty}.brand-dot{transform:none}
@media(max-width:440px){.meaning-card strong{font-size:19px}.meaning-card{padding-right:23px}.example-names{font-size:22px;gap:5px}.example-separator{font-size:13px}}

/* Adjust a result's preferences without sending people back through onboarding. */
.result-editor{margin:20px 0 30px;padding:26px 30px;background:var(--surface);border:1px solid var(--line);border-radius:20px;scroll-margin-top:20px}
.result-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.result-editor-heading h2{font-size:22px;font-weight:600;letter-spacing:-.03em}
.result-editor-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:22px}
.result-editor-tabs button{padding:7px 19px;border-radius:24px;white-space:nowrap;color:var(--muted)}
.result-editor-tabs button.selected{background:var(--ink);color:var(--surface)}
.result-editor-content{max-width:840px;margin:0 auto;display:grid;gap:20px;min-width:0}
.result-editor-content .extra-preferences{margin:0}.result-editor-content .basic-fields{max-width:700px;width:100%;margin:0 auto}
.result-editor-footer{display:flex;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:640px){.result-editor{padding:20px 16px;border-radius:16px}.result-editor-tabs{gap:2px}.result-editor-tabs button{padding:6px 13px}.result-editor-footer .primary-button{width:100%}}
.result-editor ~ .results-layout .feedback-panel{display:none}
.result-editor ~ .results-layout .similar-button,.result-editor ~ .results-layout .reject-button{display:none}
.result-edit-backdrop{position:fixed;inset:0;z-index:80;background:#32283d45;display:flex;justify-content:flex-end;backdrop-filter:blur(2px)}
.result-edit-backdrop .result-editor{width:min(620px,100%);height:100dvh;overflow-y:auto;overscroll-behavior:contain;margin:0;border-radius:24px 0 0 24px;padding:22px 28px 0;box-shadow:-12px 0 60px #32283d1c;border:0;outline:none;scrollbar-gutter:stable}
.result-editor .result-editor-heading{position:sticky;top:-22px;z-index:3;background:var(--surface);padding:15px 0 12px;margin-top:-15px;margin-bottom:0}
.result-editor .result-editor-tabs{position:sticky;top:40px;z-index:2;background:var(--surface);padding:8px 0 14px}
.result-editor .result-editor-content{max-width:100%}.result-editor .poetry-package{min-height:125px}
.result-editor .result-editor-footer{position:sticky;bottom:0;padding:16px 0 22px;margin-top:20px;background:var(--surface);z-index:3}
.result-editor .result-editor-footer .primary-button{width:100%}
.result-edit-backdrop ~ .results-layout .feedback-panel,.result-edit-backdrop ~ .results-layout .similar-button,.result-edit-backdrop ~ .results-layout .reject-button{display:none}
@media(max-width:640px){.result-edit-backdrop .result-editor{border-radius:0;padding:20px 18px 0}.result-editor .result-editor-tabs{top:42px}.result-editor .result-editor-content{gap:15px}}
