@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";@font-face{font-family:HakgyoansimWooju;src:url(/font/HakgyoansimWooju.woff2)format("woff2"),url(/font/HakgyoansimWooju.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}html,body,#root{min-height:100dvh;margin:0;padding:0}#root{justify-content:center;align-items:center;display:flex}body{word-break:keep-all}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-green:#4a8146;--brand-green-hover:#3b6e37;--brand-green-pale:#eaf3eb;--brand-green-tint:#d6e8d8;--brand-green-border:#b5d9b7;--accent-yellow:#fee064;--bg-cream:#f1eee9;--surface:#fff;--text:#111;--text-2:#444;--text-muted:#888;--border:#e0e0e0;--radius-card:20px;--radius-modal:24px;--shadow-card:0 4px 14px #0000000a;--shadow-modal:0 10px 40px #0003;--font-body:Pretendard, "Segoe UI", sans-serif;--font-display:HakgyoansimWooju, Pretendard, sans-serif}*{box-sizing:border-box}body{background:var(--bg-cream);color:var(--text);font-family:var(--font-body);margin:0}.pad{-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;justify-content:space-evenly;align-items:center;gap:.5rem;width:100%;max-width:460px;height:min(100dvh,860px);margin:0 auto;padding:1.25rem;display:flex;overflow:hidden}.pad-with-bar{padding:0}.action-bar{background:0 0;flex-shrink:0;align-items:center;gap:.7rem;width:100%;height:60px;padding:0 1rem;display:flex}.bar-icon{border:1.5px solid var(--brand-green-border);background:var(--brand-green-pale);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;font-size:1.4rem;transition:transform .1s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 2px 6px #0000001f}.bar-icon:active{transform:scale(.92);box-shadow:0 1px 2px #0000001f}.bar-icon img{object-fit:cover;width:100%;height:100%}.bar-name{font-family:var(--font-display);color:var(--text);font-size:1.35rem}.pad-header{text-align:center;margin-top:.5rem}.pad-date{color:var(--text-2);margin:0;font-size:1rem;font-weight:400}.pad-clock{color:var(--text);cursor:default;justify-content:center;align-items:baseline;gap:.5rem;margin:.25rem 0 0;display:flex}.clock-period{font-size:1.6rem;font-weight:500}.clock-time{letter-spacing:2px;font-variant-numeric:tabular-nums;font-size:3rem;font-weight:500}.pad-guide{color:var(--brand-green);margin:0;font-size:1.15rem;font-weight:600}.pad-guide span{background:linear-gradient(#0000 72%,#fee064b3 72%);padding:0 6px 2px}.pin-boxes{gap:.75rem;display:flex}.pin-box{border:2px solid var(--border);background:var(--surface);width:clamp(56px,8vh,76px);height:clamp(64px,10vh,92px);color:var(--brand-green);border-radius:16px;justify-content:center;align-items:center;font-size:2rem;font-weight:800;transition:border-color .2s,background .2s;display:flex}.pin-box.active{border-color:var(--brand-green)}.pin-box.filled{border-color:var(--brand-green-border);background:var(--brand-green-pale)}.keypad{grid-template-columns:repeat(3,1fr);gap:0;width:100%;display:grid}.key{border:.75px solid var(--border);background:var(--surface);height:clamp(60px,10vh,90px);font-family:var(--font-body);color:var(--text);cursor:pointer;border-radius:0;font-size:1.5rem;font-weight:700;transition:background .15s}.key:active{background:var(--brand-green-pale)}.key-sub{color:var(--text-muted);font-size:1rem}.confirm{background:var(--brand-green);color:#fff;width:100%;max-width:340px;height:clamp(56px,9vh,84px);font-family:var(--font-body);cursor:pointer;border:none;border-radius:0;flex-shrink:0;font-size:1.3rem;font-weight:700;transition:background-color .2s}.pad-with-bar .confirm{max-width:none}.confirm:hover:not(:disabled){background:var(--brand-green-hover)}.confirm:disabled{cursor:default;background:#c9c4bb}.overlay{z-index:10;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay-card{background:var(--surface);border-radius:var(--radius-modal);text-align:center;box-shadow:var(--shadow-modal);padding:2.5rem 3rem}.overlay-check{background:var(--brand-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;font-size:2rem;display:flex}.overlay-name{font-family:var(--font-display);margin:0;font-size:1.7rem}.overlay-msg{color:var(--brand-green);margin:.25rem 0 0;font-size:1.2rem;font-weight:700}.overlay-time{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:.75rem 0 0;font-size:1rem}.pad-login{justify-content:center;gap:.9rem;height:auto;min-height:min(100dvh,860px);max-height:none;padding-top:2rem;padding-bottom:2rem;overflow-y:auto}.login-logo{border-radius:22px;width:88px;height:88px;box-shadow:0 4px 14px #0000001f}.login-brand{font-family:var(--font-display);color:var(--brand-green);text-align:center;margin:0;font-size:2rem;font-weight:400}.login-guide{color:var(--text-2);text-align:center;margin:0;font-size:.98rem}.login-form{flex-direction:column;gap:1rem;width:100%;max-width:340px;display:flex}.login-field{text-align:left;flex-direction:column;gap:.35rem;display:flex}.login-field span{color:var(--text-2);font-size:.88rem;font-weight:700}.login-field input{border:1.5px solid var(--border);height:52px;font-size:1.2rem;font-family:var(--font-body);background:var(--surface);border-radius:12px;outline:none;padding:0 1rem;transition:border-color .2s}.login-field input:focus{border-color:var(--brand-green)}.login-error{color:#c0392b;text-align:center;margin:0;font-size:.92rem}.pad-error{color:#c0392b;text-align:center;margin:0;font-size:.95rem;font-weight:600}.pad-logout{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-top:.5rem;font-size:.85rem;text-decoration:underline}.pad-home{justify-content:center}.home-icon{background:var(--surface);border:2px solid var(--brand-green-border);border-radius:28px;justify-content:center;align-items:center;width:110px;height:110px;font-size:3.4rem;display:flex;overflow:hidden}.home-icon img{object-fit:cover;width:100%;height:100%}.home-name{font-family:var(--font-display);margin:0;font-size:2rem;font-weight:400}.home-count{color:var(--text-2);margin:0;font-size:1.05rem;font-weight:600}.settings-card{flex-direction:column;gap:.7rem;min-width:280px;display:flex}.settings-title{font-family:var(--font-display);margin:0 0 .3rem;font-size:1.4rem}.settings-row{justify-content:space-between;gap:1rem;margin:0;font-size:1rem;display:flex}.settings-row span{color:var(--text-muted)}.settings-logout{color:#c0392b;width:100%;max-width:340px;height:48px;font-family:var(--font-body);cursor:pointer;background:#fdeceb;border:1.5px solid #f0b9b7;border-radius:12px;margin-top:.6rem;font-size:1rem;font-weight:700}.pad-center{justify-content:center}.screen-title{font-family:var(--font-display);margin:0;font-size:1.8rem}.result-check{background:var(--brand-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;font-size:3rem;display:flex}.result-name{font-family:var(--font-display);margin:0;font-size:2.4rem}.result-msg{color:var(--brand-green);margin:0;font-size:1.6rem;font-weight:800}.result-time{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0;font-size:1.1rem}.settings-box{background:var(--surface);border:1.5px solid var(--border);border-radius:20px;flex-direction:column;gap:.8rem;width:100%;max-width:340px;padding:1.25rem 1.4rem;display:flex}.ghost-btn{border:1.5px solid var(--border);background:var(--surface);width:100%;max-width:340px;height:52px;color:var(--text-muted);font-family:var(--font-body);cursor:pointer;border-radius:14px;font-size:1rem;font-weight:600}.select-card{flex-direction:column;gap:.7rem;min-width:300px;display:flex}.select-guide{color:var(--text-muted);margin:0;font-size:.95rem}.candidate-list{flex-direction:column;gap:.5rem;width:100%;max-width:340px;max-height:45vh;display:flex;overflow-y:auto}.candidate{border:2px solid var(--border);background:var(--surface);height:56px;font-family:var(--font-body);color:var(--text);cursor:pointer;border-radius:14px;font-size:1.2rem;font-weight:700;transition:border-color .2s,background .2s}.candidate.on{border-color:var(--brand-green);background:var(--brand-green-pale);color:var(--brand-green)}.select-confirm{max-width:none;height:56px}.settings-close{border:1.5px solid var(--border);background:var(--surface);height:44px;color:var(--text-muted);font-family:var(--font-body);cursor:pointer;border-radius:12px;font-size:.95rem}.result-check.dup{background:#b9b9b9}
