:root{--c-ink:#151a3b;--c-text:#3b4264;--c-muted:#737a98;--c-faint:#a5aac1;--c-bg:#f4f5fd;--c-surface:#fff;--c-surface-soft:#f8f8ff;--c-line:#e1e4f1;--c-line-strong:#cdd2e8;--c-primary:#5a5be4;--c-primary-600:#4949cf;--c-primary-100:#e4e3ff;--c-primary-50:#f1f0ff;--c-blue:#4c9af7;--c-violet:#7b5cf0;--c-lilac:#b9b0fa;--c-peach:#ffb48c;--c-brand:#ff1d4e;--c-brand-orange:#feb139;--c-success:#17a673;--c-success-50:#e8f8f1;--c-danger:#e5484d;--c-danger-50:#fdeeee;--c-warning:#e79a11;--c-warning-50:#fdf5e6;--g-primary:linear-gradient(100deg, #4ea2f8, #6377f3 52%, #7b5cf0);--g-primary-hover:linear-gradient(100deg, #5badff, #6f82f7 52%, #8a6cf5);--g-ai:linear-gradient(105deg, #3d7af3, #6a63ef 45%, #a05ae4);--g-vote:linear-gradient(100deg, #ff9a3d, #ff5a4e 50%, #ff1d4e);--g-swoosh:linear-gradient(90deg, #8b7cf6e6, #b8a0facc 45%, #ffb48cd9);--g-soft:linear-gradient(135deg, #f6f5ff, #eef3ff 55%, #fff4ee);--shadow-sm:0 2px 8px #3c46960f;--shadow-card:0 30px 70px -32px #404aaa47, 0 2px 8px #404aaa0d;--shadow-float:0 40px 90px -40px #404aaa73, 0 6px 18px #404aaa14;--shadow-btn:0 14px 28px -12px #5a5be4b3;--shadow-btn-vote:0 14px 28px -12px #ff3250a6;--radius-xs:6px;--radius-sm:8px;--radius:12px;--radius-lg:20px;--radius-xl:28px;--font-sans:"Noto Sans TC", -apple-system, "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-serif:"Noto Serif TC", "Songti TC", "PMingLiU", serif;--font-hand:"LXGW WenKai TC", "Kaiti TC", "DFKai-SB", cursive;--font-script:"Allura", "Snell Roundhand", cursive;--font-display:"Unbounded", var(--font-sans);--container:1200px;--container-narrow:880px;--gutter:16px;--header-h:72px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(16px + var(--header-h))}body{min-height:100vh;font-family:var(--font-sans);color:var(--c-text);background-color:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.75;overflow-x:hidden}blockquote,body,dd,dl,figure,h1,h2,h3,h4,h5,h6,ol,p,ul{margin:0}h1,h2,h3,h4{color:var(--c-ink);font-weight:700;line-height:1.3}ol,ul{padding:0;list-style:none}canvas,img,svg,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline-offset:2px;outline:3px solid #5a5be473}::selection{color:var(--c-ink);background:#7b5cf033}.container{width:min(100% - var(--gutter) * 2,var(--container));margin-inline:auto}.container--narrow{width:min(100% - var(--gutter) * 2,var(--container-narrow))}.section{padding-block:calc(clamp(56px,7vw,96px));position:relative}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;color:var(--c-muted);align-items:center;gap:10px;font-size:12px;font-weight:500;display:inline-flex}@media (width<=479px){.eyebrow{letter-spacing:.18em}}.eyebrow b{color:var(--c-primary);letter-spacing:.12em;font-weight:700}.eyebrow:before{content:"";opacity:.6;background:currentColor;width:28px;height:1px}.section-title{font-family:var(--font-serif);letter-spacing:.04em;color:var(--c-ink);font-size:calc(clamp(1.75rem,1.2rem + 2.2vw,2.75rem));font-weight:700}.section-lead{max-width:46em;color:var(--c-muted);font-size:calc(clamp(15px,1.4vw,17px))}.section-head{gap:14px;margin-bottom:calc(clamp(32px,5vw,56px));display:grid}.section-head--center{text-align:center;justify-items:center}.serif{font-family:var(--font-serif)}.hand{font-family:var(--font-hand)}.script{font-family:var(--font-script);font-weight:400}.text-gradient{background:var(--g-ai);color:#0000;-webkit-background-clip:text;background-clip:text}.spaced{letter-spacing:.42em;text-transform:uppercase;color:var(--c-faint);font-size:11px;line-height:2}.muted{color:var(--c-muted)}.req{color:var(--c-danger);margin-left:4px}.page-enter-active,.page-leave-active{transition:opacity .25s,transform .25s}.page-enter-from{opacity:0;transform:translateY(8px)}.fade-enter-from,.fade-leave-to,.page-leave-to{opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .25s}.reveal-pending{opacity:0;transform:translateY(28px)}.reveal-pending.is-revealed{opacity:1;transition:opacity .9s var(--ease-out) var(--reveal-delay,0s),transform .9s var(--ease-out) var(--reveal-delay,0s);transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-pending{opacity:1;transform:none}}.btn{--btn-h:48px;height:var(--btn-h);letter-spacing:.06em;white-space:nowrap;isolation:isolate;transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 26px;font-size:16px;font-weight:700;line-height:1;display:inline-flex;position:relative;overflow:hidden}.btn .iconify{flex:none;font-size:1.15em}.btn:active:not(:disabled){transform:translateY(1px)scale(.98)}.btn.is-disabled,.btn:disabled{cursor:not-allowed;opacity:.5;box-shadow:none!important}.btn--sm{--btn-h:38px;padding:0 18px;font-size:14px}.btn--lg{--btn-h:56px;padding:0 34px;font-size:17px}.btn--block{width:100%;display:flex}.btn--icon{width:var(--btn-h);padding:0}.btn--primary,.btn--vote{color:#fff;background:var(--g-primary);box-shadow:var(--shadow-btn)}.btn--primary:after,.btn--vote:after{content:"";z-index:-1;transition:transform .8s var(--ease-out);background:linear-gradient(110deg,#0000 20%,#ffffff73 45%,#0000 70%);position:absolute;inset:0;transform:translate(-110%)}.btn--primary:hover:not(:disabled),.btn--vote:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 36px -14px #5a5be4bf}.btn--primary:hover:not(:disabled):after,.btn--vote:hover:not(:disabled):after{transform:translate(110%)}.btn--vote{background:var(--g-vote);box-shadow:var(--shadow-btn-vote)}.btn--vote:hover:not(:disabled){box-shadow:0 20px 36px -14px #ff3250b3}.btn--ghost{color:var(--c-ink);border-color:var(--c-line-strong);background:#ffffffd9}.btn--ghost:hover:not(:disabled){border-color:var(--c-primary);color:var(--c-primary);background:#fff}.btn--soft{color:var(--c-primary);background:var(--c-primary-50)}.btn--soft:hover:not(:disabled){background:var(--c-primary-100)}.btn--text{height:auto;color:var(--c-primary);border-radius:4px;padding:4px 2px;font-weight:700}.btn--text:hover:not(:disabled){color:var(--c-primary-600);text-underline-offset:4px;text-decoration:underline}.btn--outline-square{border-radius:var(--radius-sm);color:var(--c-text);border-color:var(--c-line-strong);background:#fff;font-weight:500}.btn--outline-square:hover:not(:disabled){border-color:var(--c-primary);color:var(--c-primary)}.link{color:var(--c-primary);text-underline-offset:4px;font-weight:500;-webkit-text-decoration:underline #5a5be44d;text-decoration:underline #5a5be44d;transition:text-decoration-color .2s}.link:hover{text-decoration-color:currentColor}.field{gap:8px;padding-block:12px;display:grid}.field__label{color:var(--c-ink);padding-top:2px;font-size:15px;font-weight:700;line-height:1.5;display:block}@media (width>=768px){:root{--gutter:32px;--header-h:84px}.field{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:0 20px}.field__label{padding-top:11px}}.field__control{gap:8px;min-width:0;display:grid}.field__hint{color:var(--c-muted);align-items:flex-start;gap:6px;font-size:13px;line-height:1.6;display:flex}.field__hint .iconify{color:var(--c-primary);flex:none;margin-top:2px;font-size:15px}.field__error{color:var(--c-danger);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.field__error .iconify{flex:none}.input,.select,.textarea{width:100%;min-width:0;color:var(--c-ink);border:1px solid var(--c-line);border-radius:var(--radius-sm);appearance:none;background:#fff;outline:none;padding:0 14px;font-size:15px;transition:border-color .2s,box-shadow .2s,background-color .2s}.input::-moz-placeholder{color:var(--c-faint)}.select::-moz-placeholder{color:var(--c-faint)}.textarea::-moz-placeholder{color:var(--c-faint)}.input::placeholder,.select::placeholder,.textarea::placeholder{color:var(--c-faint)}.input:hover:not(:disabled,[readonly]),.select:hover:not(:disabled,[readonly]),.textarea:hover:not(:disabled,[readonly]){border-color:var(--c-line-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 4px #5a5be41f}.input:disabled,.input[readonly],.select:disabled,.select[readonly],.textarea:disabled,.textarea[readonly]{color:var(--c-muted);background:var(--c-surface-soft);cursor:default}.input.is-invalid,.select.is-invalid,.textarea.is-invalid{border-color:var(--c-danger)}.input.is-invalid:focus,.select.is-invalid:focus,.textarea.is-invalid:focus{box-shadow:0 0 0 4px #e5484d1f}.input,.select{height:46px}.textarea{resize:vertical;min-height:132px;padding:12px 14px 28px;line-height:1.7;display:block}.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23737a98' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.counted{position:relative}.counted__count{color:var(--c-faint);pointer-events:none;font-size:12px;position:absolute;bottom:8px;right:12px}.counted__count.is-over{color:var(--c-danger);font-weight:700}.check{cursor:pointer;color:var(--c-text);align-items:flex-start;gap:12px;font-size:15px;line-height:1.6;display:inline-flex}.check input{opacity:0;pointer-events:none;position:absolute}.check__box{border:1.5px solid var(--c-line-strong);color:#fff;width:22px;height:22px;transition:background-color .2s,border-color .2s,transform .2s var(--ease-spring);background:#fff;border-radius:6px;flex:none;place-items:center;margin-top:1px;display:grid}.check__box .iconify{opacity:0;transition:opacity .15s,transform .25s var(--ease-spring);font-size:15px;transform:scale(.4)}input:checked+.check__box{background:var(--c-primary);border-color:var(--c-primary)}input:checked+.check__box .iconify{opacity:1;transform:none}input:focus-visible+.check__box{outline-offset:2px;outline:3px solid #5a5be473}.check.is-invalid .check__box{border-color:var(--c-danger)}.check-card{border:1px solid var(--c-line);border-radius:var(--radius-sm);background:#fff;padding:14px 16px;transition:border-color .2s,background-color .2s;display:flex}.check-card:has(input:checked){border-color:var(--c-lilac);background:var(--c-primary-50)}.check-card.is-invalid{border-color:var(--c-danger)}.radio-cards{gap:12px;display:grid}@media (width>=560px){.radio-cards{grid-template-columns:repeat(var(--cols,2),minmax(0,1fr))}}.radio-card{border:1px solid var(--c-line);border-radius:var(--radius);cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s var(--ease-out);background:#fff;align-items:center;gap:14px;padding:16px 18px;display:flex;position:relative}.radio-card input{opacity:0;pointer-events:none;position:absolute}.radio-card__dot{border:1.5px solid var(--c-line-strong);background:#fff;border-radius:50%;flex:none;width:22px;height:22px;transition:border-color .2s;position:relative}.radio-card__dot:after{content:"";background:var(--c-primary);transition:transform .25s var(--ease-spring);border-radius:50%;position:absolute;inset:4px;transform:scale(0)}.radio-card__body{gap:2px;min-width:0;display:grid}.radio-card__title{color:var(--c-ink);font-weight:700}.radio-card__desc{color:var(--c-muted);font-size:13px}.radio-card__aside{color:var(--c-muted);white-space:nowrap;margin-left:auto;font-size:12px}.radio-card:hover:not(.is-disabled){border-color:var(--c-lilac)}.radio-card:has(input:checked){background:var(--c-primary-50);border-color:#8f86f8;box-shadow:0 10px 24px -16px #5a5be499}.radio-card:has(input:checked) .radio-card__dot{border-color:var(--c-primary)}.radio-card:has(input:checked) .radio-card__dot:after{transform:scale(1)}.radio-card:has(input:focus-visible){outline-offset:2px;outline:3px solid #5a5be473}.radio-card.is-disabled{cursor:not-allowed;opacity:.55}.radio-card.is-invalid{border-color:var(--c-danger)}.notice{border-radius:var(--radius);color:var(--c-text);background:var(--c-primary-50);border:1px solid var(--c-primary-100);align-items:flex-start;gap:10px;padding:12px 16px;font-size:14px;line-height:1.7;display:flex}.notice>.iconify{color:var(--c-primary);flex:none;margin-top:3px;font-size:18px}.notice--success{background:var(--c-success-50);border-color:#17a67333}.notice--success>.iconify{color:var(--c-success)}.notice--danger{background:var(--c-danger-50);border-color:#e5484d33}.notice--danger>.iconify{color:var(--c-danger)}.notice--warning{background:var(--c-warning-50);border-color:#e79a1140}.notice--warning>.iconify{color:var(--c-warning)}.card{background:var(--c-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid #fffc;position:relative}.glass{-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);background:#ffffff9e;border:1px solid #ffffffbf}.spotlight:before{content:"";border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),#7b5cf01f,transparent 45%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.spotlight:hover:before{opacity:1}.badge{letter-spacing:.04em;white-space:nowrap;height:26px;color:var(--c-primary);background:var(--c-primary-50);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.badge .iconify,.chip{font-size:14px}.badge--mandarin{color:#3d6ff0;background:#e9f0ff}.badge--taiwanese{color:#c2410c;background:#fff0e6}.badge--success{color:var(--c-success);background:var(--c-success-50)}.badge--danger{color:var(--c-danger);background:var(--c-danger-50)}.badge--warning{color:#b7700a;background:var(--c-warning-50)}.badge--muted{color:var(--c-muted);background:#eef0f6}.badge--brand{color:var(--c-brand);background:#fff;border:1px solid #ff1d4e59}.chip{color:var(--c-text);border:1px solid var(--c-line);background:#fffc;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.chip .iconify{color:var(--c-primary)}.eq{height:var(--eq-h,28px);align-items:center;gap:3px;display:inline-flex}.eq i{background:linear-gradient(180deg,var(--c-blue),var(--c-violet));transform-origin:50%;border-radius:3px;width:3px;height:100%;animation:1.2s ease-in-out infinite eq-bounce}.eq i:first-child{animation-delay:-.444s;transform:scaleY(.78)}.eq i:nth-child(2){animation-delay:-.888s;transform:scaleY(.61)}.eq i:nth-child(3){animation-delay:-.132s;transform:scaleY(.44)}.eq i:nth-child(4){animation-delay:-.576s;transform:scaleY(.27)}.eq i:nth-child(5){animation-delay:-1.02s;transform:scaleY(.8)}.eq i:nth-child(6){animation-delay:-.264s;transform:scaleY(.63)}.eq i:nth-child(7){animation-delay:-.708s;transform:scaleY(.46)}.eq i:nth-child(8){animation-delay:-1.152s;transform:scaleY(.29)}.eq i:nth-child(9){animation-delay:-.396s;transform:scaleY(.82)}.eq i:nth-child(10){animation-delay:-.84s;transform:scaleY(.65)}.eq i:nth-child(11){animation-delay:-84ms;transform:scaleY(.48)}.eq i:nth-child(12){animation-delay:-.528s;transform:scaleY(.31)}.eq--static i{animation:none}@media (prefers-reduced-motion:reduce){.eq i{animation:none}}@keyframes eq-bounce{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}.sparkle{width:var(--s,18px);height:var(--s,18px);clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);filter:drop-shadow(0 0 6px #a096ffe6);animation:3.2s ease-in-out infinite twinkle;animation-delay:var(--d,0s);pointer-events:none;background:radial-gradient(circle,#fff 0 18%,#fff0 60%);position:absolute}@media (prefers-reduced-motion:reduce){.sparkle{animation:none}}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.7)rotate(0)}50%{opacity:1;transform:scale(1)rotate(45deg)}}.state-box{text-align:center;color:var(--c-muted);justify-items:center;gap:12px;padding:56px 24px;display:grid}.state-box>.iconify{color:var(--c-lilac);font-size:40px}.state-box h3{font-size:18px}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#eceef8,#f6f7fd 50%,#eceef8) 0 0/200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.progress{background:#e9ebf6;border-radius:999px;height:6px;position:relative;overflow:hidden}.progress__bar{width:calc(var(--p,0) * 1%);border-radius:inherit;background:var(--g-primary);transition:width .2s linear;position:absolute;inset:0 auto 0 0}.progress__bar:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000) 0 0/60% 100% no-repeat;animation:1.1s linear infinite progress-shine;position:absolute;inset:0}.progress.is-done .progress__bar{background:var(--c-success)}.progress.is-done .progress__bar:after,.progress.is-error .progress__bar:after{display:none}.progress.is-error .progress__bar{background:var(--c-danger)}@keyframes progress-shine{0%{background-position:-60% 0}to{background-position:160% 0}}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#151a3b73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{width:min(100%,420px);max-height:calc(100dvh - 40px);box-shadow:var(--shadow-float);background:#fff;border-radius:24px;padding:28px 24px 24px;position:relative;overflow:auto}.dialog__close{width:36px;height:36px;color:var(--c-muted);background:#f1f2f8;border-radius:50%;place-items:center;transition:background-color .2s,color .2s;display:grid;position:absolute;top:14px;right:14px}.dialog__close:hover{color:var(--c-ink);background:#e6e8f3}.dialog-enter-active,.dialog-leave-active{transition:opacity .25s}.dialog-enter-active .dialog,.dialog-leave-active .dialog{transition:transform .35s var(--ease-spring),opacity .25s ease}.dialog-enter-from,.dialog-leave-to{opacity:0}.dialog-enter-from .dialog,.dialog-leave-to .dialog{opacity:0;transform:translateY(16px)scale(.96)}.error-page[data-v-6ba8dbb8]{min-height:calc(100vh - 200px - var(--header-h));text-align:center;place-items:center;padding:80px 0;display:grid}.error-page__inner[data-v-6ba8dbb8]{justify-items:center;gap:16px;display:grid}.error-page__code[data-v-6ba8dbb8]{font-family:var(--font-display);background:var(--g-ai);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:calc(clamp(88px,18vw,180px));font-weight:700;line-height:1}.error-page__title[data-v-6ba8dbb8]{font-family:var(--font-serif);font-size:calc(clamp(22px,3vw,32px))}.error-page__desc[data-v-6ba8dbb8]{color:var(--c-muted)}.error-page__actions[data-v-6ba8dbb8]{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px;display:flex}
