:root{--paper: #dce1e0;--surface: #e8edeb;--raised: #eff4f2;--sunken: #d2d8d6;--ink: #1a1c1b;--ink-2: #4f5553;--ink-3: #737a78;--vermilion: #c4342a;--vermilion-tint: #f8ebe9;--line: rgba(26, 28, 27, .11);--line-2: rgba(26, 28, 27, .06);--d-instant: 90ms;--d-fast: .14s;--d-base: .22s;--d-slow: .32s;--e-out: cubic-bezier(.16, 1, .3, 1);--e-snap: cubic-bezier(.4, 0, .2, 1);--e-spring: cubic-bezier(.34, 1.56, .64, 1);--sh-1: 0 1px 2px rgba(26, 28, 27, .05), 0 2px 5px rgba(26, 28, 27, .035);--sh-2: 0 1px 2px rgba(26, 28, 27, .06), 0 4px 10px rgba(26, 28, 27, .055), 0 12px 22px rgba(26, 28, 27, .045)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:Pretendard Variable,Pretendard,-apple-system,system-ui,sans-serif;font-size:15px;line-height:1.6;letter-spacing:-.018em;-webkit-font-smoothing:antialiased}.shell{max-width:1280px;margin:0 auto;padding:0 0 80px}.hd{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 24px;background:var(--raised);border-bottom:1px solid var(--line)}.hd-l{display:flex;align-items:center;gap:11px}.mark{width:22px;height:22px;border-radius:6px;background:var(--ink);position:relative;flex:none}.mark:after{content:"";position:absolute;left:5px;top:10px;width:12px;height:2px;border-radius:1px;background:var(--paper)}.hd-l b{font-size:15px;font-weight:700;letter-spacing:-.03em}.hd-r{display:flex;align-items:center;gap:14px}.hd-r .who{font-size:13.5px;color:var(--ink-2);font-weight:550}.hd-r .pts{font-size:13.5px;font-weight:700;font-variant-numeric:tabular-nums}.av{width:28px;height:28px;border-radius:50%;background:var(--sunken);border:1px solid var(--line);display:grid;place-items:center;font-size:11.5px;font-weight:700;color:var(--ink-2);overflow:hidden}.av img{width:100%;height:100%;object-fit:cover}.iconbtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;color:var(--ink-3);padding:6px;border-radius:7px;display:flex;transition:background-color var(--d-fast) var(--e-out),color var(--d-fast) var(--e-out)}.iconbtn:hover{background:var(--sunken);color:var(--ink)}.body{padding:34px 34px 30px}.body.tight{padding:26px 34px 24px}h1{margin:0;font-size:32px;font-weight:780;letter-spacing:-.038em;line-height:1.16}h1.sm{font-size:24px}.sub{margin:11px 0 0;font-size:15px;color:var(--ink-2);line-height:1.65;max-width:56ch}.sub.tight{margin-top:7px;font-size:14px}.drop{margin-top:30px;position:relative;overflow:hidden;border:1.5px dashed rgba(26,28,27,.22);border-radius:18px;background:var(--raised);padding:52px 32px;text-align:center;transition:border-color var(--d-base) var(--e-out),background-color var(--d-base) var(--e-out)}.drop:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;--l: rgba(26, 28, 27, .075);background-image:repeating-linear-gradient(to right,var(--l) 0 1px,transparent 1px 64px),repeating-linear-gradient(to bottom,var(--l) 0 1px,transparent 1px 64px);-webkit-mask-image:radial-gradient(ellipse 62% 72% at 50% 50%,#000 20%,transparent 78%);mask-image:radial-gradient(ellipse 62% 72% at 50% 50%,#000 20%,transparent 78%)}.drop:hover{border-color:#1a1c1b66}.drop.hot{border-color:var(--ink);background:#f4f8f6}.drop>*{position:relative}.drop .ic{color:var(--ink-3);margin-bottom:16px;display:inline-flex}.drop .big{font-size:19px;font-weight:700;letter-spacing:-.03em}.drop .or{margin:5px 0 20px;font-size:14px;color:var(--ink-3)}.drop .fmt{margin-top:22px;font-size:12.5px;color:var(--ink-3);letter-spacing:0}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 20px;border-radius:9px;background:var(--ink);color:#edf2f0;font-size:14.5px;font-weight:650;letter-spacing:-.02em;box-shadow:0 1px 2px #1a1c1b29;transition:transform var(--d-fast) var(--e-spring),box-shadow var(--d-fast) var(--e-out),background-color var(--d-fast) var(--e-out)}@media(hover:hover)and (pointer:fine){.btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #1a1c1b2e,0 6px 14px #1a1c1b24}}.btn:active{transform:scale(.975);transition-duration:90ms}.btn:focus-visible{outline:2px solid var(--vermilion);outline-offset:2px}.btn.lg{height:48px;padding:0 26px;font-size:15.5px;border-radius:10px}.btn.ghost{background:transparent;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}.btn.ghost:hover{background:var(--raised);color:var(--ink)}.btn:disabled{opacity:.38;pointer-events:none}.plate{max-width:720px;border:1px solid var(--line);border-radius:12px;background:var(--raised);overflow:hidden;box-shadow:var(--sh-1)}.plate-hd{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--line-2);background:var(--surface)}.plate-hd .ttl{font-size:13.5px;font-weight:700;letter-spacing:-.025em}.plate-hd .meta{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.row{display:grid;grid-template-columns:22px 1fr 82px 116px 46px;align-items:center;gap:13px;padding:0 18px;height:52px;border-top:1px solid var(--line-2);transition:background-color var(--d-fast) var(--e-out)}.row:first-of-type{border-top:0}.row:hover{background:var(--surface)}.row .fi{color:var(--ink-3);display:flex}.row .nm{font-size:14px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .sz{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;text-align:right}.row .st{font-size:13px;color:var(--ink-2);display:flex;align-items:center;gap:6px;font-weight:550}.row .ct{font-size:12.5px;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-3)}.row.done .st{color:var(--ink)}.row.wait{opacity:.44}.row.err .st,.row.err .fi{color:var(--vermilion)}.row.err .nm{color:var(--ink-2)}.ct .b{display:inline-block;min-width:22px;padding:1px 6px;border-radius:5px;background:var(--sunken);color:var(--ink-2);font-weight:700;font-size:11.5px}.row.done .ct .b{background:var(--ink);color:var(--paper)}.spin{animation:sp .9s linear infinite;transform-origin:50% 50%;display:flex}@keyframes sp{to{transform:rotate(360deg)}}.prog{margin-top:4px;height:3px;border-radius:2px;background:var(--sunken);overflow:hidden;max-width:340px}.prog i{display:block;height:100%;background:var(--ink);border-radius:2px;transition:width var(--d-slow) var(--e-out)}.verify{margin-top:26px;background:var(--ink);border-radius:13px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:inset 0 1px #ffffff12}.verify .lt{display:flex;align-items:center;gap:13px;min-width:0}.verify .ring{width:38px;height:38px;border-radius:10px;flex:none;background:#ffffff17;display:grid;place-items:center;color:#edf2f0;box-shadow:inset 0 1px #ffffff1a}.verify .k{font-size:14.5px;font-weight:700;color:#f6f8f7;letter-spacing:-.025em}.verify .s{font-size:12.5px;color:#e8edeb99;margin-top:2px}.verify .rt{display:flex;align-items:baseline;gap:8px;flex:none}.verify .pass{width:24px;height:24px;border-radius:7px;background:#edf2f0;color:#1a1c1b;display:grid;place-items:center;align-self:center}.verify .num{font-size:34px;font-weight:800;color:#f6f8f7;letter-spacing:-.045em;font-variant-numeric:tabular-nums;line-height:1}.verify .unit{font-size:13px;color:#e8edeb99;font-weight:600}.verify.bad{background:var(--vermilion)}.split{display:grid;grid-template-columns:262px 1fr;gap:18px;margin-top:22px;align-items:start}.side{border:1px solid var(--line);border-radius:12px;background:var(--raised);overflow:hidden}.side .sh{padding:9px 12px;border-bottom:1px solid var(--line-2);background:var(--surface)}.chip{display:inline-flex;align-items:center;height:23px;padding:0 9px;border-radius:6px;font-size:11.5px;font-weight:700;letter-spacing:-.01em;cursor:pointer;background:var(--sunken);color:var(--ink-2);margin-right:5px;border:0;font-family:inherit;transition:background-color var(--d-fast) var(--e-out),color var(--d-fast) var(--e-out)}.chip:hover{background:#cdd4d1}.chip.on{background:var(--ink);color:#edf2f0}.fitem{display:flex;align-items:center;gap:9px;padding:0 15px;height:42px;border-top:1px solid var(--line-2);cursor:pointer;background:transparent;border-left:0;border-right:0;border-bottom:0;width:100%;font-family:inherit;text-align:left;transition:background-color var(--d-fast) var(--e-out)}.fitem:first-of-type{border-top:0}.fitem:hover{background:var(--surface)}.fitem .fn{font-size:13px;font-weight:600;flex:1;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fitem .fc{font-size:11.5px;font-weight:700;color:var(--ink-3);font-variant-numeric:tabular-nums}.fitem .fi{color:var(--ink-3);display:flex}.fitem.on{background:var(--ink)}.fitem.on .fn{color:#f6f8f7}.fitem.on .fc{color:#e8edeba6}.fitem.on .fi{color:#e8edebb3}.fitem.mute .fn,.fitem.mute .fc{color:var(--ink-3);font-weight:550}.diffs{border:1px solid var(--line);border-radius:12px;background:var(--raised);overflow:hidden}.diffs .dh{display:flex;align-items:center;justify-content:space-between;padding:11px 18px;border-bottom:1px solid var(--line-2);background:var(--surface)}.diffs .dh .t{font-size:13px;font-weight:700;letter-spacing:-.025em}.diffs .dh .g{font-size:12px;color:var(--ink-3)}.dcols{display:grid;grid-template-columns:1fr 30px 1fr;padding:8px 18px;border-bottom:1px solid var(--line-2);font-size:11.5px;font-weight:700;color:var(--ink-3)}.d{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;padding:11px 18px;border-top:1px solid var(--line-2);transition:background-color var(--d-fast) var(--e-out)}.d:hover{background:var(--surface)}.d .o,.d .m{font-size:14px;line-height:1.5;white-space:pre-line;letter-spacing:-.02em;padding:6px 10px;border-radius:7px}.d .o{color:var(--vermilion);background:var(--vermilion-tint)}.d .m{color:var(--ink);background:var(--sunken);font-weight:550}.d .ar{display:grid;place-items:center;color:var(--ink-3)}.empty{padding:34px 18px;text-align:center;color:var(--ink-3);font-size:13.5px}.foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.foot .l{font-size:13.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}.foot .l b{color:var(--ink);font-weight:700}.foot .r{display:flex;gap:10px;align-items:center}.doneWrap{padding:56px 34px 48px;max-width:640px}.stamp{width:52px;height:52px;border-radius:14px;background:var(--ink);color:#f6f8f7;display:grid;place-items:center;margin-bottom:22px;box-shadow:inset 0 1px #ffffff1a,0 4px 12px #1a1c1b29}.recap{margin-top:24px;display:flex;border:1px solid var(--line);border-radius:11px;background:var(--raised);overflow:hidden;max-width:460px}.recap div{flex:1;padding:14px 18px;border-left:1px solid var(--line-2)}.recap div:first-child{border-left:0}.recap .k{font-size:12px;color:var(--ink-3);font-weight:600}.recap .v{font-size:20px;font-weight:780;letter-spacing:-.035em;margin-top:3px;font-variant-numeric:tabular-nums}.warn{display:flex;align-items:flex-start;gap:10px;margin-top:20px;max-width:720px;background:var(--vermilion-tint);border:1px solid rgba(196,52,42,.2);border-radius:10px;padding:13px 16px}.warn .ic{color:var(--vermilion);flex:none;display:flex;margin-top:1px}.warn .tx{font-size:13.5px;color:#8e2a22;line-height:1.6}.warn .tx b{font-weight:700}.login{padding:88px 34px;max-width:520px}.gbtn{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px;border-radius:10px;background:var(--raised);color:var(--ink);border:1px solid var(--line);font-size:15px;font-weight:650;font-family:inherit;text-decoration:none;cursor:pointer;box-shadow:var(--sh-1);transition:transform var(--d-fast) var(--e-spring),box-shadow var(--d-fast) var(--e-out)}.gbtn:hover{transform:translateY(-1px);box-shadow:var(--sh-2)}.gbtn:active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.spin{animation-duration:3s!important}}
