:root{--bg:#fbf8f2;--panel:#fffdf8eb;--line:#e9decc;--text:#231d17;--muted:#81766a;--soft:#f4eee4;--gold:#c99642;--gold-dark:#a36e21;--red:#cf3027;--green:#4e8a48;--blue:#5b82aa;--shadow:0 14px 34px #523b1f14}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 90% 8%, #d0ac6b2e, transparent 22rem), linear-gradient(180deg, #fffcf7 0%, var(--bg) 46%, #fffdf9 100%);margin:0;font-family:Inter,Noto Sans SC,Microsoft YaHei,Arial,sans-serif;overflow-x:hidden}button,input,select{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.62}.topbar{z-index:4;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf9d6;justify-content:space-between;align-items:center;height:78px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;width:min(100%,1040px);margin:0 auto;display:flex}.brand{align-items:center;gap:14px;min-width:210px;display:flex}.seal{color:#fff;background:linear-gradient(135deg, #ffffff2e, transparent), var(--gold);border:1px solid #c9964294;border-radius:50%;place-items:center;width:48px;height:48px;font-family:Georgia,serif;font-size:22px;display:grid;box-shadow:inset 0 0 0 4px #ffffff3d}.brand-title{letter-spacing:0;margin:0;font-size:22px;line-height:1.1}.brand-subtitle{color:var(--muted);margin-top:5px;font-size:13px}.nav{align-items:center;gap:42px;font-weight:700;display:flex}.nav a{color:var(--text);text-decoration:none}.user{align-items:center;gap:10px;font-weight:700;display:flex}.top-actions{align-items:center;gap:12px;display:flex}.points-entry{min-width:112px;min-height:42px;color:var(--gold-dark);cursor:pointer;text-align:left;background:#fffaf1;border:1px solid #c996426b;border-radius:8px;gap:2px;padding:6px 12px;display:grid}.points-entry span{color:var(--muted);font-size:11px;font-weight:700}.points-entry strong{white-space:nowrap;font-size:13px;line-height:1.2}.avatar{color:#8b6230;background:#eee0ce;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.shell{border-right:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:180px minmax(0,1fr);max-width:1080px;min-height:calc(100vh - 78px);margin:0 auto;display:grid}.sidebar{border-right:1px solid var(--line);grid-template-rows:auto auto 1fr;gap:22px;height:calc(100vh - 78px);padding:30px 12px 22px;display:grid;position:sticky;top:78px;overflow:hidden auto}main,.sidebar,.content,.card{min-width:0}.steps{gap:10px;display:grid;position:relative}.steps:before{content:"";background:var(--line);width:1px;position:absolute;top:28px;bottom:28px;left:25px}.step{background:#fffdf98a;border-radius:8px;grid-template-columns:38px 1fr;align-items:center;min-height:62px;padding:10px 8px 10px 0;display:grid;position:relative}.step.active{background:#dcb87929}.num{z-index:1;color:#fff;background:#b8b5af;border-radius:50%;place-items:center;width:26px;height:26px;margin-left:8px;font-size:13px;font-weight:800;display:grid}.active .num{background:var(--gold)}.step strong{color:#3c342a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.2;display:block;overflow:hidden}.step span:last-child{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:12px;line-height:1.25;display:block;overflow:hidden}.tip{z-index:1;border:1px solid var(--line);background:#fffbf3cc;border-radius:8px;padding:16px 14px;position:relative}.tip h3{margin:0 0 14px;font-size:15px}.tip p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.tip button{width:100%;min-height:38px;color:var(--gold-dark);cursor:pointer;white-space:normal;background:0 0;border:1px solid #c9964280;border-radius:6px;margin-top:18px;padding:0 10px;font-size:13px;line-height:1.3}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#231d1757;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.terms-modal{background:#fffdf9;border:1px solid #c996425c;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(900px,100%);max-height:min(760px,100vh - 48px);display:grid;overflow:hidden;box-shadow:0 30px 80px #37271638}.points-modal{background:#fffdf9;border:1px solid #c996425c;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(520px,100%);max-height:min(640px,100vh - 48px);display:grid;overflow:hidden;box-shadow:0 30px 80px #37271638}.points-content{gap:16px;padding:22px 24px 24px;display:grid;overflow-y:auto}.points-summary{background:#fffaf1;border:1px solid #c9964242;border-radius:8px;gap:6px;padding:16px;display:grid}.points-summary span,.bound-code span{color:var(--muted);font-size:12px;font-weight:800}.points-summary strong{color:var(--gold-dark);font-size:34px;line-height:1}.points-summary small{color:var(--muted);font-size:12px}.bound-code{border:1px solid var(--line);background:#fffdf9;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:0 14px;display:flex}.bound-code strong{overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px}.points-field{gap:8px;margin:0;display:grid}.points-field input{border:1px solid var(--line);background:#fffdf9;border-radius:7px;outline:0;width:100%;height:42px;padding:0 13px}.points-actions{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.points-actions button{cursor:pointer;background:#fffdf9;border:1px solid #c9964257;border-radius:7px;min-height:40px;font-weight:800}.points-actions button:first-child{color:#fff;background:linear-gradient(135deg,#bd8635,#dbad5b);border:0}.points-note{color:var(--muted);background:#fffaf1;border:1px dashed #c9964261;border-radius:8px;margin:0;padding:12px 14px;font-size:13px;line-height:1.65}.confirm-backdrop{z-index:30;background:#231d173d;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirm-modal{background:#fffdf9;border:1px solid #c996425c;border-radius:8px;width:min(380px,100%);padding:22px;box-shadow:0 22px 60px #37271638}.confirm-modal h2{margin:0 0 10px;font-size:18px}.confirm-modal p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.confirm-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.confirm-actions button{border:1px solid var(--line);cursor:pointer;background:#fffdf9;border-radius:7px;min-height:40px;font-weight:800}.confirm-actions button:last-child{color:#fff;background:linear-gradient(135deg,#bd8635,#dbad5b);border:0}.terms-head{border-bottom:1px solid var(--line);background:linear-gradient(#fffaf1,#fffdf9);justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px 18px;display:flex}.terms-head h2{margin:0;font-size:22px}.terms-head p{color:var(--muted);margin:8px 0 0;font-size:13px}.modal-close{border:1px solid var(--line);color:#6a5b4a;cursor:pointer;background:#fffdf9;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:22px;line-height:1;display:grid}.terms-content{gap:22px;padding:22px 24px 24px;display:grid;overflow-y:auto}.terms-group h3{margin:0 0 12px;font-size:16px}.terms-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.term-card{border:1px solid var(--line);background:#fffaf1b8;border-radius:8px;min-height:92px;padding:14px}.term-card strong{color:var(--gold-dark);margin-bottom:8px;font-size:15px;display:block}.term-card p{color:#493f35;margin:0;font-size:13px;line-height:1.72}.terms-disclaimer{color:var(--muted);background:#fffaf1;border:1px dashed #c9964266;border-radius:8px;margin:0;padding:12px 14px;font-size:13px;line-height:1.7}.brand-landmark{pointer-events:none;min-height:112px;margin:auto -14px -16px;position:relative;overflow:hidden}.brand-landmark-image{opacity:.72;mix-blend-mode:multiply;-webkit-user-select:none;user-select:none;width:230px;height:auto;position:absolute;bottom:0;right:-12px}main{padding:28px 22px 32px}.content{gap:16px;max-width:820px;margin:0 auto;display:grid}.grid-top,.grid-bottom{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px}.section{padding:20px 22px}.input-card{container:input-card/inline-size}.section h2{letter-spacing:0;align-items:center;gap:10px;margin:0 0 20px;font-size:20px;display:flex}.accent{background:linear-gradient(var(--gold), #c9964200);border-radius:8px;width:3px;height:18px}label{margin:16px 0 8px;font-size:14px;font-weight:700;display:block}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px 12px;display:grid}.form-group{min-width:0}.form-full{grid-column:1/-1}.field{border:1px solid var(--line);background:#fffdf9;border-radius:7px;align-items:center;gap:8px;height:41px;padding:0 13px;display:flex}.field span{flex:none}.field input,.select{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.field input[type=date],.field input[type=time]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.select{appearance:none;border:1px solid var(--line);background:linear-gradient(45deg,#0000 50%,#8b7a65 50%) right 16px center/7px 7px no-repeat,linear-gradient(135deg,#8b7a65 50%,#0000 50%) right 11px center/7px 7px no-repeat,#fffdf9;border-radius:7px;height:41px;padding:0 34px 0 13px}.segmented{gap:12px;min-width:0;display:grid}.segmented.two{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented button,.primary,.ghost,.chip,.send{cursor:pointer;border-radius:7px}.segmented button{border:1px solid var(--line);background:#fffdf9;min-width:0;height:42px;font-weight:700}.segmented .selected{border-color:var(--gold);background:linear-gradient(#fffaf1,#f9eedb)}.toggle{color:#5e5144;align-items:center;gap:9px;margin-top:14px;font-weight:700;display:flex}.toggle input{width:16px;height:16px;accent-color:var(--gold)}.toggle.disabled{color:var(--muted);cursor:not-allowed}.toggle.disabled input{opacity:.55}.toggle em{color:var(--gold-dark);white-space:nowrap;background:#fffaf1;border:1px solid #c996423d;border-radius:999px;margin-left:auto;padding:3px 8px;font-size:11px;font-style:normal}.note{color:var(--muted);margin:12px 0 0;font-size:12px}.error-text{color:var(--red);margin:12px 0 0;font-size:13px;line-height:1.55}.primary{color:#fff;background:linear-gradient(135deg,#bd8635,#dbad5b);border:0;width:100%;height:44px;margin-top:20px;font-weight:800}@container input-card (max-width:360px){.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}}.table-wrap{border:1px solid var(--line);border-radius:8px;width:100%;overflow-x:auto}.chart-table{border-collapse:separate;border-spacing:0;width:100%;min-width:520px;overflow:hidden}.chart-table th,.chart-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;height:52px}.chart-table tr:last-child td{border-bottom:0}.chart-table th:last-child,.chart-table td:last-child{border-right:0}.chart-table th,.row-head{background:#f8f2e9;font-weight:800}.big-char{color:var(--gold-dark);font-size:24px;font-weight:900;display:block}.red{color:var(--red)}.green{color:var(--green)}.small{color:var(--muted);font-size:13px}.luck{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.solar-time{border:1px solid var(--line);background:#fffdf9;border-radius:8px;gap:10px;margin-top:12px;padding:14px;display:grid}.solar-time.active{background:#fff8ec;border-color:#c9964252}.solar-time-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.solar-time-head strong{color:var(--gold-dark);font-size:14px}.solar-time-head>span{color:#fff;background:var(--gold);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.solar-time-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.solar-time-grid div{background:#fffdf9bd;border:1px solid #c996422e;border-radius:7px;gap:4px;min-height:58px;padding:9px 10px;display:grid}.solar-time-grid small,.solar-time p{color:var(--muted);font-size:12px}.solar-time-grid span{color:#4c4035;overflow-wrap:anywhere;font-size:13px;font-weight:800}.solar-time p{margin:0;line-height:1.5}.ghost{height:42px;color:var(--text);background:0 0;border:1px solid #c996427a;padding:0 18px;font-weight:800}.luck-panel{background:#fffaf1b8;border:1px solid #c9964238;border-radius:8px;margin-top:18px;padding:16px}.luck-panel-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.luck-panel-head h3{margin:0;font-size:16px}.luck-panel-head span{color:var(--muted);font-size:12px}.luck-section+.luck-section{margin-top:16px}.luck-title{color:#4c4035;margin-bottom:9px;font-size:13px;font-weight:800}.luck-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.luck-card{border:1px solid var(--line);background:#fffdf9;border-radius:7px;gap:5px;min-height:72px;padding:10px;display:grid}.luck-card strong{color:var(--gold-dark);font-size:18px}.luck-card span,.luck-card small{color:var(--muted);font-size:12px}.annual-list{flex-wrap:wrap;gap:8px;display:flex}.annual-pill{color:var(--gold-dark);background:#fffaf1;border:1px solid #c9964247;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.base-grid{grid-template-columns:1fr 1.25fr 1.55fr;gap:14px;display:grid}.mini{border:1px solid var(--line);background:#fffdf9bd;border-radius:8px;min-height:166px;padding:16px}.mini h3{margin:0 0 20px;font-size:15px}.day-master{color:var(--red);margin:0 0 12px;font-size:34px;font-weight:900}.mini p{color:var(--muted);margin:7px 0;line-height:1.55}.mini-hint{margin:-8px 0 12px;font-size:12px}.element-box{grid-template-columns:96px 1fr;align-items:center;gap:16px;display:grid}.donut{aspect-ratio:1;background:conic-gradient(var(--green) 0 22%, var(--red) 22% 55%, #dfa943 55% 77%, #bfc0bd 77% 99%, var(--blue) 99% 100%);border-radius:50%;width:92px;position:relative}.donut:after{content:"";background:var(--panel);border-radius:50%;position:absolute;inset:24px}.legend{gap:8px;font-size:13px;display:grid}.dot{border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block}.wood{background:var(--green)}.fire{background:var(--red)}.earth{background:#dfa943}.metal{background:#bfc0bd}.water{background:var(--blue)}.tags{flex-wrap:wrap;gap:10px;display:flex}.tag{min-width:64px;color:var(--gold-dark);text-align:center;background:#fffaf1;border:1px solid #c9964257;border-radius:6px;padding:8px 10px;font-size:13px}.ten-god-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ten-god{color:#9b9288;background:#fbf8f1;border:1px solid #e6ded0;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;min-height:38px;padding:7px 8px;font-size:12px;display:flex}.ten-god.active{color:var(--gold-dark);background:#fff6e8;border-color:#c996426b}.ten-god strong{font-weight:800}.ten-god small{white-space:nowrap;background:#81766a1f;border-radius:999px;place-items:center;min-width:52px;height:20px;padding:0 6px;font-size:10px;font-weight:800;display:grid}.ten-god.active small{color:#fff;background:var(--gold)}.more{border:1px solid var(--line);color:#3c342a;background:#fffdf9;border-radius:8px;justify-content:space-between;align-items:center;height:48px;margin-top:14px;padding:0 16px;display:flex}.report-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.report-head h2,.chat h2,.focus h2{margin:0;font-size:19px}.report-toolbar{background:#fffaf1;border:1px solid #c9964238;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:-4px 0 18px;padding:12px;display:grid}.report-toolbar p{color:#5e5144;margin:0;font-size:13px;line-height:1.5}.report-toolbar button{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#bd8635,#dbad5b);border:0;border-radius:7px;min-height:38px;padding:0 14px;font-weight:800}.markdown-content{gap:12px;display:grid}.markdown-content h3{margin:8px 0 2px;font-size:14px;line-height:1.55}.markdown-content p,.markdown-content li{color:#3a332c;margin:0;font-size:13px;line-height:1.78}.markdown-content ul{margin:0;padding-left:18px}.markdown-content strong{color:#1f1914;font-weight:800}.markdown-content code{color:var(--gold-dark);background:#fff6e8;border:1px solid #c996423d;border-radius:5px;padding:1px 5px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}.markdown-section{gap:8px;display:grid}.actions{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.actions button{border:1px solid var(--line);cursor:pointer;background:#fffdf9;border-radius:7px;height:38px}.focus{padding:20px 24px}.focus-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.focus-head span{color:var(--muted);font-size:13px}.chips{flex-wrap:wrap;gap:9px;display:flex}.chip{border:1px solid var(--line);color:#64584b;background:#fffdf9;height:34px;padding:0 13px}.chip.active{color:#fff;background:linear-gradient(135deg,#bd8635,#dbad5b);border-color:#0000}.chat{padding:22px 20px}.messages{gap:16px;margin:22px 0;display:grid}.empty-chat{border:1px dashed var(--line);color:var(--muted);background:#fffdf9b3;border-radius:8px;margin:0;padding:14px 16px;font-size:13px;line-height:1.7}.msg{gap:12px;display:flex}.user-message{justify-content:flex-end}.bubble{color:#433a31;background:#f4eadb;border-radius:8px;max-width:74%;padding:14px 16px;font-size:13px;line-height:1.72}.bubble .markdown-content{gap:8px}.bubble .markdown-content p,.bubble .markdown-content li{font-size:13px;line-height:1.72}.bubble .markdown-content h3{margin-top:0}.user-message .bubble{background:#eef2f4}.small-seal{flex:none;width:34px;height:34px;font-size:15px}.quick{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.quick button{border:1px solid var(--line);cursor:pointer;background:#fffdf9;border-radius:999px;height:34px;padding:0 14px}.composer{grid-template-columns:1fr 58px;gap:10px;display:grid}.composer input{border:1px solid var(--line);background:#fffdf9;border-radius:8px;outline:0;min-width:0;height:48px;padding:0 16px}.send{color:#fff;background:linear-gradient(135deg,#bd8635,#dbad5b);border:0;font-size:21px}footer{color:var(--muted);text-align:center;margin:18px 0 0;font-size:13px;line-height:1.8}@media (max-width:1100px){.shell{border-left:0;border-right:0;grid-template-columns:1fr}.sidebar{height:auto;padding:18px;position:static}.steps{grid-template-columns:repeat(3,1fr);gap:10px}.steps:before,.brand-landmark{display:none}.step{grid-template-columns:40px 1fr}.num{margin-left:8px}}@media (min-width:1101px) and (max-height:780px){.sidebar{gap:14px;padding-top:22px}.steps{gap:10px}.step{min-height:48px;padding-top:8px;padding-bottom:8px}.step span:last-child{margin-top:4px}.tip{padding:14px 12px}.tip h3{margin-bottom:10px}.tip p{line-height:1.55}.tip button{margin-top:12px}.brand-landmark{min-height:88px;transform:translateY(-34px)}}@media (max-width:860px){.topbar{height:auto;padding:18px}.topbar-inner{flex-wrap:wrap;align-items:flex-start;gap:16px}.nav{display:none}.brand{min-width:0}.top-actions{justify-content:space-between;width:100%}.points-entry{min-width:136px}.grid-top,.grid-bottom,.base-grid,.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}main{width:100%;padding:18px 12px 28px}.sidebar{width:100%}.section{padding:18px}.chart-table th,.chart-table td{height:48px;font-size:13px}.big-char{font-size:21px}.steps{grid-template-columns:1fr 1fr}.actions{grid-template-columns:1fr}.report-toolbar{grid-template-columns:minmax(0,1fr)}.report-toolbar button{width:100%}.luck{flex-direction:column;align-items:flex-start}.luck-cards,.solar-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ten-god-grid{grid-template-columns:minmax(0,1fr)}.composer{grid-template-columns:minmax(0,1fr) 48px;gap:8px}.composer input{padding:0 12px}.modal-backdrop{padding:10px}.terms-modal{max-height:calc(100vh - 20px)}.terms-head,.terms-content{padding:18px}.terms-grid{grid-template-columns:minmax(0,1fr)}.points-actions{grid-template-columns:1fr}}
