:root{color-scheme:dark;font-family:Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;--navy: #142743;--surface: #f5f5f5;--card: #ffffff;--line: #dcdcdc;--line-strong: #b7b7b7;--text: #090909;--muted: #666;--yellow: #fff2b0;--blue: #1878ea;--live: #1d7f4f;--demo: #cc7b13;--shadow: 0 22px 70px rgba(6, 24, 44, .18)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-width:320px;background:radial-gradient(circle at top,#223d63 0%,var(--navy) 45%,#0e1c31 100%);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 14px;color:var(--text)}input::placeholder{color:#09090947}textarea{resize:vertical;min-height:110px}.app-shell{min-height:100vh;padding:0 0 40px}.app-device{width:min(100%,500px);margin:0 auto;min-height:100vh}.app-surface{background:linear-gradient(180deg,#fbfbfb,#f2f2f2);border-radius:42px 42px 0 0;min-height:100vh;box-shadow:var(--shadow);padding:0 0 32px}.sub-menu,.board-card,.fortune-card,.analysis-panel{margin:12px 24px 0;border-radius:22px;background:var(--card);border:1px solid var(--line);overflow:hidden}.sub-menu summary{list-style:none;padding:16px 18px;font-size:16px;font-weight:700;cursor:pointer;border-bottom:1px solid transparent}.sub-menu summary::-webkit-details-marker{display:none}.sub-menu[open] summary{border-bottom-color:var(--line)}.sub-menu summary:after{content:"열기";float:right;font-size:12px;color:var(--muted);font-weight:600}.sub-menu[open] summary:after{content:"닫기"}.sub-menu-body{padding:16px 18px 18px;display:grid;gap:14px}.form-card,.settings-block{display:grid;gap:14px}label{display:grid;gap:8px}label>span{color:var(--muted);font-size:14px}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.checkbox-tile{align-content:start}.checkbox-tile input{width:22px;height:22px}.checkbox-row{display:flex;align-items:center;gap:10px}.checkbox-row input{width:20px;height:20px}.action-row{display:flex;flex-wrap:wrap;gap:10px}.ghost-button{border-radius:16px;padding:12px 16px;border:1px solid var(--line)}.ghost-button{background:#fff;color:var(--text)}.small-button{padding:10px 14px}.error-text{margin:0;color:#a33125;font-size:14px}.calculation-error{display:grid;gap:10px;margin-bottom:16px}.hint-text{margin:0;color:var(--muted);font-size:12px}.saved-profile-list{display:grid;gap:10px}.saved-profile-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:#fafafa}.saved-profile-main{padding:0;border:none;background:transparent;text-align:left}.saved-profile-main strong,.saved-profile-main span{display:block}.saved-profile-main strong{font-size:14px;color:var(--text)}.saved-profile-main span{margin-top:4px;font-size:12px;color:var(--muted);line-height:1.4}.board-card{padding:4px 0 0;border-radius:14px}.natal-grid{display:block;border-top:1px solid var(--line)}.natal-table{display:block}.natal-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.natal-cell{text-align:center;border-right:1px solid var(--line)}.natal-cell:last-child{border-right:none}.natal-box-cell{padding:8px 0}.pillar-head,.pillar-ganji,.pillar-relations,.pillar-god,.pillar-hidden,.pillar-stage,.pillar-naeum,.pillar-relation-detail,.pillar-shinsal{padding:7px 4px;border-bottom:1px solid var(--line)}.pillar-head{background:#a6a6a6;color:#000;font-size:24px;font-weight:700;letter-spacing:-.06em}.pillar-ganji{background:#d9d9df;font-size:20px;line-height:1.05;letter-spacing:-.05em}.pillar-relations{background:var(--yellow);min-height:48px;font-size:20px;line-height:1.15;letter-spacing:-.05em}.pillar-god{font-size:20px;line-height:1.05;letter-spacing:-.05em;min-height:46px}.saju-box{margin:7px auto;width:min(100px,calc(100% - 22px));aspect-ratio:1 / 1;display:grid;place-items:center;font-size:30px;font-weight:700;border:5px solid #000;line-height:1;letter-spacing:-.08em}.element-wood{background:#12b64a;color:#fff}.element-fire{background:#ff1313;color:#fff}.element-earth{background:#ffc71c;color:#000}.element-metal{background:#fff;color:#000}.element-water{background:#323232;color:#fff}.pillar-hidden{min-height:98px;font-size:14px;line-height:1.2;display:grid;align-content:center;gap:3px}.pillar-hidden .principal{font-weight:700}.pillar-stage,.pillar-naeum{font-size:16px;line-height:1.2;min-height:48px}.pillar-relation-detail{min-height:90px;padding:7px 4px;border-bottom:1px solid var(--line);background:var(--yellow);font-size:14px;line-height:1.16;display:grid;align-content:center;gap:2px}.pillar-shinsal{min-height:144px;font-size:16px;line-height:1.22;display:grid;align-content:start;gap:2px}.board-summary-line{padding:12px 18px;border-top:1px solid var(--line);text-align:center;font-size:16px;letter-spacing:-.04em}.board-detail-grid{border-top:1px solid var(--line)}.board-detail-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.board-detail-row>div{min-height:44px;padding:8px 6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;font-size:16px;line-height:1.18;letter-spacing:-.05em}.board-detail-row>div:last-child{border-right:none}.board-detail-head>div{background:#fafafa}.board-detail-value>div{min-height:52px}.board-detail-value span{display:block;margin-top:4px}.board-detail-shinsal>div{min-height:98px;display:grid;align-content:start;gap:3px}.board-detail-shinsal.secondary>div{min-height:80px}.board-detail-shinsal span{display:block}.meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.meta-grid div{padding:12px;border-radius:16px;background:#f9f9f9;border:1px solid var(--line)}.meta-grid dt{color:var(--muted);font-size:12px}.meta-grid dd{margin:6px 0 0;font-size:14px;line-height:1.35}.fortune-card{padding:20px 0 14px;border-radius:0;border-left:none;border-right:none;background:#fff}.fortune-header{padding:0 18px 12px;text-align:center}.fortune-header h2{margin:0;font-size:24px;line-height:1.15;letter-spacing:-.06em}.fortune-header p{margin:6px 0 0;color:var(--muted);font-size:14px}.fortune-section{display:grid;gap:8px}.fortune-scroller{display:flex;overflow-x:auto;gap:18px;padding:0 24px 4px;scrollbar-width:none}.fortune-scroller::-webkit-scrollbar{display:none}.fortune-card-item{flex:0 0 auto;width:102px;padding:0;border-radius:0;border:none;text-align:center;background:transparent;color:inherit;font:inherit;appearance:none}.fortune-card-item.clickable{cursor:pointer}.fortune-card-item.active{background:linear-gradient(180deg,#cb2ae514,#cb2ae500 72%)}.fortune-card-item.current{background:linear-gradient(180deg,#ff9c281a,#ff9c2800 72%)}.fortune-card-lead{font-size:20px;line-height:1}.fortune-card-caption{margin-top:4px;color:var(--muted);font-size:12px}.fortune-card-god,.fortune-card-stage,.fortune-card-shinsal{padding:2px}.fortune-card-god{font-size:14px;min-height:24px}.fortune-box{aspect-ratio:1 / 1;width:calc(100% - 8px);margin-top:5px;margin-bottom:5px;border-width:4px;font-size:30px}.fortune-card-stage{font-size:12px;min-height:22px}.fortune-card-shinsal{font-size:12px;line-height:1.14;min-height:72px}.fortune-card-item.active .fortune-box{box-shadow:0 0 0 2px #cb2ae542}.fortune-card-item.current .fortune-box{box-shadow:0 0 0 2px #ff9c2859}.analysis-panel{padding:18px}.analysis-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}.analysis-header h2{margin:0;font-size:24px;letter-spacing:-.05em}.analysis-header span{color:var(--muted);font-size:14px}.chat-room-bubble>*:first-child{margin-top:0}.chat-room-bubble>*:last-child{margin-bottom:0}.chat-room-bubble p,.chat-room-bubble ul,.chat-room-bubble ol,.chat-room-bubble blockquote,.chat-room-bubble pre,.chat-room-bubble table,.chat-room-bubble h1,.chat-room-bubble h2,.chat-room-bubble h3,.chat-room-bubble h4{margin:0 0 12px}.chat-room-bubble ul,.chat-room-bubble ol{padding-left:20px}.chat-room-bubble li+li{margin-top:4px}.chat-room-bubble code{padding:1px 5px;border-radius:6px;background:#f1eee8;font-size:16px}.chat-room-bubble pre{overflow:auto;padding:12px;border-radius:12px;background:#f1eee8}.chat-room-bubble pre code{padding:0;background:transparent}.chat-room-bubble blockquote{padding-left:12px;border-left:3px solid #d6d0c1;color:#5e645a}.chat-room-bubble table{width:100%;border-collapse:collapse}.chat-room-bubble th,.chat-room-bubble td{padding:8px 10px;border:1px solid #e4dfd3;text-align:left}.chat-room-bubble th{background:#f5f1e7}.consultation-history{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.consultation-history-select{min-width:0}.consultation-history-actions{display:flex;flex-wrap:wrap;gap:6px}.danger-button{color:#9d3f38;border-color:#9d3f3847}.consultation-import-button{display:inline-flex;align-items:center;justify-content:center;width:auto;cursor:pointer}.consultation-import-button input{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0,0,0,0)}.json-file-grid{display:grid;gap:12px;margin-bottom:12px}.json-file-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.json-file-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.json-file-slot{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fbfbfb}.json-file-slot-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.json-file-slot-head strong{font-size:14px}.json-file-picker{display:block}.json-file-picker span{display:block;width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px 12px;color:var(--text);text-align:center;font-size:14px}.json-file-picker input{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0,0,0,0)}.json-file-summary{display:grid;gap:4px;min-width:0;font-size:12px;line-height:1.35;color:var(--muted)}.json-file-summary strong{color:var(--text);font-size:14px}.json-file-summary span{overflow-wrap:anywhere}.detail-overlay{position:fixed;inset:0;z-index:45;background:#09122247;display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.detail-dialog{width:min(100%,380px);border-radius:34px;background:#fffcf5e6;border:2px solid rgba(255,255,255,.72);box-shadow:0 24px 90px #12182233;padding:28px 22px 20px}.detail-dialog h2{margin:0 0 22px;font-size:30px;letter-spacing:-.05em}.detail-list{display:grid;gap:10px;font-size:20px;line-height:1.32;color:#6b685d}.detail-list p{margin:0}.detail-confirm-button{width:100%;margin-top:26px;height:72px;border:none;border-radius:999px;background:#d5d0c2c7;color:#000;font-size:30px}.settings-overlay{position:fixed;inset:0;background:#07101e7a;display:grid;justify-items:end;z-index:40}.settings-sheet{width:min(560px,100%);height:100%;background:#fbfbfb;padding:22px;overflow:auto;box-shadow:-20px 0 70px #0812203d}.settings-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-header h2,.settings-block h3{margin:0}.settings-stack{display:grid;gap:16px;margin-top:18px}.settings-block{padding:18px;border-radius:20px;background:#fff;border:1px solid var(--line)}.settings-actions{display:flex;align-items:center;gap:12px}.viewer-modal{position:fixed;inset:0;background:#0f1728;z-index:50;display:flex;flex-direction:column}.viewer-header{padding:16px;background:#fffffff0;display:flex;justify-content:space-between;align-items:center}.viewer-header h3{margin:0}.viewer-content{padding:16px;overflow:auto;flex:1}.viewer-content pre{margin:0;padding:16px;border-radius:14px;background:#141c2d;color:#f7ead1;font-family:SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6}@media(max-width:760px){.app-surface{border-radius:32px 32px 0 0;min-height:100vh}.sub-menu,.board-card,.fortune-card,.analysis-panel{margin-left:12px;margin-right:12px}.form-grid.two,.form-grid.three,.form-grid.four,.meta-grid,.json-file-grid.two,.json-file-grid.three{grid-template-columns:1fr}.natal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pillar-head{font-size:16px}.pillar-ganji,.pillar-relations,.pillar-god{font-size:14px;min-height:36px}.saju-box{aspect-ratio:1 / 1;width:min(78px,calc(100% - 10px));border-width:3px;font-size:30px;margin:6px auto}.pillar-hidden,.pillar-stage,.pillar-naeum,.pillar-relation-detail,.pillar-shinsal,.board-summary-line,.board-detail-row>div{font-size:12px}.pillar-hidden{min-height:76px}.pillar-shinsal{min-height:104px}.pillar-relation-detail{min-height:72px}.board-detail-row>div{min-height:36px;padding:8px 4px}.board-detail-shinsal>div{min-height:76px}.board-detail-shinsal.secondary>div{min-height:60px}.fortune-header h2{font-size:20px}.fortune-header p{font-size:14px}.fortune-card-item{width:84px}.fortune-card-lead{font-size:16px}.fortune-card-caption,.fortune-card-god,.fortune-card-stage,.fortune-card-shinsal{font-size:12px}.fortune-box{aspect-ratio:1 / 1;font-size:30px;border-width:3px}.analysis-header h2{font-size:20px}.detail-dialog{width:min(100%,330px);border-radius:28px;padding:22px 18px 16px}.detail-dialog h2{font-size:24px}.detail-list{font-size:16px}.detail-confirm-button{height:60px;font-size:24px}.settings-sheet{padding:16px}.settings-actions{flex-direction:column;align-items:stretch}}:root{--ink: #121827;--ink-soft: #283044;--plum: #5d3c5c;--plum-deep: #302237;--ivory: #f7f0e3;--ivory-soft: #efe5d5;--gold: #b99a63;--gold-deep: #8e7145;--line: rgba(100, 76, 69, .17);--line-strong: rgba(89, 62, 65, .32);--text: #211d23;--muted: #746a70;--card: rgba(255, 252, 246, .96);--surface: #f3ece1;--shadow: 0 28px 80px rgba(8, 12, 23, .28)}html{background:#101724}body{background-color:#101724;color:var(--text);font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{letter-spacing:-.015em}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(185,154,99,.45);outline-offset:2px}input,select,textarea{border-color:#593e4133;background:#fffdf9f0}input:focus,select:focus,textarea:focus{border-color:var(--gold-deep)}[hidden]{display:none!important}.app-shell{min-height:100vh;padding:26px}.app-device{width:min(100%,1440px);min-height:calc(100vh - 52px);margin:0 auto;display:grid;grid-template-columns:224px minmax(0,1fr);gap:18px;align-items:start}.app-surface{min-width:0;min-height:calc(100vh - 52px);padding:0;border:1px solid rgba(255,255,255,.27);border-radius:34px;background:linear-gradient(180deg,#faf6eef7,#efe6d9f7),repeating-linear-gradient(90deg,transparent 0 12px,rgba(83,55,52,.018) 12px 13px);box-shadow:var(--shadow);overflow:hidden}.app-view{max-width:1080px;min-height:calc(100vh - 54px);margin:0 auto;padding:34px 34px 54px}.home-view{max-width:none;padding:0 0 56px;color:#fff9ef}.app-surface>.calculation-error{width:min(calc(100% - 48px),712px);margin:16px auto 0;padding:16px;border:1px solid rgba(157,63,56,.2);border-radius:20px;background:#fffaf1;box-shadow:0 8px 24px #4a2c4314}.view-heading>span{color:#b89164;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.view-heading h1{font-family:"Noto Serif KR",AppleMyungjo,Batang,serif;font-weight:600;letter-spacing:-.055em}.view-heading{margin:6px 0 26px;padding:0 4px}.view-heading h1{margin:9px 0;color:#2f2530;font-size:30px;line-height:1.25}.view-heading p{margin:0;color:var(--muted);line-height:1.65}.view-subtitle-row{min-width:0;display:flex;align-items:baseline;gap:8px 12px}.view-subtitle-row>p{min-width:0;flex:1 1 auto}.back-link{min-width:max-content;min-height:44px;height:44px;margin-left:auto;padding:0 2px;border:0;border-radius:12px;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;background:transparent;box-shadow:none;color:#f6e7b8;font-size:14px;font-weight:600;white-space:nowrap}.back-link:hover:not(:disabled){background:transparent;color:#fff1c2}.back-link:focus-visible{outline:2px solid rgba(255,241,194,.9);outline-offset:2px;background:transparent;color:#fff1c2}.back-link:disabled{cursor:not-allowed;opacity:.48}.sub-menu,.board-card,.fortune-card,.analysis-panel{margin:14px 0 0;border-color:var(--line);border-radius:22px;background:#fffdf9e8;box-shadow:0 12px 36px #34252c11}.board-card{background:#fffcf7}.sub-menu summary{color:#40343e;font-family:"Noto Serif KR",AppleMyungjo,Batang,serif;font-size:16px}.ghost-button{min-height:44px;border-radius:13px}.ghost-button{border-color:#53394430;background:#fffdf9b3;color:#584957}.ghost-button:hover{border-color:#8e71456b;background:#fffdf9}.fortune-card.active,.fortune-card-item.active{border-color:#8e7145b8}.fortune-card-item.active{background:#dfcca938}.fortune-card-item.current{background:#60435b14}.analysis-panel{overflow:visible}.analysis-header h2,.fortune-header h2{font-family:"Noto Serif KR",AppleMyungjo,Batang,serif;color:#3b2d39;font-weight:600}.consultation-history{border-color:var(--line);background:#f7efe2a6}.relationship-switch{width:min(100%,420px);margin:0 0 18px;padding:5px;border:1px solid var(--line);border-radius:16px;background:#fffcf6a3;display:grid;grid-template-columns:1fr 1fr;gap:4px}.relationship-switch button{min-height:44px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-weight:700}.relationship-switch button.active{background:#4b3549;color:#fff9ed;box-shadow:0 6px 18px #3726352e}.json-file-slot{border-color:var(--line);background:#f9f3e9a8}.settings-overlay{background:#060a13ad;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.settings-sheet{background:#f3ece2;color:var(--text)}.settings-block{border-color:var(--line);background:#fffdf9e6}@media(max-width:1080px){.app-shell{padding:14px}.app-device{min-height:calc(100vh - 28px);grid-template-columns:190px minmax(0,1fr);gap:12px}.app-surface,.app-view{min-height:calc(100vh - 28px)}.app-view{padding:28px 24px 48px}.home-view{padding:0 0 48px}}@media(max-width:899px){body{background-attachment:scroll}.app-shell{padding:0}.app-device{width:100%;min-height:100vh;display:block}.app-surface{min-height:100vh;border:0;border-radius:0;box-shadow:none;padding-bottom:calc(82px + env(safe-area-inset-bottom))}.app-view{min-height:calc(100vh - 82px - env(safe-area-inset-bottom));padding:24px 14px 34px}input,select,textarea{font-size:16px}.home-view{padding:0 0 34px;background-color:#131725;background-position:center,80% top;background-size:cover,auto 520px;background-repeat:no-repeat,no-repeat}.view-heading{margin:6px 4px 22px}.view-heading h1{font-size:30px}.sub-menu,.board-card,.fortune-card,.analysis-panel{margin-left:0;margin-right:0}}@media(max-width:520px){.app-view{padding-left:10px;padding-right:10px}.analysis-panel{border-radius:18px}.analysis-header{padding-left:14px;padding-right:14px}.consultation-history-actions{align-items:stretch}.consultation-history-actions .ghost-button{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.person-avatar{width:42px;height:42px;min-width:42px;border:1px solid rgba(255,241,194,.72);border-radius:50%;display:inline-grid;place-items:center;box-shadow:inset 0 0 0 1px #0d0a2433,inset 0 1px #ffffff38,0 0 16px #e9c46a24;font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1}.person-avatar.is-small{width:34px;height:34px;min-width:34px;font-size:16px}.person-avatar.is-large{width:46px;height:46px;min-width:46px;font-size:20px}.person-avatar.is-picker{width:38px;height:38px;min-width:38px;font-size:14px}.person-avatar.has-day-pillar{grid-template-rows:repeat(2,min-content);align-content:center;gap:0}.person-avatar.has-day-pillar>span{display:block;line-height:.95}.person-avatar.is-picker.has-day-pillar>span{font-size:12px;line-height:.92}.person-avatar.is-small.has-day-pillar>span,.chat-user-avatar .person-avatar.has-day-pillar>span{font-size:12px;line-height:.92}.person-avatar.is-neutral,.participant-add-avatar{border-color:#e9c46aad;background:#140e36eb;color:#f6e7b8}.participant-person-list{display:grid;gap:9px}.participant-person-row{width:100%;min-height:68px;padding:9px 12px;border:1px solid rgba(233,196,106,.2);border-radius:18px;display:grid;grid-template-columns:auto minmax(0,1fr) 28px;align-items:center;gap:12px;background:#08061c73;color:var(--text);font-family:var(--font-body);text-align:left;cursor:pointer;transition:transform .14s ease,border-color .18s ease,background .18s ease,filter .14s ease}.participant-person-row.is-selected{border-color:#fff1c2b3;background:linear-gradient(100deg,#e9c46a29,#2a1f559e);box-shadow:0 0 22px #e9c46a17}.participant-person-row:disabled{cursor:not-allowed;opacity:.46}.participant-person-copy{min-width:0;display:grid;gap:3px}.participant-person-copy strong{color:#f8f3ff;font-size:14px}.participant-person-copy small{color:#cfc7e3;font-size:12px;overflow-wrap:anywhere}.participant-person-check{color:var(--gold);font-size:16px;font-weight:700;text-align:center}.participant-person-row.is-add{grid-template-columns:42px minmax(0,1fr)}.participant-add-avatar{width:42px;height:42px;border:1px solid rgba(233,196,106,.5);border-radius:50%;display:grid;place-items:center;font-size:20px}.calculation-loading{min-height:max(520px,calc(100dvh - var(--app-header-height) - 40px));padding:48px 20px;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--text);text-align:center}.calculation-loading.is-compact{min-height:320px}.moon-phase-loader{width:112px;height:112px;overflow:visible;filter:drop-shadow(0 0 18px rgba(233,196,106,.28))}.moon-phase-orbit{fill:none;stroke:#e9c46a38;stroke-width:1;stroke-dasharray:3 6;transform-origin:center;animation:moon-orbit 8s linear infinite}.moon-phase-base{fill:#f8e7ab;stroke:#fff1c2;stroke-width:1.5}.moon-phase-shadow{fill:#17103f;animation:moon-fill 2s cubic-bezier(.45,0,.55,1) infinite}@keyframes moon-orbit{to{transform:rotate(360deg)}}@keyframes moon-fill{0%,12%{transform:translate(0)}50%,62%{transform:translate(48px)}to{transform:translate(0)}}.calculation-loading-message{min-height:30px;margin:8px 0 0;color:#fff4cf;font-family:var(--font-display);font-size:24px;animation:loading-message-in .36s ease-out both}.calculation-loading small{color:var(--muted);font-size:12px}@keyframes loading-message-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.analysis-skeleton{min-height:360px;gap:22px;overflow:hidden}.analysis-skeleton>header{display:grid;gap:10px}.skeleton-line,.skeleton-summary-grid>span,.skeleton-panel-block{position:relative;overflow:hidden;border:1px solid rgba(233,196,106,.1);background:#ffffff12}.skeleton-line:after,.skeleton-summary-grid>span:after,.skeleton-panel-block:after{position:absolute;inset:0;content:"";background:linear-gradient(100deg,transparent 20%,rgba(246,231,184,.14) 48%,transparent 76%);transform:translate(-110%);animation:skeleton-shimmer 1.35s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translate(110%)}}.skeleton-line{width:100%;height:14px;border-radius:999px;display:block}.skeleton-line.is-title{width:38%;height:28px}.skeleton-line.is-subtitle{width:68%}.skeleton-line.is-short{width:42%}.skeleton-line.is-medium{width:74%}.skeleton-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.skeleton-summary-grid>span{height:92px;border-radius:17px}.skeleton-panel-block{min-height:148px;padding:22px;border-radius:18px;display:grid;align-content:center;gap:13px}.analysis-panel:not(.analysis-skeleton){animation:analysis-content-in .26s ease-out both}@keyframes analysis-content-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.chat-waiting{min-width:min(250px,66vw);display:flex;align-items:center;gap:10px}.chat-waiting-message{color:#453657;font-size:12px;animation:loading-message-in .3s ease-out both}.chat-waiting .chat-typing{flex:0 0 auto}.toast-message{position:fixed;left:50%;bottom:max(84px,calc(74px + env(safe-area-inset-bottom)));z-index:110;max-width:min(calc(100vw - 32px),520px);min-height:46px;padding:12px 18px;border:1px solid rgba(255,241,194,.52);border-radius:999px;display:flex;align-items:center;justify-content:center;background:#110c2ef5;color:#fff4cf;box-shadow:0 14px 42px #0302128c,0 0 22px #e9c46a24;font-size:14px;font-weight:700;text-align:center;transform:translate(-50%);animation:toast-in .22s cubic-bezier(.16,1,.3,1) both}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px) scale(.97)}to{opacity:1;transform:translate(-50%) scale(1)}}button:active:not(:disabled),[role=button]:active:not([aria-disabled=true]){filter:brightness(1.08)}.participant-person-row:active:not(:disabled),.home-daily-card:active:not(:disabled),.home-card button:active:not(:disabled){transform:scale(.97)}.shared-day-pillar{view-transition-name:day-pillar}::view-transition-old(root),::view-transition-new(root){animation-duration:.28s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}:root[data-nav-direction=forward]::view-transition-old(root){animation-name:view-out-left}:root[data-nav-direction=forward]::view-transition-new(root){animation-name:view-in-right}:root[data-nav-direction=back]::view-transition-old(root){animation-name:view-out-right}:root[data-nav-direction=back]::view-transition-new(root){animation-name:view-in-left}@keyframes view-out-left{to{opacity:0;transform:translate(-20px)}}@keyframes view-in-right{0%{opacity:0;transform:translate(22px)}}@keyframes view-out-right{to{opacity:0;transform:translate(20px)}}@keyframes view-in-left{0%{opacity:0;transform:translate(-22px)}}.nav-transition-active[data-nav-direction=forward] .app-view{animation:fallback-view-in-right .26s ease-out both}.nav-transition-active[data-nav-direction=back] .app-view{animation:fallback-view-in-left .26s ease-out both}@keyframes fallback-view-in-right{0%{opacity:0;transform:translate(18px,5px)}to{opacity:1;transform:translate(0)}}@keyframes fallback-view-in-left{0%{opacity:0;transform:translate(-18px,5px)}to{opacity:1;transform:translate(0)}}@media(max-width:480px){.skeleton-summary-grid{grid-template-columns:1fr}.skeleton-summary-grid>span{height:62px}.chat-waiting{min-width:0;max-width:72vw;align-items:flex-start;flex-direction:column;gap:7px}}@media(prefers-reduced-motion:reduce){.participant-person-row,.moon-phase-orbit,.moon-phase-shadow,.calculation-loading-message,.skeleton-line:after,.skeleton-summary-grid>span:after,.skeleton-panel-block:after,.analysis-panel,.chat-waiting-message,.toast-message,.nav-transition-active .app-view,::view-transition-old(root),::view-transition-new(root){animation:none!important;transition:none!important}}:root{--plum-950: #2f1e31;--plum-800: #543752;--plum-700: #704667;--ivory: #fffaf1;--ivory-deep: #f3e9d9;--moon-yellow: #f6e6a8;--moon-yellow-deep: #c9a75c;--focus-ring: #96647f;--card: rgba(255, 252, 246, .94);--surface: #f4ecdf;--text: #332634;--muted: #685b67;--line: rgba(84, 55, 82, .17);--shadow: 0 18px 54px rgba(74, 44, 67, .15)}body{background-color:#2f1e31}button,input,select,textarea{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.app-shell{min-height:100dvh;padding:0}.app-device{width:min(100%,1120px);min-height:100dvh;margin:0 auto;display:block;background:transparent}.app-surface{min-height:100dvh;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.single-flow-header{position:sticky;top:0;z-index:30;min-height:68px;padding:max(12px,env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid rgba(84,55,82,.13);background:#fffaf1e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:center;gap:10px;color:var(--plum-950)}.single-flow-brand,.single-flow-header-actions,.single-flow-back,.single-flow-music,.single-flow-settings{display:inline-flex;align-items:center}.single-flow-brand{gap:8px;margin-right:auto}.single-flow-brand strong{font-family:AppleMyungjo,Batang,Nanum Myeongjo,"Noto Serif KR",serif;font-size:20px;letter-spacing:.05em;white-space:nowrap}.single-flow-brand>svg{color:var(--moon-yellow-deep);flex:0 0 auto}.single-flow-header-actions{gap:8px}.single-flow-back,.single-flow-music,.single-flow-settings{min-height:44px;border:1px solid rgba(84,55,82,.17);border-radius:999px;padding:0 13px;background:#ffffffbd;color:var(--plum-800);font-size:14px;font-weight:700;gap:6px;justify-content:center;text-align:center;white-space:nowrap;transition:background .18s ease,border-color .18s ease,opacity .18s ease}.single-flow-header[data-screen=home]{border-bottom-color:transparent;background:linear-gradient(180deg,#2f1e3126,#2f1e318c);color:#fffaf1;text-shadow:0 1px 12px rgba(0,0,0,.35)}.single-flow-header[data-screen=home] .single-flow-brand>svg{color:var(--moon-yellow)}.single-flow-header[data-screen=home] .single-flow-music,.single-flow-header[data-screen=home] .single-flow-settings{border-color:#fffaf175;background:#2f1e314d;color:#fffaf1}.single-flow-music[aria-pressed=true]{background:var(--moon-yellow);border-color:var(--moon-yellow-deep)}.single-flow-header[data-screen=home] .single-flow-music[aria-pressed=true]{color:var(--plum-950)}.focus-music-error{position:absolute;right:16px;top:calc(100% + 8px);max-width:min(340px,calc(100vw - 32px));margin:0;padding:9px 12px;border-radius:12px;background:var(--plum-950);color:var(--ivory);font-size:12px;box-shadow:var(--shadow)}@media(max-width:479px){.single-flow-header{gap:4px;padding-inline:8px}.single-flow-brand,.single-flow-header-actions{gap:4px}.single-flow-back,.single-flow-settings{min-width:44px;padding-inline:8px}.single-flow-music{justify-content:center;min-width:44px;width:44px;padding-inline:0}}.app-view{width:min(100%,960px);min-height:calc(100dvh - var(--app-header-height));margin:0 auto;padding:28px 16px calc(36px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#fffaf1db,#f7ede0eb)}.home-view{padding-top:24px;color:#fffaf1;background:linear-gradient(180deg,#2f1e3126,#2f1e318c) top / 100% 360px no-repeat}.home-view>.view-heading{color:#fffaf1;text-shadow:0 1px 12px rgba(0,0,0,.35)}.home-view .form-card,.home-view .current-person-card,.home-view .saved-people,.home-view .recent-consultations{border-radius:24px;background:#fffaf1;color:var(--text);text-shadow:none;box-shadow:0 12px 34px #2f1e3129}.main-screen,.consultation-prep{display:grid;gap:20px}.form-card,.current-person-card,.saved-people,.recent-consultations,.consultation-prep>section,.consultation-prep .relation-category,.advanced-recovery{padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:0 10px 30px #4a2c4312}.form-card h1,.current-person-card h2,.saved-people h2,.recent-consultations h2,.consultation-prep h1,.consultation-prep h2,.view-heading h1{font-family:AppleMyungjo,Batang,Nanum Myeongjo,"Noto Serif KR",serif;color:var(--plum-950);font-weight:600}.form-card h1{margin:0 0 4px;font-size:24px}label{gap:8px}label>span{color:var(--plum-800);font-size:14px;font-weight:700}input,select,textarea{min-height:48px;border-radius:16px;padding:12px 14px;background:#ffffffe6}.form-grid,.form-grid.two,.form-grid.three,.form-grid.four{grid-template-columns:1fr;gap:14px}.checkbox-tile{grid-template-columns:1fr auto;align-items:center;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:16px;background:#ffffffb3}.checkbox-tile input{width:24px;height:24px}.birth-time-unknown-tile{align-self:end}.ghost-button,.text-button,.participant-badge{min-height:44px;border-radius:999px;padding:10px 18px;font-weight:700;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}.ghost-button,.text-button{border:1px solid rgba(84,55,82,.18);background:#ffffffc2;color:var(--plum-800)}.ghost-button:hover:not(:disabled),.text-button:hover:not(:disabled){border-color:var(--plum-700);background:var(--ivory)}.action-row{gap:10px;flex-wrap:wrap}.current-person-card{display:grid;gap:16px}.current-person-card>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.current-person-card h2{margin:0;font-size:24px}.current-person-card p{width:100%;margin:0;color:var(--muted)}.section-icon{color:var(--plum-700);display:inline-flex}.compact-pillar-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.compact-pillar{display:grid;justify-items:center;gap:4px;min-width:0}.compact-pillar>span{color:var(--muted);font-size:12px;font-weight:700}.pillar-stem,.pillar-branch{width:100%;max-width:58px;aspect-ratio:1;display:grid;place-items:center;border:2px solid rgba(47,30,49,.74);font-family:AppleMyungjo,Batang,Nanum Myeongjo,serif;font-size:30px;line-height:1}.saved-people,.recent-consultations{display:grid;gap:12px}.saved-people h2,.recent-consultations h2{margin:0;font-size:20px}.saved-profile-list,.participant-badges{display:flex;flex-wrap:wrap;gap:8px}.saved-profile-card{display:flex;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#ffffffb3}.saved-profile-main{flex:1;min-height:52px;padding:8px 12px;border:0;background:transparent;color:var(--text);text-align:left}.saved-profile-main span,.recent-consultation-row span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.icon-button{min-width:44px;border:0;background:transparent;color:var(--plum-700);font-size:20px}.recent-consultation-row,.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.recent-consultation-row{padding:12px 0;border-top:1px solid var(--line)}.view-heading{margin:0 0 22px;padding:0 2px}.view-heading>span{color:var(--plum-700)}.view-heading h1{font-size:30px;line-height:1.22}.view-heading p{max-width:60ch;color:var(--muted)}.board-card,.fortune-card,.analysis-panel,.sub-menu{border-radius:24px;background:var(--card)}.ganji-stack{display:grid;grid-template-rows:1fr 1fr;gap:5px;justify-items:center}.ganji-stack .ganji-stem,.ganji-stack .ganji-branch{width:min(58px,100%);aspect-ratio:1;display:grid;place-items:center;border:2px solid rgba(47,30,49,.74);font-family:AppleMyungjo,Batang,Nanum Myeongjo,serif;font-size:30px;line-height:1}.pillar-ganji{padding:10px 4px}.participant-badge{border:1px solid var(--line);background:#fffaf1;color:var(--plum-800)}.participant-badge.selected{border-color:var(--plum-800);background:var(--plum-800);color:var(--ivory)}.participant-badge small{color:inherit;font-size:12px;font-weight:600;opacity:.76}@media(max-width:699px){.consultation-history{grid-template-columns:minmax(0,1fr);align-items:stretch}.consultation-history-select,.consultation-history-select select{width:100%}.consultation-history-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.consultation-history-actions .ghost-button{width:100%}}.participant-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}@media(min-width:700px){.app-shell{padding:24px}.app-device{min-height:calc(100dvh - 48px);border-radius:32px;overflow:hidden;box-shadow:var(--shadow)}.app-surface{min-height:calc(100dvh - 48px)}.app-view{padding:38px 34px 56px}.form-grid.two,.form-grid.three,.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.current-person-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.current-person-card .action-row{grid-column:1 / -1}.compact-pillar-preview{min-width:280px}}@media(prefers-reduced-motion:reduce){.single-flow-music,.single-flow-settings,.single-flow-back,.ghost-button,.text-button,.participant-badge{transition:none}}:root{--app-header-height: calc(68px + env(safe-area-inset-top)) ;--app-shell-inset: 0px;--home-cta-height: 72px}.single-flow-header{height:var(--app-header-height)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.consulting-view,.relationships-view{width:100%;max-width:none;height:calc(100dvh - var(--app-header-height) - var(--app-shell-inset));min-height:420px;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden;background:transparent}.chat-room{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--ivory);color:var(--plum-950)}.chat-room-header{position:sticky;top:0;z-index:12;height:auto;min-height:64px;padding:8px 16px;border-bottom:1px solid var(--line);background:#fffaf1f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px}.chat-room-teacher{min-width:0;display:flex;align-items:center;gap:10px}.chat-room-teacher-avatar{width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:var(--moon-yellow);color:var(--plum-800);display:grid;place-items:center}.chat-room-teacher>div{min-width:0;display:grid;gap:4px}.chat-room-teacher strong{font-family:AppleMyungjo,Batang,Nanum Myeongjo,"Noto Serif KR",serif;font-size:16px;line-height:1.25}.chat-room-participant-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-room-header-actions>.btn{white-space:nowrap}.chat-room-header-actions{display:flex;gap:8px}.chat-room-header-actions button,.room-menu-header button{min-width:44px;min-height:44px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:#ffffffc7;color:var(--plum-800);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;text-align:center;transition:background .18s ease,border-color .18s ease,opacity .18s ease}.chat-room-header-actions button:hover:not(:disabled),.room-menu-header button:hover:not(:disabled){border-color:var(--plum-700);background:var(--moon-yellow)}.chat-thread-shell{position:relative;flex:1;min-height:0}.chat-thread{height:100%;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:18px 14px 24px;border:0;border-radius:0;background:#fffcf6db}.chat-message-list{width:100%;max-width:720px;min-height:100%;margin:0 auto;padding:0;display:flex;flex-direction:column;justify-content:flex-end;list-style:none}.chat-day-divider{margin:18px 0 14px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;text-align:center}.chat-day-divider:before,.chat-day-divider:after{height:1px;flex:1;background:var(--line);content:""}.chat-day-divider span{padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#fffaf1d1}.chat-message-row{width:100%;display:flex;align-items:flex-start;gap:8px}.chat-message-row+.chat-message-row{margin-top:4px}.chat-message-row.group-last{margin-bottom:14px}.chat-message-row.me{justify-content:flex-end}.chat-teacher-avatar,.chat-avatar-space{width:28px;height:28px;flex:0 0 28px}.chat-teacher-avatar{border-radius:50%;background:var(--moon-yellow);color:var(--plum-800);display:grid;place-items:center}.chat-message-content{max-width:min(82%,36rem);display:grid;gap:4px}.chat-message-row.me .chat-message-content{justify-items:end}.chat-bubble-line{display:flex;align-items:flex-end;gap:6px}.chat-bubble-line time{flex:0 0 auto;padding-bottom:2px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;line-height:1}.chat-room-bubble{width:fit-content;max-width:100%;padding:10px 13px;border:1px solid var(--line);border-radius:18px;background:var(--ivory);color:var(--plum-800);font-size:14px;line-height:1.65;overflow-wrap:anywhere;box-shadow:0 4px 16px #4a2c430d}.chat-message-row.teacher.group-first .chat-room-bubble{border-top-left-radius:6px}.chat-message-row.me.group-first .chat-room-bubble{border-top-right-radius:6px}.chat-message-row.me .chat-room-bubble{border-color:#c9a75c8f;background:var(--moon-yellow);color:var(--plum-950)}.chat-message-row.me .chat-room-bubble p{white-space:pre-wrap}.chat-message-status{color:#8b3b45;font-size:12px;font-weight:700}.chat-typing{min-width:44px;height:22px;display:inline-flex;align-items:center;justify-content:center;gap:4px}.chat-typing i{width:6px;height:6px;border-radius:50%;background:var(--plum-700);animation:chat-dot 1.2s ease-in-out infinite}.chat-typing i:nth-child(2){animation-delay:.14s}.chat-typing i:nth-child(3){animation-delay:.28s}@keyframes chat-dot{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-markdown-loading{color:var(--muted)}.chat-starter-pills{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.chat-starter-pill,.chat-system button,.chat-new-answer{min-height:44px;padding:8px 14px;border:1px solid rgba(84,55,82,.2);border-radius:999px;background:#fffaf1f0;color:var(--plum-800);font-size:12px;font-weight:700;box-shadow:0 5px 16px #4a2c4314}.chat-starter-pill:hover:not(:disabled),.chat-system button:hover:not(:disabled),.chat-new-answer:hover:not(:disabled){border-color:var(--moon-yellow-deep);background:var(--moon-yellow)}.chat-system{min-height:28px;margin:8px auto;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px;line-height:1.45;text-align:center;transition:opacity .22s ease}.chat-system.is-error{color:#7d343d}.chat-system.is-faded{opacity:0;pointer-events:none}.chat-system button{min-height:36px;padding:5px 11px;box-shadow:none}.chat-new-consultation{margin-top:2px;margin-bottom:14px}.chat-new-answer{position:absolute;right:max(14px,calc((100% - 720px)/2));bottom:12px;z-index:3;min-height:40px;background:var(--plum-800);color:var(--ivory)}.chat-room-composer{position:sticky;bottom:0;z-index:10;width:100%;padding:10px max(14px,calc((100% - 720px)/2)) max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffaf1f2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:flex-end;gap:8px}.chat-room-composer textarea{min-width:0;min-height:44px;max-height:126px;resize:none;overflow-y:auto;padding:10px 15px;border-color:var(--line);border-radius:22px;background:var(--ivory);color:var(--plum-950);font-size:16px;line-height:22px}.chat-room-composer textarea::placeholder{color:var(--muted);opacity:.78}.chat-send-button{width:44px;height:44px;min-width:44px;padding:0;border:1px solid var(--moon-yellow-deep);border-radius:50%;background:var(--moon-yellow);color:var(--plum-950);display:grid;place-items:center;font-size:12px;font-weight:700;transition:background .18s ease,opacity .18s ease}.chat-send-button:hover:not(:disabled){background:#fff0b8}.chat-send-button.is-stop{border-color:#5437523d;background:var(--ivory-deep);color:var(--plum-800)}.room-menu-overlay{position:fixed;inset:0;z-index:60;padding:16px 16px max(16px,env(safe-area-inset-bottom));background:#2f1e3185;display:flex;align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.room-menu-sheet{width:min(100%,680px);max-height:min(82dvh,760px);overflow-y:auto;padding:18px;border:1px solid rgba(255,255,255,.6);border-radius:28px 28px 20px 20px;background:var(--ivory);color:var(--plum-950);box-shadow:0 24px 80px #2f1e314d}.room-menu-header{position:sticky;top:-18px;z-index:2;margin:-18px -18px 8px;padding:18px;border-bottom:1px solid var(--line);background:#fffaf1f5;display:flex;align-items:center;justify-content:space-between;gap:12px}.room-menu-header h2{margin:0;font-family:AppleMyungjo,Batang,Nanum Myeongjo,"Noto Serif KR",serif;font-size:20px}.room-menu-section{padding:12px 0;border-top:1px solid var(--line)}.room-menu-section h3{margin:0 0 8px;color:var(--muted);font-size:12px}.room-menu-actions{display:grid}.room-menu-danger{margin-top:12px;border-top:1px solid rgba(139,59,69,.28)}.room-menu-files .json-file-grid{margin:0}.room-kind-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.room-kind-switch button{min-height:44px;border:1px solid var(--line);border-radius:999px;background:#ffffffb8;color:var(--plum-800);font-weight:700}.room-kind-switch button.active{border-color:var(--moon-yellow-deep);background:var(--moon-yellow);color:var(--plum-950)}@media(max-width:520px){.chat-room-header{padding-inline:10px}.chat-room-header-actions{gap:5px}.chat-room-header-actions button{padding-inline:8px}.chat-room-teacher{gap:6px}.chat-room-teacher-avatar{width:34px;height:34px;flex-basis:34px}.chat-room-teacher strong{font-size:14px}.chat-message-content{max-width:86%}}@media(min-width:700px){:root{--app-shell-inset: 48px}.chat-room-header{padding-inline:max(24px,calc((100% - 720px)/2))}}@media(prefers-reduced-motion:reduce){.chat-typing i{animation:none;opacity:.7}.chat-system,.chat-room-header-actions button,.room-menu-header button,.chat-send-button{transition:none}}.btn,.chip{appearance:none;border:0;font-family:Pretendard Variable,Pretendard,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;cursor:pointer;touch-action:manipulation}.btn{min-height:48px;padding:0 18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:700;line-height:1;text-align:center;text-decoration:none;transition:transform .12s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.btn-sm{min-height:44px;padding-inline:16px;font-size:14px}.btn-primary{border:1px solid var(--plum-800);background:var(--plum-800);color:var(--ivory);box-shadow:0 10px 24px #54375247}.btn-primary:hover:not(:disabled){border-color:var(--plum-700);background:var(--plum-700)}.btn-secondary{border:1px solid rgba(84,55,82,.16);background:#fffaf1;color:var(--plum-800);box-shadow:0 6px 16px #4a2c431a}.btn-secondary:hover:not(:disabled){border-color:#5437524d;background:#fffdf8}.btn-ghost{border:1px solid transparent;background:transparent;color:var(--plum-800);box-shadow:none}.btn-ghost:hover:not(:disabled),.btn-ghost:focus-visible{border-color:#54375233;background:#fffaf194}.btn-danger{border:1px solid rgba(157,63,56,.2);background:#fffaf1;color:#9d3f38;box-shadow:0 6px 16px #4a2c4314}.btn-danger:hover:not(:disabled){border-color:#9d3f3861;background:#fff6ef}.btn-icon{width:48px;min-width:48px;height:48px;min-height:48px;padding:0;border-radius:50%;flex:0 0 48px}.btn:active:not(:disabled),.chip:active:not(:disabled){transform:scale(.98)}.btn:focus-visible,.chip:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.btn:disabled,.chip:disabled{cursor:not-allowed;opacity:.45;transform:none}.chip{min-height:40px;padding:0 16px;border:1px solid rgba(84,55,82,.16);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#fffaf1;color:var(--plum-800);box-shadow:0 4px 12px #4a2c4314;font-size:14px;font-weight:700;line-height:1.2;transition:transform .12s ease,background .18s ease,border-color .18s ease}.chip.is-selected{border-color:var(--plum-800);background:var(--plum-800);color:var(--ivory)}.chip:hover:not(:disabled){border-color:#54375252;background:#fffdf8}.chip.is-selected:hover:not(:disabled){border-color:var(--plum-700);background:var(--plum-700)}.single-flow-header[data-screen=home] .single-flow-music.btn-secondary,.single-flow-header[data-screen=home] .single-flow-settings.btn-secondary,.chat-room-header-actions>.btn-secondary,.room-menu-header>.btn-ghost{border-color:#54375229;background:#fffaf1;color:var(--plum-800);box-shadow:0 6px 16px #4a2c431a}.single-flow-header[data-screen=home] .single-flow-music.btn-secondary:hover:not(:disabled),.single-flow-header[data-screen=home] .single-flow-settings.btn-secondary:hover:not(:disabled),.chat-room-header-actions>.btn-secondary:hover:not(:disabled),.room-menu-header>.btn-ghost:hover:not(:disabled),.chat-system>.btn-secondary:hover:not(:disabled){border-color:#5437524d;background:#fffdf8;color:var(--plum-800)}.single-flow-header .single-flow-music.btn-secondary[aria-pressed=true]{border-color:var(--moon-yellow-deep);background:var(--moon-yellow);color:var(--plum-950)}.single-flow-back{min-width:44px}.single-flow-music,.single-flow-settings{width:48px;min-width:48px;padding:0;color:var(--plum-800);text-shadow:none}.single-flow-settings{font-size:12px}body,button,input,select,textarea{font-family:Pretendard Variable,Pretendard,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif}.home-view{width:min(100%,760px);padding:0 24px calc(24px + env(safe-area-inset-bottom));background:transparent;color:var(--ivory)}.home-hero{padding:42px 0 32px;text-shadow:0 2px 18px rgba(26,15,28,.66)}.home-eyebrow,.home-hero-copy{margin:0;color:#fffaf1c7}.home-eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em}.home-hero h1{max-width:680px;margin:10px 0 12px;color:var(--ivory);font-family:AppleMyungjo,Batang,Nanum Myeongjo,"Noto Serif KR",serif;font-size:30px;font-weight:600;line-height:1.32;letter-spacing:-.045em}.home-hero-copy{max-width:58ch;font-size:14px;font-weight:600;line-height:1.65}.home-content{display:grid;gap:16px;padding-bottom:calc(var(--home-cta-height) + 24px + env(safe-area-inset-bottom))}.person-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.home-card{padding:22px;border:1px solid rgba(84,55,82,.1);border-radius:20px;background:#fffaf1;color:var(--text);box-shadow:0 8px 24px #4a2c4314}.home-card h2{margin:4px 0 0;color:var(--plum-950);font-family:Pretendard Variable,Pretendard,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:20px;font-weight:700;line-height:1.35}.home-card p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.home-card .card-label{margin:0;color:var(--plum-700);font-size:12px;font-weight:700}.home-daily-card{width:100%;min-height:132px;display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-rows:auto 1fr;align-items:center;column-gap:18px;row-gap:8px;text-align:left;background:linear-gradient(135deg,#fbf3ff,#fff6e6);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease}.home-daily-card:hover{border-color:#54375240;box-shadow:0 12px 28px #4a2c4321}.home-daily-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.home-daily-label{grid-column:1 / -1}.home-daily-ganji{width:58px}.ganji-stack.home-daily-ganji .ganji-stem,.ganji-stack.home-daily-ganji .ganji-branch{width:58px;height:42px;border-width:1px;border-color:#2f1e3147;border-radius:11px;font-size:24px}.home-daily-copy{min-width:0;display:grid;gap:6px}.home-daily-copy strong{color:var(--plum-950);font-size:16px;line-height:1.45}.home-daily-copy>span{color:var(--muted);font-size:14px;line-height:1.4}.home-daily-chevron{color:var(--plum-700);font-size:30px;line-height:1}.home-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.home-card .home-birth-line{margin:2px 0 0;max-width:190px;text-align:right;font-size:12px}.home-pillar-grid{margin-top:20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.home-pillar{min-width:0;display:grid;justify-items:center;gap:7px}.home-pillar>span,.home-pillar>small{color:var(--muted);font-size:12px;font-weight:700}.home-ganji{width:100%;max-width:58px}.ganji-stack.home-ganji .ganji-stem,.ganji-stack.home-ganji .ganji-branch{width:100%;max-width:58px;border-width:1px;border-color:#2f1e3161;border-radius:12px;font-size:24px}.home-empty-chart{min-height:146px;display:grid;place-items:center;align-content:center;gap:14px}.home-card-footer{margin:18px -8px -8px;padding-top:10px;border-top:1px solid rgba(84,55,82,.1);display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px}.home-link-button{padding-inline:10px}.home-recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.home-recent-card,.home-history-card{min-height:196px;display:flex;flex-direction:column;align-items:flex-start}.home-recent-card .btn,.home-history-card .btn{margin-top:auto}.home-sticky-action{position:sticky;bottom:0;z-index:20;margin:24px 0 -24px;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#2f1e3100,#2f1e31db 36%)}.home-sticky-action .btn{width:100%}.person-editor-view{min-height:calc(100dvh - var(--app-header-height));padding:28px 24px calc(36px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#fffaf1f0,#f3e9d9f7)}.person-editor-form,.editor-saved-people{border-radius:20px;background:#fffaf1;box-shadow:0 8px 24px #4a2c4314}.person-editor-actions .btn{flex:1 1 180px}.editor-saved-list{display:grid;gap:10px}.editor-saved-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.editor-profile-load{min-width:0;justify-content:flex-start;border-radius:20px}.editor-profile-load span{overflow:hidden;color:var(--muted);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.room-menu-actions>.btn{min-height:48px}.room-menu-actions>.btn-secondary{border:1px solid rgba(84,55,82,.16);border-radius:999px;background:#fffaf1;color:var(--plum-800);box-shadow:0 6px 16px #4a2c431a;padding:0 18px}.room-menu-actions>.btn-secondary:hover:not(:disabled){border-color:#5437524d;background:#54375214}.room-menu-actions>.btn-danger,.room-menu-danger>.btn-danger{border:1px solid rgba(157,63,56,.2);border-radius:999px;background:#fffaf1;color:#9d3f38;box-shadow:0 6px 16px #4a2c4314;padding:0 18px}.room-kind-switch>.chip,.relationship-switch>.chip{min-height:40px;border:1px solid rgba(84,55,82,.16);border-radius:999px;background:#fffaf1;color:var(--plum-800);box-shadow:0 4px 12px #4a2c4314}.room-kind-switch>.chip.is-selected,.relationship-switch>.chip.is-selected,.room-kind-switch>.chip.active,.relationship-switch>.chip.active{border-color:var(--plum-800);background:var(--plum-800);color:var(--ivory)}.chat-send-button.btn-secondary.is-stop{border-color:#54375229;background:#fffaf1;color:var(--plum-800);box-shadow:0 6px 16px #4a2c431a}@media(max-width:420px){.home-view{padding-inline:24px}.home-hero{padding-top:34px}.home-card{padding:20px}.home-daily-card{grid-template-columns:58px minmax(0,1fr) auto;column-gap:14px}.home-daily-ganji,.ganji-stack.home-daily-ganji .ganji-stem,.ganji-stack.home-daily-ganji .ganji-branch{width:52px}.home-card-heading{display:grid;gap:5px}.home-card .home-birth-line{max-width:none;text-align:left}.home-pillar-grid{gap:6px}.home-recent-grid,.editor-saved-row{grid-template-columns:1fr}.home-recent-card,.home-history-card{min-height:176px}}@media(min-width:700px){.home-view{padding-inline:34px}.home-hero{padding-top:62px;padding-bottom:38px}}@media(prefers-reduced-motion:reduce){.btn,.chip,.home-daily-card{transition:none}}h1,h2,h3,.home-hero *,.card-label,[class*=-card] h2,[class*=-card] h3,.chat-room-bubble p,button,.btn,.chip{word-break:keep-all;overflow-wrap:anywhere}.ganji-stack.is-unknown .ganji-stem,.ganji-stack.is-unknown .ganji-branch,.saju-box.is-unknown{border-style:dashed;border-color:#2f1e314d;background:transparent;color:var(--muted)}.natal-cell.is-unknown{color:var(--muted)}.home-hour-notice,.chart-hour-notice{margin:12px 0 0}.analysis-tab-scroll{margin:0 0 18px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.analysis-tab-list{display:flex;width:max-content;min-width:100%;gap:8px;padding:3px 2px 9px}.analysis-tab-list>.chip{min-height:44px;flex:0 0 auto;border:1px solid rgba(84,55,82,.16);background:#fffaf1;color:var(--plum-800)}.analysis-tab-list>.chip.is-selected{border-color:var(--plum-800);background:var(--plum-800);color:var(--ivory)}.analysis-panel{display:grid;gap:20px;padding:20px;border:1px solid var(--line);box-shadow:0 10px 30px #4a2c4312;word-break:keep-all;overflow-wrap:anywhere}.analysis-panel-header,.analysis-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.analysis-panel-header h2,.analysis-title-row h3,.analysis-section h3{margin:0;color:var(--plum-950);font-family:AppleMyungjo,Batang,Nanum Myeongjo,"Noto Serif KR",serif}.analysis-panel-header p{margin:5px 0 0;color:var(--muted);line-height:1.55}.analysis-panel-header .btn{flex:0 0 auto}.analysis-kicker{display:block;margin-bottom:5px;color:var(--plum-700);font-size:12px;font-weight:700}.analysis-section{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.analysis-section>p{margin:0;line-height:1.65}.analysis-notice,.analysis-report-notice{margin:0;padding:12px 14px;border-radius:14px;background:#54375214;color:var(--plum-800);line-height:1.55}.analysis-report-notice{text-align:center;font-weight:700}.analysis-state{min-height:220px;place-content:center;justify-items:center;text-align:center}.analysis-state p{margin:0;color:var(--muted);font-size:16px}.analysis-empty{color:var(--muted)}.analysis-badges{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.analysis-badges>span,.analysis-grade,.analysis-token{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid rgba(84,55,82,.14);border-radius:999px;background:#fffaf1e6;color:var(--plum-800);font-size:12px;font-style:normal;font-weight:700}.analysis-grade.grade-c,.analysis-grade.grade-d{border-style:dashed}.needed-stem-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.needed-stem-chip{display:flex;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:16px;background:#ffffff9e}.needed-stem-chip>span:last-child{display:grid;gap:2px;min-width:0}.needed-stem-chip small{color:var(--muted)}.analysis-stem{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:2px solid rgba(47,30,49,.68);border-radius:12px;font-family:AppleMyungjo,Batang,Nanum Myeongjo,serif;font-size:24px;font-weight:700}.analysis-list,.analysis-rule-ids{margin:0;padding-left:20px}.analysis-list li,.analysis-rule-ids li{margin:7px 0;line-height:1.55}.analysis-rule-ids{color:var(--muted);font-size:12px}.climate-bars{display:grid;gap:16px}.climate-bar>div:first-child{display:flex;align-items:center;gap:9px;margin-bottom:7px}.climate-bar em{padding:2px 8px;border-radius:999px;background:var(--plum-800);color:var(--ivory);font-size:12px;font-style:normal}.climate-track{position:relative;height:10px;border-radius:999px;background:linear-gradient(90deg,#9bbbd0,#efe5d6 50%,#d89974)}.climate-track:after{position:absolute;left:50%;top:-3px;width:1px;height:16px;background:#2f1e3166;content:""}.climate-track>span{position:absolute;top:50%;width:18px;height:18px;border:3px solid #fffaf1;border-radius:50%;background:var(--plum-800);box-shadow:0 2px 6px #2f1e3140;transform:translate(-50%,-50%)}.strength-summary-grid,.eokbu-grid,.spirit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analysis-summary-card,.analysis-element-group,.spirit-grid>div{padding:15px;border:1px solid var(--line);border-radius:16px;background:#ffffff9e}.analysis-summary-card{display:grid;gap:5px}.analysis-summary-card span{color:var(--muted);font-size:12px;font-weight:700}.analysis-summary-card strong{color:var(--plum-950);font-size:24px}.analysis-summary-card p,.spirit-grid p{margin:0;color:var(--muted);line-height:1.5}.eokbu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-element-group>div{display:grid;gap:7px;margin-top:9px}.analysis-token{width:fit-content;max-width:100%}.analysis-table-wrap{overflow-x:auto}.analysis-table{width:100%;min-width:520px;border-collapse:collapse;font-variant-numeric:tabular-nums}.analysis-table th,.analysis-table td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:left}.analysis-table th{color:var(--plum-800);font-size:12px}.analysis-table td:last-child{text-align:right;font-weight:700}.analysis-evidence{border-top:1px solid var(--line)}.analysis-evidence>summary{min-height:44px;padding:13px 2px;color:var(--plum-800);cursor:pointer;font-weight:700}.analysis-evidence>div{display:grid;gap:18px;padding:4px 0 8px}.gyeok-rule-group{display:grid;gap:10px}.gyeok-rule-group h3{margin:0;color:var(--plum-950)}.gyeok-rule{padding:13px;border:1px solid var(--line);border-radius:14px;background:#ffffff8c}.gyeok-rule>div:first-child{display:flex;justify-content:space-between;gap:8px}.gyeok-rule code{color:var(--muted)}.gyeok-rule blockquote{margin:10px 0 5px;padding-left:10px;border-left:3px solid rgba(84,55,82,.25);color:var(--plum-950);font-family:AppleMyungjo,Batang,serif}.gyeok-rule p{margin:0;color:var(--muted);line-height:1.55}.rule-result{font-weight:700}.rule-result.is-undetermined{color:#8a5b24}.ziwei-scroll{overflow-x:auto;padding:2px 2px 10px}.ziwei-ring{display:grid;grid-template:repeat(4,minmax(154px,auto)) / repeat(4,minmax(168px,1fr));min-width:720px;gap:8px}.ziwei-palace,.ziwei-center{border:1px solid rgba(84,55,82,.18);border-radius:14px;background:#ffffffb3}.ziwei-palace{display:grid;grid-template-rows:auto 1fr auto auto;gap:7px;min-height:154px;padding:10px}.ziwei-palace.is-ming{border:2px solid var(--plum-800);box-shadow:inset 0 0 0 2px #54375214}.ziwei-palace.is-body{background:#f5e0ac47}.ziwei-palace header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ziwei-palace header>div:first-child{display:grid;gap:2px}.ziwei-palace header>div:first-child>span{color:var(--plum-700);font-size:12px;font-weight:700}.ganji-stack.ziwei-ganji{gap:2px;width:30px}.ganji-stack.ziwei-ganji .ganji-stem,.ganji-stack.ziwei-ganji .ganji-branch{width:30px;height:30px;border-width:1px;font-size:16px}.ziwei-stars{display:flex;flex-wrap:wrap;align-content:start;gap:5px}.ziwei-stars>span{display:inline-flex;align-items:center;gap:3px}.major-stars{color:var(--plum-950)}.major-stars small{color:var(--muted);font-size:12px}.ziwei-stars em{min-width:20px;padding:1px 5px;border-radius:999px;background:var(--plum-800);color:var(--ivory);font-size:12px;font-style:normal;text-align:center}.minor-stars{color:var(--muted);font-size:12px}.ziwei-palace footer{color:var(--muted);font-size:12px}.ziwei-center{grid-area:2 / 2 / 4 / 4;display:grid;place-content:center;justify-items:center;padding:18px;text-align:center}.ziwei-center strong{color:var(--plum-950);font-family:AppleMyungjo,Batang,serif;font-size:20px}.ziwei-center p{margin:5px 0 0}.ziwei-center small{margin-top:10px;color:var(--muted);line-height:1.5}.divergence-list{display:grid;gap:10px}.divergence-list>div{padding:13px;border:1px solid var(--line);border-radius:14px;background:#ffffff8f}.divergence-list p{display:grid;grid-template-columns:minmax(90px,auto) 1fr;gap:10px;margin:5px 0}.priority-decision{padding:15px;border-left:4px solid var(--plum-700);border-radius:0 14px 14px 0;background:#54375212}.priority-decision p{margin:0 0 5px;color:var(--plum-950);font-weight:700}.priority-decision small{color:var(--muted);line-height:1.55}.topic-priority-list,.confidence-grid,.grade-legend{display:grid;gap:8px}.topic-priority-list>div,.confidence-grid>div,.grade-legend p{display:grid;grid-template-columns:minmax(125px,.55fr) 1fr;align-items:center;gap:12px;margin:0;padding:10px 0;border-bottom:1px solid var(--line)}.topic-priority-list span,.grade-legend span{color:var(--muted);line-height:1.5}@media(max-width:560px){.analysis-panel{padding:16px}.analysis-panel-header,.analysis-title-row{display:grid}.analysis-panel-header .btn{width:100%}.strength-summary-grid,.eokbu-grid,.spirit-grid,.needed-stem-list{grid-template-columns:1fr}.topic-priority-list>div,.confidence-grid>div,.grade-legend p{grid-template-columns:1fr;gap:5px}}.sync-consent-overlay{position:fixed;inset:0;z-index:1130;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));display:grid;place-items:center;overflow-y:auto;background:#040212c2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:consultation-modal-backdrop-in .18s ease both}.sync-consent-dialog{width:min(100%,420px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px;border:1px solid rgba(233,196,106,.38);border-radius:24px;background:linear-gradient(155deg,#3a2a78fa,#0c0926fc);color:var(--text);box-shadow:0 28px 94px #03020eb3,inset 0 1px #ffffff14;animation:consultation-modal-panel-in .18s cubic-bezier(.2,.8,.2,1) both}.sync-consent-content{display:grid;gap:16px}.sync-consent-content>svg{color:#f6e7b8}.sync-consent-content h2{margin:0;color:#fff7dc;font-family:var(--font-display);font-size:24px;line-height:1.35;word-break:keep-all}.sync-consent-content p{margin:0;color:#d8d0ee;font-size:16px;line-height:1.65;word-break:keep-all}.sync-consent-actions{margin-top:4px}.sync-consent-actions .btn{min-height:48px}.sync-move-progress{display:grid;gap:8px}.sync-move-progress p{color:#fff7dc;font-weight:700}.sync-move-progress-track{height:6px;overflow:hidden;border-radius:999px;background:#ffffff24}.sync-move-progress-bar{height:100%;border-radius:inherit;background:#f6e7b8;transition:width .18s ease}.sync-move-error{color:#ffd0d0!important}.sync-status-row{min-height:44px;display:flex;align-items:center;gap:10px;color:var(--text);font-size:16px;font-weight:600}.sync-status-dot{width:10px;height:10px;flex:0 0 10px;border-radius:999px;background:#a9a0bc;box-shadow:0 0 0 4px #a9a0bc1f}.sync-status-dot.is-synced{background:#84c79a;box-shadow:0 0 0 4px #84c79a21}.sync-status-dot.is-pending,.sync-status-dot.is-syncing{background:#e9c46a;box-shadow:0 0 0 4px #e9c46a21}.sync-status-dot.is-offline{background:#df8f8f;box-shadow:0 0 0 4px #df8f8f21}@media(max-width:480px){.sync-consent-dialog{padding:20px}.sync-consent-actions{display:grid;grid-template-columns:1fr}.sync-consent-actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){.sync-consent-overlay,.sync-consent-dialog{animation:none}.sync-move-progress-bar{transition:none}}@media(max-width:480px){.ziwei-scroll{overflow-x:visible;padding:0}.ziwei-ring{width:100%;min-width:0;grid-template:repeat(4,minmax(104px,auto)) / repeat(4,minmax(0,1fr));gap:3px}.ziwei-palace,.ziwei-center{min-width:0;border-radius:9px}.ziwei-palace{min-height:104px;grid-template-rows:auto 1fr;gap:3px;padding:5px}.ziwei-palace header{gap:2px}.ziwei-palace header strong{font-size:12px;line-height:1.15}.ziwei-palace header span{font-size:12px;line-height:1.15}.ganji-stack.ziwei-ganji{width:22px;gap:1px}.ganji-stack.ziwei-ganji .ganji-stem,.ganji-stack.ziwei-ganji .ganji-branch{width:22px;height:22px;font-size:12px}.ziwei-stars{gap:2px}.ziwei-stars>span{gap:2px;line-height:1.15}.major-stars{align-content:start;font-size:12px}.major-stars small{font-size:12px}.ziwei-stars em{min-width:17px;padding:0 3px;font-size:12px}.minor-stars,.ziwei-palace footer{display:none}.ziwei-center{padding:7px}.ziwei-center strong{font-size:14px}.ziwei-center p{margin-top:3px;font-size:12px;line-height:1.3}.ziwei-center small{margin-top:5px;font-size:12px;line-height:1.3}}@media(prefers-reduced-motion:reduce){.analysis-tab-list>.chip{transition:none}}:root{color-scheme:dark;--navy: #0d0a24;--surface: rgba(18, 13, 51, .9);--card: rgba(31, 23, 72, .82);--line: rgba(233, 196, 106, .2);--line-strong: rgba(233, 196, 106, .42);--text: #f1ecff;--muted: #c5bcdf;--yellow: rgba(233, 196, 106, .14);--blue: #89b9ff;--live: #9ee6b5;--demo: #f4bf78;--ink: #f1ecff;--ink-soft: #d8d0ee;--plum: #8c6dd8;--plum-deep: #120d33;--plum-950: #f1ecff;--plum-800: #f6e7b8;--plum-700: #e9c46a;--ivory: #fffaf1;--ivory-deep: #f1e4c8;--gold: #e9c46a;--gold-deep: #caa650;--moon-yellow: #f3d98b;--moon-yellow-deep: #caa650;--focus-ring: #fff1c2;--glass: linear-gradient(155deg, rgba(64, 46, 133, .54), rgba(19, 14, 55, .82));--glass-strong: linear-gradient(155deg, rgba(56, 41, 117, .93), rgba(15, 11, 44, .96));--shadow: 0 22px 68px rgba(4, 2, 20, .46);--radius-card: 22px;--font-display: "Gowun Batang", "Noto Serif KR", "AppleMyungjo", "Batang", "Nanum Myeongjo", serif;--font-body: "Pretendard Variable", "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif}html{overflow-x:clip;background:#0d0a24}body{position:relative;isolation:isolate;overflow-x:clip;background:#0d0a24;color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.6}body:before,body:after{position:fixed;inset:0;pointer-events:none;content:""}body:before{z-index:-2;background-color:#0d0a24;background-image:url(/assets/moonlit-night-a3.jpg);background-image:-webkit-image-set(url(/assets/moonlit-night-a3.webp) type("image/webp"),url(/assets/moonlit-night-a3.jpg) type("image/jpeg"));background-image:image-set(url(/assets/moonlit-night-a3.webp) type("image/webp"),url(/assets/moonlit-night-a3.jpg) type("image/jpeg"));background-position:top right;background-size:cover;background-repeat:no-repeat}body:after{z-index:-1;background:linear-gradient(180deg,#08051e1f,#08051c94 56%,#050312d6),linear-gradient(90deg,#08051e8a,#08051e1f 65%,#08051e38)}body,button,input,select,textarea{font-family:var(--font-body)}h1,h2,h3{text-wrap:balance}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}input,select,textarea{min-height:48px;border-color:#e9c46a47;background:#0d0a24c7;color:var(--text);caret-color:var(--focus-ring)}input::placeholder,textarea::placeholder{color:#aaa1c7;opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e9c46a21}.app-shell,.app-device,.app-surface,.app-view,.home-view,.person-editor-view{background:transparent}.app-device{box-shadow:none}.single-flow-header{border-bottom-color:#e9c46a29;background:linear-gradient(180deg,#0d0a24f2,#0d0a24c7);color:var(--text);text-shadow:0 2px 16px rgba(0,0,0,.5);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}.single-flow-header[data-screen=home]{border-bottom-color:#e9c46a1f;background:linear-gradient(180deg,#0d0a24e6,#0d0a2485)}.single-flow-brand strong{color:#f6e7b8;font-family:var(--font-display)}.single-flow-brand>svg,.single-flow-header[data-screen=home] .single-flow-brand>svg{color:var(--gold)}.single-flow-back,.single-flow-music,.single-flow-settings,.single-flow-header[data-screen=home] .single-flow-music.btn-secondary,.single-flow-header[data-screen=home] .single-flow-settings.btn-secondary{border-color:#e9c46a47;background:#08061ca8;color:#f6e7b8;box-shadow:inset 0 1px #ffffff12,0 6px 18px #03020e47}.app-view{width:min(100%,960px);color:var(--text)}.view-heading>span,.home-eyebrow,.home-card .card-label,label>span{color:var(--gold)}.view-heading h1,.form-card h1,.current-person-card h2,.saved-people h2,.recent-consultations h2,.consultation-prep h1,.consultation-prep h2,.home-hero h1{color:var(--text);font-family:var(--font-display)}.view-heading p,.home-hero-copy,.home-eyebrow{color:#d6cee9}.form-card,.current-person-card,.saved-people,.recent-consultations,.consultation-prep,.consultation-prep>section,.consultation-prep .relation-category,.advanced-recovery,.home-card,.person-editor-form,.editor-saved-people,.relationship-switch,.json-file-slot,.consultation-history,.board-card,.fortune-card,.analysis-panel{border:1px solid var(--line);background:var(--glass);color:var(--text);box-shadow:inset 0 1px #ffffff12,var(--shadow);backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%)}.consultation-prep-view>.consultation-prep{padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.home-view .form-card,.home-view .current-person-card,.home-view .saved-people,.home-view .recent-consultations,.home-card{background:var(--glass);color:var(--text);text-shadow:none}.home-card h2,.home-daily-copy strong,.saved-profile-main strong,.current-person-card h2{color:var(--text)}.home-card p,.home-card .home-birth-line,.home-pillar>span,.home-pillar>small,.home-daily-copy>span,.saved-profile-main span,.current-person-card p,.hint-text{color:var(--muted)}.home-daily-card{background:linear-gradient(135deg,#4b369280,#1c1444b8)}.checkbox-tile,.saved-profile-card{border-color:var(--line);background:#0d0a2485;color:var(--text)}.btn-primary{border-color:#f6e7b8;background:linear-gradient(135deg,#f6e7b8,#e9c46a);color:#1b1440;box-shadow:0 10px 28px #e9c46a47}.btn-primary:hover:not(:disabled){border-color:#fff1c2;background:linear-gradient(135deg,#fff1c2,#e9c46a)}.btn-secondary,.chip,.ghost-button,.text-button,.participant-badge,.room-kind-switch>.chip,.relationship-switch>.chip{border-color:#e9c46a45;background:#fff1;color:#f6e7b8;box-shadow:inset 0 1px #ffffff0f}.btn-secondary:hover:not(:disabled),.chip:hover:not(:disabled),.ghost-button:hover:not(:disabled),.text-button:hover:not(:disabled){border-color:#fff1c294;background:#e9c46a21;color:#fff1c2}.btn-ghost{color:#f6e7b8}.btn-ghost:hover:not(:disabled),.btn-ghost:focus-visible{border-color:#e9c46a47;background:#e9c46a1a}.btn-danger{border-color:#ff939361;background:#651b3461;color:#ffc6c6}.chip.is-selected,.participant-badge.selected,.room-kind-switch>.chip.is-selected,.relationship-switch>.chip.is-selected,.room-kind-switch>.chip.active,.relationship-switch>.chip.active{border-color:var(--gold);background:#e9c46a2e;color:#fff1c2}.chart-view{position:relative;padding-bottom:calc(132px + env(safe-area-inset-bottom))}.chart-heading{margin-bottom:14px;padding-top:10px}.chart-heading>span{display:block;color:#cbc2df;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}.chart-heading h1{margin:7px 0 1px;color:var(--text);font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.035em}.chart-heading .chart-heading-subtitle{color:var(--gold);font-size:14px;font-weight:600;animation:moonha-subtitle-in .32s cubic-bezier(.2,.8,.2,1)}@keyframes moonha-subtitle-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.analysis-tab-scroll{position:sticky;top:var(--app-header-height);z-index:24;margin:0 -16px 18px;overflow:hidden;border-bottom:1px solid rgba(233,196,106,.17);background:linear-gradient(180deg,#0d0a24f2,#0d0a24c9);backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%)}.analysis-tab-list{position:relative;width:auto;min-width:max-content;gap:2px;padding:0 18px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x proximity}.analysis-tab-list::-webkit-scrollbar{display:none}.analysis-tab{position:relative;z-index:1;min-height:48px;flex:0 0 auto;padding:0 14px;border:0;background:transparent;color:#aaa1c7;font-size:14px;font-weight:600;white-space:nowrap;scroll-snap-align:center;transition:color .22s ease}.analysis-tab[aria-selected=true]{color:#fff1c2}.analysis-tab-indicator{position:absolute;bottom:0;left:0;z-index:0;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#e9c46a 18%,#fff1c2 50%,#e9c46a 82%,transparent);box-shadow:0 0 14px 2px #e9c46a9e;pointer-events:none;transition:transform .42s cubic-bezier(.2,.9,.2,1),width .42s cubic-bezier(.2,.9,.2,1)}.analysis-tab-fade{position:absolute;inset-block:0;z-index:3;width:28px;pointer-events:none}.analysis-tab-fade.is-left{left:0;background:linear-gradient(90deg,#0d0a24,transparent)}.analysis-tab-fade.is-right{right:0;background:linear-gradient(270deg,#0d0a24,transparent)}.chart-tab-panel{animation:moonha-panel-in .4s cubic-bezier(.2,.8,.2,1)}@keyframes moonha-panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.board-card{overflow:hidden;padding:18px;border-radius:var(--radius-card)}.board-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.board-card-header span{color:var(--gold);font-size:12px;font-weight:700}.board-card-header h2{margin:1px 0 0;color:var(--text);font-family:var(--font-display);font-size:16px}.chart-tools-trigger,.analysis-menu-trigger{width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px;font-size:20px;letter-spacing:.08em}.natal-grid{border:0}.natal-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(6px,2vw,12px)}.natal-pillar{min-width:0;display:grid;justify-items:center;gap:7px;padding:11px 5px 10px;border:1px solid rgba(233,196,106,.14);border-radius:17px;background:#ffffff09}.natal-pillar.is-day{border-color:#fff1c2d1;box-shadow:0 0 0 1px #e9c46a6b,0 0 24px #e9c46a38,inset 0 1px #ffffff14}.natal-pillar-label,.natal-pillar-gods{color:var(--muted);font-size:12px;font-weight:700;text-align:center}.natal-pillar-gods{min-height:36px;display:grid;place-items:center;line-height:1.35}.natal-pillar .ganji-stack{width:min(64px,100%)}.natal-pillar .ganji-stack .ganji-stem,.natal-pillar .ganji-stack .ganji-branch{width:100%;max-width:64px;border-width:2px;border-color:#040210c2;border-radius:14px;font-size:30px}.natal-details{margin-top:16px;border-top:1px solid var(--line)}.natal-details>summary{min-height:48px;display:flex;align-items:center;justify-content:flex-end;color:#f6e7b8;font-weight:700;cursor:pointer;list-style:none}.natal-details>summary::-webkit-details-marker{display:none}.natal-details-chevron{margin-left:7px;transition:transform .18s ease}.natal-details[open] .natal-details-chevron{transform:rotate(180deg)}.natal-details .natal-table,.board-detail-grid{overflow:hidden;border:1px solid rgba(233,196,106,.15);border-radius:16px;background:#08061c47}.natal-cell,.pillar-head,.pillar-ganji,.pillar-relations,.pillar-relation-detail,.board-detail-head>div,.board-detail-row>div{border-color:#e9c46a21;background:transparent;color:var(--text)}.pillar-head{background:#e9c46a1c;color:#f6e7b8}.pillar-relations,.pillar-relation-detail{background:#7e5dd31c}.board-summary-line{border-color:#e9c46a24;color:#ddd5ee;font-size:14px;line-height:1.55}.board-detail-grid{margin-top:12px}.board-detail-row>div{font-size:14px}.fortune-card{margin-top:14px;padding:18px;border-radius:var(--radius-card);overflow:hidden}.fortune-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 12px;padding:0 0 14px}.fortune-header h2{grid-column:1;color:var(--text);font-family:var(--font-display);font-size:16px}.fortune-header p{grid-column:1;color:var(--muted);font-size:12px;line-height:1.5}.fortune-header .btn{grid-column:2;grid-row:1 / span 2;align-self:center;width:auto;min-height:44px;padding-inline:14px;white-space:nowrap}.fortune-scroller{padding:4px 2px 12px}.fortune-card-item{border-color:#e9c46a26;background:#08061c6b;color:var(--text);box-shadow:inset 0 1px #ffffff0a}.fortune-card-item.active,.fortune-card-item.current{border-color:#fff1c2c7;background:linear-gradient(180deg,#e9c46a29,#3e2d7d6b);box-shadow:0 0 0 1px #e9c46a38,0 0 22px #e9c46a29}.fortune-card-caption,.fortune-card-god,.fortune-card-stage,.fortune-card-shinsal{color:var(--muted)}.analysis-panel{gap:20px;margin:0;padding:20px;border-radius:var(--radius-card);overflow:visible}.analysis-panel-header h2,.analysis-title-row h3,.analysis-section h3,.gyeok-rule-group h3,.ziwei-center strong,.analysis-summary-card strong{color:var(--text);font-family:var(--font-display)}.analysis-panel-header h2{font-size:24px}.analysis-panel-header p,.analysis-summary-card p,.spirit-grid p,.topic-priority-list span,.grade-legend span,.analysis-state p,.analysis-empty,.analysis-rule-ids,.gyeok-rule code,.gyeok-rule p,.minor-stars,.ziwei-palace footer,.ziwei-center small{color:var(--muted)}.analysis-menu-wrap{position:relative;flex:0 0 auto}.analysis-menu-popover{position:absolute;top:calc(100% + 7px);right:0;z-index:12;min-width:160px;padding:6px;border:1px solid var(--line-strong);border-radius:14px;background:#120d33fa;box-shadow:0 16px 42px #0402128c}.analysis-menu-popover button{width:100%;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:#f6e7b8;font-weight:700;text-align:left}.analysis-menu-popover button:hover,.analysis-menu-popover button:focus-visible{background:#e9c46a21}.analysis-section,.analysis-evidence,.topic-priority-list>div,.confidence-grid>div,.grade-legend p,.analysis-table th,.analysis-table td{border-color:#e9c46a26}.analysis-notice,.analysis-report-notice,.priority-decision{background:#e9c46a1a;color:#f6e7b8}.analysis-badges>span,.analysis-grade,.analysis-token{border-color:#e9c46a3b;background:#e9c46a17;color:#f6e7b8}.needed-stem-chip,.analysis-summary-card,.analysis-element-group,.spirit-grid>div,.gyeok-rule,.ziwei-palace,.ziwei-center,.divergence-list>div{border-color:#e9c46a29;background:#08061c57;color:var(--text)}.analysis-table th,.analysis-evidence>summary,.analysis-kicker,.ziwei-palace header>div:first-child>span{color:var(--gold)}.climate-track{height:10px;background:linear-gradient(90deg,#5ba7ff,#8c5bd8 50%,#ff8a5b);box-shadow:inset 0 1px 3px #03020f80}.climate-track:after{background:#ffffff80}.climate-track>span{border-color:#0d0a24e6;background:#fff1c2;box-shadow:0 0 0 2px #fff1c2b8,0 0 18px #e9c46ad1;animation:climate-settle .85s cubic-bezier(.2,.9,.2,1)}@keyframes climate-settle{0%{left:50%}}.strength-balance{display:grid;gap:9px;padding:16px;border:1px solid rgba(233,196,106,.17);border-radius:17px;background:#08061c52}.strength-balance-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.strength-balance-title h3{margin:0;color:var(--text);font-family:var(--font-display);font-size:16px}.strength-balance-title strong{color:#fff1c2}.strength-balance-gauge{position:relative;height:56px;margin:2px 10px 0}.strength-balance-axis{position:absolute;top:28px;right:0;left:0;height:3px;border-radius:99px;background:linear-gradient(90deg,#5ba7ff,#ffffff52,#ff8a5b)}.strength-balance-mark{position:absolute;top:18px;width:2px;height:23px;background:#ffffff75}.strength-balance-mark i{position:absolute;top:27px;left:50%;color:#aaa1c7;font-size:12px;font-style:normal;line-height:1;white-space:nowrap;transform:translate(-50%)}.strength-balance-mark.is-low{left:0}.strength-balance-mark.is-mid{left:50%}.strength-balance-mark.is-high{left:100%}.strength-balance-needle{position:absolute;top:7px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#1b1440;font-size:12px;font-weight:700;box-shadow:0 0 22px #e9c46aad;transform:translate(-50%);animation:strength-settle .9s cubic-bezier(.2,.9,.2,1)}@keyframes strength-settle{0%{left:50%}}.strength-balance-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));color:var(--muted);font-size:12px;line-height:1.35;white-space:nowrap}.strength-balance-labels span{text-align:center}.strength-balance-labels span:first-child{text-align:left}.strength-balance-labels span:last-child{text-align:right}.synthesis-conclusion{margin:0;padding:4px 0 18px;border-bottom:1px solid var(--line);color:#fff1c2;font-family:var(--font-display);font-size:24px;line-height:1.5}.ziwei-scroll{max-width:100%}.ziwei-palace.is-ming{border-color:var(--gold);box-shadow:inset 0 0 0 1px #e9c46a33,0 0 16px #e9c46a1f}.ziwei-palace.is-body{background:#e9c46a1a}.major-stars{color:var(--text)}.major-stars small{color:var(--muted)}.ziwei-stars em{background:#e9c46a2e;color:#fff1c2}.detail-overlay,.settings-overlay,.room-menu-overlay{background:#050312bd;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.detail-dialog,.settings-sheet,.room-menu-sheet{border:1px solid var(--line-strong);background:var(--glass-strong);color:var(--text);box-shadow:0 26px 90px #03020ea6,inset 0 1px #ffffff12}.chart-tools-dialog{width:min(calc(100% - 32px),760px);max-height:min(84dvh,760px);overflow-y:auto}.chart-tools-heading,.settings-header,.room-menu-header{border-color:#e9c46a26;background:#120d33f0;color:var(--text)}.chart-tools-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.chart-tools-heading span{color:var(--gold);font-size:12px;font-weight:700}.chart-tools-heading h2{margin:2px 0 0;color:var(--text);font-family:var(--font-display);font-size:20px}.meta-grid div{border-color:var(--line);background:#08061c57}.meta-grid dt{color:var(--gold)}.chart-tools-actions{justify-content:flex-end;margin-top:18px}.settings-block{border-color:var(--line);background:#08061c57;color:var(--text)}.settings-header h2,.settings-block h3,.room-menu-header h2,.room-menu-section h3{color:var(--text)}.room-menu-actions>.btn-secondary,.room-kind-switch>.chip,.relationship-switch>.chip,.chat-send-button.btn-secondary.is-stop{border-color:#e9c46a40;background:#ffffff0f;color:#f6e7b8;box-shadow:none}.consulting-view,.relationships-view,.chat-room{background:transparent;color:var(--text)}.chat-room-header,.chat-room-composer{border-color:#e9c46a26;background:#0d0a24e6;color:var(--text);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.chat-room-header-actions button,.chat-room-header-actions>.btn-secondary{border-color:#e9c46a45;background:#ffffff0f;color:#f6e7b8;box-shadow:none}.chat-thread{background:linear-gradient(180deg,#120d3380,#08061cc2)}.chat-day-divider{color:#c5bcdf}.chat-day-divider:before,.chat-day-divider:after{background:#e9c46a2e}.chat-day-divider span{border-color:#e9c46a2e;background:#0d0a24c7}.chat-room-bubble{border-color:#fffaf1b8;background:#fffaf1;color:#281d3f;box-shadow:0 7px 22px #03020e38}.chat-room-bubble p,.chat-room-bubble li,.chat-room-bubble h1,.chat-room-bubble h2,.chat-room-bubble h3,.chat-room-bubble h4{color:inherit}.chat-message-row.me .chat-room-bubble{border-color:#f6e7b8;background:#f3d98b;color:#1b1440}.chat-bubble-line time,.chat-markdown-loading,.chat-system{color:#c5bcdf}.chat-room-composer textarea{border-color:#e9c46a38;background:#08061cb8;color:var(--text)}.chat-starter-pill,.chat-system button,.chat-new-answer{border-color:#e9c46a47;background:#1f1748eb;color:#f6e7b8}.chat-send-button{border-color:#f6e7b8;background:#f3d98b;color:#1b1440}@media(max-width:560px){.fortune-header{grid-template-columns:minmax(0,1fr) auto}.fortune-header .btn{width:auto;padding-inline:12px;font-size:12px}.analysis-panel-header,.analysis-title-row{display:flex}.analysis-panel-header .btn{width:44px}}@media(max-width:480px){.app-view{padding-inline:14px}.analysis-tab-scroll{margin-inline:-14px}.board-card,.fortune-card,.analysis-panel{padding:15px}.natal-pillars{gap:5px}.natal-pillar{gap:5px;padding:9px 3px 8px;border-radius:14px}.natal-pillar .ganji-stack{width:min(54px,100%)}.natal-pillar .ganji-stack .ganji-stem,.natal-pillar .ganji-stack .ganji-branch{border-radius:11px;font-size:24px}.natal-pillar-gods{min-height:33px;font-size:12px}.natal-details .natal-table,.board-detail-grid{margin-inline:-7px}.fortune-header p{grid-column:1 / -1;padding-right:0}.fortune-header .btn{grid-row:1}.johu-title-row{align-items:flex-start;flex-direction:column;gap:10px}.johu-title-row>h3{max-width:100%;margin:0}.johu-title-row .analysis-badges{width:100%}.meta-grid{grid-template-columns:1fr}.ziwei-scroll{overflow-x:visible}.ziwei-ring{width:100%;min-width:0}}@media(min-width:700px){.analysis-tab-scroll{top:calc(var(--app-header-height) + 24px);margin-inline:-34px;padding-inline:18px}}@media(prefers-reduced-motion:reduce){.chart-heading .chart-heading-subtitle,.chart-tab-panel,.climate-track>span,.strength-balance-needle{animation:none}.analysis-tab,.analysis-tab-indicator,.btn,.chip{transition:none}.analysis-tab-list{scroll-behavior:auto}}.home-view{position:relative;width:min(100%,760px);padding:0 24px calc(112px + env(safe-area-inset-bottom))}.home-hero{max-width:680px;padding:clamp(42px,8vw,72px) 2px 34px;text-shadow:0 3px 24px rgba(3,2,18,.72);animation:moonha-home-enter .56s cubic-bezier(.2,.8,.2,1) both}.home-eyebrow{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.12em}.home-hero h1{margin:10px 0 12px;color:#fff7dc;font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1.3;letter-spacing:-.045em}.home-hero-copy{color:#ddd5ee;font-size:14px;line-height:1.7}.home-content{gap:18px;padding-bottom:0}.home-content>*{animation:moonha-home-enter .52s cubic-bezier(.2,.8,.2,1) both}.home-content>:nth-child(1){animation-delay:70ms}.home-content>:nth-child(2){animation-delay:.12s}.home-content>:nth-child(3){animation-delay:.17s}.home-content>:nth-child(4){animation-delay:.22s}.home-content>:nth-child(5){animation-delay:.28s}@keyframes moonha-home-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.person-chip-row{margin:0 0 2px;gap:8px}.person-chip-row>.chip{min-height:44px;border-color:#e9c46a66;background:#0d0a2494;color:#f6e7b8;box-shadow:inset 0 1px #ffffff0f,0 7px 20px #0302123d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}button.chip,.room-kind-switch>button.chip,.relationship-switch>button.chip{min-height:44px}.person-chip-row>.chip.is-selected{border-color:#f6e7b8;background:#e9c46a33;color:#fff6d8;box-shadow:0 0 18px #e9c46a29,inset 0 1px #ffffff1a}.home-card{padding:clamp(20px,4vw,26px);border-color:#e9c46a38;border-radius:24px;background:linear-gradient(150deg,#3a2a799e,#0e0a2adb);box-shadow:0 18px 52px #0302125c,inset 0 1px #ffffff14}.home-card h2{color:#f7f2ff;font-family:var(--font-display);font-size:20px}.home-card .card-label{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.08em}.home-daily-card{min-height:142px;border-color:#e9c46a42;background:radial-gradient(circle at 78% 22%,rgba(233,196,106,.13),transparent 42%),linear-gradient(135deg,#4a3593a8,#191241d9)}.home-daily-card:hover{border-color:#fff1c29e;box-shadow:0 20px 56px #0302126b,0 0 24px #e9c46a1f}.home-chart-card{overflow:hidden}.home-pillar-grid{gap:clamp(6px,2vw,12px)}.home-pillar{gap:7px;padding:11px 4px 10px;border:1px solid rgba(233,196,106,.14);border-radius:17px;background:#08061c4d}.home-pillar-grid>.home-pillar:nth-child(2){border-color:#fff1c2c2;box-shadow:0 0 0 1px #e9c46a47,0 0 24px #e9c46a30}.home-pillar>span,.home-pillar>small{color:#cfc7e3}.ganji-stack.home-ganji .ganji-stem,.ganji-stack.home-ganji .ganji-branch,.ganji-stack.home-daily-ganji .ganji-stem,.ganji-stack.home-daily-ganji .ganji-branch{border-color:#040210b8;border-width:2px}.home-card-footer{border-top-color:#e9c46a26;justify-content:flex-end}.home-recent-card,.home-history-card{min-height:202px}.home-recent-card .btn,.home-history-card .btn{width:auto;align-self:flex-start}.home-sticky-action{position:fixed;right:max(16px,calc(50% - 460px));bottom:max(18px,calc(14px + env(safe-area-inset-bottom)));z-index:28;width:auto;margin:0;padding:0;background:none}.home-sticky-action .btn{width:auto;min-height:50px;padding-inline:21px;border-color:#ffffff73;box-shadow:0 14px 38px #e9c46a59,inset 0 1px #ffffff80}.person-editor-view,.consultation-prep-view,.consultation-history-view{padding-bottom:calc(52px + env(safe-area-inset-bottom))}.person-editor-heading,.consultation-prep .view-heading,.consultation-history-view .view-heading{max-width:680px}.person-editor-form,.editor-saved-people,.consultation-prep>section,.consultation-prep .relation-category,.advanced-recovery,.consultation-history{border-color:#e9c46a38;border-radius:24px;background:linear-gradient(155deg,#392a7899,#0e0a2bde);box-shadow:0 18px 52px #0302125c,inset 0 1px #ffffff12}.person-editor-form{gap:20px;padding:clamp(20px,4vw,28px)}.person-editor-form label>span,.settings-block label>span,.json-file-slot label>span{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.055em}.person-editor-form input,.person-editor-form select,.settings-block input,.settings-block select,.settings-block textarea,.json-file-slot input{border-color:#e9c46a45;background-color:#08061ca8;color:var(--text)}.person-editor-form select,.settings-block select{color-scheme:dark}.checkbox-tile,.checkbox-row{min-height:48px}.checkbox-tile{border-color:#e9c46a33;background:#08061c85}.checkbox-tile input,.checkbox-row input{accent-color:var(--gold)}.error-text{padding:11px 13px;border:1px solid rgba(255,147,147,.32);border-radius:13px;background:#651b3457;color:#ffd3d3;line-height:1.5}.person-editor-actions{align-items:center;justify-content:flex-end}.person-editor-actions .btn{width:auto;flex:0 0 auto}.person-editor-actions .btn-primary{flex:1 1 100%;width:100%}.editor-saved-people{margin-top:18px}.editor-profile-load{background:#08061c80}.consultation-prep{gap:18px}.consultation-prep>section,.consultation-prep .relation-category,.advanced-recovery{padding:clamp(18px,4vw,24px)}.consultation-prep h2,.consultation-prep legend,.advanced-recovery>summary{color:var(--text);font-family:var(--font-display)}.consultation-prep .action-row{justify-content:flex-end}.consultation-prep .action-row .btn{width:auto}.consultation-prep .action-row .btn-primary{min-height:50px;padding-inline:22px}.advanced-recovery>summary{min-height:44px;display:flex;align-items:center;color:#f6e7b8;cursor:pointer}.json-file-slot{border-color:#e9c46a33;background:#08061c7a;box-shadow:inset 0 1px #ffffff0d}.json-file-picker{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(233,196,106,.28);border-radius:999px;background:#ffffff0f;color:#f6e7b8}.json-file-summary{border-color:#e9c46a29;background:#08061c6b}.consultation-history{gap:18px;padding:clamp(18px,4vw,24px)}.consultation-history-select select{border-color:#e9c46a45;background:#08061ca8;color:var(--text)}.consultation-history-actions{justify-content:flex-end}.consultation-history-actions .btn{width:auto}.relationships-view{width:min(100%,960px)}.consulting-view,.relationships-view{width:min(100%,960px);min-height:calc(100dvh - var(--app-header-height));padding:0}.chat-room{min-height:calc(100dvh - var(--app-header-height));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-inline:1px solid rgba(233,196,106,.13);background:linear-gradient(180deg,#120d336b,#070518b8);box-shadow:0 24px 72px #0302125c}.chat-room-header{min-height:70px;padding:10px clamp(12px,3vw,20px);border-bottom:1px solid rgba(233,196,106,.17);background:#0d0a24d6;box-shadow:0 8px 28px #03021238}.chat-room-header.has-participant-row{row-gap:6px;padding-bottom:9px}.chat-room-header-actions button{min-width:44px;min-height:44px}.chat-room-teacher-avatar,.chat-teacher-avatar{border-color:#e9c46a80;background:radial-gradient(circle at 35% 28%,#fff1c238,#45318cbf);color:#f6e7b8;box-shadow:0 0 18px #e9c46a29}.chat-room-teacher strong{color:#fff6d8;font-family:var(--font-display);font-size:16px}.chat-room-header-actions{gap:6px}.chat-room-header-actions>.btn{min-height:40px;padding-inline:13px;border-radius:999px}.chat-thread-shell,.chat-thread{min-height:0}.chat-thread{padding:20px clamp(12px,3vw,26px) 26px;background:radial-gradient(circle at 86% 2%,rgba(233,196,106,.07),transparent 26%),linear-gradient(180deg,#120d3361,#08061cbd)}.chat-message-list{width:min(100%,760px);margin:0 auto}.chat-day-divider{margin-block:14px 20px;color:#d6cee9}.chat-day-divider span{min-height:28px;padding:4px 12px;border:1px solid rgba(233,196,106,.18);border-radius:999px;background:#0d0a24b8;font-size:12px}.chat-message-row{animation:moonha-message-in .26s cubic-bezier(.2,.8,.2,1) both}@keyframes moonha-message-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.chat-message-content{max-width:min(78%,590px)}.chat-room-bubble{padding:11px 14px;border:1px solid rgba(255,250,241,.8);border-radius:7px 18px 18px;background:#fffaf1;color:#281d3f;box-shadow:0 9px 26px #03021247;line-height:1.58}.chat-message-row.teacher:not(.group-first) .chat-room-bubble{border-top-left-radius:18px}.chat-message-row.teacher:not(.group-last) .chat-room-bubble{border-bottom-left-radius:7px}.chat-message-row.me .chat-room-bubble{border-color:#f6e7b8;border-radius:18px 7px 18px 18px;background:linear-gradient(145deg,#f8e4a8,#ebc968);color:#1b1440;box-shadow:0 9px 26px #0302124d,inset 0 1px #ffffff6b}.chat-message-row.me:not(.group-first) .chat-room-bubble{border-top-right-radius:18px}.chat-message-row.me:not(.group-last) .chat-room-bubble{border-bottom-right-radius:7px}.chat-bubble-line time{color:#cfc7e3;font-size:12px}.chat-starter-pills{margin-top:12px;gap:8px}.chat-starter-pill{min-height:44px;padding:9px 14px;border-color:#e9c46a6b;background:#161039d1;color:#f6e7b8;box-shadow:0 8px 22px #0302123d}.chat-typing{min-width:46px;min-height:22px}.chat-typing i{width:7px;height:7px;background:var(--gold);box-shadow:0 0 8px #e9c46a85}.chat-room-composer{width:100%;min-height:72px;padding:9px clamp(12px,3vw,20px) calc(9px + env(safe-area-inset-bottom));border-top:1px solid rgba(233,196,106,.18);background:#0d0a24e0;box-shadow:0 -10px 32px #03021242}.chat-room-composer textarea{min-height:50px;max-height:126px;padding:13px 18px;border-color:#e9c46a42;border-radius:25px;background:#08061cb8;color:var(--text);resize:none}.chat-send-button{width:50px;min-width:50px;height:50px;min-height:50px;border-color:#fff1c2;background:linear-gradient(145deg,#fff1c2,#e9c46a);color:#1b1440;box-shadow:0 9px 24px #e9c46a4d;transition:transform .12s ease,box-shadow .18s ease,background .18s ease}.chat-send-button:active:not(:disabled){transform:scale(.92)}.chat-send-button.btn-secondary.is-stop{border-color:#fff1c2ad;background:#e9c46a24;color:#fff1c2;font-size:12px;box-shadow:0 8px 22px #03021247}.detail-overlay,.settings-overlay,.room-menu-overlay,.viewer-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:#050312c7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.detail-dialog,.settings-sheet,.room-menu-sheet,.viewer-modal{border:1px solid rgba(233,196,106,.38);background:linear-gradient(155deg,#3a2a78fa,#0c0926fc);color:var(--text);box-shadow:0 28px 94px #03020eb3,inset 0 1px #ffffff14}.room-menu-overlay,.settings-overlay{align-items:end;padding-bottom:0}.room-menu-sheet,.settings-sheet{animation:moonha-sheet-in .3s cubic-bezier(.2,.8,.2,1) both}@keyframes moonha-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.settings-sheet{width:min(100%,760px);max-height:min(92dvh,900px);overflow-y:auto;border-radius:28px 28px 0 0}.settings-header,.room-menu-header,.viewer-header,.chart-tools-heading{border-bottom:1px solid rgba(233,196,106,.16);background:#120d33d1;color:var(--text)}.settings-header h2,.room-menu-header h2,.viewer-header h3,.chart-tools-heading h2,.detail-dialog h2{color:var(--text);font-family:var(--font-display)}.settings-stack{gap:14px;padding:16px}.settings-block{gap:15px;padding:18px;border-color:#e9c46a2e;border-radius:19px;background:#08061c6b;box-shadow:inset 0 1px #ffffff0a}.settings-block h3{color:#fff4cf;font-family:var(--font-display)}.settings-block .action-row,.consultation-transfer-actions,.settings-actions,.chart-tools-actions{justify-content:flex-end}.settings-block .btn,.settings-actions .btn,.chart-tools-actions .btn{width:auto}.settings-actions{align-items:center}.room-menu-sheet{width:min(100%,680px);max-height:min(88dvh,820px);overflow-y:auto;border-radius:28px 28px 0 0}.room-menu-actions{gap:9px}.room-menu-actions>.btn{width:100%;border-color:#e9c46a33;border-radius:16px;background:#08061c66;color:#f6e7b8;box-shadow:inset 0 1px #ffffff0a}.room-menu-actions>.room-menu-primary-action{border-color:#f6e7b8;background:linear-gradient(135deg,#f6e7b8,#e9c46a);color:#1b1440}.room-menu-actions>.room-menu-primary-action>span{color:#1b1440b8}.room-menu-danger>.btn-danger{border-color:#ff939359;background:#651b3452;color:#ffc6c6}.detail-dialog{width:min(calc(100% - 32px),680px);max-height:min(88dvh,820px);overflow-y:auto;padding:clamp(20px,4vw,28px);border-radius:24px}.detail-list,.meta-grid div{border-color:#e9c46a29;background:#08061c61;color:var(--text)}.detail-confirm-button{width:auto;min-width:112px;margin-left:auto}.viewer-modal{width:min(calc(100% - 32px),860px);max-height:min(88dvh,840px);overflow:hidden;border-radius:24px}.viewer-header{padding:16px 18px}.viewer-content{max-height:calc(88dvh - 78px);background:#050312a3;color:#e9e3f5}.viewer-content pre{color:inherit}.strength-breakdown-table{min-width:0}@media(max-width:480px){.strength-breakdown-wrap{overflow:visible}.strength-breakdown-table,.strength-breakdown-table tbody,.strength-breakdown-table tr,.strength-breakdown-table td{display:block;width:100%;min-width:0}.strength-breakdown-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.strength-breakdown-table tr{position:relative;display:block;padding:11px 72px 11px 0;border-bottom:1px solid rgba(233,196,106,.15)}.strength-breakdown-table td{padding:0;border:0;color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.strength-breakdown-table td:nth-child(1),.strength-breakdown-table td:nth-child(2){display:inline}.strength-breakdown-table td:nth-child(1){color:var(--text);font-size:14px;font-weight:700}.strength-breakdown-table td:nth-child(2){font-size:12px}.strength-breakdown-table td:nth-child(1):after{content:" · ";color:var(--gold)}.strength-breakdown-table td:nth-child(3),.strength-breakdown-table td:nth-child(4){position:absolute;right:0;width:62px;text-align:right}.strength-breakdown-table td:nth-child(3){top:10px;color:var(--text);font-size:14px}.strength-breakdown-table td:nth-child(4){bottom:10px;color:#fff1c2;font-size:12px;font-weight:700}}@media(max-width:560px){.home-view{padding-inline:14px}.home-hero{padding-top:38px}.home-card{padding:19px}.home-recent-grid{grid-template-columns:1fr}.home-recent-card,.home-history-card{min-height:168px}.home-sticky-action{right:14px;max-width:calc(100vw - 28px)}.person-editor-view,.consultation-prep-view,.consultation-history-view{padding-inline:14px}.person-editor-actions .btn-primary{min-height:50px}.chat-message-content{max-width:calc(100% - 32px)}.chat-room-header-actions>.btn{padding-inline:11px;font-size:12px}.settings-sheet,.room-menu-sheet{max-height:94dvh}}@media(max-width:390px){.home-pillar{padding-inline:2px}.home-pillar>span,.home-pillar>small{font-size:12px}.ganji-stack.home-ganji .ganji-stem,.ganji-stack.home-ganji .ganji-branch{font-size:24px}.chat-room-header{grid-template-columns:44px minmax(0,1fr) auto;padding-inline:8px}.chat-room-teacher-avatar{width:36px;height:36px}.chat-room-header-actions{gap:4px}.chat-room-header-actions>.btn{padding-inline:9px}}@media(min-width:1024px){body:before{background-position:center top;background-size:cover}.app-device{width:min(100%,1120px)}.app-surface{min-height:100dvh}.home-view,.app-view{position:relative}.chat-room{min-height:calc(100dvh - var(--app-header-height) - 24px);margin:12px 0;border:1px solid rgba(233,196,106,.16);border-radius:28px}}@media(prefers-reduced-motion:reduce){.home-hero,.home-content>*,.chat-message-row,.room-menu-sheet,.settings-sheet,.chat-typing i{animation:none}.chat-send-button{transition:none}}.btn:active:not(:disabled),.chip:active:not(:disabled),.participant-person-row:active:not(:disabled),.home-daily-card:active:not(:disabled){transform:scale(.97);filter:brightness(1.08)}.btn:disabled,.chip:disabled,.participant-person-row:disabled{transform:none;filter:none}.chart-tools-menu{min-width:220px}.element-balance{max-width:420px;margin:18px auto 8px;padding:16px 12px 10px;border:1px solid rgba(233,196,106,.16);border-radius:20px;background:#08061c52}.element-balance-heading,.major-timeline>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.element-balance-heading span,.major-timeline>header span{color:var(--gold);font-size:12px;font-weight:700}.element-balance-heading h3,.major-timeline>header h3{margin:2px 0 0;color:var(--text);font-family:var(--font-display);font-size:16px}.element-balance-heading small{max-width:190px;color:#d4cce8;font-size:12px;line-height:1.45;text-align:right;text-wrap:balance}.element-balance-chart{width:min(100%,360px);height:auto;margin:0 auto;display:block;overflow:visible}.element-flow-lines line{stroke:#f6e7b861;stroke-width:2}#element-flow-arrow path{fill:#f6e7b8ad}.element-control-lines line{stroke:#a68fdb59;stroke-width:1.5;stroke-dasharray:6 6}.element-balance-node circle{stroke:#ffffffc2;stroke-width:2;filter:drop-shadow(0 7px 12px rgba(2,1,14,.36));transform:scale(0);transform-box:fill-box;transform-origin:center;animation:element-node-grow .42s cubic-bezier(.2,.88,.2,1) forwards;animation-delay:var(--node-delay)}@keyframes element-node-grow{to{transform:scale(1)}}.element-balance-node text{text-anchor:middle;pointer-events:none}.element-node-key{fill:#0d0a24;font:800 17px var(--font-display)}.element-balance-node:nth-child(1) .element-node-key,.element-balance-node:nth-child(2) .element-node-key,.element-balance-node:nth-child(5) .element-node-key{fill:#fff}.element-node-count{fill:#0d0a24;font:800 11px var(--font-body)}.element-balance-node:nth-child(1) .element-node-count,.element-balance-node:nth-child(2) .element-node-count,.element-balance-node:nth-child(5) .element-node-count{fill:#fff}.element-node-label{fill:#e4ddf1;font:700 12px var(--font-body)}.element-balance-legend{display:flex;justify-content:center;gap:18px;color:#d4cce8;font-size:12px}.element-balance-legend span{display:inline-flex;align-items:center;gap:6px}.element-balance-legend i{width:22px;height:0;border-top:2px solid rgba(246,231,184,.6)}.element-balance-legend i.is-control{border-top-color:#a68fdbb3;border-top-style:dashed}.major-timeline{margin-top:14px;padding:18px 0 16px;overflow:hidden;border:1px solid rgba(233,196,106,.17);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow-card)}.major-timeline>header{padding:0 18px 14px}.major-timeline>header>small{display:inline-flex;align-items:center;gap:6px;color:#f6e7b8;font-weight:700}.major-timeline>header>small i{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px #e9c46acc}.major-timeline-scroller{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scroll-snap-type:x mandatory;scroll-padding-inline:18px}.major-timeline-track{position:relative;width:max-content;min-width:100%;padding:28px 18px 8px;display:flex;gap:10px}.major-timeline-track:before{position:absolute;top:33px;right:18px;left:18px;height:2px;background:#e9c46a38;content:""}.major-timeline-segment{position:relative;min-width:104px;min-height:176px;padding:17px 10px 10px;border:1px solid rgba(233,196,106,.17);border-radius:18px;background:#08061c7a;color:var(--text);scroll-snap-align:center;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.major-timeline-segment:hover,.major-timeline-segment:focus-visible{border-color:#fff1c2b3}.major-timeline-segment.is-active{border-color:#fff1c2;background:#e9c46a24;box-shadow:0 0 20px #e9c46a29}.major-current-marker{position:absolute;top:-1px;left:50%;width:16px;height:16px;display:grid;place-items:center;transform:translate(-50%,-50%);border:3px solid #120d33;border-radius:50%;background:var(--gold);box-shadow:0 0 14px #e9c46acc}.major-current-marker i{width:4px;height:4px;border-radius:50%;background:#fff1c2}.major-current-marker em{position:absolute;top:-18px;left:50%;padding:3px 7px;transform:translate(-50%);border:1px solid rgba(233,196,106,.48);border-radius:999px;background:#0d0a24f0;color:#fff1c2;font-size:12px;font-style:normal;font-weight:700;line-height:1;white-space:nowrap}.major-current-marker.is-before{left:18px}.modal-close-button.btn-ghost,.modal-close-button.btn-secondary,.room-menu-header>.modal-close-button.btn-ghost{border-color:#e9c46a7a;background:#0d0a24d1;color:#fff1c2;box-shadow:inset 0 1px #ffffff12,0 6px 18px #02010e33}.modal-close-button.btn-ghost:hover:not(:disabled),.modal-close-button.btn-secondary:hover:not(:disabled),.modal-close-button:focus-visible,.room-menu-header>.modal-close-button.btn-ghost:hover:not(:disabled){border-color:#fff1c2cc;background:#2a1f55f0;color:#fff8df}.major-timeline-age{display:block;color:#f6e7b8;font-size:16px;font-weight:700}.major-timeline-age small{margin-left:2px;font-size:12px}.major-timeline-ganji{width:42px;margin:7px auto 5px;display:grid}.major-timeline-ganji b{height:39px;display:grid;place-items:center;border:2px solid rgba(4,2,16,.78);font-family:var(--font-display);font-size:20px;line-height:1}.major-timeline-ganji b:first-child{border-radius:10px 10px 4px 4px}.major-timeline-ganji b:last-child{border-radius:4px 4px 10px 10px}.major-timeline-gods{color:#d7d0ea;font-size:12px;line-height:1.35}.major-timeline-years{margin-top:5px;display:block;color:#a9a0c5;font-size:12px;font-variant-numeric:tabular-nums}.share-card-overlay,.onboarding-overlay{position:fixed;inset:0;z-index:1100;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));display:grid;place-items:center;overflow-y:auto;background:#040212c2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.share-card-dialog{width:min(100%,640px);max-height:calc(100dvh - 32px);padding:20px;overflow-y:auto;border:1px solid rgba(233,196,106,.28);border-radius:26px;background:#120d33f7;box-shadow:0 26px 80px #02010ea8}.share-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.share-card-header span{color:var(--gold);font-size:12px;font-weight:700}.share-card-header h2{margin:2px 0 0;color:var(--text);font-family:var(--font-display);font-size:20px}.share-card-preview{width:min(100%,390px);aspect-ratio:4 / 5;margin:0 auto;overflow:hidden;border:1px solid rgba(255,241,194,.32);border-radius:20px;background:#0d0a24;box-shadow:0 18px 48px #02010e7a}.share-card-preview img{width:100%;height:100%;display:block;object-fit:cover}.share-card-loading{width:100%;height:100%;display:grid;place-items:center;padding:24px;color:#d7d0ea;text-align:center;background:linear-gradient(110deg,#2a1f5580 30%,#e9c46a1a,#2a1f5580 60%);background-size:220% 100%;animation:share-card-shimmer 1.5s ease-in-out infinite}@keyframes share-card-shimmer{to{background-position-x:-220%}}.share-card-controls{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.share-card-controls .checkbox-row{min-height:44px;color:var(--text)}.share-card-controls .btn{width:auto}.onboarding-dialog{width:min(100%,520px);padding:20px clamp(18px,5vw,32px) 24px;overflow:hidden;border:1px solid rgba(233,196,106,.3);border-radius:30px;background:linear-gradient(160deg,#2a1f55fa,#0d0a24fa);box-shadow:0 30px 90px #02010eb8}.onboarding-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.onboarding-top>span{color:#f6e7b8;font-size:12px;font-weight:700}.onboarding-stage{min-height:445px;touch-action:pan-y;-webkit-user-select:none;user-select:none}.onboarding-slide{display:grid;justify-items:center;text-align:center;animation:onboarding-forward .3s cubic-bezier(.2,.8,.2,1)}.onboarding-slide.is-back{animation-name:onboarding-back}@keyframes onboarding-forward{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes onboarding-back{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.onboarding-illustration{width:min(100%,280px);height:210px;margin-top:12px;filter:drop-shadow(0 16px 28px rgba(4,2,18,.38))}.onboarding-step{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.08em}.onboarding-slide h2{margin:10px 0 12px;color:#fff1c2;font-family:var(--font-display);font-size:30px}.onboarding-slide p{max-width:360px;margin:0;color:#e1daef;font-size:16px;line-height:1.72;word-break:keep-all}.onboarding-dots{min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px}.onboarding-dots button{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.onboarding-dots button:after{width:8px;height:8px;border-radius:999px;background:#f1ecff4d;content:"";transition:width .18s ease,background .18s ease}.onboarding-dots button[aria-selected=true]:after{width:24px;background:var(--gold);box-shadow:0 0 12px #e9c46a8c}.onboarding-actions{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px}.onboarding-actions .btn{width:auto;min-width:96px}.chat-teacher-avatar,.chat-user-avatar{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:1px solid rgba(233,196,106,.82);border-radius:50%;background:#0d0a24d1;color:#fff1c2;box-shadow:0 0 0 2px #e9c46a1f,0 7px 18px #02010e57}.chat-user-avatar .person-avatar{width:28px;height:28px;min-width:28px;border:0}.chat-message-row.me .chat-avatar-space{order:2}.chat-room-bubble{border-color:#fffaf161;background:#2b2448;color:#fffaf1;box-shadow:0 10px 30px #02010e4d,inset 0 1px #ffffff0f}.chat-message-row.me .chat-room-bubble{border-color:#e9c46a94;background:#3a302b;color:#fff1c2;box-shadow:0 10px 30px #02010e52,inset 0 1px #fff1c214}@supports ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))){.chat-room-bubble{background:#fffaf126;-webkit-backdrop-filter:blur(16px) saturate(118%);backdrop-filter:blur(16px) saturate(118%)}.chat-message-row.me .chat-room-bubble{background:#e9c46a30;-webkit-backdrop-filter:blur(16px) saturate(124%);backdrop-filter:blur(16px) saturate(124%)}}.new-consultation-pill,.room-menu-actions>.room-menu-primary-action.new-consultation-pill{width:fit-content;min-height:44px;justify-self:start;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border:1px solid rgba(233,196,106,.78);border-radius:999px;background:#e9c46a1a;color:#fff1c2;box-shadow:inset 0 1px #ffffff14,0 0 #e9c46a00;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,filter .1s ease}.room-menu-actions>.room-menu-primary-action.new-consultation-pill{flex-wrap:wrap;justify-content:flex-start}.room-menu-actions>.room-menu-primary-action.new-consultation-pill strong{display:inline-flex;align-items:center;gap:7px}.room-menu-actions>.room-menu-primary-action.new-consultation-pill>span{width:100%;color:#d7d0ea}.new-consultation-pill:hover:not(:disabled),.new-consultation-pill:focus-visible{border-color:#fff1c2;background:#e9c46a2e;box-shadow:0 0 20px #e9c46a33,inset 0 1px #ffffff1a}.new-consultation-pill:active:not(:disabled){filter:brightness(1.14)}.plus-icon{flex:0 0 auto}@media(max-width:480px){.element-balance{padding-inline:10px}.element-balance-heading{align-items:flex-start;flex-direction:column;gap:5px}.element-balance-heading small{max-width:none;text-align:left}.major-timeline-segment{min-width:98px}.share-card-dialog{padding:16px}.share-card-controls{align-items:stretch;flex-direction:column}.share-card-controls .btn{align-self:flex-end}.onboarding-dialog{min-height:min(650px,calc(100dvh - 24px))}.onboarding-stage{min-height:425px}.chat-message-content{max-width:calc(100% - 40px)}}@media(prefers-reduced-motion:reduce){.element-balance-node circle{transform:scale(1);animation:none}.major-timeline-segment,.onboarding-slide,.onboarding-dots button:after,.share-card-loading{animation:none;transition:none}}.app-content-stage{min-width:0;grid-column:1 / -1;display:grid;grid-template-columns:inherit;gap:inherit;align-items:start;transform:scale(1);transform-origin:50% 42%;filter:blur(0) brightness(1);transition:transform .42s cubic-bezier(.2,.8,.2,1),filter .42s ease}.app-device.is-person-picker-open:not(.is-person-picker-closing) .app-content-stage{pointer-events:none;-webkit-user-select:none;user-select:none;transform:scale(.975);filter:blur(3px) brightness(.72)}.header-icon-button{position:relative;isolation:isolate;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:12px;display:inline-grid;place-items:center;background:transparent;color:#f6e7b8;box-shadow:none;text-shadow:none;touch-action:manipulation;transition:color .18s ease,opacity .18s ease,transform .12s ease}.header-icon-button:before{position:absolute;inset:3px;z-index:-1;border:1px solid rgba(233,196,106,.28);border-radius:12px;background:#08061ca8;box-shadow:inset 0 1px #ffffff12,0 6px 18px #03020e47;content:"";transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.header-icon-button:hover:not(:disabled):before,.header-icon-button:focus-visible:before{border-color:#fff1c29e;background:#2a1f55d1}.header-icon-button[aria-pressed=true]{color:#0d0a24}.header-icon-button[aria-pressed=true]:before{border-color:#fff1c2;background:#e9c46a;box-shadow:0 0 18px #e9c46a47}.header-icon-button:active:not(:disabled){transform:scale(.96)}.header-icon-button:disabled{opacity:.42}.single-flow-header-actions{gap:4px}.single-flow-back,.single-flow-music,.single-flow-settings{width:44px;min-width:44px;padding:0}.person-change-action{width:fit-content;min-height:44px;margin:0 0 18px;padding:0 12px;border:1px solid rgba(233,196,106,.3);border-radius:999px;display:inline-flex;align-items:center;gap:7px;background:#08061c75;color:#f6e7b8;box-shadow:inset 0 1px #ffffff0f;font-size:12px;font-weight:700;touch-action:manipulation;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .18s ease,background .18s ease,transform .12s ease}.person-change-action:hover:not(:disabled){border-color:#fff1c2a8;background:#2a1f55b8}.person-change-action:active:not(:disabled){transform:scale(.97)}.person-change-action:disabled{opacity:.45}.chart-person-change{margin-bottom:4px}.person-picker-overlay{position:fixed;inset:0;z-index:140;display:grid;place-items:center;overflow-y:auto;padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));background:#03021094;animation:person-picker-overlay-in .42s ease both}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.person-picker-overlay{background:#0302105c;backdrop-filter:blur(7px) saturate(108%);-webkit-backdrop-filter:blur(7px) saturate(108%)}}.person-picker-dialog{width:min(100%,560px);max-height:min(82dvh,720px);overflow:hidden;border:1px solid rgba(233,196,106,.46);border-radius:28px;display:flex;flex-direction:column;background:linear-gradient(150deg,#362770fa,#0a0722fc);color:var(--text);box-shadow:0 30px 90px #02010cb8,inset 0 1px #ffffff1a,0 0 42px #e9c46a1a;animation:person-picker-dialog-in .42s cubic-bezier(.16,1,.3,1) both}.person-picker-header{position:relative;padding:26px 64px 20px 24px;border-bottom:1px solid rgba(233,196,106,.15);display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:start}.person-picker-symbol{width:42px;height:42px;border:1px solid rgba(233,196,106,.48);border-radius:14px;display:grid;place-items:center;background:#e9c46a1a;color:#fff1c2}.person-picker-header>div{min-width:0}.person-picker-header h2{margin:0 0 5px;color:#fff7dc;font-family:var(--font-display);font-size:24px;line-height:1.3;letter-spacing:-.035em}.person-picker-header>div>span{color:#d2cae4;font-size:12px;line-height:1.55}.person-picker-footer{padding:10px 14px 16px}.person-picker-add{width:100%;min-height:52px;border:1px dashed rgba(233,196,106,.45);border-radius:17px;display:flex;align-items:center;justify-content:center;gap:8px;background:#e9c46a12;color:#fff1c2;font-size:14px;font-weight:700;touch-action:manipulation;transition:border-color .18s ease,background .18s ease,transform .12s ease}.person-picker-add:hover:not(:disabled){border-color:#fff1c2c7;background:#e9c46a21}.person-picker-add:active:not(:disabled){transform:scale(.985)}.person-picker-overlay.is-exiting{animation:person-picker-overlay-out .42s ease forwards}.person-picker-overlay.is-exiting .person-picker-dialog{animation:person-picker-dialog-out .36s cubic-bezier(.4,0,1,1) forwards}@keyframes person-picker-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes person-picker-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes person-picker-dialog-in{0%{opacity:0;transform:translateY(18px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes person-picker-dialog-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.965)}}@media(max-width:899px){.app-content-stage{display:block}}@media(max-width:480px){.person-picker-overlay{padding-inline:12px}.person-picker-dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:24px}.person-picker-header{padding:22px 56px 18px 18px;grid-template-columns:36px minmax(0,1fr);gap:10px}.person-picker-symbol{width:36px;height:36px;border-radius:12px}}@media(prefers-reduced-motion:reduce){.app-content-stage,.header-icon-button,.header-icon-button:before,.person-change-action,.person-picker-overlay,.person-picker-dialog,.person-picker-add{animation:none!important;transition:none!important}}.single-flow-header,.single-flow-header[data-screen=home]{border-bottom-color:transparent;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background-color .22s ease,border-color .22s ease,backdrop-filter .22s ease}.single-flow-header[data-scrolled=true]{border-bottom-color:#e9c46a47;background:#0d0a24e0;box-shadow:0 1px #fff1c214,0 10px 28px #03021242;backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%)}@media(prefers-reduced-motion:reduce){.single-flow-header{transition:none}}:root{color-scheme:dark;--radius-card: 20px}.app-content-stage{transform:none;filter:none}.btn{min-height:44px;padding-inline:20px;border-radius:12px;font-size:16px;font-weight:600}.btn-primary{min-height:44px;border-radius:12px}.btn-secondary,.btn-danger{position:relative;min-height:38px;height:38px;padding-inline:18px;border-radius:12px;background:#08061cb3;font-size:14px;font-weight:600}.btn-secondary:after,.btn-danger:after,.chip:after{position:absolute;inset:-3px;content:""}.btn-sm{min-height:38px;padding-inline:16px;font-size:14px}.btn-ghost,.home-link-button,.person-change-action{min-height:44px;height:auto;padding-inline:8px;border:0;border-radius:0;background:transparent;color:#f6e7b8;box-shadow:none;font-size:14px;font-weight:600}.btn-ghost:hover:not(:disabled),.btn-ghost:focus-visible,.home-link-button:hover:not(:disabled),.person-change-action:hover:not(:disabled){border:0;background:transparent;color:#fff8df}.btn-icon{width:44px;min-width:44px;height:44px;min-height:44px;padding:2px;border-radius:12px;flex-basis:44px;background-clip:content-box}.chip,button.chip,.room-kind-switch>button.chip,.relationship-switch>button.chip{position:relative;min-height:36px;height:36px;padding-inline:14px;border-radius:999px;font-size:14px;font-weight:600}.header-icon-button{width:44px;min-width:44px;height:44px;min-height:44px;border-radius:12px}.header-icon-button:before{inset:2px;border-radius:12px}.detail-confirm-button{height:44px;border-radius:12px;font-size:16px;font-weight:600}.chat-room-header-actions>.btn{min-height:38px;height:38px;padding-inline:18px;border-radius:12px;font-size:14px;font-weight:600}.room-menu-header>.btn-ghost{min-height:44px;height:auto;padding-inline:8px;border:0;border-radius:0;background:transparent;box-shadow:none}.room-menu-actions>.btn-secondary,.room-menu-actions>.btn-danger,.room-menu-danger>.btn-danger{min-height:38px;border-radius:12px;font-size:14px;font-weight:600}.new-consultation-pill,.room-menu-actions>.room-menu-primary-action.new-consultation-pill{min-height:44px;border-radius:12px}.json-file-picker{position:relative;min-height:38px;border-radius:12px;font-size:14px;font-weight:600}.json-file-picker:after{position:absolute;inset:-3px;content:""}.toast-message{border-radius:12px}.view-heading h1,.chart-heading h1,.consultation-prep h1,.person-editor-heading h1{font-size:24px;font-weight:700}.home-hero h1{font-size:30px;font-weight:700}.home-card h2,.board-card-header h2,.fortune-header h2,.analysis-panel-header h2,.settings-header h2,.room-menu-header h2,.share-card-header h2{font-size:20px;font-weight:700}.analysis-section h3,.analysis-title-row h3,.settings-block h3,.room-menu-section h3,.fortune-section h3{font-size:16px;font-weight:600}.app-content-stage{display:block}.consulting-view,.relationships-view{height:calc(100dvh - var(--app-header-height));min-height:420px;overflow:hidden}.chat-room,.chat-room.is-loading{width:100%;height:100%;min-height:0;margin:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.chat-room.is-loading{grid-template-rows:auto minmax(0,1fr)}.chat-room-header{position:sticky;top:0;z-index:20;min-width:0;min-height:68px;padding:12px clamp(12px,3vw,18px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;flex:0 0 auto;border-bottom:1px solid rgba(233,196,106,.2);background:#0d0a24e6;box-shadow:0 8px 28px #03021238;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}.chat-room-teacher{min-width:0;display:flex;align-items:center;gap:12px}.chat-room-teacher-avatar{width:40px;height:40px;flex:0 0 40px}.chat-room-identity{min-width:0;display:grid;gap:4px}.chat-room-teacher .chat-room-identity>strong{color:#fff6d8;font-family:var(--font-body);font-size:16px;font-weight:600;line-height:1.25}.chat-room-participants{min-width:0;display:flex;align-items:center;gap:7px;color:#cfc7e3;font-size:14px;line-height:1.3}.chat-room-participant-avatars{flex:0 0 auto;display:inline-flex;align-items:center;padding-left:1px}.chat-room-participant-avatar{width:20px;height:20px;display:grid;place-items:center;border:1px solid rgba(255,241,194,.7);border-radius:50%;background:#2a1f55;color:#fff1c2;box-shadow:0 0 0 2px #120d33;font-family:var(--font-display);font-size:12px;font-weight:700;line-height:1}.chat-room-participant-avatar+.chat-room-participant-avatar{margin-left:-5px}.chat-room-participant-names{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-room-header-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.chat-room-header-actions>.chat-room-action.btn{min-width:44px;min-height:44px;height:44px;padding-inline:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.chat-room-action>svg{flex:0 0 auto}.chat-message-list.is-empty{justify-content:flex-start}.chat-message-list.is-empty .chat-message-row{margin-top:0}.consultation-room-loading-body{display:grid;place-items:start center;padding:24px 16px;color:#cfc7e3;font-size:14px}.room-menu-overlay,.confirm-dialog-overlay{position:fixed;inset:0;z-index:1100;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));display:grid;place-items:center;overflow-y:auto;background:#040212c2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:consultation-modal-backdrop-in .18s ease both}.confirm-dialog-overlay{z-index:1120}.room-menu-sheet,.confirm-dialog{width:min(100%,360px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:18px;border:1px solid rgba(233,196,106,.38);border-radius:20px;background:linear-gradient(155deg,#3a2a78fa,#0c0926fc);color:var(--text);box-shadow:0 28px 94px #03020eb3,inset 0 1px #ffffff14;animation:consultation-modal-panel-in .18s cubic-bezier(.2,.8,.2,1) both}.room-menu-header{position:static;top:auto;z-index:auto;margin:0 0 8px;padding:0 0 14px;border-bottom:1px solid rgba(233,196,106,.22);border-radius:0;background:transparent}.room-menu-header h2{margin:0;color:#fff4cf;font-family:var(--font-display);font-size:20px;font-weight:700}.room-menu-header>.room-menu-close{width:44px;min-width:44px;height:44px;min-height:44px;padding:2px;border:0;border-radius:14px;background:transparent;color:#fff1c2;display:grid;place-items:center}.room-menu-header>.room-menu-close>span{width:40px;height:40px;border:1px solid rgba(233,196,106,.42);border-radius:12px;background:#0d0a24c2;display:grid;place-items:center;transition:border-color .18s ease,background .18s ease}.room-menu-header>.room-menu-close:hover:not(:disabled)>span,.room-menu-header>.room-menu-close:focus-visible>span{border-color:#fff1c2d1;background:#2a1f55f0}.room-menu-header>.room-menu-close:disabled{opacity:.58}.room-menu-actions{gap:8px}.room-menu-item{width:100%;min-height:64px;padding:10px 12px;border:1px solid rgba(233,196,106,.24);border-radius:12px;background:#ffffff0e;color:#f6e7b8;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:12px;text-align:left;box-shadow:inset 0 1px #ffffff0b;transition:border-color .18s ease,background .18s ease}.room-menu-item:hover:not(:disabled),.room-menu-item:focus-visible{border-color:#fff1c2a3;background:#e9c46a1c}.room-menu-item:disabled{opacity:.58;cursor:not-allowed}.room-menu-item-icon,.room-menu-item-icon>svg{width:18px;height:18px}.room-menu-item-icon{display:grid;place-items:center;color:inherit;font-style:normal}.room-menu-item-copy{min-width:0;display:grid;gap:3px;color:inherit;font-style:normal}.room-menu-item-copy>strong{color:inherit;font-size:16px;font-weight:600;line-height:1.35}.room-menu-item-copy>span{overflow:hidden;color:#c9c1dc;font-size:14px;font-weight:400;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.room-menu-danger{margin-top:8px;padding-top:8px;border-top-color:#ff939338}.room-menu-item.is-destructive{border-color:#ff939357;background:#651b344d;color:#ffc6c6}.room-menu-item.is-destructive .room-menu-item-copy>span{color:#e4aebd}.confirm-dialog-copy h2{margin:0 0 8px;color:#fff4cf;font-family:var(--font-display);font-size:20px;font-weight:700}.confirm-dialog-copy p{margin:0;color:#d7d0ea;font-size:14px;line-height:1.55}.confirm-dialog-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.confirm-dialog-action{min-width:44px;min-height:44px;padding:2px 0;border:0;border-radius:14px;background:transparent;color:inherit}.confirm-dialog-action>span{height:40px;padding:0 14px;border:1px solid rgba(233,196,106,.34);border-radius:12px;background:#fff1;color:#f6e7b8;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:600;white-space:nowrap;transition:border-color .18s ease,background .18s ease}.confirm-dialog-action.is-destructive>span{border-color:#ff939366;background:#651b3466;color:#ffc6c6}.confirm-dialog-action:hover:not(:disabled)>span,.confirm-dialog-action:focus-visible>span{border-color:#fff1c2c2;background:#e9c46a1f}.confirm-dialog-action.is-destructive:hover:not(:disabled)>span,.confirm-dialog-action.is-destructive:focus-visible>span{border-color:#ffb9b9b8;background:#7f253f8a}.confirm-dialog-action:disabled{opacity:.58}@keyframes consultation-modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes consultation-modal-panel-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.room-menu-overlay.is-closing,.confirm-dialog-overlay.is-closing{animation:consultation-modal-backdrop-out .13s ease-in both}.room-menu-sheet.is-closing,.confirm-dialog.is-closing{animation:consultation-modal-panel-out .13s ease-in both}@keyframes consultation-modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes consultation-modal-panel-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}@media(max-width:419px){.chat-room-header{padding-inline:10px;gap:8px}.chat-room-header-actions{gap:4px}.chat-room-header-actions>.chat-room-action.btn{width:44px;min-width:44px;padding-inline:0}.chat-room-action-label{display:none}}@media(min-width:420px)and (max-width:720px){.chat-room-header{grid-template-columns:minmax(0,1fr);gap:8px;padding-inline:10px}.chat-room-header-actions{width:100%;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.9fr);gap:6px}.chat-room-header-actions>.chat-room-action.btn{width:100%;padding-inline:8px;font-size:14px}}@media(max-width:380px){.chat-room-teacher{gap:8px}.chat-room-participant-names{max-width:92px}}@media(prefers-reduced-motion:reduce){.room-menu-overlay,.confirm-dialog-overlay,.room-menu-sheet,.confirm-dialog{animation:none}}.view-heading>span,.board-card-header span,.chart-tools-heading span,.share-card-header span,.onboarding-step,label>span,.person-editor-form label>span,.settings-block label>span,.json-file-slot label>span{font-size:12px;font-weight:600}.home-pillar>span,.home-pillar>small,.natal-pillar-label,.natal-pillar-gods,.fortune-card-god,.fortune-card-stage,.fortune-card-shinsal,.major-stars small,.minor-stars,.ziwei-palace footer,.ziwei-stars em{font-size:12px}.home-content{gap:16px;padding-bottom:0}.home-card,.board-card,.fortune-card,.analysis-panel,.person-editor-form,.editor-saved-people,.consultation-prep>section,.consultation-prep .relation-category,.advanced-recovery,.consultation-history,.settings-block{padding:20px;border-radius:20px}.home-view{padding:0 24px calc(32px + env(safe-area-inset-bottom))}.home-hero{padding:32px 2px 24px}.person-change-action{margin:0 0 8px -8px;gap:4px}.home-hero h1{margin:0;line-height:1.32}.home-card h2{margin:0}.chat-send-button{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:12px;background-clip:border-box}.home-daily-card{min-height:0;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:16px;row-gap:12px;padding:20px}.home-daily-card h2{grid-column:1 / -1}.ganji-stack.home-daily-ganji .ganji-stem,.ganji-stack.home-daily-ganji .ganji-branch,.ganji-stack.home-ganji .ganji-stem,.ganji-stack.home-ganji .ganji-branch{font-size:24px}.home-daily-copy{gap:8px}.home-daily-values{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:14px;font-weight:400}.home-daily-values>span{display:inline-flex;gap:4px}.home-daily-values small{color:#aaa1c2;font-size:12px;font-weight:400}.home-daily-copy>span,.home-birth-line{font-size:14px}.home-daily-chevron{color:var(--gold)}.home-card-heading{align-items:flex-start;gap:8px 16px}.home-card .home-birth-line{max-width:260px;margin:0;line-height:1.5}.home-pillar-grid{margin-top:16px;gap:8px}.home-pillar{gap:8px;padding:12px 4px;border-radius:16px}.home-card-footer{margin:16px -8px -8px;padding-top:8px;gap:4px 8px}.home-history-card{min-height:0;align-items:stretch;gap:16px}.home-history-card>p{margin:-10px 0 0}.home-history-list{display:grid}.home-history-row{min-height:56px;padding:8px 0;border:0;border-bottom:1px solid rgba(233,196,106,.14);border-radius:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;color:var(--text);text-align:left}.home-history-row>span{min-width:0;display:grid;gap:4px}.home-history-row strong{overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.home-history-row small{color:var(--muted);font-size:12px}.home-history-card>.home-link-button{align-self:flex-end;margin:-4px -8px -8px 0}.analysis-sequence,.analysis-sequence>span{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}@media(max-width:480px){.app-view{padding-inline:16px}.home-view{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.home-card,.board-card,.fortune-card,.analysis-panel{padding:20px}.home-card-heading{flex-direction:column}.home-card .home-birth-line{max-width:none;text-align:left}.home-card-footer{justify-content:flex-start}.home-link-button{padding-inline:8px}.person-picker-dialog{border-radius:20px}}@media(prefers-reduced-motion:reduce){.home-content>*,.home-hero,.chat-message-row,.natal-details-chevron{animation:none;transition:none}}.btn{position:relative;min-height:40px;height:40px;border-radius:12px}.btn-primary,.detail-confirm-button,.new-consultation-pill,.room-menu-actions>.room-menu-primary-action.new-consultation-pill{min-height:40px;height:40px}.btn-primary:after{position:absolute;inset:-2px;content:""}.btn-secondary,.btn-danger,.btn-ghost,.btn-sm,.chat-room-header-actions>.btn,.room-menu-actions>.btn-secondary,.room-menu-actions>.btn-danger,.room-menu-danger>.btn-danger{min-height:36px;height:36px}.btn-secondary:after,.btn-danger:after,.btn-ghost:after,.btn-sm:after{position:absolute;inset:-4px;content:""}.btn-icon{width:40px;min-width:40px;height:40px;min-height:40px;flex-basis:40px}.consultation-prep{width:min(100%,680px);margin-inline:auto;gap:16px}.consultation-prep>section,.consultation-prep .relation-category{min-width:0;padding:18px;border:1px solid rgba(233,196,106,.22);border-radius:18px;background:#08061c94;box-shadow:inset 0 1px #ffffff0a,0 12px 30px #03021233}.consultation-prep h2,.consultation-prep legend{margin:0;color:var(--text);font-family:var(--font-display);font-size:20px}.prep-person-card{min-width:0;margin-block:14px 16px;padding:10px 12px;display:flex;align-items:center;gap:12px;border:1px solid rgba(233,196,106,.22);border-radius:14px;background:#ffffff0e}.prep-select-field,.custom-relation-field{width:100%;min-width:0;display:grid;gap:8px}.prep-select-field select,.custom-relation-field input{width:100%;min-width:0;min-height:44px;height:44px;padding:0 40px 0 13px;border:1px solid rgba(233,196,106,.28);border-radius:12px;background-color:#17103f;color:#fffaf1;font-size:16px}.prep-select-field select option{background:#17103f;color:#fffaf1}.prep-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.prep-section-heading>span,.prep-limit-note{color:var(--muted);font-size:12px}.companion-chip-list{margin-block:14px;display:flex;flex-wrap:wrap;gap:8px}.companion-chip{min-width:0;min-height:44px;padding:4px 4px 4px 6px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(233,196,106,.32);border-radius:999px;background:#e9c46a1a;color:#fffaf1;font-size:14px;font-weight:600}.companion-chip>button{width:36px;min-width:36px;height:36px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:#ffffff14;color:#f6e7b8}.prep-companions>.hint-text{margin-block:12px}.prep-limit-note{margin:8px 0 0}.custom-relation-field{margin-top:14px}.prep-add-person{min-height:44px;margin-top:12px;padding:0 4px;border:0;display:inline-flex;align-items:center;gap:7px;background:transparent;color:#f6e7b8;font-size:14px;font-weight:600}.relation-category>p{margin:8px 0 14px;color:var(--muted)}.consultation-prep .action-row.prep-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:center;justify-content:stretch;gap:10px}.consultation-prep .action-row.prep-actions .btn,.consultation-prep .action-row.prep-actions .btn-primary{width:100%;min-height:40px;height:40px;padding-inline:18px}.consultation-prep .action-row.prep-actions .btn-ghost{min-height:36px;height:36px;border:1px solid rgba(233,196,106,.56);border-radius:12px;background:#08061cb8;color:#f6e7b8;box-shadow:0 6px 16px #0302122e}.consultation-prep .action-row.prep-actions .btn-ghost:after{position:absolute;inset:-4px;content:""}.consultation-prep .action-row.prep-actions .btn-ghost:hover:not(:disabled),.consultation-prep .action-row.prep-actions .btn-ghost:focus-visible{border-color:#fff1c2d1;background:#17103ff0;color:#fff8df}.fortune-card-item,.major-timeline-segment{position:relative}.fortune-select-icon,.major-select-icon{position:absolute;right:5px;bottom:5px;color:var(--gold);opacity:.74}.settings-recovery-block{display:grid;gap:12px}.settings-recovery-block .json-file-grid{margin:0}@media(max-width:360px){.consultation-prep .action-row.prep-actions{grid-template-columns:1fr}.prep-section-heading{align-items:flex-start;flex-direction:column;gap:3px}}.consultation-prep-view{padding:4px 12px calc(18px + env(safe-area-inset-bottom))}.consultation-prep{width:min(100%,560px);gap:10px}.consultation-prep .view-heading{gap:4px;margin-bottom:0}.consultation-prep .view-heading>p{margin-top:2px;line-height:1.45}.consultation-prep>section,.consultation-prep .relation-category{padding:12px;border-radius:16px}.prep-person-selection{display:grid;gap:7px}.prep-selection-row{min-width:0;min-height:44px;display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:10px}.prep-row-label{color:#d8d0e8;font-size:12px;font-weight:600;line-height:1.3}.prep-current-label{min-width:0;display:flex;align-items:center;gap:5px}.prep-current-label>small{padding:2px 5px;border:1px solid rgba(233,196,106,.34);border-radius:999px;background:#e9c46a1a;color:#f6e7b8;font-size:12px;font-weight:700;line-height:1}.prep-person-card{margin:0;padding:5px 8px;border-radius:12px}.prep-person-card-main{min-width:0;display:flex;align-items:center;gap:8px}.prep-person-card .participant-person-copy{min-width:0;display:flex;align-items:baseline;gap:7px;overflow:hidden}.prep-person-card .participant-person-copy>strong{flex:0 0 auto;font-size:14px}.prep-person-card .participant-person-copy>small{min-width:0;overflow:hidden;color:#c9c1dc;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.prep-selection-row.prep-select-field{width:auto;gap:10px}.prep-selection-row.prep-select-field select{height:44px;min-height:44px}.prep-add-person-row{min-height:44px;display:flex;justify-content:flex-end}.prep-add-person.btn.btn-secondary{position:relative;width:fit-content;min-height:36px;height:36px;margin:0;padding:0 13px;border:1px solid rgba(233,196,106,.58);border-radius:12px;background:#0d0a24b8;color:#f6e7b8;box-shadow:inset 0 1px #ffffff0d}.prep-add-person.btn.btn-secondary:after{position:absolute;inset:-4px;content:""}.prep-companions{display:grid;gap:8px}.prep-section-heading{align-items:center}.companion-chip-list{margin:0;gap:6px}.companion-chip{min-height:36px;padding-block:0}.companion-chip>button{position:relative;width:32px;min-width:32px;height:32px}.companion-chip>button:after{position:absolute;inset:-6px;content:""}.prep-companions .prep-select-field{grid-template-columns:104px minmax(0,1fr);align-items:center;gap:10px}.prep-limit-note{margin:0 0 0 114px}.relation-category>p{clear:both;margin:4px 0 8px;font-size:12px}.consultation-prep fieldset.relation-category{border:0;box-shadow:inset 0 0 0 1px #e9c46a38,inset 0 1px #ffffff0a,0 12px 30px #03021233}.consultation-prep .relation-category>legend{width:100%;padding:0;float:left;color:var(--text);font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1.35}.relation-category .participant-badges{gap:5px}.custom-relation-field{margin-top:8px}.consultation-prep .action-row.prep-actions{margin-top:0}.chat-room,.chat-room.is-loading{border-inline:0;background:transparent;box-shadow:none}.chat-room-header{position:sticky;top:0;z-index:20;min-height:52px;padding:7px 12px;display:flex;align-items:center;border-top:1px solid rgba(233,196,106,.42);border-bottom:1px solid rgba(233,196,106,.42);background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.chat-room-header-actions{width:100%;display:flex;justify-content:flex-start;gap:8px}.chat-room-header-actions>.chat-room-action.btn{width:auto;min-width:0;min-height:36px;height:36px;padding-inline:12px;gap:6px;border-color:#e9c46a85;background:#0d0a2470;color:#f6e7b8;font-size:14px}.chat-room-action-label{display:inline}.chat-thread{background:#0d0a2438;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.chat-room-bubble{background:#2b2448d1;-webkit-backdrop-filter:blur(8px) saturate(112%);backdrop-filter:blur(8px) saturate(112%)}.chat-message-row.me .chat-room-bubble{background:#3a302bd6;-webkit-backdrop-filter:blur(8px) saturate(116%);backdrop-filter:blur(8px) saturate(116%)}.chat-room-composer{border-top-color:#e9c46a66;background:#0d0a2470;box-shadow:0 -8px 26px #0302122e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.consultation-charts-view{width:min(100%,960px);margin-inline:auto}.consultation-participant-tabs-shell{position:sticky;top:var(--app-header-height);z-index:24;padding:8px clamp(12px,3vw,24px);border-top:1px solid rgba(233,196,106,.34);border-bottom:1px solid rgba(233,196,106,.34);background:#0d0a24c2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.consultation-participant-tabs-shell>p{margin:0 0 6px;color:#d3cbe4;font-size:12px;font-weight:600}.consultation-participant-tabs{min-width:0;display:flex;gap:6px}.consultation-participant-tab{position:relative;min-width:0;min-height:44px;flex:1 1 0;padding:4px 9px;border:1px solid rgba(233,196,106,.25);border-radius:12px;background:#ffffff0b;color:#d8d0e8;display:flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:600}.consultation-participant-tab>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consultation-participant-tab[aria-selected=true]{border-color:#fff1c2c7;background:#e9c46a21;color:#fff1c2;box-shadow:0 0 16px #e9c46a1f}.consultation-participant-tab-avatar{width:26px;min-width:26px;height:26px;border:1px solid rgba(255,241,194,.62);border-radius:50%;background:#2a1f55;color:#fff1c2;display:grid;place-items:center;font-family:var(--font-display);font-size:14px;font-weight:700}.consultation-charts-view>[role=tabpanel]>.chart-view{padding-top:16px}@media(max-width:419px){.chat-room-header{padding-inline:10px}.chat-room-header-actions{gap:6px}.chat-room-header-actions>.chat-room-action.btn{width:auto;min-width:0;padding-inline:9px;font-size:14px}.chat-room-action-label{display:inline}.consultation-participant-tabs-shell{padding-inline:8px}.consultation-participant-tab{padding-inline:6px;gap:5px;font-size:12px}.consultation-participant-tab-avatar{width:24px;min-width:24px;height:24px}}@media(max-width:360px){.prep-selection-row,.prep-companions .prep-select-field{grid-template-columns:96px minmax(0,1fr)}.prep-limit-note{margin-left:106px}}@media(prefers-reduced-motion:reduce){.consultation-participant-tab{transition:none}}.home-hero-actions,.chart-heading-actions{margin:10px 0 0 -8px;display:flex;align-items:center;flex-wrap:wrap;gap:0 12px}.home-hero-actions .person-change-action,.chart-heading-actions .person-change-action{margin:0;font-size:16px;font-weight:600}.chart-heading-actions{margin-top:6px}.chart-heading-actions .person-change-action{appearance:none;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.chart-view{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.fortune-header h2[tabindex="-1"]{width:fit-content;scroll-margin-top:calc(var(--app-header-height) + 20px);border-radius:8px}.fortune-header h2[tabindex="-1"]:focus,.fortune-header h2[tabindex="-1"]:focus-visible{outline:3px solid rgba(255,241,194,.92);outline-offset:5px}.settings-overlay{padding-inline:8px}.settings-sheet{width:min(100%,calc((100vw + 760px)/2));padding:0}.settings-header{min-height:68px;padding:12px 20px;border-bottom:1px solid rgba(233,196,106,.3);background:transparent;box-shadow:none}.settings-header .modal-close-button.btn-ghost,.settings-header .modal-close-button.btn-ghost:hover:not(:disabled),.settings-header .modal-close-button.btn-ghost:focus-visible{min-height:44px;height:44px;border:0;background:transparent;color:#f6e7b8;box-shadow:none}.settings-stack{margin-top:0;padding:16px 20px 20px}.settings-preset-button.btn-ghost,.settings-preset-button.btn-ghost:hover:not(:disabled),.settings-preset-button.btn-ghost:focus-visible{min-height:44px;height:44px;border:0;background:transparent;color:#f6e7b8;box-shadow:none}.settings-checkbox-row{min-height:44px;gap:12px}.settings-block .settings-checkbox-row>span{color:var(--text);font-size:16px;font-weight:600;letter-spacing:-.02em}.settings-block .settings-checkbox-row input[type=checkbox]{appearance:auto;width:20px;min-width:20px;height:20px;min-height:20px;margin:0;padding:0;flex:0 0 20px;border-radius:4px;accent-color:var(--gold)}@media(max-width:480px){.settings-header{padding-inline:16px}.settings-stack{padding-inline:12px}}.chat-room-header-actions{width:min(100%,564px);margin-left:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.chat-room-header-actions>.chat-room-action.btn{width:100%;min-width:0;padding-inline:8px;white-space:normal;line-height:1.2;text-align:center}.chat-room-action-label{min-width:0}.person-picker-header{padding-right:24px}.person-picker-form{padding:20px 24px 24px;display:grid;gap:10px}.person-picker-footer{padding:8px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.person-picker-confirm,.person-picker-form .person-picker-add{width:auto;min-height:40px;height:40px;padding-inline:16px;border-radius:12px;font-size:14px}@media(max-width:419px){.chat-room-header{padding-inline:8px}.chat-room-header-actions{gap:5px}.chat-room-header-actions>.chat-room-action.btn{min-height:44px;height:44px;padding-inline:4px;gap:4px;font-size:14px}.chat-room-header-actions>.chat-room-action.btn svg{width:15px;height:15px}.person-picker-form{padding:18px}.person-picker-confirm,.person-picker-form .person-picker-add{flex:1 1 100%;justify-content:center}.person-picker-later-action{margin-left:auto;margin-right:0}}@media(max-width:400px){.chat-room-header-actions>.chat-room-action.btn{min-height:56px;height:56px;padding:5px 3px;flex-direction:column;gap:3px;font-size:12px;line-height:1.12}.chat-room-header-actions>.chat-room-action.btn svg{width:16px;height:16px}.chat-room-action-label{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}}.chat-room-composer textarea{max-height:136px;overflow-y:auto}.person-picker-dialog{overflow-y:auto;overscroll-behavior:contain}.person-picker-header{padding:22px 24px 18px;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center}.person-picker-header h2{margin:0;font-size:20px;line-height:1.35}.person-picker-header{flex-wrap:wrap;row-gap:6px}.person-picker-header .person-picker-subtitle{flex:1 0 100%;margin:0;color:#d2cae4;font-size:14px;line-height:1.5;text-align:center}.person-picker-symbol{width:36px;height:36px;flex:0 0 36px;border-radius:12px}.person-picker-form{padding:20px 24px 24px;display:grid;gap:16px}.person-picker-section{min-width:0;display:grid;gap:8px}.person-picker-section h3{margin:0;display:inline-flex;align-items:center;gap:5px;color:#f6e7b8;font-size:12px;font-weight:700;letter-spacing:.06em}.person-picker-person{width:100%;min-height:48px;padding:5px 8px;border:1px solid transparent;border-radius:16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;background:transparent;color:var(--text);text-align:left;touch-action:manipulation;animation:person-picker-row-in .22s ease-out both;transition:border-color .18s ease,background .18s ease,transform .12s ease}.person-picker-person:hover:not(:disabled),.person-picker-person:focus-visible{border-color:#e9c46a57;background:#ffffff0f;outline:none}.person-picker-person[aria-current=true],.person-picker-person[aria-selected=true]{border-color:#e9c46a7a;background:linear-gradient(90deg,#e9c46a26,#2a1f5557)}.person-picker-person:active:not(:disabled){transform:scale(.985)}.person-picker-copy{min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap}.person-picker-copy strong{width:3.5em;flex:0 0 3.5em;overflow:hidden;color:#f8f3ff;font-size:16px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.person-picker-copy small{min-width:0;flex:1 1 auto;overflow:hidden;color:#cfc7e3;font-size:14px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.person-picker-option-check{color:#fff1c2}.person-picker-meta{display:grid;justify-items:end;gap:5px;color:#fff1c2}.person-picker-meta>small{padding:4px 8px;border:1px solid rgba(233,196,106,.28);border-radius:999px;color:#e8e0f3;font-size:12px;font-weight:700}.person-picker-meta>span{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;white-space:nowrap}.person-picker-recent .person-picker-person{border-color:#e9c46a7a;background:linear-gradient(90deg,#e9c46a26,#2a1f5557)}.person-picker-dropdown{min-width:0;display:grid;gap:8px}.person-picker-selection-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px}.person-picker-trigger{min-width:0;min-height:48px;height:48px;padding:4px 8px;border:1px solid rgba(233,196,106,.45);border-radius:12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;background:#08061cc7;color:#f8f3ff;text-align:left;transition:border-color .18s ease,background .18s ease}.person-picker-trigger:hover:not(:disabled),.person-picker-trigger:focus-visible{border-color:#fff1c2d1;background:#16103ae6;outline:3px solid rgba(255,241,194,.2);outline-offset:2px}.person-picker-trigger-copy{min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap}.person-picker-trigger-copy strong,.person-picker-trigger-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-picker-trigger-copy strong{width:3.5em;flex:0 0 3.5em;color:#f8f3ff;font-size:16px;font-weight:600}.person-picker-copy strong.has-species,.person-picker-trigger-copy strong.has-species{width:8em;flex-basis:8em}.person-picker-trigger-copy small{min-width:0;flex:1 1 auto;color:#cfc7e3;font-size:14px}.person-picker-trigger-placeholder{min-width:0;overflow:hidden;color:#f8f3ff;font-size:16px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.person-picker-trigger>svg{color:#f6e7b8;transition:transform .18s ease}.person-picker-trigger>svg:last-child{grid-column:-2 / -1;justify-self:end}.person-picker-trigger>svg.is-open{transform:rotate(180deg)}.person-picker-listbox{max-height:376px;overflow-y:auto;padding:6px;border:1px solid rgba(233,196,106,.4);border-radius:16px;background:#0d0a24fa;box-shadow:0 18px 45px #02010e7a,inset 0 1px #ffffff0f;overscroll-behavior:contain;scrollbar-color:rgba(233,196,106,.44) transparent}.person-picker-listbox .person-picker-person+.person-picker-person{margin-top:3px}.person-picker-footer{padding:0;display:flex;align-items:center;justify-content:center}.person-picker-confirm{min-width:78px;min-height:48px;height:48px;padding-inline:14px;border-radius:12px;font-size:14px}.person-picker-form .person-picker-add{width:fit-content;min-height:44px;height:44px;padding-inline:14px;border-style:solid;border-color:#e9c46a73;background:#e9c46a12;color:#fff1c2;justify-self:start;flex:none}.person-picker-secondary-row{padding:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.person-picker-later-action{margin-left:auto;font-size:14px}@keyframes person-picker-row-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:419px){.person-picker-form{padding:18px;gap:16px}.person-picker-header{padding-inline:18px}.person-picker-header h2{font-size:20px}.person-picker-person{gap:8px}.person-picker-listbox{max-height:368px}.person-picker-confirm{flex:none}.person-picker-form .person-picker-add{flex:none;justify-content:center}}@media(prefers-reduced-motion:reduce){.person-picker-person,.person-picker-trigger,.person-picker-trigger>svg{animation:none!important;transition:none!important}}.person-picker-person.is-recent,.person-picker-trigger{padding-left:15px;gap:8px}.person-avatar.is-picker{width:26px;height:26px;min-width:26px;font-size:14px;line-height:1}.person-picker-person{min-height:38px;padding-block:3px;border-radius:12px}.person-picker-trigger,.person-picker-confirm{min-height:38px;height:38px}.person-picker-trigger{padding-block:2px}.person-picker-form .person-picker-add{height:36px;min-height:36px;padding-inline:8px;border:0;background:transparent;box-shadow:none;color:#f6e7b8}.person-picker-form .person-picker-add:hover:not(:disabled){background:transparent;color:#fff1c2}.person-editor-heading>span{display:none}.person-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.person-editor-grid>label{min-width:0}.person-editor-grid>.checkbox-tile,.person-editor-save-cell .person-editor-save{min-height:44px;height:44px}.person-editor-save-cell{display:flex;align-items:flex-end}.person-editor-save-cell .person-editor-save{width:100%;justify-content:center}.person-editor-actions{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.person-editor-actions .btn{width:auto;min-width:0;flex:0 0 auto;min-height:38px;height:38px;padding-inline:16px;border-radius:12px;font-size:14px}.editor-saved-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}.editor-saved-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:6px}.editor-profile-load{min-width:0;min-height:38px;padding:4px 10px;border:1px solid transparent;border-radius:12px;display:grid;grid-template-columns:16px 3.5em minmax(0,1fr);align-items:center;gap:10px;background:transparent;color:#f6e7b8;text-align:left}.editor-profile-load:hover:not(:disabled),.editor-profile-load:focus-visible{border-color:#e9c46a52;background:#ffffff0d}.editor-profile-load strong{overflow:hidden;color:#f8f3ff;font-size:16px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.editor-profile-load span{overflow:hidden;color:#cfc7e3;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.editor-profile-delete{width:38px;height:38px;border:0;border-radius:12px;display:grid;place-items:center;background:transparent;color:#f3a7b0}.editor-profile-delete:hover:not(:disabled),.editor-profile-delete:focus-visible{background:#f3a7b01f}.person-editor-grid input:not([type=checkbox]),.person-editor-grid select{min-height:44px;height:44px}.person-editor-grid>.checkbox-tile{align-items:center;padding-block:0}.person-editor-grid>.checkbox-tile input{width:20px;height:20px;accent-color:#e9c46a}.editor-profile-load span{font-weight:400}.person-editor-grid>.checkbox-tile input[type=checkbox]{width:20px;height:20px;min-height:0;margin:0;padding:0;border:0;background:none;box-shadow:none;accent-color:#e9c46a}.person-editor-grid>.checkbox-tile{align-content:center}.editor-saved-row{grid-template-columns:minmax(0,1fr) 44px;gap:2px}.editor-saved-list{gap:0}.editor-profile-load{min-height:44px}.editor-profile-delete{width:44px;height:44px}.person-editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.person-editor-actions .btn{width:100%;justify-content:center;gap:6px;padding-inline:8px;white-space:nowrap}.person-editor-actions .btn{padding-inline:4px}@media(max-width:380px){.person-editor-form{padding-inline:14px}}.person-editor-actions .btn{gap:4px}.person-editor-actions .btn>svg{flex:none}.editor-profile-load{gap:8px;padding-inline:6px}@media(max-width:380px){.editor-saved-people{padding-inline:14px}.editor-profile-load{grid-template-columns:16px 3.2em minmax(0,1fr)}}@media(max-width:380px){.person-editor-form{padding-inline:12px}.person-editor-actions{gap:6px}.person-editor-actions .btn{padding-inline:2px}}@media(max-width:380px){.person-editor-actions .btn{font-size:12px}.person-editor-actions .btn>svg{width:15px;height:15px}}@media(max-width:420px){.person-editor-actions .btn{font-size:12px;padding-inline:2px}.person-editor-actions .btn>svg{width:15px;height:15px}}.person-editor-grid>.person-editor-gender{grid-column:1 / -1}.person-editor-grid>.checkbox-tile:has(input:disabled){opacity:.45;cursor:not-allowed}.person-picker-header{justify-content:flex-start;text-align:left}.person-picker-header .person-picker-subtitle{text-align:left;padding-left:46px}.home-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.home-hero-actions .home-hero-button{width:auto;min-height:38px;height:38px;padding-inline:14px;gap:6px;border-radius:12px;font-size:14px}.home-chart-card .home-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.home-chart-card .home-card-footer .home-link-button{gap:6px}.home-chart-card .home-card-footer .home-detail-link{margin-left:auto}.home-daily-copy{display:grid;gap:6px}.home-daily-date{color:#d2cae4;font-size:14px}.home-hero .home-hero-actions{margin-left:0;margin-right:0}.consultation-history-view .view-heading{margin-bottom:16px}.consultation-history-view .view-heading h1{margin:0;font-size:24px;font-weight:700}.consultation-history-view .view-heading p{margin:6px 0 0;color:#cfc7e3;font-size:14px}.consultation-history-scope{width:fit-content;margin-bottom:12px;padding:3px;border:1px solid rgba(233,196,106,.24);border-radius:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;background:#08061c85}.consultation-history-scope button{min-width:112px;min-height:44px;padding:0 14px;border:1px solid transparent;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:#cfc7e3;font-size:14px;font-weight:600;transition:border-color .18s ease,background .18s ease,color .18s ease}.consultation-history-scope button.is-selected{border-color:#e9c46a70;background:#e9c46a24;color:#fff1c2}.consultation-history-scope button:hover,.consultation-history-scope button:focus-visible{color:#fff1c2}.consultation-history{padding:8px 20px;gap:0}.consultation-history-list{display:grid}.consultation-history-row{min-width:0;border-bottom:1px solid rgba(233,196,106,.14);display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:4px}.consultation-history-row:last-child{border-bottom:0}.consultation-history-resume{min-width:0;min-height:60px;padding:8px 4px;border:0;border-radius:12px;display:grid;grid-template-columns:minmax(72px,1fr) minmax(50px,auto) auto 16px;align-items:center;gap:7px;background:transparent;color:var(--text);text-align:left;transition:background .18s ease}.consultation-history-resume:hover:not(:disabled),.consultation-history-resume:focus-visible{background:#ffffff0e}.consultation-history-title,.consultation-history-participants,.consultation-history-resume time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consultation-history-title{font-size:16px;font-weight:600}.consultation-history-participants{max-width:132px;color:#cfc7e3;font-size:14px;font-weight:400}.consultation-history-resume time{color:#a9a0bf;font-size:12px;font-variant-numeric:tabular-nums}.consultation-history-more,.history-menu-heading button{width:44px;min-width:44px;height:44px;border:0;border-radius:12px;display:grid;place-items:center;background:transparent;color:#f6e7b8;transition:background .18s ease,color .18s ease}.consultation-history-more:hover:not(:disabled),.consultation-history-more:focus-visible,.history-menu-heading button:hover,.history-menu-heading button:focus-visible{background:#e9c46a1f;color:#fff1c2}.consultation-history-empty{margin:0;padding:20px 0;color:#cfc7e3;font-size:14px;text-align:center}.history-menu-overlay,.history-dialog-overlay{position:fixed;inset:0;z-index:1110;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));display:grid;place-items:center;background:#040212a8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:consultation-modal-backdrop-in .18s ease both}.history-menu-popover,.history-rename-dialog{width:min(100%,340px);border:1px solid rgba(233,196,106,.38);border-radius:20px;background:linear-gradient(155deg,#3a2a78fa,#0c0926fc);color:var(--text);box-shadow:0 28px 94px #03020eb3,inset 0 1px #ffffff14;animation:consultation-modal-panel-in .18s cubic-bezier(.2,.8,.2,1) both}.history-menu-popover{padding:12px}.history-menu-heading{min-width:0;padding:0 0 8px 8px;border-bottom:1px solid rgba(233,196,106,.18);display:flex;align-items:center;justify-content:space-between;gap:8px}.history-menu-heading strong{overflow:hidden;font-size:16px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.history-menu-actions{padding-top:8px;display:grid;gap:4px}.history-menu-actions button{width:100%;min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:12px;display:flex;align-items:center;gap:10px;background:transparent;color:#f6e7b8;font-size:14px;font-weight:600;text-align:left}.history-menu-actions button:hover,.history-menu-actions button:focus-visible{border-color:#e9c46a47;background:#e9c46a1a}.history-menu-actions button.is-destructive{color:#ffc6c6}.history-menu-actions button.is-destructive:hover,.history-menu-actions button.is-destructive:focus-visible{border-color:#ff939357;background:#651b344d}.history-rename-dialog{padding:20px}.history-rename-dialog form{display:grid;gap:12px}.history-rename-dialog h2{margin:0 0 4px;color:#fff4cf;font-family:var(--font-display);font-size:20px;font-weight:700}.history-rename-dialog label{color:#f6e7b8;font-size:14px;font-weight:600}.history-rename-dialog input{width:100%;min-height:44px;border:1px solid rgba(233,196,106,.34);border-radius:12px;background:#08061ca8;color:var(--text);font-size:16px}.history-dialog-actions{margin-top:4px;display:flex;justify-content:flex-end;gap:8px}.home-history-line{min-width:0;display:grid;grid-template-columns:minmax(72px,1fr) minmax(44px,auto) auto;align-items:center;gap:7px}.home-history-line strong,.home-history-line small,.home-history-line time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-history-line small:before,.home-history-line time:before{margin-right:7px;color:#e9c46a8a;content:"·"}.home-history-line small{max-width:112px;color:#cfc7e3;font-size:14px;font-weight:400}.home-history-line time{color:#a9a0bf;font-size:12px;font-variant-numeric:tabular-nums}@media(max-width:480px){.consultation-history{padding-inline:12px}.consultation-history-resume{grid-template-columns:minmax(52px,1fr) minmax(40px,56px) max-content 14px;gap:3px}.consultation-history-title{font-size:14px}.consultation-history-participants{max-width:56px}.consultation-history-resume time{overflow:visible}.home-history-line{grid-template-columns:minmax(64px,1fr) minmax(42px,78px) auto;gap:5px}.home-history-line small{max-width:78px}.home-history-line small:before,.home-history-line time:before{margin-right:5px}}@media(max-width:380px){.consultation-history-scope{width:100%}.consultation-history-scope button{min-width:0}.consultation-history-resume time,.home-history-line time{font-size:12px}}@media(prefers-reduced-motion:reduce){.consultation-history-scope button,.consultation-history-resume,.consultation-history-more,.history-menu-overlay,.history-dialog-overlay,.history-menu-popover,.history-rename-dialog{animation:none!important;transition:none!important}}.consultation-history-resume,.home-history-line{display:grid!important;grid-template-columns:max-content minmax(0,1fr);grid-template-areas:"title title" "people date";column-gap:6px;row-gap:3px;align-items:baseline;min-width:0;text-align:left}.consultation-history-resume{grid-template-columns:max-content minmax(0,1fr);padding-block:10px}.consultation-history-title,.home-history-line>strong{grid-area:title;min-width:0;overflow:hidden;color:#f8f3ff;font-size:16px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.consultation-history-participants,.home-history-line>small{grid-area:people;color:#d2cae4;font-size:14px;white-space:nowrap}.consultation-history-resume>time,.home-history-line>time{grid-area:date;min-width:0;overflow:hidden;color:#b9b1cf;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.consultation-history-resume>time:before,.home-history-line>time:before{content:"· ";color:#8f86aa}.consultation-history-resume>svg{display:none}.consultation-history-participants:before,.home-history-line>small:before{content:none!important}.consultation-history-participants,.home-history-line>small{width:auto;max-width:none;overflow:visible;text-overflow:clip;flex:none}.consultation-history-resume,.home-history-line{grid-template-columns:minmax(0,max-content) minmax(0,1fr)}.consultation-history-participants,.home-history-line>small{min-width:0;overflow:hidden;text-overflow:ellipsis}.consultation-history-resume,.home-history-line{grid-template-columns:minmax(0,max-content) max-content;justify-content:start}.consultation-history-resume,.home-history-line{display:flex!important;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:3px}.consultation-history-title,.home-history-line>strong{flex:0 0 100%;max-width:100%}.consultation-history-participants,.home-history-line>small{flex:0 1 auto;min-width:0}.consultation-history-resume>time,.home-history-line>time{flex:none}.home-hero .home-hero-actions{justify-content:space-between}.home-history-card .home-link-button{gap:6px}.consultation-history-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.consultation-history-toolbar .consultation-history-scope{display:flex;gap:4px;padding:0;border:0;background:transparent;box-shadow:none}.consultation-history-toolbar .consultation-history-scope>button{min-height:44px;padding:0 10px;border:0;border-radius:12px;display:inline-flex;align-items:center;gap:6px;background:transparent;box-shadow:none;color:#b9b1cf;font-size:14px;font-weight:600}.consultation-history-toolbar .consultation-history-scope>button.is-selected{color:#f6e7b8;background:transparent;border:0;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}.consultation-history-toolbar button:focus-visible{outline:2px solid rgba(255,241,194,.8);outline-offset:2px}.consultation-history-toolbar{margin-bottom:12px;margin-left:-10px;margin-right:-10px}.consultation-history-toolbar .consultation-history-scope{margin:0}.consultation-history-toolbar{margin-left:0;margin-right:0}.consultation-history-toolbar .consultation-history-scope>button:first-child{padding-left:2px}.consultation-history-toolbar .consultation-history-scope>button{min-width:0;justify-content:flex-start}.single-flow-header[data-screen=home],.single-flow-header[data-screen=home][data-scrolled=true]{border-bottom-color:transparent;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.home-hero .home-hero-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.home-hero-actions .home-hero-button{position:relative;width:100%;min-width:0;min-height:38px;height:38px;padding-inline:6px;justify-content:center;white-space:nowrap}.home-hero-actions .home-hero-button:before,.chat-room-header-actions>.chat-room-action.btn:before{position:absolute;inset:-3px 0;content:""}.chat-room-participant-badge:before{position:absolute;inset:-6px 0;content:""}.chat-room-header{min-width:0;min-height:52px;padding:7px 12px;display:flex;align-items:flex-start;gap:8px}.chat-room-participant-badges{min-width:0;flex:1 1 auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.chat-room-participant-badge{position:relative;min-width:0;max-width:100%;height:32px;margin-block:6px;padding:0 10px;border:1px solid rgba(233,196,106,.46);border-radius:999px;display:inline-flex;align-items:center;gap:6px;background:#0d0a2480;color:#f6e7b8;font-size:14px;font-weight:600;line-height:1;transition:border-color .18s ease,background .18s ease,color .18s ease}.chat-room-participant-badge>svg{flex:0 0 auto}.chat-room-participant-badge>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-room-participant-badge:hover:not(:disabled),.chat-room-participant-badge:focus-visible{border-color:#fff1c2db;background:#e9c46a24;color:#fff1c2}.chat-room-participant-badge:disabled{opacity:.55;cursor:not-allowed}.chat-room-header-actions{width:auto;margin-left:auto;flex:0 0 auto;display:flex}.chat-room-header-actions>.chat-room-action.btn{position:relative;width:auto;min-width:0;min-height:38px;height:38px;padding-inline:12px;white-space:nowrap}.legacy-room-tools{flex:0 0 auto;padding:12px;border-bottom:1px solid rgba(233,196,106,.24);display:grid;gap:12px;background:#0d0a246b}@media(max-width:420px){.home-hero-actions .home-hero-button{padding-inline:2px;gap:4px;font-size:12px}.home-hero-actions .home-hero-button>svg{width:15px;height:15px;flex:0 0 15px}.chat-room-header{padding-inline:8px}.chat-room-participant-badges{gap:8px}.chat-room-participant-badge{padding-inline:8px}.chat-room-header-actions>.chat-room-action.btn{min-height:38px;height:38px;padding-inline:9px;flex-direction:row;gap:4px;font-size:12px}.chat-room-header-actions>.chat-room-action.btn>svg{width:15px;height:15px}}@media(prefers-reduced-motion:reduce){.chat-room-participant-badge{transition:none}}.fortune-header h2[tabindex="-1"]{margin-inline:auto}.fortune-header h2[tabindex="-1"]:focus,.fortune-header h2[tabindex="-1"]:focus-visible{outline:none}.chart-card-title h2{margin:0}.chart-card-title p{margin:6px 0 0;color:#d2cae4;font-size:14px}.chart-card-title p{margin-top:5px;color:#c5bcdf;line-height:1.55}.consultation-prep .prep-heading-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.consultation-prep .prep-heading-row>h1{min-width:0;margin:0;display:inline-flex;align-items:center;gap:8px}.consultation-prep .prep-heading-row>h1>svg{flex:0 0 auto;color:var(--gold)}.consultation-prep .prep-companions .prep-select-field{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px}.consultation-prep .companion-person-listbox{width:100%}.consultation-prep .companion-person-listbox .person-picker-trigger,.consultation-prep .companion-person-listbox .person-picker-person{min-height:44px}.consultation-prep .companion-person-listbox .person-picker-trigger{width:100%;height:44px}.consultation-prep .companion-person-listbox .person-picker-listbox{max-height:264px}.consultation-prep .prep-companion-label{color:#f6e7b8;font-size:16px;font-weight:600}.consultation-prep .prep-limit-note{margin-left:0}@media(max-width:360px){.consultation-prep .prep-heading-row{gap:8px}.consultation-prep .prep-heading-row>h1{font-size:24px}}.btn-secondary:hover:not(:disabled),.btn-secondary:focus-visible{border-color:#e9c46a9e;background:#e9c46a24;color:#fff1c2}.chat-room-participant-label{color:#d2cae4;font-size:14px;font-weight:600;margin-right:2px;align-self:center}.chat-room-header-actions>.btn-secondary:hover:not(:disabled),.chat-room-header-actions>.btn-secondary:focus-visible,.chat-system>.btn-secondary:hover:not(:disabled){border-color:#e9c46a9e;background:#e9c46a24;color:#fff1c2;box-shadow:none}.settings-checkbox-pair{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}.settings-checkbox-pair>.checkbox-row{margin:0}.consultation-transfer-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.consultation-transfer-actions>.btn{width:100%;min-width:0;justify-content:center;padding-inline:4px;gap:4px;white-space:nowrap;font-size:14px}@media(max-width:420px){.consultation-transfer-actions>.btn{font-size:12px}.consultation-transfer-actions>.btn>svg{width:15px;height:15px;flex:none}}.profile-subject-name{min-width:0;max-width:100%;display:inline-flex;align-items:center;gap:4px;vertical-align:middle;white-space:nowrap}.profile-subject-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.profile-paw-icon{width:13px;height:13px;flex:0 0 13px;color:#f6e7b8}.profile-species-label{color:var(--muted);font-size:14px;font-weight:600;white-space:nowrap}.chat-room-participant-badge .profile-paw-icon,.home-hero .profile-paw-icon{color:currentColor}html:has(.app-surface>.consulting-view),html:has(.app-surface>.relationships-view),body:has(.app-surface>.consulting-view),body:has(.app-surface>.relationships-view){height:100%;overflow:hidden;overscroll-behavior:none}.app-surface:has(>.consulting-view),.app-surface:has(>.relationships-view){min-height:0;height:calc(100dvh - var(--app-header-height, 68px));padding-bottom:0;overflow:hidden}.app-surface>.consulting-view,.app-surface>.relationships-view{height:100%}.consulting-view .chat-thread,.relationships-view .chat-thread{overscroll-behavior:contain}.app-content-stage:has(>.app-surface>.consulting-view),.app-content-stage:has(>.app-surface>.relationships-view){height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-content-stage:has(>.app-surface>.consulting-view)>.single-flow-header,.app-content-stage:has(>.app-surface>.relationships-view)>.single-flow-header{flex:none}.app-surface:has(>.consulting-view),.app-surface:has(>.relationships-view){flex:1 1 auto;height:auto;min-height:0}.app-shell:has(.app-surface>.consulting-view),.app-shell:has(.app-surface>.relationships-view){height:100dvh;min-height:0;box-sizing:border-box;overflow:hidden}.app-shell:has(.app-surface>.consulting-view) .app-device,.app-shell:has(.app-surface>.relationships-view) .app-device{height:100%;min-height:0}.app-content-stage:has(>.app-surface>.consulting-view),.app-content-stage:has(>.app-surface>.relationships-view){height:100%}.app-content-stage:has(>.app-surface>.consulting-view),.app-content-stage:has(>.app-surface>.relationships-view){align-items:stretch}.app-shell:has(.app-surface>.consulting-view),.app-shell:has(.app-surface>.relationships-view){height:var(--app-vvh, 100dvh)}.consulting-view .chat-room,.relationships-view .chat-room{margin-block:0}.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}.answer-feedback{margin-top:4px;display:grid;justify-items:start;gap:6px}.answer-feedback-buttons{display:flex;gap:8px}.answer-feedback-buttons button,.answer-feedback-comment button{min-width:44px;min-height:44px;border:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:5px;background:transparent;color:#e9c46ab3;transition:background .18s ease,color .18s ease}.answer-feedback-buttons button:hover,.answer-feedback-buttons button:focus-visible,.answer-feedback-buttons button.is-selected,.answer-feedback-comment button:hover,.answer-feedback-comment button:focus-visible{background:#e9c46a1f;color:#fff1c2}.answer-feedback-buttons button.is-selected{box-shadow:inset 0 0 0 1px #e9c46a57}.answer-feedback-comment{width:min(100%,390px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.answer-feedback-comment label,.answer-feedback-comment input{width:100%}.answer-feedback-comment input{min-height:44px;border:1px solid rgba(233,196,106,.3);border-radius:12px;background:#0d0a24b3;color:#f1ecff;font-size:16px}.answer-feedback-comment button{padding-inline:12px;border:1px solid rgba(233,196,106,.28);font-size:14px;font-weight:600}.consultation-history-section-tabs{margin-bottom:12px;border-bottom:1px solid rgba(233,196,106,.18);display:flex;gap:4px}.consultation-history-section-tabs button{min-height:44px;padding:0 12px;border:0;border-bottom:2px solid transparent;display:inline-flex;align-items:center;gap:7px;background:transparent;color:#b9b1cf;font-size:16px;font-weight:600}.consultation-history-section-tabs button.is-selected{border-bottom-color:#e9c46a;color:#fff1c2}.consultation-history-section-tabs button:focus-visible{outline:2px solid rgba(255,241,194,.8);outline-offset:-3px}.memory-manager{padding:18px 20px;border:1px solid rgba(233,196,106,.22);border-radius:18px;background:#120d33ad;box-shadow:0 16px 48px #0302123d}.memory-manager-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.memory-manager-heading h2{margin:0;color:#fff1c2;font-family:var(--font-display);font-size:20px}.memory-manager-heading p{max-width:610px;margin:7px 0 0;display:flex;align-items:flex-start;gap:6px;color:#cfc7e3;font-size:14px;line-height:1.55}.memory-manager-heading p svg{flex:none;margin-top:2px;color:#e9c46a}.memory-clear-button{flex:none}.memory-note-list{margin:18px 0 0;padding:0;list-style:none}.memory-note-list li{min-height:60px;border-top:1px solid rgba(233,196,106,.14);display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px}.memory-note-list p{margin:0;color:#f1ecff;font-size:16px;line-height:1.5}.memory-note-list span{color:#aaa2bd;font-size:12px}.memory-note-list button{width:44px;height:44px;border:0;border-radius:12px;display:grid;place-items:center;background:transparent;color:#e8b9c2}.memory-note-list button:hover:not(:disabled),.memory-note-list button:focus-visible{background:#f3a7b01f;color:#ffc6c6}.memory-empty{margin:18px 0 0;padding:20px 0;color:#cfc7e3;text-align:center}@media(max-width:560px){.memory-manager{padding:16px 12px}.memory-manager-heading{display:grid}.memory-clear-button{justify-self:end}.answer-feedback-comment{width:100%}}@media(prefers-reduced-motion:reduce){.answer-feedback-buttons button,.answer-feedback-comment button,.consultation-history-section-tabs button{transition:none!important}}.chat-message-recovery{margin-top:4px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#e8b9c2;font-size:14px;font-weight:600}.chat-message-recovery .btn{min-height:44px;height:44px}.landing-view{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;background:#0d0a24;color:#f1ecff;isolation:isolate}.landing-still,.landing-video,.landing-veil{position:absolute;inset:0;width:100%;height:100%}.landing-still{z-index:-3;background:#0d0a24 url(/landing/hero-A-desktop.jpg) center right / cover no-repeat}.landing-video{z-index:-2;object-fit:cover;object-position:center right}.landing-veil{z-index:-1;background:linear-gradient(90deg,#0d0a24f0,#0d0a24a3 44%,#0d0a240a 72%)}.landing-content{width:min(100%,1180px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:72px 40px 48px;display:flex;flex-direction:column;justify-content:center}.landing-brand{display:flex;align-items:center;gap:10px;color:var(--gold);font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em}.landing-content h1{max-width:16em;margin:24px 0 14px;color:#fff7dc;font-family:var(--font-display);font-size:48px;font-weight:700;line-height:1.25;letter-spacing:-.03em;word-break:keep-all}.landing-lead{max-width:34em;margin:0 0 24px;color:#cfc7e3;font-size:16px;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}.landing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.landing-primary-button,.landing-secondary-button,.landing-text-button,.landing-modal-close{min-height:48px;border-radius:999px;font-weight:600;transition:background-color .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease,box-shadow .18s ease;touch-action:manipulation;text-decoration:none}.landing-primary-button{min-width:196px;padding:0 22px;border:1px solid rgba(255,241,194,.7);display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#f6e7b8,#e9c46a);box-shadow:0 10px 30px #0503123d;color:#1b1440;font-size:16px;font-weight:700}.landing-primary-button:hover:not(:disabled){box-shadow:0 12px 34px #e9c46a38}.landing-text-button,.landing-secondary-button{padding:0 14px;border:1px solid transparent;align-items:center;justify-content:center;gap:7px;background:transparent;color:#f6e7b8;font-size:14px}.landing-text-button{display:inline-flex}.landing-text-button:hover:not(:disabled),.landing-secondary-button:hover:not(:disabled){border-color:#e9c46a4d;background:#e9c46a1a}.landing-note,.landing-error,.landing-loading,.landing-connection p{margin:12px 0 0;font-size:14px}.landing-note{color:#aaa1c7;word-break:keep-all;overflow-wrap:anywhere}.landing-error{max-width:34em;color:#ffd0d0}.landing-loading{display:flex;align-items:center;gap:8px;color:#f6e7b8}.landing-connection{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.landing-connection p{color:#f1ecff}.landing-features{margin-top:40px;display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:14px}.landing-features article{padding:16px;border:1px solid rgba(233,196,106,.2);border-radius:16px;background:#2a1f557a;box-shadow:inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);word-break:keep-all;overflow-wrap:anywhere}.landing-features strong,.landing-features span{display:block}.landing-features strong{margin-bottom:6px;color:#f6e7b8;font-size:16px;font-weight:600}.landing-features span{color:#cfc7e3;font-size:14px;line-height:1.55}.landing-modal-overlay{position:fixed;inset:0;z-index:1000;padding:20px;display:grid;place-items:center;background:#050312b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-register-modal{width:min(100%,440px);max-height:calc(100dvh - 40px);overflow-y:auto;padding:24px;border:1px solid rgba(233,196,106,.34);border-radius:22px;background:linear-gradient(155deg,#382975fa,#0f0b2cfc);box-shadow:var(--shadow)}.landing-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.landing-modal-header h2{margin:0;color:#fff7dc;font-family:var(--font-display);font-size:24px;font-weight:700}.landing-modal-header p{margin:6px 0 0;color:#cfc7e3;font-size:14px}.landing-modal-close{width:48px;padding:0;border:0;display:grid;place-items:center;background:#ffffff0f;color:#f1ecff}.landing-modal-close:hover:not(:disabled){background:#ffffff1f}.landing-register-form{margin-top:24px;display:grid;gap:16px}.landing-register-form label>span{color:#d8d0ee;font-size:14px;font-weight:600}.landing-register-form .landing-primary-button{width:100%;margin-top:4px}.spin{animation:landing-spin .9s linear infinite}@keyframes landing-spin{to{transform:rotate(360deg)}}@media(max-width:720px){.landing-view{min-height:100dvh;overflow-y:auto}.landing-still{background-image:url(/landing/hero-A-mobile.jpg);background-position:center top}.landing-video{position:fixed;object-position:center top}.landing-veil{position:fixed;background:linear-gradient(180deg,#0d0a2405,#0d0a2461,#0d0a24eb 60%,#0d0a24fa)}.landing-content{min-height:100dvh;justify-content:flex-end;padding:max(72px,env(safe-area-inset-top)) 20px max(32px,env(safe-area-inset-bottom))}.landing-content h1{margin-top:16px;font-size:30px}.landing-lead{margin-bottom:20px;font-size:16px}.landing-actions{display:grid}.landing-primary-button,.landing-text-button{width:100%;justify-content:center}.landing-features{grid-template-columns:1fr;margin-top:24px;gap:8px}.landing-features article{padding:12px 14px}}@media(max-width:720px)and (orientation:landscape){.landing-content{justify-content:flex-start;padding-top:32px}.landing-features{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.landing-video{display:none}.landing-primary-button,.landing-secondary-button,.landing-text-button,.landing-modal-close{transition:none}.spin{animation:none}}.auth-device-list{margin:0;padding:0;display:grid;gap:8px;list-style:none}.auth-device-list li{min-height:64px;padding:10px 12px;border:1px solid rgba(233,196,106,.2);border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;background:#0d0a2475}.auth-device-list strong{color:#f1ecff;font-size:16px;font-weight:600}.auth-device-list small{margin-top:3px;display:block;color:#aaa1c7;font-size:12px}.current-device-badge{margin-left:8px;padding:3px 8px;border-radius:999px;background:#e9c46a24;color:#f6e7b8;font-size:12px;font-weight:600}.auth-device-actions{display:flex;align-items:center;gap:8px}.auth-device-refresh{width:48px;height:48px;padding:0;border:1px solid rgba(233,196,106,.24);border-radius:999px;display:grid;place-items:center;background:transparent;color:#f6e7b8}.auth-device-refresh:hover{background:#e9c46a1a}.device-invite-card{padding:14px;border:1px solid rgba(233,196,106,.28);border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;background:#e9c46a14}.device-invite-card span,.device-invite-card small{display:block;color:#cfc7e3;font-size:12px}.device-invite-card code{margin:5px 0;display:block;overflow-wrap:anywhere;color:#fff1c2;font-size:16px}@media(max-width:560px){.auth-device-list li,.device-invite-card{grid-template-columns:1fr}.auth-device-list .btn,.device-invite-card .btn{width:100%}}.app-shell:has(.app-surface>.consulting-view),.app-shell:has(.app-surface>.relationships-view){position:fixed;left:0;right:0;top:var(--app-vv-top, 0px);width:100%;height:var(--app-vvh, 100dvh)}.consulting-view .chat-thread,.relationships-view .chat-thread{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.chat-room-composer{padding-bottom:calc(9px + env(safe-area-inset-bottom))}html[data-room-keyboard=open] .chat-room-composer{padding-bottom:9px}.chat-message-row.is-waiting{min-height:32px;align-items:center}.chat-message-row.is-waiting .chat-message-content{width:min(calc(100% - 36px),590px);max-width:min(calc(100% - 36px),590px)}.chat-waiting{width:100%;min-width:0;max-width:none;height:28px;display:flex;flex-direction:row;align-items:center;gap:8px;color:#f1ecff;font-size:14px;font-weight:400;line-height:20px}.chat-waiting .chat-typing{width:40px;min-width:40px;height:28px;justify-content:flex-start}.chat-waiting-message{min-width:0;overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap;animation:chat-waiting-crossfade .22s ease both}@keyframes chat-waiting-crossfade{0%{opacity:0}to{opacity:1}}.chat-new-consultation{flex-wrap:wrap}.site-footer{color:#aaa1c7;font-size:12px;font-weight:400;line-height:1.5;text-align:center}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{color:#f6e7b8;text-decoration:underline;text-underline-offset:3px}.home-footer{padding:24px 16px max(16px,env(safe-area-inset-bottom))}.landing-footer{margin-top:24px;color:#aaa1c7}.developer-info dl{margin:0;display:grid;gap:8px}.developer-info dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px}.developer-info dt{color:#aaa1c7}.developer-info dd{margin:0;color:#f1ecff;overflow-wrap:anywhere}.developer-info a{color:#f6e7b8}@media(max-width:720px){.landing-footer{padding-bottom:max(0px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.chat-waiting-message,.chat-typing i{animation:none!important}.chat-typing i{opacity:1;transform:none}}
