:root{color-scheme:light;--paper:#fcfaf3;--white:#fffefa;--ink:#172921;--muted:#53625a;--green:#113b2c;--line:#e2e2d5;--accent:#f5cc5d;--red:#ae3a27;--blue:#214f8c;--purple:#653780;--radius:18px;font-family:"DM Sans","PingFang HK","Noto Sans TC","Microsoft JhengHei",sans-serif}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);line-height:1.55}
a{color:inherit;text-underline-offset:.2em}
button,input,select{font:inherit}
button,select{cursor:pointer}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #9e4907;outline-offset:4px}
[hidden]{display:none!important}
.wrap{width:min(1160px,calc(100% - 72px));margin-inline:auto}
.skip{position:absolute;left:12px;top:-70px;z-index:3;background:white;padding:8px 12px}
.skip:focus{top:8px}
.mast{border-bottom:1px solid var(--line)}
.mast-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:66px}
.wordmark{display:inline-flex;align-items:center;gap:10px;font-weight:850;text-decoration:none;white-space:nowrap;letter-spacing:.03em}
.mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--green);color:#f9df89;font-weight:900}
nav{display:flex;align-items:center;gap:25px;font-size:.9rem;font-weight:750}
nav a{text-decoration:none}
nav a:hover,.section-link:hover{text-decoration:underline}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;padding-block:26px 4px}
.hero-main{min-height:350px;padding:36px 42px;background:radial-gradient(ellipse at 100% 100%,#265743,transparent 62%),var(--green);color:#fffdf1;border-radius:24px}
.edition{margin:0 0 20px;color:#f9dd85;font-size:.88rem;font-weight:800;letter-spacing:.09em}
.dot{display:inline-block;vertical-align:1px;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#f5cc5d}
h1,h2,h3,p{overflow-wrap:anywhere}
h1{margin:0;font-size:clamp(2.65rem,5.25vw,4.5rem);font-weight:920;line-height:1.08;letter-spacing:-.065em}
.intro{margin:17px 0 19px;color:#e1eee5;font-size:.97rem}
.hero-link,.more{display:inline-flex;gap:14px;align-items:center;padding:8px 15px;border-radius:100px;text-decoration:none;background:var(--accent);color:#21342a;font-size:.88rem;font-weight:850;border:0;min-height:40px}
.hero-side{background:#f1eddf;border:1px solid #e6e0cf;padding:21px;border-radius:24px}
.ticket-heading,.section-head,.meta,.event-top,.shop{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ticket-heading{margin-bottom:10px}
.ticket-heading h2{margin:0;font-size:1.04rem}
.ticket-heading a,.section-link{font-size:.84rem;font-weight:780;text-decoration:none}
.ticket-stack{display:grid;gap:9px}
.ticket{display:grid;grid-template-columns:66px 1fr auto;align-items:center;gap:12px;padding:9px 12px 9px 8px;background:#fffdf7;border-radius:12px;border:1px solid #e5e1d4;text-decoration:none;min-height:78px}
.ticket:hover{border-color:var(--tone)}
.ticket-date{display:grid;justify-items:center;border-right:1px dashed #dad6c9;color:var(--tone);font-size:.66rem;font-weight:800;line-height:1.15;padding-right:7px}
.ticket-date b{font-size:2.05rem;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.ticket-name{display:block;font-weight:850;line-height:1.2}
.ticket-detail{display:block;margin-top:4px;color:var(--muted);font-size:.76rem}
.ticket-offer{color:var(--tone);font-weight:850;font-size:1.17rem;white-space:nowrap}
[data-tone=yuu]{--tone:var(--blue);--wash:#eaf2fc}
[data-tone=moneyback]{--tone:var(--purple);--wash:#f1e9f7}
[data-tone=other]{--tone:#286348;--wash:#e8f2e9}
.section{margin-block:30px 42px;scroll-margin-top:16px}
.section-head{align-items:end;margin-bottom:13px}
.section-head h2{margin:0;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.2;letter-spacing:-.045em}
.section-head p{margin:5px 0 0;color:var(--muted);font-size:.87rem}
.section-link{white-space:nowrap;color:var(--green);margin-bottom:4px}
.featured,.result-grid,.calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.deal,.event,.shop,.empty{border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.deal{min-width:0;padding:17px;display:flex;flex-direction:column;align-items:start}
.featured .deal:first-child{background:#fff3ce;border-color:#e6c260}
.meta{width:100%;font-size:.77rem;flex-wrap:wrap;justify-content:flex-start;gap:5px}
.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:100px;background:var(--wash);color:var(--tone);font-weight:800}
.badge.top{background:#f5dc8e;color:#503400}
.badge.channel{background:#f0f0ea;color:#45524b}
.deal h3{margin:9px 0 3px;font-size:1.08rem;line-height:1.36}
.price{margin:2px 0 3px;color:var(--red);font-size:clamp(1.55rem,3vw,2.35rem);font-weight:920;letter-spacing:-.045em;line-height:1.12;font-variant-numeric:tabular-nums}
.price small{color:var(--muted);margin-left:3px;font-size:.79rem;font-weight:750;letter-spacing:0}
.unit-price,.reason,.conditions,.timing,.reference{margin:3px 0;font-size:.81rem}
.unit-price{font-weight:800}
.reference,.conditions,.timing{color:var(--muted)}
.reason{font-weight:730}
.timing{margin-top:auto;padding-top:9px}
.timing strong{color:var(--red)}
.source{display:inline-block;color:var(--green);font-weight:750;font-size:.78rem;padding-block:4px}
.filters{padding:13px;background:#f0eee3;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:10px}
.segmented{display:flex;flex-wrap:wrap;gap:6px}
.segmented button{min-height:39px;padding:6px 14px;background:var(--white);border:1px solid #deded0;border-radius:100px;color:var(--ink);font-size:.86rem;font-weight:800}
.segmented button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}
.controls{display:grid;grid-template-columns:1fr 1fr 1fr 1.6fr;gap:8px}
.controls label{display:grid;gap:3px;min-width:0;color:var(--muted);font-weight:750;font-size:.79rem}
.controls input,.controls select{width:100%;min-width:0;min-height:41px;padding:6px 9px;background:var(--white);color:var(--ink);border:1px solid #d7d9cd;border-radius:8px;font-size:.9rem}
.count{font-size:.81rem;color:var(--muted);margin:9px 0}
.more{display:flex;margin:15px auto 0}
.empty{grid-column:1/-1;padding:16px;margin:0;color:var(--muted)}
.event{padding:14px;min-width:0}
.event.is-today{border-color:#87a893;background:#f0f7ee}
.event h3{margin:6px 0 3px;font-size:1rem}
.event-offer{color:var(--tone);font-weight:850}
.event p{margin:3px 0;font-size:.84rem}
.event .conditions{margin:6px 0}
.directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.shop{padding:9px 12px;text-decoration:none;min-height:62px}
.shop:hover{border-color:var(--tone)}
.shop strong{display:block;font-size:.9rem}
.shop small{display:block;color:var(--muted);font-size:.75rem}
.shop span:last-child{color:var(--tone)}
footer{background:var(--green);color:#eff5e9;padding:20px 0;font-size:.86rem}
.foot p{margin:3px 0 0;color:#dbe7db;font-size:.77rem}
@media(max-width:880px){.wrap{width:calc(100% - 44px)}.hero-main{padding:31px 27px}.hero-side{padding:15px}.ticket{grid-template-columns:45px 1fr auto;gap:8px}.ticket-offer{font-size:1rem}.result-grid,.calendar-grid,.directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.wrap{width:calc(100% - 28px)}.mast-inner{min-height:55px}.wordmark{font-size:.9rem}.mark{width:29px;height:29px}.mast nav{gap:11px;font-size:.73rem}.mast nav a:first-child{display:none}.hero{grid-template-columns:1fr;padding-top:12px;gap:8px}.hero-main{min-height:0;padding:21px 20px;border-radius:17px}.edition{margin-bottom:10px;font-size:.75rem}.intro{margin:11px 0 12px;font-size:.84rem}h1{font-size:clamp(2.2rem,9.7vw,3.2rem)}.hero-link{min-height:35px;padding:5px 11px}.hero-side{padding:10px;border-radius:17px}.ticket-heading{margin-bottom:5px;padding-inline:3px}.ticket-heading h2{font-size:.86rem}.ticket-heading a{font-size:.73rem}.ticket-stack{gap:5px}.ticket{min-height:50px;padding:5px 9px 5px 5px}.ticket-date b{font-size:1.35rem}.ticket-date{font-size:.56rem}.ticket-name{font-size:.84rem}.ticket-detail{margin-top:1px;font-size:.69rem}.ticket-offer{font-size:.91rem}.section{margin-block:20px 30px}.section-head{margin-bottom:9px}.section-head p{font-size:.78rem}.featured{grid-template-columns:1fr 1fr;gap:7px}.featured .deal:first-child{grid-column:1/-1}.deal{padding:10px;border-radius:13px}.deal h3{font-size:.93rem}.price{font-size:1.65rem}.meta,.source,.unit-price,.reason,.conditions,.timing,.reference{font-size:.73rem}.result-grid,.calendar-grid,.directory{gap:7px}.event,.shop{border-radius:13px}.event{padding:9px}.event h3{font-size:.86rem}.event p,.event-offer{font-size:.76rem}.filters{padding:8px}.controls{grid-template-columns:1fr 1fr}.controls label:last-child{grid-column:1/-1}}
@media(max-width:350px){.featured,.result-grid,.calendar-grid,.directory{grid-template-columns:1fr}.featured .deal:first-child{grid-column:auto}.mast nav a:nth-child(2){display:none}}
