:root{--paper:#f6f1e8;--ink:#3c3029;--muted:#948776;--red:#a83229;--gold:#bb9254;--blue:#356785;font-family:"Noto Serif SC","Songti SC",serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#b9a58215 .65px,transparent .65px);background-size:5px 5px}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #bd944d;outline-offset:5px}.masthead{max-width:1240px;margin:auto;padding:25px 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7c9b64d}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:700;text-decoration:none;color:var(--ink)}.brand small{font-family:Georgia,serif;font-size:10px;letter-spacing:2px;font-weight:400;color:var(--muted);margin-left:7px}.seal{display:grid;place-items:center;background:var(--red);color:#f9e8c5;border:3px double #f9e8c5;outline:1px solid var(--red);width:30px;height:33px;font-size:21px;border-radius:2px;transform:rotate(-5deg)}.header-note{font-size:11px;letter-spacing:3px;color:var(--muted)}main{max-width:900px;margin:auto;padding:0 28px}.intro{text-align:center;padding:34px 0 20px}.eyebrow{font-size:11px;letter-spacing:5px;color:#a4895e;display:flex;align-items:center;justify-content:center;gap:17px}.eyebrow span{width:27px;height:1px;background:#c4ac86}h1{font-size:38px;font-weight:600;letter-spacing:3px;margin:13px 0 12px}h1 em{color:var(--red);font-style:normal}.intro p{font-family:system-ui,sans-serif;font-size:12px;letter-spacing:2px;color:var(--muted);margin:0}.shrine{height:375px;position:relative;max-width:740px;margin:auto;overflow:hidden}.scene-top{position:absolute;top:17px;left:65px;right:65px;display:flex;justify-content:space-between;color:#bca681;font-size:9px;letter-spacing:4px}.halo{position:absolute;width:310px;height:310px;border:1px solid #d9bd8654;border-radius:50%;top:24px;left:50%;transform:translateX(-50%);background:radial-gradient(circle,#e9cf934d,transparent 68%)}.halo:before{content:"";position:absolute;inset:13px;border:1px dashed #d8bc8652;border-radius:50%}.halo:after{content:"";position:absolute;inset:30px;border:1px solid #d8bc8630;border-radius:50%}.god{width:263px;height:304px;position:absolute;left:50%;transform:translateX(-50%);top:18px;filter:drop-shadow(0 8px 10px #67422c16)}.couplet{position:absolute;top:103px;writing-mode:vertical-rl;font-size:17px;letter-spacing:10px;color:#a68a5c;border-top:1px solid #c4aa7a;border-bottom:1px solid #c4aa7a;padding:13px 5px 3px}.couplet.left{left:45px}.couplet.right{right:45px}.cloud{position:absolute;color:#d6c09a;opacity:.35;font-size:72px;transform:scaleX(1.6)}.cloud-left{top:61px;left:100px}.cloud-right{top:116px;right:104px}.jar-area{position:absolute;top:151px;width:135px;text-align:center;z-index:3}.red-area{left:112px}.blue-area{right:112px}.jar{height:154px;position:relative;transform-origin:50% 85%}.sticks{position:absolute;height:88px;width:100px;left:17px;top:-5px}.stick{position:absolute;bottom:0;width:10px;height:82px;border:1px solid #bc925d;background:linear-gradient(90deg,#d8b77d,#f2dab0 45%,#e7c48b);border-radius:3px 3px 0 0;transform-origin:50% 100%;color:#95623b;font:8px Georgia,serif;padding-top:5px;box-shadow:1px 0 1px #6b482326}.stick:nth-child(3n){height:95px}.stick:nth-child(2n){height:73px}.jar-body{position:absolute;bottom:0;left:15px;width:105px;height:111px;border-radius:9px 9px 30px 30px;background:linear-gradient(95deg,#822a25,#bf4e3c 40%,#a7372b 75%,#73271f);border:2px solid #862c25;box-shadow:inset 0 6px #d79555,inset 0 10px #91372b,0 9px 9px #58402e20;overflow:hidden}.blue-jar .jar-body{background:linear-gradient(95deg,#284b60,#4b809b 40%,#396780 75%,#203f54);border-color:#2d5064;box-shadow:inset 0 6px #c9a86d,inset 0 10px #294c60,0 9px 9px #58402e20}.jar-body:after{content:"";position:absolute;bottom:9px;left:0;right:0;border-bottom:3px double #d7af61}.jar-label{position:relative;z-index:1;display:block;background:#e8cd92;color:#8f3529;border:3px double #ad7d3f;width:43px;margin:23px auto 0;font-size:23px;line-height:1.25;padding:4px}.blue-jar .jar-label{color:#30576d}.jar-lines{position:absolute;inset:12px 8px;background:repeating-linear-gradient(90deg,transparent,transparent 12px,#edc87d15 13px,transparent 14px);border-left:1px solid #e9bd6050;border-right:1px solid #e9bd6050}.jar-caption{font-family:system-ui,sans-serif;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;margin-top:14px;color:#904b3c}.jar-caption span{font-size:9px;color:var(--muted);margin-left:2px}.jar-caption i{width:5px;height:5px;background:#b54233;border-radius:50%}.blue-area .jar-caption{color:#3c6a85}.blue-area .jar-caption i{background:#3c6a85}.altar{position:absolute;width:290px;height:93px;left:50%;transform:translateX(-50%);bottom:23px;z-index:4}.incense{position:absolute;bottom:0;left:111px;width:68px;height:100px}.incense-sticks{position:absolute;bottom:33px;left:24px;display:flex;gap:7px}.incense-sticks i{width:2px;height:53px;background:linear-gradient(#e2693e 4px,#73533b 4px,#b58a4b 70%)}.incense-sticks i:first-child{transform:rotate(-9deg);height:47px;margin-top:6px}.incense-sticks i:last-child{transform:rotate(9deg);height:47px;margin-top:6px}.burner{position:absolute;bottom:7px;width:68px;height:37px;border:2px solid #9f753b;border-top:6px solid #d6b56d;border-radius:6px 6px 25px 25px;background:linear-gradient(90deg,#9f7c46,#ddbe7e,#a8854b);color:#8e6a36;text-align:center;font-size:20px;line-height:27px}.burner:before,.burner:after{content:"";position:absolute;width:13px;height:17px;border:3px solid #ad8a4b;border-radius:50%;top:0;z-index:-1}.burner:before{left:-12px}.burner:after{right:-12px}.burner-feet{position:absolute;bottom:0;left:12px;width:43px;height:10px;border-left:5px solid #9e7a40;border-right:5px solid #9e7a40}.smoke{position:absolute;width:18px;height:47px;bottom:91px;left:25px;border-left:2px solid #9c8d7954;border-radius:50%;animation:smoke 4s ease-in-out infinite;filter:blur(1px)}.smoke-two{left:34px;bottom:107px;height:35px;animation-delay:-2s}.offering{position:absolute;bottom:0;width:80px;height:51px}.fruit{left:6px}.fruit span{position:absolute;bottom:9px;font-size:30px}.fruit span:nth-child(1){left:4px}.fruit span:nth-child(2){left:35px}.fruit span:nth-child(3){left:19px;bottom:28px;font-size:27px}.plate{position:absolute;bottom:2px;width:80px;height:9px;background:#cfb17b;border-radius:0 0 50% 50%;border-top:3px solid #e4d0a4;box-shadow:0 4px 4px #59412d20}.buns{right:6px}.buns span{position:absolute;bottom:10px;width:31px;height:27px;border-radius:70% 70% 35% 35%;background:radial-gradient(ellipse at 50% 12%,#e6ccb1 2px,#fcf0d9 4px,#e9d8b8 85%);box-shadow:inset -3px -3px 5px #ae8b5e26}.buns span:nth-child(1){left:7px}.buns span:nth-child(2){right:7px}.buns span:nth-child(3){left:25px;bottom:28px}.table-edge{position:absolute;bottom:18px;height:10px;left:45px;right:45px;background:linear-gradient(#aa7550 2px,#815335 3px,#b17e53 7px,#90603d 8px);border-radius:3px;box-shadow:0 8px 15px #6a47201a}.draw-panel{max-width:640px;margin:3px auto 0;padding:23px 33px 19px;border:1px solid #ded1bd;border-radius:17px;background:#fffcf5b8;box-shadow:0 6px 25px #654d2e05}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.tiny-label{font-size:11px;color:#8a7351}.panel-head #status{font-family:system-ui,sans-serif;font-size:10px;color:#a89985}.numbers{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:25px}.number{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid #c3695059;color:#ab4936;font-size:20px;background:#f2dfc51c;font-variant-numeric:tabular-nums;transition:background .25s,transform .25s}.number.blue{border-color:#6d96ac70;color:#47768e;background:#dce6e933}.plus{color:#b3a58f;font:20px Georgia,serif}.numbers.revealed .number.red{background:#af392f;color:#fff3d8;border-color:#af392f;box-shadow:inset 0 0 0 3px #ffffff14,0 3px 7px #952d201a}.numbers.revealed .number.blue{background:#386d8a;color:#f8f5e8;border-color:#386d8a;box-shadow:inset 0 0 0 3px #ffffff14}.actions{display:flex;gap:12px}.actions button{height:49px;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:14px;letter-spacing:2px;transition:background .2s,transform .2s}.actions button:active:not(:disabled){transform:translateY(2px)}.draw-button{background:#a83129;color:#fff0d4;border:1px solid #9a3027;flex:1;box-shadow:0 4px 8px #a8312914}.draw-button:hover:not(:disabled){background:#90271f}.draw-icon{font-size:22px;font-weight:400}.arrow{margin-left:20px;font-family:system-ui,sans-serif;font-size:20px;color:#e9b68b}.copy-button{background:transparent;color:#7b6b52;border:1px solid #d6c7ae;padding:0 19px}.copy-button:hover:not(:disabled){background:#eee3d2}button:disabled{cursor:default;opacity:.42}.draw-button:disabled{opacity:.75}.hint{font-family:system-ui,sans-serif;font-size:10px;color:#a79882;text-align:center;margin:17px 0 0;letter-spacing:.6px}footer{text-align:center;padding:24px 0 20px;color:#98856a;font-size:11px;letter-spacing:3px}footer small{display:block;font-family:system-ui,sans-serif;color:#b1a594;font-size:9px;letter-spacing:1px;margin-top:10px}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);padding:12px 23px;border-radius:8px;background:#3e342bea;color:#fff7e8;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;font-family:system-ui,sans-serif;font-size:13px;z-index:10;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.shaking .jar{animation:shake .22s ease-in-out infinite}.shaking .blue-jar{animation-delay:-.11s}.shaking .stick{animation:stick .22s ease-in-out infinite alternate}.number.pop{animation:pop .4s ease-out}.manual-copy{margin-top:15px;font:12px system-ui,sans-serif;color:#7b6b52}.manual-copy input{width:100%;padding:11px;margin-top:8px;border:1px solid #d6c7ae;border-radius:5px;background:#fffaf2;font:16px system-ui,sans-serif;color:#604532}@keyframes shake{0%,100%{transform:rotate(-7deg) translateY(-2px)}50%{transform:rotate(7deg) translateY(2px)}}@keyframes stick{to{margin-bottom:7px}}@keyframes smoke{0%,100%{transform:translateY(0) skewX(-12deg);opacity:.25}50%{transform:translateY(-9px) skewX(15deg);opacity:.65}}@keyframes pop{0%{transform:translateY(-9px) scale(.8);opacity:.2}70%{transform:translateY(1px) scale(1.08)}100%{transform:none;opacity:1}}
@media(min-width:1500px){main{padding-top:20px}.intro{padding-top:45px}.shrine{margin-top:10px}footer{padding-top:30px}}@media(max-width:680px){.masthead{padding:20px 23px}.brand{font-size:19px}.brand small{display:none}.header-note{font-size:9px;letter-spacing:1px}main{padding:0 16px}.intro{padding-top:30px}h1{font-size:29px;letter-spacing:1px}.eyebrow{font-size:10px;letter-spacing:3px}.intro p{font-size:11px;letter-spacing:1px}.shrine{height:345px;max-width:440px}.scene-top{left:18px;right:18px;font-size:8px;letter-spacing:2px}.god{width:224px;height:259px;top:29px}.halo{width:260px;height:260px;top:31px}.couplet{font-size:13px;top:90px;letter-spacing:8px}.couplet.left{left:9px}.couplet.right{right:9px}.jar-area{top:166px;width:108px}.jar{height:121px;transform:scale(.82);transform-origin:50% 100%}.red-area{left:10px}.blue-area{right:10px}.jar-body{bottom:0}.jar-caption{margin-top:10px;gap:4px;font-size:10px}.jar-caption span{font-size:8px}.cloud-left{left:44px;top:59px}.cloud-right{right:42px;top:96px}.altar{width:220px;bottom:30px;transform:translateX(-50%) scale(.86)}.incense{left:76px}.offering.fruit{left:-6px}.offering.buns{right:-6px}.table-edge{left:9px;right:9px;bottom:22px}.draw-panel{padding:20px 18px 17px;margin-top:0;border-radius:13px}.panel-head{margin-bottom:21px}.numbers{gap:7px;margin-bottom:24px}.number{width:36px;height:36px;font-size:17px;flex-shrink:0}.plus{font-size:16px}.actions{gap:9px}.actions button{font-size:13px;letter-spacing:1px;height:48px}.copy-button{padding:0 12px}.arrow{margin-left:6px}.hint{font-size:9px;letter-spacing:0;line-height:1.8}.tiny-label{font-size:10px}.panel-head #status{font-size:9px}footer{padding-top:22px;font-size:10px;letter-spacing:2px}}@media(max-width:359px){.numbers{gap:5px}.number{width:31px;height:31px}.copy-button{padding:0 8px}.actions button{font-size:12px}.arrow{display:none}h1{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
