:root{--paper:#fbf7ee;--white:#fffdfa;--ink:#3d3029;--muted:#6a6257;--orange:#cb7837;--orange-soft:#f6e3c9;--green:#68775b;--line:#ded0ba;--title:"Kaiti SC","STKaiti","KaiTi",serif;--body:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:22px;background:#eee7db}
body{margin:0;color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.7;-webkit-text-size-adjust:100%;overflow-wrap:break-word}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}
button:active,.button:active{transform:scale(.975)}
a{color:inherit}
[hidden]{display:none!important}
img{max-width:100%;display:block}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{display:inline-block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}
.icon.small{width:19px;height:19px}
.journal{width:100%;max-width:460px;margin:0 auto;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cpath d='M8 22h1m43 39h1m44-45h1M25 100h1m74-2h1' stroke='%23cdbb9e' stroke-opacity='.2'/%3E%3C/svg%3E");overflow:hidden;box-shadow:0 0 30px #4f382410}
.hero{position:relative;min-height:710px;height:100svh;max-height:900px;isolation:isolate;background:#efe6d5;overflow:hidden}
.hero-scene{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 62%;z-index:-2}
.hero-paper{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#fbf7eef7 0%,#fbf7eee8 22%,#fbf7ee98 39%,#fbf7ee00 60%,#3d30291a 100%)}
.hero-copy{position:relative;padding:38px 30px 0;animation:journal-arrive .65s ease-out}
.date-stamp{font-size:12px;margin:0 0 20px;color:var(--muted);letter-spacing:.04em}
.date-stamp span{font-size:19px;color:var(--ink);font-weight:600;margin-right:10px}
h1,h2,h3{font-family:var(--title);font-weight:600;line-height:1.25;margin:0;letter-spacing:-.02em}
h1{font-size:50px;transform:rotate(-1deg);width:max-content;max-width:100%}
h1 span{display:block}
.english-subtitle{font-family:Georgia,serif;font-style:italic;letter-spacing:.04em;font-size:16px;margin:12px 0 16px}
.hero-rule{width:155px;height:1px;background:#7d5e40}
.restaurant{font-size:15px;letter-spacing:.13em;margin:11px 0 16px;font-weight:600}
.hero-message{font-size:16px;line-height:1.8;margin:0;width:max-content;max-width:100%}
.hero-mushroom{position:absolute;right:22px;top:233px;transform:rotate(7deg)}
.hero-bottom{position:absolute;left:30px;right:30px;bottom:max(22px,env(safe-area-inset-bottom));text-align:center}
.hero-cat{position:absolute;right:4px;top:-68px;transform:rotate(3deg)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 23px;border:0;border-radius:16px;text-decoration:none;font-weight:600;font-size:17px;line-height:1.35;transition:transform .12s,background-color .15s}
.button-primary{background:#ae5f27;color:#fffdfa;box-shadow:0 4px 0 #89512d18}
.start-button{width:100%;min-height:56px;border:1px solid #fff9ed;box-shadow:0 3px 12px #593c2826}
.hero-footnote{margin:12px 0 0;font-size:12px;color:#fffdfa;text-shadow:0 1px 5px #3d3029;background:#64482b80;display:inline-block;padding:3px 10px;border-radius:20px}
.steam{position:absolute;left:25%;top:59%;display:flex;gap:7px;pointer-events:none}
.steam i{display:block;width:6px;height:35px;background:#fff9ed99;border-radius:100%;animation:steam-rise 3.2s ease-in-out infinite;filter:blur(2px)}
.steam i:nth-child(2){animation-delay:.8s}.steam i:nth-child(3){animation-delay:1.5s}
@keyframes steam-rise{0%,100%{opacity:0;transform:translateY(8px) rotate(6deg)}45%{opacity:.6;transform:translateY(-8px) rotate(-6deg)}}
.chapter{position:relative;padding:43px 22px 0;scroll-margin-top:18px}
h2{font-size:29px;line-height:1.35}
h3{font-size:25px}
.chapter-intro{font-size:14px;color:var(--muted);margin:12px 0 19px;line-height:1.7}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sun{color:var(--orange);width:30px;height:30px;transform:rotate(9deg)}
.paper{background:var(--white);border:1px solid #e2d5c0;box-shadow:0 4px 10px #7963450a}
.personal-note{position:relative;transform:rotate(-1deg);padding:28px 23px 30px;border-radius:3px 2px 9px 3px;margin-top:25px;background-image:repeating-linear-gradient(transparent 0,transparent 30px,#d4c5ae20 30px,#d4c5ae20 31px)}
.personal-note p{margin:0 0 11px;font-size:16px}.personal-note p:last-of-type{margin-bottom:0;padding-right:28px}
.tape{position:absolute;left:18px;top:-12px;width:68px;height:22px;background:#e7cd9cab;transform:rotate(-11deg);border-left:1px dashed #d1b184;border-right:1px dashed #d1b184;pointer-events:none}
.note-mushroom{position:absolute;right:3px;bottom:-25px;transform:rotate(8deg)}
.note-chapter{padding-bottom:22px}.note-dog{margin-left:8px;margin-top:-6px;position:relative;z-index:1}
.menu-chapter{padding-top:15px}
.recipe{margin:12px 0;border:1px solid var(--line);border-radius:13px;background:#fffdfa8f;overflow:hidden}
.recipe summary{list-style:none;display:flex;align-items:center;gap:13px;padding:15px 12px;cursor:pointer;min-height:107px}
summary::-webkit-details-marker{display:none}
.recipe summary>img{width:70px;height:70px;object-fit:contain;flex-shrink:0}
.recipe-summary{min-width:0;flex:1;display:flex;flex-direction:column;line-height:1.45;gap:4px}
.recipe-summary strong{font-size:18px;font-weight:600}
.recipe-summary>span{color:var(--muted);font-size:13px}
.recipe-summary em{font-style:normal;font-size:12px;color:#995523;line-height:1.4;margin-top:2px}
.chevron{width:20px;height:20px;transition:transform .18s}
.recipe[open] .chevron{transform:rotate(180deg)}
.recipe[open]{border-color:#cfa86c;background:var(--white)}
.recipe[open] summary{background:#f5e9d45c}
.recipe-body{padding:0 19px 20px;border-top:1px dashed #dfcfb4;animation:paper-in .2s ease-out}
.recipe-reason{font-size:14px;color:var(--muted);margin:17px 0 12px}
.ingredients{font-size:15px;line-height:1.7;font-weight:600;padding:10px 13px;border-radius:9px;background:#f1eadb;margin:0}
.recipe-body ol{padding-left:22px;margin:16px 0;font-size:15px;line-height:1.75}.recipe-body li{padding-left:3px;margin-bottom:8px}
.margin-note{font-size:13px;color:var(--muted);padding-left:11px;border-left:2px solid #d7b780;line-height:1.75;margin:13px 0 16px}
.wish-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin-left:auto;font-size:14px;line-height:1.35;border:1px solid #c59663;background:transparent;border-radius:11px;padding:9px 14px;color:#935424}
.wish-button .icon{width:17px;height:17px;opacity:.3}.wish-button.is-selected{background:#edf0e4;color:#4f6743;border-color:#9ba888}.wish-button.is-selected .icon{opacity:1}
.subheading{display:flex;align-items:center;justify-content:space-between;margin-top:29px}.subheading img{margin-top:-17px;margin-right:13px}
.try-summary{border-radius:10px;background:#edf0e3;padding:12px 14px;font-size:13px;color:#4c603e;margin:14px 0}
.quiet-note{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.75;color:var(--muted);margin:20px 0 0}.quiet-note .icon{width:20px;height:20px;color:#b9743b;margin-top:1px}
.tips-chapter h2{font-size:24px}.tips-paper{position:relative;padding:10px 18px 13px;border-radius:5px;margin-top:23px;transform:rotate(.4deg)}
.tips-paper p{display:flex;gap:11px;font-size:14px;line-height:1.8;margin:15px 0}.tips-paper strong{display:block;font-weight:600}
.tip-number{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#efdcc0;text-align:center;font-size:12px;line-height:20px;margin-top:3px;color:#8d552c}
.timeline-chapter h2{font-size:27px}
.timeline{border-left:2px solid #dab389;margin:28px 0 0 10px;padding:0 0 0 26px}
.timeline-stop{position:relative;padding-bottom:29px}.timeline-stop:last-child{padding-bottom:4px}
.timeline-stop::before{content:"";position:absolute;left:-34px;top:9px;width:13px;height:13px;border-radius:50%;background:var(--orange);border:3px solid var(--paper);box-sizing:content-box}
.timeline-stop p{display:flex;align-items:center;gap:18px;margin:0 0 6px;line-height:1.5}.timeline-stop time{font-family:Georgia,serif;font-size:24px}.timeline-stop strong{font-size:17px;font-weight:600}
.timeline-stop>span{font-size:14px;color:var(--muted)}
.schedule-note{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 0 10px;padding:9px 15px;background:#f1e6d2;border-radius:4px;transform:rotate(-1deg)}
.schedule-note p{font-size:14px;line-height:1.65;margin:0}.schedule-note img{height:61px;width:61px}
.afternoon-chapter h2{font-size:27px}
.choice-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px}
.choice{position:relative;display:flex;align-items:flex-start;flex-direction:column;text-align:left;padding:17px 15px 14px;min-height:143px;border:1px solid var(--line);background:#fffdfa94;border-radius:14px;transition:background-color .18s,border-color .18s,transform .12s;gap:5px}
.choice .activity{width:34px;height:34px;margin-bottom:5px;color:#755b3e;stroke-width:1.6}
.choice-name{display:block;font-size:17px;font-weight:600;line-height:1.5}
.choice small{display:block;font-size:12px;line-height:1.7;color:var(--muted)}
.selected-mark{position:absolute;right:9px;top:9px;width:21px;height:21px;padding:3px;border-radius:50%;background:var(--orange);color:white;opacity:0}
.choice.is-selected{border-color:#be723a;background:#faecd5;box-shadow:inset 0 0 0 1px #be723a}.choice.is-selected .selected-mark{opacity:1}
.choice.wide{grid-column:1/-1;min-height:94px;flex-direction:row;align-items:center;gap:16px;padding-right:38px}.wide .activity{margin-bottom:0}.wide-choice-text{flex:1}
.selection-hint{min-height:44px;display:flex;align-items:center;font-size:13px;line-height:1.6;color:var(--muted);margin:13px 0}
.full-width{width:100%}
.undecided{width:100%;display:flex;align-items:center;justify-content:center;gap:13px;min-height:48px;font-size:14px;border:0;background:transparent;text-decoration:underline;text-decoration-color:#d6bea0;text-underline-offset:5px;margin-top:9px}
.letter-chapter{padding-bottom:30px}.letter-chapter h2{font-size:28px;margin-bottom:24px}
.letter{position:relative}.letter summary{position:relative;list-style:none;cursor:pointer;height:174px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #cfb08a;border-radius:5px;background:#e7d1b2;overflow:hidden;box-shadow:0 5px 12px #7963450c}
.envelope-flap{position:absolute;top:-78px;width:240px;height:174px;transform:rotate(45deg);background:#f0dfc8;box-shadow:1px 1px 0 #c8a27d;z-index:0}.letter summary>img{position:relative;z-index:1;width:65px;height:65px;margin:0 0 9px}.open-label{position:relative;z-index:1;display:flex;align-items:center;gap:8px;font-size:16px}
.letter[open] summary{height:78px;background:#e7d1b2}.letter[open] summary>img{width:44px;height:44px;margin:0 10px 0 0}.letter[open] summary{flex-direction:row}.letter[open] .envelope-flap{top:-128px}.letter[open] .open-label{font-size:13px}.letter[open] .open-label .icon{transform:rotate(180deg)}
.letter-content{position:relative;z-index:1;transform:rotate(-1.2deg);padding:31px 22px 34px;margin:-1px 10px 0;animation:paper-in .35s ease-out;border-radius:2px 2px 7px 3px}
.letter-content p{font-size:17px;line-height:1.9;margin:0 0 23px}.letter-content .letter-ending{font-family:var(--title);font-size:19px;margin:8px 0;text-align:right}.continued{display:block;text-align:right;font-family:Georgia,serif;font-style:italic;font-size:12px;letter-spacing:.06em;color:var(--muted)}
.letter-dog{position:relative;margin-top:-12px;margin-left:auto;margin-right:4px;z-index:2}
.journal-footer{text-align:center;padding:0 22px calc(29px + env(safe-area-inset-bottom));font-size:13px;color:var(--muted)}
.journal-footer a{display:inline-flex;align-items:center;gap:9px;min-height:44px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#d7b780}.journal-footer p{margin:14px 0 8px}.footer-date{font-family:Georgia,serif;letter-spacing:.1em;font-size:11px;color:#8b7760}
.decision-dialog{border:0;padding:0;width:calc(100% - 28px);max-width:404px;max-height:calc(100vh - 28px);max-height:calc(100svh - 28px);margin:auto;background:var(--paper);color:var(--ink);border-radius:19px;box-shadow:0 20px 90px #30271c44;overflow-y:auto;overscroll-behavior:contain}
.decision-dialog::backdrop{background:#30271c82;backdrop-filter:blur(3px)}
.dialog-shell{position:relative;padding:41px 18px 15px}
.close-button{position:absolute;top:1px;left:5px;width:44px;height:44px;border:0;background:transparent;display:flex;align-items:center;justify-content:center}
.decision-paper{position:relative;text-align:center;padding:22px 15px 15px;border-radius:3px 2px 8px 4px;margin-top:3px}
.decision-paper .tape{left:15px;top:-10px;width:54px;height:19px}
.card-brand{font-family:var(--title);font-size:17px;margin:0 0 3px}.card-date{font-size:12px;color:var(--muted);margin:0 0 21px}
.decision-paper h2{font-size:29px;margin-bottom:14px}.decision-headline{font-size:13px;color:var(--muted);margin:0 0 10px}
.decision-tags{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:0 0 18px;min-height:35px}.decision-tags span{background:#f5e4cc;padding:6px 12px;border-radius:10px;line-height:1.5;font-size:17px;font-weight:600}
.decision-description{font-size:15px;line-height:1.75;max-width:270px;margin:0 auto;min-height:52px}
.decision-stickers{display:flex;justify-content:space-between;align-items:flex-end;margin-top:9px;height:63px}.decision-stickers img:first-child{width:70px;height:70px}.decision-stickers img:last-child{height:63px;width:63px}
.decision-note{font-size:12px;color:var(--muted);margin:4px 0 0;line-height:1.6}
.screenshot-hint{text-align:center;font-size:13px;margin:17px 0 13px}.dialog-shell>.button{min-height:49px;font-size:16px}
.copy-status{text-align:center;font-size:13px;line-height:1.7;color:var(--green);margin:10px 0 0}.copy-status:empty{margin:0}
.copy-block{border-radius:7px;padding:14px 15px;margin-top:12px}.copy-intro{font-size:13px;color:var(--muted);margin:0 0 8px}.share-message{font-size:15px;line-height:1.8;margin:0;user-select:text;-webkit-user-select:text;white-space:pre-wrap}
.dialog-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:5px}.dialog-links button{border:0;background:transparent;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#cdb391;font-size:13px;min-height:44px;padding:6px 8px}
.has-dialog{overflow:hidden}.has-dialog body{overscroll-behavior:none}
.decision-dialog.is-open.is-fallback{display:block;position:fixed;inset:14px 0;z-index:1000;height:max-content;max-height:calc(100vh - 28px);max-height:calc(100svh - 28px);box-shadow:0 0 0 100vmax #30271c82,0 20px 90px #30271c44}
.is-away *{animation-play-state:paused!important}
.chapter.is-entering{animation:journal-arrive .4s ease-out}
@keyframes journal-arrive{from{opacity:.8;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes paper-in{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:600px){.journal{margin:24px auto;border-radius:15px}.hero{height:820px;min-height:750px}.chapter{padding-left:28px;padding-right:28px}.hero-copy{padding:42px 36px 0}.hero-bottom{left:36px;right:36px}.hero-mushroom{right:32px;top:234px}}
@media(max-width:374px){.hero-copy{padding-left:23px;padding-right:23px}h1{font-size:46px}.hero-mushroom{width:77px;right:15px;top:232px}.chapter{padding-left:18px;padding-right:18px}h2{font-size:27px}.recipe summary{gap:9px}.recipe summary>img{width:59px;height:59px}.recipe-summary strong{font-size:16px}.decision-paper h2{font-size:26px}.choice{padding-left:12px;padding-right:12px}}
@media(max-height:700px){.decision-dialog{max-height:calc(100svh - 16px)}.dialog-shell{padding-top:35px}.decision-paper{padding-top:15px}.card-date{margin-bottom:13px}.decision-paper h2{margin-bottom:10px}.decision-tags{margin-bottom:12px}.decision-stickers{height:49px}.decision-stickers img:first-child{height:57px;width:57px}.decision-stickers img:last-child{height:51px;width:51px}.screenshot-hint{margin:11px 0}.dialog-shell>.button{min-height:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.steam{display:none}}
@media print{.hero{height:620px;min-height:620px}.recipe{break-inside:avoid}.decision-dialog,.choice-grid,.button,.undecided{display:none}.journal{box-shadow:none}}
