/* AI 神燈 — 沿用電子書 style.css 版型與元件，只換成神燈精靈配色（子軒 10/29：藍 #4DA3E0、深藍 #1F3F8F、金 #E8B830、沙 #F4E9D2）
   對比：金色只當底色（配墨黑字），不當白底上的文字色；正文用墨黑／深藍 */
:root{
  --bg:#FFFCF5; --surface:#F4E9D2; --card:#FFFFFF; --line:#E6D9BC;
  --ink:#1A1A1A; --text:#24282E; --muted:#555B63; --caption:#5F656C;
  --primary:#1F3F8F; --primary-hover:#17306E; --primary-soft:#E4EEFA;
  --sky:#4DA3E0; --gold:#E8B830; --gold-hover:#D9A81E; --gold-soft:#FBF1D2;
  --sale:#C0392B; --sale-soft:#FBEAE8;
  --radius:16px;
}
:focus-visible{outline:3px solid var(--sky)}
.site-header{background:rgba(255,252,245,.96)}
.brand{gap:10px;align-items:center;color:var(--primary)}
.brand svg{width:30px;height:30px;flex:0 0 auto}
.brand small{color:var(--muted)}
.btn{min-height:50px}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:var(--gold-hover);color:var(--ink)}
.btn-lg{min-height:56px;padding:0 32px;font-size:18px}
.btn-sm{min-height:40px;padding:0 16px;font-size:14px}

/* 首屏：深藍漸層＋金色星點，白字 */
.g-hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(1200px 500px at 85% -10%,rgba(77,163,224,.55),transparent 60%),linear-gradient(160deg,#1F3F8F 0%,#24529F 55%,#2F6DB5 100%);padding:56px 0 64px}
.g-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:radial-gradient(2px 2px at 12% 22%,#E8B830 50%,transparent 51%),radial-gradient(1.5px 1.5px at 28% 70%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 46% 14%,#fff 50%,transparent 51%),radial-gradient(2.5px 2.5px at 66% 38%,#E8B830 50%,transparent 51%),radial-gradient(1.5px 1.5px at 78% 80%,#fff 50%,transparent 51%),radial-gradient(2px 2px at 90% 18%,#E8B830 50%,transparent 51%),radial-gradient(1.5px 1.5px at 8% 86%,#fff 50%,transparent 51%)}
.g-hero .wrap{position:relative;display:grid;gap:28px;align-items:center}
.g-hero h1{color:#fff;font-size:32px;line-height:1.3;margin:0 0 14px}
.g-hero h1 em{font-style:normal;color:var(--gold)}
.g-hero .lead{color:#E9F1FB;font-size:18px}
.g-hero .cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}
.g-hero .caption{color:#D6E4F5}
.g-lamp{max-width:300px;justify-self:center;width:100%}
@media (min-width:880px){.g-hero .wrap{grid-template-columns:1.25fr .75fr}.g-hero h1{font-size:42px}}

/* 魔鏡 vs 精靈 */
.vs{display:grid;gap:16px}
.vs-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.vs-card h3{display:flex;align-items:center;gap:8px}
.vs-card ul{margin:8px 0 0;padding-left:1.2em}
.vs-card li{margin:4px 0}
.vs-card.genie{border:2px solid var(--gold);background:linear-gradient(180deg,#FFFDF6,#FFF7E0)}
.vs-card .label{display:inline-block;font-size:13px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--surface);color:var(--muted)}
.vs-card.genie .label{background:var(--gold);color:var(--ink)}
@media (min-width:760px){.vs{grid-template-columns:1fr 1fr}}
.g-section{padding:48px 0}
.g-section h2{text-align:center}
.g-section .sub{text-align:center;color:var(--muted);margin:-4px auto 24px;max-width:36em}
.case-grid{display:grid;gap:14px}
@media (min-width:760px){.case-grid{grid-template-columns:repeat(3,1fr)}}
.case{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.case .who{font-size:13px;color:var(--muted);font-weight:700}
.case .wish{color:var(--ink);font-weight:700;margin:6px 0}
.case .made{font-size:14px;color:var(--text)}
.case .made b{color:var(--primary)}
.steps li::before{background:var(--primary)}
.g-final{background:var(--primary);color:#fff;text-align:center;padding:48px 0}
.g-final h2{color:#fff}
.g-final p{color:#E3EDF9}

/* 許願訪談 */
.wish-wrap{max-width:760px;margin:0 auto;padding:24px 20px 48px}
.wish-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.wish-head svg{width:44px;height:44px;flex:0 0 auto}
.wish-head h1{font-size:24px;margin:0}
.quota{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:14px;color:var(--muted)}
.quota b{color:var(--primary)}
.progress{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0}
.progress span{font-size:13px;padding:2px 10px;border-radius:999px;background:var(--surface);color:var(--muted)}
.progress span.on{background:var(--gold);color:var(--ink);font-weight:700}
.bubble-ai{border-color:#D5E6F7;background:#F7FBFF}
.bubble-me{background:var(--gold-soft);border:1px solid #F1DFA6}
.bubble .who{display:block;font-size:12px;font-weight:700;color:var(--primary);margin-bottom:4px}
.composer{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,252,245,0),var(--bg) 18%);padding:16px 0 8px;margin-top:12px}
.composer textarea{width:100%;min-height:96px;font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;resize:vertical}
.composer textarea:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 3px rgba(77,163,224,.25)}
.composer .row{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:10px}
.wishcard{background:var(--card);border:2px solid var(--gold);border-radius:var(--radius);padding:20px;margin-top:20px}
.wishcard h2{display:flex;align-items:center;gap:8px;font-size:20px}
.field input,.field textarea,.field select{width:100%;font:inherit;font-size:16px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff}
.field textarea{min-height:76px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 3px rgba(77,163,224,.25)}
.req{color:var(--sale);font-weight:700}
.grid2{display:grid;gap:16px}
@media (min-width:640px){.grid2{grid-template-columns:1fr 1fr}}
.check-line{display:flex;gap:8px;align-items:flex-start;font-size:15px}
.check-line input{width:20px;height:20px;margin-top:3px}
.badge{display:inline-block;font-size:13px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--surface);color:var(--ink);white-space:nowrap}
.badge.new{background:var(--gold);color:var(--ink)}
.badge.reviewing,.badge.quoted{background:var(--primary-soft);color:var(--primary)}
.badge.won,.badge.building{background:#DDF1E6;color:#1C5B3A}
.badge.delivered,.badge.closed{background:#E8E8E8;color:#333}
.badge.declined{background:var(--sale-soft);color:var(--sale)}

/* 後台 */
.admin-wrap{max-width:1240px;margin:0 auto;padding:20px}
.admin-grid{display:grid;gap:16px}
@media (min-width:1000px){.admin-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
.tbl tr.sel td{background:var(--gold-soft)}
.tbl tbody tr{cursor:pointer}
.tbl tbody tr:hover td{background:#FFF9EA}
.wish-detail dl{display:grid;grid-template-columns:8.5em 1fr;gap:6px 12px;margin:0;font-size:15px}
.wish-detail dt{color:var(--muted);font-weight:700}
.wish-detail dd{margin:0;white-space:pre-wrap;word-break:break-word}
.transcript{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:12px;background:#FCFCFA;font-size:14px}
.transcript p{margin:0 0 8px}
.transcript .ai{color:var(--primary)}
.adm-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.adm-filters input,.adm-filters select{font:inherit;font-size:15px;padding:8px 10px;border:1.5px solid var(--line);border-radius:10px;background:#fff;min-height:44px}
.copy-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.copy-row input{flex:1 1 260px;font:inherit;font-size:16px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff}
/* 「怎麼運作」：電子書 style.css 的 .steps 在寬螢幕是四欄，這裡內文較長改兩欄 */
.g-section .steps{grid-template-columns:1fr}
@media (min-width:760px){.g-section .steps{grid-template-columns:1fr 1fr;max-width:860px!important}}
@media (max-width:879px){.g-lamp{max-width:150px}}
.adm-filters select{width:auto;flex:0 0 auto}.adm-filters input{flex:1 1 260px;max-width:420px}.admin-grid{align-items:start}
