/* Original Oni geometry, title animation and CTA retained. */
.dohwa-cover{animation:dohwa-arrive 1.5s ease-out both}
.intro:has(.dohwa-cover) .intro-title-art{bottom:calc(20 * var(--dohwa-font-unit) + env(safe-area-inset-bottom,0px))}
@keyframes dohwa-arrive{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.dohwa-cover{animation:none}}

/* No blurred trail or overshoot: one independent, opaque landing per glyph. */
.dohwa-title:not(.is-ready){visibility:hidden}
.dohwa-title .intro-title-glyph{animation:dohwa-letter-in 360ms cubic-bezier(.16,1,.3,1) var(--glyph-delay) both;animation-play-state:paused}
.dohwa-title.is-ready .intro-title-glyph{animation-play-state:running}
.dohwa-title .intro-title-surround{animation:none}
@keyframes dohwa-letter-in{from{opacity:0;transform:translateY(28px) scale(1.08)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.dohwa-title .intro-title-glyph{animation:none}}

/* Continuous plum-kimono webtoon. Masks affect artwork only, never the text. */
.dohwa-webtoon{background:#08060a;color:#f4e5d2;padding:0 0 calc(64 * var(--dohwa-font-unit));overflow:hidden;word-break:keep-all}
.dohwa-webtoon *{box-sizing:border-box}
.dohwa-scene-art{position:relative;margin:0;width:100%;line-height:0;isolation:isolate;--scene-fade:linear-gradient(to bottom,transparent 0%,rgb(0 0 0 / .12) 2%,rgb(0 0 0 / .5) 5%,rgb(0 0 0 / .9) 8%,#000 11%,#000 72%,rgb(0 0 0 / .9) 79%,rgb(0 0 0 / .5) 89%,rgb(0 0 0 / .12) 96%,transparent 100%)}
.dohwa-scene-art img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;-webkit-mask-image:var(--scene-fade);mask-image:var(--scene-fade);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.dohwa-story-cover{position:relative;margin-bottom:calc(30 * var(--dohwa-font-unit));padding-top:calc((100% - 24px) * 440 / 2172 + 12px);background:#08060a}
.dohwa-story-cover .dohwa-scene-art img{aspect-ratio:496/864}
.dohwa-cover-art,.dohwa-setting-art{--scene-fade:linear-gradient(to bottom,transparent 0%,rgb(0 0 0 / .5) 2%,rgb(0 0 0 / .9) 4%,#000 6%,#000 72%,rgb(0 0 0 / .9) 79%,rgb(0 0 0 / .5) 89%,rgb(0 0 0 / .12) 96%,transparent 100%)}
.dohwa-cover-art .dohwa-scene-art{--scene-fade:inherit}
.dohwa-cover-art{position:relative}
.dohwa-cover-title{position:absolute;z-index:1;top:8px;left:12px;width:calc(100% - 24px);margin:0;height:auto;aspect-ratio:2172/440;line-height:0;pointer-events:none}
.dohwa-cover-title .dohwa-report-title-art{display:block;width:100%;height:100%;overflow:hidden}
.dohwa-hero-greeting{position:relative;z-index:1;margin:calc(80 * var(--dohwa-font-unit)) calc(20 * var(--dohwa-font-unit)) 0;text-align:center}
.dohwa-introduction .dohwa-type-impact{margin:0}
.dohwa-tsubaki-name{color:#e4bc8e}
.dohwa-dialogue-block{position:relative;z-index:1;padding:calc(35 * var(--dohwa-font-unit)) calc(26 * var(--dohwa-font-unit));text-align:center}
.dohwa-after-art{margin-top:calc(-50 * var(--dohwa-font-unit));padding-top:0}
.dohwa-dialogue{margin:0;font:500 calc(26 * var(--dohwa-font-unit))/1.65 var(--dohwa-font-dialogue);letter-spacing:-.035em;color:#f5e9dc;text-wrap:balance}
.dohwa-dialogue+.dohwa-dialogue{margin-top:calc(30 * var(--dohwa-font-unit))}
.dohwa-dialogue em{font-style:normal;font-weight:600;color:#eaa6ab}
/* Original Oni speech shapes: HTML ovals without tails, away from faces/hands. */
.dohwa-speech-row{position:relative;z-index:1;display:flex;padding:calc(16 * var(--dohwa-font-unit)) calc(24 * var(--dohwa-font-unit))}
.dohwa-speech-right{justify-content:flex-end}
.dohwa-speech{display:inline-block;margin:0;max-width:100%;padding:calc(30 * var(--dohwa-font-unit)) calc(32 * var(--dohwa-font-unit));border:1px solid #e3d5c3;border-radius:50%;background:#f6eadb;color:#291821;text-align:center;letter-spacing:-.035em;box-shadow:0 calc(4 * var(--dohwa-font-unit)) calc(18 * var(--dohwa-font-unit)) rgb(0 0 0 / 12%)}
.dohwa-speech em{font-style:normal;color:#842f51;font-weight:600}
.dohwa-reader-name{color:#e4bc8e;overflow-wrap:anywhere}
.dohwa-speech .dohwa-reader-name{color:#842f51}
.dohwa-book-leaf{position:relative;margin:calc(12 * var(--dohwa-font-unit)) calc(21 * var(--dohwa-font-unit)) calc(28 * var(--dohwa-font-unit));padding:calc(42 * var(--dohwa-font-unit)) calc(26 * var(--dohwa-font-unit));background:radial-gradient(ellipse at 20% 5%,#371824,transparent 75%),#1d1019;border:1px solid #69464b;box-shadow:inset 0 0 0 5px #100b10,inset 0 0 0 6px #51383d;color:#efdcc8}
.dohwa-book-leaf header{text-align:center;margin-bottom:calc(35 * var(--dohwa-font-unit))}
.dohwa-book-leaf header>span,.dohwa-eyebrow{font:500 calc(12 * var(--dohwa-font-unit))/1.6 var(--dohwa-font-dialogue);letter-spacing:.15em;color:#c49789}
.dohwa-book-leaf h2{font:600 calc(26 * var(--dohwa-font-unit))/1.5 var(--dohwa-font-reading);margin:calc(12 * var(--dohwa-font-unit)) 0 0;color:#f2d6b2}
.dohwa-reading-part+.dohwa-reading-part{margin-top:calc(26 * var(--dohwa-font-unit));padding-top:calc(24 * var(--dohwa-font-unit));border-top:1px solid rgb(206 159 115 / 22%)}
.dohwa-reading-part h3{font:500 calc(20 * var(--dohwa-font-unit))/1.6 var(--dohwa-font-reading);color:#f2dfbf;margin:0 0 calc(12 * var(--dohwa-font-unit))}
.dohwa-reading-part h3>.dohwa-reading-label{display:flex;align-items:center;gap:calc(12 * var(--dohwa-font-unit));font:500 calc(12 * var(--dohwa-font-unit))/1.5 var(--dohwa-font-dialogue);letter-spacing:2px;color:#d4a48a;margin-bottom:calc(12 * var(--dohwa-font-unit))}
.dohwa-reading-part p{margin:0}
.dohwa-book-closing{border-top:1px solid #61414a;padding-top:calc(26 * var(--dohwa-font-unit));margin:calc(30 * var(--dohwa-font-unit)) 0 0;text-align:center;font:500 calc(22 * var(--dohwa-font-unit))/1.8 var(--dohwa-font-reading);color:#edbfc0}
.dohwa-book-offer{padding:calc(38 * var(--dohwa-font-unit)) calc(28 * var(--dohwa-font-unit));text-align:center;background:linear-gradient(#08060a,#20101c 45%,#08060a)}
.dohwa-book-offer h2{font:600 calc(32 * var(--dohwa-font-unit))/1.5 var(--dohwa-font-reading);margin:calc(12 * var(--dohwa-font-unit)) 0;color:#f3dec0}
.dohwa-offer-scope{font:700 calc(16 * var(--dohwa-font-unit))/1.8 var(--dohwa-font-dialogue);color:#efdbc5;margin:calc(24 * var(--dohwa-font-unit)) 0 calc(32 * var(--dohwa-font-unit));text-wrap:balance}
.dohwa-offer-scope strong{font-weight:700}
.dohwa-chapter{text-align:left;border-bottom:1px solid #8c644138;font:500 calc(17 * var(--dohwa-font-unit))/1.7 var(--dohwa-font-reading)}
.dohwa-chapter summary{cursor:pointer}.dohwa-chapter ol{font:400 calc(15 * var(--dohwa-font-unit))/1.9 var(--dohwa-font-dialogue);padding-left:calc(26 * var(--dohwa-font-unit));color:#d3bbb0}.dohwa-chapter li+li{margin-top:calc(8 * var(--dohwa-font-unit))}
.dohwa-webtoon :focus-visible{outline:2px solid #e5c499;outline-offset:5px}
@supports not (mask-image:linear-gradient(#000,transparent)){.dohwa-scene-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#08060a 0%,transparent 12%,transparent 76%,#08060a 100%)}}

/* A short definition cut before the personal reading; no explanatory UI chrome. */
.dohwa-meaning-copy{position:relative;z-index:1;padding:0 calc(30 * var(--dohwa-font-unit)) calc(30 * var(--dohwa-font-unit));font-family:var(--dohwa-font-dialogue)}
.dohwa-meaning-intro{text-align:center;color:#cfb8b5;font-size:calc(18 * var(--dohwa-font-unit));margin:0 0 calc(26 * var(--dohwa-font-unit))}
.dohwa-meanings{margin:0}.dohwa-meanings>div{display:grid;grid-template-columns:calc(72 * var(--dohwa-font-unit)) 1fr;gap:calc(10 * var(--dohwa-font-unit));align-items:baseline;padding:calc(16 * var(--dohwa-font-unit)) 0;border-bottom:1px solid rgb(200 144 163 / 18%)}
.dohwa-meanings dt{color:#e4a6b7;font-size:calc(22 * var(--dohwa-font-unit));font-weight:600}
.dohwa-meanings dd{margin:0;font-size:calc(18 * var(--dohwa-font-unit));line-height:1.75;color:#e2cfc4;word-break:keep-all}
.dohwa-meanings strong{font-weight:500;color:#f2e5d9}

/* Tsubaki speaks both cliffhangers; only the concealed phrase is blurred. */
.dohwa-hook-scene .dohwa-after-art{margin-top:calc(-90 * var(--dohwa-font-unit))}
.dohwa-speech-hook{width:100%;padding:calc(38 * var(--dohwa-font-unit)) calc(28 * var(--dohwa-font-unit));line-height:1.8}
.dohwa-concealed{display:inline-block;max-width:100%;margin:calc(8 * var(--dohwa-font-unit)) 0;vertical-align:middle;user-select:none;-webkit-user-select:none}
.dohwa-concealed>span{display:inline-block;filter:blur(calc(6 * var(--dohwa-font-unit)));opacity:.8;pointer-events:none}
.dohwa-spoken-punch{display:inline-block;margin-top:calc(8 * var(--dohwa-font-unit));font-size:calc(30 * var(--dohwa-font-unit));line-height:1.5}
.dohwa-meaning-copy{padding-top:calc(24 * var(--dohwa-font-unit))}

/* The same embroidered blossoms, seals and bound page recur through the story. */
.dohwa-seal{display:inline-flex;flex:none;align-items:center;justify-content:center;width:calc(34 * var(--dohwa-font-unit));height:calc(46 * var(--dohwa-font-unit));padding:calc(4 * var(--dohwa-font-unit));border:1px solid #ba7883;outline:1px solid rgb(186 120 131 / 35%);outline-offset:calc(-4 * var(--dohwa-font-unit));border-radius:calc(3 * var(--dohwa-font-unit)) calc(1 * var(--dohwa-font-unit)) calc(4 * var(--dohwa-font-unit)) calc(2 * var(--dohwa-font-unit));background:#6b2d431a;color:#d58b99;font:600 calc(16 * var(--dohwa-font-unit))/1.05 var(--dohwa-font-reading);letter-spacing:0;writing-mode:vertical-rl;transform:rotate(-3deg)}
.dohwa-seal-small{width:calc(27 * var(--dohwa-font-unit));height:calc(37 * var(--dohwa-font-unit));font-size:calc(13 * var(--dohwa-font-unit))}
.dohwa-meanings>div{grid-template-columns:calc(114 * var(--dohwa-font-unit)) 1fr;gap:calc(14 * var(--dohwa-font-unit));align-items:center;padding-block:calc(20 * var(--dohwa-font-unit))}
.dohwa-meanings dt{display:flex;align-items:center;gap:calc(12 * var(--dohwa-font-unit))}
.dohwa-book-leaf{isolation:isolate;margin:calc(24 * var(--dohwa-font-unit)) 0 calc(36 * var(--dohwa-font-unit));padding:calc(160 * var(--dohwa-font-unit)) calc(45 * var(--dohwa-font-unit)) calc(130 * var(--dohwa-font-unit));border:0;background:none;box-shadow:none}
/* Nine-slice keeps the flowers, binding and gold corners from stretching with prose. */
.dohwa-book-leaf::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-style:solid;border-width:0;border-image:url('../assets/dohwa/identity-v14/plum-book-page-v1.png') 340 300 400 180 fill / calc(146 * var(--dohwa-font-unit)) calc(129 * var(--dohwa-font-unit)) calc(172 * var(--dohwa-font-unit)) calc(77 * var(--dohwa-font-unit)) / 0 stretch}
.dohwa-book-leaf header{margin-bottom:calc(34 * var(--dohwa-font-unit))}
.dohwa-book-leaf header>span{letter-spacing:.08em;color:#d6b59b}
.dohwa-reading-part+.dohwa-reading-part{border-top-color:rgb(207 164 99 / 25%)}
.dohwa-book-closing{border-top-color:rgb(207 164 99 / 35%)}
.dohwa-book-signature{display:flex;align-items:center;justify-content:flex-end;gap:calc(10 * var(--dohwa-font-unit));margin-top:calc(25 * var(--dohwa-font-unit));font:500 calc(15 * var(--dohwa-font-unit))/1.5 var(--dohwa-font-reading);color:#d6b49c}
.dohwa-author-seal{display:inline-flex;align-items:center;justify-content:center;width:calc(29 * var(--dohwa-font-unit));height:calc(29 * var(--dohwa-font-unit));border:1px solid #b76c79;outline:1px solid #b76c794d;outline-offset:-4px;color:#cc7f8b;transform:rotate(4deg)}
.dohwa-speech-hook{border-color:#c7aa79;box-shadow:inset 0 0 0 calc(5 * var(--dohwa-font-unit)) #f6eadb,inset 0 0 0 calc(6 * var(--dohwa-font-unit)) rgb(170 121 68 / 35%);background:linear-gradient(130deg,#fcf3e2,#ede0c7)}
.dohwa-whisper-mark{display:block;width:calc(25 * var(--dohwa-font-unit));height:calc(25 * var(--dohwa-font-unit));margin:0 auto calc(12 * var(--dohwa-font-unit));border:1px solid #a87748;border-radius:50%;font:500 calc(14 * var(--dohwa-font-unit))/calc(23 * var(--dohwa-font-unit)) var(--dohwa-font-reading);color:#96663e}
/* Keep the two close-up hooks compact without reducing dialogue type size. */
.dohwa-hook-scene .dohwa-speech-hook{position:relative;width:auto;padding:calc(24 * var(--dohwa-font-unit)) calc(26 * var(--dohwa-font-unit));line-height:1.65}
.dohwa-hook-scene .dohwa-concealed{margin:calc(3 * var(--dohwa-font-unit)) 0}
.dohwa-hook-scene .dohwa-whisper-mark{position:absolute;top:calc(-8 * var(--dohwa-font-unit));left:50%;transform:translateX(-50%);margin:0;background:#f6eadb}
.dohwa-hook-scene .dohwa-spoken-punch{margin-top:calc(4 * var(--dohwa-font-unit))}
/* Give the memory hook's three lines room inside the oval. */
#dohwa-memory-hook .dohwa-speech-hook{width:calc(304 * var(--dohwa-font-unit));padding:calc(28 * var(--dohwa-font-unit)) calc(36 * var(--dohwa-font-unit))}
#dohwa-memory-hook .dohwa-spoken-punch{font-size:calc(26 * var(--dohwa-font-unit))}
.dohwa-book-offer{padding-top:calc(24 * var(--dohwa-font-unit))}
.dohwa-volume-marks{display:flex;justify-content:center;gap:calc(26 * var(--dohwa-font-unit));margin-bottom:calc(30 * var(--dohwa-font-unit))}
.dohwa-volume-marks .dohwa-seal:nth-child(2){transform:rotate(2deg);border-color:#c39578;color:#dfb799}
.dohwa-arrival{transition:opacity .36s ease-out var(--dohwa-arrival-delay,0ms),transform .36s ease-out var(--dohwa-arrival-delay,0ms)}
.dohwa-awaiting{opacity:0;transform:translateY(calc(8 * var(--dohwa-font-unit)))}
.dohwa-arrival [data-dohwa-beat]{transition:opacity .3s ease-out calc(var(--dohwa-arrival-delay,0ms) + 280ms),transform .3s ease-out calc(var(--dohwa-arrival-delay,0ms) + 280ms)}
.dohwa-awaiting [data-dohwa-beat]{opacity:0;transform:translateY(calc(4 * var(--dohwa-font-unit)))}
@media(prefers-reduced-motion:reduce){.dohwa-arrival,.dohwa-arrival [data-dohwa-beat]{transition:none}.dohwa-awaiting,.dohwa-awaiting [data-dohwa-beat]{opacity:1;transform:none}}

/* Short inserts change the camera distance without adding another full-height panel. */
.dohwa-reaction-art img{aspect-ratio:1}
.dohwa-reaction-scene .dohwa-after-art{margin-top:calc(-12 * var(--dohwa-font-unit))}
.dohwa-reaction-scene{padding-bottom:calc(12 * var(--dohwa-font-unit))}
.dohwa-closeup-art{margin-top:calc(10 * var(--dohwa-font-unit))}
.dohwa-closeup-art img{aspect-ratio:3/2}
.dohwa-closeup-answer{position:relative;margin-top:calc(-18 * var(--dohwa-font-unit))}
.dohwa-whisper-insert{margin-top:calc(10 * var(--dohwa-font-unit))}
.dohwa-whisper-closeup-art img{aspect-ratio:3/2}
.dohwa-whisper-closeup-answer{position:relative;margin-top:calc(-14 * var(--dohwa-font-unit))}

/* Ornament belongs to the controls: a bound contents frame and a floral plaque. */
.dohwa-chapter-list{position:relative;margin-top:calc(40 * var(--dohwa-font-unit));padding:calc(18 * var(--dohwa-font-unit)) calc(16 * var(--dohwa-font-unit));border:1px solid #997443;border-radius:calc(5 * var(--dohwa-font-unit));background:linear-gradient(140deg,#291620,#150d15);box-shadow:inset 0 0 0 calc(5 * var(--dohwa-font-unit)) #1b1018,inset 0 0 0 calc(6 * var(--dohwa-font-unit)) #ac805b35}
.dohwa-catalog-mark{position:absolute;top:calc(-12 * var(--dohwa-font-unit));left:50%;transform:translateX(-50%);padding:0 calc(16 * var(--dohwa-font-unit));background:#20101c;color:#d6af77;font:500 calc(14 * var(--dohwa-font-unit))/1.6 var(--dohwa-font-reading);letter-spacing:.18em}
.dohwa-corner{position:absolute;width:calc(18 * var(--dohwa-font-unit));height:calc(18 * var(--dohwa-font-unit));background:#1e121a;color:#c9a069;pointer-events:none}
.dohwa-corner-top{left:calc(-8 * var(--dohwa-font-unit));top:calc(-8 * var(--dohwa-font-unit))}.dohwa-corner-bottom{right:calc(-8 * var(--dohwa-font-unit));bottom:calc(-8 * var(--dohwa-font-unit))}
.dohwa-gold-flower{display:block;width:100%;height:100%;fill:currentColor}
.dohwa-chapter:last-child{border-bottom:0}
.dohwa-chapter summary{display:grid;grid-template-columns:calc(30 * var(--dohwa-font-unit)) minmax(0,1fr) calc(24 * var(--dohwa-font-unit));align-items:center;gap:calc(12 * var(--dohwa-font-unit));padding:calc(19 * var(--dohwa-font-unit)) calc(3 * var(--dohwa-font-unit));list-style:none}
.dohwa-chapter summary::-webkit-details-marker{display:none}
.dohwa-chapter-number{display:flex;align-items:center;justify-content:center;min-height:calc(34 * var(--dohwa-font-unit));border:1px solid #a97b535e;outline:1px solid #a97b5326;outline-offset:calc(-4 * var(--dohwa-font-unit));color:#d4ae7b;font:500 calc(13 * var(--dohwa-font-unit))/1.5 var(--dohwa-font-reading)}
.dohwa-chapter-title{color:#efdcc9}
.dohwa-chapter-toggle{display:flex;align-items:center;justify-content:center;width:calc(24 * var(--dohwa-font-unit));height:calc(24 * var(--dohwa-font-unit));border:1px solid #aa805148;border-radius:50%;color:#d3b07c}
.dohwa-chapter-arrow{display:block;width:calc(16 * var(--dohwa-font-unit));height:calc(16 * var(--dohwa-font-unit));fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.dohwa-chapter[open] .dohwa-chapter-arrow{transform:rotate(180deg)}
.dohwa-chapter[open] .dohwa-chapter-number{border-color:#c9a16e;color:#f1d6ac;background:#9e6c3820}
.dohwa-chapter ol{margin:0 0 calc(22 * var(--dohwa-font-unit)) calc(16 * var(--dohwa-font-unit));padding-right:calc(8 * var(--dohwa-font-unit))}
.dohwa-chapter li::marker{color:#bd986f}
.dohwa-open-book{position:relative;display:block;width:calc(100% + 40 * var(--dohwa-font-unit));margin:calc(14 * var(--dohwa-font-unit)) calc(-20 * var(--dohwa-font-unit)) 0;padding:0;border:0;border-radius:0;background:none;color:#ffebd5;cursor:pointer;isolation:isolate;transition:transform .18s ease}
.dohwa-cta-plate{display:block;width:100%;height:auto;pointer-events:none;transition:filter .18s ease}
.dohwa-cta-copy{position:absolute;left:25%;right:12%;top:27%;bottom:40%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(3 * var(--dohwa-font-unit));pointer-events:none}
.dohwa-cta-caption{font:500 calc(10 * var(--dohwa-font-unit))/1.4 var(--dohwa-font-dialogue);letter-spacing:.12em;color:#e4bf92;white-space:nowrap}
.dohwa-cta-label{font:600 calc(21 * var(--dohwa-font-unit))/1.5 var(--dohwa-font-reading);white-space:nowrap;text-shadow:0 1px 2px #1a0618}
.dohwa-cta-label>span{color:#e5bd7f;margin-left:calc(5 * var(--dohwa-font-unit))}
.dohwa-open-book:active{transform:translateY(calc(2 * var(--dohwa-font-unit)))}
.dohwa-open-book:focus-visible{outline:0}.dohwa-open-book:focus-visible::after{content:"";position:absolute;left:10%;right:6%;top:18%;bottom:32%;border:2px solid #ffebbc;border-radius:calc(32 * var(--dohwa-font-unit));pointer-events:none}
@media(hover:hover){.dohwa-open-book:hover .dohwa-cta-plate{filter:brightness(1.12)}.dohwa-chapter summary:hover .dohwa-chapter-title{color:#f7d9ab}}
@media(prefers-reduced-motion:reduce){.dohwa-open-book,.dohwa-cta-plate,.dohwa-chapter-arrow{transition:none}}

/* A second invitation after the first purchase decision, in the same webtoon. */
.dohwa-reading-webtoon{padding-top:calc(14 * var(--dohwa-font-unit))}
.dohwa-reading-webtoon>header h2{margin:calc(15 * var(--dohwa-font-unit)) 0 0}
.dohwa-reading-cue{display:flex;justify-content:center;align-items:center;gap:calc(12 * var(--dohwa-font-unit));margin:calc(28 * var(--dohwa-font-unit)) calc(20 * var(--dohwa-font-unit)) calc(8 * var(--dohwa-font-unit));color:#d9b9a0;font:500 calc(16 * var(--dohwa-font-unit))/1.5 var(--dohwa-font-reading)}
.dohwa-reading-cut .dohwa-after-art{margin-top:calc(-26 * var(--dohwa-font-unit))}
.dohwa-reading-cut .dohwa-concealed{margin:calc(3 * var(--dohwa-font-unit)) 0}
.dohwa-reading-cut .dohwa-speech-hook{padding:calc(32 * var(--dohwa-font-unit)) calc(20 * var(--dohwa-font-unit))}
.dohwa-second-opening{padding-top:calc(64 * var(--dohwa-font-unit))}
.dohwa-second-opening h2{margin:0}
.dohwa-second-opening .dohwa-after-art,.dohwa-second-closing .dohwa-after-art{margin-top:calc(-32 * var(--dohwa-font-unit))}
.dohwa-report-peek{padding:calc(8 * var(--dohwa-font-unit)) 0 calc(24 * var(--dohwa-font-unit))}
.dohwa-page-montage{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:calc(7 * var(--dohwa-font-unit));margin:calc(14 * var(--dohwa-font-unit)) calc(20 * var(--dohwa-font-unit)) calc(22 * var(--dohwa-font-unit));transform:perspective(1000px) rotateX(5deg) rotateZ(-3deg)}
.dohwa-mini-page{position:relative;height:calc(194 * var(--dohwa-font-unit));overflow:hidden;padding:calc(9 * var(--dohwa-font-unit)) calc(5 * var(--dohwa-font-unit)) calc(12 * var(--dohwa-font-unit));background:linear-gradient(100deg,#120b11,#30202a 14%,#21131d);border:1px solid #765842;box-shadow:inset calc(3 * var(--dohwa-font-unit)) 0 #120b11;color:#cfbfb1;text-align:left;font:400 calc(3.4 * var(--dohwa-font-unit))/1.65 var(--dohwa-font-reading);word-break:normal}
.dohwa-mini-page>span{display:block;text-align:center;color:#d3ad7c;font-size:calc(4.2 * var(--dohwa-font-unit));margin-bottom:calc(6 * var(--dohwa-font-unit))}
.dohwa-mini-page img{display:block;width:100%;height:calc(62 * var(--dohwa-font-unit));object-fit:cover;object-position:50% 20%;margin-bottom:calc(7 * var(--dohwa-font-unit))}
.dohwa-mini-page img.dohwa-mini-detail{height:calc(45 * var(--dohwa-font-unit));object-position:50% 35%}
.dohwa-mini-page h3{font-size:calc(5.2 * var(--dohwa-font-unit));line-height:1.6;color:#f0d9b6;margin:0 0 calc(7 * var(--dohwa-font-unit))}
.dohwa-mini-page h4{font-size:calc(4 * var(--dohwa-font-unit));color:#dfbda4;margin:0 0 calc(4 * var(--dohwa-font-unit))}
.dohwa-mini-page p{margin:0 0 calc(5 * var(--dohwa-font-unit));filter:blur(calc(.6 * var(--dohwa-font-unit)))}
.dohwa-mini-page small{position:absolute;bottom:calc(3 * var(--dohwa-font-unit));left:0;right:0;text-align:center;background:#21131d;color:#bf986c;font-size:calc(4 * var(--dohwa-font-unit))}
.dohwa-final-offer{padding-top:calc(48 * var(--dohwa-font-unit));padding-bottom:0}
.dohwa-final-copy{font:500 calc(26 * var(--dohwa-font-unit))/1.7 var(--dohwa-font-reading);color:#edcfaa;margin:0 0 calc(20 * var(--dohwa-font-unit))}

/* Oni checkout geometry, with a purple accent palette. */
.dohwa-checkout{--dohwa-pay-accent:#ad70eb;--dohwa-pay-text:#c492f7;--dohwa-pay-solid:#7934b7;--dohwa-pay-wash:#9d48d91a;box-sizing:border-box;position:fixed;inset:auto 0 0;margin:0 auto;padding:0;width:min(100%,480px);max-width:480px;max-height:92dvh;overflow:hidden;border:1px solid #ffffff1a;border-bottom:0;border-radius:24px 24px 0 0;background:#121212;color:#fafafa;box-shadow:0 -16px 64px #0006;font-family:var(--dohwa-font-dialogue);word-break:keep-all}
.dohwa-checkout[open]{display:flex;flex-direction:column}
.dohwa-checkout::backdrop{background:#0008}
.dohwa-checkout *{box-sizing:border-box}
.dohwa-checkout-head{display:flex;flex:none;justify-content:space-between;align-items:flex-start;gap:calc(12 * var(--dohwa-font-unit));padding:calc(22 * var(--dohwa-font-unit)) calc(20 * var(--dohwa-font-unit)) calc(12 * var(--dohwa-font-unit))}
.dohwa-checkout h2{font:600 calc(20 * var(--dohwa-font-unit))/1.4 var(--dohwa-font-dialogue);letter-spacing:-.035em;margin:0;color:#fafafa}
.dohwa-checkout h2 span{display:inline-block;font-size:calc(11 * var(--dohwa-font-unit));font-weight:400;letter-spacing:0;white-space:nowrap;color:#a1a1aa}
.dohwa-checkout-close{display:grid;place-items:center;flex:none;width:40px;height:40px;margin:calc(-8 * var(--dohwa-font-unit)) calc(-8 * var(--dohwa-font-unit)) 0 0;padding:10px;border:0;border-radius:50%;background:transparent;color:#a1a1aa;cursor:pointer}
.dohwa-checkout-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.dohwa-checkout-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 calc(20 * var(--dohwa-font-unit)) calc(16 * var(--dohwa-font-unit));scrollbar-width:thin;scrollbar-color:#414141 transparent}
.dohwa-discount-pill{display:inline-block;margin:0 0 calc(20 * var(--dohwa-font-unit));padding:calc(6 * var(--dohwa-font-unit)) calc(12 * var(--dohwa-font-unit));border-radius:20px;background:var(--dohwa-pay-wash);color:var(--dohwa-pay-text);font-size:calc(13 * var(--dohwa-font-unit));font-weight:500;line-height:1.5}
.dohwa-discount-pill b{font-weight:600}
.dohwa-plan-list{border:0;padding:0;margin:0;min-width:0}
.dohwa-plan-list legend{padding:0;margin:0 0 calc(10 * var(--dohwa-font-unit));font-size:calc(14 * var(--dohwa-font-unit));font-weight:600;color:#e4e4e7}
.dohwa-plan{display:grid;grid-template-columns:calc(18 * var(--dohwa-font-unit)) minmax(0,1fr) auto;align-items:center;column-gap:calc(9 * var(--dohwa-font-unit));row-gap:calc(9 * var(--dohwa-font-unit));padding:calc(14 * var(--dohwa-font-unit)) calc(12 * var(--dohwa-font-unit));border:1px solid #3f3f46;border-radius:12px;background:#181818;cursor:pointer}
.dohwa-plan+.dohwa-plan{margin-top:calc(10 * var(--dohwa-font-unit))}
.dohwa-plan:has(input:checked){border-color:var(--dohwa-pay-accent);box-shadow:inset 0 0 0 1px var(--dohwa-pay-accent);background:var(--dohwa-pay-wash)}
.dohwa-plan input{appearance:none;display:grid;place-content:center;flex:none;width:calc(18 * var(--dohwa-font-unit));height:calc(18 * var(--dohwa-font-unit));margin:0;border:1px solid #71717a;border-radius:50%}
.dohwa-plan input:checked{border-color:var(--dohwa-pay-accent);background:var(--dohwa-pay-accent)}
.dohwa-plan input:checked::after{content:'';width:calc(6 * var(--dohwa-font-unit));height:calc(6 * var(--dohwa-font-unit));border-radius:50%;background:#181818}
.dohwa-plan-copy{grid-column:2/4;min-width:0;display:flex;flex-direction:column;gap:calc(4 * var(--dohwa-font-unit))}
.dohwa-plan-copy strong{display:flex;align-items:center;flex-wrap:wrap;gap:calc(3 * var(--dohwa-font-unit));font-size:calc(15 * var(--dohwa-font-unit));line-height:1.45;font-weight:600;letter-spacing:-.025em}
.dohwa-plan-copy strong>span{white-space:nowrap}
.dohwa-plan-copy small{display:block;font-size:calc(12 * var(--dohwa-font-unit));line-height:1.5;color:#a1a1aa}
.dohwa-plan-copy .dohwa-plan-badge{display:inline-block;margin-left:calc(3 * var(--dohwa-font-unit));padding:calc(2 * var(--dohwa-font-unit)) calc(6 * var(--dohwa-font-unit));background:var(--dohwa-pay-solid);border-radius:4px;color:#fff4ed;font-size:calc(10 * var(--dohwa-font-unit));line-height:1.4;font-weight:600}
.dohwa-plan-price{grid-column:2/4;display:flex;align-items:baseline;justify-content:flex-end;gap:calc(8 * var(--dohwa-font-unit));width:100%;white-space:nowrap;text-align:right}
.dohwa-plan-price small{font-size:calc(12 * var(--dohwa-font-unit));line-height:1.5}
.dohwa-plan-price em{font-style:normal;font-weight:600;color:var(--dohwa-pay-text);margin-right:calc(3 * var(--dohwa-font-unit))}
.dohwa-plan-price del{color:#71717a}
.dohwa-plan-price b{font-size:calc(20 * var(--dohwa-font-unit));line-height:1.4;font-weight:600;letter-spacing:-.03em}
.dohwa-coupon{margin:calc(18 * var(--dohwa-font-unit)) 0;font-size:calc(14 * var(--dohwa-font-unit))}
.dohwa-coupon summary{display:flex;align-items:center;justify-content:space-between;min-height:calc(44 * var(--dohwa-font-unit));gap:calc(12 * var(--dohwa-font-unit));font-weight:600;cursor:pointer;list-style:none}
.dohwa-coupon summary::-webkit-details-marker{display:none}
.dohwa-coupon svg{width:calc(16 * var(--dohwa-font-unit));height:calc(16 * var(--dohwa-font-unit));fill:none;stroke:currentColor;stroke-width:1.7}
.dohwa-coupon[open] summary{margin-bottom:calc(10 * var(--dohwa-font-unit))}.dohwa-coupon[open] svg{transform:rotate(180deg)}
.dohwa-coupon-row{display:flex;gap:calc(8 * var(--dohwa-font-unit))}
.dohwa-coupon input{flex:1;min-width:0;padding:calc(12 * var(--dohwa-font-unit));background:#171317;color:#fff;border:1px solid #433249;border-radius:8px;font:inherit}
.dohwa-coupon button{padding:calc(10 * var(--dohwa-font-unit));border:1px solid var(--dohwa-pay-accent);border-radius:8px;background:var(--dohwa-pay-solid);color:#fff;font:inherit;opacity:.55}
.dohwa-checkout-summary{display:flex;flex-direction:column;gap:calc(10 * var(--dohwa-font-unit));margin:calc(20 * var(--dohwa-font-unit)) 0 0}
.dohwa-checkout-summary>div{display:flex;justify-content:space-between;gap:calc(12 * var(--dohwa-font-unit));font-size:calc(14 * var(--dohwa-font-unit));line-height:1.5;color:#a1a1aa}
.dohwa-checkout-summary .dohwa-price-discount{color:var(--dohwa-pay-text)}
.dohwa-checkout-summary .dohwa-checkout-total{align-items:center;margin-top:calc(2 * var(--dohwa-font-unit));padding-top:calc(13 * var(--dohwa-font-unit));border-top:1px solid #ffffff14;color:#fafafa;font-weight:600}
.dohwa-checkout-total strong{font-size:calc(25 * var(--dohwa-font-unit));line-height:1.3;letter-spacing:-.04em;font-weight:650}
.dohwa-checkout-footer{flex:none;padding:calc(12 * var(--dohwa-font-unit)) calc(20 * var(--dohwa-font-unit)) max(calc(12 * var(--dohwa-font-unit)),env(safe-area-inset-bottom));background:#151515;border-top:1px solid #ffffff12}
.dohwa-checkout-pay{display:block;width:100%;min-height:calc(52 * var(--dohwa-font-unit));margin:0;padding:calc(14 * var(--dohwa-font-unit)) calc(12 * var(--dohwa-font-unit));border:0;border-radius:12px;background:var(--dohwa-pay-solid);color:#fff4ed;font:600 calc(16 * var(--dohwa-font-unit))/1.5 var(--dohwa-font-dialogue);letter-spacing:-.015em}
.dohwa-checkout-pay:disabled{opacity:1;cursor:default}
.dohwa-checkout-consent{margin:calc(9 * var(--dohwa-font-unit)) 0 0;text-align:center;color:#a1a1aa;font-size:calc(11 * var(--dohwa-font-unit));line-height:1.6}
.dohwa-checkout-consent button{margin:0 0 0 calc(6 * var(--dohwa-font-unit));padding:0;border:0;background:none;color:#d4d4d8;font:inherit;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.dohwa-checkout :focus-visible{outline:2px solid var(--dohwa-pay-text);outline-offset:3px}
@media(max-height:560px){.dohwa-checkout-head{padding-block:calc(12 * var(--dohwa-font-unit)) calc(8 * var(--dohwa-font-unit))}.dohwa-checkout-footer{padding-block:calc(8 * var(--dohwa-font-unit))}}

/* One shared title/art geometry during video playback and report handoff. */
.dohwa-report-transition{height:100dvh;overflow:hidden;background:#08060a}
.dohwa-report-transition .dohwa-story-cover{width:100%;margin-bottom:0}
.dohwa-cover-art .dohwa-transition-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;mask-image:var(--scene-fade);-webkit-mask-image:var(--scene-fade);mask-repeat:no-repeat;mask-size:100% 100%}

.dohwa-welcome-greeting{position:relative;margin:0 calc(20 * var(--dohwa-font-unit)) calc(8 * var(--dohwa-font-unit));text-align:center}

/* Reserve the report title space without displaying it during the arrival film. */
.dohwa-report-transition .dohwa-cover-title{visibility:hidden}
/* Engraved book introduction, keeping the existing interactive contents. */
#dohwa-p25{padding-top:calc(48 * var(--dohwa-font-unit));background:radial-gradient(ellipse at 50% 28%,#39203270,transparent 62%),linear-gradient(#08060a,#1b1019 55%,#08060a)}
#dohwa-p25 .dohwa-volume-marks{gap:calc(28 * var(--dohwa-font-unit));margin-bottom:calc(28 * var(--dohwa-font-unit))}
#dohwa-p25 .dohwa-eyebrow{letter-spacing:.2em;color:#cba77f}
#dohwa-p25 h2{margin:calc(18 * var(--dohwa-font-unit)) 0;line-height:1.6;text-shadow:0 2px 20px #d9a66920}
.dohwa-offer-divider{display:flex;align-items:center;gap:16px;width:65%;margin:24px auto;color:#b18a58;font-size:12px}
.dohwa-offer-divider:before,.dohwa-offer-divider:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#b18a5870)}
.dohwa-offer-divider:after{transform:scaleX(-1)}
#dohwa-p25 .dohwa-offer-scope{font-size:calc(15 * var(--dohwa-font-unit));font-weight:400;color:#cfbaaa;margin:20px 0}
.dohwa-offer-count{display:flex;justify-content:center;align-items:center;gap:calc(32 * var(--dohwa-font-unit));color:#c6a780}
.dohwa-offer-count span{display:grid;gap:8px;font-size:calc(12 * var(--dohwa-font-unit))}
.dohwa-offer-count b{font:500 calc(25 * var(--dohwa-font-unit)) var(--dohwa-font-reading);color:#efd9b7}
.dohwa-offer-count i{height:36px;width:1px;background:#96714760}
#dohwa-p25 .dohwa-chapter-list{margin-top:calc(42 * var(--dohwa-font-unit));box-shadow:inset 0 0 0 5px #1b1018,inset 0 0 0 6px #ac805b35,0 12px 36px #0004}
#dohwa-action-hook .dohwa-speech-hook{width:100%;padding:calc(40 * var(--dohwa-font-unit)) calc(36 * var(--dohwa-font-unit));line-height:1.85}

/* Keep the applied benefit readable without squeezing the code label or chevron. */
.dohwa-coupon summary{flex-wrap:wrap}
.dohwa-coupon summary [data-benefit-summary]{flex:1;text-align:right;color:var(--dohwa-pay-accent);font-size:inherit;word-break:keep-all}
.dohwa-coupon summary svg{flex:none}
.dohwa-coupon button{opacity:1}

/* Contents: show each chapter's promise before opening its four questions. */
.dohwa-catalog-intro{text-align:left;padding:calc(16 * var(--dohwa-font-unit)) calc(3 * var(--dohwa-font-unit)) calc(24 * var(--dohwa-font-unit));border-bottom:1px solid #a97b535e}
.dohwa-catalog-intro>span{color:#d7ad77;font:500 calc(13 * var(--dohwa-font-unit))/1.5 var(--dohwa-font-dialogue);letter-spacing:.12em}
.dohwa-catalog-intro p{margin:calc(12 * var(--dohwa-font-unit)) 0;color:#f4e4d6;font:600 calc(23 * var(--dohwa-font-unit))/1.65 var(--dohwa-font-reading);word-break:keep-all}
.dohwa-catalog-intro small{color:#bca79f;font:400 calc(14 * var(--dohwa-font-unit))/1.6 var(--dohwa-font-dialogue)}
.dohwa-chapter-copy{display:block;min-width:0}
.dohwa-chapter-title{display:block;font-size:calc(18 * var(--dohwa-font-unit));line-height:1.6;word-break:keep-all}
.dohwa-chapter-note{display:block;margin-top:calc(6 * var(--dohwa-font-unit));color:#bfa69d;font:400 calc(13 * var(--dohwa-font-unit))/1.7 var(--dohwa-font-dialogue);word-break:keep-all}
.dohwa-chapter summary{align-items:start;padding-top:calc(22 * var(--dohwa-font-unit));padding-bottom:calc(22 * var(--dohwa-font-unit))}
.dohwa-chapter-toggle{margin-top:calc(3 * var(--dohwa-font-unit))}
.dohwa-chapter[open] .dohwa-chapter-title{color:#f0bfcb}
.dohwa-chapter summary:focus-visible{outline:2px solid #d7ad77;outline-offset:3px;border-radius:3px}
.dohwa-chapter ol{margin-left:calc(42 * var(--dohwa-font-unit));padding:calc(14 * var(--dohwa-font-unit)) calc(10 * var(--dohwa-font-unit)) calc(16 * var(--dohwa-font-unit)) calc(24 * var(--dohwa-font-unit));background:#0d080d55;border-top:1px solid #a97b5333;font-size:calc(16 * var(--dohwa-font-unit));line-height:1.85;color:#e4d1c7}

/* Static contents and chapter cards in the second invitation. */
.dohwa-chapter-static{display:grid;grid-template-columns:calc(30 * var(--dohwa-font-unit)) minmax(0,1fr);gap:calc(14 * var(--dohwa-font-unit));align-items:center;padding:calc(19 * var(--dohwa-font-unit)) 0}
.dohwa-chapter-previews{display:grid;gap:calc(30 * var(--dohwa-font-unit));padding:0 calc(24 * var(--dohwa-font-unit)) calc(40 * var(--dohwa-font-unit))}
.dohwa-preview-card{position:relative;overflow:hidden;text-align:left;border:1px solid #96755666;border-radius:calc(8 * var(--dohwa-font-unit));background:#1b121b;box-shadow:0 12px 30px #0003}
.dohwa-preview-card header{position:relative;padding:calc(16 * var(--dohwa-font-unit)) calc(26 * var(--dohwa-font-unit)) calc(24 * var(--dohwa-font-unit))}
.dohwa-preview-index{display:block;margin-bottom:calc(10 * var(--dohwa-font-unit));color:#d8b286;font:600 calc(16 * var(--dohwa-font-unit))/1.5 var(--dohwa-font-dialogue)}
.dohwa-preview-card h3{margin:0;font:700 calc(27 * var(--dohwa-font-unit))/1.5 var(--dohwa-font-reading);color:#fff0e5;word-break:keep-all;letter-spacing:-.035em}
.dohwa-preview-pages{margin:0 calc(26 * var(--dohwa-font-unit));padding:calc(24 * var(--dohwa-font-unit)) 0 calc(30 * var(--dohwa-font-unit));border-top:1px solid #c3986945}
.dohwa-preview-question{margin:0;color:#f3b7c7;font:600 calc(21 * var(--dohwa-font-unit))/1.7 var(--dohwa-font-reading);word-break:keep-all}
.dohwa-preview-pages ul{list-style:none;padding:0;margin:calc(22 * var(--dohwa-font-unit)) 0 0}
.dohwa-preview-pages li{position:relative;padding-left:calc(15 * var(--dohwa-font-unit));color:#e1d3cc;font:400 calc(18 * var(--dohwa-font-unit))/1.8 var(--dohwa-font-dialogue);word-break:keep-all}
.dohwa-preview-pages li::before{content:'·';position:absolute;left:0;color:#d7ae7d}
.dohwa-preview-pages li+li{margin-top:calc(16 * var(--dohwa-font-unit))}
.dohwa-preview-art{width:100%;height:calc(280 * var(--dohwa-font-unit));margin:0;position:relative;overflow:hidden;background:#1b121b}
.dohwa-preview-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 5%;mask-image:linear-gradient(#000 75%,transparent 100%)}
.dohwa-preview-card:nth-child(3) .dohwa-preview-art img{object-position:center 22%}
.dohwa-preview-card:nth-child(4) .dohwa-preview-art img{object-position:center 15%}
.dohwa-preview-art+header{margin-top:calc(-12 * var(--dohwa-font-unit))}

#dohwa-final-invitation>.dohwa-speech-row:first-child{margin-bottom:calc(-32 * var(--dohwa-font-unit));padding-bottom:0}
