:root{color-scheme:dark;--bg:#08121c;--panel:#101e2a;--panel2:#122331;--border:#2a3a45;--muted:#91a3ad;--ink:#f6f8f4;--lime:#c7f368;--lime2:#d8ff8a;--red:#ff947e;--radius:20px;font-family:Inter,"Noto Sans TC","Microsoft JhengHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;min-height:100vh;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--lime);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.52}::selection{background:var(--lime);color:var(--bg)}[hidden]{display:none!important}
.ambient{position:absolute;z-index:-1;pointer-events:none;inset:0 0 auto;height:680px;background:radial-gradient(ellipse at 80% 16%,rgba(119,169,144,.13),transparent 41%),radial-gradient(ellipse at 4% 0,rgba(76,100,141,.13),transparent 37%)}.page-shell{max-width:1210px;margin:0 auto;padding:0 42px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #253540}.brand{display:inline-flex;gap:14px;align-items:center;text-decoration:none}.brand-mark{height:44px;width:44px;border:1px solid #78994b;color:var(--lime);border-radius:14px;display:grid;place-items:center;background:#142819}.brand-copy{font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif;font-size:18px;font-weight:900;letter-spacing:-.04em;line-height:1.05}.brand-copy span{color:var(--lime);margin-left:4px}.brand-copy small{display:block;font-family:inherit;font-size:10px;letter-spacing:.06em;font-weight:600;margin-top:8px;color:var(--muted)}.zh-brand{min-width:170px}.topbar-actions{display:flex;align-items:center;gap:34px}.topbar-status{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:#bed7bf}.pulse{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px #b7f0691a}.admin-link{font-size:12px;color:#b7c9d1;text-decoration:none;border:1px solid #31434a;padding:12px 15px;border-radius:100px;transition:.2s}.admin-link span{margin-left:12px;color:var(--lime)}.admin-link:hover,.small-button:hover{background:#203541}
.hero{display:grid;grid-template-columns:1.3fr 0.7fr;gap:45px;min-height:410px;padding:65px 0 55px;border-bottom:1px solid #243440;align-items:center}.eyebrow,.section-overline,.side-card-overline{font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif;color:var(--lime);font-size:10px;font-weight:800;letter-spacing:.14em}.eyebrow{display:flex;align-items:center;gap:11px}.eyebrow .line{display:block;height:1px;width:25px;background:var(--lime)}.eyebrow-dot{color:#71866c}.hero h1{font-size:clamp(40px,5.5vw,68px);letter-spacing:-.065em;line-height:1.19;margin:26px 0 19px;font-weight:850}.hero h1 span{color:var(--lime)}.hero-description{color:#b7c7cf;font-size:15px;line-height:2;margin:0}.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:29px}.hero-tags span{font-size:11px;color:#d7e4ea;border:1px solid #3c5660;border-radius:50px;padding:9px 12px;background:rgba(19,34,46,.48);backdrop-filter:blur(4px)}
.hero-visual{height:310px;border:1px solid #3b4e55;border-radius:22px;background:linear-gradient(180deg,#6ba2c8 0,#9ad0ef 42%,#c8e4f4 42%,#2f5169 43%,#25404f 100%);position:relative;overflow:hidden;isolation:isolate}.hero-visual:after{position:absolute;content:"";inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 38%,rgba(3,8,14,.10) 100%)}.taiwan-road .sky-glow{position:absolute;inset:0;background:radial-gradient(circle at 72% 18%,rgba(255,255,255,.38),transparent 20%),radial-gradient(circle at 28% 8%,rgba(255,255,255,.18),transparent 24%)}.taiwan-road .mountain{position:absolute;left:-4%;right:-4%;border-radius:48% 52% 0 0 / 100% 100% 0 0}.taiwan-road .mountain-back{height:120px;bottom:132px;background:linear-gradient(180deg,#466b58,#375847);clip-path:polygon(0 100%,7% 73%,16% 82%,29% 44%,40% 68%,52% 30%,65% 62%,77% 38%,89% 66%,100% 48%,100% 100%)}.taiwan-road .mountain-mid{height:96px;bottom:118px;background:linear-gradient(180deg,#628367,#486651);clip-path:polygon(0 100%,10% 62%,22% 86%,34% 51%,46% 77%,57% 44%,67% 72%,80% 35%,91% 68%,100% 58%,100% 100%)}.taiwan-road .sea{position:absolute;left:0;right:0;bottom:98px;height:70px;background:linear-gradient(180deg,#2d91c7,#145579)}.taiwan-road .coast-line{position:absolute;left:0;right:0;bottom:160px;height:3px;background:rgba(246,248,244,.65)}.taiwan-road .road{position:absolute;left:-5%;right:-5%;bottom:-8px;height:132px;background:linear-gradient(180deg,#394146,#25292c);clip-path:polygon(13% 100%,35% 42%,65% 42%,87% 100%)}.taiwan-road .road-mark{position:absolute;bottom:38px;width:11px;height:42px;background:#f7d15d;border-radius:4px;transform:skewX(-4deg)}.taiwan-road .road-mark-1{left:48%}.taiwan-road .road-mark-2{left:53%}.taiwan-road .guardrail{position:absolute;left:8%;right:8%;bottom:94px;height:10px;border-top:3px solid rgba(242,246,248,.72);border-bottom:1px solid rgba(242,246,248,.25)}.taiwan-road .sign{position:absolute;background:#1e8a4b;border:3px solid rgba(244,250,244,.85);border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.18);color:#fff}.taiwan-road .sign strong{display:block;font-size:24px;letter-spacing:-.04em;line-height:1.1}.taiwan-road .sign small,.taiwan-road .sign span,.taiwan-road .sign .sign-no{display:block}.taiwan-road .sign-main{right:22px;top:34px;min-width:148px;padding:12px 14px 11px}.taiwan-road .sign-main .sign-no{font-size:11px;letter-spacing:.12em;margin-bottom:7px;color:#dff4d8}.taiwan-road .sign-main small{font-size:12px;color:#e6f6e5;margin-top:8px}.taiwan-road .sign-side{left:28px;bottom:112px;padding:9px 13px;text-align:center}.taiwan-road .sign-side span{font-size:12px;letter-spacing:.08em}.taiwan-road .sign-side strong{font-size:20px;margin-top:2px}.visual-corner{position:absolute;left:22px;top:24px;color:#244959;background:rgba(241,249,252,.55);font-size:11px;letter-spacing:.04em;line-height:1.8;padding:6px 10px;border-radius:999px;backdrop-filter:blur(3px)}.visual-badge{position:absolute;right:20px;bottom:18px;font:700 11px/1.5 "Noto Sans TC","Microsoft JhengHei",sans-serif;letter-spacing:.04em;color:#163144;text-align:right;background:rgba(250,252,253,.72);padding:10px 12px;border-radius:14px;backdrop-filter:blur(4px)}.visual-badge strong{font-size:16px;color:#0d2532}.visual-number{position:absolute;left:22px;bottom:22px;font:700 11px "Noto Sans TC","Microsoft JhengHei",sans-serif;color:#eff7fa;background:rgba(8,18,28,.25);padding:7px 10px;border-radius:999px}
.poll-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:45px;padding:58px 0 80px}.section-heading,.results-heading,.admin-section-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:29px}.section-heading h2,.results-heading h2,.admin-section-header h2{font-size:clamp(23px,3vw,32px);letter-spacing:-.045em;margin:11px 0 0;line-height:1.35}.accent{color:var(--lime)}.heading-count{font:500 11px monospace;letter-spacing:.2em;color:#778a96;padding-bottom:7px}.identity-block label,.choice-header{display:block;font-weight:700;font-size:14px;margin-bottom:15px}.field-index{color:var(--lime);font:700 11px monospace;margin-right:10px}.required{color:var(--lime)}.identity-block input,.admin-login-panel input,.settings-card input[type="datetime-local"]{display:block;width:100%;height:58px;border:1px solid #354753;border-radius:13px;background:#121f2b;color:#e8f1f2;padding:0 19px;outline:0;transition:.2s}.identity-block input:focus,.admin-login-panel input:focus,.settings-card input:focus{border-color:var(--lime);box-shadow:0 0 0 3px #c7f36822}.identity-block input::placeholder,.admin-login-panel input::placeholder{color:#778d99}.field-hint{font-size:11px;color:#7f939d;display:block;margin-top:10px}.identity-block{margin-bottom:35px}.choice-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.choice-guide{font-size:12px;font-weight:400;color:#9db0b9}.guide-sep{margin:0 5px;color:#586c78}.weekend-cards{display:grid;gap:12px}.weekend-card{display:flex;gap:18px;align-items:center;justify-content:space-between;border:1px solid #31434b;background:linear-gradient(120deg,#13222e,#101e29);border-radius:17px;padding:21px 22px;transition:border-color .2s,transform .2s,background .2s}.weekend-card:hover{border-color:#607661}.weekend-card.missing{border-color:var(--red)}.weekend-date{display:flex;align-items:center;gap:17px;min-width:0}.date-block{min-width:100px}.date-month{display:block;font:700 10px Arial,sans-serif;letter-spacing:.24em;color:var(--lime);margin-bottom:9px}.date-range{font-family:Arial,sans-serif;font-weight:900;font-size:28px;letter-spacing:-.075em;white-space:nowrap;line-height:1}.date-divider{width:1px;height:36px;background:#354954}.date-caption strong{display:block;font-size:13px;white-space:nowrap}.date-caption small{display:block;font-size:11px;color:#90a3ae;margin-top:8px}.answer-controls{display:flex;gap:8px;align-items:center;flex-shrink:0}.answer-option{position:relative;cursor:pointer}.answer-option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.answer-face{display:flex;align-items:center;gap:7px;justify-content:center;border:1px solid #3b4f56;color:#a9bac4;background:#172934;border-radius:10px;padding:12px 16px;min-width:91px;font-size:12px;font-weight:700;transition:.2s}.answer-option:hover .answer-face{border-color:#829697}.answer-option.yes input:checked+.answer-face{background:var(--lime);border-color:var(--lime);color:#152310}.answer-option.no input:checked+.answer-face{background:#384954;border-color:#9bafb4;color:#fff}.answer-option input:focus-visible+.answer-face{outline:3px solid var(--lime);outline-offset:2px}.answer-icon{font-size:15px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:27px}.submission-meta{display:flex;align-items:center;gap:12px}.progress-ring{display:grid;place-items:center;border:1px solid #546b62;background:#1d312c;color:var(--lime);width:49px;height:49px;flex:none;border-radius:50%;font:700 12px monospace}.submission-meta strong{display:block;font-size:12px;margin-bottom:6px}.submission-meta div>span{color:#7f939d;font-size:11px}.primary-button{background:var(--lime);border:1px solid var(--lime);color:#162210;border-radius:13px;min-width:190px;height:56px;display:inline-flex;justify-content:space-between;gap:26px;align-items:center;padding:0 22px;font-weight:800;font-size:14px;box-shadow:0 8px 32px #a1d94a1a;transition:transform .2s,background .2s}.primary-button:hover:not(:disabled){background:var(--lime2);transform:translateY(-2px)}.button-arrow{font-size:22px;font-weight:400}.side-card{border:1px solid #2e424b;background:#111f2b;border-radius:18px;padding:24px;margin-bottom:14px}.accent-side{background:linear-gradient(135deg,#233930,#15292b 72%);border-color:#446252}.side-big{display:block;color:var(--lime);font-family:Arial,sans-serif;font-weight:900;font-size:48px;letter-spacing:-.065em;margin:25px 0 14px}.side-big span{font-size:15px;letter-spacing:0;margin-left:11px}.side-rule{border-top:1px solid #4b6957}.side-card p{font-size:12px;color:#afc6ba;line-height:2.1}.side-card p strong{color:#fff}.timeline-item{display:flex;align-items:start;gap:13px;margin-top:25px}.timeline-item>span{font:800 11px monospace;color:var(--lime);border:1px solid #455b55;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;flex:none}.timeline-item strong{display:block;font-size:12px}.timeline-item small{display:block;color:#889ea9;font-size:11px;margin-top:9px}.privacy-note{display:flex;gap:11px;align-items:start;padding:9px 5px}.mini-lock{color:var(--lime);font-size:22px}.privacy-note p{color:#7e949e;font-size:11px;line-height:1.9;margin:0}.alert{border:1px solid #bb796d;background:#4b2d2a;color:#ffe7dd;border-radius:12px;padding:13px 16px;font-size:13px;line-height:1.6;margin:0 0 18px}.existing-vote{background:#263b31;border:1px solid #4c7359;color:#dbf5da;border-radius:12px;padding:14px 16px;display:flex;gap:11px;align-items:center;font-size:12px;margin-bottom:20px}.existing-icon{font-size:21px;color:var(--lime)}
.success-card{margin-top:24px;background:radial-gradient(circle at 90% 15%,#385a39 0,transparent 35%),#172b2c;border:1px solid #5c8059;padding:35px;border-radius:20px}.success-check{display:grid;place-items:center;border-radius:50%;background:var(--lime);color:#142015;font-size:26px;font-weight:900;width:48px;height:48px;margin-bottom:24px}.success-card h3{font-size:30px;letter-spacing:-.04em;margin:11px 0}.success-card p{font-size:13px;color:#bdd0c1;line-height:1.8}.link-description{font-size:11px;color:#b9cdb9;margin:29px 0 10px}.link-description span{margin-left:5px;color:#c2a997}.edit-link-box{display:flex;border:1px solid #4b6857;border-radius:12px;overflow:hidden;background:#0c1a1c}.edit-link-box input{background:none;border:0;flex:1;min-width:0;color:#e5f0e5;padding:16px 13px;font-size:12px;outline:0}.edit-link-box button{background:var(--lime);font-weight:800;border:0;color:#18260c;padding:0 19px}.success-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:19px}.ghost-button,.text-button{color:var(--lime);border:0;background:transparent;font-size:12px;padding:5px 0}.ghost-button span{margin-left:8px}.results-section{border-top:1px solid #2b4048;padding:52px 0 80px}.public-tally{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.tally-card{background:#14232e;border:1px solid #354952;padding:23px;border-radius:16px}.tally-card .tally-date{font:800 24px Arial,sans-serif;letter-spacing:-.05em}.tally-card .tally-count{font:900 48px Arial,sans-serif;color:var(--lime);margin-top:18px}.tally-card small{display:block;font-size:11px;color:#94a9b3;margin:8px 0 18px}.track{height:7px;background:#2c4148;border-radius:100px;overflow:hidden}.fill{height:100%;background:var(--lime);border-radius:100px;transition:width .4s}.results-disclaimer{color:#8298a2;font-size:11px;margin-top:18px}
footer{border-top:1px solid #25343e;min-height:87px;display:flex;align-items:center;justify-content:space-between;gap:13px;font:700 10px Arial,sans-serif;color:#6f8792;letter-spacing:.14em}footer a{text-decoration:none;color:#b5c5c7}
.admin-hero{padding:65px 0 45px}.admin-hero h1{font-size:clamp(35px,5vw,56px);letter-spacing:-.06em;margin:18px 0 8px}.admin-hero h1 span{color:var(--lime)}.admin-hero p{color:var(--muted)}.admin-login-panel{max-width:460px;padding:30px;margin:0 auto 130px;border:1px solid #395047;border-radius:20px;background:#12232b}.admin-login-symbol{font-size:30px;color:var(--lime)}.admin-login-panel h2{font-size:24px;letter-spacing:-.04em}.admin-login-panel p{font-size:12px;color:var(--muted);line-height:1.8}.admin-login-panel form{display:grid;gap:14px;margin-top:25px}.admin-login-panel label,.settings-card label{font-size:12px;color:#d1dddf}.admin-login-panel button{width:100%}.dashboard-top{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid var(--border);padding-bottom:25px}.dashboard-number{display:flex;gap:15px;align-items:baseline}.dashboard-number strong{font:900 65px Arial,sans-serif;color:var(--lime);letter-spacing:-.07em}.dashboard-number small{font-size:11px;color:var(--muted)}.dashboard-tools{display:flex;gap:9px;flex-wrap:wrap}.small-button{border:1px solid #40545b;border-radius:10px;background:#172934;color:#e7f1f0;padding:12px 15px;font-size:12px;font-weight:750}.small-button.bright{background:var(--lime);color:#17240f;border-color:var(--lime)}.admin-chart-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0 50px}.admin-chart-card{border:1px solid var(--border);background:#12232e;border-radius:17px;padding:25px}.admin-chart-card.leader{border-color:#789d58;background:linear-gradient(135deg,#21372c,#12242c)}.admin-chart-card .chart-title{font-size:21px;font-weight:800}.admin-chart-card .chart-day{color:var(--muted);font-size:12px;margin-top:8px}.admin-chart-card .chart-stat{display:flex;justify-content:space-between;align-items:baseline;margin:25px 0 15px}.admin-chart-card .chart-stat strong{color:var(--lime);font:900 40px Arial,sans-serif}.admin-chart-card .chart-stat span{font-size:11px;color:var(--muted)}.admin-section-header{margin-bottom:19px}.admin-section-header h2{font-size:26px}.muted-caption{font-size:11px;color:var(--muted)}.table-wrapper{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:16px;margin-bottom:35px}table{border-collapse:collapse;width:100%;min-width:730px;font-size:12px}thead{background:#20313b}th,td{padding:17px 19px;border-bottom:1px solid #2c414a;text-align:left;white-space:nowrap}th{color:#a4b8bd;font-weight:650;font-size:11px}tr:last-child td{border:0}tbody tr:hover{background:#182d37}td.name{font-weight:800}.tag{font-size:11px;font-weight:800;padding:7px 10px;border-radius:50px;background:#2c4838;color:#d2f5ca}.tag.no{background:#34434c;color:#beced3}.delete-btn{color:var(--red);border:none;background:none;font-size:11px;text-decoration:underline}.empty-cell{text-align:center;color:var(--muted);padding:35px}.settings-card{display:grid;grid-template-columns:1fr 1fr;gap:40px;border:1px solid var(--border);border-radius:18px;background:#12232d;padding:27px;margin-bottom:70px}.settings-card h2{margin:10px 0;font-size:24px}.settings-card p{font-size:12px;color:var(--muted);line-height:1.8}.settings-card form{display:grid;gap:13px}.settings-card input[type="datetime-local"]{height:49px}.switch-line{display:flex;align-items:center;gap:11px}.switch-line input{accent-color:var(--lime);width:18px;height:18px}.switch-line span{font-size:12px}.settings-card button{justify-self:start}
@media(max-width:1080px){.weekend-card{flex-wrap:wrap;gap:19px}.answer-controls{width:100%}.answer-option{flex:1}.answer-face{width:100%}.poll-layout{grid-template-columns:minmax(0,1fr) 245px;gap:25px}.hero{grid-template-columns:1fr .8fr}}@media(max-width:760px){.page-shell{padding:0 20px}.topbar{height:79px}.topbar-actions{gap:9px}.topbar-status{display:none}.admin-link{padding:10px 12px;font-size:11px}.admin-link span{margin-left:4px}.brand-mark{height:37px;width:37px}.brand-copy{font-size:14px}.brand-copy small{font-size:8px}.hero{display:block;min-height:0;padding:47px 0 34px}.hero h1{font-size:clamp(38px,9vw,55px);margin-top:23px}.hero-description{font-size:13px}.hero-visual{display:none}.hero-tags{margin-top:24px}.hero-tags span{font-size:10px}.poll-layout{display:block;padding:36px 0 45px}.poll-aside{display:none}.section-heading h2{font-size:25px}.weekend-card{padding:19px 16px}.date-range{font-size:25px}.date-block{min-width:85px}.date-caption strong{font-size:12px}.answer-face{padding:13px}.form-footer{align-items:stretch;flex-direction:column}.primary-button{width:100%}.public-tally,.admin-chart-grid{grid-template-columns:1fr}.results-section{padding:40px 0 60px}.tally-card{padding:20px}.tally-card .tally-count{margin-top:10px}.results-heading h2{font-size:24px}.success-card{padding:24px}.admin-hero{padding:47px 0 30px}.dashboard-top{align-items:start;flex-direction:column}.dashboard-number strong{font-size:52px}.admin-chart-grid{margin-bottom:35px}.settings-card{grid-template-columns:1fr;gap:10px}.admin-login-panel{margin-bottom:70px}footer{flex-wrap:wrap;padding:24px 0;min-height:75px}footer span:nth-child(2){display:none}}@media(max-width:375px){.page-shell{padding:0 14px}.weekend-date{gap:11px}.date-divider{height:29px}.date-range{font-size:22px}.date-block{min-width:77px}.date-caption small{font-size:10px}.answer-controls{gap:7px}.answer-face{min-width:0;padding:11px}.hero h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media (max-width: 760px){.zh-brand{min-width:auto}.taiwan-road .sign-main{right:14px;top:18px;min-width:124px;padding:10px 11px}.taiwan-road .sign-main strong{font-size:20px}.taiwan-road .sign-main small{font-size:11px}.taiwan-road .sign-side{left:16px;bottom:102px;padding:8px 10px}.visual-corner{font-size:10px;left:14px;top:14px}.visual-badge{right:14px;bottom:14px;font-size:10px}.visual-badge strong{font-size:14px}.visual-number{left:14px;bottom:14px}}

/* v1.1: real Taiwan-mainland coastline silhouette (GSHHS), no suggested route/direction. */
.island-map-visual{background:radial-gradient(circle at 55% 45%,#203d39 0,#11292e 48%,#0d1c2a 100%);border-color:#38564e}
.island-map-visual:after{background:linear-gradient(125deg,rgba(190,239,151,.04),transparent 62%)}
.island-map-visual .visual-lines{position:absolute;inset:0;background:linear-gradient(90deg,#d4f98b0a 1px,transparent 1px),linear-gradient(#d4f98b0a 1px,transparent 1px);background-size:25px 25px;mask-image:linear-gradient(90deg,transparent,#000)}
.island-map-visual .circle-outline{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(199,243,104,.13);border-radius:50%}
.island-map-visual .circle-outer{height:300px;width:300px}
.island-map-visual .circle-inner{height:226px;width:226px}
.island-map-visual .island-accurate{height:285px;width:248px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 10px 25px rgba(5,12,10,.38))}
.island-map-visual .visual-corner{background:transparent;color:#8fa9a2;top:19px;left:19px;letter-spacing:.14em;font:700 10px/1.6 ui-monospace,monospace}
.island-map-visual .visual-badge{background:transparent;right:18px;bottom:18px;color:#a3bcb6;font-size:11px;padding:0}
.island-map-visual .visual-badge strong{color:#d6f894;font-size:15px}
.island-map-visual .visual-number{background:transparent;color:#769b8f;left:18px;bottom:18px;font-size:10px;padding:0}
/* Analytics: decisions, comparisons, non-attendee breakdown, filters */
.decision-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin:27px 0 38px}
.decision-panel{border:1px solid #344c48;border-radius:19px;background:linear-gradient(125deg,#19342f,#11232b);padding:26px;min-height:188px}
.decision-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.decision-panel.best-panel{background:#11212c;border-color:#2f424c}
.decision-panel h2{font-size:23px;line-height:1.4;letter-spacing:-.03em;margin:16px 0 13px}
.decision-pills,.best-dates{display:flex;gap:8px;flex-wrap:wrap;align-items:center;min-height:32px}
.decision-pill,.best-dates span{display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border-radius:9px;background:#315840;color:#e1ffe1;font-weight:850;font-size:14px;border:1px solid #578465}
.best-dates span{background:#1c3540;color:#d4edee;border-color:#4e6570}
.decision-note{font-size:11px;color:#9db0b1;line-height:1.8;margin:16px 0 0}
.tiny-label,.empty-hint{font-size:12px;color:#9aafad;line-height:1.7}
.chart-section{margin:0 0 42px}.chart-legend{display:flex;gap:16px;align-items:center;font-size:12px;color:#a3b6b7;white-space:nowrap}
.legend-dot,.good-dot,.bad-dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:middle;margin-right:6px;background:var(--lime)}
.legend-dot.no,.bad-dot{background:#69808a}.divider-dot{color:#647b84;margin:0 7px}
.chart-head{display:flex;justify-content:space-between;gap:7px;align-items:center}
.all-yes-marker{font-size:10px;background:#2f5835;color:#def6d1;border-radius:99px;padding:6px 9px;white-space:nowrap}
.admin-chart-grid{margin:20px 0 17px}
.admin-chart-card{min-height:210px}
.stacked-track{height:10px;background:#52616a;border-radius:999px;overflow:hidden}
.stacked-yes{height:100%;background:var(--lime);border-radius:999px;transition:width .3s}
.stacked-labels{display:flex;justify-content:space-between;gap:9px;font-size:11px;color:#a1b7b8;margin-top:12px}
.comparison-panel{border:1px solid #314750;background:#10212c;border-radius:18px;padding:23px}
.comparison-subtitle{font-weight:800;font-size:14px;margin-bottom:19px}.comparison-subtitle span{font-weight:400;font-size:11px;color:#839da5;margin-left:10px}
.comparison-row{display:grid;grid-template-columns:130px minmax(0,1fr) 108px;align-items:center;gap:15px;margin:16px 0}
.comparison-label{font-size:13px;font-weight:700;white-space:nowrap}.comparison-track{height:12px;border-radius:99px;background:#3a4c54;overflow:hidden}.comparison-fill{height:100%;display:block;background:linear-gradient(90deg,#9ed664,#d5f991);border-radius:99px}.comparison-number{text-align:right;font-weight:800;font-size:13px;white-space:nowrap}.comparison-number small{color:#9db0b7;font-weight:500}
.availability-section{margin:0 0 44px}.availability-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.availability-card{border:1px solid #31444e;border-radius:16px;background:#12232e;padding:19px;min-width:0}.availability-card.unanimous{border-color:#64835c}
.availability-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.availability-card-head h3{font-size:15px;margin:0}.availability-status{color:#bcc9cc;background:#253a43;border-radius:99px;font-size:10px;padding:6px 9px}.availability-status.all-yes{color:#d4f5cc;background:#36543c}
.availability-counts{margin:17px 0;color:#c6d3d1;font-size:12px}.availability-names{border-top:1px solid #304650;padding-top:14px;font-size:11px;color:#95aeb2}.availability-names strong{display:block;color:#c2d2d5;margin-bottom:9px}.name-chips{display:flex;gap:6px;flex-wrap:wrap;line-height:1.8}.name-chip{color:#d9e6e8;background:#29414a;padding:4px 8px;border-radius:7px;overflow-wrap:anywhere}
.table-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:16px}.table-search-label{display:flex;flex-direction:column;gap:7px;color:#a2b7bb;font-size:11px}.table-search-label input,.table-search-label select{padding:11px 13px;min-height:42px;background:#11242e;color:#f1f5f2;border:1px solid #405761;border-radius:9px;min-width:190px;max-width:100%}.table-search-label input:focus,.table-search-label select:focus{outline:2px solid var(--lime)}.table-filters .muted-caption{padding-bottom:13px;margin-left:auto}
@media(max-width:900px){.decision-grid{grid-template-columns:1fr}.availability-breakdown{grid-template-columns:1fr}.comparison-row{grid-template-columns:95px minmax(0,1fr) 95px;gap:8px}.comparison-label{font-size:12px}.comparison-number{font-size:12px}}
@media(max-width:760px){.island-map-visual{display:block;margin-top:24px;height:240px}.island-map-visual .island-accurate{height:213px;width:190px}.island-map-visual .circle-outer{height:230px;width:230px}.island-map-visual .circle-inner{height:172px;width:172px}.island-map-visual .visual-badge{font-size:10px}.island-map-visual .visual-badge strong{font-size:12px}.island-map-visual .visual-number{font-size:9px}.decision-panel{padding:20px;min-height:0}.decision-panel h2{font-size:20px}.chart-legend{font-size:10px}.comparison-panel{padding:15px}.table-filters .muted-caption{margin-left:0}.table-search-label{flex:1;min-width:140px}.table-search-label input,.table-search-label select{width:100%;min-width:0}}

/* v1.2: User-supplied photograph branding, no change to page layout or backend. */
.brand-photo-mark{border-radius:50%;overflow:hidden;flex:0 0 44px;border:2px solid var(--lime);background:#13212a}
.brand-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:760px){.brand-photo-mark{height:37px;width:37px;flex-basis:37px;border-width:2px}}

/* v1.5: Admin password panel and zero-percentage chart visibility. */
.stacked-yes{display:block;max-width:100%;min-width:0}
.comparison-fill{max-width:100%;min-width:0}
.stacked-track:empty{background:#52616a}
.comparison-track:empty{background:#3a4c54}
.password-settings input[type="password"]{display:block;width:100%;height:49px;border:1px solid #354753;border-radius:12px;background:#121f2b;color:#e8f1f2;padding:0 15px;outline:0}
.password-settings input[type="password"]:focus{border-color:var(--lime);box-shadow:0 0 0 3px #c7f36822}
.password-feedback{margin:0;color:#ffd2bd;font-size:12px;line-height:1.6}
.password-settings{margin-top:-18px}
