:root{
  --warm:#F7F1E9;
  --paper:#FFFDF9;
  --ink:#2B201A;
  --muted:#73665D;
  --clay:#B86A3A;
  --clay-dark:#7F4A31;
  --line:#DDCFC2;
  --sand:#EDE2D6;
  --shadow:0 18px 55px rgba(61,43,31,.08);
  --wood:#486A51;
  --fire:#C45F45;
  --earth:#B18454;
  --metal:#8B8A84;
  --water:#405D72;
  --radius:26px;
  --radius-sm:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--warm);color:var(--ink);font-family:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;line-height:1.65}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.shell{min-height:100vh;padding-bottom:40px}
.topbar{position:sticky;top:0;z-index:30;background:rgba(247,241,233,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(127,74,49,.1)}
.topbar-inner{max-width:1180px;height:72px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;font-weight:700}
.brand img{display:block;width:82px;height:auto}
.brand span{font-size:14px;letter-spacing:.04em}
.header-meta{display:flex;align-items:center;gap:10px}
.dev-badge,.field-tag{font-size:11px;font-weight:800;letter-spacing:.12em;border:1px solid var(--clay);color:var(--clay-dark);border-radius:999px;padding:6px 9px}
.header-note{font-size:12px;color:var(--muted)}
main{max-width:1180px;margin:auto;padding:0 24px 80px}
.intro{min-height:420px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:52px;padding:74px 0 52px;border-bottom:1px solid var(--line)}
.eyebrow,.section-kicker,.micro{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.eyebrow.clay,.section-kicker{color:var(--clay-dark)}
.intro h1{font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(42px,6vw,70px);line-height:1.08;letter-spacing:-.035em;margin:12px 0 20px;font-weight:600}
.intro p{font-size:18px;color:var(--muted);max-width:710px;margin:0}
.principles{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.principles span{font-size:13px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.45)}
.intro-mark{position:relative;min-height:280px;display:grid;place-items:center}
.orbit{position:absolute;border:1px solid rgba(184,106,58,.34);border-radius:50%;transform:rotate(-12deg)}
.orbit-a{width:250px;height:250px}.orbit-b{width:190px;height:190px;border-color:rgba(64,93,114,.25);transform:rotate(16deg)}.orbit-c{width:120px;height:120px;border-color:rgba(72,106,81,.25)}
.phase-dots{position:relative;width:208px;height:208px}
.phase-dots i{position:absolute;width:34px;height:34px;border-radius:50%;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.phase-dots .wood{background:var(--wood);left:20px;top:34px}.phase-dots .fire{background:var(--fire);right:22px;top:20px}.phase-dots .earth{background:var(--earth);right:2px;bottom:48px}.phase-dots .metal{background:var(--metal);left:76px;bottom:0}.phase-dots .water{background:var(--water);left:0;bottom:60px}
.input-wrap{padding:62px 0 32px}
.section-title-row,.workspace-head,.block-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:8px 0 22px}
.section-title-row h2,.workspace-head h2{font-family:Georgia,"Noto Serif TC",serif;font-size:38px;line-height:1.15;margin:0 0 8px;font-weight:600}
.section-title-row p,.workspace-head p,.block-head p{margin:0;color:var(--muted)}
.text-btn{border:0;background:transparent;color:var(--clay-dark);font-weight:700;padding:8px 0}
.paper-card{background:rgba(255,253,249,.92);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.input-card{padding:28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}
.field label{font-size:14px;font-weight:800}.field label em{font-style:normal;font-size:11px;color:var(--clay-dark);font-weight:700;margin-left:8px}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 14px;outline:none;transition:.2s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--clay);box-shadow:0 0 0 3px rgba(184,106,58,.1)}
.field small,.fine{font-size:12px;color:var(--muted)}
.date-parts{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px}
.date-parts>div{position:relative}.date-parts>div>span{position:absolute;z-index:2;left:13px;top:8px;font-size:10px;color:var(--muted);font-weight:800}.date-parts input,.date-parts select{padding-top:24px}
.date-preview{font-size:13px;color:var(--muted);padding:10px 12px;border-radius:12px;background:#F7F0E8}.date-preview.ready{color:var(--clay-dark);font-weight:700}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segmented input{display:none}.segmented span{display:block;text-align:center;border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.segmented input:checked+span{border-color:var(--clay);background:#F6E9DF;color:var(--clay-dark);font-weight:800}
.input-footer{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px}.privacy-line{font-size:12px;color:var(--muted)}
.primary-btn,.secondary-btn,.ghost-btn{border-radius:14px;padding:12px 18px;font-weight:800;border:1px solid transparent;transition:.2s}.primary-btn{background:var(--ink);color:#fff}.primary-btn:hover{transform:translateY(-1px)}.primary-btn.small{padding:10px 14px;font-size:13px}.secondary-btn{background:#F3E1D3;color:var(--clay-dark);border-color:#E5C4AE}.ghost-btn{background:transparent;border-color:var(--line)}
.workspace{padding-top:62px}
.workspace-head{align-items:center}
.section-tabs{position:sticky;top:84px;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:8px;background:rgba(247,241,233,.9);backdrop-filter:blur(15px);border:1px solid var(--line);border-radius:20px;margin-bottom:28px}
.tab{border:0;background:transparent;border-radius:14px;padding:11px 8px;display:flex;flex-direction:column;gap:1px;align-items:center}.tab span{font-weight:800}.tab small{font-size:10px;color:var(--muted)}.tab.active{background:var(--paper);box-shadow:0 5px 16px rgba(0,0,0,.05);color:var(--clay-dark)}
.view{display:none}.view.active{display:block;animation:fade .22s ease}@keyframes fade{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}
.overview-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
.dm-card{padding:30px;display:grid;grid-template-columns:120px 1fr;align-items:center;gap:24px}.dm-glyph{width:120px;height:120px;border-radius:34px;display:grid;place-items:center;font-family:Georgia,"Noto Serif TC",serif;font-size:70px;color:#fff;background:var(--wood);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.dm-card h3{font-family:Georgia,"Noto Serif TC",serif;font-size:32px;margin:5px 0}.dm-card p{margin:0;color:var(--muted)}
.snapshot-card{padding:28px}.snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.snapshot-grid div{padding:14px;border-radius:14px;background:#F6EFE7}.snapshot-grid span{display:block;font-size:11px;color:var(--muted)}.snapshot-grid strong{display:block;margin-top:3px;font-size:18px}.snapshot-card p{font-size:13px;color:var(--muted);margin:14px 0 0}
.block-head{margin-top:34px}.block-head h3{font-family:Georgia,"Noto Serif TC",serif;font-size:28px;margin:4px 0}.hint{font-size:12px;color:var(--muted)}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pillar-card{border-radius:22px;background:var(--paper);border:1px solid var(--line);overflow:hidden}.pillar-top{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.pillar-top span{font-size:12px;color:var(--muted)}.pillar-body{padding:20px 16px}.pillar-gz{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pillar-char{border-radius:18px;padding:18px 8px;text-align:center;color:#fff}.pillar-char b{display:block;font-size:34px;font-family:Georgia,"Noto Serif TC",serif;line-height:1}.pillar-char small{display:block;font-size:11px;margin-top:7px;opacity:.85}.pillar-detail{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:12px;color:var(--muted)}
.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.takeaway,.method-card{padding:28px}.takeaway h3,.method-card h3{font-family:Georgia,"Noto Serif TC",serif;font-size:26px;margin:7px 0 12px}.takeaway p,.method-card li{color:var(--muted)}.method-card ol{margin:10px 0 0;padding-left:20px}
.landscape-layout{display:grid;grid-template-columns:1.45fr .55fr;gap:18px}.landscape-card{padding:26px;overflow:hidden}.landscape-copy h3{font-family:Georgia,"Noto Serif TC",serif;font-size:30px;margin:6px 0}.landscape-copy p{color:var(--muted);max-width:680px}.landscape-card svg{width:100%;height:auto;display:block;margin-top:10px;border-radius:22px;background:linear-gradient(#F8EEE5,#F4E8DB)}.landscape-caption{font-size:12px;color:var(--muted);margin-top:12px}.element-side{display:grid;gap:18px}.element-side .paper-card{padding:22px}
.element-bars{display:grid;gap:13px;margin-top:16px}.element-row{display:grid;grid-template-columns:28px 1fr 42px;align-items:center;gap:10px}.element-row strong{font-size:13px}.bar-track{height:10px;background:#EFE7DF;border-radius:99px;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:99px}.element-row span{font-size:12px;text-align:right;color:var(--muted)}
.relation-wheel{display:grid;gap:8px;margin-top:12px}.relation-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.relation-item:last-child{border:0}.relation-item span{color:var(--muted);font-size:12px}.relation-item strong{font-size:13px}
.pattern-top{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pattern-hero,.strength-card{padding:28px}.pattern-hero h3,.strength-card h3{font-family:Georgia,"Noto Serif TC",serif;font-size:32px;margin:8px 0}.pattern-hero p,.strength-card p{color:var(--muted)}.confidence-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.confidence-row span{font-size:11px;border:1px solid var(--line);border-radius:99px;padding:6px 9px}
.strength-track{position:relative;height:12px;background:linear-gradient(90deg,#C9D7E1 0 33%,#D9CFBF 33% 66%,#D6B59B 66%);border-radius:99px;margin:24px 0 6px}.strength-track i{position:absolute;left:0;top:0;height:100%;border-radius:99px;background:rgba(43,32,26,.18)}.strength-track b{position:absolute;top:50%;width:18px;height:18px;border:3px solid #fff;background:var(--ink);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 3px 8px rgba(0,0,0,.2)}.strength-scale{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}
.pattern-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.flow-node{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;min-height:132px}.flow-node:not(:last-child)::after{content:'→';position:absolute;right:-15px;top:50%;transform:translateY(-50%);z-index:2;color:var(--clay)}.flow-node span{display:block;font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.08em}.flow-node strong{display:block;font-size:20px;margin:7px 0}.flow-node p{font-size:12px;color:var(--muted);margin:0}
.gods-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.god-panel{border-radius:22px;padding:24px;border:1px solid var(--line);min-height:160px}.god-panel h3{font-family:Georgia,"Noto Serif TC",serif;font-size:30px;margin:7px 0}.god-panel p{font-size:12px;margin:0;color:var(--muted)}.god-panel.yong{background:#F4E8DE}.god-panel.xi{background:#EFE5D8}.god-panel.ji{background:#ECE9E4}
.climate-panel{padding:24px;display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start}.climate-panel h3{font-family:Georgia,"Noto Serif TC",serif;font-size:26px;margin:6px 0}.climate-panel p{margin:0;color:var(--muted)}
.explain-card{margin-top:14px;padding:0 22px}.explain-card summary{list-style:none;font-weight:800;padding:18px 0;cursor:pointer}.explain-card summary::-webkit-details-marker{display:none}.reason-stack{display:grid;gap:10px;padding:0 0 20px}.reason-item{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}.reason-item i{font-style:normal;width:26px;height:26px;border-radius:50%;background:#F2E4D8;display:grid;place-items:center;font-size:11px;font-weight:800}.reason-item p{margin:1px 0 0;color:var(--muted);font-size:13px}
.classics-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.classic-card{padding:26px}.classic-head{display:flex;justify-content:space-between;gap:16px}.classic-head h3{font-family:Georgia,"Noto Serif TC",serif;font-size:24px;margin:3px 0}.classic-topic{font-size:11px;color:var(--clay-dark);font-weight:800}.classic-card blockquote{font-family:Georgia,"Noto Serif TC",serif;font-size:20px;line-height:1.75;margin:18px 0;padding-left:18px;border-left:2px solid var(--clay)}.classic-card p{font-size:13px;color:var(--muted)}.source-link{display:inline-flex;margin-top:4px;font-size:12px;font-weight:800;color:var(--clay-dark)}.source-policy{margin-top:18px;padding:22px}.source-policy p{margin:5px 0 0;color:var(--muted);font-size:13px}
.reflection-intro{padding:30px}.reflection-intro h3{font-family:Georgia,"Noto Serif TC",serif;font-size:30px;margin:8px 0}.reflection-intro p{color:var(--muted);max-width:760px}.prompt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.prompt{border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:14px;text-align:left;font-weight:700}.prompt.active{border-color:var(--clay);background:#F4E5D9;color:var(--clay-dark)}.reflection-result{padding:30px}.reflection-result h3{font-family:Georgia,"Noto Serif TC",serif;font-size:28px;margin:7px 0}.reflection-result>p{color:var(--muted)}.reflection-result blockquote{margin:22px 0;padding:16px 20px;border-left:3px solid var(--clay);background:#F7EFE8;border-radius:0 14px 14px 0;font-family:Georgia,"Noto Serif TC",serif;font-size:19px}.practice-box{padding:18px;border-radius:16px;background:#F1EBE3}.practice-box p{margin:6px 0 0;color:var(--muted)}.reflection-actions{display:flex;gap:10px;margin-top:18px}.journal-box{margin-top:16px}.journal-box textarea{width:100%;min-height:110px;border:1px solid var(--line);border-radius:16px;padding:14px;resize:vertical;background:#fff}.journal-box button{margin-top:10px}
.confirm-modal[hidden]{display:none}.confirm-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px}.confirm-backdrop{position:absolute;inset:0;background:rgba(35,26,21,.45);backdrop-filter:blur(6px)}.confirm-card{position:relative;z-index:1;width:min(560px,100%);background:var(--paper);border-radius:26px;border:1px solid var(--line);padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.2)}.confirm-card h2{font-family:Georgia,"Noto Serif TC",serif;font-size:32px;margin:8px 0}.confirm-card>p{color:var(--muted)}.confirm-details{display:grid;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:20px 0}.confirm-details div{display:flex;justify-content:space-between;gap:14px;padding:12px 14px;background:#fff;border-bottom:1px solid var(--line)}.confirm-details div:last-child{border:0}.confirm-details span{color:var(--muted);font-size:12px}.confirm-details strong{font-size:13px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}
.toast{position:fixed;left:50%;bottom:28px;z-index:100;transform:translate(-50%,18px);opacity:0;background:var(--ink);color:#fff;border-radius:12px;padding:10px 14px;font-size:13px;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.update-banner{display:none;position:fixed;right:18px;bottom:18px;z-index:70;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:12px;align-items:center;gap:12px}.update-banner.show{display:flex}.mobile-nav{display:none}
.element-wood{background:var(--wood)!important}.element-fire{background:var(--fire)!important}.element-earth{background:var(--earth)!important}.element-metal{background:var(--metal)!important}.element-water{background:var(--water)!important}
@media(max-width:900px){
  main{padding:0 18px 96px}.topbar-inner{padding:0 18px}.header-note{display:none}.intro{grid-template-columns:1fr;min-height:auto;padding:54px 0 42px}.intro-mark{display:none}.intro h1{font-size:46px}.form-grid{grid-template-columns:1fr}.overview-hero,.overview-grid,.landscape-layout,.pattern-top{grid-template-columns:1fr}.pillars-grid{grid-template-columns:1fr 1fr}.pattern-flow{grid-template-columns:1fr 1fr}.flow-node:not(:last-child)::after{display:none}.gods-grid{grid-template-columns:1fr 1fr 1fr}.classics-list{grid-template-columns:1fr}.climate-panel{grid-template-columns:1fr}.section-tabs{top:78px}.dm-card{grid-template-columns:96px 1fr}.dm-glyph{width:96px;height:96px;font-size:56px}.prompt-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .shell{padding-bottom:78px}.brand span{display:none}.brand img{width:76px}.topbar-inner{height:64px}.dev-badge{font-size:9px}.intro h1{font-size:38px}.intro p{font-size:16px}.input-wrap{padding-top:44px}.section-title-row,.workspace-head,.block-head{align-items:flex-start;flex-direction:column}.section-title-row h2,.workspace-head h2{font-size:31px}.input-card{padding:18px}.date-parts{grid-template-columns:1fr 1fr 1fr}.input-footer{flex-direction:column;align-items:stretch}.primary-btn{width:100%}.workspace{padding-top:46px}.workspace-head .ghost-btn{width:100%}.section-tabs{display:none}.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid!important;grid-template-columns:repeat(5,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(255,253,249,.94);backdrop-filter:blur(16px);border-top:1px solid var(--line)}.mobile-nav button{border:0;background:transparent;padding:8px 2px;font-size:12px;color:var(--muted);border-radius:10px}.mobile-nav button.active{background:#F2E5DA;color:var(--clay-dark);font-weight:800}.overview-hero{gap:12px}.dm-card{padding:22px;grid-template-columns:82px 1fr;gap:16px}.dm-glyph{width:82px;height:82px;border-radius:24px;font-size:48px}.dm-card h3{font-size:26px}.snapshot-card{padding:20px}.pillars-grid{gap:10px}.pillar-char{padding:14px 6px}.pillar-char b{font-size:29px}.overview-grid{gap:12px}.takeaway,.method-card,.landscape-card,.pattern-hero,.strength-card,.classic-card,.reflection-intro,.reflection-result{padding:20px}.block-head h3{font-size:24px}.landscape-card svg{min-height:260px}.pattern-flow{grid-template-columns:1fr}.gods-grid{grid-template-columns:1fr}.god-panel{min-height:auto}.prompt-grid{grid-template-columns:1fr}.reflection-actions{flex-direction:column}.reflection-actions button{width:100%}.confirm-card{padding:22px}.confirm-card h2{font-size:28px}.confirm-details div{flex-direction:column;gap:2px}.confirm-actions{flex-direction:column}.confirm-actions button{width:100%}.update-banner{left:12px;right:12px;bottom:78px}.element-side{grid-template-columns:1fr}.pillar-detail{font-size:11px}
}
