:root{--bg-0: #fff9de;--bg-1: #fff1be;--bg-2: #dff2ff;--ink: #2c2418;--muted: #6f634d;--line: rgba(84, 67, 30, .18);--card: rgba(255, 249, 224, .76);--card-strong: rgba(255, 243, 194, .87);--accent-yellow: #ffc93b;--accent-soft: #ffe57b;--accent-blue: #88cdf5;--radius: 24px;--pattern-x: 0px;--pattern-y: 0px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Sora,Noto Sans TC,sans-serif;color:var(--ink);background:radial-gradient(circle at 12% 14%,rgba(255,204,62,.34),transparent 31%),radial-gradient(circle at 84% 20%,rgba(136,205,245,.3),transparent 36%),radial-gradient(circle at 50% 85%,rgba(255,234,132,.34),transparent 40%),linear-gradient(165deg,var(--bg-0),var(--bg-1),var(--bg-2));min-height:100vh;overflow-x:hidden}.smile-pattern{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.32}.grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.1;background-image:radial-gradient(rgba(84,67,30,.1) .8px,transparent .8px),radial-gradient(rgba(255,255,255,.6) .6px,transparent .6px);background-size:6px 6px,10px 10px;background-position:0 0,3px 3px}.top-nav{position:fixed;top:20px;right:24px;z-index:20}.brand{display:inline-flex;align-items:center;gap:9px}.brand-name{font-weight:700;font-size:15px;letter-spacing:.08em}.logo-mark{position:relative;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffec99,#ffc93b);border:1px solid rgba(84,67,30,.2);box-shadow:0 3px 8px #8d6d1b3d}.logo-mark .eye{position:absolute;top:7px;width:4px;height:6px;border-radius:50%;background:#2f2718}.logo-mark .eye.left{left:8px}.logo-mark .eye.right{right:8px}.logo-mark .smile{position:absolute;left:6px;bottom:6px;width:14px;height:7px;border-bottom:2px solid #2f2718;border-radius:0 0 14px 14px}.nav-cta{text-decoration:none;color:#1a1200;border:none;background:#ffd84d;padding:9px 20px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;box-shadow:0 4px 14px #c88c0059;transition:background .2s ease,transform .15s ease}.nav-cta:hover{background:#ffca00;transform:translateY(-1px)}.hero{position:relative;z-index:5;min-height:100vh;display:grid;place-items:center;padding:120px 20px 80px}.hero-inner{max-width:920px;text-align:center}.hero-kicker{display:inline-block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}.hero h1{font-size:clamp(52px,9vw,108px);line-height:1.03;letter-spacing:-.03em;margin-bottom:16px;text-wrap:balance}.hero p{font-size:clamp(17px,2.4vw,22px);color:var(--muted);line-height:1.6;margin:0 auto 30px;max-width:620px}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.btn{text-decoration:none;border-radius:999px;padding:12px 22px;font-size:14px;font-weight:600;transition:transform .22s ease,box-shadow .22s ease}.btn-primary{color:#2f2718;background:linear-gradient(145deg,#fff1a3,#ffc93b);border:1px solid rgba(84,67,30,.22);box-shadow:0 10px 24px #b17f143d}.btn-ghost{color:#3c3220;background:#fff8dd94;border:1px solid rgba(84,67,30,.14)}.btn:hover{transform:translateY(-2px)}.story{position:relative;z-index:4;height:520vh}.story-sticky{position:sticky;top:0;height:100vh;overflow:hidden}#three-canvas,#particle-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}#three-canvas{z-index:2}#particle-canvas{z-index:3;pointer-events:none;opacity:.75}.story-overlay{position:absolute;left:50%;transform:translate(-50%);bottom:9vh;width:min(780px,calc(100% - 30px));z-index:8;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:20px;box-shadow:0 16px 34px #68521c33}.chapter{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.story-overlay h2{font-size:clamp(32px,5vw,52px);line-height:1.08;letter-spacing:-.02em;margin-bottom:8px}.story-overlay p{font-size:clamp(15px,2.2vw,20px);color:var(--muted);margin-bottom:16px}.story-overlay.compact h2{font-size:clamp(24px,3.6vw,36px);margin-bottom:6px}.story-overlay.compact p{font-size:clamp(13px,1.7vw,16px);margin-bottom:12px}.progress-track{height:6px;border-radius:999px;background:#54431e24;overflow:hidden}.progress-fill{display:block;width:0%;height:100%;background:linear-gradient(90deg,#88cdf5,#ffe57b,#ffc93b);transition:width .15s linear}.story-steps{display:none}.plans{position:relative;z-index:5;padding:110px 20px}.plans-header{text-align:center;margin:0 auto 34px;max-width:760px}.plans-header h3{font-size:clamp(34px,6vw,72px);line-height:1.02;letter-spacing:-.03em;margin-bottom:8px}.plans-header p{color:var(--muted);font-size:18px}.plan-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.plan{border:1px solid var(--line);border-radius:20px;background:var(--card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:22px;display:flex;flex-direction:column;gap:12px;transition:transform .2s ease,box-shadow .2s ease}.plan:hover{transform:translateY(-3px);box-shadow:0 12px 24px #785c1d29}.plan.featured{border-color:#ffc93bb8;box-shadow:0 14px 30px #ad7f122e}.plan h4{font-size:22px;letter-spacing:-.01em}.price{font-size:40px;font-weight:600;letter-spacing:-.02em}.price span{font-size:14px;color:var(--muted)}.plan ul{list-style:none;display:grid;gap:7px;color:#665a43;font-size:14px;min-height:102px}.plan ul li:before{content:"● ";color:#ffc93b}.plan button{border:1px solid rgba(84,67,30,.2);border-radius:12px;padding:11px 14px;font-size:14px;font-weight:600;color:#2f2718;background:linear-gradient(145deg,#fff0a1,#ffc93b);cursor:pointer}.footer{position:relative;z-index:5;text-align:center;color:#85795f;font-size:12px;padding:38px 20px 58px}@media (max-width: 840px){.top-nav{top:10px;right:16px}.brand-name{font-size:12px}.nav-cta{font-size:11px;padding:7px 11px}.story-overlay{bottom:6vh;padding:16px}.plan-grid{grid-template-columns:1fr}}@media (max-width: 640px){.hero{padding:80px 20px 50px}.hero h1{font-size:clamp(34px,10vw,52px)}.story-overlay{bottom:2vh;width:calc(100% - 24px)}.story-overlay p{font-size:14px}.plans{padding:60px 16px 80px}.plans-header h3{font-size:clamp(26px,8vw,38px)}.plans-header p{font-size:15px}.plan-grid{padding:0 4px}.plan{width:100%}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.btn,.plan,.progress-fill{transition:none}.smile-pattern{animation:none}}@keyframes patternDrift{0%{background-position:0 0}to{background-position:-140px -110px}}
