@import "https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@300;400;500;600;700&family=Noto+Sans+TC:wght@400;500;700&display=swap";
html,body{width:100%;min-height:100%;margin:0}body{background:#f8f1e7}*{box-sizing:border-box}.listing-thumb-img,.detail-gallery-img{object-fit:cover}
:root{--bg:#fbf1ea;--surface:#fffcfa;--panel:#f6e6dc;--panel-2:#f0dbcc;--ink:#4a2a32;--ink-soft:#7e5a60;--muted:#a98a8c;--border:#eeddd2;--border-strong:#e2cbbd;--fig-dark:#5d333e;--ok:#4da06c;--accent-2:#febd63;--shadow-sm:0 1px 2px #3c2e1e0d,0 1px 3px #3c2e1e0d;--shadow-md:0 6px 18px #503c2314,0 2px 6px #503c230d;--shadow-lg:0 22px 50px #503c2324,0 8px 20px #503c2314;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--maxw:1200px;--ease:cubic-bezier(.2,.7,.25,1);--glass:color-mix(in oklab,var(--surface) 78%,transparent);--accent:#e8634b;--accent-strong:#ab5546;--accent-weak:#faddd3;--accent-tint:#fbede4;--accent-ink:#7e4144;--toast-warn:#e2952b;--toast-warn-soft:#f0b25a}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);letter-spacing:.01em;-webkit-font-smoothing:antialiased;font-family:Noto Serif TC,Georgia,Songti TC,serif;font-size:16px;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}.accent{color:var(--accent)}.btn{cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .2s,color .2s,border-color .2s;white-space:nowrap;-webkit-tap-highlight-color:transparent;border:1.5px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:16px;font-weight:700;display:inline-flex}.btn:active{transform:scale(.95)}.btn-primary{background-color:var(--accent);color:#fff;box-shadow:0 8px 18px -6px color-mix(in oklab,var(--accent) 70%,transparent)}.btn-primary:hover{background-color:var(--accent-strong);box-shadow:0 14px 26px -8px color-mix(in oklab,var(--accent) 65%,transparent);transform:translateY(-2px)}.btn-primary:active{transform:scale(.95)}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-ghost:active{transform:scale(.95)}.btn-lg{border-radius:12px;padding:12px 26px;font-size:16px}.btn svg{width:18px;height:18px}header.nav{z-index:50;background:color-mix(in oklab,var(--accent-2) 12%,color-mix(in oklab,var(--bg) 80%,transparent));-webkit-backdrop-filter:blur(16px)saturate(1.2);border-bottom:1px solid color-mix(in oklab,var(--accent-2) 22%,transparent);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;height:78px;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;font-size:23px;font-weight:700;display:flex}.brand .mark{flex:none;width:38px;height:24px}.brand .mark circle{fill:none;stroke:var(--accent);stroke-width:3.4px}.nav-links{align-items:center;gap:34px;display:flex}.nav-links a{color:var(--ink-soft);padding:6px 0;font-size:16px;font-weight:500;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--accent);width:0;height:2px;transition:width .28s var(--ease);border-radius:2px;position:absolute;bottom:-2px;left:0}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{width:100%}.nav-links a.current{color:var(--ink)}.nav-links a.current:after{width:100%}.nav-cta{align-items:center;gap:14px;display:flex}.hamburger{cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:none}.hamburger:hover{background:var(--panel)}.hamburger span{background:var(--ink);border-radius:2px;width:22px;height:2px;transition:all .25s;display:block;position:relative}.hamburger span:before,.hamburger span:after{content:"";background:var(--ink);border-radius:2px;width:22px;height:2px;transition:all .25s;position:absolute;left:0}.hamburger span:before{top:-7px}.hamburger span:after{top:7px}.pop{display:inline-flex;position:relative}.pop-trigger{color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);cursor:pointer;transition:transform .2s var(--ease),border-color .2s,box-shadow .2s;border-radius:11px;align-items:center;gap:8px;padding:9px 15px;font-family:inherit;font-size:15px;font-weight:600;display:inline-flex}.pop-trigger:hover{border-color:var(--accent-weak);box-shadow:var(--shadow-sm)}.pop-trigger:active{transform:scale(.95)}.pop-trigger .caret{width:15px;height:15px;color:var(--muted);transition:transform .25s var(--ease)}.pop-trigger[aria-expanded=true] .caret{transform:rotate(180deg)}.pop-trigger[aria-expanded=true]{border-color:var(--accent);color:var(--accent-strong)}.pop-panel{z-index:60;background:color-mix(in oklab,var(--surface) 85%,transparent);-webkit-backdrop-filter:blur(20px)saturate(1.5);border:1px solid color-mix(in oklab,#fff 60%,var(--border));border-radius:var(--r-md);min-width:230px;box-shadow:var(--shadow-lg);transform-origin:100% 0;opacity:0;pointer-events:none;transition:opacity .2s var(--ease),transform .2s var(--ease);padding:7px;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-6px)scale(.97)}.pop-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.pop-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:15px;font-weight:500;transition:background .15s,color .15s;display:flex}.pop-item:hover{background:color-mix(in oklab,var(--accent-tint) 70%,transparent);color:var(--accent-ink)}.pop-item.active{color:var(--accent-strong);font-weight:700}.pop-item .pi-ic{width:17px;height:17px;color:var(--muted);flex:none}.pop-item:hover .pi-ic{color:var(--accent)}.pop-item .pi-check{width:16px;height:16px;color:var(--accent);opacity:0;margin-left:auto;transition:opacity .15s}.pop-item.active .pi-check{opacity:1}.pop-sep{background:var(--border);height:1px;margin:5px 8px}section.block{padding:56px 0}.sec-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:38px;display:flex}.sec-title{align-items:center;gap:13px;font-size:clamp(22px,2.4vw,28px);font-weight:700;line-height:1.3;display:flex}.sec-title .bar{background:var(--accent);border-radius:3px;width:5px;height:30px}.sec-tools{align-items:center;gap:14px;display:flex}.see-all{color:var(--accent-strong);align-items:center;gap:6px;font-size:15.5px;font-weight:700;transition:gap .2s;display:inline-flex}.see-all:hover{gap:11px}.pagehead{border-bottom:1px solid var(--border);padding-bottom:30px;position:relative;overflow:hidden}.pagehead:before{content:"";background:radial-gradient(50% 60% at 88% 10%, color-mix(in oklab,var(--accent-2) 42%,transparent) 0%, transparent 64%), radial-gradient(60% 80% at 4% 0%, color-mix(in oklab,var(--accent) 8%,transparent) 0%, transparent 56%);z-index:0;position:absolute;inset:0}.pagehead .wrap{z-index:1;position:relative}.crumb{color:var(--muted);align-items:center;gap:8px;padding-top:26px;font-size:14px;display:flex}.crumb a{transition:color .2s}.crumb a:hover{color:var(--accent-strong)}.crumb svg{opacity:.6;width:14px;height:14px}.page-title{letter-spacing:.005em;margin-top:14px;font-size:clamp(28px,3.4vw,40px);font-weight:600;line-height:1.3}.page-sub{color:var(--ink-soft);text-wrap:pretty;max-width:54em;margin-top:10px;font-size:16px;line-height:1.7}.cards{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;flex-direction:column;display:flex;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:var(--accent-weak);transform:translateY(-4px)}.thumb{aspect-ratio:4/3;background:var(--panel);position:relative;overflow:hidden}.thumb .ph{background-image:repeating-linear-gradient(135deg,color-mix(in oklab,var(--accent) 16%,transparent) 0 10px,transparent 10px 22px);transition:transform .5s var(--ease);position:absolute;inset:0}.card:hover .thumb .ph{transform:scale(1.06)}.thumb .ph-base{background:linear-gradient(135deg,var(--accent-tint),var(--panel-2));position:absolute;inset:0}.city{color:var(--ink);background:color-mix(in oklab,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(4px);box-shadow:var(--shadow-sm);border-radius:999px;padding:5px 11px;font-size:14px;font-weight:700;position:absolute;top:12px;left:12px}.fav{background:color-mix(in oklab,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(4px);cursor:pointer;width:36px;height:36px;box-shadow:var(--shadow-sm);border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex;position:absolute;top:11px;right:11px}.fav svg{fill:none;width:18px;height:18px;stroke:var(--ink-soft);stroke-width:2px;transition:all .2s}.fav:hover{transform:scale(1.12)}.fav:active{transform:scale(.9)}.fav.on svg{fill:var(--accent);stroke:var(--accent)}.fav.pulse{animation:favpop .42s var(--ease)}@keyframes favpop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.card-link{z-index:1;border-radius:inherit;position:absolute;inset:0}.card-body{flex-direction:column;flex:1;padding:18px 18px 20px;display:flex}.card-body h4{align-items:center;gap:8px;font-size:18px;font-weight:700;line-height:1.4;display:flex}.card-body p{color:var(--ink-soft);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;flex:1;margin-top:9px;font-size:15px;display:-webkit-box;overflow:hidden}.card-meta{color:var(--muted);margin-top:15px;font-size:14px}.card-meta .contact{z-index:2;color:var(--ink);align-items:center;gap:7px;width:max-content;margin-top:3px;font-weight:500;text-decoration:none;display:flex;position:relative}.card-meta .contact:hover{color:var(--accent-strong)}.card-meta .contact svg{width:16px;height:16px;color:var(--accent)}.card-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;display:flex}.status{color:var(--ok);align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.status .led{background:var(--ok);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in oklab,var(--ok) 22%,transparent);border-radius:50%}.upd{color:var(--muted);font-size:14px}.sk{background:var(--panel);position:relative;overflow:hidden}.sk:after{content:"";animation:shimmer 1.45s var(--ease) infinite;background:linear-gradient(90deg,#0000,#ffffff8c,#0000);background:linear-gradient(90deg,#0000,lab(100% -.0000298023 .0000119209/.55),#0000);position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.sk-line{background:var(--panel);border-radius:7px;height:13px;position:relative;overflow:hidden}.sk-line:after{content:"";animation:shimmer 1.45s var(--ease) infinite;background:linear-gradient(90deg,#0000,#ffffff8c,#0000);background:linear-gradient(90deg,#0000,lab(100% -.0000298023 .0000119209/.55),#0000);position:absolute;inset:0;transform:translate(-100%)}.sk-card .thumb{background:var(--panel)}.sk-card .card-body{flex-direction:column;gap:11px;display:flex}@media (prefers-reduced-motion:reduce){.sk:after,.sk-line:after{animation:none}}.safety{background:var(--accent-tint);border-radius:var(--r-xl);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:26px;padding:24px 30px;display:flex}.safety-main{flex:280px;align-items:center;gap:16px;min-width:260px;display:flex}.safety .shield{background:var(--accent);border-radius:13px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.safety .shield svg{stroke:#fff;fill:none;stroke-width:2px;width:25px;height:25px}.safety h3{color:var(--accent-ink);font-size:19px;font-weight:700;line-height:1.4}.safety .lead{color:var(--ink-soft);max-width:34em;margin-top:3px;font-size:14.5px}.checks{flex-wrap:wrap;flex:auto;gap:8px;display:flex}.check{background:var(--surface);border:1px solid var(--border);transition:transform .2s var(--ease),box-shadow .2s,border-color .2s;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:500;display:inline-flex}.check:hover{box-shadow:var(--shadow-sm);border-color:var(--accent-weak);transform:translateY(-2px)}.check .tick{background:var(--accent-weak);border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.check .tick svg{width:11px;height:11px;stroke:var(--accent-strong);fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.safety-link{color:var(--accent-strong);flex:none;align-items:center;gap:7px;font-size:15px;font-weight:700;transition:gap .2s;display:inline-flex}.safety-link:hover{gap:11px}.safety-link svg{width:16px;height:16px}footer{border-top:1px solid var(--border);align-items:center;min-height:80px;margin-top:20px;padding:18px 0;display:flex}footer .wrap{width:100%}.foot-brand{flex-direction:column;gap:8px;display:flex}.foot-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.foot-links{flex-wrap:wrap;gap:26px;display:flex}.foot-links a{color:var(--ink-soft);font-size:15px;transition:color .2s}.foot-links a:hover{color:var(--accent-strong)}.foot-social{gap:10px;display:flex}.foot-social a{border:1px solid var(--border);width:40px;height:40px;color:var(--ink-soft);border-radius:12px;justify-content:center;align-items:center;transition:all .2s;display:flex}.foot-social a:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.foot-social a:active{transform:scale(.95)}.foot-social svg{width:18px;height:18px}.copy{color:var(--muted);white-space:nowrap;margin-top:0;font-size:13px}.foot-disclaimer{border-top:1px solid var(--border);color:var(--muted);text-wrap:pretty;margin-top:16px;padding-top:16px;font-size:12.5px;line-height:1.75}.foot-disclaimer a{color:var(--ink-soft);text-underline-offset:2px;text-decoration:underline;transition:color .2s}.foot-disclaimer a:hover{color:var(--accent-strong)}.toast-wrap{z-index:200;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:color-mix(in oklab,var(--toast-warn) 94%,transparent);-webkit-backdrop-filter:blur(10px)saturate(1.2);color:#fff;border-radius:var(--r-md);min-width:300px;max-width:400px;box-shadow:0 18px 40px -10px color-mix(in oklab,var(--toast-warn) 60%,transparent),0 6px 16px #28140f2e;pointer-events:auto;opacity:0;transition:opacity .32s var(--ease),transform .32s var(--ease);align-items:flex-start;gap:13px;padding:15px 17px;display:flex;transform:translateY(20px)scale(.97)}.toast.show{opacity:1;transform:translateY(0)scale(1)}.toast.ok{background:color-mix(in oklab,var(--ok) 92%,transparent);box-shadow:0 18px 40px -10px color-mix(in oklab,var(--ok) 60%,transparent),0 6px 16px #14321e2e}.toast .ti{background:#ffffff38;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.toast .ti svg{fill:none;stroke:#fff;stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.toast .tc{flex:1;min-width:0}.toast .tt{color:#fff;font-size:15.5px;font-weight:700;line-height:1.4}.toast .td{color:#ffffffe6;margin-top:3px;font-size:13.5px;line-height:1.6}.toast .tx{cursor:pointer;color:#fff;background:#ffffff29;border:none;border-radius:7px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;transition:all .15s;display:flex}.toast .tx:hover{background:#ffffff4d}.toast .tx:active{transform:scale(.9)}.toast .tx svg{stroke:#fff;fill:none;stroke-width:2.6px;stroke-linecap:round;width:13px;height:13px}.hero{padding:22px 0 0;position:relative;overflow:hidden}.hero .wrap{max-width:var(--maxw);align-items:flex-end;margin:0 auto;padding:0 28px;display:flex}.hero:before{content:"";background:radial-gradient(46% 42% at 84% 16%, color-mix(in oklab,var(--accent-2) 52%,transparent) 0%, transparent 62%), linear-gradient(180deg, color-mix(in oklab,var(--accent-2) 16%,transparent) 0%, transparent 38%), radial-gradient(70% 80% at 6% 4%, color-mix(in oklab,var(--accent) 9%,transparent) 0%, transparent 56%);z-index:-1;position:absolute;inset:0}.hero-copy{text-align:left;max-width:660px}h1.hero-title{letter-spacing:.005em;font-size:2.35em;font-weight:600;line-height:1.42}.accent.u{white-space:nowrap;position:relative}.accent.u:after{content:"";background:var(--accent-2);opacity:.85;border-radius:4px;height:.09em;position:absolute;bottom:.02em;left:.02em;right:.02em}.hero-actions{flex-wrap:wrap;justify-content:flex-start;gap:14px;margin-top:26px;display:flex}.trust{color:var(--muted);justify-content:flex-start;align-items:center;gap:10px;margin-top:18px;font-size:14.5px;display:flex}.trust svg{width:18px;height:18px;color:var(--accent);flex:none}.hero-sub2{max-width:27em;color:var(--ink-soft);text-wrap:pretty;margin:16px 0 0;font-size:16px;font-weight:400;line-height:1.7}.hero-art{position:relative}.hero-shelf{margin-top:30px}.scene-band{z-index:2;width:62%;margin-bottom:-38px;padding:0 4px;position:relative;overflow:visible}.scene-band svg{width:100%}.scene-svg{width:100%;height:auto;display:block;position:relative;overflow:visible}.scene-svg .ac{fill:var(--accent)}.scene-svg .figdark{fill:var(--fig-dark)}.sky{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sky-sun{background:radial-gradient(circle at center, color-mix(in oklab,var(--accent-2) 88%,transparent) 0%, color-mix(in oklab,var(--accent-2) 26%,transparent) 44%, transparent 70%);transform-origin:50%;border-radius:50%;width:190px;height:190px;position:absolute;top:34px;right:10%}.sky-dot{background:color-mix(in oklab,var(--accent) 55%,transparent);border-radius:50%;position:absolute}.promo{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);align-items:stretch;margin-top:0;display:flex;overflow:hidden}.promo-head{background:var(--accent-weak);width:196px;color:var(--accent-ink);border-right:1px solid var(--border);text-align:center;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:14px;padding:22px 18px;display:flex}.promo-title{letter-spacing:.06em;font-size:17px;font-weight:700;line-height:1.5}.promo-cta{background:var(--accent);color:#fff;border-radius:10px;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.promo-cta:hover{background:var(--accent-strong);transform:translateY(-1px)}.promo-cta:active{transform:scale(.95)}.promo-scroller{flex:1;min-width:0;position:relative}.promo-track{scroll-snap-type:x proximity;scrollbar-width:none;scroll-behavior:smooth;height:100%;display:flex;overflow-x:auto}.promo-track::-webkit-scrollbar{display:none}.promo-card{scroll-snap-align:start;border-right:1px solid var(--border);flex:none;align-items:center;gap:14px;width:220px;padding:18px 20px;transition:background .2s;display:flex}.promo-card:last-child{border-right:none}.promo-card:hover{background:var(--accent-tint)}.pc-ic{background:var(--accent-tint);border-radius:12px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.pc-ic svg{width:23px;height:23px;stroke:var(--accent);fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.pc-text{flex-direction:column;min-width:0;line-height:1.45;display:flex}.pc-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.pc-meta{color:var(--muted);font-size:14px}.promo-scroller:after{content:"";background:linear-gradient(90deg,transparent,var(--surface));pointer-events:none;z-index:2;width:56px;position:absolute;top:0;bottom:0;right:0}.promo-next{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;box-shadow:var(--shadow-md);cursor:pointer;z-index:3;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,background .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.promo-next:hover{background:var(--accent);transform:translateY(-50%)scale(1.07)}.promo-next:active{transform:translateY(-50%)scale(.94)}.promo-next svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s}.promo-next:hover svg{stroke:#fff}@media (prefers-reduced-motion:no-preference){.scene-svg.play .drone{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite hover}.scene-svg.play #kite{transform-box:fill-box;transform-origin:50% 120%;animation:3.4s ease-in-out infinite sway}@keyframes hover{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes sway{0%,to{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}.sky-sun{animation:5s ease-in-out infinite sunbreath}@keyframes sunbreath{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}.sky-dot{animation:drift var(--dur,11s) ease-in-out infinite;animation-delay:var(--dly,0s)}@keyframes drift{0%,to{opacity:.4;transform:translate(0)}25%{transform:translate(18px,-24px)}50%{opacity:1;transform:translate(6px,-40px)}75%{transform:translate(-14px,-18px)}}}@media (max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.safety{gap:18px;padding:22px 24px}}@media (max-width:1024px){.nav-links{display:none}.hamburger{order:0;margin-left:-10px;display:flex}.nav-inner .brand{order:1;gap:9px;margin-right:auto;font-size:18px}.nav-inner .brand .mark{width:30px;height:19px}.nav-cta{order:2;position:static}.nav-cta .btn{padding:9px 18px;font-size:14px;display:inline-flex}.nav-inner{gap:10px;height:62px}.mobile-open .nav-links{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);flex-direction:column;gap:0;padding:8px 20px 18px;display:flex;position:absolute;top:62px;left:0;right:0}.mobile-open .nav-links a{border-bottom:1px solid var(--border);padding:14px 0;font-size:17px}.sec-tools .pop-trigger{padding:8px 13px;font-size:14px}}@media (max-width:720px){.wrap{padding:0 16px}.nav-inner{gap:8px}section.block{padding:40px 0}.sec-head{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.cards{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:14px;margin:0;padding:4px 0 16px;display:flex;overflow-x:auto}.cards::-webkit-scrollbar{display:none}.card{scroll-snap-align:start;flex:0 0 82%}.hero{padding:32px 0 0}.hero-shelf{margin-top:14px}.hero .wrap{flex-direction:column;align-items:stretch}.scene-band{width:100%;margin-bottom:-30px}.scene-band svg{width:100%}.hero-copy{max-width:none}.t-br{display:none}.hero-actions .btn{flex:1;justify-content:center}footer{height:auto;margin-top:24px;padding:8px 0}.foot-inner{text-align:center;flex-direction:column;align-items:center;gap:14px}.foot-brand{align-items:center}.foot-links{justify-content:center;gap:18px 22px}.copy{white-space:normal}.promo-head{gap:10px;width:128px;padding:18px 12px}.promo-title{font-size:15px}.promo-cta{padding:8px 14px;font-size:13px}.promo-card{width:74%}.toast-wrap{bottom:14px;left:14px;right:14px}.toast{min-width:0;max-width:none}}.success-overlay{z-index:200;background:color-mix(in oklab,var(--surface) 70%,transparent);-webkit-backdrop-filter:blur(10px)saturate(1.3);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes so-fade-in{0%{opacity:0}to{opacity:1}}.success-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:480px;max-height:calc(100dvh - 48px);padding:34px 32px;animation:.26s cubic-bezier(.2,.7,.25,1) both so-rise;display:flex;overflow-y:auto}@keyframes so-rise{0%{transform:translateY(24px)scale(.96)}to{transform:none}}.success-title{margin:0;font-size:24px;font-weight:700;line-height:1.3}.success-sub{color:var(--ink-soft);margin:-4px 0 0;font-size:15px;line-height:1.7}.success-link-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);text-align:left;flex-direction:column;gap:10px;width:100%;padding:16px 18px;display:flex}.success-link-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12.5px;font-weight:700}.success-link-text{color:var(--ink-soft);word-break:break-all;background:var(--surface);border:1px solid var(--border);-webkit-user-select:all;user-select:all;border-radius:8px;padding:9px 12px;font-family:SF Mono,ui-monospace,monospace;font-size:13px;line-height:1.5}.btn-ok{background:var(--ok);color:#fff;box-shadow:0 8px 18px -6px color-mix(in oklab,var(--ok) 60%,transparent)}.btn-ok:hover{background:color-mix(in oklab,var(--ok) 84%,#000);transform:translateY(-2px)}.btn-ok:active{transform:scale(.95)}.success-card .btn-ghost{justify-content:center;width:100%;font-size:14.5px}.success-warn{text-align:left;width:100%;color:color-mix(in oklab,var(--accent-2) 32%,#6b4b00);background:color-mix(in oklab,var(--accent-2) 12%,var(--surface));border:1px solid color-mix(in oklab,var(--accent-2) 36%,var(--border));border-radius:11px;align-items:flex-start;gap:9px;padding:12px 14px;font-size:13px;line-height:1.65;display:flex}.success-warn .sw-ic{flex:none;font-size:15px;line-height:1.4}.success-warn b{color:color-mix(in oklab,var(--accent-2) 42%,#5a3f00);font-weight:700}.success-head{justify-content:center;align-items:center;gap:11px;display:flex}.success-check-inline{background:color-mix(in oklab,var(--ok) 14%,var(--surface));border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.success-check-inline svg{width:21px;height:21px;stroke:var(--ok);fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.success-check-ring{background:color-mix(in oklab,var(--ok) 12%,var(--surface));border:2px solid color-mix(in oklab,var(--ok) 30%,transparent);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;animation:.52s cubic-bezier(.2,.7,.25,1) .18s both so-pop;display:flex}@keyframes so-pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.success-check-ring svg{width:34px;height:34px;stroke:var(--ok);fill:none;stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round}@media (max-height:760px),(max-width:480px){.success-card{gap:12px;padding:24px 22px}.success-check-ring{width:54px;height:54px}.success-check-ring svg{width:26px;height:26px}.success-title{font-size:20px}.success-sub{font-size:14px;line-height:1.6}.success-link-box{padding:12px 14px}.success-warn{padding:10px 12px}}
.tv-wrap{flex-direction:column;gap:10px;display:flex}.tv-row{align-items:stretch;gap:10px;display:flex}.tv-row .finput{flex:1;margin:0;transition:border-color .3s,box-shadow .3s,background .3s,color .3s}.tv-row .finput.tv-green{border-color:var(--ok);background:color-mix(in oklab, var(--ok) 6%, var(--surface));color:var(--ok);font-weight:600}.tv-btn{white-space:nowrap;flex:none;padding:12px 18px;font-size:15px}.tv-btn.sent{background:var(--panel);color:var(--muted);border-color:var(--border);cursor:default}.tv-btn.sent:hover{box-shadow:none;transform:none}.tv-code-row{align-items:stretch;gap:10px;animation:.28s cubic-bezier(.2,.7,.25,1) both tv-slide-in;display:flex}@keyframes tv-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.tv-code-input{letter-spacing:.3em;text-align:center;flex:1;font-size:20px;font-weight:700}.tv-code-input::placeholder{letter-spacing:.05em;font-size:14px;font-weight:400}.tv-badge{background:color-mix(in oklab, var(--ok) 10%, var(--surface));border:1.5px solid color-mix(in oklab, var(--ok) 32%, transparent);color:var(--ok);border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-size:14.5px;font-weight:700;animation:.38s cubic-bezier(.2,.7,.25,1) both tv-badge-in;display:inline-flex}.tv-badge svg{width:17px;height:17px;stroke:var(--ok);fill:none;stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}@keyframes tv-badge-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.sg-overlay{z-index:240;background:color-mix(in oklab, var(--surface) 70%, transparent);-webkit-backdrop-filter:blur(10px)saturate(1.3);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.sg-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);text-align:center;width:100%;max-width:412px;max-height:calc(100dvh - 48px);padding:32px 30px 26px;animation:.3s cubic-bezier(.2,.7,.25,1) sg-pop;overflow-y:auto}@keyframes sg-pop{0%{transform:translateY(14px)scale(.97)}to{transform:none}}.sg-ic{background:color-mix(in oklab, var(--accent-2) 14%, var(--surface));border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 16px;display:flex}.sg-ic svg{width:30px;height:30px;stroke:var(--accent-2)}.sg-title{color:var(--ink);margin-bottom:10px;font-size:20px;font-weight:700;line-height:1.4}.sg-body{color:var(--ink-soft);text-wrap:pretty;margin-bottom:24px;font-size:14.5px;line-height:1.8}.sg-body b{color:var(--ink);font-weight:700}.sg-actions{gap:12px;display:flex}.sg-actions .btn{flex:1;justify-content:center}@media (max-width:420px){.sg-actions{flex-direction:column-reverse}}.sb-wrap{display:inline-flex;position:relative}.sb-btn{color:color-mix(in oklab, var(--accent-2) 30%, #6b4b00);background:color-mix(in oklab, var(--accent-2) 18%, var(--surface));border:1.5px solid color-mix(in oklab, var(--accent-2) 45%, var(--border));cursor:pointer;transition:transform .2s var(--ease), box-shadow .2s, border-color .2s;border-radius:999px;align-items:center;gap:7px;padding:7px 13px;font-family:inherit;font-size:13.5px;font-weight:700;display:inline-flex}.sb-btn:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sb-btn:active{transform:scale(.95)}.sb-num{font-variant-numeric:tabular-nums;font-weight:800}@media (max-width:560px){.sb-btn{gap:5px;padding:7px 11px;font-size:13px}.sb-btn .sb-label{display:none}.nav-cta{gap:10px}.nav-inner .brand{gap:7px;font-size:17px}.nav-inner .brand .mark{width:27px;height:17px}}.sb-btn.live{color:var(--ok);background:color-mix(in oklab, var(--ok) 12%, var(--surface));border-color:color-mix(in oklab, var(--ok) 40%, var(--border))}.sb-btn.re-review{color:var(--accent-2);background:color-mix(in oklab, var(--accent-2) 10%, var(--surface));border-color:color-mix(in oklab, var(--accent-2) 35%, var(--border))}.sb-dot{background:var(--accent-2);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in oklab, var(--accent-2) 60%, transparent);border-radius:50%;flex:none;animation:1.8s ease-in-out infinite sb-pulse}.sb-dot.live{background:var(--ok);box-shadow:none;animation:none}.sb-dot.warn{background:var(--accent-2);box-shadow:none;animation:none}@keyframes sb-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--accent-2) 60%,transparent)}60%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}.pp-panel{z-index:80;background:color-mix(in oklab, var(--surface) 95%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.5);border:1px solid color-mix(in oklab, #fff 55%, var(--border));border-radius:var(--r-md);width:280px;max-width:calc(100vw - 28px);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .22s var(--ease), transform .22s var(--ease);padding:18px 20px 14px;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-8px)scale(.97)}.pp-panel.open{opacity:1;pointer-events:auto;transform:none}.pp-head{color:var(--muted);letter-spacing:.07em;margin-bottom:16px;font-size:13px;font-weight:700}.pp-scroll{max-height:min(62vh,460px);margin:0 -4px;padding:0 4px;overflow-y:auto}.pp-item+.pp-item{border-top:1px solid color-mix(in oklab, var(--border-strong) 70%, var(--border));margin-top:16px;padding-top:16px}.pp-item-title{color:var(--ink);border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:14px;padding-bottom:12px;font-size:14px;font-weight:700;display:flex}.pp-item-dot{background:var(--accent-2);border-radius:50%;flex:none;width:7px;height:7px}.pp-item-dot.live{background:var(--ok)}.pp-timeline{flex-direction:column;display:flex}.pp-step{align-items:flex-start;gap:12px;display:flex;position:relative}.pp-node{flex-direction:column;flex:none;align-items:center;padding-top:2px;display:flex}.pp-dot{border:2px solid var(--border-strong);background:var(--surface);border-radius:50%;flex:none;width:14px;height:14px;transition:background .2s,border-color .2s}.pp-step.done .pp-dot{background:var(--ok);border-color:var(--ok)}.pp-step.active .pp-dot{background:var(--accent-2);border-color:var(--accent-2);box-shadow:0 0 0 4px color-mix(in oklab, var(--accent-2) 22%, transparent);animation:1.8s ease-in-out infinite sb-pulse}.pp-line{background:var(--border);border-radius:2px;flex:none;width:2px;height:26px;margin:3px 0}.pp-step.done .pp-line{background:var(--ok)}.pp-content{flex:1;padding-bottom:18px}.pp-step:last-child .pp-content{padding-bottom:4px}.pp-label{color:var(--ink-soft);font-size:14px;font-weight:600;line-height:1.4}.pp-step.done .pp-label{color:var(--ok)}.pp-step.active .pp-label{color:var(--ink);font-weight:700}.pp-time{color:var(--muted);margin-top:2px;font-size:12px}.pp-manage{color:var(--accent-strong);border-top:1px solid var(--border);align-items:center;gap:6px;margin-top:12px;padding-top:12px;font-size:13px;font-weight:600;text-decoration:none;transition:gap .18s;display:flex}.pp-manage:hover{gap:10px}.ct-tabs{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.ct-tab{color:var(--ink-soft);background:var(--surface);border:1.5px solid var(--border);cursor:pointer;transition:transform .2s var(--ease), background .2s, color .2s, border-color .2s, box-shadow .2s;border-radius:12px;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:14.5px;font-weight:500;display:inline-flex}.ct-tab .ic{flex:none;width:15px;height:15px}.ct-tab .ic svg{stroke:currentColor;fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.ct-tab:hover{border-color:var(--accent);color:var(--accent-strong)}.ct-tab:active{transform:scale(.95)}.ct-tab.on{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px -4px color-mix(in oklab,var(--accent) 55%,transparent);transform:translateY(-1px)}.ct-count{opacity:.7;font-size:12px;font-weight:400}.ct-grid{grid-template-columns:repeat(4,1fr);gap:22px;display:grid}.ct-card-in{animation:.3s cubic-bezier(.2,.7,.25,1) both ct-in}@keyframes ct-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:none}}.ct-empty{text-align:center;color:var(--muted);flex-direction:column;grid-column:1/-1;align-items:center;gap:12px;padding:56px 0;font-size:15px;display:flex}.ct-empty svg{width:36px;height:36px;stroke:var(--border-strong);fill:none;stroke-width:1.6px}@media (max-width:980px){.ct-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.ct-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;padding-bottom:12px;display:flex;overflow-x:auto}.ct-grid .card{scroll-snap-align:start;flex:0 0 82%}}.avail-matrix{grid-template-columns:52px repeat(3,1fr);gap:5px 6px;display:grid}.avail-matrix.with-all{grid-template-columns:52px 44px repeat(3,1fr)}.am-cell-all{border:1.5px dashed var(--border);color:var(--muted);letter-spacing:.03em;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s;background:var(--panel)!important}.am-cell-all:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-tint)!important}.am-cell-all.on{border:1.5px solid var(--accent)!important;background:var(--accent)!important;color:#fff!important;border-style:solid!important}.am-row{display:contents}.am-day{color:var(--ink-soft);justify-content:center;align-items:center;height:52px;font-size:14px;font-weight:600;display:flex}.am-cell{border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:52px;display:flex}.am-cell-label{font-size:13px;font-weight:600;line-height:1}.am-cell-sub{font-size:13px}.avail-matrix.read .am-cell{border:1.5px solid var(--border);background:var(--surface)}.avail-matrix.read .am-cell .am-cell-label{color:var(--muted)}.avail-matrix.read .am-cell .am-cell-sub{color:var(--muted);opacity:.6}.avail-matrix.read .am-cell.off{background:var(--panel);border-color:var(--border)}.avail-matrix.read .am-cell.off .am-cell-label{color:var(--muted);text-decoration:line-through}.avail-matrix.read .am-cell.off .am-cell-sub{color:var(--muted);opacity:.5}.avail-matrix.read .am-cell.on{background:var(--accent);border-color:var(--accent)}.avail-matrix.read .am-cell.on .am-cell-label{color:#fff}.avail-matrix.read .am-cell.on .am-cell-sub{color:#ffffffbf}
