@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;600;700&family=Nunito:wght@400;600;700&display=swap";:root{font-family:Nunito,Noto Sans SC,system-ui,sans-serif;color:#302b27;background:#f5efe5;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:#f5efe5}button{font:inherit}button:focus-visible{outline:3px solid rgba(181,82,60,.35);outline-offset:3px}.app-shell{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:linear-gradient(148deg,#faf5ed,#f4ede2 53%,#eee4d8)}.app-shell:before{content:"";position:absolute;inset:0;z-index:-2;opacity:.17;pointer-events:none;background-image:radial-gradient(#9f8871 .7px,transparent .7px);background-size:7px 7px}.home-shell{color:#433947;background:linear-gradient(160deg,#fff9f2,#fff7f5 46%,#f3fbf6)}.home-shell:before{opacity:.24;background-image:radial-gradient(#e6a6a0 .75px,transparent .75px),radial-gradient(#94cbb8 .65px,transparent .65px);background-position:0 0,9px 9px;background-size:18px 18px}.home-shell .page-glow-one{background:#ffd4bd;opacity:.7}.home-shell .page-glow-two{background:#ccebdc;opacity:.72}.page-glow{position:absolute;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(5px);opacity:.55}.page-glow-one{width:280px;height:280px;top:-130px;right:-95px;background:#f3d4b8}.page-glow-two{width:190px;height:190px;bottom:8%;left:-120px;background:#dce6d2}.topbar,.home-view,.draw-view,.site-footer{width:min(100%,680px);margin-inline:auto}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:42px}.brand-lockup{display:flex;align-items:center;gap:10px;color:#4d4138;font-size:14px;font-weight:700;letter-spacing:.16em}.home-shell .brand-lockup{color:#5a4450;letter-spacing:.1em}.brand-seal{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(150,86,60,.32);border-radius:50%;color:#a95740}.home-shell .brand-seal{border:0;color:#d84f66;background:#ffe1df;box-shadow:0 4px #df6b6924;transform:rotate(-7deg)}.icon-button{display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(91,70,55,.15);border-radius:50%;color:#6a574a;background:#ffffff73;cursor:pointer;transition:background .2s,transform .2s}.icon-button:hover{transform:translate(-2px);background:#fffaf3}.home-view{padding:clamp(42px,8vh,78px) 0 28px}.intro-block{margin-bottom:30px}.home-kicker{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;color:#df5f70;font-size:13px;font-weight:700;letter-spacing:.06em}.eyebrow{margin:0 0 12px;color:#af5d46;font-size:12px;font-weight:700;letter-spacing:.24em}h1{margin:0;color:#302b27;font-family:"Noto Serif SC",serif;font-size:clamp(31px,8vw,48px);line-height:1.28;letter-spacing:.02em}h1 em{color:#ad5741;font-style:normal}.home-shell h1{color:#3f3541;font-family:Nunito,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(36px,10vw,52px);font-weight:800;line-height:1.2}.home-shell h1 em{color:#e15f6f;font-style:normal}.category-grid{display:grid;gap:12px}.category-tile{position:relative;display:flex;align-items:center;width:100%;min-height:78px;padding:13px 17px 13px 13px;overflow:hidden;border:1px solid var(--wash);border-radius:8px;color:#44383f;text-align:left;background:#ffffffd1;box-shadow:0 7px 0 var(--wash),0 13px 25px #704a5712;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}.category-tile:after{content:"";position:absolute;top:-20px;right:-18px;width:74px;height:74px;border:14px solid var(--wash);border-radius:50%;opacity:.55}.category-tile:hover{transform:translateY(-3px) rotate(-.3deg);background:#fff;box-shadow:0 9px 0 var(--wash),0 16px 28px #704a571c}.category-tile:active{transform:translateY(4px) scale(.99);box-shadow:0 2px 0 var(--wash)}.category-icon{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;margin-right:14px;border-radius:50%;color:var(--accent);background:var(--wash);box-shadow:inset 0 0 0 1px #fff9;transition:transform .2s}.category-tile:hover .category-icon{transform:rotate(-8deg) scale(1.06)}.category-copy{display:flex;flex:1;align-items:center}.category-copy strong{position:relative;z-index:1;font-family:Nunito,PingFang SC,Microsoft YaHei,sans-serif;font-size:18px;font-weight:800}.category-arrow{position:relative;z-index:1;color:var(--accent)}.site-footer{padding-top:31px;color:#a19183;font-size:11px;letter-spacing:.12em;text-align:center}.home-shell .site-footer{color:#b47a85;font-weight:700;letter-spacing:.08em}.entry-view{position:relative;width:min(100%,680px);margin-inline:auto;padding-top:clamp(25px,5vh,56px);text-align:center}.entry-intro{position:relative;z-index:2}.entry-intro h1{color:#3f3541;font-family:Nunito,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(31px,8.5vw,46px);font-weight:800;line-height:1.18}.entry-intro h1 em{color:#e15f6f}.entry-stage{position:relative;width:min(100%,350px);height:365px;margin:5px auto 0}.entry-tube{position:absolute;z-index:1;right:54px;bottom:3px;left:54px;width:auto;height:280px}.entry-sticks{position:absolute;z-index:3;top:14px;right:52px;left:52px;height:220px;pointer-events:none}.entry-stick{position:absolute;display:flex;align-items:center;justify-content:center;gap:5px;width:48px;height:170px;padding:8px 5px;border:1px solid color-mix(in srgb,var(--accent) 55%,white);border-radius:9px 9px 5px 5px;color:var(--accent);font-family:Nunito,PingFang SC,sans-serif;font-size:12px;font-weight:800;writing-mode:vertical-rl;background:linear-gradient(90deg,var(--wash),#fffdf8 58%,var(--wash));box-shadow:2px 5px color-mix(in srgb,var(--wash) 80%,white),0 7px 13px #6f4c4b26;cursor:pointer;pointer-events:auto;transform-origin:bottom center;transition:transform .25s,opacity .25s,filter .25s}.entry-stick svg{flex:none}.entry-stick-0{left:3px;transform:rotate(-14deg)}.entry-stick-1{left:52px;height:188px;transform:rotate(-5deg)}.entry-stick-2{right:52px;height:182px;transform:rotate(6deg)}.entry-stick-3{right:3px;height:164px;transform:rotate(15deg)}.entry-stick:hover:not(:disabled){transform:translateY(-13px) rotate(0) scale(1.05)}.entry-stick.is-picked{z-index:5;transform:translateY(-37px) rotate(0) scale(1.08);box-shadow:0 10px 0 var(--wash),0 13px 20px #6f4c4b2e}.entry-view.has-pending .entry-stick:not(.is-picked){opacity:.36;filter:grayscale(.35)}.entry-tube .tube-mouth{top:40px;left:10px;width:calc(100% - 20px);z-index:4}.entry-tube .tube-body{inset:62px 20px 12px;height:auto}.entry-tube .tube-label{font-size:14px}.entry-tip{position:relative;z-index:2;margin:-5px 0 0;color:#b17884;font-size:12px;font-weight:700;letter-spacing:.05em}.entry-choice{position:absolute;z-index:10;top:230px;left:50%;display:flex;flex-direction:column;align-items:center;width:min(76vw,245px);padding:16px 17px 14px;border:2px solid #ffd4ae;border-radius:16px;background:#fffdf8f5;box-shadow:0 8px #ffe6cc,0 18px 38px #643e452b;transform:translate(-50%);animation:choice-pop .25s cubic-bezier(.2,.8,.25,1) both}.entry-choice-kicker{color:#c49372;font-size:11px;font-weight:700;letter-spacing:.12em}.entry-choice strong{margin-top:4px;color:#df5f70;font-size:22px;font-weight:800}.entry-choice-actions{display:flex;gap:9px;width:100%;margin-top:12px}.entry-choice-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;border-radius:8px;font-size:13px;font-weight:800;cursor:pointer}.entry-choice-cancel{flex:1;border:1px solid #eedbd4;color:#9e8179;background:#fffaf7}.entry-choice-confirm{flex:1.15;border:1px solid #df5f70;color:#fff;background:#e96b78;box-shadow:0 4px #d95668}.entry-choice-confirm:active{transform:translateY(3px);box-shadow:0 1px #d95668}.draw-view{display:flex;flex-direction:column;align-items:center;padding-top:clamp(36px,7vh,66px);text-align:center}.draw-view.phase-entering .draw-heading{animation:rise-in .52s ease both}.draw-view.phase-entering .card-stage{opacity:0;transform:translateY(28px) scale(.94)}.draw-view.phase-entering .change-category{opacity:0}.draw-heading h1{font-size:clamp(30px,8vw,44px)}.draw-heading>p:last-child{margin:13px 0 0;color:#88796c;font-size:13px}.card-stage{display:grid;place-items:center;width:min(100%,340px);min-height:390px;margin:28px auto 22px;perspective:900px}.card-back,.revealed-card{position:relative;width:min(76vw,284px);aspect-ratio:.715;overflow:hidden;border-radius:7px}.card-back{display:grid;place-items:center;border:1px solid rgba(148,88,61,.25);color:#f7ead7;background:#a95740;box-shadow:0 22px 35px #6e412c2e,inset 0 0 0 8px #ffedd31f,inset 0 0 0 10px #ffedd30f}.card-trigger,.revealed-card{padding:0;font:inherit;text-align:center;cursor:pointer}.draw-tube,.revealed-card{grid-area:1 / 1}.card-trigger:disabled{cursor:wait}.draw-tube{display:block;width:min(66vw,242px);height:min(79vw,338px);aspect-ratio:auto;overflow:visible;border:0;color:#f8e7c9;background:transparent;box-shadow:none;filter:drop-shadow(0 24px 18px rgba(71,34,29,.2))}.draw-tube:before,.draw-tube:after{content:none}.tube-body{position:absolute;z-index:2;inset:69px 24px 13px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:auto;border:1px solid rgba(255,211,145,.46);border-radius:18px 18px 45px 45px/14px 14px 30px 30px;background:linear-gradient(90deg,#5d1c21,#8b2d2a 13%,#b84d37 38%,#c25d3f 50%,#9a362e 77%,#5b1a20);box-shadow:inset 16px 0 24px #300a1247,inset -18px 0 24px #2b08104d,inset 0 8px 18px #ffa45c14,0 12px 20px #401b1733}.tube-body:before{content:"";position:absolute;inset:18px 18px 22px;border:1px solid rgba(255,225,169,.16);border-radius:12px 12px 31px 31px/10px 10px 23px 23px;background:linear-gradient(90deg,transparent,rgba(255,198,125,.07) 48%,transparent 72%)}.tube-body:after{content:"";position:absolute;right:9px;bottom:-7px;left:9px;height:16px;border:1px solid rgba(247,188,111,.54);border-radius:50%;background:linear-gradient(90deg,#672022,#bd583b 48%,#681f22);box-shadow:0 4px 5px #32111133}.tube-mouth{position:absolute;z-index:4;top:49px;left:14px;width:calc(100% - 28px);height:55px;border:8px solid #c97947;border-radius:50%;background:radial-gradient(ellipse at 50% 47%,#241316 0 48%,#4e1a20 51% 65%,#8b332b 68%);box-shadow:inset 0 -5px 6px #22080d8c,inset 0 4px 4px #ffbf7533,0 5px 7px #3713114d}.tube-mouth:after{content:"";position:absolute;inset:-5px -4px;border:2px solid rgba(251,200,123,.56);border-radius:50%}.tube-lip-front{position:absolute;z-index:6;top:77px;left:18px;width:calc(100% - 36px);height:31px;border-bottom:7px solid #d0874d;border-radius:0 0 50% 50%/0 0 100% 100%;box-shadow:0 3px 2px #36121133;pointer-events:none}.draw-mode-tube .tube-mouth,.draw-mode-tube .tube-lip-front{display:none}.draw-mode-tube .tube-sticks{z-index:1;top:-7px}.draw-mode-tube .tube-body{z-index:4;top:51px;border-radius:38px 38px 45px 45px/22px 22px 30px 30px}.draw-mode-tube .tube-body:before{inset:20px 18px 22px;border-radius:28px 28px 31px 31px/17px 17px 23px 23px}.tube-sticks{position:absolute;z-index:3;top:0;left:50%;width:120px;height:111px;transform:translate(-50%)}.tube-sticks i{position:absolute;bottom:12px;display:block;width:10px;height:102px;border:1px solid rgba(107,53,29,.4);border-radius:4px 4px 2px 2px;background:linear-gradient(90deg,#d0964e,#f0ca7f 45%,#a66632);box-shadow:1px 0 2px #3d1b1347;transform-origin:bottom center}.tube-sticks i:nth-child(1){left:18px;height:87px;transform:rotate(-18deg)}.tube-sticks i:nth-child(2){left:40px;height:105px;transform:rotate(-8deg)}.tube-sticks i:nth-child(3){left:61px;height:112px;transform:rotate(2deg)}.tube-sticks i:nth-child(4){left:81px;height:96px;transform:rotate(11deg)}.tube-sticks i:nth-child(5){left:98px;height:80px;transform:rotate(20deg)}.tube-sticks .chosen-stick{z-index:2}.ritual-glow{position:absolute;z-index:0;top:36px;left:50%;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(238,182,98,.24),transparent 68%);opacity:0;transform:translate(-50%) scale(.7);pointer-events:none}.phase-pressing .draw-tube{animation:tube-press .18s ease both}.phase-pressing .ritual-glow{opacity:.65;animation:glow-pulse .7s ease both}.phase-shaking .draw-tube{animation:tube-shake-ritual .8s cubic-bezier(.4,0,.2,1) both}.phase-shaking .tube-sticks{animation:sticks-shake .8s ease both}.phase-shaking .ritual-glow{opacity:1;animation:glow-pulse .8s ease both}.phase-selecting .draw-tube{animation:tube-settle .36s ease both}.phase-selecting .chosen-stick{animation:stick-rise .55s cubic-bezier(.2,.8,.25,1) both}.phase-revealing .draw-tube{z-index:2;pointer-events:none;animation:tube-fade .5s ease both}.phase-revealing .revealed-card{animation:reveal .57s cubic-bezier(.2,.75,.25,1) both}.tube-emblem{display:grid;place-items:center;width:55px;height:55px;border:1px solid rgba(255,222,163,.58);border-radius:50%;color:#f4ce87;box-shadow:0 0 0 6px #ffd58f0f}.tube-label{position:relative;margin-top:15px;color:#f9dfaf;font-family:"Noto Serif SC",serif;font-size:15px;letter-spacing:.18em}.revealed-card{border:0;background:#fbf8f1;box-shadow:0 22px 35px #5c43302b;animation:reveal .55s cubic-bezier(.2,.75,.25,1) both}.revealed-card img{display:block;width:100%;height:100%;object-fit:contain}.card-caption{position:absolute;right:0;bottom:0;left:0;padding:9px 12px 10px;color:#45372cb3;font-size:10px;letter-spacing:.1em;background:linear-gradient(transparent,#fbf8f1f2)}.draw-actions{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(100%,300px)}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:7px;font-size:14px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}.primary-button{width:100%;border:1px solid #a24e39;color:#fffaf3;background:#ad5741;box-shadow:0 10px 20px #9e49322e}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 13px 24px #9e493240}.primary-button:disabled{cursor:wait;opacity:.78}.secondary-button{width:100%;border:1px solid rgba(104,78,61,.2);color:#6c5849;background:#fffcf69e}.secondary-button:hover{background:#fffdf9}.change-category{display:inline-flex;align-items:center;gap:5px;margin-top:23px;border:0;color:#978675;font-size:12px;background:transparent;cursor:pointer}.change-category:hover{color:#a95740}.change-category:disabled{cursor:wait;opacity:.5}.viewer-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:#231b16c7;animation:fade-in .2s ease both}.viewer-panel{position:relative;display:grid;place-items:center;width:min(100%,680px);height:min(94svh,920px);padding:14px;border:1px solid rgba(255,245,230,.2);border-radius:9px;background:#27201c;box-shadow:0 24px 70px #00000059}.viewer-panel img{display:block;width:100%;height:100%;object-fit:contain}.viewer-close{position:absolute;z-index:1;top:9px;right:9px;display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(255,245,230,.28);border-radius:50%;color:#fff8ee;background:#231b16b3;cursor:pointer}.viewer-close:hover{background:#b5523ce6}.centered-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;padding-inline:32px;text-align:center}.centered-state .state-mark{display:grid;place-items:center;width:58px;height:58px;margin-bottom:21px;border:1px solid rgba(169,87,65,.25);border-radius:50%;color:#ad5741}.centered-state h1{font-size:27px}.centered-state p{margin:11px 0 24px;color:#88796c;font-size:14px}.centered-state .primary-button{width:auto;min-width:150px;padding-inline:20px}.pulse{animation:pulse 1.5s ease-in-out infinite}.spin{animation:spin .85s linear infinite}@keyframes reveal{0%{opacity:0;transform:rotateY(75deg) scale(.93)}to{opacity:1;transform:rotateY(0) scale(1)}}@keyframes tube-shake-ritual{0%{transform:rotate(0) translate(0)}15%{transform:rotate(-5deg) translate(-5px)}32%{transform:rotate(5deg) translate(5px)}49%{transform:rotate(-6deg) translate(-4px)}66%{transform:rotate(4deg) translate(4px)}84%{transform:rotate(-2deg)}to{transform:rotate(0) translate(0)}}@keyframes sticks-shake{0%,to{transform:translate(-50%) rotate(0)}20%{transform:translate(-50%) rotate(-6deg)}40%{transform:translate(-50%) rotate(7deg)}60%{transform:translate(-50%) rotate(-5deg)}80%{transform:translate(-50%) rotate(3deg)}}@keyframes tube-press{0%{transform:translateY(0) scale(1)}to{transform:translateY(7px) scale(.98)}}@keyframes tube-settle{0%{transform:translateY(7px) rotate(2deg)}to{transform:translateY(0) rotate(0)}}@keyframes tube-fade{to{opacity:0;transform:translateY(20px) scale(.92)}}@keyframes stick-rise{0%{transform:rotate(2deg) translateY(0)}to{transform:rotate(2deg) translateY(-35px)}}@keyframes glow-pulse{0%{opacity:0;transform:translate(-50%) scale(.7)}35%{opacity:1}to{opacity:.45;transform:translate(-50%) scale(1.1)}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes choice-pop{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes pulse{50%{transform:scale(1.07);opacity:.65}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(min-width:680px){.app-shell{padding-inline:42px}.home-view{padding-top:90px}.category-grid{grid-template-columns:repeat(2,1fr)}.card-stage{min-height:430px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
