*{box-sizing:border-box}:root{--ink:#27221e;--red:#b74d40;--cream:#fffaf1;--paper:#eee1cf;--line:#d7c4aa;--muted:#806f5e;--gold:#d39a32;--blue:#557786}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Segoe UI","Microsoft JhengHei",sans-serif;
  color:var(--ink);
  background:#e9dcc8;
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-5;
  background:
    linear-gradient(rgba(247,239,226,.78),rgba(247,239,226,.78)),
    url("/static/scrapbook-bg.png") center top / cover no-repeat;
  filter:saturate(.82);
}
body:after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-4;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(247,239,226,.16) 0%,rgba(247,239,226,.68) 29%,rgba(247,239,226,.68) 71%,rgba(247,239,226,.16) 100%);
}
.bgtext{display:none}
.track{
  position:fixed;z-index:-2;left:5.2%;top:7%;height:86%;
  border-left:2px dashed rgba(85,69,53,.24)
}
.side-route{
  position:fixed;left:2.1%;top:12%;z-index:-1;width:170px;
  font:700 11px/2.15 Consolas,monospace;letter-spacing:.09em;color:#4f4339aa;
  text-transform:uppercase
}
.side-route span{display:block}
.side-route span:before{content:"○";margin-right:9px;color:var(--red)}
.right-notes{
  position:fixed;right:2.2%;top:16%;z-index:-1;width:190px;color:#5d4c3c99;
  font:italic 14px/1.8 Georgia,"Microsoft JhengHei";transform:rotate(2deg)
}
.right-notes .note{
  background:#fff9eec7;border:1px solid #bda98b77;padding:12px 14px;margin:22px 0;
  box-shadow:5px 7px rgba(87,68,48,.07);transform:rotate(-3deg)
}
.right-notes .note:nth-child(2){transform:rotate(4deg)}
.polaroid{
  position:fixed;z-index:-1;width:185px;background:#fff;padding:9px 9px 28px;
  box-shadow:7px 9px rgba(65,50,35,.10);border:1px solid #cdbb9d88
}
.polaroid:before{
  content:"";display:block;height:108px;
  background:linear-gradient(145deg,#84b8cc,#d8e9e9 50%,#6f9e86);
}
.polaroid:after{
  content:attr(data-label);position:absolute;left:12px;bottom:8px;
  font:italic 13px Georgia;color:#504238
}
.p1{left:3%;top:43%;transform:rotate(-7deg)}
.p2{right:3%;top:48%;transform:rotate(6deg)}
.p2:before{background:linear-gradient(145deg,#db735c,#f0bc78 48%,#4d7893)}
@media(max-width:1250px){
  .side-route,.right-notes,.polaroid{opacity:.32}
}
@media(max-width:900px){
  .side-route,.right-notes,.polaroid{display:none}
  body:after{background:rgba(247,239,226,.38)}
}
.wrap{max-width:820px;margin:auto;padding:20px 18px 90px}
.hero{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}
.hero:before{content:"";position:absolute;width:270px;height:175px;background:#fff8;border:1px solid #856e5633;transform:rotate(-5deg);box-shadow:12px 14px #725c4610}.hero>*{position:relative}
.stamp{display:grid;place-items:center;width:75px;height:75px;border:2px solid #b74d40a8;border-radius:50%;color:var(--red);font:bold 11px Georgia;letter-spacing:.12em;transform:rotate(-10deg)}
h1{font:bold clamp(43px,10vw,76px)/.9 Georgia,"Microsoft JhengHei";margin:14px 0 20px;text-shadow:0 2px #fff}.route,.eyebrow,.num{font:700 11px Consolas,monospace;letter-spacing:.14em;color:var(--muted)}.route{padding:9px 12px;border-top:1px solid #8b735b55;border-bottom:1px solid #8b735b55}.hero p{color:var(--muted)}
.ticket{max-width:580px;margin:0 auto 32px;background:var(--blue);color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:8px 9px #705a4518;transform:rotate(.7deg);font-size:12px;letter-spacing:.08em}.ticket b{font:700 18px Georgia}.cut{height:36px;border-left:2px dashed #fff8}
.card{position:relative;background:#fffaf1ee;border:1px solid var(--line);padding:25px 23px;margin:20px 0;border-radius:4px;box-shadow:9px 11px #6d574111}.card:before{content:"";position:absolute;top:-7px;left:29px;width:63px;height:15px;background:#d3b98799;transform:rotate(-3deg)}
.card:nth-of-type(3n){transform:rotate(.12deg)}.card:nth-of-type(4n){transform:rotate(-.1deg)}.num{color:var(--red)}.q{font-size:20px;font-weight:800;margin:8px 0 16px}.hint{font-size:12px;color:var(--muted);margin:-8px 0 14px}
.opts{display:grid;gap:9px}.opt{padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;transition:.15s}.opt:hover{transform:translateY(-1px)}.opt:has(input:checked){border-color:var(--red);background:#fff0ea;box-shadow:inset 4px 0 var(--red)}input[type=radio],input[type=checkbox]{accent-color:var(--red)}
.stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:7px}.stars input{display:none}.stars label{font-size:41px;color:#d5c8b5;cursor:pointer}.stars label:hover,.stars label:hover~label,.stars label:has(input:checked),.stars label:has(input:checked)~label{color:var(--gold)}
input[type=text],input[type=password],textarea{width:100%;border:1px solid var(--line);background:#fff;padding:14px;border-radius:7px;font:inherit;outline:none}textarea{min-height:108px;resize:vertical}input:focus,textarea:focus{border-color:#aa7962;box-shadow:0 0 0 3px #b74d4010}
.other{display:none;margin-top:10px}.opts:has(input[value="其他"]:checked)+.other{display:block}.sectiontag{text-align:center;margin:44px 0 5px;color:#8b745f;font:italic 17px Georgia}.sectiontag:before,.sectiontag:after{content:" — "}
.btn{display:inline-block;border:0;border-radius:7px;padding:14px 19px;background:var(--ink);color:#fff;font-weight:800;text-decoration:none;cursor:pointer}.btn.red{background:var(--red)}.btn.light{background:#e6d9c7;color:var(--ink)}.full{width:100%;padding:17px;font-size:16px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.muted{color:var(--muted)}a{color:var(--red)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat{background:#fffaf1e8;border:1px solid var(--line);padding:17px;box-shadow:5px 6px #6d57410b}.stat b{display:block;font:bold 26px Georgia;margin-top:6px}
.award{font:bold 29px Georgia,"Microsoft JhengHei";margin:5px 0 20px}.barrow{margin:15px 0}.barlabel{display:flex;justify-content:space-between;gap:12px}.bar{height:10px;background:#e5d6c2;border-radius:9px;overflow:hidden;margin-top:7px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--red),#d58c6d)}
details{border-top:1px dashed var(--line);padding:14px 0}summary{font-weight:800;cursor:pointer}.danger button{border:1px solid var(--red);background:white;color:var(--red);padding:9px 11px;border-radius:6px;cursor:pointer}.quote{background:#fff;border-left:4px solid var(--red);padding:14px;margin:13px 0;box-shadow:4px 5px #6d57410c}.quote small{display:block;color:var(--muted);margin-top:7px}.locked{text-align:center;padding:110px 15px}.footer{text-align:center;margin-top:45px;color:#887561;font:11px Georgia;letter-spacing:.14em}
@media(min-width:680px){.stats{grid-template-columns:repeat(3,1fr)}.twocol{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.hero{min-height:370px}.card{padding:22px 17px}.bgtext{opacity:.65}.ticket{margin-left:4px;margin-right:4px}}

/* ===== V4 PUBLIC RESULTS ===== */
.results-page:before{filter:saturate(.72) brightness(1.03)}
.results-wrap{max-width:980px}
.results-hero{text-align:center;padding:70px 15px 40px;position:relative}
.results-hero .stamp{margin:auto}
.results-hero h1{font-size:clamp(48px,9vw,92px);margin:15px 0 10px;line-height:.82}
.results-hero h1 span{font-size:.62em;color:var(--red)}
.results-hero p{color:var(--muted);letter-spacing:.08em}
.hero-score{margin:30px auto 0;width:210px;padding:20px;background:#fffaf2e8;border:1px solid var(--line);box-shadow:8px 9px #6d57410c;transform:rotate(-1deg)}
.hero-score strong{font:700 56px Georgia}.hero-score>span{font:700 20px Georgia;color:var(--muted)}
.hero-score>div{color:var(--gold);letter-spacing:3px;font-size:19px}.hero-score small{font:700 9px Consolas;letter-spacing:.13em;color:var(--muted)}
.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#2c2925;color:#fff;margin:10px 0 28px;box-shadow:8px 9px #6d574116}
.summary-strip>div{padding:19px 12px;text-align:center;border-right:1px dashed #ffffff44}.summary-strip>div:last-child{border:0}
.summary-strip b{display:block;font:700 29px Georgia}.summary-strip span{display:block;font-size:10px;letter-spacing:.08em;color:#e6d8c6;margin-top:4px}
.award-feature{position:relative;text-align:center;background:#fffaf0ef;border:1px solid var(--line);padding:35px 30px;margin:22px 0;box-shadow:9px 11px #6d574111}
.award-feature:before{content:"";position:absolute;top:-8px;left:calc(50% - 40px);width:80px;height:16px;background:#d3b98799;transform:rotate(-2deg)}
.award-kicker{font:800 11px Consolas;letter-spacing:.15em;color:var(--red)}
.rank-no{font:italic 64px Georgia;color:#d6c3a6;line-height:1;margin-top:10px}.award-feature h2{font-size:clamp(28px,5vw,45px);margin:0 0 5px}
.award-feature>p{color:var(--muted)}
.mini-ranking{max-width:580px;margin:25px auto 0;border-top:1px dashed var(--line)}
.mini-ranking div{display:flex;justify-content:space-between;text-align:left;padding:10px 4px;border-bottom:1px dashed #d7c4aa88;font-size:13px}
.results-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin:22px 0}
.result-panel{background:#fffaf0ef;border:1px solid var(--line);padding:27px;box-shadow:7px 9px #6d57410e}
.result-panel h2{font:700 28px Georgia,"Microsoft JhengHei";margin:7px 0 20px}
.podium{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px dashed var(--line)}.podium .medal{font-size:28px}.podium b{display:block;font-size:16px}.podium small{display:block;color:var(--muted);margin-top:3px}
.split-panel{display:grid;gap:12px;background:transparent;border:0;box-shadow:none;padding:0}
.mini-award{background:#fffaf0ef;border:1px solid var(--line);padding:23px;box-shadow:7px 9px #6d57410e;display:flex;flex-direction:column;justify-content:center;min-height:145px}
.mini-award>span{font-size:28px}.mini-award small{font:800 10px Consolas;color:var(--red);letter-spacing:.12em;margin:7px 0}.mini-award b{font-size:25px}.mini-award em{font-style:normal;color:var(--muted);font-size:12px;margin-top:4px}
.next-trip{margin:38px 0;background:#587786;color:#fff;box-shadow:10px 12px #6d574117;transform:rotate(.15deg)}
.airline{padding:12px 20px;border-bottom:2px dashed #ffffff55;font:800 11px Consolas;letter-spacing:.15em}
.next-inner{display:grid;grid-template-columns:.9fr 1.4fr;gap:28px;padding:30px}
.destination{border-right:2px dashed #ffffff55}.destination small,.type-votes>small{font:700 9px Consolas;letter-spacing:.13em;color:#e8d9c6}.destination h2{font:700 clamp(38px,6vw,64px) Georgia,"Microsoft JhengHei";margin:7px 0}.destination p{margin:0;color:#e8d9c6}
.type-row{margin:10px 0}.type-row>div{display:flex;justify-content:space-between;font-size:12px}.type-row i{display:block;height:7px;background:#ffffff30;border-radius:8px;margin-top:5px;overflow:hidden}.type-row u{display:block;height:100%;background:#f1d4a2;text-decoration:none}
.memory-section{margin:55px 0 25px}.section-title{text-align:center;margin-bottom:28px}.section-title h2{font:700 35px Georgia,"Microsoft JhengHei";margin:8px 0}.section-title p{color:var(--muted)}
.memory-wall{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.memory-card{position:relative;background:#fff;padding:25px 25px 21px;min-height:185px;border:1px solid #d3c1a8;box-shadow:8px 10px #6d574110}
.memory-card.card-1{transform:rotate(-1deg)}.memory-card.card-2{transform:rotate(1.2deg)}.memory-card.card-3{transform:rotate(.4deg)}.memory-card.card-0{transform:rotate(-.6deg)}
.memory-card small{font:700 9px Consolas;letter-spacing:.1em;color:#9a8875}.memory-card blockquote{font:italic 20px/1.7 Georgia,"Microsoft JhengHei";margin:23px 0 14px}.memory-card>b{font-size:12px}.postmark{position:absolute;right:17px;top:14px;width:58px;height:58px;border:2px solid #b74d4070;border-radius:50%;display:grid;place-items:center;text-align:center;font:700 8px Georgia;color:#b74d4090;transform:rotate(12deg)}
.next-small{margin-top:17px;padding-top:10px;border-top:1px dashed var(--line);font:700 10px Consolas;color:var(--red);letter-spacing:.08em}
.result-footer{text-align:center;padding:35px 10px;color:#887561;font:10px Georgia;letter-spacing:.14em}
@media(max-width:700px){
 .summary-strip{grid-template-columns:repeat(2,1fr)}.summary-strip>div:nth-child(2){border-right:0}
 .results-grid,.next-inner,.memory-wall{grid-template-columns:1fr}.destination{border-right:0;border-bottom:2px dashed #ffffff55;padding-bottom:22px}
 .results-hero{padding-top:45px}.award-feature{padding:30px 17px}.result-panel{padding:22px 18px}
}
