@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Sans+TC:wght@400;500;700;900&family=Shippori+Mincho:wght@700&display=swap');
:root{--paper:#f6efe2;--ink:#25211d;--red:#ef5b43;--blue:#4f6bff;--yellow:#f3c83b;--night:#171d32;--line:rgba(37,33,29,.18);--display:'Shippori Mincho','Noto Serif TC',serif;--body:'Noto Sans TC',sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body)}button,input{font:inherit}button{cursor:pointer;color:inherit}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(246,239,226,.94);backdrop-filter:blur(14px);z-index:20}.brand{text-decoration:none;color:inherit;display:flex;gap:12px;align-items:center}.brand span{font:900 27px/1 var(--body);letter-spacing:-2px}.brand small{font:11px var(--mono);border-left:1px solid;padding-left:12px}.topbar nav{display:flex;gap:7px}.topbar button,.filters button{border:1px solid var(--line);background:transparent;border-radius:99px;padding:9px 15px}.topbar button:hover,.filters button:hover,.filters .selected{background:var(--ink);color:var(--paper)}.bag b{display:inline-grid;place-items:center;background:var(--red);color:white;border-radius:50%;width:22px;height:22px;margin-left:4px}.view{display:none;min-height:calc(100vh - 82px)}.view.active{display:block}.hero.active{display:grid;grid-template-columns:1.08fr .92fr;gap:8vw;padding:8vh 7vw 10vh;align-items:center}.kicker{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase}.hero h1,.section-head h2,.room-panel h2{font:700 clamp(52px,7vw,112px)/.95 var(--display);letter-spacing:-.08em;margin:22px 0}.hero h1 em{color:var(--red);font-style:normal}.lead{font-size:18px;line-height:1.9;max-width:610px}.safety-note{display:flex;gap:14px;border-top:1px solid var(--line);margin-top:42px;padding-top:20px;max-width:570px}.safety-note span{font-size:24px}.safety-note p{margin:0;line-height:1.65;font-size:14px}.machine{background:var(--yellow);border:2px solid var(--ink);box-shadow:14px 14px 0 var(--ink);padding:22px;transform:rotate(1deg)}.machine-screen{background:var(--ink);color:#d4ff87;padding:18px;font:14px var(--mono);display:flex;justify-content:space-between;margin-bottom:14px}.machine>button{width:100%;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;text-align:left;border:1px solid var(--ink);border-bottom:0;background:#fff9ed;padding:18px;transition:.2s}.machine>button:hover{transform:translateX(-7px);background:white}.machine i{grid-row:1/3;font:12px var(--mono);font-style:normal}.machine strong{font-size:20px}.machine small{margin-top:4px}.machine-slot{margin-top:16px;border:1px solid;background:var(--ink);color:white;text-align:center;padding:9px;font:11px var(--mono);letter-spacing:.2em}.catalog{padding:7vw}.section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:40px}.section-head h2{font-size:clamp(44px,6vw,84px);margin-bottom:0}.section-head>p{max-width:410px;line-height:1.8}.filters,.cuisine-strip{display:flex;gap:8px;align-items:center;padding:28px 0;flex-wrap:wrap}.filters label{margin-left:auto;border-bottom:1px solid;padding:6px}.filters label span{font:11px var(--mono);margin-right:10px}.filters input{border:0;background:transparent;outline:0}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.card{background:var(--paper);padding:20px;min-height:420px;display:flex;flex-direction:column}.card-art{height:230px;display:grid;place-items:center;font-size:86px;background:var(--card,#e5d9c7);overflow:hidden;position:relative}.card-art:after{content:'ZERO';position:absolute;font:900 54px var(--body);opacity:.06;transform:rotate(-15deg)}.card-meta{font:11px var(--mono);display:flex;justify-content:space-between;margin-top:17px}.card h3{font-size:22px;margin:12px 0 7px}.card p{color:#655f58;font-size:14px;line-height:1.7;margin:0 0 18px}.card button{margin-top:auto;border:1px solid;background:transparent;padding:12px}.card button:hover{background:var(--red);color:white}.cuisine-strip button{border:0;border-bottom:1px solid transparent;background:none;padding:7px 2px;margin-right:17px}.cuisine-strip button.selected{border-color:var(--red);color:var(--red)}.room-view.active{display:grid;grid-template-columns:1.15fr .85fr;background:var(--night);color:#f4f0e8}.night-window{min-height:calc(100vh - 82px);position:relative;overflow:hidden;background:linear-gradient(#11162b,#333c5d)}.moon{position:absolute;width:100px;height:100px;background:#f7e5a5;border-radius:50%;top:10%;right:14%;box-shadow:0 0 60px #f7e5a566}.city{position:absolute;inset:48% 0 0;background:linear-gradient(90deg,#0d1020 8%,transparent 8% 10%,#111526 10% 24%,transparent 24% 27%,#0a0e1d 27% 43%,transparent 43% 46%,#12172a 46% 70%,transparent 70% 73%,#0b0e1c 73%);border-bottom:20vh solid #090c17}.breath{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:170px;height:170px;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle,#ffc95e,#ef5b43 45%,transparent 70%);filter:drop-shadow(0 0 25px #ef5b43);transition:2.5s ease;user-select:none;touch-action:none}.breath.hold{width:310px;height:310px;filter:drop-shadow(0 0 70px #ffc95e)}.breath span{font:11px/1.5 var(--mono)}.room-panel{padding:8vw 6vw}.room-panel h2{font-size:clamp(46px,5vw,78px)}.room-panel>p{line-height:1.8;color:#bdc2d6}.room-panel form{margin-top:45px}.room-panel label{display:block;font:11px var(--mono);margin-bottom:10px}.room-panel form div{display:flex;border-bottom:1px solid #7b8197}.room-panel input{flex:1;color:white;border:0;background:none;padding:14px 0;outline:0}.room-panel form button{background:none;border:0;color:#ffc95e}.messages{margin-top:26px;max-height:240px;overflow:auto}.message{padding:10px 0;border-bottom:1px solid #ffffff14;font-size:13px;color:#d8dbea}.message time{font:10px var(--mono);color:#81879d;margin-right:10px}.cart-view{padding:7vw;place-items:center}.cart-view.active{display:grid}.receipt{background:#fffdf6;width:min(600px,100%);padding:42px;box-shadow:10px 13px 40px #776d5c33;position:relative}.receipt:after{content:'';position:absolute;left:0;right:0;bottom:-10px;height:12px;background:linear-gradient(135deg,transparent 7px,#fffdf6 0) 0 0/14px 14px repeat-x}.receipt-mark{font:11px var(--mono);letter-spacing:.2em}.receipt h2{font:38px var(--display)}.cart-line{display:grid;grid-template-columns:1fr auto auto;gap:15px;padding:14px 0;border-top:1px dashed #aaa;font-size:14px}.cart-line button{border:0;background:none}.receipt-total{border-top:2px solid;margin-top:15px;padding-top:20px;display:grid;grid-template-columns:1fr auto;gap:10px}.receipt-total strong{font-size:38px;color:var(--red)}.checkout{width:100%;margin-top:24px;background:var(--ink);color:white;border:0;padding:17px}.receipt>small{display:block;text-align:center;margin-top:12px;color:#777}.delivery-view{place-items:center;background:var(--blue);color:white;padding:7vw}.delivery-view.active{display:grid}.delivery-card{text-align:center;max-width:600px}.rider{font-size:70px;position:relative;animation:ride 3s infinite ease-in-out}.rider span{display:block;width:180px;height:2px;background:#ffffff33;margin:auto}.delivery-card h2{font:clamp(44px,7vw,82px)/1.05 var(--display);letter-spacing:-.06em}.delivery-card p{line-height:1.8}.timeline{display:flex;justify-content:center;margin:35px}.timeline i{width:60px;height:5px;background:#ffffff33;margin:3px}.timeline .done{background:var(--yellow)}.delivery-card button{padding:13px 28px;border:1px solid white;background:transparent;color:white}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,100px);background:var(--ink);color:white;padding:12px 20px;z-index:40;transition:.3s;opacity:0}.toast.show{transform:translate(-50%,0);opacity:1}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:28px 4vw;font:11px var(--mono)}footer button{border:0;background:none}@keyframes ride{50%{transform:translateX(80px) rotate(-4deg)}}
@media(max-width:850px){.topbar nav{display:none}.hero.active,.room-view.active{grid-template-columns:1fr}.hero.active{padding:7vh 6vw}.machine{margin-bottom:30px}.section-head{display:block}.product-grid{grid-template-columns:1fr 1fr}.card{min-height:360px}.card-art{height:190px}.night-window{min-height:55vh}.room-panel{padding:12vw 7vw}.filters label{width:100%;margin-left:0}.receipt{padding:28px}footer p{display:none}}
@media(max-width:520px){.product-grid{grid-template-columns:1fr}.card-art{height:240px}.hero h1{font-size:52px}.topbar{height:70px}.view{min-height:calc(100vh - 70px)}.section-head h2{font-size:43px}.catalog{padding:11vw 5vw}.bag{padding:7px 10px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
