@font-face{font-family:huninnLogin;src:url(../media/huninn_login-s.p.3eqg5_voorhf-.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:huninnLogin Fallback;src:local(Arial);ascent-override:85.06%;descent-override:14.94%;line-gap-override:0.0%;size-adjust:100.0%}.huninnlogin_50213a9d-module__yxqnkG__className{font-family:huninnLogin,huninnLogin Fallback,Huninn,Noto Sans TC,PingFang TC,sans-serif;font-style:normal;font-weight:400}.huninnlogin_50213a9d-module__yxqnkG__variable{--font-huninn-login:"huninnLogin", "huninnLogin Fallback", Huninn, Noto Sans TC, PingFang TC, sans-serif}
.gate{--c-forest:#1f4a38;--c-forest-2:#163828;--c-cream:#fff8ea;--c-butter:#f6e7b8;--c-butter-2:#fbf1d3;--c-terra:#b4532f;--c-terra-ink:#9e4526;--c-terra-soft:#f4d9cb;--c-sage:#dde7d4;--c-white:#fff;--c-ink:#22302a;--c-ink-2:#4f5c55;--c-ink-3:#6b6456;--c-on-forest:#fff8ea;--c-on-forest-2:#cfdcd3;--c-line:#e6dcc4;--c-line-2:#d8ccaf;--c-muted:#f1ecdf;--c-danger:#a83a24;--c-danger-bg:#f4d9cb;--c-warn-ink:#7a3e0c;--c-warn-bg:#fcebc9;--c-focus:#b4532f;--f-display:"Huninn","jf-openhuninn","Noto Sans TC","PingFang TC",sans-serif;--f-sans:"Noto Sans TC","Noto Sans CJK TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;--r-sm:12px;--r-md:20px;--r-lg:26px;--r-pill:999px;--sh-1:3px 3px 0 var(--c-forest);--sh-2:4px 4px 0 var(--c-forest);--auth-mat-line:#cfdcd31a;--ease-out:cubic-bezier(.2,.8,.2,1);--ease-io:cubic-bezier(.65,0,.35,1)}.gate,.gate *{box-sizing:border-box;margin:0;padding:0}.gate [hidden]{display:none!important}.gate,.gate{height:100%}.gate{font:16px/1.7 var(--f-sans);color:var(--c-ink);background:var(--c-cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}.gate a{color:inherit}.gate :focus-visible{outline:3px solid var(--c-focus);outline-offset:3px;border-radius:6px}.gate .skip{background:var(--c-forest);color:var(--c-cream);z-index:9;border-radius:10px;padding:8px 14px;font-weight:700;position:absolute;top:-60px;left:12px}.gate .skip:focus{top:12px}.gate .auth{grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:100vh;display:grid}.gate .auth-form{flex-direction:column;min-height:100vh;padding:40px clamp(40px,5.5vw,88px) 32px;display:flex}.gate .brand{color:var(--c-forest);font:400 26px/1 var(--f-display);border-radius:10px;align-self:flex-start;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.gate .brand svg{flex:none;width:40px;height:40px}.gate .form-in{width:100%;max-width:420px;margin:auto 0;padding:48px 0}.gate .tag{background:var(--c-butter);color:var(--c-warn-ink);border-radius:var(--r-pill);margin-bottom:18px;padding:8px 14px;font-size:14px;font-weight:700;line-height:1;display:inline-block}.gate .nw{white-space:nowrap}.gate h1{font:400 56px/1.12 var(--f-display);color:var(--c-forest);letter-spacing:.01em}.gate .lead{color:var(--c-ink-2);max-width:25em;margin-top:16px;font-size:17px;line-height:1.8}.gate .lead b{color:var(--c-ink);font-weight:700}.gate .gform{margin-top:32px}.gate .btn-google{background:var(--c-white);width:100%;min-height:64px;color:var(--c-ink);border:2px solid var(--c-ink);border-radius:var(--r-pill);box-shadow:var(--sh-2);font:700 17px/1 var(--f-sans);letter-spacing:.02em;cursor:pointer;transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out);justify-content:center;align-items:center;gap:14px;padding:0 28px;display:flex;position:relative}.gate .btn-google .g{flex:none;width:22px;height:22px}.gate .btn-google:hover{box-shadow:5px 5px 0 var(--c-forest);transform:translate(-1px,-1px)}.gate .btn-google:active{box-shadow:1px 1px 0 var(--c-forest);transform:translate(3px,3px)}.gate .btn-google:focus-visible{outline:3px solid var(--c-focus);outline-offset:4px;border-radius:var(--r-pill)}.gate .btn-google .spin{border:3px solid var(--c-line-2);border-top-color:var(--c-forest);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite gate-spin;display:none}.gate .btn-google[aria-busy=true]{cursor:progress;box-shadow:1px 1px 0 var(--c-forest);transform:translate(3px,3px)}.gate .btn-google[aria-busy=true] .g{display:none}.gate .btn-google[aria-busy=true] .spin{display:block}.gate .btn-google:disabled:not([aria-busy=true]){background:var(--c-muted);color:var(--c-ink-2);border-color:var(--c-line-2);box-shadow:none;cursor:not-allowed;transform:none}.gate .btn-google:disabled:not([aria-busy=true]) .g{filter:grayscale();opacity:.5}@keyframes gate-spin{to{transform:rotate(360deg)}}.gate .msg{border-radius:14px;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;font-size:15px;line-height:1.6;display:flex}.gate .msg svg{flex:none;width:20px;height:20px;margin-top:2px}.gate .msg.err{background:var(--c-danger-bg);color:var(--c-danger);border:2px solid var(--c-danger)}.gate .msg.warn{background:var(--c-warn-bg);color:var(--c-warn-ink)}.gate .msg b{display:block}.gate .consent{color:var(--c-ink-2);text-align:center;margin-top:16px;font-size:14px;line-height:1.7}.gate .tlink{color:var(--c-terra-ink);text-underline-offset:3px;white-space:nowrap;font-weight:700;text-decoration:underline}.gate .gate-switch{border-top:1.5px solid var(--c-line);width:auto;height:auto;color:var(--c-ink-2);background:0 0;border-radius:0;margin-top:36px;padding-top:22px;font-size:15px;line-height:1.7;display:block;position:static}.gate .gate-switch:before,.gate .gate-switch:after{content:none}.gate .next{border-top:1.5px solid var(--c-line);margin-top:36px;padding-top:22px}.gate .next h2{font:700 14px/1.4 var(--f-sans);color:var(--c-ink-2);letter-spacing:.04em}.gate .next ol{counter-reset:n;gap:10px;margin-top:12px;list-style:none;display:grid}.gate .next li{counter-increment:n;grid-template-columns:28px 1fr;gap:10px;font-size:15px;line-height:1.6;display:grid}.gate .next li:before{content:counter(n);background:var(--c-forest);width:28px;height:28px;color:var(--c-cream);font:400 15px/1 var(--f-display);border-radius:50%;place-items:center;display:grid}.gate .foot{color:var(--c-ink-3);font-size:13px}.gate .show{background:var(--c-forest);color:var(--c-on-forest);background-image:linear-gradient(var(--auth-mat-line) 1px,transparent 1px),linear-gradient(90deg,var(--auth-mat-line) 1px,transparent 1px);background-position:-1px -1px;background-size:40px 40px;flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.gate .show-stage-wrap{flex:1;min-height:0;position:relative;overflow:hidden}.gate .show-cap{justify-content:space-between;align-items:flex-end;gap:24px;padding:20px 40px 32px;display:flex}.gate .steps{color:var(--c-on-forest-2);flex-wrap:wrap;gap:6px 22px;font-size:14px;list-style:none;display:flex}.gate .steps li{align-items:center;gap:8px;transition:color .3s;display:flex}.gate .steps li i{font:400 13px/1 var(--f-display);border:1.5px solid var(--c-on-forest-2);border-radius:50%;place-items:center;width:22px;height:22px;font-style:normal;transition:background .3s,color .3s,border-color .3s;display:grid}.gate .steps li.on{color:var(--c-on-forest);font-weight:700}.gate .steps li.on i{background:var(--c-butter);border-color:var(--c-butter);color:var(--c-forest)}.gate .credit{color:var(--c-on-forest-2);margin-top:8px;font-size:12.5px}.gate .pp{border-radius:var(--r-pill);border:1.5px solid var(--c-on-forest-2);min-height:44px;color:var(--c-on-forest);font:700 14px/1 var(--f-sans);cursor:pointer;background:0 0;flex:none;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.gate .pp:hover{background:#fff8ea14}.gate .pp:focus-visible{outline:3px solid var(--c-butter);outline-offset:3px}.gate .pp svg{width:16px;height:16px}.gate .stage{transform-origin:50%;width:720px;height:780px;transform:translate(-50%,-50%) scale(var(--s,1));position:absolute;top:50%;left:50%}.gate .stage *{will-change:auto}.gate .ui{font-family:var(--f-sans);color:var(--c-ink)}.gate .panel{background:var(--c-white);border:2px solid var(--c-ink);box-shadow:var(--sh-1);border-radius:18px;padding:14px;position:absolute}.gate .panel h3{font:700 12.5px/1.2 var(--f-sans);color:var(--c-ink-2);letter-spacing:.06em;justify-content:space-between;margin-bottom:10px;display:flex}.gate .rail{width:184px;top:132px;left:0}.gate .chip{border:1.5px solid var(--c-line-2);background:var(--c-cream);height:42px;color:var(--c-ink);transition:transform .3s var(--ease-out),opacity .3s,border-color .3s,background .3s;border-radius:12px;align-items:center;gap:8px;margin-top:8px;padding:0 10px;font-size:14px;font-weight:700;display:flex}.gate .chip:first-of-type{margin-top:0}.gate .chip .ico{width:18px;height:18px;color:var(--c-forest);flex:none}.gate .chip .add{font:400 18px/1 var(--f-display);color:var(--c-terra-ink);margin-left:auto}.gate .chip .done{white-space:nowrap;color:var(--c-ink-2);margin-left:auto;font-size:12px;font-weight:700;display:none}.gate .chip.lift{border-color:var(--c-ink);background:var(--c-white);transform:translate(10px)}.gate .chip.added{opacity:.55}.gate .chip.added .add{display:none}.gate .chip.added .done{display:block}.gate .schemes{width:164px;top:96px;left:556px}.gate .sw{z-index:1;border-radius:12px;align-items:center;gap:10px;height:40px;padding:0 8px;font-size:14px;font-weight:700;display:flex;position:relative}.gate .sw b{border:1.5px solid #22302a59;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.gate .sw b:after{content:"";background:var(--a);border-radius:50%;width:10px;height:10px}.gate .sw-ring{border:2px solid var(--c-ink);background:var(--c-butter-2);width:132px;height:40px;transition:transform .45s var(--ease-out);border-radius:12px;position:absolute;top:38px;left:14px}.gate .desk{width:164px;padding:14px 12px 10px;top:476px;left:556px}.gate .desk .day{color:var(--c-ink-2);margin-bottom:6px;font-size:12.5px}.gate .rows{height:58px;transition:height .45s var(--ease-out);position:relative;overflow:hidden}.gate .desk.got .rows{height:112px}.gate .row{background:var(--c-cream);border:1.5px solid var(--c-line);height:52px;transition:transform .45s var(--ease-out),opacity .25s var(--ease-out);border-radius:12px;flex-direction:column;justify-content:center;align-items:stretch;gap:0;padding:7px 10px;font-size:13px;line-height:1.45;display:flex;position:absolute;left:0;right:0}.gate .row .t{font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:flex-start;align-items:center;gap:6px;min-width:0;font-weight:700;display:flex}.gate .row .n{color:var(--c-ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gate .row.old{transform:translateY(0)}.gate .row.new{background:var(--c-sage);border-color:var(--c-forest);opacity:0;transform:none}.gate .row.new .badge{background:var(--c-forest);color:var(--c-cream);border-radius:999px;flex:none;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.2;position:static}.gate .desk.got .row.old{transform:translateY(60px)}.gate .desk.got .row.new{opacity:1;transition-delay:.42s;transform:none}.gate .page{border:2px solid var(--c-ink);width:340px;height:724px;box-shadow:6px 6px 0 var(--c-terra);--a:#8e4a5c;--bg:#fbf6f0;--paper:#f3ebe3;--line:#e7d9cc;--ink:#22302a;--ink2:#4f5c55;--onA:#fff;--pf:"Noto Serif CJK TC","Noto Serif TC",serif;background:var(--bg);color:var(--ink);border-radius:170px 170px 26px 26px/64px 64px 26px 26px;position:absolute;top:24px;left:204px;overflow:hidden}.gate .page[data-scheme=sage]{--a:#3e6b52;--bg:#f4f7f2;--paper:#e7efe4;--line:#d3e0d2;--ink:#1e2c24;--ink2:#4f5c55;--pf:var(--f-sans)}.gate .p-hd{font:700 14px/1 var(--pf);justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;top:20px;left:0;right:0}.gate .p-hd i{background:var(--a);width:24px;height:24px;color:var(--onA);border-radius:7px;place-items:center;font-size:13px;font-style:normal;display:grid}.gate .mod{transition:transform .55s var(--ease-out),opacity .35s;position:absolute;left:14px;right:14px}.gate .m-hero{background:var(--a);height:150px;color:var(--onA);border-radius:16px;padding:20px 18px;top:60px}.gate .m-hero h4{font:700 22px/1.3 var(--pf)}.gate .m-hero p{opacity:.95;margin-top:6px;font-size:12.5px}.gate .m-hero span{background:var(--bg);color:var(--a);border-radius:999px;margin-top:14px;padding:6px 14px;font-size:12.5px;font-weight:700;display:inline-block}.gate .m-h{font:700 15px/1.2 var(--pf);color:var(--ink);margin-bottom:8px}.gate .m-gal{height:96px;top:222px}.gate .m-gal .tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.gate .m-gal .tiles div{border-radius:12px;height:62px;position:relative}.gate .m-gal .tiles div:first-child{background:#9db8a8}.gate .m-gal .tiles div:nth-child(2){box-shadow:inset 0 0 0 1px var(--line);background:#e6dcc8}.gate .m-gal .tiles div:nth-child(3){background:#4a3328}.gate .m-svc{height:124px;top:330px}.gate .m-svc li{border-bottom:1px solid var(--line);justify-content:space-between;padding:6px 0;font-size:12.5px;list-style:none;display:flex}.gate .m-svc li em{color:var(--ink2);font-style:normal}.gate .m-svc li b{font-variant-numeric:tabular-nums}.gate .m-book{background:var(--paper);border-radius:16px;height:200px;padding:14px;top:466px}.gate .m-book .svc{border:1.5px solid var(--a);color:var(--a);background:var(--bg);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.gate .m-book .date{color:var(--ink2);margin:8px 0 6px;font-size:12px}.gate .slots{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.gate .slot{border:1.5px solid var(--line);background:var(--bg);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;height:30px;font-size:12.5px;font-weight:700;transition:background .2s,color .2s,border-color .2s;display:grid;position:relative}.gate .slot.full{color:var(--ink2);opacity:.8;text-decoration:line-through}.gate .slot.pick{background:var(--a);color:var(--onA);border-color:var(--a)}.gate .tap{border:2px solid var(--a);opacity:0;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%;transform:scale(.4)}.gate .tap.go{animation:gate-tap .5s var(--ease-out)}@keyframes gate-tap{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.25)}}.gate .send{background:var(--a);height:34px;color:var(--onA);opacity:.45;border-radius:999px;place-items:center;margin-top:10px;font-size:13px;font-weight:700;transition:opacity .25s,transform .15s;display:grid}.gate .m-book.ready .send{opacity:1}.gate .m-book.press .send{transform:scale(.96)}.gate .form-part,.gate .ticket{transition:opacity .35s,transform .45s var(--ease-out)}.gate .ticket{opacity:0;background:var(--bg);border:1.5px dashed var(--a);border-radius:12px;padding:14px;position:absolute;inset:14px;transform:translateY(10px)}.gate .ticket .ok{color:var(--a);align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.gate .ticket .ok b{background:var(--a);width:22px;height:22px;color:var(--onA);border-radius:50%;place-items:center;font-size:13px;display:grid}.gate .ticket dl{grid-template-columns:auto 1fr;gap:4px 10px;margin-top:10px;font-size:12.5px;display:grid}.gate .ticket dt{color:var(--ink2)}.gate .ticket dd{font-variant-numeric:tabular-nums;font-weight:700}.gate .ticket .keep{border-top:1px solid var(--line);color:var(--ink2);margin-top:12px;padding-top:10px;font-size:12px;font-weight:700}.gate .m-book.done .form-part{opacity:0;transform:translateY(-6px)}.gate .m-book.done .ticket{opacity:1;transform:none}.gate .m-ft{height:30px;color:var(--ink2);border-top:1px solid var(--line);justify-content:space-between;padding-top:8px;font-size:11.5px;display:flex;top:678px}.gate .page .m-gal,.gate .page .m-svc{opacity:0;transform:translate(-36px)scale(.97)}.gate .page[data-has~=gal] .m-gal,.gate .page[data-has~=svc] .m-svc{opacity:1;transform:none}.gate .page .m-book,.gate .page .m-ft{transform:translateY(-244px)}.gate .page[data-has~=gal] .m-book,.gate .page[data-has~=gal] .m-ft,.gate .page[data-gap~=gal] .m-book,.gate .page[data-gap~=gal] .m-ft{transform:translateY(-136px)}.gate .page[data-has~=gal][data-has~=svc] .m-book,.gate .page[data-has~=gal][data-has~=svc] .m-ft,.gate .page[data-gap~=svc] .m-book,.gate .page[data-gap~=svc] .m-ft{transform:none}.gate .sheet{background:var(--c-butter-2);z-index:5;border-bottom:2px solid var(--c-ink);position:absolute;inset:-2px;transform:translateY(-102%)}.gate .sheet.go{animation:gate-sheet .9s var(--ease-io) forwards}@keyframes gate-sheet{0%{transform:translateY(-102%)}45%,55%{transform:translateY(0)}to{transform:translateY(102%)}}.gate .ghost{border:2px solid var(--c-ink);background:var(--c-white);width:152px;height:42px;box-shadow:var(--sh-1);opacity:0;pointer-events:none;z-index:6;transition:transform .6s var(--ease-out),opacity .25s;border-radius:12px;align-items:center;gap:8px;padding:0 10px;font-size:14px;font-weight:700;display:flex;position:absolute;top:0;left:0}.gate .ghost .ico{width:18px;height:18px;color:var(--c-forest)}.gate .stage.fade .page,.gate .stage.fade .panel{opacity:0;transition:opacity .4s}.gate .stage .page,.gate .stage .panel{transition:opacity .4s}.gate .stage.instant *,.gate .stage.instant :before{transition:none!important;animation:none!important}@media (max-width:1199px){.gate .auth{grid-template-columns:1fr 1fr}.gate h1{font-size:46px}}@media (max-width:959px){.gate .auth{grid-template-columns:1fr}.gate .auth-form{min-height:auto;padding:20px 20px 40px}.gate .brand{font-size:22px}.gate .brand svg{width:34px;height:34px}.gate .form-in{max-width:none;margin:0;padding:36px 0 8px}.gate h1{font-size:38px}.gate .lead{font-size:16px}.gate .gform{margin-top:26px}.gate .btn-google{min-height:58px;font-size:16px}.gate .gate-switch,.gate .next{margin-top:28px}.gate .foot{display:none}.gate .show{min-height:auto}.gate .show-stage-wrap{height:var(--mh,640px);flex:none}.gate .stage{width:370px;height:860px}.gate .rail,.gate .schemes,.gate .ghost{display:none}.gate .page{top:0;left:0}.gate .desk{top:684px;left:196px}.gate .show-cap{flex-direction:column;align-items:flex-start;padding:16px 20px 28px}.gate .steps{gap:8px 16px;font-size:13.5px}}@media (prefers-reduced-motion:reduce){.gate .stage *,.gate .stage :before{transition:none!important;animation:none!important}.gate .pp{display:none}}html:has(.gate){overflow-x:hidden}.gate{--f-display:var(--font-huninn-login),var(--font-huninn),"Noto Sans TC","PingFang TC",sans-serif}.gate .brand img{flex:none;width:40px;height:40px;display:block}.gate .btn-google .g{width:22px;height:22px;display:inline-flex}.gate .btn-google .g svg{width:22px;height:22px;display:block}@media (max-width:959px){.gate .brand img{width:34px;height:34px}}@media (prefers-reduced-motion:reduce){.gate .btn-google .spin{animation:none}}
