@import url('/ui/garden/fonts.css');

:root {
  --ink: #34424e;
  --soft: #6c7a83;
  --gold: #a4795b;
  --stroke: #c6cccd;
  --garden-background: #f5f1e8;
  --garden-backdrop: url('/ui/garden/scene-light.webp');
  --garden-caption: #5c6c77;
  --garden-status: #50616b;
  --garden-footer: #697d88;
  --garden-accent: #a57753;
  --garden-rule: #71848f4a;
  --garden-hover: #6379850c;
  --garden-form: #f8f5edee;
}
html[data-color-mode="dark"] {
  --garden-background: #273440;
  --garden-backdrop: url('/ui/garden/scene.webp');
  --garden-caption: #d2d4d5;
  --garden-status: #e2ded5;
  --garden-footer: #afb8bf;
  --garden-accent: #d4aa8c;
  --garden-rule: #c0c6c240;
  --garden-hover: #e5e2d80c;
  --garden-form: #2b3944f5;
}


/* Day and night share one layout; only the visual tokens and scene change. */
.garden-scene, .garden-entry-brand, .garden-entry-intro,
.garden-waiting-letter, .envelope-art, .envelope-arrow, .garden-ticket-art { display: none; }
.ui-icon { display: inline-block; width: 18px; height: 18px; flex: none; background: currentColor; mask: var(--icon) center / contain no-repeat; }
.icon-moon { --icon: url('/ui/garden/moon.svg'); }
.icon-sun { --icon: url('/ui/garden/sun.svg'); }
.icon-sparkle { --icon: url('/ui/garden/sparkle.svg'); }
.icon-arrow { --icon: url('/ui/garden/arrow-up-right.svg'); }

html[data-color-mode] {
  --serif: 'Garden Song', 'Noto Serif SC', 'Songti SC', 'STSong', 'SimSun', serif;
}
html[data-color-mode] body::before { display: none; }
html[data-color-mode] body { isolation: isolate; }
html[data-color-mode] .garden-scene {
  display: block;
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: var(--garden-background) var(--garden-backdrop) left top / cover no-repeat;
}
html[data-color-mode] body:has(#resultView:not([hidden])) .garden-scene { display: none; }
html[data-color-mode] .sanctuary {
  max-width: 1488px;
  padding: 0 5.65% 0 7%;
}
html[data-color-mode] .site-header { height: 88px; border-color: var(--garden-rule); }
html[data-color-mode] .site-brand { gap: 17px; font-size: 30px; letter-spacing: 3px; margin-left: 12px; }
html[data-color-mode] .site-brand > span:last-child { display: flex; align-items: center; gap: 26px; }
html[data-color-mode] .site-brand small { font: 14px/1 Arial, sans-serif; letter-spacing: 4px; margin: 0; color: var(--garden-caption); }

html[data-color-mode] .quiet-seal { width: 48px; height: 48px; font-size: 33px; border-radius: 0; transform: none; color: var(--garden-accent); border-color: var(--garden-accent); background: transparent; }
html[data-color-mode] .quiet-seal::after { border-radius: 0; border-color: var(--garden-rule); }
html[data-color-mode] .header-actions { gap: 42px; color: var(--ink); margin-right: 34px; }
html[data-color-mode] #headerDate { display: none; }
html[data-color-mode] .header-actions .text-button,
html[data-color-mode] .header-actions .theme-toggle { font: 16px/1.5 var(--serif); }
html[data-color-mode] .theme-toggle { background: transparent; border-color: transparent; box-shadow: none; }
html[data-color-mode] .theme-toggle:hover { color: var(--ink); background: var(--garden-hover); }
html[data-color-mode] .header-actions .theme-toggle .ui-icon,
html[data-color-mode] .support-header-entry .ui-icon { display: none; }
html[data-color-mode] #editWish { gap: 12px; }

html[data-color-mode] .choice-view {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.19fr);
  column-gap: 42px;
  text-align: left;
  padding: 64px 0 0;
}
html[data-color-mode] .choice-intro { padding: 0 0 0 39px; grid-column: 1; grid-row: 1; }
html[data-color-mode] .eyebrow { color: var(--garden-accent); }
html[data-color-mode] .choice-intro .eyebrow { font: 17px/1.5 var(--serif); letter-spacing: 4px; }
html[data-color-mode] .choice-view h1 { font: 400 clamp(32px, 3.8vw, 56px)/1.35 var(--serif); letter-spacing: 0; margin: 18px 0 23px; white-space: nowrap; }
html[data-color-mode] .choice-view #choiceHeading em { color: var(--ink); }
html[data-color-mode] .choice-subtitle { font: 18px/1.9 var(--serif); letter-spacing: .3px; color: var(--garden-caption); }
html[data-color-mode] .choice-cards { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 27px; width: 100%; margin: 0; perspective: none; }
html[data-color-mode] .sealed-card {
  width: 100%; height: auto; aspect-ratio: 3.07;
  padding: 0; border: 1px solid #ede4d578; border-radius: 6px;
  transform: none; color: #28303a; background: #e6ded0;
  box-shadow: 0 9px 25px #111b2520; animation: gardenArrive .65s both;
  transition: transform .28s, box-shadow .28s, opacity .28s;
}
html[data-color-mode] .sealed-card:nth-child(2) { background: #b7c4d1; animation-delay: .1s; }
html[data-color-mode] .sealed-card:nth-child(3) { animation-delay: .2s; }
html[data-color-mode] .sealed-card:hover { transform: translateX(5px); box-shadow: 0 12px 32px #0b152538; }
html[data-color-mode] .sealed-card:focus-visible { transform: translateX(5px); outline: 2px solid #e9c8a6; outline-offset: 5px; }
html[data-color-mode] .sealed-card::before,
html[data-color-mode] .sealed-card::after,
html[data-color-mode] .sealed-card .back-orbit,
html[data-color-mode] .sealed-card .back-seal { display: none; }
html[data-color-mode] .envelope-art { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
html[data-color-mode] .card-corner { top: 30%; left: 49.5%; width: 6%; height: 44%; padding-top: 1%; border-right: 1px solid #3a455634; color: #303943; font: 22px/1.4 var(--serif); }
html[data-color-mode] .sealed-card .back-word { position: absolute; left: 58.5%; top: 19%; margin: 0; color: #252c35; font: 400 clamp(48px, 5.4vw, 80px)/1.2 var(--serif); }
html[data-color-mode] .sealed-card .back-bottom { left: 59%; bottom: 24%; color: #333b42; font: 17px/1.5 var(--serif); letter-spacing: 1.5px; white-space: nowrap; }
html[data-color-mode] .envelope-arrow { display: block; position: absolute; right: 6.5%; top: 46%; width: 25px; height: 25px; background: #303945; mask: url('/ui/garden/arrow-right.svg') center / contain no-repeat; }
html[data-color-mode] .choice-cards.is-choosing .sealed-card { opacity: .38; transform: none; }
html[data-color-mode] .choice-cards.is-choosing .sealed-card.is-selected { opacity: 1; transform: translateX(5px); animation: none; }
html[data-color-mode] .choice-status { grid-column: 2; display: flex; align-items: center; justify-content: center; gap: 25px; text-align: center; font: 17px/1.8 var(--serif); color: var(--garden-status); margin: 48px 0 0; letter-spacing: 2px; }
html[data-color-mode] .choice-status::before,
html[data-color-mode] .choice-status::after { content: ''; width: 55px; height: 1px; background: var(--garden-rule); flex: 0 1 55px; }
html[data-color-mode] #retryChoice { grid-column: 2; }
html[data-color-mode] .site-footer { border: 0; color: var(--garden-footer); padding: 55px 0 25px; }
html[data-color-mode] .sanctuary:has(#choiceView:not([hidden])) .site-footer { width: 52.5%; margin: 0 0 0 auto; justify-content: center; font: 12px/1.8 var(--serif); letter-spacing: 4px; }
html[data-color-mode] .sanctuary:has(#choiceView:not([hidden])) .site-footer > span:last-child { display: none; }

/* Entry shares the garden backdrop and places the form in its quiet right half. */
html[data-color-mode] .ritual-screen { background: transparent; display: block; padding: 0; scrollbar-gutter: auto; }
html[data-color-mode] .ritual-screen.is-hidden { display: none; }
html[data-color-mode] .ritual-screen:not(.is-drawing) { place-items: normal; }
html[data-color-mode] .maiden-stage { display: none; }
html[data-color-mode] .garden-entry-brand { display: flex; position: absolute; left: 7.75%; top: 24px; align-items: center; gap: 17px; font: 30px/1.4 var(--serif); letter-spacing: 3px; }
html[data-color-mode] .garden-entry-brand small { font: 14px Arial, sans-serif; letter-spacing: 4px; color: var(--garden-caption); margin-left: 7px; }
html[data-color-mode] .entry-theme-toggle { top: 27px; right: 6.5%; font: 16px var(--serif); }
html[data-color-mode] .garden-entry-intro { display: block; position: absolute; left: 9.6%; top: clamp(108px, 14.75dvh, 156px); }
html[data-color-mode] .garden-entry-intro .eyebrow { font: 17px var(--serif); letter-spacing: 4px; }
html[data-color-mode] .garden-entry-intro h1 { font: 400 clamp(40px, 5.5dvh, 58px)/1.5 var(--serif); margin: clamp(14px, 2.3dvh, 24px) 0; letter-spacing: 3px; }
html[data-color-mode] .garden-entry-intro > p:last-child { color: var(--garden-caption); font: 17px/1.9 var(--serif); }
html[data-color-mode] .ritual-card { position: relative; left: 53%; top: 0; width: min(450px, 40%); margin: 190px 0 60px; padding: 36px 36px 28px; border: 1px solid var(--garden-rule); border-radius: 8px; background: var(--garden-form); box-shadow: 0 20px 60px #0e192429; transform: none; opacity: 1; animation: gardenArrive .65s both; }
html[data-color-mode] .ritual-card .entry-kicker { font-size: 11px; margin-bottom: 16px; }
html[data-color-mode] .ritual-card h2 { font-size: 30px; font-weight: 400; margin-bottom: 26px; }
html[data-color-mode] .ritual-input { font-size: 16px; min-height: 50px; }
html[data-color-mode] .focus-label { margin-top: 23px; margin-bottom: 10px; font-size: 12px; }
html[data-color-mode] .focus-trigger { min-height: 48px; }
html[data-color-mode] .ritual-card .primary-btn { margin-top: 27px; min-height: 50px; font-size: 15px; }
html[data-color-mode] .entry-support { margin-top: 18px; }
html[data-color-mode] .lottery-stage { position: absolute; display: block; min-height: 0; text-align: center; top: 31%; left: 53%; width: min(450px,40%); margin: 0; padding: 40px 0; background: none; border: 0; box-shadow: none; }
html[data-color-mode] .lottery-stage.is-hidden { display: none; }
html[data-color-mode] .zhouyi-animation { display: none; }
html[data-color-mode] .garden-waiting-letter { display: block; width: 100%; border-radius: 6px; animation: gardenFloat 2s ease-in-out infinite; }
html[data-color-mode] .ritual-thought { color: var(--garden-status); font: 18px/1.8 var(--serif); margin-top: 32px; }

/* The answer remains a pale, tactile letter against the blue room. */
html[data-color-mode] .sanctuary:has(#resultView:not([hidden])) { max-width: 1200px; padding: 0 38px; }
html[data-color-mode] .fortune-ticket { --card: #e9e1d4; --card-ink: #303b47; --card-soft: #6b7177; --card-line: #bfc0b9; --stamp: #955f4b; border-radius: 6px; clip-path: none; box-shadow: 0 18px 48px #14202c4d; }
html[data-color-mode] .fortune-ticket[data-theme="jade"] { --card: #e0e5e5; --card-ink: #303c49; --card-soft: #626f7c; --card-line: #b4bec4; }
html[data-color-mode] .fortune-ticket[data-theme="midnight"] { --card: #c7d2dc; --card-ink: #293746; --card-soft: #596b7c; --card-line: #9baebc; --stamp: #805f48; }
html[data-color-mode] .fortune-ticket[data-theme="rose"] { --card: #e7dacf; --card-ink: #443d3b; --card-soft: #786960; --card-line: #c5b2a4; }
html[data-color-mode] .fortune-ticket::before,
html[data-color-mode] .ticket-grain,
html[data-color-mode] .ticket-barcode,
html[data-color-mode] .ticket-art svg { display: none; }
html[data-color-mode] .ticket-art { height: auto; margin: 18px -30px 24px; aspect-ratio: 3.07; }
html[data-color-mode] .garden-ticket-art { display: block; width: 100%; height: 100%; object-fit: cover; }
html[data-color-mode] .vertical-note { display: none; }
html[data-color-mode] .ticket-title h2 { font-weight: 400; }
html[data-color-mode] .journey-panel { padding: 8px 0; }
html[data-color-mode] .wisdom-wrap p { animation: none; }
html[data-color-mode] .support-seal { margin: auto; }

@keyframes gardenArrive { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: 0 0; } }
@keyframes gardenFloat { 50% { transform: translateY(-8px); } }

/* Keep the artwork's empty upper area when a desktop window gets shorter.
   Cropping from the bottom used to lift the character behind the entry copy. */
@media (min-width: 781px) {
  html[data-color-mode] .garden-scene { min-height: 900px; }
}
@media (min-width: 1600px) {
  html[data-color-mode] .sanctuary { padding: 0 70px; }
  html[data-color-mode] .garden-scene { background-size: auto 100%; }
}
@media (max-width: 1199px) and (min-width: 781px) {
  html[data-color-mode] .garden-scene { background-position: left -70px top; }
  html[data-color-mode] .sanctuary { padding: 0 5%; }
  html[data-color-mode] .choice-view { gap: 28px; grid-template-columns: .88fr 1.12fr; }
  html[data-color-mode] .choice-intro { padding-left: 0; }
  html[data-color-mode] .choice-view h1 { font-size: 3.5vw; }
  html[data-color-mode] .choice-subtitle { font-size: 14px; }
  html[data-color-mode] .card-corner { font-size: 17px; }
  html[data-color-mode] .sealed-card .back-bottom { font-size: 12px; letter-spacing: .6px; bottom: 21%; }
  html[data-color-mode] .sealed-card .back-word { font-size: 56px; top: 16%; }
  html[data-color-mode] .header-actions { gap: 20px; }
  html[data-color-mode] .site-brand small { display: none; }
  html[data-color-mode] .choice-status { padding: 8px; background: var(--garden-background); border-radius: 4px; }
}
@media (max-width: 780px) {
  html[data-color-mode] .garden-scene { background-size: auto max(100dvh, 760px); background-position: left -80px top; opacity: .75; }
  html[data-color-mode] .sanctuary,
  html[data-color-mode] .sanctuary:has(#resultView:not([hidden])) { padding: 0 22px; }
  html[data-color-mode] .site-header { height: 80px; gap: 12px; }
  html[data-color-mode] .site-brand { font-size: 20px; gap: 10px; letter-spacing: 2px; margin-left: 0; }
  html[data-color-mode] .site-brand small,
  html[data-color-mode] .garden-entry-brand small { display: none; }
  html[data-color-mode] .quiet-seal { width: 34px; height: 38px; font-size: 25px; }
  html[data-color-mode] .header-actions { gap: 15px; margin-right: 0; }
  html[data-color-mode] .header-actions .text-button,
  html[data-color-mode] .header-actions .theme-toggle { font-size: 12px; }
  html[data-color-mode] #editWish .ui-icon { display: none; }
  html[data-color-mode] .choice-view { display: flex; flex-direction: column; padding-top: 36px; }
  html[data-color-mode] .choice-intro { padding: 0; }
  html[data-color-mode] .choice-intro .eyebrow { font-size: 12px; letter-spacing: 3px; }
  html[data-color-mode] .choice-view h1 { font-size: clamp(29px, 6.7vw, 44px); margin: 17px 0 16px; line-height: 1.5; }
  html[data-color-mode] .choice-subtitle { font: 12px/1.9 var(--sans); }
  html[data-color-mode] .choice-cards { width: 100%; margin-top: 33px; gap: 16px; }
  html[data-color-mode] .sealed-card { aspect-ratio: 2.8; }
  html[data-color-mode] .envelope-art { object-position: center; }
  html[data-color-mode] .card-corner { left: 48%; font-size: 14px; top: 27%; height: 49%; }
  html[data-color-mode] .sealed-card .back-word { font-size: clamp(38px, 9vw, 62px); top: 15%; left: 58%; }
  html[data-color-mode] .sealed-card .back-bottom { font-size: clamp(10px, 2.1vw, 14px); left: 58%; bottom: 20%; top: auto; right: auto; writing-mode: horizontal-tb; letter-spacing: .4px; }
  html[data-color-mode] .envelope-arrow { width: 19px; height: 19px; right: 6%; top: 35%; }
  html[data-color-mode] .choice-status { font-size: 12px; gap: 13px; margin: 28px 0 0; padding: 8px 0; max-width: none; letter-spacing: 1px; background: var(--garden-background); border-radius: 4px; }
  html[data-color-mode] .choice-status::before,
  html[data-color-mode] .choice-status::after { flex-basis: 28px; }
  html[data-color-mode] .sanctuary:has(#choiceView:not([hidden])) .site-footer { width: 100%; padding: 30px 0 24px; font-size: 10px; letter-spacing: 2px; }
  html[data-color-mode] .garden-entry-brand { left: 24px; top: 24px; font-size: 22px; gap: 12px; }
  html[data-color-mode] .entry-theme-toggle { right: 20px; top: 23px; font-size: 13px; }
  html[data-color-mode] .garden-entry-intro { position: relative; left: auto; top: auto; margin: 122px 28px 0; }
  html[data-color-mode] .garden-entry-intro .eyebrow { font-size: 12px; }
  html[data-color-mode] .garden-entry-intro h1 { font-size: 38px; margin: 15px 0 10px; }
  html[data-color-mode] .garden-entry-intro h1 br { display: none; }
  html[data-color-mode] .garden-entry-intro > p:last-child { font-size: 13px; }
  html[data-color-mode] .garden-entry-intro > p:last-child br { display: none; }
  html[data-color-mode] .ritual-card { left: auto; width: auto; margin: 34px 22px 36px; padding: 26px 24px; background: var(--garden-form); }
  html[data-color-mode] .ritual-card h2 { font-size: 25px; margin-bottom: 18px; }
  html[data-color-mode] .ritual-card .entry-kicker { margin-bottom: 12px; }
  html[data-color-mode] .lottery-stage { left: 8%; width: 84%; top: 43%; }
  html[data-color-mode] .ticket-art { margin-left: -23px; margin-right: -23px; }
  html[data-color-mode] .result-heading h1 { font-size: 26px; }
  html[data-color-mode] .edition-chip { letter-spacing: 1px; }
}
@media (max-width: 420px) {
  html[data-color-mode] .garden-entry-intro h1 br { display: initial; }
  html[data-color-mode] .site-brand { font-size: 18px; gap: 8px; }
  html[data-color-mode] .header-actions { gap: 12px; }
  html[data-color-mode] .header-actions .theme-toggle { min-width: 28px; padding: 0; }
  html[data-color-mode="dark"] .header-actions .theme-toggle .theme-sun,
  html[data-color-mode="light"] .header-actions .theme-toggle .theme-moon { display: inline-block; width: 16px; height: 16px; }
  html[data-color-mode] .header-actions .theme-toggle [data-theme-label] { display: none; }
  html[data-color-mode] .support-header-entry { min-width: auto; padding: 8px 0; }
  html[data-color-mode] .choice-subtitle { letter-spacing: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-color-mode] .sealed-card,
  html[data-color-mode] .garden-waiting-letter,
  html[data-color-mode] .ritual-card { animation: none; transition: none; }
}

/* Light mode changes materials without changing element geometry. */
html[data-color-mode="light"] .ritual-screen { color: var(--ink); }
html[data-color-mode="light"] .ritual-card { color: var(--ink); }
html[data-color-mode="light"] :is(.ritual-input, .focus-trigger, .focus-menu) { background: #fffdf8; border-color: #c6cacc; color: var(--ink); }
html[data-color-mode="light"] .ritual-input::placeholder { color: #7a878e; }
html[data-color-mode="light"] .ritual-card .entry-kicker,
html[data-color-mode="light"] .entry-support { color: #947353; }
html[data-color-mode="light"] :is(.ritual-card .primary-btn, .solid-button, .support-return) { background: #526775; border-color: #526775; color: #fffaf0; }
html[data-color-mode="light"] :is(.ritual-card .primary-btn:hover, .solid-button:hover, .support-return:hover) { background: #3d5362; border-color: #3d5362; }
html[data-color-mode="light"] .site-footer a { color: var(--soft); }
html[data-color-mode="light"] :is(.channel-note, .reward-topic, .reward-card small, .reward-switcher > label, .reward-navigation > span, .play-note, .source-status, .wish-context > p:last-child, .support-gratitude, .support-payment-hint) { color: #63747e; }
html[data-color-mode="light"] .channel-cell { color: #657681; border-color: #c2ccd0; }
html[data-color-mode="light"] .channel-cell.is-lucky { color: #fff9ee; background: #596f7d; border-color: #596f7d; }
html[data-color-mode="light"] .focus-tags span { color: #516773; background: #eaf0f0; border-color: #c3d0d3; }
html[data-color-mode="light"] .reward-card { background: #faf7f0; border-color: #cbd1cf; }
html[data-color-mode="light"] .reward-select-row select { color: var(--ink); border-color: #c2ccd0; }

/* Reading sizes are shared, including mobile. Supporting copy stays legible. */
html[data-color-mode] :is(.channel-note, .reward-topic, .wish-context > p:last-child, .little-ritual p:last-child) { font-size: 13px; line-height: 1.9; }
html[data-color-mode] :is(.reward-switcher > label, .reward-card small, .reward-card-top, .reward-card-top a, .reward-navigation > span, .play-note, .source-status, .mini-label) { font-size: 12px; line-height: 1.8; }
html[data-color-mode] :is(.reward-select-row select, .reward-navigation button) { font-size: 13px; }
html[data-color-mode] .reward-select-row > span { font-size: 12px; }
html[data-color-mode] .reward-card h3 { font-size: 20px; line-height: 1.7; }
html[data-color-mode] .panel-section-title h2 { font-size: 21px; }
html[data-color-mode] .panel-section-title > span { font-size: 12px; }
html[data-color-mode] .focus-tags span { font-size: 13px; padding: 5px 11px; }
html[data-color-mode] .story { font-size: 16px; line-height: 2; }
html[data-color-mode] :is(.ticket-topline, .ticket-topline span:last-child, .ticket-footer) { font-size: 11px; line-height: 1.8; letter-spacing: .6px; }
html[data-color-mode] :is(.ticket-title > p, .ticket-person, .ticket-person > span:last-child, .ticket-reading .mini-label, .scratch-caption, .scratch-caption button, .scratch-answer small, .scratch-prompt small) { font-size: 12px; line-height: 1.8; }
html[data-color-mode] .ticket-person > span:last-child { letter-spacing: 0; }
html[data-color-mode] .scratch-answer small { letter-spacing: 2px; }
html[data-color-mode] .scratch-prompt small { letter-spacing: 1px; }
html[data-color-mode] .wisdom-label { font-size: 11px; letter-spacing: 3px; }
html[data-color-mode] .wisdom-wrap p { font-size: 18px; }
html[data-color-mode] :is(.result-actions-bar .solid-button, .result-actions-bar .outline-button, .result-actions-bar .text-button, .support-afterword, .support-afterword button) { font-size: 13px; }
html[data-color-mode] :is(.ritual-card .entry-note, .entry-support, .focus-label small, .entry-error) { font-size: 12px; line-height: 1.8; }
html[data-color-mode] :is(.history-row small, .history-footnote, .support-payment-hint, .support-save, .support-gratitude, .support-pledge, .support-payment-status) { font-size: 12px; line-height: 1.8; }
html[data-color-mode] .reward-navigation { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; }
html[data-color-mode] .reward-navigation > span { display: block; }
html[data-color-mode] .fortune-ticket { padding: 27px 30px 21px; }

@media (max-width: 900px) {
  html[data-color-mode] .reward-navigation { grid-template-columns: 1fr 1fr; row-gap: 0; }
  html[data-color-mode] .reward-navigation > span { grid-column: 1 / -1; grid-row: 2; }
  html[data-color-mode] .reward-navigation button:last-child { justify-self: end; }
}
@media (max-width: 780px) {
  html[data-color-mode] .fortune-ticket { padding: 22px 24px 20px; }
  html[data-color-mode] .ticket-art { margin-left: -24px; margin-right: -24px; }
  html[data-color-mode] .sealed-card .back-bottom { font-size: 12px; letter-spacing: 0; left: 56%; }
  html[data-color-mode] .sealed-card .back-word { left: 56%; }
  html[data-color-mode] .card-corner { left: 47%; }
  html[data-color-mode] .scratch-caption { flex-wrap: wrap; }
  html[data-color-mode] .ticket-footer { flex-wrap: wrap; }
  html[data-color-mode] .play-note { padding-left: 0; }
}
@media (max-width: 380px) {
  html[data-color-mode] .sealed-card .back-bottom { width: 38%; white-space: normal; text-wrap: balance; bottom: 10%; font-size: 12px; }
  html[data-color-mode] .sealed-card .back-word { font-size: 34px; top: 10%; }
}
