:root{color-scheme:light;--ink:#263e37;--muted:#637269;--paper:#faf8f1;--line:#dedfd1;--green:#294b3d}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}.site-header{max-width:1200px;margin:auto;padding:30px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:25px;text-decoration:none;color:var(--ink)}.brand span{color:#977639;margin-right:8px}.language{font-size:12px;color:var(--muted)}.language span{margin-left:10px}.hero{text-align:center;padding:66px 20px 48px;background:radial-gradient(ellipse at 50% 55%,#edeedc80,transparent 66%)}.eyebrow{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;font-weight:700}.eyebrow span{color:#9a7d40;margin-right:8px}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,5vw,60px);line-height:1.13;font-weight:400;letter-spacing:-1.8px;max-width:680px;margin:24px auto}.intro{max-width:450px;margin:0 auto;color:var(--muted);font-size:15px;line-height:1.8}.fortune-card{max-width:510px;margin:38px auto 0;padding:22px 32px 30px;background:#fffefa;border:1px solid #d9dbc8;border-radius:160px 160px 12px 12px;box-shadow:0 12px 35px #263e3707}.card-top{margin:8px 30px 0;display:flex;justify-content:center;gap:14px;font-size:10px;letter-spacing:1px;color:var(--muted)}.fortune-symbol{font-family:Georgia,serif;font-size:86px;line-height:1.2;color:#a28a51;margin:23px 0 14px}.fortune-card h2{font:400 25px/1.4 Georgia,serif;max-width:280px;margin:0 auto 26px}button{border:0;border-radius:6px;padding:17px 26px;background:var(--green);color:#fff;font-size:14px;cursor:pointer;font-weight:600}button:hover{background:#1a392c}button:focus-visible,a:focus-visible{outline:3px solid #b89242;outline-offset:5px}button span{margin-left:20px}.card-note{font-size:11px;color:var(--muted);margin-top:19px}.reset{font-size:11px;color:var(--muted);margin:20px 0 0}blockquote{font:400 29px/1.45 Georgia,serif;margin:20px 0 24px;overflow-wrap:anywhere}.rarity{display:inline-block;border:1px solid #cfd7c7;border-radius:20px;padding:7px 12px;font-size:10px;letter-spacing:.5px;background:#f1f4ed}.rarity-rare{background:#f7efd9;border-color:#dbbe75}.rarity-uncommon{background:#eeebf5;border-color:#d4cce2}.tomorrow{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font-size:12px}.ritual{max-width:980px;margin:0 auto;padding:38px 40px 62px;border-top:1px solid var(--line)}.ritual>.eyebrow{text-align:center;margin-bottom:35px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.step-number{font:italic 24px Georgia,serif;color:#9a8b68}.steps h2{font:400 21px Georgia,serif;margin:14px 0 10px}.steps p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}footer{border-top:1px solid var(--line);text-align:center;padding:28px 24px 34px;color:var(--muted)}footer p:not(.footer-brand){max-width:600px;margin:14px auto;font-size:11px;line-height:1.7}.footer-brand{font:18px Georgia,serif;color:var(--ink)}footer small{font-size:10px}.notice{font-size:13px;line-height:1.6;color:#805d25}@media(max-width:600px){.site-header{padding:22px}.brand{font-size:21px}.hero{padding-top:42px}h1{letter-spacing:-1px}.fortune-card{padding:22px 24px 28px}.steps{grid-template-columns:1fr;gap:27px}.ritual{padding:32px 28px 42px}.fortune-symbol{font-size:72px}.card-top{margin-left:24px;margin-right:24px;font-size:9px}blockquote{font-size:26px}}
.rarity-rare{background:#e6eff9;border-color:#adc7e3}.rarity-epic{background:#eee5fa;border-color:#c9a9e5}.rarity-mythical{background:#fae4ec;border-color:#e7a9c0}.rarity-legendary{background:#fff0c6;border-color:#d6af49}

/* Shared design switch. Classic retains the original layout and palette. */
.header-options { display: flex; align-items: center; gap: 24px; }
.theme-picker { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 12px; }
.theme-picker[hidden] { display: none; }
.theme-picker select { min-height: 44px; padding: 10px 28px 10px 14px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); color: var(--ink); font: inherit; font-size: 14px; cursor: pointer; }
.theme-picker select:focus-visible { outline: 3px solid #a27636; outline-offset: 3px; }
.blossom-decoration { display: none; }

/* Blossom: rose paper, botanical details, and soft rounded shapes. */
:root[data-theme="blossom"] { --ink: #573344; --muted: #7b5c6b; --paper: #fff8f8; --line: #edd7df; --green: #963e68; }
[data-theme="blossom"] body { background: linear-gradient(160deg, #fff9f7, #fff3f7 65%, #f7eff9); }
[data-theme="blossom"] .site-header { border-bottom-color: #ead2db; }
[data-theme="blossom"] .brand span { color: #b96787; }
[data-theme="blossom"] .hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 50% 48%, #f7d9e780, transparent 65%); }
[data-theme="blossom"] .eyebrow { color: #8b4765; }
[data-theme="blossom"] .eyebrow span { color: #b66c8b; }
[data-theme="blossom"] h1 { font-style: italic; }
[data-theme="blossom"] .fortune-card { position: relative; background: linear-gradient(150deg, #fffefd, #fff8fb); border: 1px solid #e5bdce; border-radius: 140px 140px 28px 28px; box-shadow: 0 18px 60px #a24b7010, inset 0 0 0 7px #ffffff90; }
[data-theme="blossom"] .fortune-symbol { color: #b97793; }
[data-theme="blossom"] button { border-radius: 28px; background: #e7b4bd; color: #573344; box-shadow: 0 5px 16px #b9788b26; }
[data-theme="blossom"] button:hover { background: #dca0ad; }
[data-theme="blossom"] .step-number { color: #a75b7b; }
[data-theme="blossom"] .ritual { border-top-color: #e9ced9; }
[data-theme="blossom"] .steps article { padding: 22px; border: 1px solid #eed9e2; border-radius: 22px; background: #fffafbcc; }
[data-theme="blossom"] .rarity { color: #493947; }
[data-theme="blossom"] .blossom-decoration { display: block; position: absolute; z-index: -1; width: clamp(100px, 17vw, 220px); color: #d894b2; pointer-events: none; }
[data-theme="blossom"] .blossom-decoration svg { display: block; width: 100%; }
[data-theme="blossom"] .flower-left { top: 26%; left: max(1%, calc(50% - 530px)); transform: rotate(-20deg); }
[data-theme="blossom"] .flower-right { top: 44%; right: max(1%, calc(50% - 530px)); transform: rotate(24deg) scaleX(-1); color: #c5a0d0; }
@media (max-width: 700px) {
    .site-header { flex-wrap: wrap; gap: 18px; }
    .header-options { gap: 16px; }
    [data-theme="blossom"] .blossom-decoration { width: 95px; opacity: .45; }
    [data-theme="blossom"] .flower-left { top: 4%; left: -32px; }
    [data-theme="blossom"] .flower-right { top: 24%; right: -36px; }
    [data-theme="blossom"] .steps { gap: 16px; }
}
@media (max-width: 400px) {
    .header-options { width: 100%; justify-content: space-between; }
}

.language-picker select { width: auto; min-height: 44px; padding: 10px 28px 10px 14px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); color: var(--ink); font: 14px Arial, sans-serif; cursor: pointer; }
.timezone-picker { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 12px; color: var(--muted); }
.timezone-picker select { max-width: 190px; min-height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); color: var(--ink); font: 14px Arial, sans-serif; }
.header-options { flex-wrap: wrap; }
@media(max-width: 850px) { .site-header { flex-wrap: wrap; gap: 18px; } }
