:root{color-scheme:light;--canvas:#f5f1ea;--surface:#fffefa;--ink:#1b1c1c;--forest:#214e3d;--gold:#c5a17b;--line:#e4d7c6;--danger:#b42318;--muted:#655f58;font-family:"MOR A CJK",Inter,"Noto Sans TC",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{overflow-x:hidden}body{margin:0;min-width:320px;line-height:1.7}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}.site-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:rgba(255,254,250,.92)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;text-decoration:none;letter-spacing:.04em}.brand img{width:30px;height:30px}.preview-badge{border:1px solid var(--gold);border-radius:999px;padding:4px 10px;font-size:13px;color:var(--forest);font-weight:750}main{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:48px 0 80px}.campaign{display:grid;grid-template-columns:minmax(0,680px) minmax(260px,320px);justify-content:space-between;gap:48px;align-items:center;padding:32px 0 56px}.status-copy{color:var(--forest);font-weight:800;margin:0 0 10px}.campaign h1{font-size:clamp(2rem,5vw,2.5rem);line-height:1.2;margin:0;max-width:16ch}.lead{font-size:18px;color:var(--muted);max-width:62ch}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border-radius:14px;border:1px solid var(--forest);font-weight:800;text-decoration:none;cursor:pointer}.button.primary{background:var(--forest);color:#fff}.button.quiet{background:transparent;color:var(--forest)}.button:disabled{opacity:.55;cursor:not-allowed}.button:focus-visible,.text-button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #0b70c9;outline-offset:3px}.reward-summary{background:var(--surface);border:1px solid var(--gold);border-radius:20px;padding:26px;text-align:left;box-shadow:0 18px 50px rgba(33,78,61,.09)}.reward-summary img{width:44px;height:44px;opacity:.74}.reward-summary strong{display:block;font-size:32px;line-height:1.2;margin-top:20px;font-variant-numeric:tabular-nums}.reward-summary span,.wallet-instrument>div>span{color:var(--forest);font-weight:800}.reward-summary p{font-size:13px;color:var(--muted)}.process{border-block:1px solid var(--line);padding:32px 0}.process h2,.panel h2{font-size:24px;line-height:1.3}.process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-left:24px}.workspace{padding-top:40px}.wallet-instrument{background:var(--forest);color:#fff;border-radius:20px;padding:28px;display:grid;grid-template-columns:1fr auto;gap:24px;box-shadow:0 22px 64px rgba(33,78,61,.2)}.wallet-instrument>img{width:64px;filter:brightness(0) invert(1);opacity:.72}.wallet-instrument p{margin:0}.wallet-instrument h2{font-size:clamp(44px,7vw,56px);line-height:1;margin:8px 0}.wallet-instrument h2 small{font-size:18px}.wallet-instrument>div>span{color:#f4dfc4}.wallet-instrument dl{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding-top:20px;border-top:1px solid rgba(255,255,255,.3)}.wallet-instrument dl div{display:flex;justify-content:space-between;gap:16px}.wallet-instrument dd{margin:0;font-variant-numeric:tabular-nums}.workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}.panel h2{margin-top:0}.panel label:not(.check){display:block;font-weight:750;margin:16px 0 6px}.panel input:not([type=checkbox]),.panel textarea,.panel select{width:100%;border:1px solid #b8afa5;border-radius:12px;padding:12px;background:#fff;color:var(--ink);min-height:48px}.panel textarea{resize:vertical}.or{text-align:center;color:var(--muted);margin:12px 0}.help,.privacy{color:var(--muted);font-size:14px}.check{display:flex;gap:10px;align-items:flex-start;margin:20px 0}.check input{width:22px;height:22px;flex:none}.panel .button{width:100%}.form-status{min-height:1.7em;font-weight:700}.form-status.error{color:var(--danger)}.choice-row{display:flex;gap:16px;margin:8px 0}.text-button{border:0;background:none;color:var(--forest);font-weight:800;text-decoration:underline;text-underline-offset:4px;padding:8px 0;cursor:pointer}.price-row,.allocation div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:10px 0}.allocation{margin:16px 0}.allocation dd{margin:0;font-variant-numeric:tabular-nums}.history{margin-top:20px}.history-item{display:grid;grid-template-columns:1fr auto;gap:6px 20px;padding:14px 0;border-bottom:1px solid var(--line)}.history-item:last-child{border:0}.history-item strong{font-variant-numeric:tabular-nums}.history-item small{color:var(--muted)}
@media(max-width:760px){.site-header{height:64px}.brand span{font-size:14px}main{width:min(100% - 40px,680px);padding-top:24px}.campaign{grid-template-columns:1fr;gap:28px;padding-top:20px}.reward-summary{padding:22px}.process ol{grid-template-columns:1fr;gap:8px}.workspace-grid{grid-template-columns:1fr}.wallet-instrument{padding:22px}.panel{padding:20px}}
@media(max-width:350px){main{width:calc(100% - 32px)}.site-header{padding-inline:16px}.preview-badge{font-size:12px}.wallet-instrument dl{grid-template-columns:1fr}.actions{display:grid}.button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Fit the actual layout viewport when a narrow browser also reserves scrollbar space. */
body{min-width:0}
#progress-support:not([hidden]){margin-top:12px}
:root{--canvas:#f8f5ef;--surface:#fffdfa;--forest:#a52b13;--gold:#8a602c;--line:#dfcfc0;--danger:#ba1a1a;--muted:#594a42}
.preview-badge{border-color:var(--line);padding:6px 12px;color:var(--muted);text-decoration:none}
.reward-summary{border-color:var(--line);box-shadow:0 18px 50px rgba(91,64,58,.08)}
.reward-summary strong{font-size:24px;line-height:1.35;margin:0 0 16px}
.reward-summary span{color:var(--gold)}
.workspace-grid--single{grid-template-columns:minmax(0,920px);justify-content:center}
.consultation-summary{display:grid;gap:4px;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fffaf2}
.consultation-summary span,.consultation-summary small{color:var(--muted);font-size:13px}
.consultation-summary strong{font-size:16px}
.brand-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid #c5a17b;border-radius:50%;background:#fffaf2;color:#80551d;font-family:Georgia,"Times New Roman",serif;font-weight:700}
.dialog-mark{width:44px;height:44px}
.local-preview-notice{margin:0;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:#fffaf2;color:var(--muted);font-size:13px;line-height:1.55}
.reward-summary .coin-art{display:block;width:64px;height:64px;object-fit:contain;opacity:1;filter:drop-shadow(0 5px 12px rgba(128,85,29,.2))}
.reward-summary small{display:block;color:var(--muted);font-size:12px;line-height:1.55}
.workspace-grid{margin-top:0}

/* Story-first campaign composition */
main{width:min(1180px,calc(100% - 48px));padding-top:28px}
.local-preview-notice{padding:9px 14px;border-style:dashed;background:transparent;font-size:12px}
.campaign{position:relative;grid-template-columns:minmax(0,500px) minmax(520px,1fr);grid-template-areas:"copy poster" "actions poster" "assurances poster";gap:24px 54px;min-height:640px;padding:64px 0 82px;align-items:center}
.campaign-copy{grid-area:copy;align-self:end}
.campaign-actions-block{grid-area:actions;align-self:start}
.campaign .status-copy{max-width:38ch;color:var(--forest)}
.campaign h1{max-width:12ch;font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;font-size:clamp(48px,4.6vw,62px);font-weight:700;line-height:1.15;letter-spacing:-.045em;text-wrap:balance}
.campaign .lead{max-width:31em;margin:26px 0 0;font-size:19px;line-height:1.9}
.hero-reward{max-width:36em;margin:18px 0 0;padding-left:13px;border-left:3px solid var(--gold);color:var(--forest);font-size:14px;font-weight:700}.hero-reward strong{color:var(--ink)}
.campaign .actions{margin-top:32px}
.campaign-assurances{grid-area:assurances;align-self:start}.hero-assurance{max-width:52ch;margin:0;color:var(--muted);font-size:14px;line-height:1.7}.hero-assurance+.hero-assurance{margin-top:14px}
.campaign-art{grid-area:poster;position:relative;margin:0;min-width:0;filter:drop-shadow(0 28px 46px rgba(76,48,27,.18))}
.campaign-art-link{display:block;color:inherit}
.campaign-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid rgba(138,96,44,.22);border-radius:4px 72px 4px 72px;background:#e7d5c0}
.campaign-art--poster{width:min(100%,390px);justify-self:center}
.campaign-art--poster img{aspect-ratio:1122/1402;object-fit:contain}
.campaign-art-link:focus-visible{outline:3px solid #0b70c9;outline-offset:5px;border-radius:4px 72px 4px 72px}
.campaign-art figcaption{margin-top:10px;color:#523d2d;font-size:12px;font-weight:750;line-height:1.55;letter-spacing:.01em;text-align:center}
.examples{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.35fr);gap:64px;padding:72px 0;border-top:1px solid var(--line)}
.section-intro h2{max-width:16ch;margin:0;font-size:clamp(30px,4vw,44px);line-height:1.2;letter-spacing:-.035em}.section-intro>p:last-child{max-width:40ch;color:var(--muted)}
.prompt-list{counter-reset:prompt;display:grid;gap:0}.prompt-list article{display:grid;grid-template-columns:48px 1fr;gap:0 16px;padding:23px 0;border-top:1px solid var(--line)}.prompt-list article:last-child{border-bottom:1px solid var(--line)}.prompt-list span{grid-row:1/3;color:var(--gold);font-family:Georgia,serif;font-size:18px}.prompt-list h3{margin:0;font-size:19px}.prompt-list p{margin:6px 0 0;color:var(--muted);font-size:14px}
.example-guard{grid-column:2;margin:0;padding:16px 18px;border-left:3px solid var(--gold);background:#fffaf2;color:var(--muted);font-size:13px}.example-guard strong{color:var(--ink)}
.process{padding:72px 0;border-bottom:0}.process .section-intro{margin-bottom:34px}.process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;list-style:none;border-block:1px solid var(--line)}.process li{position:relative;display:grid;align-content:start;gap:8px;min-height:190px;padding:62px 28px 28px;border-right:1px solid var(--line)}.process li:last-child{border-right:0}.process li .step-number{position:absolute;left:28px;top:19px;color:var(--gold);font:700 18px/1 Georgia,serif}.process li strong{font-size:18px}.process li span:not(.step-number){color:var(--muted);font-size:14px;line-height:1.65}
.reward-summary{display:grid;grid-template-columns:auto minmax(210px,.7fr) minmax(260px,1fr) minmax(220px,.8fr);align-items:center;gap:26px;margin:0 0 10px;padding:26px 30px;border-radius:0;border-inline:0;background:transparent;box-shadow:none}.reward-summary .coin-art{width:76px;height:76px}.reward-summary .status-copy{margin-bottom:2px;font-size:12px}.reward-summary strong{margin:0;font-size:25px}.reward-summary span{display:block}.reward-summary p,.reward-summary small{margin:0}
.reward-summary__campaign{padding-left:24px;border-left:1px solid var(--line)}.reward-summary__campaign strong{font-size:16px;line-height:1.5}.reward-summary__campaign p,.reward-summary__context{color:var(--muted);font-size:13px;line-height:1.7}.reward-summary__context{grid-column:1/-1;max-width:84ch;padding:13px 16px;border-left:3px solid var(--gold);background:#fffaf2}.coin-rules{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-block:1px solid var(--line)}.coin-rules section{min-height:130px;padding:22px 22px 20px;border-right:1px solid var(--line)}.coin-rules section:last-child{border-right:0}.coin-rules span{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.08em}.coin-rules p{margin-top:8px;color:var(--ink);font-size:13px;line-height:1.72}.reward-summary__footnote{grid-column:1/-1;max-width:85ch;color:var(--muted);font-size:12px;line-height:1.7}
.workspace{padding-top:64px}.panel{box-shadow:0 24px 70px rgba(91,64,58,.08)}
.progress-receipt{position:relative;overflow:hidden;padding:0;border:0;border-top:3px solid var(--gold);border-radius:3px 34px 3px 34px;background:#fffdfa;box-shadow:0 28px 80px rgba(76,48,27,.12)}
.progress-receipt__header{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:24px;align-items:start;padding:42px 46px 36px;background:#f4ede4}
.progress-receipt__seal{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#fffaf2;box-shadow:0 12px 26px rgba(87,56,27,.12)}
.progress-receipt__seal img{display:block;width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(114,73,24,.18))}
.progress-receipt__heading .status-copy{margin:0 0 5px;color:var(--forest);font-size:13px}
.progress-receipt__heading h2{margin:0;font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;font-size:clamp(30px,3.2vw,40px);font-weight:700;line-height:1.25;letter-spacing:-.035em}
.progress-receipt__heading>p:last-child{max-width:41em;margin:15px 0 0;color:var(--muted);font-size:15px;line-height:1.8}
.progress-receipt__state{display:flex;align-items:center;gap:8px;margin:3px 0 0;padding:7px 12px;border:1px solid #d8b887;border-radius:999px;background:#fffaf2;color:#6e4c1f;font-size:13px;font-weight:800;white-space:nowrap}
.progress-receipt__state::before{content:"";width:8px;height:8px;border-radius:50%;background:#bf8433;box-shadow:0 0 0 5px rgba(191,132,51,.12)}
.progress-receipt[data-state="approved"] .progress-receipt__state{border-color:#a9c3b4;color:#285c45}.progress-receipt[data-state="approved"] .progress-receipt__state::before{background:#3d7b5d;box-shadow:0 0 0 5px rgba(61,123,93,.12)}
.progress-receipt[data-state="needs_information"] .progress-receipt__state,.progress-receipt[data-state="rejected"] .progress-receipt__state,.progress-receipt[data-state="ineligible"] .progress-receipt__state{border-color:#d8aea6;color:#8d2d1d}.progress-receipt[data-state="needs_information"] .progress-receipt__state::before,.progress-receipt[data-state="rejected"] .progress-receipt__state::before,.progress-receipt[data-state="ineligible"] .progress-receipt__state::before{background:#a52b13;box-shadow:0 0 0 5px rgba(165,43,19,.1)}
.progress-receipt__note{margin:0;padding:18px 46px;border-bottom:1px solid var(--line);background:#fff7ed;color:#6f3428;font-size:14px;font-weight:700}
.progress-receipt__consultation{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(130px,.4fr);margin:0 46px;padding:26px 0;border-bottom:1px solid var(--line)}
.progress-receipt__consultation p{display:grid;gap:4px;margin:0;padding-right:28px}.progress-receipt__consultation p+p{padding-left:28px;padding-right:0;border-left:1px solid var(--line)}
.progress-receipt__consultation span,.progress-receipt__evidence span{color:var(--muted);font-size:12px}.progress-receipt__consultation strong{font-size:16px;line-height:1.55}.progress-receipt__consultation p:last-child strong{font-variant-numeric:tabular-nums;letter-spacing:.08em}
.progress-receipt__evidence{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin:0 46px;padding:25px 0;border-bottom:1px solid var(--line)}
.progress-receipt__evidence>div{display:grid;gap:3px}.progress-receipt__evidence>div+div{grid-column:1/-1;padding-top:18px;border-top:1px solid #eee3d7}.progress-receipt__evidence strong{font-size:14px;font-weight:750}
.progress-receipt__evidence a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 14px;border:1px solid #c8aa84;border-radius:999px;color:#69491f;font-size:13px;font-weight:800;text-decoration:none}.progress-receipt__evidence a:hover{background:#f7ecdd}.progress-receipt__evidence a:focus-visible{outline:3px solid #0b70c9;outline-offset:3px}
.progress-receipt__actions{display:flex;align-items:center;gap:14px;padding:30px 46px 38px}.progress-receipt__actions .button{width:auto;min-width:280px;border-radius:999px}.progress-receipt__actions .button.primary{padding-inline:22px;background:#9f2c17;border-color:#9f2c17;box-shadow:0 12px 24px rgba(159,44,23,.16)}.progress-receipt__actions .button.primary:hover{background:#872310}.progress-receipt__actions .button.quiet{min-width:0;border-color:transparent;padding-inline:12px;text-decoration:underline;text-decoration-color:#c8aa84;text-underline-offset:5px}
.reminder-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 28px;align-items:center;max-width:720px;margin:0 auto 18px;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:#fffaf2}.reminder-choice[hidden]{display:none}.reminder-choice h2{margin:0;font-size:19px}.reminder-choice p{margin:4px 0;color:var(--muted);font-size:13px}.reminder-choice .check{grid-column:1;margin:8px 0}.reminder-actions{grid-column:2;grid-row:1/3;display:grid;gap:4px}.reminder-choice .form-status{grid-column:1/-1;margin:0;min-height:0;font-size:12px}.reminder-choice .button{min-height:42px;padding:7px 14px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.file-picker{display:grid!important;grid-template-columns:38px 1fr;align-items:center;gap:0 12px;margin:0!important;padding:16px 18px;border:1px dashed #b98a80;border-radius:14px;background:#fffaf8;color:var(--ink);cursor:pointer}.file-picker>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--forest);color:#fff;font-size:22px;line-height:1}.file-picker strong{font-size:15px}.file-picker small{color:var(--muted);font-size:12px}.file-picker:hover{border-color:var(--forest);background:#fff5f2}.file-picker:focus-within{outline:3px solid #0b70c9;outline-offset:3px}

@media(max-width:860px){
  main{width:min(100% - 40px,680px)}
  .campaign{grid-template-columns:1fr;grid-template-areas:"copy" "poster" "actions" "assurances";gap:28px;min-height:0;padding:48px 0 60px}
  .campaign h1{font-size:clamp(42px,12vw,58px)}
  .campaign-art{margin-top:8px}
  .campaign-art--poster{width:min(100%,360px)}
  .examples{grid-template-columns:1fr;gap:30px;padding:56px 0}.example-guard{grid-column:1}
  .reward-summary{grid-template-columns:auto 1fr}.reward-summary__campaign{padding-left:0;border-left:0}.reward-summary>p,.reward-summary>small{grid-column:1/-1}.coin-rules{grid-template-columns:1fr 1fr}.coin-rules section:nth-child(2){border-right:0}.coin-rules section:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:600px){
  .site-header{position:relative;z-index:5}.brand img{width:24px;height:24px}
  .local-preview-notice{margin-top:0}
  .campaign{padding-top:42px}.campaign h1{font-size:clamp(32px,9.2vw,36px);letter-spacing:-.045em}.campaign .lead{font-size:17px;line-height:1.8}.campaign .actions{display:grid}.campaign .button{width:100%}
  .campaign-art img{border-radius:3px 42px 3px 42px}
  .prompt-list article{grid-template-columns:38px 1fr;gap:0 10px}.prompt-list p{font-size:13px}
  .process{padding:56px 0}.process ol{grid-template-columns:1fr}.process li{min-height:0;padding:56px 18px 22px;border-right:0;border-bottom:1px solid var(--line)}.process li:last-child{border-bottom:0}.process li .step-number{left:18px}
  .reward-summary{padding:24px 8px;gap:18px}.reward-summary .coin-art{width:62px;height:62px}.coin-rules{grid-template-columns:1fr}.coin-rules section{min-height:0;padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}.coin-rules section:nth-child(2){border-bottom:1px solid var(--line)}.coin-rules section:last-child{border-bottom:0}
  .reminder-choice{grid-template-columns:1fr}.reminder-actions{grid-column:1;grid-row:auto;justify-items:start}
  .progress-receipt{border-radius:3px 24px 3px 24px}.progress-receipt__header{grid-template-columns:58px 1fr;gap:17px;padding:28px 20px 25px}.progress-receipt__seal{width:56px;height:56px}.progress-receipt__seal img{width:51px;height:51px}.progress-receipt__heading h2{font-size:29px}.progress-receipt__heading>p:last-child{font-size:14px;line-height:1.7}.progress-receipt__state{grid-column:1/-1;justify-self:start;margin:0}.progress-receipt__note{padding:16px 20px}.progress-receipt__consultation{grid-template-columns:1fr;gap:16px;margin:0 20px;padding:21px 0}.progress-receipt__consultation p{padding:0}.progress-receipt__consultation p+p{padding:16px 0 0;border-top:1px solid var(--line);border-left:0}.progress-receipt__evidence{grid-template-columns:1fr;margin:0 20px;padding:21px 0}.progress-receipt__evidence a{justify-self:start}.progress-receipt__actions{display:grid;padding:24px 20px 28px}.progress-receipt__actions .button{width:100%;min-width:0}.progress-receipt__actions .button.quiet{justify-self:start;width:auto}
}
