/* 姓名書房 / 20261002atelier2 */
body.nm-room-open>:not(#nm-room):not(script):not(style):not(link){visibility:hidden}
.nm-room{--nm-gold:#dfc18a;--nm-ink:#cbd7df;--nm-paper:#f0e2c3;position:fixed;inset:0;z-index:1500;background:#0b1522;color:var(--nm-ink);overflow:hidden;font-family:var(--f-body,'Noto Sans TC',sans-serif);color-scheme:dark;isolation:isolate}
.nm-room *{box-sizing:border-box}.nm-room button,.nm-room input,.nm-room select,.nm-room textarea{font:inherit}.nm-room button{cursor:pointer}.nm-room [hidden]{display:none!important}
.nm-room button:focus-visible,.nm-room a:focus-visible,.nm-room summary:focus-visible{outline:2px solid #efd59d;outline-offset:4px}
.nm-room input:focus,.nm-room textarea:focus,.nm-room select:focus{outline:2px solid #dfc18a75;border-color:var(--nm-gold)}
.nm-header{height:86px;padding:15px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d5c49720;position:relative;background:#0b1522e8;z-index:2}
.nm-brand{display:flex;align-items:center;gap:13px}.nm-seal{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d6bc8670;border-radius:11px;color:var(--nm-gold);font-family:var(--f-display,serif);font-size:23px;background:#d0b77e0b}
.nm-brand b{display:block;color:#f0e1c1;font-family:var(--f-display,serif);letter-spacing:.15em;font-size:19px;font-weight:500}.nm-brand small{display:block;color:#9aabbb;font-size:9px;letter-spacing:.18em;margin-top:4px}
.nm-close{width:44px;height:44px;border:1px solid #a8b4b03b;border-radius:50%;color:#d9d6c8;background:#ffffff06;font-size:23px}
.nm-layout{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(0,1.25fr);height:calc(100dvh - 86px);max-width:1540px;margin:auto}
.nm-atmosphere{display:flex;flex-direction:column;justify-content:center;padding:42px 38px;background:radial-gradient(ellipse at 50% 64%,#3a433733,transparent 70%);position:relative;overflow:hidden}
.nm-atmosphere:before{content:'';position:absolute;inset:24px 23px;border:1px solid #ddc18b14;border-radius:180px 180px 16px 16px;pointer-events:none}
.nm-eyebrow{color:#c4b28a;font-size:10px;letter-spacing:.18em;line-height:1.8;text-transform:uppercase}.nm-atmosphere h1{font-family:var(--f-display,serif);font-size:40px;line-height:1.6;font-weight:500;letter-spacing:.06em;color:#f4e6c8;margin:13px 0 0}.nm-atmosphere h1 em{color:var(--nm-gold);font-style:normal}
.nm-atmosphere>p{font-size:13px;line-height:2;color:#a8b7c3;max-width:350px;margin:15px 0 0}
.nm-stage{position:relative;width:100%;height:330px;min-height:220px;max-height:44vh;touch-action:pan-y;pointer-events:none;margin:12px 0 0}.nm-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .3s}.nm-stage canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .3s}.nm-stage.nm-webgl canvas{opacity:1}.nm-stage.nm-webgl img{opacity:0}.nm-stage.nm-static canvas{opacity:1}
.nm-stage-caption{text-align:center;font-size:10px;letter-spacing:.16em;color:#b0a58b;margin:0 0 12px}.nm-principles{display:flex;gap:18px;flex-wrap:wrap;align-self:center;color:#8fa4b3;font-size:10px;letter-spacing:.08em}.nm-principles span:before{content:'✧';color:#bd9e64;margin-right:6px}
.nm-content{overflow:auto;overscroll-behavior:contain;padding:32px 42px 60px;border-left:1px solid #d5c49715;scrollbar-color:#756443 #0b1522;scrollbar-width:thin;background:linear-gradient(145deg,#1823304d,transparent 70%);min-width:0;scroll-padding-top:25px}
.nm-path{display:flex;gap:0;margin:0 0 30px;padding:0;list-style:none;align-items:center}.nm-path li{display:flex;align-items:center;gap:7px;font-size:11px;color:#7e929f;flex:1;white-space:nowrap}.nm-path li:not(:last-child):after{content:'';height:1px;background:#e1c79220;width:24px;margin-left:auto;margin-right:10px}.nm-path i{display:grid;place-items:center;width:22px;height:22px;border:1px solid #b1ada537;border-radius:50%;font-size:10px;font-style:normal}.nm-path [aria-current=step]{color:#efd8a5}.nm-path [aria-current=step] i{background:#c5a16b1c;border-color:#d9b57685}
.nm-heading{font-family:var(--f-display,serif);font-weight:500;font-size:26px;line-height:1.6;color:#ece0c7;margin:0 0 8px;letter-spacing:.06em}.nm-lead{font-size:13px;line-height:1.9;margin:0 0 25px;color:#aabdc9}
.nm-mode{display:flex;padding:5px;gap:5px;background:#030b135c;border:1px solid #c2b18425;border-radius:13px;margin-bottom:26px}.nm-mode button{flex:1;min-height:44px;background:transparent;border:0;border-radius:9px;color:#91a7b6;font-size:13px}.nm-mode button[aria-pressed=true]{background:linear-gradient(110deg,#86724640,#4f4a3830);color:#f0dcad;box-shadow:inset 0 1px 0 #f8e0ad35}
.nm-fields{display:grid;grid-template-columns:1fr 1.4fr;gap:16px}.nm-field{margin-bottom:19px;min-width:0}.nm-field>label{display:block;font-size:12px;line-height:1.7;color:#d6d9cf;margin-bottom:7px}.nm-optional{color:#869cab;font-size:10px;margin-left:6px}.nm-field small,.nm-note{display:block;font-size:11px;line-height:1.9;color:#8fa5b2;margin:7px 0 0}.nm-field input,.nm-field select,.nm-field textarea{width:100%;min-height:48px;background:#07101f6b;border:1px solid #aebbad38;border-radius:10px;color:#ede3d1;padding:12px 14px;transition:border-color .2s}.nm-field input[type=date],.nm-field input[type=time]{min-width:0}.nm-field textarea{resize:vertical;min-height:93px;line-height:1.8}.nm-field input::placeholder,.nm-field textarea::placeholder{color:#657a89;opacity:1}
.nm-name-input{font-family:var(--f-display,serif)!important;font-size:22px!important;letter-spacing:.12em}
.nm-details{border:1px solid #b4bead28;border-radius:13px;margin:8px 0 22px;background:#0a142280}.nm-details summary{cursor:pointer;min-height:46px;font-size:12px;line-height:1.8;color:#cdc7ac;padding:13px 15px}.nm-details>div{padding:0 16px 12px}.nm-details .nm-fields{gap:13px}.nm-details p{font-size:11px;line-height:1.9;color:#99afba}.nm-details a{color:#d8c18c;text-underline-offset:4px}
.nm-action{width:100%;min-height:51px;background:linear-gradient(110deg,#dec796,#b99b66);color:#142130;border:1px solid #efdba9;border-radius:12px;font-weight:600;letter-spacing:.03em;box-shadow:0 7px 20px #0002;display:flex;align-items:center;justify-content:center;gap:13px}.nm-action:disabled{opacity:.55;cursor:wait}.nm-action svg{width:18px}.nm-secondary{min-height:44px;border:1px solid #ccbd902e;border-radius:10px;background:#c2b18309;color:#cbd3ce;padding:10px 15px;font-size:12px}.nm-error{font-size:12px;line-height:1.9;color:#f1c1ad;border:1px solid #d99d6952;background:#9b573a18;padding:12px 15px;border-radius:10px;margin:15px 0}.nm-status{font-size:11px;line-height:1.8;color:#c4c4ae;margin:12px 0;min-height:20px}
.nm-review-list{display:grid;gap:10px;margin-bottom:20px}.nm-review-row{background:linear-gradient(120deg,#172738,#0e1a29);border:1px solid #cdbb892b;border-radius:13px;padding:14px;display:grid;grid-template-columns:43px 1fr;gap:13px}.nm-glyph{font-family:var(--f-display,serif);font-size:32px;color:#ead8ac;line-height:1.6}.nm-char-data{font-size:10px;line-height:1.8;color:#95aebe;margin:0 0 10px}.nm-review-controls{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px}.nm-review-controls label{display:block;font-size:10px;color:#b7c6c9;margin-bottom:6px}.nm-review-controls input{width:100%;min-height:42px;border:1px solid #aca6843d;border-radius:7px;padding:9px 10px;background:#080f1e85;color:#f0e2c3;font-size:12px}.nm-review-row.is-unknown{border-color:#bda06480}.nm-pair-actions{display:flex;gap:12px;margin-top:23px}.nm-pair-actions>.nm-action{flex:1}.nm-pair-actions>.nm-secondary{flex:0 0 auto}
.nm-result-title{display:flex;align-items:baseline;gap:15px;flex-wrap:wrap;margin:0 0 8px}.nm-result-title h2{font-family:var(--f-display,serif);color:#f2dfb9;font-size:36px;letter-spacing:.15em;margin:0;font-weight:500;line-height:1.6}.nm-result-title span{font-size:10px;color:#a5b8c0}.nm-result-summary{border-left:2px solid #d8b674;padding:5px 0 5px 15px;font-size:13px;line-height:2;color:#c4d3d9;margin:19px 0 22px}
.nm-result-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.nm-result-tabs button{border:1px solid #abaf9652;border-radius:100px;color:#b6c7c9;background:#0c1725;padding:10px 16px;min-height:44px;font-size:12px}.nm-result-tabs button[aria-pressed=true]{color:#edd6a2;border-color:#d7b77c;background:#b79a5e1a}
.nm-school{border:1px solid #c2b08425;background:linear-gradient(120deg,#17233180,#0f1b2a80);border-radius:16px;padding:22px;margin-bottom:16px;scroll-margin-top:20px}.nm-school header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}.nm-school h3{font-family:var(--f-display,serif);font-size:19px;font-weight:500;color:#e5d6b6;margin:0;letter-spacing:.06em}.nm-school header small{font-size:9px;letter-spacing:.08em;color:#a6b8a5;border:1px solid #aaba9235;border-radius:100px;padding:4px 9px}.nm-school p{font-size:12px;line-height:2;color:#b3c6d0;margin:9px 0}.nm-school .nm-muted{color:#8199a9;font-size:10px}.nm-grid-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.nm-grid-fact{background:#020b1550;border:1px solid #c4b28822;border-radius:10px;padding:12px 5px;text-align:center}.nm-grid-fact span{display:block;font-size:10px;color:#a6b8bb}.nm-grid-fact b{display:block;font-family:var(--f-display,serif);font-weight:500;font-size:29px;line-height:1.6;color:#edd7aa}.nm-grid-fact small{font-size:9px;color:#b8c8be}
.nm-grid-list{margin-top:18px}.nm-grid-list>div{display:grid;grid-template-columns:45px minmax(0,1fr);gap:10px;padding:12px 0;border-top:1px solid #ccd0af12}.nm-grid-list strong{font-size:11px;font-weight:500;color:#d9c596}.nm-grid-list p{font-size:11px;margin:0;line-height:1.9}.nm-formula{color:#8da4b3;font-size:10px;display:block;margin-top:4px}
.nm-three{display:flex;gap:10px;justify-content:center;margin:20px 0}.nm-three span{padding:15px 21px;border:1px solid #c8b98232;border-radius:12px;background:#d6bd8310;color:#e1cda4;font-family:var(--f-display,serif);font-size:23px}.nm-three i{color:#847d66;align-self:center;font-style:normal;font-size:15px}
.nm-character{border-top:1px solid #c2bb9318;padding:13px 0;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px}.nm-character>b{font-family:var(--f-display,serif);font-size:25px;color:#e3d0a5;font-weight:500}.nm-character p{margin:2px 0;font-size:11px;line-height:1.9}.nm-tag-list{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0}.nm-tag-list span{font-size:9px;border-radius:5px;background:#bdc19d0e;color:#b8c9c4;padding:5px 8px;border:1px solid #b3b99b20}.nm-tag-list .nm-restrict{color:#ddbb9e;background:#96674712;border-color:#cc926e30}
.nm-gua{display:flex;gap:18px;align-items:center;justify-content:center;margin:16px 0}.nm-gua div{text-align:center}.nm-gua b{display:block;font-size:51px;font-weight:400;color:#cfb687;line-height:1.3}.nm-gua strong{font-family:var(--f-display,serif);color:#d4d4c5;font-size:15px;font-weight:500}.nm-gua>span{color:#7891a1}.nm-quote{border-left:2px solid #ad925863;padding-left:13px;color:#d8ccb0!important;font-family:var(--f-display,serif);font-size:13px!important}
.nm-bazi-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:17px 0}.nm-bazi-pillars div{text-align:center;padding:12px 4px;background:#0002;border:1px solid #c4b07d25;border-radius:10px}.nm-bazi-pillars small{font-size:9px;color:#90a5b0}.nm-bazi-pillars b{display:block;font-family:var(--f-display,serif);font-size:23px;font-weight:500;color:#d9c295;line-height:1.7}
.nm-checklist{padding-left:18px;font-size:11px;color:#aec4cd;line-height:2}.nm-checklist li{margin-bottom:5px}.nm-coverage{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.nm-coverage span{padding:5px 8px;border:1px solid #b2c2a728;border-radius:6px;font-size:9px;color:#a2b7b8}.nm-coverage .nm-await{color:#bdaa89;border-color:#b49a682a}.nm-compare-scroll{overflow-x:auto;margin:12px 0 24px;border:1px solid #bfb78d29;border-radius:12px}.nm-compare-table{width:100%;border-collapse:collapse;min-width:360px;font-size:11px;text-align:left}.nm-compare-table th{font-weight:500;color:#ded0ad;background:#1c2836;padding:13px 12px;white-space:nowrap}.nm-compare-table td{padding:12px;border-top:1px solid #b2b49316;color:#b3c6d0;line-height:1.7}.nm-compare-table th:first-child{width:75px}.nm-export{padding:23px 0 0;margin-top:10px;border-top:1px solid #cdc19424}.nm-export>p{font-size:11px;line-height:1.9;color:#93a9b8;margin:10px 0}.nm-export-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.nm-footer-note{font-size:10px!important;line-height:1.9;color:#7f96a4!important;margin-top:20px!important}.nm-prompt-preview{white-space:pre-wrap;font-size:10px;line-height:1.8;max-height:260px;overflow:auto;background:#030a14;padding:13px;border:1px solid #baa77125;border-radius:8px;overflow-wrap:anywhere}
@media(min-width:1500px){.nm-atmosphere{padding:45px 65px}.nm-content{padding:40px 60px 65px}.nm-stage{height:390px}}
@media(max-width:850px){.nm-header{height:73px;padding:12px 20px}.nm-layout{height:calc(100dvh - 73px);grid-template-columns:1fr;overflow:auto;display:block;overscroll-behavior:contain}.nm-atmosphere{padding:26px 25px 18px;min-height:255px;display:grid;grid-template-columns:1fr 43%;column-gap:0;align-items:center}.nm-atmosphere:before{inset:14px;border-radius:22px}.nm-atmosphere .nm-eyebrow{grid-column:1;align-self:end;font-size:8px}.nm-atmosphere h1{font-size:27px;margin-top:8px;grid-column:1;align-self:start;z-index:1}.nm-atmosphere>p{font-size:11px;line-height:1.9;grid-column:1/3;max-width:none;margin:7px 0 0}.nm-stage{grid-column:2;grid-row:1/3;width:128%;justify-self:center;height:190px;min-height:170px;margin:0}.nm-stage-caption{grid-column:1/3;font-size:8px;margin:10px 0 8px}.nm-principles{grid-column:1/3;justify-content:center;gap:13px;font-size:9px}.nm-content{overflow:visible;border-left:0;border-top:1px solid #d5c49715;padding:25px 24px 55px;scroll-padding-top:15px}.nm-path{margin-bottom:25px}.nm-heading{font-size:24px}.nm-layout.nm-has-result .nm-atmosphere{min-height:210px}.nm-layout.nm-has-result .nm-atmosphere>p,.nm-layout.nm-has-result .nm-principles{display:none}}
@media(max-width:600px){.nm-school{padding:18px 16px}.nm-result-title h2{font-size:31px}.nm-field input,.nm-field textarea,.nm-field select{font-size:16px}.nm-name-input{font-size:22px!important}.nm-review-controls input{font-size:16px}.nm-bazi-pillars b{font-size:22px}.nm-grid-facts{gap:5px}.nm-grid-fact{padding:10px 3px}.nm-grid-fact b{font-size:26px}.nm-three span{padding:13px 18px}.nm-details .nm-fields{grid-template-columns:1fr}.nm-details .nm-field{margin-bottom:12px}}
@media(max-width:360px){.nm-content{padding:23px 17px 45px}.nm-atmosphere{padding:24px 21px 16px}.nm-atmosphere h1{font-size:25px}.nm-path li{font-size:10px}.nm-path li:not(:last-child):after{width:12px;margin-right:6px}.nm-review-controls{grid-template-columns:76px minmax(0,1fr);gap:9px}.nm-school{padding:16px 13px}.nm-grid-fact b{font-size:24px}.nm-brand b{font-size:17px}}
.nm-reference-field{padding:16px 17px;border:1px solid #d3ba7650;border-radius:13px;background:linear-gradient(125deg,#c8ad7012,#111e2d);box-shadow:inset 0 1px 0 #efddad12,0 8px 18px #0002}
.nm-reference-summary{padding:17px 19px;margin:12px 0 20px;border:1px solid #c7a97152;border-radius:13px;background:linear-gradient(130deg,#bfa36b16,#142131);color:#d9d2b6;font-size:12px;line-height:1.9;box-shadow:inset 0 1px 0 #edd3a215,0 8px 20px #0002}
.nm-reference-summary b{color:#e9d5a5;font-size:13px;font-weight:500}.nm-reference-summary p{margin:8px 0}.nm-reference-summary small{font-size:10px;color:#a0b1bc}
.nm-compare-table th small{display:block;margin-top:5px;color:#a7b9b9;font-size:9px;font-weight:400}.nm-compare-table th.nm-baseline-column{background:#303344;color:#f0d69c}.nm-compare-table td.nm-baseline-column{background:#d2b57909}
.nm-compare-hint{font-size:10px;line-height:1.8;color:#99aebb;margin:8px 0}.nm-compare-table td:not(:first-child){min-width:120px}
@media(prefers-reduced-motion:reduce){.nm-room *,.nm-stage canvas,.nm-stage img{transition:none!important;animation:none!important}}
