:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Noto Sans TC",sans-serif;--bg:#f4f0e8;--ink:#201f1c;--muted:#6f685e;--line:#d8d0c3;--paper:#fffdf8;--accent:#28241f;--soft:#ece6dc;--danger:#8f352e;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);background-size:cover;background-attachment:fixed;color:var(--ink);transition:background-color .25s,color .25s}button,textarea,select,input{font:inherit;color:inherit}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 960px)/2));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.topbar a{text-decoration:none;color:inherit}.brand{font-weight:850;letter-spacing:-.02em}.topbar nav{display:flex;gap:18px;font-size:.9rem;color:var(--muted)}.shell{width:min(920px,calc(100% - 28px));margin:0 auto;padding:64px 0 100px}.intro{max-width:700px;margin-bottom:30px}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--muted);margin:0 0 9px;text-transform:uppercase}.intro h1{font-family:"Noto Serif TC",Georgia,serif;font-size:clamp(2rem,6vw,4.2rem);line-height:1.08;letter-spacing:-.04em;margin:0 0 18px;max-width:820px}.intro>p:last-child{font-size:1.05rem;color:var(--muted);line-height:1.75;max-width:650px}.panel{background:color-mix(in srgb,var(--paper) 94%,transparent);border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.09);backdrop-filter:blur(8px)}.ask-panel{padding:clamp(20px,5vw,38px)}.question-label,.field-label{display:block;font-size:.84rem;font-weight:800;margin-bottom:9px}.question-label{font-size:1rem}.ask-panel textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;resize:vertical;padding:8px 0 14px;min-height:90px;font-size:clamp(1.15rem,3vw,1.5rem);line-height:1.55;outline:none}.ask-panel textarea:focus{border-color:var(--accent)}.ask-panel textarea::placeholder,.followup-input-row input::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}.field-group{margin-top:28px}.field-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.hint{font-size:.8rem;color:var(--muted)}.segmented{display:inline-grid;grid-template-columns:1fr 1fr;background:var(--soft);padding:4px;border-radius:999px}.segmented button{border:0;background:transparent;padding:10px 20px;border-radius:999px;cursor:pointer;color:var(--muted);font-weight:750}.segmented button.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 10px rgba(0,0,0,.08)}.spread-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.spread{border:1px solid var(--line);background:transparent;border-radius:16px;padding:15px;text-align:left;cursor:pointer}.spread strong,.spread span{display:block}.spread span{font-size:.78rem;color:var(--muted);margin-top:5px}.spread.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--paper))}.advanced{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.advanced summary{cursor:pointer;font-weight:750;color:var(--muted)}.advanced label{display:grid;gap:7px;margin-top:15px;font-size:.85rem;font-weight:700}.advanced select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink)}.primary,.secondary,.ghost,.provider-btn{border:0;border-radius:999px;cursor:pointer;font-weight:800}.primary{width:100%;margin-top:28px;background:var(--accent);color:var(--paper);padding:15px 20px;font-size:1.03rem}.primary:disabled,.secondary:disabled{opacity:.45;cursor:wait}.privacy,.status{font-size:.78rem;line-height:1.6;color:var(--muted)}.privacy{margin:13px 2px 0}.status{min-height:1.25em}.status.error{color:var(--danger)}.hidden{display:none!important}.result{margin-top:38px}.result-head,.interpretation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.result h2{margin:0;font-family:"Noto Serif TC",Georgia,serif;font-size:1.7rem}.ghost{background:transparent;border:1px solid var(--line);padding:9px 14px;color:var(--muted)}.draw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px}.draw-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;min-height:205px;padding:15px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.draw-card.reversed .card-art{transform:rotate(180deg)}.card-art{display:grid;place-items:center;min-height:104px;font-size:3.2rem;transition:transform .3s}.draw-card img.card-art{width:100%;height:180px;object-fit:contain;font-size:0}.card-position{font-size:.72rem;color:var(--muted)}.card-name{font-family:"Noto Serif TC",Georgia,serif;font-size:1.05rem;font-weight:800;margin-top:8px}.card-meta{font-size:.74rem;color:var(--muted);margin-top:4px}.structure{margin:14px 0 0;padding:14px 16px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);font-size:.85rem;line-height:1.65}.interpretation{padding:24px;margin-top:20px}.pill{font-size:.72rem;border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:var(--muted)}.pill.offline{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.reading-copy{line-height:1.9;font-size:1rem}.reading-copy p:first-child{margin-top:0}.reading-copy p:last-child{margin-bottom:0}.golden-quote{margin:18px 0 0;padding:12px 16px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:0 12px 12px 0;font-family:"Noto Serif TC",Georgia,serif}.fallback{margin-top:16px;background:color-mix(in srgb,var(--danger) 10%,var(--paper));border-radius:14px;padding:14px 16px;color:var(--ink)}.followup{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.followup-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.followup-head span{font-size:.75rem;color:var(--muted)}.followup-history{display:grid;gap:10px;margin-bottom:12px}.followup-bubble{max-width:88%;padding:12px 14px;border-radius:16px;line-height:1.75}.followup-bubble p{margin:.2em 0}.followup-bubble.user{justify-self:end;background:var(--accent);color:var(--paper)}.followup-bubble.assistant{justify-self:start;background:var(--soft);color:var(--ink)}.followup-bubble .golden-quote{font-size:.9rem}.followup-input-row{display:grid;grid-template-columns:1fr auto;gap:9px}.followup-input-row input{min-width:0;border:1px solid var(--line);border-radius:999px;padding:11px 15px;background:var(--paper);outline:none}.followup-input-row input:focus{border-color:var(--accent)}.handoff{padding:20px 24px;margin-top:16px}.handoff>details>summary{cursor:pointer;color:var(--muted);list-style-position:inside}.handoff-body{padding-top:14px}.handoff-desc{color:var(--muted);line-height:1.7}.provider-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.provider-btn{padding:12px;background:var(--accent);color:var(--paper)}.secondary{padding:11px 16px;background:var(--soft);color:var(--ink)}pre{white-space:pre-wrap;word-break:break-word;background:color-mix(in srgb,var(--ink) 88%,#000);color:var(--paper);border-radius:14px;padding:14px;max-height:360px;overflow:auto;font-size:.72rem;line-height:1.5}@media(max-width:640px){.topbar{padding:0 14px}.topbar nav{gap:10px}.topbar nav a:nth-child(2){display:none}.shell{padding-top:36px}.intro h1{font-size:2.25rem}.ask-panel{border-radius:20px}.spread-grid{grid-template-columns:1fr 1fr}.draw-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.draw-card{min-height:170px;padding:10px}.card-art{font-size:2.3rem;min-height:80px}.draw-card img.card-art{height:130px}.card-name{font-size:.86rem}.card-position,.card-meta{font-size:.64rem}.provider-actions{grid-template-columns:1fr}.result-head{align-items:center}.followup-head{display:block}.followup-head span{display:block;margin-top:4px}.followup-input-row{grid-template-columns:1fr}.followup-bubble{max-width:96%}}@media(max-width:390px){.draw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
