#text-view{color:#2b2f2c;max-width:560px;margin:0 auto;padding:64px 24px 32px;font:16px/1.8 -apple-system,PingFang SC,Microsoft YaHei,sans-serif}#text-view h1{color:#1f5a3f;letter-spacing:.12em;margin:0;font-size:30px}#text-view h2{color:#1f5a3f;margin:36px 0 8px;font-size:18px}#text-view h3{margin:0;font-size:17px}#text-view ul,#text-view ol{padding-left:1.2em}#text-view a{color:#1f5a3f}#text-view .soon{color:#8a8f8a;margin-left:.6em;font-size:12px}body{background:#f4f1ea;margin:0}#icp{padding:20px 16px calc(20px + env(safe-area-inset-bottom));text-align:center;font-size:12px}#icp a{color:#8a8f8a;text-decoration:none}body.scene-on #text-view{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body.scene-on #icp{z-index:50;padding:6px 12px calc(6px + env(safe-area-inset-bottom));pointer-events:none;position:fixed;bottom:0;left:0;right:0}body.scene-on #icp a{pointer-events:auto;color:#3c46408c;font-size:11px}:root{--ink:#24302a;--green:#1f5a3f;--paper:#f7f2e7;--red:#c0392b;--safe-top:max(env(safe-area-inset-top), var(--host-inset-top,0px))}.k97-ui{pointer-events:none;z-index:20;color:var(--ink);font-family:K97 Serif,Noto Serif SC,Songti SC,serif;position:fixed;inset:0}.k97-ui [hidden]{display:none!important}#app{touch-action:none;position:fixed;inset:0}.k97-title{text-align:center;text-shadow:0 1px 12px #ffffffbf;max-width:min(90vw,560px);position:absolute;transform:translate(-50%)}.k97-title h2{letter-spacing:.3em;color:var(--green);margin:0;font-size:clamp(24px,4vw,44px);font-weight:600}.k97-title p{letter-spacing:.12em;margin:.3em 0 0;font-size:clamp(12px,1.4vw,15px)}.k97-hint{letter-spacing:.08em;text-align:center;background:#f7f2e7e0;border-radius:999px;width:max-content;max-width:calc(100vw - 32px);margin:0;padding:8px 16px;font-size:13px;line-height:1.6;animation:6s forwards k97-fade;position:absolute;bottom:44px;left:50%;transform:translate(-50%)}@keyframes k97-fade{0%{opacity:0}10%,85%{opacity:1}to{opacity:0}}.k97-opening{padding:calc(var(--safe-top) + 6vh) 16px calc(env(safe-area-inset-bottom) + 6vh);flex-direction:column;justify-content:space-between;align-items:center;transition:opacity .8s;display:flex;position:absolute;inset:0}.k97-opening.leaving{opacity:0}.k97-sign{border:3px solid var(--green);text-align:center;background:#fff;border-radius:6px;min-width:min(80vw,360px);padding:14px 36px 12px;box-shadow:0 8px 30px #1f5a3f26}.k97-sign .name{letter-spacing:.4em;text-indent:.4em;color:var(--green);font-size:clamp(40px,8vw,72px);font-weight:700;line-height:1.1}.k97-sign .py{letter-spacing:.5em;margin-top:4px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px}.k97-sign .stops{letter-spacing:.1em;border-top:1px solid #1f5a3f40;justify-content:space-between;gap:18px;margin-top:10px;padding-top:8px;font-size:13px;display:flex}.k97-sign .dot{color:#d8a93a}.flap{min-width:.6em;display:inline-block}.flap.f{animation:.12s ease-out k97-flap}@keyframes k97-flap{0%{opacity:.3;transform:rotateX(80deg)}to{opacity:1;transform:none}}.k97-ticket,.k97-wallet .ticket{color:#3a2b28;text-align:center;background:linear-gradient(135deg,#f6d9d2,#f3e3d6);border-radius:4px;grid-template-columns:1fr auto 1fr;grid-template-areas:"no no no""from via to"".py.""train train train""rule rule rule";align-items:center;gap:2px 10px;width:300px;padding:14px 18px 12px;font-family:K97 Serif,Noto Serif SC,serif;display:grid;position:relative;box-shadow:0 6px 20px #3c1e142e}.k97-ticket .t-no,.ticket .t-no{color:var(--red);grid-area:no;justify-self:start;font:11px ui-monospace,monospace}.t-from{white-space:nowrap;grid-area:from;font-size:22px;font-weight:700}.t-to{white-space:nowrap;grid-area:to;font-size:18px;font-weight:700}.t-via{grid-area:via;font-size:11px}.t-py{letter-spacing:.3em;grid-area:py;font:10px ui-sans-serif,sans-serif}.t-train{grid-area:train;font-size:13px}.t-train b{font-size:16px}.t-rule{opacity:.7;grid-area:rule;font-size:10px}.t-stamp{border:2px solid var(--red);width:40px;height:40px;color:var(--red);opacity:0;border-radius:50%;font-size:18px;line-height:36px;transition:opacity .2s,transform .25s cubic-bezier(.3,1.6,.5,1);position:absolute;top:10px;right:14px;transform:scale(1.8)rotate(-18deg)}.k97-ticket{opacity:0;pointer-events:auto;cursor:pointer;transition:transform .9s cubic-bezier(.2,.9,.25,1),opacity .5s;transform:translateY(40vh)rotate(-8deg)}.k97-opening.ticket-in .k97-ticket{opacity:1;transform:rotate(-3deg)}.punched{clip-path:polygon(0 0,34% 0,37% 12px,45% 12px,48% 0,100% 0,100% 100%,0 100%)}.k97-opening.stamped .t-stamp,.ticket.punched .t-stamp{opacity:.85;transform:rotate(-12deg)}.k97-tip{letter-spacing:.2em;opacity:0;margin:10px 0 0;font-size:13px;transition:opacity .6s .8s}.k97-opening.ticket-in .k97-tip{opacity:.75}.k97-opening.checking .k97-tip{opacity:0;transition-delay:0s}.k97-wallet{pointer-events:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:calc(var(--safe-top) + 16px) 16px 32px;opacity:0;background:#24302a59;place-items:center;transition:opacity .3s;display:grid;position:absolute;inset:0;overflow:auto}.k97-wallet.on{opacity:1}.k97-wallet .spread{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:20px;max-width:980px;display:flex}.k97-wallet .cover{background:var(--green);color:#f3eedf;border-radius:10px;width:280px;padding:26px 24px;box-shadow:0 12px 40px #00000040}.k97-wallet .cover .k{letter-spacing:.3em;opacity:.7;margin:0;font-size:12px}.k97-wallet .cover h2{letter-spacing:.2em;margin:12px 0 6px;font-size:28px}.k97-wallet .cover .loves{font-size:13px;line-height:1.8}.k97-wallet .cover ul{margin:16px 0 0;padding:0;font-size:13px;list-style:none}.k97-wallet .cover li span{opacity:.7;width:3.5em;display:inline-block}.k97-wallet .cover a{color:#fff}.k97-wallet .tickets{flex-direction:column;gap:10px;display:flex}.k97-wallet .tickets .hint{color:#fff;letter-spacing:.2em;text-shadow:0 1px 6px #0000004d;margin:0;font-size:13px}.k97-wallet .ticket{cursor:pointer;border:0;transition:transform .2s}.k97-wallet .ticket:hover{transform:translate(6px)rotate(-1deg)}.k97-wallet .ticket.picked{transform:translate(14px)scale(1.04)}.k97-card{pointer-events:auto;background:#fffdf8f5;border-radius:10px;padding:14px 16px;position:absolute;box-shadow:0 10px 30px #00000026}.k97-card h3{color:var(--green);margin:0 0 4px;font-size:17px}.k97-card p{margin:0 0 6px;font-size:14px;line-height:1.7}.k97-card small{opacity:.55;font-size:11px}.k97-outside{pointer-events:auto;text-align:center;padding:calc(var(--safe-top) + 16px) 16px 24px;opacity:0;flex-direction:column;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:absolute;inset:0}.k97-outside.on{opacity:1}.k97-outside h2{letter-spacing:.3em;color:var(--green);text-shadow:0 2px 18px #fffc;margin:0;font-size:clamp(32px,6vw,60px)}.k97-outside .line{letter-spacing:.15em;text-shadow:0 1px 10px #fffc;font-size:15px}.k97-outside .btns{align-items:center;gap:12px;margin-top:18px;display:flex}.k97-outside .enter,.k97-outside .back{font:inherit;cursor:pointer;border-radius:999px;padding:10px 22px;font-size:15px;text-decoration:none}.k97-outside .enter{background:var(--green);color:#fff}.k97-outside .back{color:var(--ink);background:#ffffffd9;border:1px solid #1f5a3f4d}.k97-outside .soon{letter-spacing:.3em;background:#ffffffb3;border-radius:999px;margin:0;padding:10px 22px}@media (prefers-reduced-motion:reduce){.k97-ui *{transition-duration:10ms!important;animation-duration:10ms!important}}
