.signin-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;overflow-x:hidden;padding:24px;background:radial-gradient(ellipse at 78% 6%,#3b474e,#2a343c 36%,#1a2229 80%)}.signin-card{justify-self:center;min-width:0;width:min(100%,430px);padding:clamp(22px,8vw,34px);border:1px solid rgb(183 194 198 / 28%);border-radius:24px;background:var(--surface-2);box-shadow:0 28px 80px #17212759}.signin-environment{width:max-content;max-width:100%;margin:-23px auto 13px;border-radius:999px;padding:4px 10px;color:var(--slate-950);background:#ffdf78;box-shadow:0 3px 12px #00000029;font-size:var(--turnout-font-11);font-weight:800;letter-spacing:.04em;line-height:1.3;text-align:center}.signin-brand{display:flex;align-items:center;gap:12px;color:var(--slate-950);letter-spacing:.08em}.signin-brand>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--slate-300);border-radius:15px;background:var(--slate-100)}.signin-brand>span img{width:41px;height:41px;object-fit:contain}.signin-brand div{display:grid;gap:2px}.signin-brand small{color:var(--text-dim);letter-spacing:.03em}.signin-card h1{margin:30px 0 8px;color:var(--slate-900);font-size:var(--turnout-font-30)}.signin-card>p{margin:0 0 25px;color:var(--text-dim);line-height:1.5;overflow-wrap:anywhere}.signin-card form{display:grid;gap:9px}.signin-card label{margin-top:9px;color:var(--slate-900);font-weight:700;font-size:var(--turnout-font-14)}.signin-card input{min-width:0;width:100%;min-height:52px;padding:10px 15px;border:1px solid var(--slate-500);border-radius:13px;color:var(--slate-900);background:#fff;font:inherit;font-size:max(1em,var(--turnout-type-base))}.signin-card input:focus{outline:3px solid var(--primary-line);border-color:var(--primary)}.signin-card form .signin-submit{min-height:52px;margin-top:18px;border:0;border-radius:14px;color:#fff;background:var(--primary);font:inherit;font-weight:800;cursor:pointer}.signin-card form button:disabled{opacity:.6;cursor:wait}.signin-reset{justify-self:start;min-height:44px;margin:0 -8px -4px;padding:7px 8px;color:var(--primary-deep);font-weight:750;text-decoration:underline;text-underline-offset:3px}.signin-error,.signin-success{margin-top:8px;padding:11px 13px;border-radius:11px;font-size:var(--turnout-font-14);overflow-wrap:anywhere}.signin-error{color:#8c2635;background:#fff0f2}.signin-success{color:#174e36;background:#e9f7ef}.signin-note{display:block;margin-top:24px;color:var(--text-dim);line-height:1.45;overflow-wrap:anywhere}.signin-privacy{display:inline-flex;align-items:center;min-height:44px;color:var(--primary-deep);font-weight:750;text-decoration:underline;text-underline-offset:3px}.launch-animation,.startup-validation-cover,.route-loading-cover{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a292f}.startup-validation-cover,.route-loading-cover{z-index:9999}.launch-animation{z-index:10000;display:grid;place-items:center;overflow:hidden;padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px,env(safe-area-inset-left));color:#f0f7f2;background:radial-gradient(ellipse at 50% 43%,#144944,#0a292f 68%);animation:launch-dismiss 1.52s linear both}.launch-animation__brand{display:grid;justify-items:center;gap:clamp(14px,4vh,26px);text-align:center}.launch-animation__mark{display:grid;width:clamp(110px,31vmin,168px)}.launch-animation__piece{grid-area:1 / 1;display:block;width:100%;height:auto;pointer-events:none;animation:launch-piece-in .58s cubic-bezier(.16,1,.3,1) both}.launch-animation__piece--top{--launch-x: -49%;--launch-y: -24%}.launch-animation__piece--bottom{--launch-x: 49%;--launch-y: 24%;animation-delay:36ms}.launch-animation__wordmark{display:grid;gap:8px}.launch-animation__title{font-size:clamp(2.25rem,9vw,3.5rem);font-weight:750;letter-spacing:-.035em;line-height:1.06;animation:launch-word-in .26s ease-out .63s both}.launch-animation__subtitle{color:#b7e7d9;font-size:clamp(.74rem,3vw,.94rem);font-weight:650;letter-spacing:.13em;text-transform:uppercase;animation:launch-word-in .24s ease-out .75s both}.launch-animation__skip{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));min-width:64px;min-height:44px;padding:8px 14px;border:1px solid #6ca69b;border-radius:10px;background:#0f3539;color:#def2eb;font:inherit;font-size:.8125rem;font-weight:650;cursor:pointer}.launch-animation__skip:hover{background:#164647}.launch-animation__skip:focus-visible{outline:3px solid #70e5c2;outline-offset:3px}@keyframes launch-piece-in{0%{opacity:.35;transform:translate(var(--launch-x),var(--launch-y))}45%{opacity:1}to{opacity:1;transform:translate(0)}}@keyframes launch-word-in{0%{opacity:0}to{opacity:1}}@keyframes launch-dismiss{0%,88%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.launch-animation__piece,.launch-animation__title,.launch-animation__subtitle{animation:none}}:root{--turnout-type-base: 16px;--turnout-font-8: clamp(8px, .5rem, 16px);--turnout-font-9: clamp(9px, .5625rem, 18px);--turnout-font-10: clamp(10px, .625rem, 20px);--turnout-font-11: clamp(11px, .6875rem, 22px);--turnout-font-12: clamp(12px, .75rem, 24px);--turnout-font-13: clamp(13px, .8125rem, 26px);--turnout-font-13-5: clamp(13.5px, .84375rem, 27px);--turnout-font-14: clamp(14px, .875rem, 28px);--turnout-font-14-5: clamp(14.5px, .90625rem, 29px);--turnout-font-15: clamp(15px, .9375rem, 30px);--turnout-font-16: clamp(16px, 1rem, 32px);--turnout-font-17: clamp(17px, 1.0625rem, 34px);--turnout-font-18: clamp(18px, 1.125rem, 36px);--turnout-font-19: clamp(19px, 1.1875rem, 38px);--turnout-font-20: clamp(20px, 1.25rem, 40px);--turnout-font-22: clamp(22px, 1.375rem, 44px);--turnout-font-24: clamp(24px, 1.5rem, 48px);--turnout-font-27: clamp(27px, 1.6875rem, 54px);--turnout-font-30: clamp(30px, 1.875rem, 60px);--turnout-font-34: clamp(34px, 2.125rem, 68px);--turnout-font-nav: clamp(10px, .625rem, 15px);--turnout-member-nav-height: 72px;--turnout-member-content-bottom: 104px;--turnout-roster-min-width: 100%;--slate-50: #fafbfb;--slate-100: #f0f3f3;--slate-200: #e4eaeb;--slate-300: #d1dadd;--slate-400: #b7c2c6;--slate-500: #828f96;--slate-600: #61727a;--slate-700: #4c5c63;--slate-800: #344249;--slate-900: #202a30;--slate-950: #172127;--bg: var(--slate-100);--surface: #fff;--surface-2: var(--slate-50);--surface-3: var(--slate-200);--border: var(--slate-300);--border-strong: var(--slate-400);--text: var(--slate-900);--text-dim: var(--slate-700);--text-faint: var(--slate-700);--primary: #343e45;--primary-hover: #29333a;--primary-deep: #253239;--primary-soft: #e7ecee;--primary-line: #aab8bf;--approval: #146353;--approval-hover: #104e42;--gunmetal: #303c43;--gunmetal-deep: var(--slate-950);--accent-rule: var(--slate-600);--brand-mint: #70e5c2;--clear: #087a5b;--clear-soft: #e4f7f0;--clear-line: #9edac5;--resort: #b45309;--resort-soft: #fdf4e5;--resort-line: #f0d19c;--danger: #bf3746;--danger-soft: #fff0f2;--danger-line: #efb5bc;--shadow-sm: 0 2px 5px rgb(23 33 39 / 6%);--shadow: 0 3px 12px rgb(23 33 39 / 7%);--shadow-md: 0 8px 24px rgb(23 33 39 / 11%);--shadow-lg: 0 18px 48px rgb(23 33 39 / 20%);--radius: 16px;--radius-md: 13px;--radius-lg: 18px;--radius-sm: 10px;--sp1: 4px;--sp2: 8px;--sp3: 12px;--sp4: 16px;--sp5: 24px;--sp6: 32px;--sp7: 48px}html[data-turnout-platform=ios]{font:-apple-system-body;--turnout-type-base: clamp(16px, 1rem, 32px);--turnout-member-nav-height: clamp(72px, 4.5rem, 104px);--turnout-member-content-bottom: clamp(104px, 6.5rem, 136px);--turnout-roster-min-width: max(100%, clamp(288px, 18rem, 576px))}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--turnout-font-15);line-height:1.55;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.pulse{width:7px;height:7px;border-radius:99px;background:var(--primary);animation:pulse 2s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.pulse{animation:none}}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:var(--turnout-font-12);font-weight:650;letter-spacing:.005em;border:1px solid;white-space:nowrap;line-height:1.4}.pill-shift{background:var(--surface-3);color:var(--slate-800);border-color:var(--border-strong)}.pill-clear{background:var(--clear-soft);color:var(--clear);border-color:var(--clear-line)}.pill-resort{background:var(--resort-soft);color:var(--resort);border-color:var(--resort-line)}.pill-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.pill-live{background:var(--primary-soft);color:var(--primary-deep);border-color:var(--primary-line)}.btn{padding:8px 15px;border-radius:var(--radius-sm);font-size:var(--turnout-font-13-5);font-weight:620;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;border:1px solid transparent;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-hover)}.btn-approval{background:var(--approval);color:#fff;box-shadow:var(--shadow-sm)}.btn-approval:hover{background:var(--approval-hover)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{filter:brightness(.92)}.btn-ghost{border-color:var(--border-strong);color:var(--text-dim);background:var(--surface)}.btn-ghost:hover{border-color:var(--text-faint);color:var(--text);background:var(--surface-2)}.btn-lg{padding:11px 22px;font-size:var(--turnout-font-14-5)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:var(--sp5);overflow:hidden}.card:hover{border-color:var(--slate-300)}.card-head{padding:var(--sp4) var(--sp5);border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--surface-2),var(--slate-100));display:flex;align-items:center;gap:var(--sp3);flex-wrap:wrap}.card-title{font-size:var(--turnout-font-15);font-weight:660;letter-spacing:-.008em}.card-body{padding:var(--sp5)}.alert-box{display:flex;gap:var(--sp3);padding:var(--sp3) var(--sp4);border-radius:var(--radius-sm);font-size:var(--turnout-font-13);line-height:1.6;margin-top:var(--sp3);border:1px solid}.alert-box svg{flex:none;margin-top:3px}.alert-warn{background:var(--resort-soft);border-color:var(--resort-line);color:#7c3d06}.alert-warn strong{color:#6b3406;font-weight:680}.alert-danger{background:var(--danger-soft);border-color:var(--danger-line);color:#8c1616}.alert-danger strong{color:#7a1212;font-weight:680}.alert-info{background:var(--surface-2);border-color:var(--border);color:var(--text-dim)}.alert-info strong{color:var(--text)}.dot{width:3px;height:3px;border-radius:99px;background:var(--border-strong);flex:none}.empty{padding:var(--sp7) var(--sp5);text-align:center;color:var(--text-faint);font-size:var(--turnout-font-14)}
