:root{--primary:#599641;--primary-600:#4a7d36;--primary-700:#3b6429;--primary-50:#eef5e9;--primary-100:#d4e6c7;--primary-ink:#fff;--bg:#f7f5f1;--surface:#fff;--surface-2:#faf8f4;--surface-3:#f1ede5;--line:#e6e0d4;--line-strong:#d4ccb9;--ink:#1d1a14;--ink-2:#4a4438;--ink-3:#7a7363;--ink-4:#a59d8a;--danger:#c0392b;--success:#1f7a4b;--font-sans:var(--font-noto-sans), "PingFang TC", "微軟正黑體", "Microsoft JhengHei", system-ui, -apple-system, sans-serif;--font-serif:var(--font-noto-serif), "PMingLiU", serif;--font-display:var(--font-sans);--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--shadow-1:0 1px 2px #1d1a140f, 0 1px 1px #1d1a140a;--shadow-2:0 4px 12px #1d1a1414, 0 1px 2px #1d1a140d;--shadow-3:0 18px 48px -16px #1d1a1438, 0 6px 18px #1d1a1414;--container:960px;--gutter:clamp(20px, 4vw, 40px)}[data-theme=dark]{--bg:#14110b;--surface:#1d1a12;--surface-2:#221e14;--surface-3:#2a2519;--line:#36301f;--line-strong:#4a4230;--ink:#f4ede0;--ink-2:#d6ceba;--ink-3:#998e75;--ink-4:#6b624d;--primary-50:#1a2614;--primary-100:#243818;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 14px #00000073;--shadow-3:0 18px 48px -12px #0009}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0}body{letter-spacing:.01em;min-height:100vh;font-size:15px;line-height:1.6;transition:background-color .25s,color .25s}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.site-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:10;position:sticky;top:0}.site-header__inner{max-width:var(--container);padding:14px var(--gutter);align-items:center;gap:16px;margin:0 auto;display:flex}.brand{font-family:var(--font-display);letter-spacing:.02em;color:var(--ink);align-items:center;gap:12px;font-size:19px;font-weight:700;text-decoration:none;display:flex}.brand:hover{text-decoration:none}.brand__logo{object-fit:contain;width:auto;height:36px;display:block}.brand__fallback{align-items:center;gap:10px;display:inline-flex}[data-theme=dark] .brand__logo{filter:brightness(0)invert(.95)}.brand__mark{background:var(--primary);width:34px;height:34px;color:var(--primary-ink);font-family:var(--font-serif);border-radius:8px;place-items:center;font-size:18px;font-weight:700;display:grid;box-shadow:inset 0 -2px #0000001f}.brand__sub{color:var(--ink-3);border-left:1px solid var(--line);white-space:nowrap;margin-left:2px;padding-left:10px;font-size:13px;font-weight:500;text-decoration:none}.brand__sub:hover{color:var(--primary)}@media (max-width:640px){.brand__sub{display:none}}.brand__manage{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px 6px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.brand__manage:hover{background:var(--primary-50);border-color:var(--primary-100);color:var(--primary-700);text-decoration:none}[data-theme=dark] .brand__manage:hover{color:var(--primary)}.brand__manage svg{opacity:.7}@media (max-width:560px){.brand__manage{display:none}}.manage-card{max-width:600px;margin-top:56px}.unsub-row{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-md);border-left:3px solid var(--danger);margin-top:26px;padding:14px 16px}.unsub-row .check{gap:12px;padding:0}.unsub-row .check:hover{background:0 0}.unsub-row .check input:checked{background:var(--danger);border-color:var(--danger)}.site-nav{color:var(--ink-2);gap:22px;margin-left:auto;font-size:14px;display:flex}.site-nav a{color:inherit}.site-nav a:hover{color:var(--primary);text-decoration:none}.site-footer{padding:28px var(--gutter) 40px;text-align:center;color:var(--ink-3);border-top:1px solid var(--line);background:var(--surface);margin-top:64px;font-size:12.5px}.page{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.hero{border-radius:var(--r-lg);background:linear-gradient(135deg, var(--primary) 0%, var(--primary-700) 100%);color:var(--primary-ink);min-height:220px;box-shadow:var(--shadow-2);align-items:center;margin-top:28px;display:flex;position:relative;overflow:hidden}.hero__bg{opacity:.95;pointer-events:none;position:absolute;inset:0}.hero__content{max-width:60%;padding:36px 40px;position:relative}.hero__eyebrow{letter-spacing:.22em;text-transform:uppercase;opacity:.85;margin-bottom:12px;font-size:12px;font-weight:600}.hero__title{font-family:var(--font-display);letter-spacing:.02em;margin:0 0 10px;font-size:clamp(26px,3.4vw,36px);font-weight:700;line-height:1.25}.hero__sub{opacity:.92;max-width:38ch;font-size:15px;line-height:1.65}.hero__art{pointer-events:none;justify-content:flex-end;align-items:flex-end;width:46%;display:flex;position:absolute;top:0;bottom:0;right:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.card--centered{text-align:center;max-width:560px;margin:48px auto 0;padding:44px 40px}.form-card{z-index:1;margin-top:-28px;padding:36px 40px 32px;position:relative}.form-card--lean{padding:36px 40px 28px}.form-card--standalone{margin-top:32px}.lead{text-align:center;margin-bottom:24px}.lead__title{font-family:var(--font-display);color:var(--ink);letter-spacing:.03em;margin:0 0 6px;font-size:22px;font-weight:700}.lead__desc{color:var(--ink-3);margin:0;font-size:14px}.email-box{background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--r-lg);grid-template-columns:auto 1fr auto;align-items:center;gap:0;padding:6px 6px 6px 16px;transition:border-color .15s,box-shadow .15s;display:grid}.email-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-50)}.email-box[data-invalid=true]{border-color:var(--danger)}.email-box[data-invalid=true]:focus-within{box-shadow:0 0 0 4px #c0392b29}.email-box__label{color:var(--ink-3);border-right:1px solid var(--line);white-space:nowrap;align-items:center;gap:6px;margin-right:14px;padding-right:14px;font-size:13px;font-weight:600;display:inline-flex}.email-box__input{appearance:none;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;width:100%;min-width:0;padding:14px 4px;font-size:16px}.email-box__input::placeholder{color:var(--ink-4)}.email-box__btn{appearance:none;background:var(--primary);color:var(--primary-ink);font:inherit;letter-spacing:.04em;border-radius:calc(var(--r-lg) - 4px);cursor:pointer;white-space:nowrap;border:0;align-items:center;gap:8px;padding:12px 22px;font-size:15px;font-weight:700;transition:background .15s,transform 60ms;display:inline-flex;box-shadow:inset 0 1px #0000001a}.email-box__btn:hover:not(:disabled){background:var(--primary-600)}.email-box__btn:active:not(:disabled){transform:translateY(1px)}.email-box__btn:disabled{background:var(--line-strong);color:var(--ink-3);cursor:not-allowed}@media (max-width:560px){.email-box{grid-template-columns:1fr;gap:10px;padding:14px}.email-box__label{border-right:0;margin-right:0;padding-right:0}.email-box__btn{justify-content:center}}.email-box__hint{color:var(--ink-3);text-align:center;margin-top:14px;font-size:12.5px;line-height:1.6}.email-pill{background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--r-md);align-items:center;gap:10px;padding:12px 16px;font-size:14px;display:flex}.email-pill__lbl{color:var(--primary-700);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;font-size:12px;font-weight:600}[data-theme=dark] .email-pill__lbl{color:var(--primary)}.email-pill__val{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px;overflow:hidden}.email-pill__edit{appearance:none;color:var(--primary-700);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0;font-size:13px;font-weight:600;text-decoration:underline}[data-theme=dark] .email-pill__edit,.email-pill__edit:hover{color:var(--primary)}.field{flex-direction:column;gap:7px;margin-bottom:22px;display:flex}.field__label{color:var(--ink);align-items:baseline;gap:4px;font-size:14px;font-weight:600;display:flex}.field__label .req{color:var(--primary);font-weight:700}.field__hint{color:var(--ink-3);font-size:12.5px;line-height:1.55}.field__error{color:var(--danger);align-items:center;gap:6px;margin-top:2px;font-size:12.5px;display:flex}.form-section{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin:28px 0 14px;padding-bottom:10px;display:flex}.form-section__title{color:var(--ink);letter-spacing:.02em;font-size:15px;font-weight:700}.form-section__hint{color:var(--ink-3);font-size:12.5px}.check-list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:4px 18px;min-height:240px;display:grid}@media (max-width:620px){.check-list{grid-template-columns:1fr}}.check{cursor:pointer;border-radius:var(--r-sm);align-items:flex-start;gap:10px;padding:9px 6px;display:flex}.check:hover{background:var(--surface-2)}.check input{appearance:none;border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:4px;flex-shrink:0;width:18px;height:18px;margin:1px 0 0;transition:border-color .12s,background .12s;position:relative}.check input:hover{border-color:var(--ink-3)}.check input:checked{background:var(--primary);border-color:var(--primary)}.check input:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.check__body{flex-direction:column;gap:1px;min-width:0;display:flex}.check__title{color:var(--ink);font-size:14.5px;font-weight:500}.check__hint{color:var(--ink-3);font-size:12px}.radio-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.radio-tile{cursor:pointer;position:relative}.radio-tile input{opacity:0;position:absolute;inset:0}.radio-tile__box{border:1.5px solid var(--line-strong);border-radius:var(--r-md);text-align:center;background:var(--surface);padding:14px 12px;transition:all .12s;display:block}.radio-tile__box strong{color:var(--ink);margin-bottom:2px;font-size:15px;font-weight:600;display:block}.radio-tile__box span{color:var(--ink-3);font-size:12px}.radio-tile:hover .radio-tile__box{border-color:var(--ink-3)}.radio-tile input:checked+.radio-tile__box{border-color:var(--primary);background:var(--primary-50);box-shadow:inset 0 0 0 1px var(--primary)}.radio-tile input:checked+.radio-tile__box strong{color:var(--primary-700)}[data-theme=dark] .radio-tile input:checked+.radio-tile__box strong{color:var(--primary)}.btn{appearance:none;font:inherit;border-radius:var(--r-md);cursor:pointer;letter-spacing:.04em;border:0;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:15px;font-weight:600;transition:background .15s,color .15s,transform 60ms,box-shadow .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--primary);color:var(--primary-ink);box-shadow:inset 0 1px #0000001a,0 6px 14px -4px #59964173}.btn--primary:hover{background:var(--primary-600)}.btn--primary:disabled{background:var(--line-strong);color:var(--ink-3);cursor:not-allowed;box-shadow:none}.btn--ghost{color:var(--ink-2);border:1.5px solid var(--line-strong);background:0 0}.btn--ghost:hover{border-color:var(--ink-3);color:var(--ink)}.btn--block{width:100%}.btn--lg{padding:15px 24px;font-size:15.5px}.privacy{color:var(--ink-3);cursor:pointer;align-items:flex-start;gap:9px;margin:8px 0 22px;font-size:12.5px;line-height:1.55;display:flex}.privacy input{accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:3px 0 0}.skeleton{background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 50%, var(--surface-2) 100%);background-size:200% 100%;border-radius:4px;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skel-row{align-items:center;gap:10px;padding:9px 6px;display:flex}.skel-row .skel-box{border-radius:4px;width:18px;height:18px}.skel-row .skel-line{flex:1;height:14px}.step-icon{background:var(--primary-50);width:88px;height:88px;color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary-100);border-radius:50%;place-items:center;margin:0 auto 22px;animation:2.6s ease-in-out infinite envelope-pulse;display:grid}.step-icon--success{color:var(--success);background:#1f7a4b1a;animation:none;box-shadow:inset 0 0 0 1px #1f7a4b40}.step-icon--error{color:var(--danger);background:#c0392b14;animation:none;box-shadow:inset 0 0 0 1px #c0392b2e}@keyframes envelope-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.step-title{font-family:var(--font-display);letter-spacing:.02em;margin:0 0 12px;font-size:26px;font-weight:700}.step-desc{color:var(--ink-2);max-width:42ch;margin:0 auto 24px;font-size:15px;line-height:1.7}.step-email{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);letter-spacing:.01em;margin:0 0 24px;padding:8px 14px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px;display:inline-block}.step-meta{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);text-align:left;margin:26px 0 8px;padding:18px 22px;font-size:13.5px}.step-meta dt{color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;margin-top:10px;font-size:12px;font-weight:600}.step-meta dt:first-child{margin-top:0}.step-meta dd{color:var(--ink);margin:4px 0 0;line-height:1.6}.step-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px;display:flex}.dev-link{color:var(--ink-4);border-top:1px dashed var(--line-strong);margin-top:28px;padding-top:16px;font-size:12px}.dev-link a{color:var(--ink-3);text-underline-offset:3px;cursor:pointer;text-decoration:underline}.resend{color:var(--ink-3);margin-top:18px;font-size:13px}.resend button{appearance:none;color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.resend button:disabled{color:var(--ink-4);cursor:not-allowed}.steps{color:var(--ink-3);justify-content:center;align-items:center;gap:8px;margin:24px 0 8px;font-size:12.5px;display:flex}.steps__dot{background:var(--surface-3);width:22px;height:22px;color:var(--ink-3);border:1px solid var(--line);border-radius:50%;place-items:center;font-size:11.5px;font-weight:600;display:grid}.steps__dot--active{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.steps__dot--done{background:var(--success);color:#fff;border-color:var(--success)}.steps__line{background:var(--line-strong);width:32px;height:1.5px}.steps__label{margin-left:4px}.steps__label--active{color:var(--ink);font-weight:600}
