/* Match the existing Tooli 2026 palette, pixel type, panels and buttons. */
:root{color-scheme:light}
html,body{background:#fcfbf5;color:#293047}
body{background-image:repeating-linear-gradient(62deg,transparent 0 43px,#b7e0cf38 43px 70px,transparent 70px 111px),repeating-linear-gradient(-62deg,transparent 0 43px,#ffbeaa3a 43px 70px,transparent 70px 111px);background-attachment:fixed}
@font-face{font-family:TDBody;src:url('../../../layouts/tooli_2026/fonts/PretendardVariable.woff2') format('woff2');font-display:swap}
.td{--ink:#293047;--muted:#657087;--line:#344056;--gold:#b72f69;--mint:#80cdb3;--surface:#fffefa;--border:#d8dce2;--pink-soft:#ffe8f1;--blue:#e8eeff;--yellow:#ffeaaa;--mint-soft:#e2f7ed;font-family:TDBody,"Malgun Gothic",sans-serif;padding-top:20px}
.td button{background:var(--surface);color:var(--ink);border:1.5px solid var(--line);border-radius:7px;box-shadow:2px 2px 0 #29304720}
.td button:hover{background:var(--pink-soft);border-color:var(--line);box-shadow:3px 3px 0 #29304730}.td button:active{transform:translate(1px,1px);box-shadow:none}.td button:focus-visible,.td a:focus-visible{outline-color:#b72f69}
.td-top{min-height:68px;padding:12px 20px;background:var(--surface);border:2px solid var(--line);border-radius:12px;box-shadow:4px 4px 0 var(--ink)}
.td-home{color:#48536b!important;font-family:TDGame,monospace}.td-brand{color:var(--ink)!important;font-family:TDGame,monospace;font-size:27px;letter-spacing:0}.td-brand small{color:#b72f69;background:var(--pink-soft);border:1px solid #f3a8c6;border-radius:4px;padding:3px 7px;font-family:TDGame,monospace}.td-brand-mark{width:24px;height:26px;border:2px solid var(--line);border-radius:5px;background:var(--mint-soft);box-shadow:none}.td-brand-mark:after{inset:4px;background:#ffd0e2;border:3px solid var(--ink);box-shadow:none}
.td-top-actions button{background:var(--yellow);color:var(--ink);border-color:var(--line);font-family:TDGame,monospace;padding:7px 11px}
.td-floorbar{padding:0 3px}.td-floor-number{display:grid;place-items:center;width:46px;height:44px;padding:0;border:1.5px solid var(--line);border-radius:8px;background:var(--pink-soft);color:var(--ink);font:25px TDGame,monospace;box-shadow:2px 2px 0 var(--line)}.td-floorbar small{color:#b72f69;font-family:TDGame,monospace;letter-spacing:0}.td-floorbar h1{color:var(--ink)}.td-turn{color:#48536b;font-family:TDGame,monospace}
.td-vitals{background:var(--mint-soft);border:2px solid var(--line);border-bottom:0;border-radius:11px 11px 0 0}.td-hp span{color:#48536b}.td-meter{border-color:var(--line);background:var(--surface)}.td-meter i{background:#80cdb3}.td-level{border-color:#a9d1bf}.td-level b{color:#b72f69;font-family:TDGame,monospace}.td-level span{color:var(--muted)}.td-resources{color:#48536b}.td-resources b{color:var(--ink);font:20px TDGame,monospace}
.td-viewport{border:2px solid var(--line);box-shadow:none}.td-viewport:after{border-color:#10191d44}.td-scene-label{color:var(--ink);background:#fffefaed;border:1px solid var(--line);border-radius:4px;font-family:TDGame,monospace}.td-led{background:#ee72a2;box-shadow:none}
.td-context{background:var(--surface);color:#48536b;border:2px solid var(--line);border-top:0}
.td-controls{background:var(--blue);border:2px solid var(--line);border-top:0;border-radius:0 0 11px 11px;box-shadow:4px 4px 0 var(--ink)}
.td-dpad button{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:2px 2px 0 #34405640;font-family:TDGame,monospace}.td-dpad .center{background:var(--mint-soft);color:var(--ink)}
.td-action-grid button{background:var(--surface);color:var(--ink);border:1.5px solid var(--line);box-shadow:3px 3px 0 var(--line);font:16px TDGame,monospace;text-shadow:none}.td-action-grid .td-attack{background:var(--yellow);color:var(--ink);text-shadow:none;border-color:var(--line);box-shadow:3px 3px 0 var(--line)}.td-action-grid [data-act=skill]{background:var(--pink-soft)}.td-action-grid [data-act=potion]{background:var(--mint-soft)}.td-action-grid kbd,.td-action-grid .td-attack kbd,.td-action-grid [data-ui=cooldown]{color:var(--muted)}
.td-game-footer{color:#48536b}.td-game-footer button{background:var(--yellow);font-family:TDGame,monospace}
.td-panel{background:var(--surface);border:2px solid var(--line);border-radius:12px;box-shadow:4px 4px 0 var(--ink)}.td-panel-title{background:var(--blue);margin:-16px -16px 12px;padding:10px 14px;border-bottom:1.5px solid var(--line);border-radius:9px 9px 0 0}.td-panel-title h2{font:15px TDGame,monospace;color:var(--ink)}.td-panel-title>span{color:var(--muted)}.td-panel-title button{background:var(--yellow);font-family:TDGame,monospace}
.td-map-panel canvas{border-color:var(--line);border-radius:3px}.td-map-panel p{color:var(--muted)}.td-stats{gap:6px}.td-stats span{background:#fcfbf5;border-color:var(--border);border-radius:5px;color:var(--muted)}.td-stats b{font:20px TDGame,monospace;color:var(--ink)}
.td .td-equip-row{width:100%;text-align:left;padding:3px 0;background:none;border:0;border-radius:5px;box-shadow:none;color:var(--ink)}.td .td-equip-row:hover,.td .td-equip-row:focus-visible{background:var(--pink-soft);transform:none;box-shadow:none}.td-equip-row small{color:var(--muted)}.td-equip-row b{color:var(--ink)}.td-item-icon{border:1.5px solid var(--line);border-radius:6px;background:var(--mint-soft)}.td-item-icon:before{border-color:var(--ink)}.td-item-icon.relic{background:var(--pink-soft)}.td-item-icon.relic:before{background:var(--yellow);border-color:#ee72a2;box-shadow:0 0 0 1px var(--line)}.td-item-icon.empty{background:#fcfbf5;border-color:var(--border)}.td-skill-tags span{color:#34745f;background:var(--mint-soft);border-color:#aacfbf;border-radius:4px}
.td-log-panel .td-panel-title{background:var(--pink-soft)}.td-log-panel ol{scrollbar-color:#bcc6d4 transparent}.td-log-panel li{color:#48536b;border-bottom:1px dashed var(--border)}.td-log-panel .good{color:#34745f}.td-log-panel .danger{color:#b72f69}.td-log-panel time{color:#8994a6}
.td .td-supply-link{background:var(--yellow)!important;border:1.5px solid var(--line)!important;box-shadow:3px 3px 0 var(--line)!important}.td-supply-link span{color:var(--ink);font:15px TDGame,monospace}.td-supply-link small{color:#48536b}
.td-dialog-backdrop{background:#fcfbf5a6;backdrop-filter:blur(2px)}.td-dialog{background:var(--surface);border:2px solid var(--line);border-radius:12px;padding:0;color:var(--ink);box-shadow:6px 6px 0 var(--ink)}.td-dialog:before{display:none}.td-windowbar{display:flex;align-items:center;gap:9px;padding:10px 20px;border-bottom:2px solid var(--line);background:var(--blue);font:14px TDGame,monospace}.td-windowbar:before{content:"";width:12px;height:12px;border:2px solid var(--line);background:#ee72a2;box-shadow:inset 2px 2px #ffe8f1}.td-windowbar:after{content:"";margin-left:auto;width:66px;height:7px;background:repeating-linear-gradient(to bottom,#34405650 0 1px,transparent 1px 3px)}.td-dialog [data-ui=dialog-content]{padding:28px 32px 30px}
.td-dialog h2,.td-dialog h3{color:var(--ink)}.td-dialog h3{font-family:TDGame,monospace}.td-dialog p{color:#48536b}.td-dialog .td-caption{color:#b72f69;letter-spacing:0;font-family:TDGame,monospace}.td-dialog .td-dialog-subline{color:var(--muted);margin:10px 0}
.td-dialog button.primary{background:var(--yellow);border-color:var(--line);color:var(--ink);font:16px TDGame,monospace;box-shadow:3px 3px 0 var(--line)}.td-dialog button.plain{background:var(--surface);color:#48536b;border-color:var(--border);box-shadow:none}
.td-job-grid{gap:14px;margin:22px 0 18px}.td-job-card{min-height:128px;grid-template-columns:70px 1fr;column-gap:14px;padding:20px 18px!important;background:var(--mint-soft)!important;border:1.5px solid var(--line)!important;box-shadow:3px 3px 0 #34405630!important}.td-job-card[data-job=mage]{background:var(--pink-soft)!important}.td-job-card[aria-pressed=true]{border:2px solid var(--line)!important;box-shadow:4px 4px 0 var(--line)!important;transform:translate(-1px,-2px)}.td-job-card[aria-pressed=true]:after{content:"선택";position:absolute;right:9px;top:9px;font:10px TDGame,monospace;color:#b72f69;background:#fffefa;border:1px solid #f3a8c6;border-radius:4px;padding:2px 5px}.td-job-card canvas{width:64px;height:64px}.td-job-card b{font:21px TDGame,monospace;color:var(--ink)}.td-job-card span{color:#48536b}
.td-modes button{font:14px TDGame,monospace;background:#fcfbf5;border-color:var(--border);box-shadow:none;padding:12px}.td-modes button[aria-pressed=true]{border-color:var(--line);background:var(--blue);box-shadow:2px 2px 0 var(--line)}.td-modes small{font:10px/1.7 TDBody,sans-serif;color:var(--muted);margin-top:3px}.td-menu-links{padding-top:16px;border-top:1px dashed var(--border)}.td-menu-links button{color:#48536b;box-shadow:none;border:0;background:none;padding:0;border-radius:0}
.td-choices button{background:#fcfbf5;border-color:var(--border);box-shadow:2px 2px 0 #34405616}.td-choices button span{color:var(--muted)}.td-choices button:hover{border-color:var(--line);background:var(--mint-soft)}.td-bag-row{background:#fcfbf5;border-color:var(--border);border-radius:7px}.td-bag-row b{color:var(--ink)}.td-bag-row small{color:var(--muted)}.td-bag-row button{background:var(--yellow)}
.td-shop-row{border-color:var(--border)}.td-shop-row b{color:var(--ink);font-family:TDGame,monospace}.td-shop-row small{color:#b72f69;font-size:11px}.td-shop-row button{background:var(--yellow);color:var(--ink)}.td-point-balance{background:var(--mint-soft);border:1.5px solid var(--line);border-radius:8px;color:#48536b}.td-point-balance b{font:25px TDGame,monospace;color:var(--ink)}.td-pack-row{border-color:var(--border)}.td-pack-row small{color:var(--muted)}.td-pack-row button{background:var(--blue)}.td-help-list{color:#48536b}.td-help-list b{color:var(--ink)}.td-records li{border-color:var(--border)}.td-records span{color:var(--muted)}
.td-result-grid div{background:var(--pink-soft);border-color:var(--border);border-radius:8px;color:#48536b}.td-result-grid div:nth-child(2){background:var(--mint-soft)}.td-result-grid div:nth-child(3){background:var(--blue)}.td-result-grid b{font-family:TDGame,monospace;color:var(--ink)}.td-period-tabs button[aria-pressed=true]{background:var(--pink-soft);border-color:var(--line)}.td-dialog .td-warning{color:#b72f69}.td-toast{background:var(--yellow);color:var(--ink);border:2px solid var(--line);border-radius:9px;box-shadow:4px 4px 0 var(--ink)}
.td-item-tooltip{position:fixed;z-index:12000;width:255px;max-width:calc(100vw - 24px);padding:16px;border:2px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:4px 4px 0 var(--ink);pointer-events:none;color:var(--ink)}.td-item-tooltip strong{display:block;font:18px TDGame,monospace;margin:4px 0 10px}.td-item-tooltip small{font-size:10px;color:#b72f69}.td-item-effects{margin:0;padding:0;list-style:none}.td-item-effects li{padding:4px 0;font-size:12px;border-bottom:1px dashed var(--border)}.td-item-effects b{color:#34745f}.td-item-effects .negative b{color:#b72f69}.td-item-description{font-size:11px;color:var(--muted);margin:10px 0 0}
@media(max-width:1050px){.td{padding-top:16px}.td-panel-title{margin:-12px -12px 12px;padding:9px 11px}.td-brand small{display:none}}
@media(max-width:760px){.td{padding-top:10px}.td-top{min-height:52px;padding:8px 12px;border-radius:9px;margin-bottom:16px;box-shadow:3px 3px 0 var(--ink)}.td-brand{font-size:21px}.td-brand-mark{width:20px;height:22px}.td-top-actions button{font-size:11px;padding:5px 7px}.td-floor-number{width:36px;height:36px;padding:0;font-size:22px}.td-resources b{font-size:17px}.td-action-grid button{font-size:14px;box-shadow:2px 2px 0 var(--line)}.td-panel-title h2{font-size:13px}.td-stats b{font-size:19px}.td-dialog{box-shadow:4px 4px 0 var(--ink)}.td-windowbar{padding:9px 16px;font-size:12px}.td-dialog [data-ui=dialog-content]{padding:22px 20px}.td-job-grid{gap:10px;margin:18px 0}.td-job-card{padding:14px 12px!important;min-height:164px}.td-job-card canvas{width:52px;height:52px}.td-job-card b{font-size:19px}.td-modes button{font-size:12px;padding:10px}.td-modes small{font-size:9px}}
@media(max-width:350px){.td{padding-top:8px}.td-top{padding:8px}.td-brand{font-size:18px}.td-brand-mark{display:none}.td-top-actions button{font-size:10px}.td-dialog [data-ui=dialog-content]{padding:20px 16px}.td-job-card{padding:12px 10px!important}}
.td-panel-title{gap:6px}.td-panel-title h2,.td-panel-title button{white-space:nowrap}
@media(max-width:760px){.td-panel-title h2{font-size:12px}.td-panel-title button{font-size:10px;padding:3px 6px}}
@media(max-width:350px){.td-panel-title h2{font-size:11px}}
@media(prefers-reduced-motion:reduce){.td-dialog-backdrop{backdrop-filter:none}}
.td-gear-icon{display:block;flex:none;image-rendering:pixelated;border:1.5px solid var(--line);border-radius:6px;width:36px;height:36px}
.td-dialog:has(.td-inventory-layout){width:min(870px,100%)}
.td-inventory-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;margin-top:20px}
.td-bag-list{border-right:1px solid var(--border);padding-right:18px;max-height:500px;overflow-y:auto;scrollbar-width:thin}
.td-bag-list h3{font:14px TDGame,monospace;margin:0 0 14px}.td-bag-list h3 small{color:var(--muted);margin-left:6px}
.td .td-bag-choice{display:flex;align-items:center;gap:10px;width:100%;padding:10px 8px;margin-bottom:8px;text-align:left;background:#fcfbf5;border:1px solid var(--border);box-shadow:none}
.td .td-bag-choice[aria-pressed=true]{background:var(--blue);border:1.5px solid var(--line);box-shadow:2px 2px 0 var(--line)}
.td-bag-choice b{display:block;font-size:12px;font-weight:600}.td-bag-choice small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.td-item-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.td-item-heading .td-gear-icon{width:48px;height:48px}
.td-item-heading small{font-size:10px;color:#b72f69}.td-item-heading strong{display:block;font:20px TDGame,monospace;margin:3px 0 0;color:var(--ink)}
.td-item-detail>.td-item-effects{padding:0 0 10px;margin:0}.td-item-detail>.td-item-description{margin:6px 0 12px;color:var(--muted);font-size:11px}
.td-compare{margin-top:18px}.td-compare-items{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:16px}
.td-compare-items>div{display:grid;grid-template-columns:36px minmax(0,1fr);gap:3px 9px;align-items:center}.td-compare-items>div>span{grid-column:1/-1;font-size:10px;color:var(--muted);margin-bottom:4px}
.td-compare-items b{font-size:12px;line-height:1.5;font-weight:600}.td-compare-arrow{text-align:center;color:var(--muted);font-size:18px}
.td-compare-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;color:var(--ink);border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line)}
.td-compare-table th,.td-compare-table td{padding:9px 7px;border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;font-weight:400}
.td-compare-table th:first-child{width:38%;text-align:left}.td-compare-table thead{background:var(--blue);font-size:10px;color:#48536b}.td-compare-table tbody th{color:#48536b}
.td-compare-table .up td:last-child,.td-compare-table .up td:nth-child(3){color:#227558;font-weight:700}.td-compare-table .down td:last-child,.td-compare-table .down td:nth-child(3){color:#b72f69;font-weight:700}
.td-compare-table .up td:last-child{background:#e2f7ed88}.td-compare-table .down td:last-child{background:#ffe8f188}.td-compare-table .same td:last-child{color:#9aa2b0}
.td-dialog .td-compare-note,.td-compare-note{font-size:10px;color:var(--muted);line-height:1.7;margin:10px 0 0}
.td-equip-confirm{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px}.td-equip-confirm>span{font-size:11px;color:var(--muted)}.td-equip-confirm button{padding:10px 22px}
.td-relic-picker{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 4px}.td-relic-picker>span{width:100%;font-size:11px;color:#48536b;margin-bottom:3px}.td-relic-picker button{font-size:10px;padding:5px 7px;border-color:var(--border);box-shadow:none}.td-relic-picker button[aria-pressed=true]{background:var(--pink-soft);border-color:var(--line);box-shadow:2px 2px 0 var(--line)}
.td-item-tooltip{width:340px}.td-item-tooltip .td-item-heading{margin-bottom:12px}.td-item-tooltip .td-item-heading strong{font-size:18px;margin:3px 0 0}.td-item-tooltip .td-gear-icon{width:36px;height:36px}.td-item-tooltip .td-compare-items b{font-size:11px}.td-item-tooltip .td-compare-table{font-size:11px}.td-item-tooltip .td-compare-table th,.td-item-tooltip .td-compare-table td{padding:6px}.td-item-tooltip .td-compare-note{font-size:9px}
@media(max-width:760px){.td-inventory-layout{display:flex;flex-direction:column;gap:20px;margin-top:18px}.td-bag-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:170px;border-right:0;border-bottom:1px solid var(--border);padding:0 0 12px;overflow-y:auto}.td-bag-list h3{grid-column:1/-1;margin:0 0 2px}.td .td-bag-choice{margin:0;padding:8px;gap:7px}.td-bag-choice .td-gear-icon{width:28px;height:28px}.td-bag-choice b{font-size:11px}.td-bag-choice small{font-size:9px}.td-compare-table{font-size:11px}.td-compare-table th,.td-compare-table td{padding:8px 5px}.td-compare-items{gap:6px}.td-compare-items>div{grid-template-columns:30px minmax(0,1fr);gap:3px 6px}.td-compare-items .td-gear-icon{width:30px;height:30px}.td-compare-items b{font-size:11px}.td-equip-confirm{gap:8px}.td-equip-confirm button{font-size:14px;padding:9px 14px}}
@media(max-width:760px){.td-bag-list{display:flex;flex-wrap:nowrap;max-height:none;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:12px}.td-bag-list h3{display:none}.td .td-bag-choice{width:145px;flex:none}.td-item-detail .td-item-heading{margin-bottom:10px}.td-item-detail .td-item-heading .td-gear-icon{width:40px;height:40px}.td-item-detail .td-item-heading strong{font-size:19px}.td-item-detail>.td-item-effects li{font-size:11px;padding:3px 0}.td-relic-picker{margin-top:12px}.td-compare-items{margin-bottom:10px}.td-compare{margin-top:14px}}
.td-target-hud{position:absolute;top:12px;right:12px;min-width:190px;max-width:calc(100% - 24px);padding:9px 12px;background:#fffefaf5;border:1.5px solid var(--line);border-radius:7px;box-shadow:3px 3px 0 #29304780;pointer-events:none}.td-target-hud>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px}.td-target-hud b{font:13px TDGame,monospace}.td-target-hud span{font-variant-numeric:tabular-nums;color:#b72f69}.td-target-meter{height:7px;border:1px solid var(--line);background:#f5edf0;padding:1px;margin-top:7px}.td-target-meter i{display:block;height:100%;background:#ee72a2;transition:width .18s}.td-log-panel .hit{color:#816123}
@media(max-width:760px){.td-target-hud{top:8px;right:8px;min-width:155px;padding:7px 9px}.td-target-hud b{font-size:11px}.td-target-hud span{font-size:10px}.td-target-meter{height:6px;margin-top:5px}}
.td-action-grid [data-act=skill]{overflow:hidden;isolation:isolate}.td-action-grid [data-act=skill]::before{content:"";position:absolute;z-index:-1;left:0;bottom:0;width:var(--td-skill-charge,100%);height:4px;background:#d34a85;transition:width .2s}.td-action-grid [data-act=skill].is-ready{border:2px solid #b72f69;box-shadow:3px 3px 0 #b72f69}.td-action-grid [data-act=skill] [data-ui=skill-name]{display:block;font-size:14px}.td-action-grid [data-act=skill] kbd{font-size:11px;font-weight:bold;opacity:1;color:#b72f69}
@media(max-width:760px){.td-action-grid [data-act=skill] [data-ui=skill-name]{font-size:12px}.td-action-grid [data-act=skill].is-ready{box-shadow:2px 2px 0 #b72f69}.td-action-grid [data-act=skill] kbd{display:block;position:absolute;top:1px;right:3px;bottom:auto;font-size:8px}}

/* 소리 버튼은 시작 창이 떠 있어도 누를 수 있게 */
.td-top [data-ui="sound"]{position:relative;z-index:10001}

/* ── 업그레이드: 아이콘·바로 착용·숫자 선택·붉은 달 ── */
.td-res-icon{width:18px;height:18px;margin-right:4px;vertical-align:-4px;image-rendering:pixelated}
.td-btn-with-icon{display:inline-flex;align-items:center;gap:5px}
.td-btn-icon{width:20px;height:20px;image-rendering:pixelated}
.td-bag-row{display:flex;gap:6px;align-items:stretch;margin-bottom:8px}
.td-bag-row .td-bag-choice{flex:1;min-width:0;margin:0}
.td-bag-equip{flex:none;min-width:52px;padding:0 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--yellow,#ffe07a);color:var(--ink,#1d2033);font-weight:700;font-size:12px;box-shadow:2px 2px 0 var(--line);cursor:pointer}
.td-bag-equip:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--line)}
.td-bag-equip:active{transform:translate(1px,1px);box-shadow:none}
.td-choices{counter-reset:td-choice}
.td-choices button{position:relative}
.td-choices button::before{counter-increment:td-choice;content:counter(td-choice);position:absolute;left:-9px;top:-9px;display:grid;place-items:center;width:22px;height:22px;border:1.5px solid var(--line);border-radius:50%;background:var(--yellow,#ffe07a);color:#1d2033;font:700 12px/1 NeoDunggeunmo,monospace;box-shadow:1px 1px 0 var(--line)}
.td-moon .td-floorbar,.td-moon .td-scene-label{box-shadow:0 0 0 2px #ff8f8f inset}
.td-moon .td-scene-label{color:#b0203a}

/* 착용 버튼은 작게, 장비 칸은 바꿀 장비가 있으면 표시 */
.td-bag-equip{align-self:center;min-width:0;height:28px;padding:0 10px;border-radius:14px;font-size:11px;box-shadow:1px 1px 0 var(--line)}
.td-bag-equip:hover{transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--line)}
.td-equip-row{cursor:pointer;position:relative}
.td-equip-row.has-spare::after{content:"바꾸기";position:absolute;right:4px;top:50%;transform:translateY(-50%);padding:1px 7px;border:1px solid var(--line);border-radius:10px;background:var(--yellow,#ffe07a);color:#1d2033;font-size:10px;font-weight:700}
.td-bag-choice b{word-break:keep-all}

/* 장비 교체: 빠지는 장비·새 장비 카드, 바뀌는 능력치 칩, 장착 후 반짝임 */
.td-gear-card{position:relative;padding:10px;border:1.5px solid var(--border);border-radius:10px;background:#fbfaf4}
.td-gear-card>span{display:flex!important;justify-content:space-between;align-items:center}
.td-gear-card>span em{font-style:normal;font-size:10px;font-weight:700;padding:1px 7px;border-radius:9px}
.td-gear-card.is-out{opacity:.8;background:#f2f1ea}
.td-gear-card.is-out>span em{background:#e3e1d8;color:#6d6a5e}
.td-gear-card.is-in{border:2px solid var(--line);background:#fffdf3;box-shadow:3px 3px 0 var(--line);animation:td-card-in .35s ease-out}
.td-gear-card.is-in>span em{background:var(--yellow,#ffe07a);color:#1d2033;border:1px solid var(--line)}
.td-gear-card.is-in.rarity-1{background:#eef4ff}
.td-gear-card.is-in.rarity-2{background:#f7eeff}
.td-compare-arrow{font-size:22px;font-weight:900;color:var(--ink);animation:td-arrow 1.2s ease-in-out infinite}
.td-compare-chips{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px}
.td-chip{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700;border:1.5px solid currentColor}
.td-chip.up{color:#227558;background:#e2f7ed}
.td-chip.down{color:#b72f69;background:#ffe8f1}
.td-chip.same{color:#7b8190;background:#f1f1ec}
@keyframes td-arrow{0%,100%{transform:translateX(-2px)}50%{transform:translateX(3px)}}
@keyframes td-card-in{from{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}
.td-stats span{position:relative}
.td-delta{position:absolute;right:4px;top:2px;font-style:normal;font-size:11px;font-weight:800;animation:td-delta 2.4s ease-out forwards}
.td-delta.up{color:#227558}.td-delta.down{color:#b72f69}
@keyframes td-delta{0%{transform:translateY(6px);opacity:0}15%{transform:none;opacity:1}75%{opacity:1}100%{transform:translateY(-6px);opacity:0}}
.td-pulse{animation:td-pulse 1s ease-out 2}
@keyframes td-pulse{50%{box-shadow:0 0 0 3px var(--yellow,#ffe07a)}}
.td-just-equipped{animation:td-equipped 1.4s ease-out}
@keyframes td-equipped{0%{background:var(--yellow,#ffe07a)}100%{background:transparent}}
@media (prefers-reduced-motion:reduce){.td-compare-arrow,.td-gear-card.is-in,.td-delta,.td-pulse,.td-just-equipped{animation:none}}

/* 튜토리얼 팁 말풍선 */
.td-viewport{position:relative}
.td-tip{position:absolute;left:50%;top:12px;z-index:5;transform:translateX(-50%);display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:start;width:min(520px,calc(100% - 24px));padding:10px 12px;border:2px solid var(--line);border-radius:10px;background:#fffdf3;color:var(--ink);box-shadow:3px 3px 0 var(--line);font-size:13px;line-height:1.6}
.td-tip[hidden]{display:none}
.td-tip.is-new{animation:td-tip-in .3s ease-out}
.td-tip p{margin:0}
.td-tip kbd{display:inline-block;min-width:18px;padding:0 4px;border:1.5px solid var(--line);border-radius:4px;background:#fff;font-size:11px;line-height:1.4;text-align:center}
.td-tip .sky{color:#1f7fb8}.td-tip .red{color:#c8233b}.td-tip .gold{color:#a5740f}
.td-tip-badge{padding:2px 7px;border-radius:8px;background:var(--pink,#ff7ad9);color:#fff;font:700 11px/1.4 NeoDunggeunmo,monospace}
.td-tip-actions{grid-column:2;display:flex;gap:6px;justify-content:flex-end}
.td-tip-actions button{padding:2px 10px;border:1.5px solid var(--line);border-radius:8px;background:#fff;font-size:11px;cursor:pointer;box-shadow:none}
.td-tip-actions [data-tip-close]{background:var(--yellow,#ffe07a);font-weight:700}
.td-tip-reset{margin:12px 0 0}
.td-tip-reset button{padding:4px 12px;font-size:12px}
@keyframes td-tip-in{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.td-tip.is-new{animation:none}}

/* 레벨업 능력 등급 */
.td-tier{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:9px;font-size:10px;font-weight:700;vertical-align:1px;border:1px solid currentColor}
.td-tier.tier-0{color:#6d7480;background:#f1f1ec}
.td-tier.tier-1{color:#2d5bd6;background:#e8eeff}
.td-tier.tier-2{color:#8a3fd1;background:#f4e8ff}
.td-skill-choice.tier-1{border-color:#9fb6f0}
.td-skill-choice.tier-2{border:2px solid #b07ae6;background:linear-gradient(#fbf6ff,#fbf6ff) padding-box;box-shadow:0 0 0 3px #f1e4ff}
.td-have{font-style:normal;font-size:10px;color:var(--muted)}
.td-tip{pointer-events:none}.td-tip button{pointer-events:auto}

/* 사건 결과창 · 경험치 막대 */
.td-result{margin:6px 0 4px;padding:12px 14px;border:2px solid var(--line);border-radius:10px;background:#fbfaf4}
.td-result-good{background:#ecfaf2;border-color:#3f9a70}
.td-result-bad{background:#fff0f3;border-color:#c8233b}
.td-result-mixed{background:#fff8e6;border-color:#c99a2e}
.td-result p{margin:0 0 8px;font-size:13px;line-height:1.7}
.td-result-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.td-result-list li{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:12px;border:1.5px solid currentColor;font-size:12px;animation:td-card-in .3s ease-out both}
.td-result-list li:nth-child(2){animation-delay:.06s}.td-result-list li:nth-child(3){animation-delay:.12s}.td-result-list li:nth-child(4){animation-delay:.18s}
.td-result-list li.up{color:#227558;background:#e2f7ed}
.td-result-list li.down{color:#b72f69;background:#ffe8f1}
.td-result-list .td-gear-icon{width:20px;height:20px}
.td-level{position:relative}
.td-xp-meter{height:5px;margin-top:3px;border:1px solid var(--line);border-radius:3px;background:#f1f1ec;overflow:hidden}
.td-xp-meter i{display:block;height:100%;width:0;background:#5bbf86;transition:width .35s ease-out}
.td-xp-gain{position:absolute;right:0;top:-14px;font-style:normal;font-size:11px;font-weight:800;color:#227558;animation:td-delta 1.8s ease-out forwards;pointer-events:none}
@media (prefers-reduced-motion:reduce){.td-result-list li{animation:none}.td-xp-meter i{transition:none}}

/* 난이도 고르기 · 선택지 장비 아이콘 */
.td-diffs{margin-top:8px}
.td-diffs button[data-diff="easy"][aria-pressed="true"]{background:#e2f7ed}
.td-diffs button[data-diff="hard"][aria-pressed="true"]{background:#ffe8f1}
.td-choice-item{display:grid!important;grid-template-columns:36px 1fr;column-gap:10px;align-items:center}
.td-choice-item .td-choice-icon{grid-row:1/3;width:36px;height:36px;image-rendering:pixelated}
.td-choice-item span{grid-column:2}

/* 첫 화면 직업 카드 능력치 */
.td-job-card{align-items:start!important}
.td-job-card canvas{grid-row:1/5;align-self:center}
.td-job-card>b,.td-job-card>span,.td-job-card>.td-job-stats{grid-column:2}
.td-job-stats{display:grid;gap:4px;margin:8px 0 6px}
.td-job-stats>div{display:grid;grid-template-columns:38px 1fr 24px;align-items:center;gap:6px}
.td-job-stats dt{font-size:11px;color:#48536b}
.td-job-stats dd{margin:0;height:7px;border:1px solid var(--line);border-radius:4px;background:#fffefa;overflow:hidden}
.td-job-stats dd i{display:block;height:100%;background:#5bbf86}
.td-job-card[data-job=mage] .td-job-stats dd i{background:#b07ae6}
.td-job-stats>div>b{font:12px/1 TDGame,NeoDunggeunmo,monospace;text-align:right;color:var(--ink)}
.td-job-skill{display:block;font-size:11px;line-height:1.5}
.td-job-skill em{display:inline-block;margin-right:5px;padding:0 6px;border-radius:7px;background:#fffefa;border:1px solid var(--line);font-style:normal;font-weight:700;color:#b72f69}

/* 사건 결과창 v2: 아이콘 + 제목, 바뀐 것 칩, 설명은 아래 작게 */
.td-result-head{display:flex;align-items:center;gap:14px;margin:2px 0 14px}
.td-result-head small{display:block;font-size:12px;color:var(--muted)}
.td-result-head h2{margin:2px 0 0;font:26px/1.3 TDGame,NeoDunggeunmo,sans-serif}
.td-result-icon{flex:none;display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--line);border-radius:50%;font:900 24px/1 sans-serif;box-shadow:2px 2px 0 var(--line);animation:td-pop .35s cubic-bezier(.3,1.6,.6,1)}
.td-result-good .td-result-icon{background:#bdf0d2;color:#1f6b4b}
.td-result-mixed .td-result-icon{background:#ffe7a3;color:#8a5a00}
.td-result-bad .td-result-icon{background:#ffc9d3;color:#a3183a}
.td-result-info .td-result-icon{background:#cfe3ff;color:#2d5bd6}
.td-result-good h2{color:#1f6b4b}.td-result-mixed h2{color:#8a5a00}.td-result-bad h2{color:#a3183a}.td-result-info h2{color:#2d5bd6}
.td-result-list{margin:0 0 12px}
.td-result-list li.warn{color:#8a5a00;background:#fff3d0}
.td-result-text{margin:0 0 6px;padding:10px 12px;border-radius:8px;background:#f5f4ee;color:#48536b;font-size:12px;line-height:1.7}
.td-result-ok{margin-top:12px}
@keyframes td-pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.td-result-icon{animation:none}}

/* 펫 칸·펫 관리 · 자동 스킬 · 결과창 장비 버튼 */
.td-pets{display:grid;gap:6px}
.td-pet-slot{display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center;padding:6px;border:1.5px solid var(--border);border-radius:8px;background:#fffdf3}
.td-pet-slot canvas{width:32px;height:32px;image-rendering:pixelated}
.td-pet-slot b{display:block;font-size:12px}.td-pet-slot small{display:block;font-size:10px;color:var(--muted);line-height:1.4}
.td-pet-slot.empty{opacity:.7;border-style:dashed}
.td-pet-slot.empty i{display:grid;place-items:center;width:32px;height:32px;border:1.5px dashed var(--border);border-radius:6px;font-style:normal;color:var(--muted)}
.td-pet-list{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}
.td-pet-row{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:10px;border:1.5px solid var(--border);border-radius:10px;background:#fbfaf4}
.td-pet-row.is-on{border:2px solid var(--line);background:#fffdf3;box-shadow:2px 2px 0 var(--line)}
.td-pet-row canvas{width:40px;height:40px;image-rendering:pixelated}
.td-pet-row b{display:block;font-size:14px;margin-top:2px}.td-pet-row span{display:block;font-size:12px;color:#48536b}
.td-pet-actions{display:flex;flex-direction:column;gap:4px}
.td-pet-actions button{padding:4px 10px;font-size:12px}
.td-pet-empty{padding:14px;color:var(--muted);font-size:13px;text-align:center}
.td-auto-skill{display:inline-flex;align-items:center;gap:6px;margin-left:auto;margin-right:10px;padding:4px 10px;border:1.5px solid var(--line);border-radius:14px;background:#fffdf3;font-size:12px;font-weight:700;cursor:pointer}
.td-auto-skill input{width:16px;height:16px;accent-color:#ff7ad9}
.td-result-item{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;box-shadow:none;color:inherit;font:inherit;cursor:pointer}
.td-result-item em{margin-left:4px;font-style:normal;font-size:11px;text-decoration:underline}

/* 수호자 경고 · 페이지 · 전체 일지 */
.td-boss-alert{display:grid;gap:4px;margin:10px 0 12px;padding:10px 12px;border:2px solid #c8233b;border-radius:10px;background:#fff0f3;font-size:12px;line-height:1.6}
.td-boss-alert b{color:#a3183a;font-size:13px}
.td-boss-alert button{justify-self:start;margin-top:4px;padding:3px 12px;font-size:12px}
.td-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:12px 0 0}
.td-pager button{min-width:34px;padding:3px 9px;font-size:12px}
.td-pager button[aria-current="page"]{background:var(--yellow,#ffe07a);font-weight:700;border:1.5px solid var(--line)}
.td-pager button:disabled{opacity:.4;cursor:default}
.td-log-full{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:4px;max-height:52vh;overflow:auto}
.td-log-full li{display:grid;grid-template-columns:52px 1fr;gap:8px;padding:5px 8px;border-radius:6px;background:#f7f6f0;font-size:12px}
.td-log-full li.good{background:#ecfaf2}.td-log-full li.danger{background:#fff0f3}
.td-log-full time{color:var(--muted);font-variant-numeric:tabular-nums}
.td-log-all{margin-left:8px;padding:1px 8px;font-size:11px}

/* 지도 획득 연출 */
.td-map-fly{position:fixed;z-index:20000;width:48px;height:48px;image-rendering:pixelated;pointer-events:none;transition:transform .7s cubic-bezier(.5,-.2,.4,1),opacity .7s;filter:drop-shadow(0 0 6px #ffe07a)}
.td-map-glow{animation:td-map-glow 1.2s ease-out}
@keyframes td-map-glow{0%{box-shadow:0 0 0 0 #ffe07a}30%{box-shadow:0 0 0 6px #ffe07a,0 0 24px 8px #fff3b0}100%{box-shadow:4px 4px 0 var(--ink)}}

/* 단축키 설정 */
.td-key-list{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}
.td-key-list li{display:grid;grid-template-columns:1fr 110px auto;gap:10px;align-items:center;padding:8px 10px;border:1.5px solid var(--border);border-radius:8px;background:#fbfaf4}
.td-key-list span{font-weight:700}
.td-key-list kbd{justify-self:start;min-width:44px;padding:2px 8px;border:1.5px solid var(--line);border-radius:5px;background:#fff;text-align:center;font:12px/1.5 NeoDunggeunmo,monospace;box-shadow:0 2px 0 var(--line)}
.td-key-list button{padding:3px 12px;font-size:12px}
.td-key-list button[aria-pressed="true"]{background:#ffe8f1}
.td-choices button:focus-visible{outline:3px solid #ffd36b;outline-offset:2px;background:#fffbe6;transform:translateX(3px)}

/* 무엇이 나올지 모르는 희귀 유물: 반짝이는 물음표 */
.td-mystery{animation:td-mystery 1.4s ease-in-out infinite}
@keyframes td-mystery{0%,100%{filter:drop-shadow(0 0 0 #c78cff)}50%{filter:drop-shadow(0 0 6px #c78cff) brightness(1.15)}}
@media (prefers-reduced-motion:reduce){.td-mystery{animation:none}}

/* 유물 교체 고르기: 새 유물 카드 */
.td-replace-new{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;margin:4px 0 14px;padding:10px;border:2px solid var(--line);border-radius:10px;background:#fffdf3;box-shadow:2px 2px 0 var(--line)}
.td-replace-new canvas{width:40px;height:40px;image-rendering:pixelated}
.td-replace-new small{display:block;font-size:10px;color:var(--muted)}.td-replace-new b{display:block;font-size:14px}.td-replace-new span{display:block;font-size:12px;color:#48536b}

/* 작은 지도: 선명하게(2배 해상도) + 색 안내 */
.td-map-panel canvas[data-ui="map"]{width:100%;height:auto;aspect-ratio:430/310;image-rendering:pixelated}
.td-map-legend{display:flex;flex-wrap:wrap;gap:4px 10px;margin:6px 0 0;padding:0;list-style:none;font-size:10px;color:var(--muted)}
.td-map-legend li{display:inline-flex;align-items:center;gap:4px}
.td-map-legend i{display:inline-block;width:8px;height:8px;border-radius:2px}
.td-map-legend .me{background:#5bd69a;box-shadow:0 0 0 1px #fff,0 0 0 2px #1d2033}.td-map-legend .exit{background:#e5c380}.td-map-legend .foe{background:#ff5a5a}
.td-map-legend .ev{background:#ff9bc2}.td-map-legend .item{background:#ffd36b;border-radius:50%}.td-map-legend .box{background:#b98455}

/* 난이도 잠금 · 승천 도전 · 해금 알림 · 도감 */
.td-diffs button:disabled{opacity:.55;cursor:not-allowed}
.td-curses{margin:10px 0 0;padding:10px 12px;border:2px solid #b07ae6;border-radius:10px;background:#fbf6ff;display:grid;gap:4px}
.td-curses[disabled]{opacity:.6}
.td-curses legend{padding:0 6px;font-weight:700;color:#8a3fd1}
.td-curses legend small{margin-left:6px;color:#7b6a90;font-weight:400}
.td-curses label{display:flex;gap:8px;align-items:center;font-size:13px}
.td-curses label.locked{color:#a9a3b5}
.td-curses p{margin:4px 0 0;font-size:11px;color:#7b6a90}
.td-unlock{margin:8px 0;padding:10px 12px;border:2px solid #ffd36b;border-radius:10px;background:#fff8dc;font-weight:700;color:#8a5a00;animation:td-pop .4s cubic-bezier(.3,1.6,.6,1)}
.td-codex-progress{height:8px;margin:2px 0 10px;border:1.5px solid var(--line);border-radius:5px;background:#f1f1ec;overflow:hidden}
.td-codex-progress i{display:block;height:100%;background:linear-gradient(90deg,#5bbf86,#ffd36b)}
.td-codex-tabs button small{color:var(--muted)}
.td-codex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:10px 0 0;padding:0;list-style:none;max-height:52vh;overflow:auto}
.td-codex-card{display:grid;grid-template-columns:40px 1fr;column-gap:8px;align-items:center;padding:8px;border:1.5px solid var(--border);border-radius:9px;background:#fffdf3}
.td-codex-card canvas{grid-row:1/3;width:40px;height:40px;image-rendering:pixelated}
.td-codex-card b{font-size:12px}.td-codex-card small{font-size:10px;color:var(--muted)}
.td-codex-card span{grid-column:1/-1;margin-top:4px;font-size:11px;line-height:1.5;color:#48536b}
.td-codex-card.unknown{background:#f2f1ea}
.td-codex-card.unknown canvas{filter:brightness(0) opacity(.35)}
.td-codex-card.boss{border:2px solid #b07ae6}

/* 레벨업 선택지: 글씨 크게, 바뀌는 능력치 칩 · 능력 칸 효과 · 자동 착용 옵션 */
.td-skill-choice{font-size:16px!important}
.td-skill-choice>span{font-size:13px!important;color:#2f3a52!important}
.td-skill-chips{display:flex!important;flex-wrap:wrap;gap:4px;margin-top:6px}
.td-skill-chips .td-chip{font-size:12px;font-style:normal;padding:2px 8px}
.td-skill-chips .td-chip b{font-weight:800}
.td-skill-tags span b{margin-left:3px;font-weight:700;color:#227558;font-size:10px}
.td-skill-tags span em{margin-left:2px;font-style:normal;font-weight:800;color:#b72f69;font-size:10px}
.td-auto-equip{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:13px;font-weight:700}
.td-auto-equip small{color:#8a3fd1;font-weight:400}
.td-auto-equip-locked{margin-top:8px}

/* 두 번째 스킬 버튼(스킬 1과 같은 모양, 파란색) · 버튼 5개 한 줄 */
.td-action-grid{grid-template-columns:repeat(5,minmax(62px,1fr));max-width:640px}
.td-action-grid button{white-space:normal;line-height:1.25}
.td-action-grid [data-act=skill2]{background:#e8f1ff;overflow:hidden;isolation:isolate}
.td-action-grid [data-act=skill2] [data-ui=skill2-name]{display:block;font-size:14px}
.td-action-grid [data-act=skill2] [data-ui=cooldown2]{display:block;font-size:10px;font-weight:normal;color:#48536b}
.td-action-grid [data-act=skill2].is-ready{border:2px solid #2d5bd6;box-shadow:3px 3px 0 #2d5bd6}
.td-action-grid [data-act=skill2] kbd{font-size:11px;font-weight:bold;opacity:1;color:#2d5bd6}
@media(max-width:760px){.td-action-grid{grid-template-columns:repeat(3,1fr);max-width:360px}.td-action-grid [data-act=skill2] [data-ui=skill2-name]{font-size:12px}.td-action-grid [data-act=skill2].is-ready{box-shadow:2px 2px 0 #2d5bd6}}

/* 모션: 대화창 튀어나오기 · 선택지 차례로 · 영웅 카드 반짝 · 새 장비 · 획득 아이콘 날아가기 */
.td-dialog.td-anim{animation:td-dialog-in .3s cubic-bezier(.2,1.4,.4,1)}
@keyframes td-dialog-in{from{transform:translateY(16px) scale(.93);opacity:0}to{transform:none;opacity:1}}
.td-choices button{animation:td-choice-in .34s cubic-bezier(.2,1.3,.4,1) backwards;transition:transform .12s ease-out,box-shadow .12s}
.td-choices button:nth-child(1){animation-delay:.05s}.td-choices button:nth-child(2){animation-delay:.11s}.td-choices button:nth-child(3){animation-delay:.17s}.td-choices button:nth-child(4){animation-delay:.23s}
@keyframes td-choice-in{from{transform:translateX(-18px);opacity:0}to{transform:none;opacity:1}}
.td-choices button:hover{transform:translateX(4px)}
.td-skill-choice.tier-2{position:relative;overflow:hidden}
.td-skill-choice.tier-2::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%);transform:translateX(-120%);animation:td-shine 2.2s ease-in-out .5s infinite;pointer-events:none}
@keyframes td-shine{0%{transform:translateX(-120%)}55%,100%{transform:translateX(120%)}}
.td-item-detail.td-fresh .td-item-heading{position:relative;animation:td-fresh-pop .45s cubic-bezier(.2,1.6,.4,1)}
.td-item-detail.td-fresh .td-item-heading canvas{animation:td-fresh-glow 1.4s ease-in-out infinite}
.td-item-detail.td-fresh .td-item-heading::after{content:"NEW!";position:absolute;right:0;top:0;padding:2px 8px;border:1.5px solid var(--line);border-radius:10px;background:#ff7ad9;color:#fff;font:700 11px/1.4 NeoDunggeunmo,monospace;animation:td-pop .4s .2s cubic-bezier(.3,1.6,.6,1) backwards}
@keyframes td-fresh-pop{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}
@keyframes td-fresh-glow{0%,100%{filter:drop-shadow(0 0 0 #ffe07a)}50%{filter:drop-shadow(0 0 8px #ffe07a) brightness(1.15)}}
.td-loot-fly{position:fixed;z-index:20000;width:40px;height:40px;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 0 6px #ffe07a);transition:transform .26s cubic-bezier(.2,1.6,.4,1)}
.td-loot-fly.up{transform:translateY(-26px) scale(1.35)}
.td-loot-fly.go{transition:transform .5s cubic-bezier(.6,-.25,.4,1),opacity .5s;opacity:.9}
.td-bag-bump{animation:td-bag-bump .45s cubic-bezier(.3,1.8,.5,1)}
@keyframes td-bag-bump{40%{transform:scale(1.25)}100%{transform:none}}
@media (prefers-reduced-motion:reduce){.td-dialog.td-anim,.td-choices button,.td-skill-choice.tier-2::after,.td-item-detail.td-fresh .td-item-heading,.td-item-detail.td-fresh .td-item-heading canvas,.td-bag-bump{animation:none}}

/* 스킬 1 키 표시도 가운데 · 흔들림 옵션 */
.td-action-grid [data-act=skill] kbd{position:static!important;display:block;text-align:center;margin-top:2px}
.td-shake-opt{margin-left:auto}
.td-shake-opt+.td-auto-skill{margin-left:6px}

/* 같은 창 다시 그리기: 선택지 모션 끄기 */
.td-static .td-choices button{animation:none}
/* 영웅 카드 반짝임: 번호 배지가 잘리지 않게 바깥으로 넘치는 걸 허용하고 배경으로 반짝 */
.td-skill-choice.tier-2{overflow:visible!important;background-image:linear-gradient(105deg,#fbf6ff 38%,#ffffff 50%,#fbf6ff 62%)!important;background-size:260% 100%!important;animation:td-choice-in .34s cubic-bezier(.2,1.3,.4,1) backwards,td-shine-bg 2.4s ease-in-out .6s infinite}
.td-skill-choice.tier-2::after{content:none!important;display:none!important}
@keyframes td-shine-bg{0%{background-position:120% 0}55%,100%{background-position:-20% 0}}
@media (prefers-reduced-motion:reduce){.td-skill-choice.tier-2{animation:none}}

/* 레벨업 선택지 예시 그림 */
.td-skill-choice{padding-right:122px!important;min-height:72px}
.td-skill-art{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:104px;height:52px;border:1.5px solid var(--line);border-radius:6px;image-rendering:pixelated;background:#18262b}
@media(max-width:560px){.td-skill-choice{padding-right:12px!important}.td-skill-art{position:static;transform:none;display:block;margin-top:6px}}
