.tn-seat-page{max-width:1180px;margin:0 auto;color:#1a1208}
.tn-seat-page .tn-hero{margin-bottom:54px}
.tn-seat-page .tn-seat-ad{width:100%;max-width:900px;min-height:90px;margin:0 auto 34px;overflow:visible;background:transparent}
.tn-seat-page .tn-seat-ad--bottom{margin:16px auto 48px}
.tn-seat-page .tn-seat-ad ins{display:block}
.tn-seat-page .tn-tool-meta-row{max-width:1180px;margin:14px auto 0;text-align:right}

.tn-seat-page .tn-seat-tool{--seat-ink:#1a1208;--seat-muted:#5a4a30;--seat-line:#b8a888;--seat-soft:#ddd4be;--seat-paper:#faf6ee;--seat-wash:#f5efdf;--seat-btn:#ede6d4;--seat-hover:#dfd4bb;--seat-accent:#c44a00;--seat-desk:#fffdf7;--seat-desk-line:#c9b994;--seat-fixed:#f7e2cf;--seat-strong:#1a1208;--seat-strong-ink:#faf6ee;--seat-warn:#a53a00;--seat-m:#e8eff5;--seat-m-line:#8ea5b9;--seat-m-ink:#3d5a73;--seat-f:#f7e8e4;--seat-f-line:#c59a91;--seat-f-ink:#8a4a3f;--seat-ease:cubic-bezier(.2,.8,.2,1);color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink);border:1px solid var(--seat-line);background:var(--seat-paper);font-family:Arial,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:14px;line-height:1.5}
.tn-seat-page .tn-seat-tool *,.tn-seat-page .tn-seat-tool *::before,.tn-seat-page .tn-seat-tool *::after{box-sizing:border-box}
.tn-seat-page .tn-seat-tool :is(ul,ol,li){list-style:none;padding-left:0;margin:0}
.tn-seat-page .tn-seat-tool :is(code,pre,kbd,samp){padding:0;border:0;border-radius:0;background:none;background-color:transparent;color:inherit;-webkit-text-fill-color:inherit;font:inherit;font-weight:700}
.tn-seat-page .tn-seat-tool p{margin:0}
.tn-seat-page .tn-seat-tool button{font:700 13px/1.2 Arial,-apple-system,"Apple SD Gothic Neo",sans-serif;letter-spacing:0;text-transform:none;border-radius:0;box-shadow:none;cursor:pointer;margin:0;min-height:0;-webkit-appearance:none;appearance:none}
.tn-seat-page .tn-seat-tool :is(button,input,select,textarea,label.tn-seat-btn):focus-visible{outline:2px solid var(--seat-accent);outline-offset:2px}
.tn-seat-page .tn-seat-workspace{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);min-height:620px}

/* panel */
.tn-seat-page .tn-seat-panel{min-width:0;border-right:1px solid var(--seat-line);background:var(--seat-paper);display:flex;flex-direction:column}
.tn-seat-page .tn-seat-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--seat-line)}
.tn-seat-page .tn-seat-tabs [role="tab"]{display:flex;align-items:center;justify-content:center;gap:6px;height:46px;padding:0 4px;border:0;border-right:1px solid var(--seat-soft);background:var(--seat-wash);color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);font-size:13px;position:relative;transition:background-color .2s,color .2s}
.tn-seat-page .tn-seat-tabs [role="tab"]:last-child{border-right:0}
.tn-seat-page .tn-seat-tabs [role="tab"] b{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font:800 10px/1 Arial,sans-serif;font-variant-numeric:tabular-nums}
.tn-seat-page .tn-seat-tabs [role="tab"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--seat-accent);transform:scaleX(0);transition:transform .28s var(--seat-ease)}
.tn-seat-page .tn-seat-tabs [role="tab"][aria-selected="true"]{background:var(--seat-paper);color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink)}
.tn-seat-page .tn-seat-tabs [role="tab"][aria-selected="true"]::after{transform:scaleX(1)}
.tn-seat-page .tn-seat-tabs [role="tab"]:hover{background:var(--seat-paper)}
.tn-seat-page .tn-seat-pane{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;animation:tnSeatPane .32s var(--seat-ease)}
.tn-seat-page .tn-seat-pane[hidden]{display:none}
@keyframes tnSeatPane{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.tn-seat-page .tn-seat-label{display:block;font-size:13px;font-weight:700;margin:4px 0 -5px;color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink)}
.tn-seat-page .tn-seat-label span{font-weight:400;font-size:12px;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);margin-left:4px}
.tn-seat-page .tn-seat-tool :is(textarea,input[type="text"],input[type="number"],select){width:100%;border:1px solid var(--seat-line);border-radius:0;background:var(--seat-desk);color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink);font:600 14px/1.55 Arial,-apple-system,"Apple SD Gothic Neo",sans-serif;box-shadow:none;margin:0;letter-spacing:0}
.tn-seat-page .tn-seat-tool textarea{padding:10px 12px;resize:vertical;min-height:64px}
.tn-seat-page .tn-seat-tool #seatNames{min-height:230px;font-variant-numeric:tabular-nums}
.tn-seat-page .tn-seat-tool :is(textarea,input)::placeholder{color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);opacity:.55;font-weight:400}
.tn-seat-page .tn-seat-tool :is(input[type="text"],select){height:40px;padding:0 10px}
.tn-seat-page .tn-seat-count{font-size:12px;font-weight:700;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);font-variant-numeric:tabular-nums;transition:color .2s}
.tn-seat-page .tn-seat-count.is-warn,.tn-seat-page .tn-seat-status.is-warn{color:var(--seat-warn);-webkit-text-fill-color:var(--seat-warn)}
.tn-seat-page .tn-seat-count.is-warn{animation:tnSeatNudge .4s}
.tn-seat-page .tn-seat-row{display:flex;flex-wrap:wrap;gap:6px}
.tn-seat-page .tn-seat-tool .tn-seat-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid var(--seat-line);background:var(--seat-btn);color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink);font:700 13px/1.2 Arial,-apple-system,"Apple SD Gothic Neo",sans-serif;cursor:pointer;transition:background-color .15s,transform .12s;position:relative;white-space:nowrap}
.tn-seat-page .tn-seat-btn:hover{background:var(--seat-hover)}
.tn-seat-page .tn-seat-btn:active{transform:translateY(1px)}
.tn-seat-page .tn-seat-btn.is-quiet{background:transparent}
.tn-seat-page .tn-seat-btn.is-strong{background:var(--seat-strong);border-color:var(--seat-strong);color:var(--seat-strong-ink);-webkit-text-fill-color:var(--seat-strong-ink)}
.tn-seat-page .tn-seat-btn:disabled{opacity:.45;cursor:not-allowed}
.tn-seat-page .tn-seat-file{overflow:hidden}
.tn-seat-page .tn-seat-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.tn-seat-page .tn-seat-help,.tn-seat-page .tn-seat-note{font-size:12px;line-height:1.6;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted)}
.tn-seat-page .tn-seat-note{padding:8px 10px;border:1px solid var(--seat-line);background:var(--seat-wash);color:var(--seat-warn);-webkit-text-fill-color:var(--seat-warn)}
.tn-seat-page .tn-seat-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tn-seat-page .tn-seat-field>label{display:block;font-size:13px;font-weight:700;margin-bottom:5px}
.tn-seat-page .tn-seat-stepper{display:flex;border:1px solid var(--seat-line);background:var(--seat-desk);height:42px}
.tn-seat-page .tn-seat-stepper button{width:38px;flex:none;border:0;background:var(--seat-wash);color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink);font:700 18px/1 Arial,sans-serif;padding:0}
.tn-seat-page .tn-seat-stepper button:first-child{border-right:1px solid var(--seat-line)}
.tn-seat-page .tn-seat-stepper button:last-child{border-left:1px solid var(--seat-line)}
.tn-seat-page .tn-seat-tool .tn-seat-stepper input{border:0;height:40px;text-align:center;font:800 18px/1 Arial,-apple-system,sans-serif;font-variant-numeric:lining-nums tabular-nums;background:transparent;min-width:0;padding:0;appearance:textfield;-moz-appearance:textfield}
.tn-seat-page .tn-seat-stepper input::-webkit-inner-spin-button,.tn-seat-page .tn-seat-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.tn-seat-page .tn-seat-shapes{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--seat-line)}
.tn-seat-page .tn-seat-shapes button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 2px 8px;border:0;border-right:1px solid var(--seat-soft);background:var(--seat-desk);color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);font-size:11px;transition:background-color .18s,color .18s}
.tn-seat-page .tn-seat-shapes button:last-child{border-right:0}
.tn-seat-page .tn-seat-shapes button[aria-pressed="true"]{background:var(--seat-wash);color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink);box-shadow:inset 0 -2px 0 var(--seat-accent)}
.tn-seat-page .tn-seat-ico{display:block;width:30px;height:20px;background-repeat:no-repeat;--c:currentColor}
.tn-seat-page .tn-seat-ico--single{background:linear-gradient(var(--c),var(--c)) 0 0/8px 7px,linear-gradient(var(--c),var(--c)) 11px 0/8px 7px,linear-gradient(var(--c),var(--c)) 22px 0/8px 7px,linear-gradient(var(--c),var(--c)) 0 12px/8px 7px,linear-gradient(var(--c),var(--c)) 11px 12px/8px 7px,linear-gradient(var(--c),var(--c)) 22px 12px/8px 7px;background-repeat:no-repeat;opacity:.8}
.tn-seat-page .tn-seat-ico--pair{background:linear-gradient(var(--c),var(--c)) 0 0/13px 7px,linear-gradient(var(--c),var(--c)) 17px 0/13px 7px,linear-gradient(var(--c),var(--c)) 0 12px/13px 7px,linear-gradient(var(--c),var(--c)) 17px 12px/13px 7px;background-repeat:no-repeat;opacity:.8}
.tn-seat-page .tn-seat-ico--triple{background:linear-gradient(var(--c),var(--c)) 0 0/30px 7px,linear-gradient(var(--c),var(--c)) 0 12px/30px 7px;background-repeat:no-repeat;opacity:.8}
.tn-seat-page .tn-seat-ico--group{background:linear-gradient(var(--c),var(--c)) 0 0/12px 20px,linear-gradient(var(--c),var(--c)) 18px 0/12px 20px;background-repeat:no-repeat;opacity:.8}
.tn-seat-page .tn-seat-ico--u{background:linear-gradient(var(--c),var(--c)) 0 0/6px 20px,linear-gradient(var(--c),var(--c)) 24px 0/6px 20px,linear-gradient(var(--c),var(--c)) 0 14px/30px 6px;background-repeat:no-repeat;opacity:.8}
.tn-seat-page .tn-seat-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:600;cursor:pointer;line-height:1.45}
.tn-seat-page .tn-seat-check input{width:16px;height:16px;margin:1px 0 0;flex:none;accent-color:#a74616}
.tn-seat-page .tn-seat-check input:disabled+span{opacity:.5}
.tn-seat-page .tn-seat-front-row{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:4px}
.tn-seat-page .tn-seat-front-row .tn-seat-label{margin:0}
.tn-seat-page .tn-seat-front-row select{width:auto;height:30px;font-size:12px;padding:0 6px}
.tn-seat-page .tn-seat-front-row+textarea{margin-top:-4px}
.tn-seat-page .tn-seat-list{display:flex;flex-direction:column;border:1px solid var(--seat-soft)}
.tn-seat-page .tn-seat-list li{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--seat-soft);font-size:13px;font-variant-numeric:tabular-nums}
.tn-seat-page .tn-seat-list li:last-child{border-bottom:0}
.tn-seat-page .tn-seat-list li>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tn-seat-page .tn-seat-list li.is-empty{color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);font-size:12px}
.tn-seat-page .tn-seat-list button{min-height:28px;padding:0 9px;border:1px solid var(--seat-line);background:var(--seat-btn);color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink);font-size:12px}
.tn-seat-page .tn-seat-list button.is-quiet{background:transparent}
.tn-seat-page .tn-seat-code-row{display:flex;gap:6px}
.tn-seat-page .tn-seat-code-row input{font-family:Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.tn-seat-page #seatResetAll{align-self:flex-start}

/* stage */
.tn-seat-page .tn-seat-stage{min-width:0;display:flex;flex-direction:column;background:var(--seat-wash);position:relative}
.tn-seat-page .tn-seat-toolbar{display:flex;flex-direction:column;border-bottom:1px solid var(--seat-line);background:var(--seat-paper)}
.tn-seat-page .tn-seat-command{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 16px}
.tn-seat-page .tn-seat-go{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 22px;border:1px solid var(--seat-strong);background:var(--seat-strong);color:var(--seat-strong-ink);-webkit-text-fill-color:var(--seat-strong-ink);font-size:15px!important;position:relative;overflow:hidden;transition:transform .15s var(--seat-ease),background-color .2s}
.tn-seat-page .tn-seat-go span{display:inline-block;font-size:18px;transition:transform .6s var(--seat-ease)}
.tn-seat-page .tn-seat-go:hover span{transform:rotate(180deg)}
.tn-seat-page .tn-seat-go:active{transform:scale(.97)}
.tn-seat-page .tn-seat-go::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);transform:translateX(-120%)}
.tn-seat-page .tn-seat-go:hover::after{transform:translateX(120%);transition:transform .7s ease}
.tn-seat-page .tn-seat-go:disabled{cursor:progress;opacity:.8}
.tn-seat-page .tn-seat-go.is-blocked{opacity:.78}
.tn-seat-page .tn-seat-tool.is-running .tn-seat-go span{animation:tnSeatSpin .9s linear infinite}
@keyframes tnSeatSpin{to{transform:rotate(360deg)}}
.tn-seat-page .tn-seat-select{display:inline-flex;align-items:center;border:1px solid var(--seat-line);background:var(--seat-desk);height:40px}
.tn-seat-page .tn-seat-select span{padding:0 10px;font-size:12px;font-weight:700;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);border-right:1px solid var(--seat-soft);height:100%;display:flex;align-items:center}
.tn-seat-page .tn-seat-tool .tn-seat-select select{border:0;height:38px;width:auto;min-width:150px;background:transparent;font-size:13px}
.tn-seat-page .tn-seat-check.is-inline{align-items:center;font-size:12px}
.tn-seat-page .tn-seat-edit{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:0 16px 12px}
.tn-seat-page .tn-seat-tools{display:inline-flex;border:1px solid var(--seat-line);background:var(--seat-desk)}
.tn-seat-page .tn-seat-tools button{height:34px;padding:0 11px;border:0;border-right:1px solid var(--seat-soft);background:transparent;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);font-size:12px;transition:background-color .18s,color .18s}
.tn-seat-page .tn-seat-tools button:last-child{border-right:0}
.tn-seat-page .tn-seat-tools button[aria-pressed="true"]{background:var(--seat-btn);color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink);box-shadow:inset 0 -2px 0 var(--seat-accent)}
.tn-seat-page .tn-seat-view{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.tn-seat-page .tn-seat-range{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 8px;border:1px solid var(--seat-line);background:var(--seat-desk);font-size:12px;font-weight:700;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted)}
.tn-seat-page .tn-seat-range input{width:84px;accent-color:#a74616;margin:0}
.tn-seat-page .tn-seat-range output{min-width:38px;text-align:right;font-variant-numeric:tabular-nums;color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink)}
.tn-seat-page .tn-seat-icon{height:34px;padding:0 10px;border:1px solid var(--seat-line);background:var(--seat-btn);color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink);font-size:12px!important;transition:background-color .15s}
.tn-seat-page .tn-seat-icon:hover{background:var(--seat-hover)}
.tn-seat-page .tn-seat-icon[aria-pressed="true"]{background:var(--seat-strong);color:var(--seat-strong-ink);-webkit-text-fill-color:var(--seat-strong-ink);border-color:var(--seat-strong)}
.tn-seat-page .tn-seat-status{min-height:40px;padding:10px 16px;font-size:13px;line-height:1.5;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);border-bottom:1px solid var(--seat-soft);font-variant-numeric:tabular-nums}
.tn-seat-page .tn-seat-movebar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;font-size:12px;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);border-bottom:1px solid var(--seat-soft);background:var(--seat-paper)}
.tn-seat-page .tn-seat-movebar[hidden]{display:none}
.tn-seat-page .tn-seat-board-wrap{position:relative;flex:1;min-height:380px;padding:20px 12px 26px;overflow-x:auto;overflow-y:hidden;background-image:radial-gradient(var(--seat-soft) 1px,transparent 1px);background-size:18px 18px}
.tn-seat-page .tn-seat-print{display:flex;flex-direction:column;align-items:center;min-width:min-content}
.tn-seat-page .tn-seat-print-head{display:none}
.tn-seat-page .tn-seat-frontbar{min-width:180px;padding:7px 24px;margin:0 auto 22px;border:1px solid var(--seat-line);background:var(--seat-btn);text-align:center;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);transition:transform .45s var(--seat-ease)}
.tn-seat-page .tn-seat-stage.is-flipped .tn-seat-print{flex-direction:column-reverse}
.tn-seat-page .tn-seat-stage.is-flipped .tn-seat-frontbar{margin:22px auto 0}
.tn-seat-page .tn-seat-board{position:relative;margin:0 auto;transition:width .45s var(--seat-ease),height .45s var(--seat-ease)}
.tn-seat-page .tn-seat-wrap-shake,.tn-seat-page .tn-seat-board-wrap.is-shake .tn-seat-board{animation:tnSeatShake .42s}
.tn-seat-page .tn-seat-board-wrap.is-trembling .tn-seat-board{animation:tnSeatTremble .16s linear infinite}

/* desk */
.tn-seat-page .tn-seat-tool .tn-seat-desk{position:absolute;left:0;top:0;padding:0;border:0;background:transparent;color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink);transition:transform .5s var(--seat-ease),width .45s var(--seat-ease),height .45s var(--seat-ease);touch-action:manipulation;perspective:600px;will-change:transform}
.tn-seat-page .tn-seat-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:calc(var(--seat-num,10px) + 3px) 5px 3px;border:1px solid var(--seat-desk-line);background:var(--seat-desk);transition:background-color .22s,border-color .22s,opacity .22s,transform .22s var(--seat-ease);transform-origin:50% 50%;backface-visibility:hidden}
.tn-seat-page .tn-seat-face::before{content:"";position:absolute;left:18%;right:18%;bottom:-6px;height:4px;border:1px solid var(--seat-desk-line);border-top:0;background:var(--seat-wash);transition:opacity .2s}
.tn-seat-page .tn-seat-num{position:absolute;left:5px;top:3px;font:700 var(--seat-num,10px)/1 Arial,sans-serif;font-variant-numeric:tabular-nums;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);opacity:.8}
.tn-seat-page .tn-seat-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;text-align:center;font:800 var(--seat-font,18px)/1.15 Arial,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:anywhere;color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink)}
.tn-seat-page .tn-seat-tag{position:absolute;right:4px;bottom:3px;font:700 max(9px,calc(var(--seat-num,10px) - 1px))/1 Arial,sans-serif;color:var(--seat-accent);-webkit-text-fill-color:var(--seat-accent)}
.tn-seat-page .tn-seat-desk:hover .tn-seat-face{border-color:var(--seat-line);transform:translateY(-2px)}
.tn-seat-page .tn-seat-desk:focus-visible{outline:none}
.tn-seat-page .tn-seat-desk:focus-visible .tn-seat-face{outline:2px solid var(--seat-accent);outline-offset:2px}
.tn-seat-page .tn-seat-desk.is-filled .tn-seat-face{border-color:var(--seat-line)}
.tn-seat-page .tn-seat-desk.is-fixed .tn-seat-face{background:var(--seat-fixed);border-color:var(--seat-accent)}
.tn-seat-page .tn-seat-desk.is-off .tn-seat-face{background:transparent;border:1px dashed var(--seat-line);transform:scale(.9)}
.tn-seat-page .tn-seat-desk.is-off .tn-seat-face::before{opacity:0}
.tn-seat-page .tn-seat-desk.is-off .tn-seat-name{font-size:max(10px,calc(var(--seat-font,18px) * .55));font-weight:600;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);opacity:.75}
.tn-seat-page .tn-seat-desk.is-hidden .tn-seat-face{background:var(--seat-strong);border-color:var(--seat-strong)}
.tn-seat-page .tn-seat-desk.is-hidden .tn-seat-name,.tn-seat-page .tn-seat-desk.is-hidden .tn-seat-num{color:var(--seat-strong-ink);-webkit-text-fill-color:var(--seat-strong-ink)}
.tn-seat-page .tn-seat-desk.is-hidden:hover .tn-seat-face{transform:translateY(-3px) rotate(-1deg)}
.tn-seat-page .tn-seat-desk.is-selected .tn-seat-face{outline:2px solid var(--seat-accent);outline-offset:2px}
.tn-seat-page [data-seat-tool="move"] .tn-seat-desk{cursor:grab;touch-action:none}
.tn-seat-page [data-seat-tool="move"] .tn-seat-desk.is-dragging{cursor:grabbing;transition:none;z-index:5}
.tn-seat-page [data-seat-tool="move"] .tn-seat-desk.is-dragging .tn-seat-face{border-color:var(--seat-accent)}
.tn-seat-page [data-seat-tool="fix"] .tn-seat-desk:not(.is-off){cursor:copy}
.tn-seat-page .tn-seat-desk.is-entering .tn-seat-face{animation:tnSeatIn .55s var(--seat-ease) both;animation-delay:var(--seat-delay,0ms)}
.tn-seat-page .tn-seat-desk.is-leaving{opacity:0;transition:opacity .3s}
.tn-seat-page .tn-seat-desk.is-bump .tn-seat-face{animation:tnSeatBump .34s var(--seat-ease)}
.tn-seat-page .tn-seat-desk.is-flip .tn-seat-face{animation:tnSeatFlip .62s var(--seat-ease) both;animation-delay:var(--seat-delay,0ms)}
.tn-seat-page .tn-seat-desk.is-deal .tn-seat-face{animation:tnSeatDeal .5s var(--seat-ease) both;animation-delay:var(--seat-delay,0ms)}
.tn-seat-page .tn-seat-desk.is-swap .tn-seat-face{animation:tnSeatSwap .5s var(--seat-ease)}
.tn-seat-page .tn-seat-desk.is-spot .tn-seat-face{background:var(--seat-fixed);border-color:var(--seat-accent)}
.tn-seat-page .tn-seat-desk.is-shuffling .tn-seat-name{opacity:.6;filter:blur(.4px)}
.tn-seat-page .tn-seat-desk.is-shuffling .tn-seat-face{animation:tnSeatJitter .24s linear infinite alternate}
.tn-seat-page .tn-seat-desk.is-shuffling:nth-child(2n) .tn-seat-face{animation-direction:alternate-reverse}
@keyframes tnSeatIn{from{opacity:0;transform:translateY(14px) scale(.7)}to{opacity:1;transform:none}}
@keyframes tnSeatBump{0%{transform:scale(1)}40%{transform:scale(.86)}100%{transform:scale(1)}}
@keyframes tnSeatFlip{0%{transform:rotateY(90deg) scale(.94);opacity:.2}55%{transform:rotateY(-14deg) scale(1.06);opacity:1}100%{transform:none}}
@keyframes tnSeatDeal{0%{transform:translateY(-26px) rotate(-6deg);opacity:0}100%{transform:none;opacity:1}}
@keyframes tnSeatSwap{0%{transform:none}35%{transform:translateY(-8px) scale(1.08)}100%{transform:none}}
@keyframes tnSeatJitter{from{transform:rotate(-1.2deg)}to{transform:rotate(1.2deg)}}
@keyframes tnSeatShake{0%,100%{transform:none}20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
@keyframes tnSeatTremble{0%{transform:translate(0,0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}100%{transform:translate(0,0)}}
@keyframes tnSeatNudge{0%,100%{transform:none}30%{transform:translateX(-3px)}60%{transform:translateX(3px)}}

/* popover, overlay, reveal bar */
.tn-seat-page .tn-seat-pop{position:absolute;z-index:8;width:230px;padding:12px;border:1px solid var(--seat-line);background:var(--seat-paper);display:flex;flex-direction:column;gap:8px;animation:tnSeatPop .22s var(--seat-ease)}
.tn-seat-page .tn-seat-pop[hidden]{display:none}
.tn-seat-page .tn-seat-pop p{font-size:13px;font-weight:700}
.tn-seat-page .tn-seat-pop div{display:flex;gap:6px}
.tn-seat-page .tn-seat-pop .tn-seat-btn{min-height:32px;padding:0 10px;flex:1}
@keyframes tnSeatPop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.tn-seat-page .tn-seat-overlay{position:absolute;inset:0;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:rgba(250,246,238,.72);opacity:0;transition:opacity .25s;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}
.tn-seat-page .tn-seat-overlay[hidden]{display:none}
.tn-seat-page .tn-seat-overlay.is-on{opacity:1}
.tn-seat-page .tn-seat-overlay.is-tense{background:rgba(250,246,238,.42)}
.tn-seat-page .tn-seat-count-box{position:relative;width:176px;height:176px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--seat-paper);border:1px solid var(--seat-line)}
.tn-seat-page .tn-seat-count-box svg{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);transform:rotate(-90deg)}
.tn-seat-page .tn-seat-count-box circle{fill:none;stroke:var(--seat-soft);stroke-width:4}
.tn-seat-page .tn-seat-count-box .tn-seat-ring{stroke:var(--seat-accent);stroke-dasharray:283;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear}
.tn-seat-page .tn-seat-count-box strong{font:800 84px/1 Arial,-apple-system,sans-serif;font-variant-numeric:lining-nums tabular-nums;color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink)}
.tn-seat-page .tn-seat-count-box strong.is-pop{animation:tnSeatCount .9s var(--seat-ease)}
.tn-seat-page .tn-seat-overlay.is-final .tn-seat-count-box{animation:tnSeatBeat 1s ease-in-out infinite;border-color:var(--seat-accent)}
.tn-seat-page .tn-seat-overlay.is-final .tn-seat-count-box strong{color:var(--seat-accent);-webkit-text-fill-color:var(--seat-accent)}
.tn-seat-page .tn-seat-overlay p{font-size:15px;font-weight:800;padding:4px 12px;background:var(--seat-paper);border:1px solid var(--seat-soft)}
@keyframes tnSeatCount{0%{transform:scale(1.8);opacity:0}35%{transform:scale(.94);opacity:1}60%{transform:scale(1.03)}100%{transform:scale(1)}}
@keyframes tnSeatBeat{0%,100%{transform:scale(1)}12%{transform:scale(1.07)}24%{transform:scale(1)}36%{transform:scale(1.05)}}
.tn-seat-page .tn-seat-revealbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-top:1px solid var(--seat-soft);background:var(--seat-paper);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.tn-seat-page .tn-seat-revealbar[hidden]{display:none}
.tn-seat-page .tn-seat-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:9px 16px;border-top:1px solid var(--seat-soft);background:var(--seat-paper)}
.tn-seat-page .tn-seat-code{margin-left:auto!important;font-size:12px;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);text-align:right}
.tn-seat-page .tn-seat-legend{display:inline-flex;gap:10px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;transition:opacity .2s}
.tn-seat-page .tn-seat-legend[hidden]{display:none}
.tn-seat-page .tn-seat-legend.is-muted{opacity:.5}
.tn-seat-page .tn-seat-legend span{display:inline-flex;align-items:center;gap:5px}
.tn-seat-page .tn-seat-legend i{display:inline-block;width:12px;height:12px;border:1px solid var(--seat-line);background:var(--seat-desk)}
.tn-seat-page .tn-seat-legend .is-m i{background:var(--seat-m);border-color:var(--seat-m-line)}
.tn-seat-page .tn-seat-legend .is-f i{background:var(--seat-f);border-color:var(--seat-f-line)}
.tn-seat-page .tn-seat-find{display:inline-flex;align-items:center;height:32px;border:1px solid var(--seat-line);background:var(--seat-desk)}
.tn-seat-page .tn-seat-find span{padding:0 8px;font-size:12px;font-weight:700;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);border-right:1px solid var(--seat-soft);height:100%;display:flex;align-items:center;white-space:nowrap}
.tn-seat-page .tn-seat-tool .tn-seat-find input{border:0;height:30px;width:120px;padding:0 8px;background:transparent;font-size:13px}
.tn-seat-page .tn-seat-foot .tn-seat-btn{min-height:32px;padding:0 10px;font-size:12px}
.tn-seat-page .tn-seat-colbar{position:relative;height:28px;margin:0 auto 8px}
.tn-seat-page .tn-seat-colbar[hidden]{display:none}
.tn-seat-page .tn-seat-stage.is-flipped .tn-seat-colbar{margin:8px auto 0}
.tn-seat-page .tn-seat-tool .tn-seat-colchip{position:absolute;left:0;top:0;height:26px;padding:0 2px;border:1px dashed var(--seat-line);background:transparent;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted);font:700 11px/1 Arial,-apple-system,"Apple SD Gothic Neo",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .45s var(--seat-ease),background-color .18s,border-color .18s,width .45s var(--seat-ease)}
.tn-seat-page .tn-seat-tool .tn-seat-colchip:hover{border-style:solid;background:var(--seat-desk)}
.tn-seat-page .tn-seat-tool .tn-seat-colchip[data-rule="m"]{border:1px solid var(--seat-m-line);background:var(--seat-m);color:var(--seat-m-ink);-webkit-text-fill-color:var(--seat-m-ink)}
.tn-seat-page .tn-seat-tool .tn-seat-colchip[data-rule="f"]{border:1px solid var(--seat-f-line);background:var(--seat-f);color:var(--seat-f-ink);-webkit-text-fill-color:var(--seat-f-ink)}
.tn-seat-page .tn-seat-g{position:absolute;right:5px;top:3px;font:700 max(9px,calc(var(--seat-num,10px) - 1px))/1 Arial,sans-serif}
.tn-seat-page .tn-seat-desk.is-m .tn-seat-face{background:var(--seat-m);border-color:var(--seat-m-line)}
.tn-seat-page .tn-seat-desk.is-f .tn-seat-face{background:var(--seat-f);border-color:var(--seat-f-line)}
.tn-seat-page .tn-seat-desk.is-m .tn-seat-g{color:var(--seat-m-ink);-webkit-text-fill-color:var(--seat-m-ink)}
.tn-seat-page .tn-seat-desk.is-f .tn-seat-g{color:var(--seat-f-ink);-webkit-text-fill-color:var(--seat-f-ink)}
.tn-seat-page .tn-seat-desk.is-fixed.is-m .tn-seat-face,.tn-seat-page .tn-seat-desk.is-fixed.is-f .tn-seat-face{border-color:var(--seat-accent)}
.tn-seat-page .tn-seat-desk.is-need .tn-seat-name{font-size:max(10px,calc(var(--seat-font,18px) * .55));font-weight:700;opacity:.8}
.tn-seat-page .tn-seat-desk.is-need[data-need="m"] .tn-seat-face{border-style:dashed;border-color:var(--seat-m-line)}
.tn-seat-page .tn-seat-desk.is-need[data-need="f"] .tn-seat-face{border-style:dashed;border-color:var(--seat-f-line)}
.tn-seat-page .tn-seat-desk.is-need[data-need="m"] .tn-seat-name{color:var(--seat-m-ink);-webkit-text-fill-color:var(--seat-m-ink)}
.tn-seat-page .tn-seat-desk.is-need[data-need="f"] .tn-seat-name{color:var(--seat-f-ink);-webkit-text-fill-color:var(--seat-f-ink)}
.tn-seat-page .tn-seat-desk.is-found{z-index:4}
.tn-seat-page .tn-seat-desk.is-found .tn-seat-face{outline:3px solid var(--seat-accent);outline-offset:3px;animation:tnSeatFound 1.1s var(--seat-ease) 2}
/* compact desks keep only number and gender letter */
.tn-seat-page .tn-seat-board.is-compact .tn-seat-tag{display:none}
.tn-seat-page .tn-seat-board.is-compact .tn-seat-desk.is-fixed .tn-seat-face{border-width:2px}
@keyframes tnSeatFound{0%{transform:scale(1)}30%{transform:scale(1.12)}60%{transform:scale(.98)}100%{transform:scale(1)}}
.tn-seat-page .tn-seat-code b{font:700 12px Arial,sans-serif;letter-spacing:.05em;font-variant-numeric:tabular-nums;color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink)}

/* fullscreen */
.tn-seat-page .tn-seat-stage:fullscreen,.tn-seat-page .tn-seat-stage.is-pseudo-full{background:var(--seat-wash);overflow:auto}
.tn-seat-page .tn-seat-stage.is-pseudo-full{position:fixed;inset:0;z-index:99999}
html.tn-seat-lock,html.tn-seat-lock body{overflow:hidden}
.tn-seat-page .tn-seat-stage.is-full .tn-seat-board-wrap{padding:28px 20px}
.tn-seat-page .tn-seat-stage.is-full .tn-seat-print-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}
.tn-seat-page .tn-seat-stage.is-full .tn-seat-print-head strong{font-size:26px}
.tn-seat-page .tn-seat-stage.is-full .tn-seat-print-head span{font-size:13px;color:var(--seat-muted);-webkit-text-fill-color:var(--seat-muted)}
.tn-seat-page .tn-seat-stage.is-full .tn-seat-frontbar{font-size:15px;padding:9px 40px}
.tn-seat-page .tn-seat-stage::backdrop{background:#f5efdf}

/* dark */
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-seat-page .tn-seat-tool,html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-seat-page .tn-seat-tool{--seat-ink:#f7ead1;--seat-muted:#d1ba96;--seat-line:#826744;--seat-soft:#4a3a28;--seat-paper:#241b14;--seat-wash:#1d1610;--seat-btn:#2f2115;--seat-hover:#3b2a1b;--seat-accent:#ffa061;--seat-desk:#2d2219;--seat-desk-line:#6d5638;--seat-fixed:#4a2a16;--seat-strong:#4a3116;--seat-strong-ink:#f7ead1;--seat-warn:#ffb37e;--seat-m:#1f2a33;--seat-m-line:#5b778f;--seat-m-ink:#a9c3d8;--seat-f:#36221f;--seat-f-line:#95635a;--seat-f-ink:#e6b3a8;color:var(--seat-ink);-webkit-text-fill-color:var(--seat-ink)}
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-seat-page .tn-seat-go,html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-seat-page .tn-seat-go,body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-seat-page .tn-seat-btn.is-strong,html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-seat-page .tn-seat-btn.is-strong,body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-seat-page .tn-seat-icon[aria-pressed="true"],html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-seat-page .tn-seat-icon[aria-pressed="true"]{background:#6a3b1f;border-color:#c47e4d;color:#f7ead1;-webkit-text-fill-color:#f7ead1}
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-seat-page .tn-seat-desk.is-hidden .tn-seat-face,html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-seat-page .tn-seat-desk.is-hidden .tn-seat-face{background:#6a3b1f;border-color:#c47e4d}
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-seat-page .tn-seat-overlay,html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-seat-page .tn-seat-overlay{background:rgba(29,22,16,.72)}
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-seat-page .tn-seat-overlay.is-tense,html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-seat-page .tn-seat-overlay.is-tense{background:rgba(29,22,16,.45)}
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-seat-page .tn-seat-stage::backdrop,html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-seat-page .tn-seat-stage::backdrop{background:#1d1610}
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-seat-page .tn-seat-tool :is(.tn-seat-check input,.tn-seat-range input),html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-seat-page .tn-seat-tool :is(.tn-seat-check input,.tn-seat-range input){accent-color:#ffa061}

/* responsive */
@media(max-width:1020px){
.tn-seat-page .tn-seat-workspace{grid-template-columns:minmax(0,300px) minmax(0,1fr)}
.tn-seat-page .tn-seat-edit{flex-direction:column;align-items:stretch}
.tn-seat-page .tn-seat-view{justify-content:flex-start}
}
@media(max-width:720px){
.tn-seat-page{margin:0 5px}
.tn-seat-page .tn-hero{margin-bottom:48px}
.tn-seat-page .tn-seat-ad--bottom{margin-bottom:36px}
.tn-seat-page .tn-seat-workspace{grid-template-columns:1fr;min-height:0}
.tn-seat-page .tn-seat-panel{border-right:0;border-bottom:1px solid var(--seat-line)}
.tn-seat-page .tn-seat-pane{padding:16px 14px}
.tn-seat-page .tn-seat-tool #seatNames{min-height:150px}
.tn-seat-page .tn-seat-command{padding:12px;gap:8px}
.tn-seat-page .tn-seat-go{flex:1 1 100%;justify-content:center;height:50px}
.tn-seat-page .tn-seat-select{flex:1 1 auto}
.tn-seat-page .tn-seat-tool .tn-seat-select select{min-width:0;flex:1}
.tn-seat-page .tn-seat-edit{padding:0 12px 12px}
.tn-seat-page .tn-seat-tools{display:grid;grid-template-columns:1fr 1fr}
.tn-seat-page .tn-seat-tools button{border-bottom:1px solid var(--seat-soft)}
.tn-seat-page .tn-seat-tools button:nth-child(2n){border-right:0}
.tn-seat-page .tn-seat-view{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.tn-seat-page .tn-seat-foot{padding:9px 12px}
.tn-seat-page .tn-seat-find{flex:1 1 180px}
.tn-seat-page .tn-seat-tool .tn-seat-find input{width:auto;flex:1;min-width:0}
.tn-seat-page .tn-seat-range{grid-column:1/-1;height:32px}
.tn-seat-page .tn-seat-range input{flex:1;width:auto}
.tn-seat-page .tn-seat-icon{padding:0 2px;height:36px;font-size:11px!important;line-height:1.15!important;white-space:normal;word-break:keep-all}
.tn-seat-page .tn-seat-tool #seatNames{height:150px}
.tn-seat-page .tn-seat-tools button{height:32px}
.tn-seat-page .tn-seat-board-wrap{min-height:260px;padding:16px 8px 22px}
.tn-seat-page .tn-seat-status{padding:10px 12px}
.tn-seat-page .tn-seat-shapes button{font-size:10px}
.tn-seat-page .tn-seat-count-box{width:132px;height:132px}
.tn-seat-page .tn-seat-count-box strong{font-size:62px}
}
@media(prefers-reduced-motion:reduce){
.tn-seat-page .tn-seat-tool *,.tn-seat-page .tn-seat-tool *::before,.tn-seat-page .tn-seat-tool *::after{animation:none!important;transition:none!important}
}

/* print: a cloned chart is the only printed element */
#tnSeatPrintClone{display:none}
@media print{
@page{size:A4 landscape;margin:12mm}
html.tn-seat-printing body>*:not(#tnSeatPrintClone){display:none!important}
html.tn-seat-printing body{background:#fff!important;margin:0!important;padding:0!important}
html.tn-seat-printing #tnSeatPrintClone{display:block!important;max-width:none;margin:0}
#tnSeatPrintClone .tn-seat-colbar{display:none}
#tnSeatPrintClone .tn-seat-tool{--seat-m:#e8eff5;--seat-m-line:#6f8aa3;--seat-m-ink:#3d5a73;--seat-f:#f7e8e4;--seat-f-line:#b0837a;--seat-f-ink:#8a4a3f;--seat-ink:#1a1208;--seat-muted:#5a4a30;--seat-line:#8f7d5c;--seat-soft:#ddd4be;--seat-desk:#fff;--seat-desk-line:#8f7d5c;--seat-wash:#fff;--seat-fixed:#fff;--seat-btn:#f3eee2;--seat-accent:#8a3400;--seat-strong:#1a1208;--seat-strong-ink:#fff;border:0;background:#fff;color:#1a1208;-webkit-text-fill-color:#1a1208}
#tnSeatPrintClone .tn-seat-stage{background:#fff}
#tnSeatPrintClone .tn-seat-print{align-items:center}
#tnSeatPrintClone .tn-seat-print-head{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}
#tnSeatPrintClone .tn-seat-print-head strong{font-size:22px}
#tnSeatPrintClone .tn-seat-print-head span{font-size:12px;color:#5a4a30;-webkit-text-fill-color:#5a4a30}
#tnSeatPrintClone :is(.tn-seat-desk,.tn-seat-face,.tn-seat-board){transition:none!important;animation:none!important}
#tnSeatPrintClone .tn-seat-face{-webkit-print-color-adjust:exact;print-color-adjust:exact}
#tnSeatPrintClone .tn-seat-desk.is-hidden .tn-seat-face{background:#fff;border-color:#8f7d5c}
}
