/* Midnight Suite — Japanese-first tactile editorial companion */
:root{--night:#241421;--jp-sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Meiryo',sans-serif;--jp-serif:'Hiragino Mincho ProN','Yu Mincho',serif}
body{font-family:var(--jp-sans);font-feature-settings:'palt' 1;line-break:strict;overflow-wrap:anywhere}h1,h2,h3,h4{font-feature-settings:'palt' 1;word-break:keep-all;overflow-wrap:anywhere}em{font-style:normal!important}
.secret-hero h1,.suite-content h2,.challenge h3,.prize-title,.hero-signature,.art-caption,.love-note p{font-family:var(--jp-serif);letter-spacing:-.055em;font-weight:500}
.secret-hero h1{font-size:clamp(40px,7vw,70px);line-height:1.4;margin:17px 0 20px}.secret-hero h1 em{font-style:normal}.hero-copy{font-size:13px;line-height:2}.hero-signature{font-size:18px;font-style:normal}.art-caption{font-style:normal;font-size:14px}
.label,.section-no{font-size:10px;letter-spacing:.09em;line-height:1.6}.suite-content h2{font-size:clamp(30px,6vw,44px);line-height:1.47;letter-spacing:-.05em}.suite-content h2 em{font-style:normal}.section-intro>p:not(.consent-note){font-size:13px;line-height:2.05}.consent-note{font-size:11px;line-height:1.95}.instructions{gap:6px}.instructions>span:not(.instruction-arrow){font-size:11px;line-height:1.4}.score-label{font-size:11px;letter-spacing:.06em}.score-number span{font-size:12px}
.challenge h3{font-size:clamp(20px,4vw,28px);line-height:1.45;margin:7px 0 6px;letter-spacing:-.045em}.challenge-number{font-size:10px;letter-spacing:.055em}.challenge-desc{font-size:12px;line-height:1.85}.extra{font-size:11px;line-height:1.85;font-style:normal}.status{font-size:10px;line-height:1.65}.small-button{font-family:var(--jp-sans);font-size:11px;font-weight:700;min-height:42px}.prize-eyebrow{font-size:10px;letter-spacing:.06em}.prize-title{font-size:21px;font-style:normal;line-height:1.55}.prize-description{font-size:12px;line-height:1.85}.prize-mask{font-size:11px;letter-spacing:.03em}.prize-heat{font-size:10px;letter-spacing:.04em}.unlock-room h2{font-size:clamp(30px,6vw,40px);line-height:1.45}.unlock-room p{font-size:13px;line-height:1.95}.code-form label{font-size:11px;letter-spacing:.06em}.code-form input{font-family:var(--jp-sans);border-radius:15px;letter-spacing:.065em}.pink-button{font-family:var(--jp-sans);font-size:13px;line-height:1.6}.love-note p{font-size:17px}.love-note p em{font-size:18px}.footer span{letter-spacing:.05em}
/* Discreet bonus mini-game: one card, one satisfying reveal */
.night-draw{position:relative;isolation:isolate;overflow:hidden;text-align:center;margin:48px auto 0;border:1px solid #986b82;border-radius:24px;padding:33px 18px 31px;background:radial-gradient(ellipse at 50% -15%,#70435f 0,transparent 70%),linear-gradient(145deg,#42253e,#312033);box-shadow:0 14px 35px #1007128c}
.night-draw:before{content:'';position:absolute;inset:10px;border-radius:17px;border:1px solid #e4b9bb2e;pointer-events:none}.night-draw__icon{font-size:33px;color:#e7c393;line-height:1.2;margin-bottom:5px}.night-draw h2{font-size:clamp(30px,6vw,39px);line-height:1.55;margin:6px auto 7px}.night-draw h2 em{display:inline;color:#f3b7cb}.night-draw__intro{color:#ddbac9;font-size:12px;line-height:1.95}.night-draw__card{max-width:380px;min-height:153px;margin:22px auto 19px;background:linear-gradient(145deg,#fff2e9,#f9dde1);color:#5d3547;border:1px solid #f5e2d7;border-radius:15px;padding:22px 17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:0 10px 26px #14071460}.night-draw__card span{font:10px Georgia,serif;letter-spacing:1.7px;color:#916478}.night-draw__card strong{font:600 18px/1.8 var(--jp-serif)}.night-draw__card.drawn{animation:revealCard .46s cubic-bezier(.22,1,.36,1) both}.night-draw .pink-button{width:100%;max-width:280px}.night-draw__fine{font-size:11px;line-height:1.9;color:#c8a1b2;margin:16px 0 0}@keyframes revealCard{from{transform:translateY(10px) rotate(-1deg);opacity:.4}to{transform:none;opacity:1}}
@media(max-width:600px){.secret-hero{padding:38px 18px 36px;gap:23px}.secret-hero h1{font-size:clamp(38px,10vw,50px);line-height:1.4}.hero-copy{font-size:12px}.hero-art{max-width:235px}.image-border img{max-height:338px}.suite-content{padding:42px 14px}.suite-content h2{font-size:clamp(28px,7.1vw,36px)}.section-intro>p:not(.consent-note){font-size:12px}.challenge{grid-template-columns:minmax(123px,36%) minmax(0,1fr)}.challenge-portrait{min-height:260px}.challenge-content{padding:15px 13px}.challenge h3{font-size:20px;line-height:1.35}.challenge-desc{font-size:11.5px;line-height:1.75}.extra{font-size:10px;line-height:1.65}.status{font-size:9px}.small-button{font-size:10px;padding:10px 9px;line-height:1.4}.prize-title{font-size:19px}.prize-description{font-size:12px}.night-draw{margin:39px auto 0}.night-draw h2{font-size:31px}.topbar-mid{font-size:10px;letter-spacing:.02em}.score-label{font-size:10px}}
@media(max-width:370px){.challenge{grid-template-columns:112px minmax(0,1fr)}.challenge-content{padding:13px 10px}.challenge h3{font-size:18px}.challenge-desc{font-size:11px}.extra{font-size:9.5px}.small-button{padding:9px 8px}}
@media(prefers-reduced-motion:reduce){.night-draw__card.drawn{animation:none!important}}
body.less-motion .night-draw__card.drawn{animation:none!important}
