/* 命理百科 lore.css（沿用 style.css 變數；lore.html 專用） */
#lore-app,#lore-app *{min-width:0;overflow-wrap:anywhere}
#lore-app{padding:18px 0 60px}
.lore-hero{background:var(--ink);color:#fff;border-radius:var(--radius);padding:24px 18px 20px;margin:0 0 22px}
.lore-hero h1{font-size:clamp(26px,6vw,36px);font-weight:900;margin:0 0 8px;color:#fff}
.lore-hero p{color:#B8C6CC;margin:0 0 14px;font-size:15px}
.lore-h1{font-size:clamp(24px,5.5vw,32px);margin:.2em 0 .4em;color:var(--ink)}
.lore-search{display:flex;gap:8px;margin:12px 0}
.lore-search input{flex:1;border-radius:12px;padding:12px 14px;border:1px solid var(--line);font-size:16px}
.lore-hero .lore-search{margin-bottom:0}
.lore-hero .lore-search input{border:0;box-shadow:var(--shadow-md)}
.lore-bc{display:flex;flex-wrap:wrap;gap:4px 6px;font-size:13.5px;color:var(--sub);margin:0 0 10px;align-items:center}
.lore-bc a{text-decoration:none}.lore-bc a:hover{text-decoration:underline}
.lore-catgrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.lore-draw-card{border-style:dashed}
.lore-intro p{margin:0 0 .7em}
.lore-intro{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:0 0 14px}
.lore-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;align-items:center}
.lore-actions .btn{text-decoration:none}
.lore-views{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:2px 0 12px;background:var(--card)}
.lore-view{padding:7px 18px;font-size:14.5px;text-decoration:none;color:var(--ink)}
.lore-view.on{background:var(--c);color:#fff;font-weight:700}
.lore-filter,.lore-sys{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px}
.lore-fl{font-size:13px;color:var(--sub);font-weight:600;margin-right:2px}
.lore-fchip{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:5px 13px;font:14px var(--sans);cursor:pointer}
.lore-fchip:hover{border-color:var(--c);color:var(--c)}
.lore-fchip.on{background:var(--c);border-color:var(--c);color:#fff}
.lore-count{font-size:13.5px;color:var(--sub);margin:6px 0 10px}
.lore-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.lore-card{display:block;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--c);border-radius:12px;padding:12px;text-decoration:none;color:var(--ink);transition:transform .16s,box-shadow .16s}
.lore-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.lore-card.hl,.lore-row.hl{outline:3px solid #F6C244;background:#FFF9E6}
.lore-card-h{display:flex;gap:6px;align-items:center;margin-bottom:2px}
.lore-card b{display:block;font-size:16px}
.lore-sm{display:block;font-size:13.5px;color:var(--sub);margin-top:4px;line-height:1.5}
.lore-no{display:inline-block;background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c);border-radius:6px;padding:0 8px;font:700 12.5px var(--mono)}
.lore-no-lg{font-size:15px;vertical-align:middle}
.lore-luck{background:#FEF3C7;color:#92400E;border-radius:6px;padding:0 8px;font-size:12.5px;font-weight:700}
.lore-luck-lg{font-size:15px;padding:2px 12px}
.lore-kws{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}
.lore-chip{display:inline-block;background:color-mix(in srgb,var(--c) 10%,#fff);color:var(--c);border-radius:999px;padding:2px 11px;font-size:13px;font-weight:600}
.lore-empty{background:var(--card);border:1px dashed var(--line);border-radius:12px;padding:16px;color:var(--sub)}
.lore-reslist{display:grid;gap:8px}
.lore-res{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;text-decoration:none;color:var(--ink)}
.lore-res:hover{border-color:var(--c)}
.lore-res b{display:block;font-size:16px}
.lore-tag{float:right;font-size:12px;color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);border-radius:999px;padding:1px 10px;margin-left:8px}
/* 詳細頁 */
.lore-summary{font:700 20px/1.6 var(--serif);color:var(--c);margin:8px 0 14px}
.lore-block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:0 0 12px}
.lore-block h2{font-size:18px;margin:0 0 8px;padding-left:10px;border-left:4px solid var(--c)}
.lore-block p{margin:0 0 .7em}
.lore-block ul,.lore-block ol{margin:.2em 0 .5em;padding-left:1.3em}
.lore-block li{margin:.3em 0}
.lore-poembox{background:linear-gradient(180deg,#FFFBEF,#FFF4D6);border:1px solid #EAD9A6;border-radius:var(--radius);padding:18px 12px;margin:0 0 12px;text-align:center}
.lore-poem{font-family:var(--serif);font-weight:700;color:#5B3A12}
.lore-poem-v{writing-mode:vertical-rl;text-orientation:upright;font-size:24px;line-height:1.9;letter-spacing:.2em;margin:0 auto;width:max-content;max-width:100%}
.lore-poem-h{font-size:19px;line-height:1.9;text-align:center}
.lore-poem-h .lore-pl{display:block}
.lore-poem-v .lore-pl{display:block;margin:0 .45em;letter-spacing:.25em}
@media(max-width:420px){.lore-poem-v{font-size:21px}.lore-poem-v .lore-pl{margin:0 .35em}}
.lore-pmeta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}
.lore-sits{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.lore-sit{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}
.lore-sit h3{font-size:15px;color:var(--c);margin:0 0 4px}
.lore-sit p{margin:0;font-size:15px}
.lore-advice{background:color-mix(in srgb,var(--c) 7%,#fff)}
.lore-rels{display:flex;flex-wrap:wrap;gap:8px}
.lore-rel{text-decoration:none}.lore-rel small{opacity:.7;margin-left:6px}
.lore-pn{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.lore-pn a{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;text-decoration:none;color:var(--ink)}
.lore-pn a:hover{border-color:var(--c)}
.lore-pn small{color:var(--sub);display:block}
.lore-next{text-align:right}
.lore-src{font-size:14px}
.lore-note{background:#FFFBEB;border-color:#FDE68A}
.lore-disc{text-align:center;color:var(--sub);font-size:13px;margin:20px 0 0}
/* 總表 */
.lore-tw{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);-webkit-overflow-scrolling:touch}
.lore-tw table.tb{margin:0;min-width:560px}
.lore-tw #lore-body,#lore-body.lore-tw{display:block}
#lore-app .lore-tw *{overflow-wrap:normal}
.lore-table th,.lore-table td{text-align:left;white-space:nowrap}
.lore-table td:last-child{white-space:normal;min-width:240px}
.lore-sortable{cursor:pointer;user-select:none}
.lore-sortable:hover{color:var(--c)}
.lore-row{cursor:pointer}.lore-row:hover{background:color-mix(in srgb,var(--c) 6%,#fff)}
.lore-grid{min-width:0!important}
.lore-grid th,.lore-grid td{text-align:center;padding:4px;font-size:12.5px}
.lore-grid th{white-space:nowrap}
.lore-gcell{display:block;padding:4px 6px;border-radius:6px;text-decoration:none;color:var(--ink);font-size:12.5px;white-space:nowrap}
.lore-gcell:hover{background:color-mix(in srgb,var(--c) 14%,#fff)}
.lore-gcell.hl,.lore-day.hl{background:#F6C244;color:#1C1917;font-weight:800;outline:2px solid #B7791F}
td.dim .lore-gcell,.lore-day.dim{opacity:.3}
.lore-cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;padding:10px;background:var(--bg)}
.lore-month{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px}
.lore-month h3{font-size:15px;margin:0 0 6px;color:var(--c)}
.lore-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.lore-day{display:block;text-align:center;font-size:12.5px;padding:3px 0;border-radius:5px;text-decoration:none;color:var(--ink);background:color-mix(in srgb,var(--c) 7%,#fff);font-variant-numeric:tabular-nums}
.lore-day:hover{background:var(--c);color:#fff}
.lore-day.empty{color:#bbb;background:none}
/* 生日查詢、籤號查詢 */
.lore-lookup-b,.lore-lookup{background:color-mix(in srgb,var(--c) 6%,#fff);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin:0 0 12px}
.lore-bform,.lore-lookup{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.lore-bform label,.lore-lookup label{display:flex;flex-direction:column;gap:4px;font-size:13.5px;font-weight:600;color:var(--sub);flex:1 1 180px}
.lore-lookup label{flex-direction:row;align-items:center;flex-wrap:wrap}
.lore-lookup input[type=number]{width:110px}
.lore-bres{margin-top:10px}
.lore-lk-hit{font-size:17px;margin:0 0 4px}
.lore-lk-note{font-size:14.5px;margin:0;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.lore-lk-msg{color:#B91C1C;font-size:14px;margin:0}
/* 求籤 */
.lore-stepmsg{margin:0 0 10px}
.lore-cand{font-size:20px;color:var(--c)}
.lore-cups{display:flex;gap:18px;justify-content:center;margin:10px 0}
.lore-cup{display:flex;flex-direction:column;align-items:center;gap:4px}
.lore-cup i{display:block;width:62px;background:#C2410C}
.lore-cup.round i{height:32px;border-radius:32px 32px 6px 6px}
.lore-cup.flat i{height:14px;border-radius:5px;margin-top:18px;background:#E0703A}
.lore-cup small{font-size:12px;color:var(--sub)}
.lore-dots{display:inline-flex;gap:5px;vertical-align:middle;margin-left:6px}
.lore-dots i{width:14px;height:14px;border-radius:50%;border:2px solid var(--c)}
.lore-dots i.on{background:var(--c)}
.lore-log{font-size:14px;margin:12px 0 0;padding-left:1.4em;max-height:260px;overflow-y:auto}
.lore-log li.ok{color:#166534}.lore-log li.no{color:#991B1B}.lore-log li.mid{color:#92400E}.lore-log li.info{color:var(--sub)}
.lore-draw-result{background:#FFFBEF;border:1px solid #EAD9A6;border-radius:var(--radius);padding:14px;text-align:center}
.lore-ok{color:#166534;font-weight:700;margin:0 0 4px}
.lore-draw-result h3{margin:.2em 0 .5em}
.lore-draw-result .lore-actions{justify-content:center}
@media(max-width:480px){.lore-catgrid{grid-template-columns:1fr 1fr}.lore-cards{grid-template-columns:1fr}.lore-pn{grid-template-columns:1fr}.lore-next{text-align:left}}

/* 長文閱讀：段落間距 .6em、行高 1.75、最大寬度 42em；手機不溢出 */
.lore-block,.lore-intro,.lore-sit{line-height:1.75;overflow-wrap:anywhere}
.lore-block p,.lore-intro p,.lore-sit p{margin-block:.6em;line-height:1.75;max-width:42em}
.lore-block p:first-of-type,.lore-intro p:first-child,.lore-sit p:first-of-type{margin-top:0}
.lore-block li{line-height:1.75;max-width:42em}
.lore-sit p{font-size:15px}
.lore-block .pm-sub,.lore-sit .pm-sub{font-size:.95em}
