:root{--tx1:#1c1917;--tx2:#57534e;--tx3:#78716c;--tx4:#a8a29e;--border:#e7e5e4;--border-h:#d6d3d1;--surface:#fff;--alt:#fafaf9;--hover:#f5f5f4;--paper:#f4f0ea;--ink:#1c1917;--ok:#059669;--ok-bg:#ecfdf5;--warn-bg:#fef3c7;--warn-tx:#92400e;--bad-bg:#fee2e2;--bad-tx:#991b1b;--mint:#ddf3ec;--mint-tag:#7ec8b5;--mint-tx:#17644f;--bar:#5b7fc7;--p1:#fff;--p2:#1f3a5f;--p3:#1a6650;--p4:#5a4632;--p5:#3e3a66;--p6:#5c3a4e}*{box-sizing:border-box}html,body{margin:0}body{background:var(--alt);color:var(--tx1);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere;font-family:Pretendard Variable,Pretendard,system-ui,sans-serif;font-size:14px;line-height:1.6}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}.wrap{max-width:1184px;margin:0 auto;padding:0 24px}@media (width<=640px){.wrap{padding:0 16px}}.seg{border:1px solid var(--border);background:#fff;border-radius:12px;padding:4px;display:flex}.seg button{color:var(--tx3);background:0 0;border:0;border-radius:9px;padding:9px 14px}.seg button.on{background:var(--ink);color:#fff}.cls{border-bottom:1px solid var(--border);background:#fff}.cls .wrap{align-items:center;gap:22px;min-height:60px;font-size:13px;display:flex}.cls .back{color:var(--tx2);background:0 0;border:0;padding:0;text-decoration:none}.cls .sp{flex:1}.cls .r{color:var(--tx3)}.btn{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:500;transition:border-color .15s,background .15s;display:inline-flex}.btn:hover{border-color:var(--border-h);background:var(--hover)}.btn.pri{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}.btn.pri:hover{background:#292524}.btn.pri:disabled{cursor:not-allowed;background:#d6d3d1;border-color:#d6d3d1}.btn.sm{border-radius:10px;padding:7px 12px;font-size:13px}.home{padding:40px 0 80px}.home .k{color:var(--tx3);font-size:13px;font-weight:600}.home h1{letter-spacing:-.02em;margin:6px 0 26px;font-size:28px;line-height:1.35}.homebar{flex-wrap:wrap;align-items:center;gap:14px;margin:-8px 0 24px;display:flex}.homebar .note{color:var(--tx3);font-size:13px}.tag{background:var(--hover);color:var(--tx2);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.tag.mint{background:var(--mint);color:var(--mint-tx);border:1px solid var(--mint-tag)}.tag.warn{background:var(--warn-bg);color:var(--warn-tx)}.tdash{max-width:852px;margin:0 auto;padding:36px 16px 80px}.tdash .bk{color:var(--tx3);font-size:14px}.tdash h1{margin:22px 0 6px;font-size:24px}.stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:34px;display:grid}.stats div{border:1px solid var(--border);text-align:center;background:#fff;border-radius:14px;padding:22px}.stats b{font-size:28px;display:block}.stats span{color:var(--tx3);font-size:13px}.board{border:1px solid var(--border);background:#fff;border-radius:14px;overflow-x:auto}.board table{border-collapse:collapse;width:100%;min-width:640px;font-size:13px}.board th,.board td{text-align:center;border-top:1px solid var(--border);padding:12px 8px}.board thead th{background:var(--alt);border-top:0;font-weight:600}.board td:first-child,.board th:first-child{min-width:72px;font-weight:600}.board td.ok{color:var(--ok);font-weight:700}.board td.now{background:var(--mint);color:var(--mint-tx);font-weight:600}.board td.no{color:var(--tx4)}.bh{align-items:baseline;gap:10px;display:flex}.bh h2{margin:0;font-size:21px}.bh span{color:var(--tx3);font-size:13px}.lg2{color:var(--tx3);margin:6px 0 14px;font-size:12px}.ax-page{max-width:560px;margin:0 auto;padding:56px 16px 80px}.ax-page h1{letter-spacing:-.02em;margin:6px 0 10px;font-size:26px;line-height:1.35}.ax-page .k{color:var(--tx3);font-size:13px;font-weight:600}.ax-lead{color:var(--tx2);margin:0 0 24px}.ax-box{border:1px solid var(--border);background:#fff;border-radius:14px;margin:0 0 18px;padding:22px 22px 18px}.ax-box p{margin:0 0 14px}.ax-sub{color:var(--tx3);font-size:13px}.ax-form{flex-direction:column;gap:10px;display:flex}.ax-form label{color:var(--tx2);font-size:13px;font-weight:600}.ax-form input{font:inherit;border:1px solid var(--border-h);color:var(--tx1);background:#fff;border-radius:10px;padding:11px 12px;font-size:16px}.ax-form input.code{letter-spacing:.12em;text-transform:uppercase;font-weight:700}.ax-form .row{flex-wrap:wrap;gap:8px;display:flex}.ax-err{color:var(--bad-tx);margin:0;font-size:13px}.ax-links{flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.ax-links a{color:var(--tx2)}.ax-ended{background:var(--alt);border-bottom:1px solid var(--border)}.ax-ended .wrap{color:var(--tx2);padding-top:10px;padding-bottom:10px;font-size:13px}.ax-hero{text-align:center;background:#fff;justify-content:center;align-items:center;min-height:calc(100dvh - 110px);padding:64px 32px;display:flex}.ax-hero .in{width:100%;max-width:880px}.ax-hero .lb{color:var(--tx3);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.ax-hero h1{color:var(--tx1);letter-spacing:-.025em;word-break:keep-all;text-wrap:balance;margin:20px 0 0;font-size:clamp(48px,7vw,88px);font-weight:600;line-height:1.05}.ax-hero .cap{max-width:640px;color:var(--tx2);letter-spacing:-.005em;word-break:keep-all;text-wrap:balance;margin:24px auto 0;font-size:18px;line-height:1.55}.ax-hero .cta{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:40px;display:flex}.lbtn{color:#fff;background:#1c1917;border:1px solid #1c1917;border-radius:9999px;justify-content:center;align-items:center;min-height:56px;padding:0 32px;font-size:16px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.lbtn:hover{background:#292524}.lbtn.sec{border-color:var(--border);color:var(--tx2);background:#fff}.lbtn.sec:hover{border-color:var(--border-h)}@media (width<=640px){.ax-hero{padding:48px 20px}.ax-hero h1{letter-spacing:-.02em}.ax-hero .cta{flex-direction:column-reverse;align-items:stretch}}.ax-nav{z-index:50;position:sticky;top:0}.tm-wrap{max-width:896px;margin:0 auto;padding:32px 24px 80px}.tm-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px;display:flex}.tm-head>div{min-width:0}.tm-h1{letter-spacing:-.01em;color:var(--tx1);margin:0;font-size:24px;font-weight:500;line-height:1.25}.tm-sub{color:var(--tx3);white-space:nowrap;text-overflow:ellipsis;margin:8px 0 0;font-size:14px;overflow:hidden}.tm-btn{white-space:nowrap;border:1px solid #0000;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 20px;font-size:14px;font-weight:500;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.tm-btn:disabled{opacity:.45;cursor:not-allowed}.tm-btn.pri{color:#fff;background:#1c1917}.tm-btn.pri:hover:not(:disabled){background:#292524}.tm-btn.pri:active:not(:disabled){background:#0c0a09;transform:scale(.98)}.tm-btn.sec{border-color:var(--border);color:var(--tx2);background:0 0}.tm-btn.sec:hover:not(:disabled){background:var(--alt);border-color:var(--border-h)}.tm-btn.danger{color:#fff;background:#f43f5e}.tm-btn.danger:hover:not(:disabled){background:#e11d48}.tm-btn.line{border-color:var(--border);color:var(--tx3);background:#fff;padding:0 14px;font-size:13px}.tm-btn.line:hover{border-color:var(--border-h);color:var(--tx1)}.tm-btn.line.faint{color:var(--tx4)}.tm-btn.line.faint:hover{color:var(--tx2)}.tm-qrbtn{color:#fff;background:#1c1917;border:1px solid #1c1917;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-width:92px;min-height:44px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s cubic-bezier(.2,.8,.2,1),border-color .15s cubic-bezier(.2,.8,.2,1);display:inline-flex}.tm-qrbtn:hover{background:#57534e;border-color:#57534e}.tm-btn:focus-visible,.tm-qrbtn:focus-visible,.tm-card:focus-visible,.tm-seg button:focus-visible,.tm-x:focus-visible,.tm-back:focus-visible{outline-offset:2px;outline:2px solid #1c1917}.tm-list{flex-direction:column;gap:12px;display:flex}.tm-card{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;gap:14px;padding:20px;transition:border-color .2s,box-shadow .2s;display:flex}.tm-card:hover{border-color:var(--border-h);box-shadow:0 4px 14px #0000000d}.tm-card.ended{opacity:.55}.tm-card.ended:hover{opacity:.75}.tm-card-top{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.tm-codetile{background:var(--alt);letter-spacing:.06em;width:82px;height:50px;color:var(--tx1);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-family:JetBrains Mono,ui-monospace,monospace;font-size:15px;font-weight:700;display:inline-flex}.tm-codetile.sm{border-radius:8px;width:auto;height:32px;padding:0 10px;font-size:14px}.tm-card-head{flex:180px;min-width:0}.tm-card-title{align-items:center;gap:8px;min-width:0;display:flex}.tm-card-title b{color:var(--tx1);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.tm-card-head small{color:var(--tx3);margin-top:2px;font-size:13px;display:block}.tm-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tm-pill{border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;line-height:1.2;display:inline-flex}.tm-pill:before{content:"";border-radius:50%;width:6px;height:6px}.tm-pill.live{color:#059669;background:#ecfdf5}.tm-pill.live:before{background:#10b981;animation:2s cubic-bezier(.4,0,.6,1) infinite tm-pulse}.tm-pill.end{background:var(--hover);color:var(--tx3)}.tm-pill.end:before{background:var(--tx4)}@keyframes tm-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.tm-pill.live:before{animation:none}}.tm-stats{border-top:1px solid var(--hover);border-bottom:1px solid var(--hover);grid-template-columns:repeat(3,1fr);padding:12px 0;display:grid}.tm-stats div{flex-direction:column;align-items:center;gap:2px;display:flex}.tm-stats div+div{border-left:1px solid var(--hover)}.tm-stats b{color:var(--tx1);font-size:20px;font-weight:600;line-height:1.2}.tm-stats span{color:var(--tx4);font-size:11.5px;font-weight:500}.tm-card-foot{color:var(--tx4);margin:0;font-size:12.5px}.tm-divider{align-items:center;gap:12px;margin:32px 0 16px;display:flex}.tm-divider:after{content:"";background:var(--border);flex:1;height:1px}.tm-divider span{letter-spacing:.05em;color:var(--tx4);font-size:12px}.tm-empty{text-align:center;border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:56px 24px;display:flex}.tm-empty-ic{background:var(--hover);width:44px;height:44px;color:var(--tx3);border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.tm-empty b{color:var(--tx1);font-size:16px;font-weight:600}.tm-empty p{color:var(--tx3);margin:0 0 12px;font-size:14px}.tm-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;padding:16px;animation:.2s tm-fade;display:flex;position:fixed;inset:0}.tm-backdrop>div{justify-content:center;width:100%;display:flex}.tm-modal{background:#fff;border-radius:12px;width:90vw;max-width:400px;padding:24px;animation:.2s tm-pop;position:relative;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.tm-modal h2{color:var(--tx1);margin:0 40px 0 0;font-size:17px;font-weight:600;line-height:1.4}.tm-modal-desc{color:var(--tx3);word-break:keep-all;margin:8px 0 0;font-size:14px;line-height:1.6}.tm-modal .ax-err{margin-top:12px}.tm-x{width:44px;height:44px;color:var(--tx3);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}.tm-x:hover{background:var(--hover);color:var(--tx1)}.tm-modal-foot{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.tm-form{flex-direction:column;gap:8px;margin-top:16px;display:flex}.tm-form label,.tm-label{color:var(--tx2);font-size:13px;font-weight:500}.tm-form input{height:48px;font:inherit;border:1px solid var(--border-h);color:var(--tx1);background:#fff;border-radius:10px;padding:0 14px;font-size:16px}.tm-form input:focus{outline-offset:1px;outline:2px solid #1c1917}.tm-label{margin-top:8px}.tm-seg{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tm-seg button{border:1px solid var(--border);min-height:44px;color:var(--tx2);background:#fff;border-radius:10px;font-size:14px;font-weight:500}.tm-seg button:hover{border-color:var(--border-h)}.tm-seg button.on{color:#fff;background:#1c1917;border-color:#1c1917}.tm-form .tm-modal-foot{margin-top:16px}@keyframes tm-fade{0%{opacity:0}}@keyframes tm-pop{0%{opacity:0;transform:scale(.95)}}@media (width<=767px){.tm-backdrop{align-items:flex-end;padding:0}.tm-modal{width:100%;max-width:none;padding-bottom:calc(24px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.tm-modal-foot .tm-btn{flex:1;min-height:48px}.tm-wrap{padding:24px 16px 64px}.tm-actions{width:100%}}@media (prefers-reduced-motion:reduce){.tm-backdrop,.tm-modal{animation:none}}.tdash.tm-board{max-width:900px;padding:32px 24px 80px}.tm-back{min-height:44px;color:var(--tx3);align-items:center;gap:6px;font-size:14px;text-decoration:none;display:inline-flex}.tm-back:hover{color:var(--tx1)}.tm-bhead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:8px 0 24px;display:flex}.tm-bhead-l{min-width:0}.tm-bhead h1{color:var(--tx1);flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:22px;font-weight:600;line-height:1.35;display:flex}.tm-bmeta{color:var(--tx3);flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;font-size:14px;display:flex}.tm-bmeta span{align-items:center;gap:5px;display:inline-flex}.tm-bmeta-url{color:var(--tx4);word-break:break-all;margin:6px 0 0;font-size:13px}.tm-board .stats{grid-template-columns:repeat(2,1fr)}.tm-qr{z-index:100;background:#fff;display:flex;position:fixed;inset:0;overflow:auto}.tm-qr-in{text-align:center;flex-direction:column;align-items:center;margin:auto;padding:48px 16px;display:flex}.tm-qr-title{color:var(--tx3);word-break:keep-all;margin:0 0 4px;font-size:16px}.tm-qr-code{letter-spacing:.12em;color:var(--tx1);-webkit-user-select:all;user-select:all;font-family:JetBrains Mono,ui-monospace,monospace;font-size:clamp(96px,18vw,200px);font-weight:700;line-height:1.1}.tm-qr-img{box-sizing:content-box;background:#fff;border-radius:16px;margin-top:16px;padding:16px;display:block;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.tm-qr-n{color:var(--tx2);align-items:center;gap:10px;margin:20px 0 0;font-size:clamp(24px,3vw,32px);display:flex}.tm-qr-n i{background:#10b981;border-radius:50%;width:12px;height:12px;animation:2s infinite tm-pulse}.tm-qr-hint{color:var(--tx4);word-break:keep-all;margin:12px 0 0;font-size:16px}@media (width>=640px){.tm-qr-hint{font-size:20px}}.tm-qr-x{z-index:1;border:1px solid var(--border);width:48px;height:48px;color:var(--tx2);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed;top:20px;right:20px}.tm-qr-x:hover{background:var(--hover);color:var(--tx1)}.chs-sec{margin:0 0 28px}.chs-sec h2{color:var(--tx2);margin:0 0 10px;font-size:15px}.chs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.chs .c{border:1px solid var(--border);text-align:left;color:inherit;background:#fff;border-radius:12px;flex-direction:column;gap:2px;padding:12px 14px;text-decoration:none;display:flex}.chs .c .l{color:var(--tx3);font-size:12.5px;font-weight:700}.chs .c b{color:var(--tx1);font-size:15px;font-weight:600}.chs .c .st{color:var(--tx3);font-size:12px}.chs .c .st.on{color:var(--mint-tx);font-weight:600}.chs .c[aria-disabled=true]{cursor:default}.board td.nm{text-align:left;white-space:nowrap}.dl-chapter{background:var(--paper);position:fixed;inset:0}.dl-frame{border:0;width:100%;height:100%;display:block}.ax-save{z-index:60;border:1px solid var(--border);color:var(--tx2);background:#fff;border-radius:12px;max-width:min(360px,100vw - 32px);padding:8px 12px;font-size:13px;position:fixed;bottom:16px;right:16px;box-shadow:0 4px 16px #00000014}.ax-save.warn{border-color:var(--bad-bg);background:var(--bad-bg);color:var(--bad-tx)}.ax-save .row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.board td.now{padding:0}.tm-cell{all:unset;box-sizing:border-box;cursor:pointer;flex-direction:column;align-items:center;gap:2px;width:100%;padding:10px 6px;font-weight:600;display:flex}.tm-cell:hover,.tm-cell:focus-visible{background:#0000000d;outline:none}.tm-cell small{opacity:.85;white-space:nowrap;font-size:10.5px;font-weight:500}.tm-keep{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin:10px 0 14px;padding:9px 13px;font-size:13px}.tm-keep.end{background:var(--alt);color:var(--tx3);border-color:var(--border)}.tm-side{border-left:1px solid var(--border);z-index:60;box-sizing:border-box;background:#fff;width:min(440px,100vw);padding:18px 18px 24px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 24px #00000014}.tm-side-h{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.tm-side-h b{font-size:16px;display:block}.tm-side-h span{color:var(--tx3);font-size:12.5px}.tm-out{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:10px 12px}.tm-out h3{justify-content:space-between;margin:0 0 6px;font-size:13.5px;display:flex}.tm-out h3 span{color:var(--tx3);font-size:11.5px;font-weight:600}.tm-out h3 span.ok{color:var(--ok)}.tm-out pre{white-space:pre-wrap;word-break:break-word;font:inherit;max-height:320px;margin:0;font-size:13px;line-height:1.5;overflow:auto}.tm-out a{word-break:break-all;font-size:13px}.guide{max-width:680px}.guide p{line-height:1.65}.guide .ax-box h2{margin:0 0 8px;font-size:16px}.guide .ax-box ul{margin:0;padding-left:20px;line-height:1.65}.guide .ax-box li{margin-bottom:6px}.guide code{background:var(--alt);border-radius:5px;padding:1px 5px;font-size:.92em}.guide-term{color:#f5f5f4;white-space:pre-wrap;overflow-wrap:anywhere;background:#1c1917;border-radius:10px;margin:8px 0;padding:12px 14px;font-size:13px;line-height:1.55}.guide-link{color:var(--tx3);margin:28px 0 0;font-size:13.5px}.ax-modal{z-index:100;background:#1c191773;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ax-modal .ax-box{width:100%;max-width:420px;margin:0}.ax-modal .row{justify-content:flex-end;gap:8px;display:flex}
