@charset "UTF-8";
:root{color-scheme:dark;--ink:#09090c;--paper:#f0e9e1;--muted:#aba1a2;--red:#c53543;--line:#ffffff22;font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper)}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:focus-visible{outline:2px solid #e9bbb3;outline-offset:6px}button:disabled{cursor:default}button:hover{color:white} [hidden]{display:none!important}header{position:absolute;z-index:8;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:30px 4vw;border-bottom:1px solid var(--line)}.wordmark{font-family:Georgia,serif;font-size:23px;letter-spacing:.12em}.edition{font-family:monospace;font-size:12px;letter-spacing:.14em;display:block;color:var(--muted);margin-top:7px}#sound{font-size:14px;letter-spacing:.1em}#sound span{font-size:26px;vertical-align:middle;margin-left:12px}#dust,.grain{position:fixed;inset:0;pointer-events:none;width:100%;height:100%}#dust{z-index:4}.grain{z-index:6;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.35' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
#ritual{position:relative;min-height:100svh;background:radial-gradient(ellipse at 50% 46%,#651b282a,transparent 48%),linear-gradient(90deg,transparent 49.95%,#ffffff05 50%,transparent 50.05%);padding:145px 24px 125px}.ritual-inner{position:relative;z-index:5;text-align:center;max-width:700px;margin:auto}.eyebrow{font-size:12px;letter-spacing:.22em;color:var(--muted);font-family:monospace;margin:0 0 18px}h1{font-family:"Songti TC","Noto Serif TC",serif;font-weight:400;font-size:clamp(30px,3.3vw,48px);line-height:1.5;letter-spacing:.17em;margin:0}.side{position:absolute;top:42%;color:#aaa1a2;font-size:12px;letter-spacing:.2em;writing-mode:vertical-rl}.side.left{left:4vw}.side.right{right:4vw}.side span{margin-top:55px;color:var(--red)}.oracle{width:264px;height:264px;margin:22px auto;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #a555554f;border-radius:50%;inset:0}.orbit-one{border-left-color:#ed7274;border-right-color:#ed7274;animation:revolve 60s linear infinite;box-shadow:0 0 65px #a6262512,inset 0 0 40px #951d2412}.orbit-two{inset:15px;border:1px dashed #a555553d;animation:revolve 95s linear infinite reverse}.axis{position:absolute;font:12px serif;color:#cb9f9a;background:#100c10;padding:4px}.a1{top:-8px}.a2{bottom:-8px}.a3{right:-6px}.a4{left:-6px}.coordinate{position:absolute;bottom:33px;font:10px monospace;letter-spacing:.25em;color:#947575}.hex{display:flex;flex-direction:column-reverse;gap:10px;width:108px}.yao{height:8px;display:flex;gap:14px;opacity:.13;transition:opacity .4s,filter .4s;filter:blur(1px)}.yao i{display:block;flex:1;background:#b98580;box-shadow:0 0 14px #b4364340}.yao.lit{opacity:1;filter:none}.yao.lit i{background:#e2b5a8}.invitation{font-size:16px;color:var(--muted);margin:22px 0}.primary{min-height:52px;padding:15px 24px;border:1px solid #ba6563;background:#92303a26;letter-spacing:.1em;display:inline-flex;gap:28px;align-items:center;justify-content:space-between;transition:background .25s}.primary:hover{background:#91313d55}.hold{background:linear-gradient(90deg,#9c394f66 var(--fill,0%),#92303a12 var(--fill,0%));touch-action:none;user-select:none;min-width:270px}.text-button{padding:12px;color:var(--muted);font-size:14px}.text-button:hover{color:#ffbab4}#single{display:block;margin:3px auto}.live{min-height:22px;font:12px/1.7 monospace;color:#ab757b;letter-spacing:.13em;margin:16px 0 0}.ritual-footer{position:absolute;bottom:25px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:end;font-size:12px;line-height:1.8;color:#a59a9b;z-index:5}.ritual-footer small{font-size:12px;color:#8c8082}.result #hex-name{color:#d7a09b}.result #verdict{font-family:"Songti TC",serif;font-size:clamp(21px,2.5vw,28px);letter-spacing:.12em;line-height:1.6;white-space:pre-line;margin:12px 0}.classification{font:12px monospace;letter-spacing:.3em;color:#d96e76;margin:20px}.choices{display:flex;justify-content:center;gap:16px}.secondary{padding:12px 18px;min-height:50px;border-bottom:1px solid #716368;color:#c8b9b9}.result{animation:appear 1s both}body[data-phase=result] h1{font-size:25px}body[data-phase=result] .oracle{width:220px;height:220px;margin:18px auto}body[data-phase=reject] .ritual-inner{animation:interference .2s 3}body[data-phase=reject] .orbit{border-color:#db334c}
.bloom{display:none;position:fixed;inset:0;z-index:7;background:#09090c;overflow:hidden;place-items:center}.flower{position:absolute;width:min(95vw,1000px);height:min(80vw,650px);background:url('assets/bloom-art.jpg') center 46%/cover;clip-path:ellipse(35% 34% at 50% 47%);mask-image:radial-gradient(ellipse,black 5%,transparent 64%);animation:bloom 2.6s both}.bloom span{z-index:2;font:clamp(14px,2vw,24px) Georgia,serif;letter-spacing:.25em;margin-top:35vh;animation:appear 1s .6s both}body[data-phase=dissolve] .bloom{display:grid}body[data-phase=dissolve] .ritual-inner{opacity:0;filter:blur(12px);transition:1s}
#home{position:relative;min-height:100svh;isolation:isolate;overflow:hidden;animation:appear 1.6s both;background:#110d12}.hero-art{position:absolute;inset:0 0 0 28%;background:url('assets/poster.jpg') 50% 52%/cover no-repeat;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#09090d 3%,#09090deb 25%,#09090d77 46%,#09090d00 75%),linear-gradient(0deg,#09090d 0%,transparent 38%,#09090d66 100%)}.home-copy{padding:clamp(170px,22vh,250px) 0 190px 8vw;max-width:680px}.home-copy h2{margin:15px 0 25px}.home-copy h2 img{width:100%;max-width:470px;height:190px;object-fit:contain;object-position:left center}.latin-title{display:block;font:clamp(24px,3vw,38px) Georgia,serif;letter-spacing:.3em}.tagline{font-family:"Songti TC",serif;font-size:clamp(22px,2.5vw,32px);letter-spacing:.1em}.intro{font-size:16px;line-height:2;color:#b8afb3;margin:28px 0 36px}.film-button{background:#11090dad;gap:24px}.film-button span:last-child{font:12px monospace;color:#b98a8c}.home-bottom{position:absolute;bottom:32px;left:4vw;right:4vw;border-top:1px solid #ffffff33;padding-top:24px;display:flex;align-items:center;gap:32px}.home-bottom p{margin:8px 0 0;font-family:serif;font-size:18px}.home-note{margin-left:auto;text-align:right;color:#c5b5b7;font-size:14px;line-height:1.8;letter-spacing:.2em}.home-bottom .eyebrow{margin:0}.close{display:block;margin:0 0 12px auto;padding:10px}dialog{width:min(1000px,94vw);max-height:94svh;border:1px solid #81505c;background:#0d0a10;padding:18px;z-index:20}dialog::backdrop{background:#030208e8;backdrop-filter:blur(12px)}video{display:block;width:100%;max-height:75svh}.noscript{position:fixed;inset:40% 10%;z-index:30;background:#09090c;padding:30px}
@keyframes revolve{to{transform:rotate(360deg)}}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes bloom{0%{opacity:0;transform:scale(.55);filter:blur(18px)}45%{opacity:1;filter:blur(0)}100%{opacity:0;transform:scale(1.5);filter:blur(8px)}}@keyframes interference{0%,100%{transform:none}30%{transform:translateX(5px)}60%{transform:translateX(-5px)}}
.flower{background-image:url('assets/bloom-art.jpg')}
@media(max-width:600px){header{padding:22px 24px}.wordmark{font-size:19px}.edition{font-size:12px}.side{display:none}#ritual{padding:128px 20px 145px}.oracle{width:230px;height:230px}.ritual-footer{left:24px;right:18px;gap:12px}.ritual-footer span{max-width:225px}.choices{gap:6px}.choices .primary{padding:13px}.hero-art{inset:0;background-position:55% 48%;background-size:auto 115%}.hero-shade{background:linear-gradient(0deg,#09090d 0%,#09090dd9 23%,#09090d50 55%,#09090d1a 80%,#09090da8 100%)}.home-copy{padding:44svh 24px 180px;max-width:none}.home-copy h2 img{max-width:290px;height:120px}.home-copy .eyebrow{font-size:12px;letter-spacing:.12em}.latin-title{font-size:24px}.intro{font-size:16px;margin:22px 0}.tagline{font-size:24px;margin:14px 0}.home-bottom{left:24px;right:24px;gap:12px}.home-note{display:none}.home-bottom .text-button{margin-left:auto}.home-bottom p{font-size:16px}.bloom span{letter-spacing:.12em}.flower{width:140vw;height:90vw;max-width:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.flower{opacity:.7}#dust{display:none}}
#coffee-image{aspect-ratio:1;min-height:240px;width:100%;display:grid;place-content:center;text-align:center;background:radial-gradient(ellipse at center,#502129,#130d10 70%);border:1px solid #7e3940;color:#e8b7a9;line-height:2.2;letter-spacing:.2em}#coffee-image small{font-size:10px;letter-spacing:.1em}.coffee-offering{grid-template-columns:minmax(200px,320px) 1fr}.offering-detail{margin-top:24px;border-top:1px solid #74353f;padding-top:20px}.offering-detail summary{cursor:pointer;color:#eec9bd;padding:12px 0;letter-spacing:.08em}.offering-detail[open]{animation:offering-reveal .4s ease}.offer-price{display:grid;gap:10px;padding:20px 0;color:#f3d7ce;font-size:22px}.offer-price small,#coffee-shipping,#coffee-pending{font-size:13px;color:#ba9b9c}#coffee-buy[hidden]{display:none}@keyframes offering-reveal{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:650px){.coffee-offering{grid-template-columns:1fr}#coffee-image{max-width:320px;margin:auto}}@media(prefers-reduced-motion:reduce){.offering-detail[open]{animation:none}}
