:root{font-family:Thonburi,"Noto Sans Thai",Tahoma,sans-serif;color:#554833;background:#fcfaf5;line-height:1.7}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 5%,#e6f5fb99,transparent 45%),radial-gradient(ellipse at 15% 20%,#fff0c477,transparent 50%)}header{max-width:1160px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:24px}a{color:#78623c;text-decoration:none}header>a:first-child{font-weight:700;font-size:24px}header span{font-size:11px;letter-spacing:3px;margin-left:8px}header>a:last-child{font-size:14px}main{max-width:1160px;margin:auto;padding:0 24px}h1{font-size:clamp(28px,4vw,44px);line-height:1.45;margin:10px 0;color:#605035}h2{font-size:21px;line-height:1.6}h3{font-size:18px}.dd-hero{text-align:center;padding:44px 0 48px}.dd-light{color:#b8a16b;font-size:30px;letter-spacing:12px}.dd-eyebrow{color:#9c875a;font-size:13px;letter-spacing:2px}.dd-hero>p:not(.dd-eyebrow){color:#8b806c}.dd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dd-card{border:1px solid #e7d9b9;border-radius:28px;padding:30px 22px;background:linear-gradient(145deg,#fff,#fffaf0);text-align:center;box-shadow:0 12px 34px #7961320a;display:flex;flex-direction:column;align-items:center}.dd-card img{border-radius:50%;object-fit:cover;width:140px;height:140px;border:4px solid #fff;box-shadow:0 0 0 1px #eadcb9}.dd-card h2{margin:22px 0 4px}.dd-card p{font-size:14px;color:#8b806c;margin:4px 0 24px}.dd-card button{margin-top:auto;width:100%}button{font:inherit;cursor:pointer;border:1px solid #e0d2b4;border-radius:16px;padding:12px 20px;min-height:48px;color:#72582d;background:#fffcf4}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #3486b1;outline-offset:4px}.dd-gold{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff9e6,#f9e3a1 55%,#ead095);border-color:#d9bb71;font-weight:700;color:#70511d;box-shadow:inset 0 1px #fff,0 5px 18px #c6a34b20}.dd-gold::after{content:"";position:absolute;inset:-50% auto -50% -60%;width:30%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:skewX(-22deg);animation:shine 6s ease-in-out infinite;pointer-events:none}@keyframes shine{0%,40%{left:-60%}80%,100%{left:150%}}.dd-note{text-align:center;color:#928876;font-size:13px;margin:38px auto 18px;max-width:650px}footer{text-align:center;padding:28px;color:#9a8b71;font-size:13px}.dd-modal{width:min(650px,calc(100vw - 24px));max-height:88dvh;overflow:auto;border:1px solid #deca96;border-radius:28px;background:#fffcf3;padding:28px;text-align:center;color:#554833}.dd-modal::backdrop{background:#29383e66;backdrop-filter:blur(3px)}.dd-modal>img{display:block;object-fit:cover;border-radius:50%;margin:12px auto 22px}.dd-close{position:sticky;top:0;float:right;border-radius:50%;background:#fffaf0;width:44px;height:44px;min-height:44px;padding:0;font-size:26px}.dd-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px;line-height:1.95}.dd-date{color:#978465;font-size:14px}.dd-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}.dd-actions .dd-gold{flex-basis:100%}.dd-feedback,#dd-status{text-align:center;color:#8c6730}.dd-direct{max-width:760px;margin:30px auto;padding:28px;border:1px solid #e7d9b9;border-radius:24px;background:white}.dd-modal textarea{width:100%;min-height:150px}@media(max-width:760px){.dd-grid{grid-template-columns:1fr;max-width:460px;margin:auto}.dd-hero{padding:24px 0 32px}.dd-modal{padding:20px}.dd-card{padding:26px}.dd-actions>button{width:100%}}@media(prefers-reduced-motion:reduce){.dd-gold::after{animation:none;display:none}}

/* Clear the floating close control so the portrait centers across the full dialog. */
.dd-modal>img{clear:both;margin-left:auto;margin-right:auto}

.dd-signup-wrap{text-align:center;padding:12px 24px 4px}
.dd-signup{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:12px;max-width:100%;min-height:54px;padding:15px 30px;border:1px solid #d75f6680;border-radius:22px;background:linear-gradient(135deg,#fff0f0e8,#f6b1b7d9 35%,#e97580d9 70%,#ffd8dce8);color:#7a1526;font-size:18px;font-weight:700;text-decoration:none;text-shadow:0 1px #fff8;box-shadow:inset 0 2px 2px #fff9,0 7px 24px #c5495b30;backdrop-filter:blur(10px)}
.dd-signup::before{content:"";position:absolute;inset:-50% auto -50% -60%;width:30%;background:linear-gradient(90deg,transparent,#ffffffb3,transparent);transform:skewX(-22deg);animation:shine 5s ease-in-out infinite;pointer-events:none;z-index:-1}
.dd-signup span{color:#fff6dc;text-shadow:0 0 5px #ad3547,0 0 12px #fff;animation:dd-red-sparkle 3s ease-in-out infinite}
.dd-signup:hover{box-shadow:inset 0 2px 2px #fff9,0 9px 28px #c5495b45;border-color:#c94c5c}
@keyframes dd-red-sparkle{0%,100%{opacity:.6;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.dd-signup::before,.dd-signup span{animation:none}.dd-signup::before{display:none}}

.dd-modal .dd-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px;padding:0;line-height:1;border-radius:50%;z-index:3;color:#765b32;background:#fffcf5;border:1px solid #dfcda8}.dd-modal .dd-close svg{display:block;flex:none;width:22px;height:22px;pointer-events:none}
/* Rarity is independent from the teaching; effects stay on the frame. */
@property --dd-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.dd-rarity-card{--dd-color:#985fca;--dd-ring:transparent,var(--dd-color),#fff8,var(--dd-color),transparent;position:relative;isolation:isolate;padding:18px;border-radius:22px;margin:20px 0;background:#fffaf0}
.dd-rarity-card[data-rarity]:not([data-rarity="N"]){box-shadow:0 0 12px color-mix(in srgb,var(--dd-color) 18%,transparent);animation:dd-reveal .8s ease-out both}
.dd-rarity-card[data-rarity="UR"]{--dd-color:#ba58aa;--dd-ring:#ff78ba,#f5c76a,#82d99b,#6bc9f0,#aa87ff,#ff78ba}
.dd-rarity-card[data-rarity="HR"]{--dd-color:#c59a37;--dd-ring:#dab96b66,#ffe9a7,#bb8b29,#fff4c6,#dab96b66}
.dd-rarity-card[data-rarity="SR"]{--dd-color:#8a96a7;--dd-ring:#afb7c466,#fff,#8d9bae,#e6edf6,#afb7c466}
.dd-rarity-card[data-rarity]:not([data-rarity="N"])::before{content:"";position:absolute;inset:0;padding:2px;border-radius:inherit;background:conic-gradient(from var(--dd-angle),var(--dd-ring));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;animation:dd-border-orbit 6s linear infinite}
.dd-rarity-card:is([data-rarity="UR"],[data-rarity="HR"])::after{content:"✦  ✧";position:absolute;right:12px;top:-12px;color:var(--dd-color);font-size:16px;letter-spacing:12px;text-shadow:0 0 7px #fff;pointer-events:none;animation:dd-star 3s ease-in-out infinite}
.dd-rarity-badge{flex-basis:100%;margin:0;padding:8px 10px;font-size:14px;border-radius:12px;color:#806e54;animation:dd-reveal .8s ease-out both}
.dd-rarity-badge[data-rarity="UR"]{color:#93498d;background:linear-gradient(110deg,#ffe4ed,#fff0c7,#e2f5f7,#ede3ff)}
.dd-rarity-badge[data-rarity="HR"]{color:#886119;background:#fff0bd88}.dd-rarity-badge[data-rarity="SR"]{color:#5c6879;background:#e6ebf288}.dd-rarity-badge[data-rarity="R"]{color:#8051a5;background:#eee0fa88}.dd-rarity-badge[data-rarity="N"]{animation:none}
@keyframes dd-border-orbit{to{--dd-angle:360deg}}@keyframes dd-star{0%,100%{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.08)}}@keyframes dd-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.dd-paused *, .dd-paused *::before,.dd-paused *::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.dd-rarity-card,.dd-rarity-card::before,.dd-rarity-card::after,.dd-rarity-badge{animation:none!important}}
#rates label{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:12px 0}#rates input{width:140px;padding:10px;font:inherit;border:1px solid #dacbad;border-radius:12px}

.dd-reward-home,.dd-reward-panel{padding:16px;text-align:center;border:1px solid #e4d4a9;border-radius:20px;background:#fff9e9;margin:16px 0}.dd-reward-panel{grid-column:1/-1}.dd-reward-home p,.dd-reward-panel p{margin:8px 0}.dd-reward-home details button{margin:8px}.dd-reward-panel small{display:block;margin:10px 0;color:#756545}

/* Save a teaching independently of coin rewards. */
button.dd-collect,.reflection-dialog button.dd-collect{display:block;flex-basis:100%;margin:12px auto;padding:13px 24px;min-height:48px;border:1px solid #c8afd8;border-radius:20px;background:linear-gradient(110deg,#ffe1ec,#fff0bf,#d8f2e4,#d9edff,#eadcff,#ffe1ec);background-size:220% 100%;color:#513e67;font:inherit;font-weight:600;box-shadow:0 3px 12px #b19bc522;animation:teaching-save-rainbow 8s linear infinite}
@keyframes teaching-save-rainbow{to{background-position:220% 50%}}
@media(prefers-reduced-motion:reduce){button.dd-collect,.reflection-dialog button.dd-collect{animation:none}}


 .dhamma-reveal{border:1px solid #e9dcb9;border-radius:32px;background:radial-gradient(circle at 50% 38%,#effbff,#fffaf0 65%);color:#826b40;width:min(340px,calc(100vw - 40px));padding:36px 24px 28px;text-align:center;box-shadow:0 18px 65px #56462c20;overflow:hidden}
 .dhamma-reveal::backdrop{background:#35434b55;backdrop-filter:blur(3px)}
 .dhamma-reveal-stage{position:relative;height:150px;display:grid;place-items:center}
 .dhamma-reveal-orb{width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 32% 24%,#fff 0 7%,#eefcff 16%,#b8eaff 43%,#6abfdf 72%,#d9f9ff 94%);box-shadow:inset -6px -8px 14px #418aaf44,inset 5px 6px 12px #fff,0 12px 28px #90cde04d;animation:dhamma-orb-shake .65s ease-in-out infinite}
 .dhamma-reveal-star{position:absolute;color:#c8a451;font-size:21px;animation:dhamma-orb-star .8s ease-in-out infinite alternate}.dhamma-reveal-star:nth-child(2){left:16%;top:24%;}.dhamma-reveal-star:nth-child(3){right:16%;top:18%;animation-delay:.25s}.dhamma-reveal-star:nth-child(4){right:22%;bottom:16%;animation-delay:.5s;font-size:14px}
 .dhamma-reveal p{font:inherit;margin:12px 0 0;line-height:1.7}
 @keyframes dhamma-orb-shake{0%,100%{transform:translate(-8px,0) rotate(-9deg)}50%{transform:translate(8px,-10px) rotate(9deg)}}
 @keyframes dhamma-orb-star{from{opacity:.3;transform:scale(.7)}to{opacity:1;transform:scale(1.15)}}
 @media(prefers-reduced-motion:reduce){.dhamma-reveal-orb,.dhamma-reveal-star{animation:none}}
 
.dhamma-reveal.is-paused .dhamma-reveal-orb,.dhamma-reveal.is-paused .dhamma-reveal-star{animation-play-state:paused}

/* Clear crystal spheres bloom outward from one center, like the meditation CTA. */
.dhamma-reveal-stage{height:190px}
.dhamma-reveal-orbs{position:absolute;inset:0;pointer-events:none}
.dhamma-reveal-orbs .dhamma-reveal-orb{position:absolute;left:50%;top:50%;width:100px;height:100px;border:2px solid #91d9f4;border-radius:50%;background:radial-gradient(circle at 32% 24%,#fff 0 8%,#f1fcffed 18%,#c0edffbd 45%,#6bbfdfb8 76%,#e6fbfff0 96%);box-shadow:inset -6px -8px 14px #367eaa55,inset 5px 6px 12px #fff,0 0 12px #90d9f040;opacity:0;transform-origin:center;animation:dhamma-orb-bloom 3s ease-out infinite}
.dhamma-reveal-orbs .dhamma-reveal-orb:nth-child(2){animation-delay:-1s}
.dhamma-reveal-orbs .dhamma-reveal-orb:nth-child(3){animation-delay:-2s}
@keyframes dhamma-orb-bloom{0%{transform:translate(-50%,-50%) scale(.12);opacity:0}15%{opacity:.95}55%{opacity:.82}80%{opacity:.48}100%{transform:translate(-50%,-50%) scale(1.65);opacity:0}}
@media(prefers-reduced-motion:reduce){.dhamma-reveal-orbs .dhamma-reveal-orb{animation:none;transform:translate(-50%,-50%);opacity:1}.dhamma-reveal-orbs .dhamma-reveal-orb:nth-child(n+2){display:none}}

/* Reuse the draw reveal crystals in the public page hero. */
.dd-hero-crystal{width:min(280px,100%);height:190px;margin:0 auto;letter-spacing:normal;pointer-events:none}
.dd-paused .dd-hero-crystal .dhamma-reveal-orb,.dd-paused .dd-hero-crystal .dhamma-reveal-star{animation-play-state:paused}

/* White-gold glass treatment for the combined draw button only. */
@property --dd-draw-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
#dd-all{isolation:isolate;max-width:100%;background:linear-gradient(135deg,#ffffffed,#fffaf0c9 45%,#f5e4b5ad);border:1px solid #dfc789;color:#70511d;box-shadow:inset 0 1px 2px #fff,0 5px 22px #c6a34b30;backdrop-filter:blur(8px)}
#dd-all::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;pointer-events:none;background:conic-gradient(from var(--dd-draw-angle),#d8ba7280,#fff6 15%,#fff 22%,#e4bc5d 28%,#d8ba7250 45%,#fff 70%,#e4bc5d 77%,#d8ba7280);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:dd-draw-edge 4s linear infinite}
#dd-all::after{display:none}
@keyframes dd-draw-edge{to{--dd-draw-angle:360deg}}
.dd-paused #dd-all::before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){#dd-all::before{animation:none}}

/* Decorative invitation around the combined draw control. */
.dd-draw-invite{position:relative;display:table;max-width:100%;margin:24px auto 0;padding-bottom:52px}
.dd-invite-star{position:absolute;pointer-events:none;color:#c5a34f;font-size:19px;line-height:1;text-shadow:0 0 8px #f5d98299;animation:dd-invite-twinkle 2.4s ease-in-out infinite}
.dd-invite-star-one{left:8px;top:-17px}.dd-invite-star-two{right:12px;top:-18px;animation-delay:-.8s;font-size:23px}
.dd-invite-star-three{left:22px;bottom:34px;animation-delay:-1.6s;font-size:13px}.dd-invite-star-four{right:20px;bottom:32px;animation-delay:-.4s}
.dd-invite-arrow{position:absolute;bottom:0;left:calc(50% - 16px);width:32px;height:40px;color:#b99136;pointer-events:none;animation:dd-invite-point 1.6s ease-in-out infinite;filter:drop-shadow(0 2px 4px #cfb46a40)}
.dd-invite-arrow svg{display:block}
@keyframes dd-invite-twinkle{0%,100%{opacity:.35;transform:scale(.75)}50%{opacity:1;transform:scale(1.1)}}
@keyframes dd-invite-point{0%,100%{transform:translateY(4px)}50%{transform:translateY(-5px)}}
.dd-paused .dd-invite-star,.dd-paused .dd-invite-arrow{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.dd-invite-star,.dd-invite-arrow{animation:none}}

.dd-signup-down-arrow{display:flex;justify-content:center;margin:0 auto 14px;color:#bd6c70;pointer-events:none}
.dd-signup-down-arrow svg{display:block;animation:dd-signup-point-down 1.6s ease-in-out infinite}
@keyframes dd-signup-point-down{0%,100%{transform:translateY(-4px)}50%{transform:translateY(4px)}}
.dd-paused .dd-signup-down-arrow svg{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.dd-signup-down-arrow svg{animation:none}}

.reading-coin-flight{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;padding:0;background:transparent;overflow:hidden;pointer-events:none}
.reading-coin-flight::backdrop{background:transparent;pointer-events:none}
.reading-coin-target{position:absolute;right:24px;top:max(20px,env(safe-area-inset-top));display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:24px;background:#fff8df;color:#987025;font-weight:700;box-shadow:0 0 18px #e9cb7b88}
.reading-coin-target img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.reading-coin{position:absolute;left:0;top:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff9cf,#f3cf64 60%,#bb8525);border:2px solid #e0b851;color:#a5751d;box-shadow:0 0 14px #edd37e}
.dd-profile-link{display:flex;align-items:center;gap:6px}.dd-profile-link img{width:36px;height:36px;border-radius:50%;object-fit:cover}
