@font-face{font-family:FansiDisplay;src:url('assets/display.woff2') format('woff2');font-display:swap;font-weight:700}
:root{--paper:#fff9f0;--white:#fffdf9;--apricot:#f6ddc5;--coral:#e97556;--blue:#b9dce8;--ink:#263632;--muted:#596761;--line:#dfded4;--accent:#a83c25;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-bottom:110px}body{margin:0;background:#efece4;color:var(--ink);font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button{border:0}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #286b84;outline-offset:4px}::selection{background:var(--blue);color:var(--ink)}input,textarea{caret-color:var(--accent)}*{scrollbar-color:var(--apricot) var(--paper);scrollbar-width:thin}.skip{position:fixed;top:-60px;padding:10px;background:var(--ink);color:white;z-index:100}.skip:focus{top:0}.app{max-width:560px;margin:auto;background:var(--paper);min-height:100svh;padding-bottom:110px}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.top{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 10px;gap:12px}.brand{font-size:23px;letter-spacing:-.035em;white-space:nowrap}.brand strong{font-family:FansiDisplay,'Songti SC',serif;font-size:29px;margin-right:5px}.brand small{font-size:19px;font-weight:400}.location{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);margin-top:2px}.top-tools{display:flex;gap:8px}.circle{width:43px;height:43px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:var(--white)}.circle[aria-pressed=true]{background:var(--apricot);color:var(--accent)}.circle[aria-pressed=true] .icon{fill:currentColor}.page-title{font-size:16px;margin:0}.intro{padding:16px 24px 18px;position:relative}.intro h1{font-family:FansiDisplay,'Songti SC','STSong',serif;font-size:clamp(37px,8.9vw,54px);line-height:1.2;letter-spacing:-.035em;margin:8px 0 17px;font-weight:700}.intro h1 span{display:inline-block;border-bottom:3px solid var(--coral);padding-bottom:5px}.intro p{margin:0;color:var(--muted);font-size:15px}.intro .weekend{position:absolute;right:24px;bottom:20px;background:var(--blue);padding:8px 12px;border-radius:24px;display:flex;align-items:center;gap:6px;font-size:12px}.weekend .icon{width:16px}.tabs{display:flex;gap:7px;padding:4px 18px 18px;overflow:auto}.tab{padding:10px 17px;min-height:44px;border-radius:24px;background:transparent;white-space:nowrap;font-size:15px}.tab[aria-pressed=true]{background:var(--coral);font-weight:700}.home-feed,.feed{padding:0 16px;display:grid;gap:23px}.event-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-media{position:relative}.card-photo{width:100%;aspect-ratio:1.06;object-fit:cover}.home-feed .event-card:first-child .card-photo{aspect-ratio:1/1.12}.photo-link{display:block}.photo-link img{transition:filter .2s}.photo-link:hover img{filter:brightness(1.04)}.badge{position:absolute;left:15px;top:15px;border-radius:24px;padding:7px 12px;background:var(--paper);font-size:12px;font-weight:600;pointer-events:none}.card-media .save{position:absolute;right:14px;top:14px}.card-copy{padding:18px 19px 20px}.category{color:var(--accent);font-size:12px;margin:0 0 7px}.card-copy h2{font-family:FansiDisplay,'Songti SC',serif;font-size:27px;letter-spacing:-.025em;line-height:1.35;margin:0 0 7px}.card-copy .subtitle{font-size:14px;color:var(--muted);margin:0 0 14px}.meta{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap}.meta .icon{width:16px;height:16px}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}.price{font-size:32px;font-weight:700;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.price small{font-size:12px;font-weight:400;color:var(--muted);margin-left:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:30px;padding:13px 22px;min-height:48px;font-weight:600;text-align:center}.primary{background:var(--coral);color:#1c302a}.primary:hover{background:#ef8768}.secondary{background:var(--blue)}.plain{background:var(--white);border:1px solid var(--line)}.invite{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 16px;background:var(--blue);padding:17px;border-radius:16px;font-size:13px}.invite b{display:flex;gap:7px;align-items:center}.text-btn{background:none;padding:8px;font-size:13px;text-decoration:underline;text-underline-offset:4px}.section{padding:24px}.section h2{font-family:FansiDisplay,'Songti SC',serif;font-size:26px;line-height:1.35;margin:0 0 17px;letter-spacing:-.02em}.section p{margin:0 0 14px;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 23px}.section-head h2{font-size:22px;font-family:FansiDisplay,'Songti SC',serif}.mini-link{display:flex;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.mini-link img{width:86px;height:92px;object-fit:cover;border-radius:12px}.mini-link h3{font-size:16px;margin:0 0 5px}.mini-link p{font-size:12px;margin:0;color:var(--muted)}.mini-link .icon{margin-left:auto}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,560px);z-index:30;display:grid;grid-template-columns:repeat(3,1fr);background:var(--white);border-top:1px solid var(--line);padding:9px 8px calc(8px + env(safe-area-inset-bottom))}.nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;min-height:49px}.nav a[aria-current=page]{color:var(--accent)}.nav .icon{width:24px;height:24px}.nav .plus{background:var(--coral);color:var(--ink);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;margin-top:-16px;border:4px solid var(--paper);box-sizing:content-box}.demo-note{font-size:11px;color:var(--muted);text-align:center;margin:26px 24px 10px}.search{display:flex;align-items:center;gap:9px;margin:8px 20px 16px;padding:0 14px;background:var(--white);border:1px solid var(--line);border-radius:14px}.search input{width:100%;min-width:0;border:0;background:transparent;padding:13px 0;outline-offset:0}.empty{text-align:center;padding:40px 24px}.empty h2{font-size:23px}.empty p{color:var(--muted)}.detail-photo{width:calc(100% - 32px);margin:8px 16px 0;aspect-ratio:1/1.06;object-fit:cover;border-radius:var(--radius)}.detail-heading{padding:23px 24px 8px}.detail-heading h1{font-family:FansiDisplay,'Songti SC',serif;font-size:34px;line-height:1.25;letter-spacing:-.03em;margin:7px 0 12px}.detail-heading p{color:var(--muted);margin:0}.host-link{display:flex;gap:12px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);margin:0 24px}.avatar-letter{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--apricot);font-family:FansiDisplay,serif;font-size:21px;flex-shrink:0}.host-link strong{font-size:14px}.host-link small{display:block;color:var(--muted);font-size:12px}.host-link>.icon{margin-left:auto}.facts{margin:20px 24px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.fact{display:flex;gap:9px;align-items:flex-start}.fact .icon{width:19px;color:var(--accent)}.fact b{font-size:13px;display:block}.fact small{font-size:12px;color:var(--muted)}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:flex;gap:16px;padding:0 0 22px}.timeline .number{font-size:13px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--apricot);flex-shrink:0}.timeline h3{margin:0 0 4px;font-size:16px}.timeline p{font-size:14px;margin:0}.notice{margin:0 24px 22px;background:var(--blue);padding:19px;border-radius:16px;font-size:14px}.notice p{margin:7px 0 0}.notice.apricot{background:var(--apricot)}.action-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,560px);padding:13px 22px calc(13px + env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;z-index:30}.action-bar .price{font-size:29px}.action-bar .btn{min-width:170px}.form{padding:0 24px;display:grid;gap:23px}.field{display:grid;gap:8px}.field label,.field legend{font-size:14px;font-weight:600}.field input,.field textarea,.field select{width:100%;background:var(--white);border:1px solid #bdbfb5;border-radius:12px;padding:13px;min-height:48px}.field textarea{min-height:110px;resize:vertical}.field small{color:var(--muted);font-size:12px}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form fieldset{border:0;padding:0;margin:0}.choices{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.choices label{position:relative}.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices span{display:block;padding:10px 15px;border:1px solid var(--line);border-radius:24px;background:var(--white);font-size:13px}.choices input:checked+span{background:var(--apricot);border-color:var(--accent)}.choices input:focus-visible+span{outline:3px solid #286b84}.helper{background:var(--blue);padding:19px;border-radius:16px}.helper p{font-size:13px;margin:6px 0 12px}.helper .btn{font-size:13px}.full{width:100%}.form-status{color:var(--accent);font-size:13px}.check{display:flex;align-items:flex-start;gap:10px;font-size:13px}.check input{width:19px;height:19px;accent-color:var(--accent);margin-top:2px;flex-shrink:0}.profile-banner{margin:8px 16px 0;width:calc(100% - 32px);height:280px;object-fit:cover;border-radius:22px}.profile-body{padding:25px 24px}.profile-body h1{font-family:FansiDisplay,'Songti SC',serif;font-size:38px;margin:5px 0}.profile-body p{color:var(--muted)}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{background:var(--apricot);padding:5px 10px;border-radius:16px;font-size:12px}.quote{font-family:FansiDisplay,'Songti SC',serif;font-size:24px;line-height:1.6;margin:26px 0}.account{display:flex;align-items:center;gap:15px;padding:25px 24px}.account h1{margin:0;font-size:25px}.account p{margin:3px 0;color:var(--muted);font-size:12px}.account .avatar-letter{width:66px;height:66px;font-size:27px}.menu{margin:0 24px}.menu a{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.menu a>.icon:last-child{margin-left:auto}.draft-card{padding:17px 0;border-bottom:1px solid var(--line)}.draft-card p{font-size:13px;color:var(--muted)}.draft-card h3{margin:0;font-size:17px}.success{padding:45px 24px;text-align:center}.success .success-icon{background:var(--blue);width:74px;height:74px;border-radius:50%;margin:auto;display:grid;place-items:center}.success h1{font-family:FansiDisplay,serif;font-size:32px}.success p{color:var(--muted)}.success .btn{margin:10px 0}.summary{display:flex;gap:15px;margin:15px 24px 24px;align-items:center}.summary img{width:100px;height:120px;border-radius:14px;object-fit:cover}.summary h2{font-size:19px;margin:0 0 8px}.summary p{font-size:13px;margin:3px 0;color:var(--muted)}details{margin:0 24px 15px;border-bottom:1px solid var(--line);padding:12px 0}summary{cursor:pointer;font-weight:600;min-height:35px}details p{color:var(--muted);font-size:14px}.share-box{display:grid;gap:9px}.share-box input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px}#toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);width:max-content;background:var(--ink);color:white;padding:12px 18px;border-radius:12px;z-index:90;opacity:0;pointer-events:none;font-size:13px}#toast.visible{opacity:1}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
body[data-page=home] .top{padding-top:10px;padding-bottom:4px}
body[data-page=home] .intro{padding-top:0;padding-bottom:8px}
body[data-page=home] .intro h1{font-size:38px;line-height:1.07;margin:0 0 5px}
body[data-page=home] .intro .weekend{bottom:8px}
body[data-page=home] .tabs{padding-top:0;padding-bottom:10px}
@media(min-width:700px){body{padding:28px 0}.app{border-radius:28px;min-height:calc(100svh - 56px);border:1px solid var(--line)}.top{padding-top:22px}.nav,.action-bar{border-radius:20px 20px 0 0}.intro{padding-top:20px}.intro h1{font-size:54px}body[data-page=home] .intro h1{font-size:48px}}
@media(max-width:370px){.intro .weekend{position:static;display:inline-flex;margin-top:12px}.intro h1{font-size:36px}.tab{padding:9px 12px}.card-copy h2{font-size:25px}.btn{padding:12px 17px}.row{grid-template-columns:1fr}.action-bar .btn{min-width:145px}.brand strong{font-size:26px}.top{padding-left:17px;padding-right:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
