:root{--paper:#f7f3ea;--surface:#fffdf9;--ink:#1f2933;--muted:#52616b;--copper:#8a5a2b;--copper-dark:#67401e;--border:#ddd3c3;--green:#2f7d5c;--amber:#9a6415;--red:#b42318;--focus:#176b87}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}button,input,select,textarea{font:inherit;letter-spacing:0}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.site-frame{min-height:100vh}.page-width{width:min(100% - 64px,1120px);margin-inline:auto}.site-header{border-bottom:1px solid var(--border);background:#f7f3eaf5}.header-inner{justify-content:space-between;align-items:center;gap:20px;min-height:72px;display:flex}.brand{align-items:center;gap:12px;font-family:Georgia,serif;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--copper);width:34px;height:34px;color:var(--copper);border-radius:50%;place-items:center;font-family:Arial,sans-serif;font-size:11px;display:grid}.prototype-label{color:var(--muted);text-transform:uppercase;font-size:13px}.session-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.header-links{justify-content:flex-end;align-items:center;gap:20px;display:flex}.header-action{color:var(--copper-dark);cursor:pointer;background:0 0;border:0;padding:6px 0;font-weight:700}.header-action:hover{text-decoration:underline}.header-action:disabled{color:var(--muted);cursor:wait}.session-error{max-width:260px;color:var(--red);text-align:right;font-size:13px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0;font-family:Georgia,Times New Roman,serif;line-height:1.2}h1{margin-bottom:20px;font-size:40px}h2{margin-bottom:12px;font-size:24px}h3{margin-bottom:8px;font-size:19px}p{margin-bottom:16px}.eyebrow{color:var(--copper);text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:700}.muted{color:var(--muted)}.button{text-align:center;cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;min-height:48px;padding:11px 20px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.button-primary{background:var(--copper);color:#fff}.button-primary:hover{background:var(--copper-dark)}.button-secondary{border-color:var(--border);color:var(--ink);background:0 0}.button-secondary:hover{border-color:var(--copper);background:#fffaf2}.button-disabled{border-color:var(--border);color:#77736c;cursor:not-allowed;background:#e7e1d7}.hero{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:80px;min-height:560px;padding-block:64px 72px;display:grid}.hero-copy{max-width:660px}.hero h1{font-size:58px}.hero-lead{max-width:620px;color:var(--muted);font-size:20px}.hero-actions,.page-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-actions{margin-top:28px}.hexagram-panel{border-left:1px solid var(--border);flex-direction:column;justify-content:center;align-items:center;min-height:350px;display:flex}.hexagram-panel p{color:var(--muted);margin:28px 0 0;font-family:Georgia,serif}.hexagram-lines{flex-direction:column;gap:17px;width:190px;display:flex}.line{height:12px;display:block}.line.solid{background:var(--ink)}.line.broken{background:linear-gradient(to right, var(--ink) 0 42%, transparent 42% 58%, var(--ink) 58% 100%)}.section-band{border-block:1px solid var(--border);background:#eee7db;padding-block:64px}.process-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:32px;display:grid}.process-item{background:var(--surface);min-height:190px;padding:28px}.process-item>span{color:var(--copper);font-size:13px;font-weight:700}.process-item h3{margin-top:28px}.process-item p{color:var(--muted);margin-bottom:0}.home-bottom{grid-template-columns:1fr 1fr;gap:80px;padding-block:72px;display:grid}.disclaimer{border:1px solid var(--border);border-left:4px solid var(--copper);background:var(--surface);padding:24px}.disclaimer p{color:var(--muted);margin:6px 0 0;font-size:14px}.flow-page{max-width:800px;padding-block:44px 72px}.page-heading{margin-bottom:32px}.page-heading>p:last-child{max-width:650px;color:var(--muted);font-size:18px}.flow-steps{margin-bottom:48px}.flow-steps ol{grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.flow-steps li{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex;position:relative}.flow-steps li:after{content:"";z-index:0;background:var(--border);height:1px;position:absolute;top:14px;left:14px;right:-14px}.flow-steps li:last-child:after{display:none}.flow-steps .step-number{z-index:1;border:1px solid var(--border);background:var(--paper);border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.flow-steps .flow-label{z-index:1;background:var(--paper);white-space:nowrap;padding-right:10px}.flow-steps li.active{color:var(--ink);font-weight:700}.flow-steps li.active .step-number{border-color:var(--copper);background:var(--copper);color:#fff}.flow-steps li.complete .step-number{border-color:var(--green);color:var(--green)}.mobile-step{display:none}.panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:28px}.panel+.panel,.panel+.notice,.notice+.panel,.reading-summary+.panel{margin-top:20px}.panel h2{font-size:22px}.panel-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.panel-header h2,.panel-header p{margin-bottom:0}.status-badge{white-space:nowrap;color:var(--green);border:1px solid;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.status-badge.unavailable{color:var(--amber)}.page-actions{margin-top:28px}.field{margin-bottom:22px}.field label,.field legend{margin-bottom:8px;font-size:14px;font-weight:700;display:block}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #b9b0a3;border-radius:6px;padding:12px 14px}.field textarea{resize:vertical;min-height:130px}.field-help{color:var(--muted);margin:7px 0 0;font-size:14px}.segmented{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.choice-card{border:1px solid var(--border);background:#fff;border-radius:7px;min-height:132px;padding:20px;text-decoration:none;display:block;position:relative}.choice-card:hover,.choice-card.selected{border-color:var(--copper);background:#fffaf2}.topic-option{width:100%;color:inherit;cursor:pointer;text-align:left}.range-option{min-height:92px;color:inherit;cursor:pointer;text-align:left}.choice-card strong{margin-bottom:8px;font-family:Georgia,serif;font-size:18px;display:block}.choice-card p{color:var(--muted);margin:0;font-size:14px}.choice-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice-grid .choice-card{min-height:180px}.choice-number{color:var(--copper);margin-bottom:24px;font-size:13px;font-weight:700;display:block}.notice{border:1px solid var(--border);background:var(--surface);border-left-width:4px;grid-template-columns:160px 1fr;gap:20px;padding:18px 20px;font-size:14px;display:grid}.notice div>:last-child{margin-bottom:0}.notice-info{border-left-color:var(--focus)}.notice-success{border-left-color:var(--green)}.notice-warning{border-left-color:var(--amber)}.notice-error{border-left-color:var(--red)}.reading-summary{border-block:1px solid var(--border);grid-template-columns:120px 1fr;margin:0 0 20px;display:grid}.reading-summary div{display:contents}.reading-summary dt,.reading-summary dd{border-bottom:1px solid var(--border);margin:0;padding:12px 0}.reading-summary div:last-child dt,.reading-summary div:last-child dd{border-bottom:0}.reading-summary dt{color:var(--muted);font-size:14px}.reading-summary dd{font-weight:700}.auth-switch{background:#eee7db;border-radius:7px;gap:4px;margin-bottom:24px;padding:4px;display:flex}.auth-switch button{color:inherit;text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;padding:8px;font-weight:700}.auth-switch .active{border-color:var(--border);background:#fff}.google-auth-button{width:100%}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:20px 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.policy h2{margin-top:32px}.policy h2:first-of-type{margin-top:24px}.policy li+li{margin-top:8px}.free-count{margin:8px 0 4px;font-family:Georgia,serif;font-size:48px;line-height:1}.free-count-label{color:var(--muted)}.form-message{margin:0 0 16px;font-size:14px;font-weight:700}.form-error{color:var(--red)}.form-success{color:var(--green)}.loading-feedback{z-index:1000;background:#f7f3ead1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.loading-feedback-card{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:8px;min-width:min(280px,100%);padding:24px;box-shadow:0 18px 50px #1f293329}.loading-feedback-card p{margin:16px 0 0;font-weight:700}.taiji-bagua{width:112px;height:112px;margin-inline:auto;animation:4s linear infinite taiji-bagua-spin;position:relative}.taiji-bagua span,.taiji-bagua strong{transform-origin:50%;place-items:center;line-height:1;display:grid;position:absolute;top:50%;left:50%}.taiji-bagua span{width:24px;height:24px;color:var(--ink);margin:-12px;font-size:19px}.taiji-bagua span:first-child{transform:rotate(0)translateY(-43px)}.taiji-bagua span:nth-child(2){transform:rotate(45deg)translateY(-43px)}.taiji-bagua span:nth-child(3){transform:rotate(90deg)translateY(-43px)}.taiji-bagua span:nth-child(4){transform:rotate(135deg)translateY(-43px)}.taiji-bagua span:nth-child(5){transform:rotate(180deg)translateY(-43px)}.taiji-bagua span:nth-child(6){transform:rotate(225deg)translateY(-43px)}.taiji-bagua span:nth-child(7){transform:rotate(270deg)translateY(-43px)}.taiji-bagua span:nth-child(8){transform:rotate(315deg)translateY(-43px)}.taiji-bagua strong{width:52px;height:52px;color:var(--copper-dark);margin:-26px;font-family:Georgia,serif;font-size:48px;font-weight:400}@keyframes taiji-bagua-spin{to{transform:rotate(360deg)}}.cast-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.cast-counter{color:var(--copper);margin-bottom:24px;font-weight:700}.coin-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.coin-control{border:1px solid var(--border);text-align:center;border-radius:7px;padding:16px 10px}.coin-control>span{margin-bottom:12px;font-size:14px;font-weight:700;display:block}.coin-options{grid-template-columns:1fr 1fr;gap:6px;display:grid}.coin-options button{border:1px solid var(--border);min-height:44px;color:inherit;cursor:pointer;background:#fff;border-radius:5px;place-items:center;padding:6px;font-size:13px;display:grid}.coin-options button.selected{border-color:var(--copper);color:var(--copper-dark);background:#fff3df;font-weight:700}.manual-entry-list{gap:18px;display:grid}.cast-row{border:1px solid var(--border);border-radius:7px;margin:0;padding:18px}.cast-row legend{color:var(--copper);padding-inline:8px;font-size:14px;font-weight:700}.manual-results{position:sticky;top:20px}.result-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:20px}.section-heading-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-heading-row h2{margin:0;font-size:18px}.section-heading-row>span{color:var(--muted);font-size:13px}.result-list ol{margin:0;padding:0;list-style:none}.result-list li{border-top:1px solid var(--border);padding:12px 0}.result-list li span,.result-list li strong{display:block}.result-list li span{color:var(--muted);font-size:12px}.result-list li strong{font-size:13px}.empty-state{border:1px dashed var(--border);color:var(--muted);text-align:center;padding:24px 12px;font-size:14px}.cast-stage{text-align:center;place-items:center;min-height:280px;display:grid}.coin-disc{border:8px double var(--copper);width:112px;height:112px;color:var(--copper);border-radius:50%;place-items:center;margin:0 auto 24px;font-family:Georgia,serif;font-size:28px;display:grid}.processing-list{margin:24px 0 0;padding:0;list-style:none}.processing-list li{border-top:1px solid var(--border);padding:16px 16px 16px 48px;position:relative}.processing-list li:before{content:"";border:2px solid var(--border);border-top-color:var(--copper);border-radius:50%;width:14px;height:14px;position:absolute;top:22px;left:18px}.processing-list li.done:before{border-color:var(--green);background:var(--green)}.processing-list li.active{font-weight:700}.result-summary{border-left:4px solid var(--copper);background:#fffaf2;padding:30px}.result-summary .result-kicker{color:var(--copper);text-transform:uppercase;font-size:13px;font-weight:700}.result-summary h2{font-size:28px}.result-prose{white-space:pre-line;overflow-wrap:anywhere}.result-summary+.disclaimer{margin-top:20px}.reasoning{border-block:1px solid var(--border);margin-top:20px}.reasoning summary{cursor:pointer;padding:18px 0;font-weight:700}.reasoning-content{color:var(--muted);padding:0 0 22px}.hexagram-data{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.hexagram-data div{border:1px solid var(--border);padding:14px}.hexagram-data span,.hexagram-data strong{display:block}.hexagram-data span{color:var(--muted);font-size:12px}.hexagram-data strong{overflow-wrap:anywhere}.chart-facts{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:24px;margin-top:28px;display:grid}.chart-facts h2,.professional-explanation h2{color:var(--ink);font-size:20px}.result-hexagram-lines{border:1px solid var(--border);background:var(--surface);margin:0;padding:16px;list-style:none}.result-hexagram-lines li{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.result-hexagram-lines span{font-size:12px}.result-hexagram-lines strong{color:var(--ink);white-space:pre;font-family:Courier New,monospace}.objective-facts{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.objective-facts div{border-bottom:1px solid var(--border);min-width:0;padding:10px 0}.objective-facts dt{font-size:12px}.objective-facts dd{color:var(--ink);overflow-wrap:anywhere;margin:2px 0 0;font-weight:700}.professional-explanation{margin-top:28px}.reasoning+.notice{margin-top:20px}.result-loading{gap:16px;display:grid}.result-loading div{border:1px solid var(--border);background:linear-gradient(90deg, #eee7db, var(--surface), #eee7db);background-size:200% 100%;border-radius:8px;height:88px;animation:1.5s ease-in-out infinite result-loading}@keyframes result-loading{to{background-position:-200% 0}}.error-page{text-align:center}.error-symbol{border:2px solid var(--red);width:64px;height:64px;color:var(--red);border-radius:50%;place-items:center;margin:0 auto 24px;font-size:30px;display:grid}@media (max-width:760px){.page-width{width:min(100% - 40px,680px)}.header-inner{min-height:64px}.prototype-label{display:none}.session-error{max-width:150px;font-size:12px}h1{font-size:30px}.hero{grid-template-columns:1fr;gap:40px;min-height:auto;padding-block:48px}.hero h1{font-size:42px}.hero-lead{font-size:18px}.hexagram-panel{border-top:1px solid var(--border);border-left:0;min-height:230px}.hexagram-lines{width:160px}.section-band{padding-block:48px}.process-grid,.home-bottom{grid-template-columns:1fr}.process-item{min-height:auto}.home-bottom{gap:32px;padding-block:48px}.flow-page{padding-block:32px 56px}.flow-steps{margin-bottom:32px}.flow-steps ol{display:none}.mobile-step{color:var(--muted);font-size:14px;font-weight:700;display:block}.page-heading>p:last-child{font-size:16px}.panel{padding:20px}.panel-header{display:block}.panel-header .status-badge{margin-top:12px;display:inline-block}.choice-grid,.choice-grid.three,.segmented,.cast-layout{grid-template-columns:1fr}.choice-grid .choice-card{min-height:auto}.notice{grid-template-columns:1fr;gap:6px}.reading-summary{grid-template-columns:92px 1fr}.coin-grid{grid-template-columns:1fr}.coin-control{grid-template-columns:80px 1fr;align-items:center;display:grid}.coin-control>span{text-align:left;margin:0}.page-actions .button,.hero-actions .button{width:100%}.hexagram-data,.chart-facts,.objective-facts{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.result-loading div{animation:none}}@media (max-width:390px){.page-width{width:min(100% - 32px,680px)}.brand{font-size:16px}.hero h1{font-size:36px}.panel{padding:18px}}
