:root{--ink:#30291f;--paper:#f8f1dd;--yellow:#edbd3c;--red:#a83d31;--green:#57765b;--shadow:rgba(76,57,34,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"PingFang SC","Noto Sans SC",system-ui,sans-serif}.paper-noise{position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E")}button{font:inherit;color:inherit}
.hero{position:relative;min-height:100svh;overflow:hidden;padding:42px 22px 30px;text-align:center;background:#f7efd8}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 18%,rgba(255,255,255,.8),transparent 22%),linear-gradient(112deg,transparent 64%,rgba(226,181,61,.13) 64% 67%,transparent 67%)}.wash{position:absolute;filter:blur(2px);opacity:.72;transform:rotate(-5deg)}.wash-yellow{width:390px;height:230px;top:-42px;left:-100px;background:radial-gradient(ellipse,#edbd3c 0 18%,rgba(237,189,60,.6) 38%,transparent 70%);border-radius:41% 59% 37% 63%}.wash-green{width:270px;height:210px;right:-115px;bottom:14%;background:radial-gradient(ellipse,#99aa88 0 18%,rgba(153,170,136,.54) 42%,transparent 72%);border-radius:65% 35% 56% 44%}.hero-leaf{position:absolute;color:#718069;font-size:62px;opacity:.4}.leaf-a{left:-8px;top:34%;transform:rotate(30deg)}.leaf-b{right:-8px;bottom:10%;transform:rotate(190deg)}.eyebrow{position:relative;margin:0;font:700 9px Georgia,serif;letter-spacing:.2em;color:#654f39}.edition-tag{position:absolute;z-index:3;top:34px;right:15px;display:flex;align-items:center;gap:5px;color:var(--red);font:700 11px/1.2 STKaiti,KaiTi,serif;transform:rotate(4deg)}.edition-tag i{display:block;width:20px;height:48px;border:1.5px solid var(--red);border-radius:50%}
.title-lockup{position:relative;z-index:2;margin-top:18px}.title-small{display:block;margin-left:-112px;font:700 21px STKaiti,KaiTi,serif;letter-spacing:.25em}.title-lockup h1{margin:0 auto;width:min(96%,440px);display:flex;justify-content:center;font:900 clamp(51px,15vw,80px)/.98 STKaiti,KaiTi,serif;letter-spacing:-.08em;color:#405f42;filter:drop-shadow(2px 3px 0 #e4a93c)}.title-lockup h1 b{display:inline-block;-webkit-text-stroke:1px #304833}.title-lockup h1 b:nth-child(2){transform:rotate(3deg) translateY(-3px)}.title-lockup h1 b:nth-child(3){transform:rotate(-3deg) translateY(2px)}.brush-note{display:inline-block;margin:10px 0 2px;padding:4px 13px;background:#ead9ae;font:700 12px STKaiti,KaiTi,serif;transform:rotate(-1deg)}
.cover-collage{position:relative;z-index:3;width:min(86vw,390px);height:39vh;min-height:290px;margin:3px auto 0}.postcard{position:absolute;background:#fffaf1;box-shadow:0 8px 18px var(--shadow)}.postcard-back{width:84%;height:74%;left:9%;top:10%;transform:rotate(6deg);border:1px solid #d5c6a6;background:repeating-linear-gradient(0deg,#e9dfc7 0 1px,transparent 1px 28px),#f4ead2}.postcard-back span{position:absolute;right:-27px;top:58px;color:#9b7350;font:700 10px Georgia;letter-spacing:.25em;transform:rotate(90deg)}.postcard-main{width:78%;height:84%;left:9%;top:5%;overflow:hidden;transform:rotate(-3.2deg);border:8px solid #fff}.postcard-main:after{content:"";position:absolute;inset:auto 0 0;height:23%;background:#edb73e;opacity:.78}.sun-disc{position:absolute;width:77%;aspect-ratio:1;border-radius:50%;left:12%;top:9%;background:#f5d467;border:2px dashed rgba(88,92,57,.3)}.lulu{position:absolute;z-index:2;width:98%;height:95%;left:1%;bottom:-4%;object-fit:contain;mix-blend-mode:multiply;filter:saturate(1.04) drop-shadow(0 10px 7px rgba(102,71,25,.13))}.arrival{position:absolute;z-index:4;left:9px;bottom:7px;color:#fff;font:800 15px STKaiti,KaiTi,serif;letter-spacing:.28em}.paperclip{position:absolute;z-index:8;width:15px;height:59px;right:14%;top:-7px;border:3px solid var(--red);border-radius:10px;transform:rotate(17deg);box-shadow:inset 0 0 0 2px #f7efd8}.seal{position:absolute;z-index:7;right:0;bottom:16px;width:56px;height:56px;padding-top:8px;border:3px double var(--red);border-radius:7px;color:var(--red);background:rgba(248,241,221,.72);font:900 17px/1.05 STKaiti,KaiTi,serif;transform:rotate(8deg)}.ticket{position:absolute;z-index:6;left:-4px;bottom:20px;padding:6px 11px;border:1px solid #8e775b;background:#f8e5a5;font:700 11px STKaiti,KaiTi,serif;transform:rotate(4deg)}
.subtitle{position:relative;z-index:3;margin:0 auto 15px;font:14px/1.75 STKaiti,KaiTi,serif}.start-btn{position:relative;z-index:3;border:1.5px solid var(--ink);border-radius:2px;padding:12px 21px;background:var(--green);color:#fff;font-size:13px;font-weight:700;box-shadow:4px 4px 0 #dfb447;transform:rotate(-1deg)}.start-btn span{margin-left:16px}.tiny-note{position:relative;z-index:3;margin:12px 0 0;font-size:9px;letter-spacing:.12em;opacity:.62}
main{max-width:720px;margin:auto;padding:60px 18px 30px}.intro{text-align:center;padding:0 17px 35px}.chapter{display:flex;align-items:center;justify-content:center;gap:8px;font:700 11px STKaiti,KaiTi,serif;letter-spacing:.18em;color:var(--red)}.chapter span{padding:3px 6px;border:1px solid var(--red)}.intro h2{font:900 33px STKaiti,KaiTi,serif;margin:12px 0 8px}.intro>p{margin:0;font-size:13px;line-height:1.8;color:#675c4e}.ink-line{width:150px;height:12px;margin:17px auto 0;border-bottom:2px solid #6d715e;border-radius:50%;transform:rotate(-2deg)}
.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:4px}.module-card{position:relative;min-height:165px;padding:15px;border:0;text-align:left;background:#f8eecf;filter:drop-shadow(3px 5px 0 rgba(57,48,38,.28));transition:.18s transform;clip-path:polygon(2% 1%,98% 0,100% 94%,96% 100%,3% 98%,0 5%);overflow:hidden}.module-card:active{transform:translate(2px,3px) rotate(1deg)}.module-card:before{content:"";position:absolute;inset:0;border:1px solid rgba(48,41,31,.28)}.paper-number{position:absolute;top:13px;right:13px;width:28px;height:28px;padding-top:5px;border:1px solid currentColor;border-radius:50%;text-align:center;font:700 13px STKaiti,KaiTi,serif}.module-sketch{position:absolute;left:14px;top:6px;font:42px STKaiti,KaiTi,serif;opacity:.86}.module-copy{position:absolute;left:15px;right:10px;bottom:19px}.module-copy strong{display:block;font:900 25px STKaiti,KaiTi,serif;letter-spacing:.05em}.module-copy small{display:block;margin-top:3px;font-size:10px;opacity:.75}.arrow{position:absolute;right:13px;bottom:13px;font-size:12px}.ride{background:#ebc34b;transform:rotate(-1deg)}.stay{background:#aab897;transform:rotate(1.2deg)}.food{background:#d97045;color:#fff;min-height:196px}.food:after{content:"";position:absolute;width:86px;height:86px;left:-17px;top:9px;border:2px solid rgba(255,241,207,.55);border-radius:50%;box-shadow:0 0 0 7px rgba(255,241,207,.16)}.food .module-copy strong{font-size:32px}.food .arrow{padding:4px 7px;background:#f6dc83;color:var(--ink);transform:rotate(-3deg)}.imperial-mark{position:absolute;right:14px;top:47px;width:42px;height:42px;padding-top:5px;border:2px double #ffe8b6;text-align:center;font:800 11px/1.1 STKaiti,KaiTi,serif;transform:rotate(7deg)}.garden{background:#87adb8;transform:rotate(-1deg)}.hobby{background:#f0dfad;transform:rotate(1deg)}.extra{background:#917082;color:#fff;transform:rotate(-.6deg)}.tips{background:#57765b;color:#fff}.wide{grid-column:1/-1;min-height:125px}.wide .module-copy{bottom:24px}
.month-note{position:relative;margin:76px 12px 30px;padding:43px 25px 30px;background:#fff8e8;border:1px solid #bca27b;text-align:center;transform:rotate(-1deg);box-shadow:5px 7px 0 rgba(89,70,43,.13)}.month-note p{margin:0;font:16px/1.8 STKaiti,KaiTi,serif}.month-note small{display:block;margin-top:8px;font-size:10px;color:#866f55}.stamp{position:absolute;top:-25px;right:15px;width:58px;height:58px;padding-top:10px;border:3px double var(--red);border-radius:50%;color:var(--red);font:900 13px/1.05 STKaiti,KaiTi,serif;transform:rotate(12deg)}.tape{position:absolute;width:92px;height:24px;top:-12px;left:50%;background:rgba(225,190,98,.48);transform:translateX(-50%) rotate(2deg)}
dialog{width:min(95vw,600px);max-height:92vh;padding:0;border:0;background:transparent}dialog::backdrop{background:rgba(39,32,24,.7);backdrop-filter:blur(4px)}.dialog-shell{position:relative;background:var(--paper);max-height:92vh;overflow:auto;border:1px solid #594b39}.close{position:sticky;z-index:20;float:right;right:12px;top:11px;width:37px;height:37px;border:1px solid #4b4033;border-radius:50%;background:#fff9e9;font-size:25px;line-height:1}.generic-view{padding:42px 24px 28px}.dialog-kicker{font-size:10px;letter-spacing:.2em;color:var(--red);font-weight:800}.generic-view h2{font:900 38px STKaiti,KaiTi,serif;margin:8px 0}.dialog-desc{line-height:1.65;color:#695b50}.sample-list{display:grid;gap:10px;margin-top:24px}.sample-item{padding:16px;border:1px solid #8f795c;background:#fffaf0;box-shadow:3px 3px 0 #dacba9;transform:rotate(-.3deg)}.sample-item:nth-child(even){transform:rotate(.5deg)}.sample-item b{display:block;margin-bottom:5px;font:700 18px STKaiti,KaiTi,serif}.sample-item span{font-size:12px;color:#75675d}.placeholder-note,.menu-footnote{margin-top:20px;padding-top:15px;border-top:1px dashed #b7a58e;font-size:10px;color:#8d7969}
.food-view{min-height:82vh;background:#efe3c8;padding:0 0 30px}.menu-head{position:relative;display:flex;align-items:center;gap:13px;padding:34px 50px 25px 23px;background:#f5cf62;overflow:hidden}.menu-head:after{content:"";position:absolute;width:190px;height:110px;right:-58px;bottom:-55px;border:2px solid rgba(73,86,55,.32);border-radius:50%}.menu-head p{margin:0 0 2px;font:700 10px STKaiti,KaiTi,serif;letter-spacing:.16em}.menu-head h2{margin:0;font:900 42px/.95 STKaiti,KaiTi,serif;color:#3d5e42;letter-spacing:.14em}.menu-head div>span{font:12px STKaiti,KaiTi,serif}.menu-seal{flex:0 0 48px;height:62px;padding-top:8px;border:3px double var(--red);color:var(--red);text-align:center;font:900 18px/1.05 STKaiti,KaiTi,serif;transform:rotate(-5deg)}.chopsticks{position:absolute;right:18px;bottom:8px;font-size:62px;color:#9a5638;transform:rotate(28deg)}.food-tabs{display:flex;gap:7px;padding:15px 17px 12px;overflow-x:auto}.food-tabs button{flex:1;min-width:60px;padding:8px 10px;border:1px solid #705e45;background:#fbf4df;font:700 13px STKaiti,KaiTi,serif}.food-tabs button.active{background:#55745a;color:#fff;box-shadow:3px 3px 0 #d2a83c;transform:translateY(-2px)}.menu-sheet{position:relative;margin:0 14px;padding:21px 16px 25px;background:#fffaf0;box-shadow:4px 6px 0 rgba(85,69,45,.18);clip-path:polygon(1% 0,99% 1%,100% 98%,95% 100%,2% 99%,0 4%)}.menu-sheet:before{content:"御膳房录";position:absolute;right:7px;top:46px;color:rgba(166,61,48,.2);font:900 26px STKaiti,KaiTi,serif;writing-mode:vertical-rl}.menu-date{display:flex;align-items:flex-end;gap:9px;margin:0 0 15px}.menu-date span{padding:3px 6px;background:#a83d31;color:#fff;font-size:9px;transform:rotate(-2deg)}.menu-date b{font:900 25px STKaiti,KaiTi,serif;border-bottom:2px solid #d4b14a}.food-list{display:grid;gap:14px}.dish-card{position:relative;display:grid;grid-template-columns:82px 1fr;gap:13px;min-height:104px;padding:10px 24px 10px 8px;border-top:1px dashed #bbaa8e}.dish-art{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:#f1d16b;font-size:42px;border:5px solid #f8e8b5;box-shadow:0 3px 0 #aa8c59;transform:rotate(-3deg)}.dish-card:nth-child(even) .dish-art{background:#aab897;transform:rotate(3deg)}.dish-copy b{display:block;margin-top:6px;font:900 19px STKaiti,KaiTi,serif}.dish-copy p{margin:5px 0;font-size:11px;line-height:1.55;color:#706454}.dish-copy small{color:var(--red);font-size:10px}.royal-pick{position:absolute;right:2px;top:12px;width:30px;height:45px;padding:4px;border:1.5px solid var(--red);color:var(--red);font:800 9px/1.1 STKaiti,KaiTi,serif;text-align:center;transform:rotate(5deg)}.wiggle{animation:wiggle .45s ease}@keyframes wiggle{25%{transform:rotate(-4deg) scale(1.02)}75%{transform:rotate(4deg) scale(1.02)}}footer{text-align:center;padding:40px 20px 70px;background:#3d4f3e;color:#fff}footer a{color:#f3d471;font-weight:800;text-decoration:none}footer p{font-size:10px;opacity:.62}
@media(min-width:700px){.hero{padding-top:55px}.cover-collage{height:430px}.module-grid{grid-template-columns:repeat(3,1fr)}.feature{grid-row:span 2;min-height:345px}.feature .module-copy{bottom:35px}.feature .module-copy strong{font-size:40px}.wide{grid-column:2/4}.food-list{grid-template-columns:1fr 1fr}.menu-sheet{padding:28px}}
