#story .storyGrid{display:block}#story #illustration{display:none}#story article{min-width:0}#story img{display:block;width:100%;height:auto;border-radius:5px}#choices>img{max-width:410px;margin:12px auto}
.diary-paper,.letter-paper,.trip{padding:clamp(14px,4vw,30px);background:#fffaf0}.diary-paper{background:repeating-linear-gradient(0deg,#f8eedf 0 24px,#dfd5c7 25px);border-left:4px double #c79a93}.ink-title,.diary-entry figcaption,.diary-entry p,.letter-paper{font-family:'Nanum Pen Script','Batang',serif}.ink-title{color:#874c56;font-size:21px}.diary-entry{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;align-items:center;margin:24px 0}.diary-entry:nth-of-type(2) figure{order:2;transform:rotate(3deg)}.diary-entry figure{position:relative;background:#fffdf8;margin:3px;padding:8px 8px 5px;transform:rotate(-2deg);box-shadow:1px 3px 8px #61483538}.diary-entry figure:before{content:'';position:absolute;top:-7px;left:30%;width:40%;height:16px;background:#dbc79cbf;transform:rotate(-3deg)}.diary-entry figcaption{font-size:14px;text-align:center;padding-top:6px}.diary-entry small,.letter-paper em{color:#885f55}.diary-entry p,.letter-paper p,.trip p{line-height:1.8;word-break:keep-all}.letter-paper{background:#f9efd9;border:1px solid #ded0aa}.letter-paper em{display:block;text-align:right;margin-bottom:18px}.trip h3{color:#46665d}.trip p{margin:14px 0}.message-card{background:#f5eddd;border-radius:10px;padding:14px;margin:10px 0}.message-card img{max-width:240px;margin:0 0 12px}.arrival{position:relative;padding-bottom:12%}.arrival img+img{position:absolute;width:40%!important;right:4%;bottom:0;border:4px solid #fff7e7;box-shadow:0 4px 10px #382b3344}.diary-entry p{margin:4px 0}@media(max-width:520px){.diary-entry{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.diary-entry figure{width:77%}.diary-entry:nth-of-type(2) figure{order:0;align-self:flex-end}.diary-entry>div{padding:0 6px}.diary-entry:nth-of-type(2)>div{padding-left:15%}}
.arrival{padding:0;overflow:hidden;border-radius:10px}.arrival img+img{width:52%!important;right:0;bottom:0;border:0!important;border-radius:0!important;box-shadow:none;mask-image:linear-gradient(to right,transparent,#000 8%)}.message-card img{mask-image:linear-gradient(to bottom,#000 85%,transparent);border-radius:0!important}
#story:has(.object-note){width:min(410px,94vw)}
.object-note{width:min(100%,306px);margin:17px auto 5px;position:relative;box-sizing:border-box;border:1px solid var(--note-line);border-radius:8px;box-shadow:2px 4px 0 #493c3212;color:var(--note-ink);overflow:visible}
.object-note .note-photo{position:relative;border-radius:7px 7px 0 0;background-color:var(--note-tint);overflow:hidden}
#story .note-photo img{width:100%;height:clamp(145px,29vh,192px);object-fit:contain;object-position:center bottom;border-radius:0}
.object-note .note-body{padding:14px 18px;border-top:1px dashed var(--note-line);background:var(--note-paper);border-radius:0 0 7px 7px}
.note-body p{line-height:1.7;margin:6px 0 0;word-break:keep-all}
.fridge-note{--note-ink:#36554d;--note-line:#a6bdb0;--note-paper:#f4f7ed;--note-tint:#e2ece1}
.fridge-note .note-photo{background-image:linear-gradient(#768c7720 1px,transparent 1px),linear-gradient(90deg,#768c7720 1px,transparent 1px);background-size:16px 16px}
.fridge-note:before{content:'';position:absolute;z-index:1;top:-8px;left:15px;width:19px;height:19px;border:2px solid #e8ede1;border-radius:50%;background:radial-gradient(at 35% 30%,#84aa98,#395b50);box-shadow:1px 2px 3px #344c4370}
.tv-note{--note-ink:#84445a;--note-line:#d6a3ad;--note-paper:#fff4ef;--note-tint:#f9e1e2}
.tv-note .note-photo:after{content:'♡';position:absolute;right:12px;top:5px;color:#ac4c67;font:38px/1 Georgia;transform:rotate(12deg)}
.tv-note:after{content:'♥';position:absolute;left:12px;top:14px;color:#bc6678;transform:rotate(-14deg)}
.tv-note .note-body{border-bottom:4px solid #e0a6b2}
.visit{border:1px solid #cbbba7;border-radius:12px;overflow:hidden;background:#faf0df}
#story .visit>img{border-radius:0}
.greeting{display:flex;align-items:center;gap:15px;padding:14px 16px}
.seal{flex:0 0 clamp(72px,19vw,108px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:4px solid #fffdf4;outline:1px solid #ccb6a2;background:#fff;box-shadow:1px 3px 4px #71513933;transform:rotate(-4deg)}
#story .seal img{height:100%;width:100%;object-fit:cover;object-position:50% 32%;border-radius:50%}
.greeting p{margin:0;font-size:15px;line-height:1.65;word-break:keep-all}
.room-side{display:grid;gap:10px;min-width:0}.music-drawer{display:grid;grid-template-columns:auto 1fr;column-gap:12px;text-align:left;align-items:center;padding:14px 18px;color:#fff6dc;background:#405d54;border:1px solid #334d45;border-radius:12px}.music-drawer:hover{background:#365348}.music-drawer span{grid-row:span 2;font-size:26px}.music-drawer strong{font-size:17px}.music-drawer small{color:#ece0bc;letter-spacing:0}
#story:has(.phone-contact,#choices .conversation){width:min(420px,94vw)}
#choices .phone-contact{display:flex;align-items:center;gap:12px;padding:12px}.phone-contact span{min-width:0;flex:1}.phone-contact small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;color:#71655d}.phone-contact i{font-size:22px}
#choices .phone-contact:before{display:none}#story .phone-contact img{width:56px;height:56px;object-fit:cover;border-radius:50%}
.conversation{padding:14px;background:#ece8df;border-radius:12px}.contact-photo{width:104px;margin:0 auto 12px}#story .contact-photo img{aspect-ratio:1;object-fit:cover;border-radius:50%;border:3px solid #fffaf0}
.conversation .bubble{background:#fffaf1;padding:10px 14px;max-width:91%;width:fit-content;border-radius:3px 14px 14px;margin:10px 0;white-space:pre-line;word-break:keep-all}.conversation .bubble:last-child:not(:nth-child(4)){margin-top:22px}
.chat-date{display:flex;align-items:center;gap:8px;color:#64584f;font-size:12px;margin:17px 0 8px}.chat-date::before,.chat-date::after{content:"";flex:1;border-top:1px solid #ccbeb0}.chat-line{display:flex;align-items:flex-end;gap:7px;margin:9px 0}.chat-line time{font-size:11px;white-space:nowrap;color:#64584f}.conversation .chat-line .bubble{margin:0;max-width:calc(100% - 44px)}
