@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;600&family=Noto+Sans+TC:wght@400;500&display=swap');
:root{--paper:#efe0b2;--light:#f8f0d8;--ink:#2b2c23;--muted:#776d50;--gold:#cfac5c;--yellow:#e7c15a;--dark:#23271f;--line:#9a87573d;--serif:'Noto Serif TC',serif;--sans:'Noto Sans TC',sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.9 var(--sans)}button,input,textarea,select{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none}button:disabled{cursor:default}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #a58a40;outline-offset:4px}.header{height:94px;max-width:1200px;margin:auto;padding:0 42px;display:flex;align-items:center;justify-content:space-between}.wordmark{display:flex;gap:12px;align-items:center;font-family:var(--serif);font-size:21px;letter-spacing:3px}.wordmark>span{font:42px Georgia,serif}.wordmark small{font:8px Georgia,serif;letter-spacing:4px;display:block;margin-top:2px}.header-tools{display:flex;align-items:center;gap:27px;font-size:11px;color:var(--muted)}#sound{font-size:23px;padding:8px}main{min-height:calc(100svh - 161px)}footer{max-width:1116px;margin:auto;min-height:67px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}footer button{font-size:10px;padding:10px}.landing{min-height:calc(100svh - 161px);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 24px 50px;background:radial-gradient(ellipse at 50% 40%,#e4bd4c36,transparent 55%);position:relative}.eyebrow{font:9px Georgia,serif;letter-spacing:3px;color:#9b7f3f}.landing .eyebrow{margin-top:14px}.landing h1{font-size:clamp(36px,4vw,53px);letter-spacing:5px;line-height:1.6;margin:19px 0 18px}.landing p{font-size:13px;color:var(--muted);line-height:2}.primary{display:inline-flex;justify-content:center;align-items:center;gap:45px;min-height:54px;background:var(--ink);color:var(--light);padding:13px 35px;letter-spacing:3px;font-size:14px;transition:.2s;border:1px solid var(--ink)}.primary:hover{background:#444532;transform:translateY(-1px)}.landing .primary{margin-top:28px;min-width:220px}.sun-emblem{width:220px;height:220px;position:relative}.sun-emblem svg{width:100%;height:100%;animation:enterSeal 1.5s both}.sun-emblem:before{content:'';position:absolute;inset:5px;border-radius:50%;box-shadow:0 0 70px #e8bc4536;animation:breathe 5s infinite ease-in-out}.petal{transform-origin:110px 110px;animation:orbit 100s linear infinite}.flow{max-width:630px;padding:25px 25px 65px;margin:auto;animation:appear .45s both}.back{color:var(--muted);font-size:11px;padding:8px 0}.form-heading{margin:15px 0 27px}.form-heading h1{font-size:32px;letter-spacing:3px;margin:8px 0}.form-heading p{font-size:12px;color:var(--muted)}.topic-tabs{display:flex;gap:10px;margin-bottom:20px}.topic-tab{font-size:13px;padding:7px 16px;border-bottom:1px solid transparent;color:var(--muted)}.topic-tab[aria-pressed=true]{border-bottom-color:var(--ink);color:var(--ink)}textarea{width:100%;height:104px;border:1px solid #a38d514d;background:#f8f1dc80;resize:vertical;min-height:90px;max-height:220px;padding:15px 17px;line-height:1.8;font-size:15px;border-radius:3px}textarea::placeholder{color:#9a8d6a}.presets{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.presets button{font-size:11px;color:#7c6b3f;padding:3px 0;border-bottom:1px dotted #b9a165}.field-label{display:block;font-size:12px;letter-spacing:1px;margin-bottom:9px}.context-field{margin-top:20px}.context-field label{font-size:12px;color:var(--muted);display:block;margin-bottom:8px}.context-field select{width:100%;border:1px solid var(--line);background:var(--light);padding:9px 12px;font-size:13px;min-height:45px;border-radius:2px}.personal{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:25px 0}.personal summary{cursor:pointer;font-size:12px;list-style:none;display:flex;justify-content:space-between;color:#766440}.personal summary::-webkit-details-marker{display:none}.personal summary:after{content:'＋';font-size:15px}.personal[open] summary:after{content:'−'}.personal-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.personal-fields label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.personal-fields input,.personal-fields select,.choice-input{width:100%;min-width:0;border:1px solid #a38d514d;background:#f8f1dc80;padding:10px 12px;min-height:43px;font-size:13px;border-radius:2px}.personal-fields>div:first-child{grid-column:1/-1}.personal-note{font-size:10px;color:var(--muted);margin-top:12px}.methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.method{border:1px solid var(--line);padding:16px 7px 12px;text-align:center;transition:.2s;border-radius:3px}.method[aria-pressed=true]{border-color:#887341;background:#e1bf5c26}.method-symbol{display:flex;height:30px;align-items:center;justify-content:center;gap:4px;margin-bottom:9px}.method-symbol i{display:block;width:12px;height:24px;border:1px solid #9c8144}.method-symbol i:nth-child(2){transform:translateY(-3px)}.method strong{font-size:12px;font-weight:400;display:block}.method small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.choice-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.choice-fields label{font-size:11px;display:block;margin-bottom:5px}.form-error{font-size:12px;color:#8b3e28;margin:14px 0 0;line-height:1.8}.form-submit{width:100%;margin-top:25px}.subnote{font-size:10px;color:var(--muted);text-align:center;margin-top:11px}.night{background:var(--dark);color:var(--light);min-height:calc(100svh - 161px);padding:25px 24px 45px;position:relative;overflow:hidden}.night:before{content:'';position:absolute;width:640px;height:640px;top:40px;left:50%;transform:translateX(-50%);border:1px solid #c5a25913;border-radius:50%;pointer-events:none}.night .back{color:#b9a77f}.night-top{max-width:900px;margin:auto;display:flex;justify-content:space-between;align-items:center}.quiet-step{font-size:10px;letter-spacing:2px;color:#b9a77f}.selection-head{text-align:center;margin:40px auto 0;position:relative}.selection-head h1{font-size:29px;letter-spacing:3px;margin:13px 0 10px}.selection-head p{font-size:12px;color:#b7ac8e}.selected-slots{display:flex;justify-content:center;gap:20px;margin:27px 0 10px}.selected-slot{width:40px;height:64px;border:1px solid #c1a66755;display:grid;place-items:center;font:14px Georgia,serif;color:#b8a274;border-radius:2px;transition:.4s}.selected-slot.filled{background:#b49c5120;border-color:#d6b974;animation:slotIn .45s}.selected-slot svg{height:100%;width:100%}.fan{height:265px;position:relative;max-width:750px;margin:5px auto 0;--spread:76px}.draw-card{position:absolute;top:20px;left:50%;width:110px;aspect-ratio:220/360;padding:0;background:#24271f;border:1px solid #bda06299;border-radius:6px;box-shadow:5px 12px 25px #0004;transform:translateX(calc(-50% + var(--i)*var(--spread))) translateY(var(--y)) rotate(var(--r));transition:transform .4s,opacity .35s,filter .35s;transform-origin:center 140%;overflow:hidden;animation:unfurl .9s both;animation-delay:calc(var(--order)*45ms)}.draw-card svg{width:100%;height:100%;display:block}.draw-card.chosen{opacity:0!important;pointer-events:none;transform:translateX(calc(-50% + var(--i)*var(--spread))) translateY(-80px) rotate(var(--r))!important}.draw-card:disabled:not(.chosen){opacity:.6}.night-action{text-align:center;position:relative;min-height:55px}.primary.gold{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.primary.gold:disabled{opacity:.35;transform:none}.night-action p{font-size:11px;color:#c2b28d}.ceremony{min-height:530px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative}.ceremony h1{font-size:27px;letter-spacing:3px;margin:20px 0 10px}.ceremony p{font-size:12px;color:#bdb095}.ceremony-visual{width:270px;height:270px;position:relative;display:grid;place-items:center;margin-bottom:15px}.ritual-ring{position:absolute;inset:7px;border:1px solid #c8ab633d;border-radius:50%;animation:breathe 3s ease-in-out infinite}.ritual-ring:after{content:'';position:absolute;inset:18px;border:1px dashed #c8ab6330;border-radius:50%;animation:orbit 40s linear infinite}.shuffling-card{position:absolute;width:102px;height:167px;border:1px solid #c9ac66;border-radius:4px;background:var(--dark);animation:shuffle 1.7s ease-in-out infinite;--side:1}.shuffling-card:nth-child(3){--side:-1;animation-delay:.12s}.shuffling-card:nth-child(4){animation:breathe 3s ease-in-out infinite}.shuffling-card svg{width:100%;height:100%}.skip-ritual{font-size:11px;color:#bca46a;border-bottom:1px solid #bca46a55;padding:3px;margin-top:27px}.symbol-core{font:55px Georgia,serif;color:#dec17c;animation:breathe 2.5s infinite}.orbit-card{position:absolute;width:63px;height:103px;border:1px solid #c9ac6670;left:50%;top:50%;border-radius:4px;background:var(--dark);overflow:hidden;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-100px) rotate(calc(var(--angle)*-1))}.orbit-card svg{width:100%;height:100%}.reveal-mini{display:flex;gap:18px;justify-content:center;margin:38px 0 15px;perspective:1200px}.reveal-piece{width:95px;aspect-ratio:220/360;animation:turnCard .95s both;animation-delay:calc(var(--n)*.35s)}.reveal-piece svg{width:100%;height:100%;display:block}.answer-page{max-width:680px;margin:auto;padding:40px 30px 60px;animation:appear .6s both}.answer-date{font:10px Georgia,serif;letter-spacing:2px;color:#9b834a}.answer-page .question{font-size:12px;line-height:1.9;color:var(--muted);margin:21px 0 15px}.answer-page h1{font-size:31px;letter-spacing:2px;line-height:1.65;margin-bottom:21px}.answer-copy{font-size:15px;line-height:2.1;margin-bottom:27px}.next-action{border-left:2px solid #b89b50;padding:3px 0 3px 20px;margin:24px 0}.next-action span{font-size:10px;letter-spacing:2px;color:#9b834a;display:block;margin-bottom:6px}.next-action p{font-size:14px;line-height:2}.watch{font-size:12px;line-height:1.9;color:var(--muted);margin-top:22px}.watch b{font-weight:400;color:#77643c}.more{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.more>summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;font-size:12px;color:#78643b}.more>summary::-webkit-details-marker{display:none}.more>summary:after{content:'＋'}.more[open]>summary:after{content:'−'}.more-content{padding-top:20px}.more-content h3{font-size:15px;letter-spacing:1px;margin:19px 0 6px}.more-content p{font-size:12px;line-height:2;color:#766e57}.meaning-item{display:grid;grid-template-columns:56px 1fr;gap:15px;margin:22px 0;align-items:start}.meaning-card svg{width:56px;height:auto;display:block}.meaning-item h3{margin:0 0 5px;font-size:13px}.meaning-item p{font-size:11px;line-height:1.9}.answer-actions{display:flex;gap:22px;align-items:center;justify-content:space-between;margin-top:27px}.answer-actions .primary{font-size:12px;min-height:48px;padding:10px 22px;letter-spacing:1px;gap:15px}.link-button{font-size:11px;color:var(--muted);padding:6px 0;border-bottom:1px solid var(--line)}.history-page{max-width:650px;margin:auto;padding:40px 25px 70px}.history-page h1{font-size:30px;letter-spacing:3px;margin:15px 0}.history-note{font-size:11px;color:var(--muted);margin-bottom:25px}.history-item{padding:23px 0;border-bottom:1px solid var(--line)}.history-item small{font-size:10px;color:var(--muted)}.history-item h2{font-size:19px;margin:7px 0}.history-item p{font-size:12px;color:var(--muted);margin:8px 0}.history-item>div{display:flex;gap:24px;margin-top:10px}.empty{padding:55px 0;text-align:center}.empty p{font-size:13px;color:var(--muted);margin-bottom:25px}dialog{max-width:640px;width:calc(100% - 36px);max-height:86svh;overflow:auto;border:1px solid #bba160;padding:40px;background:var(--light);color:var(--ink)}dialog::backdrop{background:#1d221aaa;backdrop-filter:blur(5px)}#close-modal{position:absolute;top:7px;right:13px;font-size:27px}dialog h2{font-size:25px;margin-bottom:20px}dialog h3{font-size:17px;margin:22px 0 8px}dialog p{font-size:13px;line-height:2}#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--dark);color:var(--light);padding:12px 23px;font-size:12px;max-width:90vw;opacity:0;pointer-events:none;z-index:20;transition:opacity .2s}#toast.show{opacity:1}.skip{position:absolute;top:-60px;padding:10px;background:var(--light);z-index:20}.skip:focus{top:0}.unsupported{background:#e8cb7b33;padding:12px 14px;margin-top:14px;font-size:12px;color:#6f5a29}.unsupported button{font-size:11px;border-bottom:1px solid #ac8a38;margin:8px 12px 0 0;padding:0}.privacy-line{font-size:10px;color:var(--muted);margin-top:20px}.profile-mark{font-size:10px;color:#a08442;letter-spacing:2px;margin-bottom:15px}
@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes enterSeal{from{opacity:0;transform:scale(.9) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes breathe{0%,100%{opacity:.55}50%{opacity:1}}@keyframes shuffle{0%,100%{transform:translateX(0) rotate(0)}45%{transform:translateX(calc(var(--side)*60px)) rotate(calc(var(--side)*15deg))}75%{transform:translateX(calc(var(--side)*-12px)) rotate(calc(var(--side)*-5deg))}}@keyframes unfurl{from{opacity:0;transform:translateX(-50%) translateY(30px) rotate(0)}to{opacity:1}}@keyframes slotIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes turnCard{from{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}
@media(hover:hover){.draw-card:hover:not(:disabled){transform:translateX(calc(-50% + var(--i)*var(--spread))) translateY(calc(var(--y) - 22px)) rotate(var(--r));filter:brightness(1.18);z-index:9}}
@media(max-width:700px){body{font-size:14px}.header{height:79px;padding:0 24px}.wordmark{font-size:18px;letter-spacing:2px;gap:9px}.wordmark>span{font-size:36px}.wordmark small{font-size:7px;letter-spacing:3px}.header-tools{gap:14px;font-size:10px}main,.landing,.night{min-height:calc(100svh - 139px)}footer{margin:0 23px;min-height:60px;font-size:9px}.landing{padding:8px 22px 35px}.sun-emblem{width:190px;height:190px}.landing h1{font-size:37px;letter-spacing:4px;margin:17px 0}.landing p{font-size:12px}.landing .primary{margin-top:26px;min-width:195px}.flow{padding:14px 24px 45px}.form-heading{margin:10px 0 20px}.form-heading h1{font-size:27px}.form-heading p{font-size:11px}.topic-tabs{gap:7px}.topic-tab{padding:6px 14px;font-size:12px}textarea{font-size:14px}.personal{margin:22px 0}.methods{gap:7px}.method{padding:13px 5px 10px}.method strong{font-size:11px}.method small{font-size:9px}.choice-fields{grid-template-columns:1fr}.night{padding:15px 18px 35px}.selection-head{margin-top:30px}.selection-head h1{font-size:26px}.fan{--spread:clamp(27px,9vw,40px);height:227px;max-width:370px;margin-top:15px}.draw-card{width:76px;top:13px}.selected-slots{margin-top:23px}.selected-slot{width:34px;height:55px}.ceremony{min-height:480px}.ceremony h1{font-size:23px;letter-spacing:2px}.ceremony p{font-size:11px}.ceremony-visual{width:240px;height:240px}.answer-page{padding:29px 26px 40px}.answer-page h1{font-size:27px;letter-spacing:1px;line-height:1.65;margin-bottom:19px}.answer-copy{font-size:14px;line-height:2.1;margin-bottom:22px}.answer-page .question{font-size:11px;margin:17px 0 13px}.next-action{padding-left:16px;margin:20px 0}.next-action p{font-size:13px}.watch{font-size:11px;margin-top:18px}.more{margin-top:23px}.answer-actions{gap:15px;margin-top:23px}.answer-actions .primary{font-size:11px;min-height:44px}.reveal-mini{gap:15px;margin:28px 0 12px}.reveal-piece{width:77px}.history-page{padding-top:23px}dialog{padding:38px 26px 30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.draw-card{opacity:1}.reveal-piece{opacity:1;transform:none}}

main:focus{outline:none}.selection-head{max-width:690px}.selection-head h1{overflow-wrap:anywhere}.draw-card:focus-visible{z-index:10;outline:3px solid #f1d78f;outline-offset:5px}

.selection-head p{max-width:500px;margin:auto;overflow-wrap:anywhere}@media(min-width:701px) and (max-height:800px){.selection-head{margin-top:20px}.selected-slots{margin-top:18px}.fan{height:245px}.night{padding-bottom:28px}}

.entry-art{position:relative;width:280px;height:235px}.entry-art .sun-emblem{position:absolute;width:245px;height:245px;left:17px;top:-7px;opacity:.45}.entry-card{position:absolute;left:90px;top:43px;width:100px;height:164px;box-shadow:0 10px 20px #55472226;border-radius:5px;overflow:hidden;border:1px solid #a38a4d;animation:enterSeal 1.5s both}.entry-card svg{display:block;width:100%;height:100%}.entry-left{transform:translate(-63px,9px) rotate(-19deg);animation:none}.entry-right{transform:translate(63px,9px) rotate(19deg);animation:none}.entry-center{transform:translateY(-8px)}@media(max-width:700px){.fan{--spread:clamp(20px,7vw,30px)}.entry-art{height:220px;transform:scale(.9);transform-origin:center center}}

.reading-pulse{display:flex;gap:9px;margin-top:28px}.reading-pulse i{width:4px;height:4px;border-radius:50%;background:#d5b76d;animation:breathe 1.8s infinite}.reading-pulse i:nth-child(2){animation-delay:.3s}.reading-pulse i:nth-child(3){animation-delay:.6s}
