/* Timber Match — Timbersaw theme: riveted steel, sawn planks, chains and sparks. Builds on style.css tokens. */
:root{--tm-steel:#a7b0b5;--tm-steel-dark:#4d585f;--tm-wood:#3b2516;--tm-wood-2:#5a3a22;--tm-wood-3:#7a5232;--tm-leaf:#5f9a47;--tm-spark:#ffb050;--tm-chain:#c9ced1}
.tm-page{min-height:70vh;padding-top:34px}
.tm-loading{display:flex;flex-direction:column;align-items:center;gap:14px;padding:120px 0;color:var(--muted)}
.tm-spin{width:54px;height:54px;color:var(--tm-steel);animation:tm-rotate 1s linear infinite}
@keyframes tm-rotate{to{transform:rotate(360deg)}}
.tm-big-emoji{display:block;font-size:3rem;line-height:1;margin-bottom:10px}
.tm-center{text-align:center;padding:80px 20px}
kbd{display:inline-block;min-width:1.7em;padding:1px 6px;border:1px solid rgba(214,180,130,.4);border-bottom-width:2px;border-radius:5px;background:#18232a;font:700 .78em/1.5 'Segoe UI',Arial,sans-serif;color:var(--cream);text-align:center}

/* Landing */
.tm-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:24px;min-height:520px;padding:clamp(26px,5vw,60px);border:1px solid rgba(237,181,112,.3);border-radius:18px;overflow:hidden;isolation:isolate;
  background:radial-gradient(circle at 78% 50%,rgba(243,144,96,.22),transparent 45%),linear-gradient(100deg,rgba(6,13,19,.96) 0%,rgba(10,20,24,.9) 50%,rgba(26,22,16,.75) 100%),url('/assets/battlefield.svg') center/cover}
.tm-hero::before{content:"";position:absolute;inset:12px;border:1px solid rgba(228,178,110,.14);border-radius:10px;pointer-events:none}
.tm-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(90deg,var(--tm-chain) 0 14px,transparent 14px 18px,#7f878b 18px 32px,transparent 32px 36px);opacity:.35}
.tm-hero h1{font-size:clamp(3.2rem,7vw,6.2rem);line-height:.95;letter-spacing:-.04em;margin:16px 0 22px;color:#fff9ef;text-shadow:0 8px 35px rgba(0,0,0,.6)}
.tm-hero h1 em{font-style:normal;color:var(--coral);display:inline-block;transform:skewX(-6deg)}
.tm-hero .lead{max-width:52ch;color:#c9d1cf}
.tm-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px}
.tm-hero-note{font-size:.84rem;color:var(--muted);max-width:30ch}
.tm-steam-btn{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:12px 26px;border-radius:9px;border:1px solid #66c0f4;background:linear-gradient(135deg,#1b2838,#2a475e);color:#fff;text-decoration:none;font:800 .95rem 'Segoe UI',Arial,sans-serif;letter-spacing:.02em;box-shadow:0 8px 28px rgba(102,192,244,.18),inset 0 1px 0 rgba(255,255,255,.12);transition:.2s}
.tm-steam-btn svg{width:26px;height:26px}
.tm-steam-btn:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(102,192,244,.3);border-color:#9fd8fb}
.tm-hero-art{position:relative;min-height:420px;display:grid;place-items:center}
.tm-hero-saw{position:absolute;width:min(34vw,380px);height:min(34vw,380px);color:rgba(167,176,181,.22);animation:tm-rotate 9s linear infinite;filter:drop-shadow(0 0 30px rgba(255,176,80,.15))}
.tm-hero-art img{position:relative;width:min(42vw,470px);max-height:470px;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,0,0,.6));animation:tm-bob 5s ease-in-out infinite}
@keyframes tm-bob{50%{transform:translateY(-10px) rotate(-1deg)}}
.tm-hero-trees{position:absolute;bottom:4px;left:0;right:0;display:flex;justify-content:space-between;font-size:2.6rem;opacity:.8;pointer-events:none}
.tm-hero-trees span:nth-child(2){font-size:2rem;margin-top:16px}
.tm-skills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:30px 0}
.tm-skill{display:flex;gap:14px;align-items:flex-start;padding:20px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,rgba(33,46,51,.92),rgba(13,22,29,.95))}
.tm-skill img,.tm-skill-fallback{flex:0 0 58px;width:58px;height:58px;border-radius:8px;border:1px solid rgba(255,200,140,.35);box-shadow:0 0 0 3px rgba(0,0,0,.35),0 8px 18px rgba(0,0,0,.4)}
.tm-skill-fallback{display:grid;place-items:center;font-size:1.6rem;background:#22313a}
.tm-skill h3{margin:2px 0 6px;font-size:1.1rem;color:#ffd7b0}
.tm-skill p{margin:0;font-size:.86rem;color:#b9c5c5;line-height:1.55}
.tm-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:s}
.tm-steps>div{position:relative;padding:22px;border:1px dashed rgba(220,172,109,.35);border-radius:12px;background:rgba(21,33,41,.6)}
.tm-steps b{display:grid;place-items:center;width:38px;height:38px;margin-bottom:10px;border-radius:50%;background:radial-gradient(circle,#3a4a52 40%,#20292e 41%);border:2px solid var(--tm-steel-dark);color:var(--tm-spark);font:900 1.05rem 'Russo One','Arial Narrow',Arial,sans-serif}
.tm-steps h3{font-size:1.05rem;margin-bottom:6px}.tm-steps p{margin:0;font-size:.86rem;color:var(--muted);line-height:1.55}

/* App chrome */
.tm-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:20px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(35,48,55,.92),rgba(16,25,32,.95));position:relative}
.tm-topbar::before,.tm-topbar::after{content:"";position:absolute;top:8px;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d7dde0,#5d686e)}
.tm-topbar::before{left:8px}.tm-topbar::after{right:8px}
.tm-me{display:flex;align-items:center;gap:12px;min-width:0}
.tm-me strong{display:block;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
.tm-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:3px solid var(--tm-steel-dark);box-shadow:0 0 0 2px rgba(255,176,80,.35),0 6px 16px rgba(0,0,0,.4);background:#22313a}
.tm-avatar-empty{display:inline-grid;place-items:center;font-size:1.5rem}
.tm-avatar-sm{width:38px;height:38px;border-width:2px}
.tm-tabs{display:flex;gap:6px;flex-wrap:wrap}
.tm-tabs button{position:relative;padding:10px 18px;border-radius:8px;border:1px solid transparent;background:transparent;color:#cbd0d0;font:750 .86rem 'Segoe UI',Arial,sans-serif;cursor:pointer;transition:.2s}
.tm-tabs button:hover{background:rgba(255,255,255,.05)}
.tm-tabs button[aria-selected="true"]{background:rgba(243,144,96,.14);border-color:rgba(243,144,96,.5);color:#ffd7b9}
.tm-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:4px;border-radius:10px;background:var(--coral);color:#141a1e;font-size:.72rem;font-weight:900}
.tm-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px;padding:14px 18px;border:1px solid rgba(88,101,242,.55);border-radius:12px;background:linear-gradient(100deg,rgba(88,101,242,.18),rgba(20,28,36,.9))}
.tm-banner p{flex:1 1 300px;margin:0;font-size:.9rem;color:#d7dcf5}
.tm-banner-icon{font-size:1.4rem}
.tm-rank{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.86rem;white-space:nowrap}
.tm-rank .rank-medal{width:28px;height:28px;flex-basis:28px}
.tm-rank-none{color:var(--muted);font-weight:600}
.tm-pill{display:inline-block;padding:2px 9px;border-radius:20px;border:1px solid var(--line);font-size:.72rem;font-weight:700;color:var(--gold);vertical-align:middle}

/* Feed */
.tm-feed-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.tm-modes{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:11px;background:rgba(10,18,24,.8);flex-wrap:wrap}
.tm-modes button{padding:9px 15px;border:0;border-radius:8px;background:transparent;color:#bfc8c8;font:750 .84rem 'Segoe UI',Arial,sans-serif;cursor:pointer;transition:.2s}
.tm-modes button[aria-checked="true"]{background:linear-gradient(125deg,#edb67e,#da7e51);color:#10171c}
.tm-modes button.tm-dim:not([aria-checked="true"]){opacity:.6}
.tm-filters{display:flex;gap:8px;flex-wrap:wrap}
.tm-filters select{min-height:40px;padding:8px 12px;border-radius:8px;border:1px solid rgba(202,170,122,.3);background:#111b22;color:var(--cream);font:600 .84rem 'Segoe UI',Arial,sans-serif}
.tm-arena{display:flex;flex-direction:column;align-items:center}
.tm-deck{position:relative;width:min(100%,410px);height:590px;margin:6px auto 0;touch-action:none}
.tm-deck-msg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:30px;border:2px dashed rgba(220,172,109,.3);border-radius:20px;background:rgba(15,25,32,.7)}
.tm-deck-msg h3{margin:4px 0}.tm-deck-msg p{color:var(--muted);max-width:34ch;font-size:.9rem}
.tm-trees{display:flex;gap:6px;font-size:2.6rem;margin-bottom:8px}
.tm-trees span{display:inline-block;animation:tm-sway 3s ease-in-out infinite;transform-origin:bottom center}
.tm-trees span:nth-child(2n){animation-delay:-1.5s}
@keyframes tm-sway{50%{transform:rotate(4deg)}}
.tm-forest h3::after{content:" 😰";font-size:.9em}
.tm-reasons{margin:4px 0 12px;padding-left:18px;text-align:left;font-size:.84rem;color:var(--muted);max-width:36ch}.tm-reasons li{margin:3px 0}
.tm-empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}

/* Card */
.tm-card{--depth:0;--like:0;--pass:0;--super:0;position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;border-radius:20px;color:var(--cream);user-select:none;-webkit-user-select:none;
  background:
    radial-gradient(circle at 14px 14px,#d6dcdf 0 3px,#59646a 3.5px,transparent 4.5px),
    radial-gradient(circle at calc(100% - 14px) 14px,#d6dcdf 0 3px,#59646a 3.5px,transparent 4.5px),
    radial-gradient(circle at 14px calc(100% - 14px),#d6dcdf 0 3px,#59646a 3.5px,transparent 4.5px),
    radial-gradient(circle at calc(100% - 14px) calc(100% - 14px),#d6dcdf 0 3px,#59646a 3.5px,transparent 4.5px),
    repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 2px,transparent 2px 11px,rgba(255,220,170,.03) 11px 13px,transparent 13px 23px),
    linear-gradient(170deg,var(--tm-wood-2) 0%,var(--tm-wood) 55%,#2a1a10 100%);
  border:3px solid #6c767c;box-shadow:inset 0 0 0 2px rgba(0,0,0,.45),inset 0 0 40px rgba(0,0,0,.45),0 22px 50px rgba(0,0,0,.5);
  transform:translateY(calc(var(--depth) * 14px)) scale(calc(1 - var(--depth) * .045));transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s;z-index:calc(10 - var(--depth))}
.tm-card:not(.tm-top){pointer-events:none;filter:brightness(calc(1 - var(--depth) * .18))}
.tm-card.tm-top{cursor:grab}
.tm-card.tm-dragging{cursor:grabbing;transition:none}
.tm-card-plate{display:flex;align-items:center;gap:14px;padding:22px 22px 16px;background:linear-gradient(180deg,rgba(60,72,79,.92),rgba(31,40,46,.92));border-bottom:3px solid #262e33;box-shadow:0 4px 0 rgba(255,176,80,.15)}
.tm-card-plate .tm-avatar{width:76px;height:76px}
.tm-card-title{min-width:0}
.tm-card-title h3{margin:2px 0 4px;font-size:1.45rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-kind{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--tm-steel)}
.tm-online{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal)}
.tm-card-body{flex:1;display:flex;flex-direction:column;gap:12px;padding:16px 22px 22px;overflow:hidden}
.tm-label{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#d9b88f}
.tm-roles{display:flex;flex-wrap:wrap;gap:6px}
.tm-role{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:20px;background:rgba(10,14,16,.45);border:1px solid rgba(255,220,170,.18);font-size:.8rem;font-weight:700}
.tm-role b{display:grid;place-items:center;width:22px;height:22px;clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);background:linear-gradient(#c3cacd,#6b767c);color:#1a2126;font-size:.75rem}
.tm-role-hit{border-color:var(--coral);background:rgba(243,144,96,.18)}
.tm-role-hit b{background:linear-gradient(#ffc58f,#e07a45)}
.tm-heroes{display:flex;gap:6px}
.tm-heroes img{width:58px;height:33px;object-fit:cover;border-radius:4px;border:1px solid rgba(0,0,0,.6);box-shadow:0 2px 6px rgba(0,0,0,.4)}
.tm-facts{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:.84rem}
.tm-facts dt{color:#d9b88f;font-weight:700}.tm-facts dd{margin:0;color:#eadfcd;min-width:0;overflow-wrap:anywhere}
.tm-facts a{color:#ffc79e}
.tm-about{margin:0;padding:10px 12px;border-left:3px solid var(--coral);background:rgba(0,0,0,.25);border-radius:0 8px 8px 0;font-size:.86rem;line-height:1.5;color:#f0e6d6;white-space:pre-line;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}
.tm-captain{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:10px;border-top:1px dashed rgba(255,220,170,.2)}
.tm-captain>div{flex:1;min-width:0}.tm-captain strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-team-logo{display:grid;place-items:center;width:76px;height:76px;flex:0 0 76px;color:#1b1206;font:900 1.6rem 'Russo One','Arial Narrow',Arial,sans-serif;background:radial-gradient(circle,#ffc58f 0 52%,transparent 53%),conic-gradient(from 0deg,#a7b0b5 0 6%,transparent 6% 12.5%,#a7b0b5 12.5% 18.5%,transparent 18.5% 25%,#a7b0b5 25% 31%,transparent 31% 37.5%,#a7b0b5 37.5% 43.5%,transparent 43.5% 50%,#a7b0b5 50% 56%,transparent 56% 62.5%,#a7b0b5 62.5% 68.5%,transparent 68.5% 75%,#a7b0b5 75% 81%,transparent 81% 87.5%,#a7b0b5 87.5% 93.5%,transparent 93.5%);border-radius:50%}
.tm-lineup{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:700;color:var(--tm-steel)}
.tm-lineup i{width:10px;height:10px;border-radius:50%;border:2px solid var(--tm-steel-dark)}
.tm-lineup i.on{background:var(--coral);border-color:var(--coral)}
.tm-super-badge{display:flex;align-items:center;gap:8px;margin:0 22px;padding:7px 12px;border-radius:0 0 10px 10px;background:linear-gradient(90deg,#ffb050,#f37a4a);color:#1b1206;font-size:.8rem;font-weight:900;letter-spacing:.03em}
.tm-mini-saw{width:20px;height:20px;color:#1b1206;animation:tm-rotate 1.4s linear infinite}
.tm-card-report{position:absolute;top:12px;right:30px;z-index:3;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.35);color:#cdd3d6;cursor:pointer;font-size:.85rem;opacity:.55;transition:.2s}
.tm-card-report:hover{opacity:1;color:#ffb9a0}
.tm-stamp{position:absolute;top:110px;z-index:4;padding:6px 14px;border:4px solid;border-radius:8px;font:900 1.35rem 'Russo One','Arial Narrow',Arial,sans-serif;letter-spacing:.06em;pointer-events:none;opacity:0;text-shadow:0 2px 10px rgba(0,0,0,.4);background:rgba(0,0,0,.25)}
.tm-stamp-like{left:22px;color:#ffc58f;border-color:#ffc58f;transform:rotate(-14deg);opacity:var(--like)}
.tm-stamp-pass{right:22px;color:#ff7d6b;border-color:#ff7d6b;transform:rotate(14deg);opacity:var(--pass)}
.tm-stamp-super{left:50%;top:auto;bottom:90px;color:#7fe3ff;border-color:#7fe3ff;transform:translateX(-50%) rotate(-4deg);opacity:var(--super)}
.tm-card.tm-fly-right{transition:transform .45s cubic-bezier(.5,0,.75,0),opacity .45s;transform:translate(140%,-30px) rotate(24deg)!important;opacity:0}
.tm-card.tm-fly-up{transition:transform .45s cubic-bezier(.5,0,.75,0),opacity .45s;transform:translateY(-130%) scale(.85)!important;opacity:0}
.tm-card.tm-armor{animation:tm-armor 1s ease-out}
@keyframes tm-armor{0%{transform:scale(.7);box-shadow:0 0 0 0 rgba(127,227,255,.8),inset 0 0 40px rgba(0,0,0,.45)}60%{transform:scale(1.03);box-shadow:0 0 0 18px rgba(127,227,255,0),inset 0 0 40px rgba(0,0,0,.45)}100%{transform:none}}

/* Effects */
.tm-fx-chain{position:absolute;z-index:20;top:46%;right:-40px;height:18px;width:0;display:flex;align-items:center;pointer-events:none;animation:tm-chain-shoot .26s ease-out forwards}
.tm-chain-links{flex:1;height:12px;background:repeating-linear-gradient(90deg,transparent 0 2px,var(--tm-chain) 2px 12px,transparent 12px 14px),linear-gradient(#0000 4px,#4a5257 4px 8px,#0000 8px);border-radius:6px;-webkit-mask:repeating-linear-gradient(90deg,#000 0 12px,transparent 12px 14px);filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}
.tm-chain-hook{order:-1;font-size:1.7rem;color:var(--tm-chain);transform:rotate(-90deg);filter:drop-shadow(0 0 6px rgba(255,176,80,.8))}
@keyframes tm-chain-shoot{to{width:68%}}
.tm-fx-chain.tm-pull{animation:tm-chain-pull .43s cubic-bezier(.5,0,.75,0) forwards}
@keyframes tm-chain-pull{from{width:68%}to{width:0;opacity:.3}}
.tm-fx-saw{position:absolute;z-index:20;left:50%;top:-60px;width:120px;height:120px;margin-left:-60px;pointer-events:none;animation:tm-saw-cut .85s cubic-bezier(.3,.1,.4,1) forwards}
.tm-fx-blade{width:100%;height:100%;color:#d8dee1;animation:tm-rotate .25s linear infinite;filter:drop-shadow(0 0 14px rgba(255,176,80,.9)) drop-shadow(0 6px 10px rgba(0,0,0,.6))}
@keyframes tm-saw-cut{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1;transform:translateY(40px) scale(1)}85%{opacity:1}100%{transform:translateY(680px) scale(1);opacity:0}}
.tm-half{position:absolute;inset:0;z-index:15;pointer-events:none;transition:none!important}
.tm-half-left{clip-path:polygon(0 0,51% 0,47% 100%,0 100%);animation:tm-fall-left .6s cubic-bezier(.5,0,.8,.4) forwards}
.tm-half-right{clip-path:polygon(51% 0,100% 0,100% 100%,47% 100%);animation:tm-fall-right .6s cubic-bezier(.5,0,.8,.4) forwards}
@keyframes tm-fall-left{to{transform:translate(-90px,260px) rotate(-22deg);opacity:0}}
@keyframes tm-fall-right{to{transform:translate(90px,260px) rotate(22deg);opacity:0}}
.tm-chip{position:absolute;z-index:21;width:9px;height:4px;border-radius:2px;background:linear-gradient(90deg,#c8915c,#7a5232);pointer-events:none;animation:tm-chip .85s cubic-bezier(.2,.6,.4,1) forwards}
.tm-chip:nth-child(3n){background:var(--tm-spark);width:4px;height:4px;box-shadow:0 0 6px var(--tm-spark)}
@keyframes tm-chip{to{transform:translate(var(--tx),var(--ty)) rotate(var(--rot));opacity:0}}
.tm-fx-chakram{position:absolute;z-index:20;left:50%;bottom:-130px;width:110px;height:110px;margin-left:-55px;pointer-events:none;animation:tm-chakram-in .38s cubic-bezier(.2,.8,.3,1) forwards}
.tm-fx-chakram .tm-fx-blade{color:#bfe9f5;filter:drop-shadow(0 0 16px rgba(127,227,255,.9))}
@keyframes tm-chakram-in{to{transform:translateY(-420px)}}
.tm-fx-chakram.tm-carry{animation:tm-chakram-out .42s cubic-bezier(.5,0,.75,0) forwards}
@keyframes tm-chakram-out{from{transform:translateY(-420px)}to{transform:translateY(-1000px);opacity:0}}

/* Action buttons */
.tm-actions{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:26px}
.tm-actions.tm-disabled{opacity:.4;pointer-events:none}
.tm-act{position:relative;display:grid;place-items:center;width:64px;height:64px;padding:0;border-radius:14px;border:2px solid #59646a;background:#141d23;cursor:pointer;overflow:visible;box-shadow:0 0 0 3px rgba(0,0,0,.4),0 10px 22px rgba(0,0,0,.45);transition:transform .15s,box-shadow .2s}
.tm-act img{width:100%;height:100%;border-radius:11px;object-fit:cover}
.tm-act>span{position:absolute;inset:0;display:grid;place-items:center;font-size:1.5rem;color:#fff;z-index:-1}
.tm-act:hover{transform:translateY(-3px) scale(1.05)}
.tm-act:active{transform:scale(.94)}
.tm-act-undo,.tm-act-super{width:52px;height:52px}
.tm-act-like{width:76px;height:76px;border-color:#ffc58f;box-shadow:0 0 0 3px rgba(0,0,0,.4),0 0 24px rgba(255,176,80,.35)}
.tm-act-pass{width:76px;height:76px;border-color:#ff7d6b;box-shadow:0 0 0 3px rgba(0,0,0,.4),0 0 24px rgba(255,100,80,.3)}
.tm-act-super{border-color:#7fe3ff}
.tm-act-super i{position:absolute;right:-6px;bottom:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#7fe3ff;color:#0b1a20;font:900 .72rem/20px 'Segoe UI',Arial,sans-serif;font-style:normal;text-align:center}
.tm-act-super.tm-empty img{filter:grayscale(1) brightness(.5)}
.tm-act-super.tm-empty i{background:#59646a;color:#ddd}
.tm-keys{margin-top:14px;font-size:.78rem}

/* Matches */
.tm-section-head{margin-bottom:20px}.tm-section-head h2{margin-bottom:6px}.tm-section-head p{margin:0}
.tm-matches{display:grid;gap:14px}
.tm-match-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(110deg,rgba(90,58,34,.35),rgba(17,27,34,.95) 45%)}
.tm-match-card .tm-avatar{width:64px;height:64px}
.tm-match-info h3{margin:0 0 4px;font-size:1.15rem}
.tm-match-info p{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.86rem}
.tm-match-info .tm-about{display:block;margin-top:8px;-webkit-line-clamp:2}
.tm-match-contacts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;max-width:320px}
.tm-match-more{flex-basis:100%;display:flex;justify-content:flex-end;gap:14px}
.tm-link{border:0;background:none;color:var(--muted);font-size:.78rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}
.tm-link:hover{color:#ffb9a0}

/* Forms */
.tm-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:24px;align-items:start}
.tm-form fieldset{border:0;margin:0 0 18px;padding:0;min-width:0}
.tm-form legend{margin-bottom:9px;font-size:.81rem;font-weight:700;color:#e4d9c6}
.tm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tm-chips{display:flex;flex-wrap:wrap;gap:8px}
.tm-chip-opt{position:relative;cursor:pointer}
.tm-chip-opt input{position:absolute;opacity:0;pointer-events:none}
.tm-chip-opt span{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:20px;border:1px solid rgba(202,170,122,.3);background:#111b22;font-size:.84rem;font-weight:650;color:#d2d8d8;transition:.15s}
.tm-chip-opt span b{display:grid;place-items:center;width:20px;height:20px;clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);background:#59646a;color:#fff;font-size:.72rem}
.tm-chip-opt:hover span{border-color:rgba(243,144,96,.6)}
.tm-chip-opt input:checked+span{background:rgba(243,144,96,.18);border-color:var(--coral);color:#ffe2cc}
.tm-chip-opt input:checked+span b{background:linear-gradient(#ffc58f,#e07a45);color:#1a1206}
.tm-chip-opt input:focus-visible+span{outline:3px solid var(--teal);outline-offset:2px}
.tm-switch{display:flex;align-items:center;gap:12px;margin:0 0 14px;cursor:pointer;font-size:.9rem}
.tm-switch input{position:absolute;opacity:0}
.tm-switch span{position:relative;flex:0 0 44px;width:44px;height:24px;border-radius:12px;background:#2b363d;border:1px solid #4d585f;transition:.2s}
.tm-switch span::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#e2e7ea,#7c878d);transition:.2s}
.tm-switch input:checked+span{background:rgba(243,144,96,.45);border-color:var(--coral)}
.tm-switch input:checked+span::after{left:22px}
.tm-switch input:focus-visible+span{outline:3px solid var(--teal);outline-offset:2px}
.tm-consent{display:flex;gap:10px;align-items:flex-start;margin:6px 0 14px;font-size:.84rem;color:#cdd5d4}
.tm-consent input{margin-top:4px;accent-color:var(--coral)}
.tm-consent a{color:#ffc79e}
.tm-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.tm-form-status{font-size:.86rem;color:var(--muted)}
.tm-form-status.ok{color:var(--teal)}.tm-form-status.error{color:#ffab91}
.tm-side{display:flex;flex-direction:column;gap:20px;position:sticky;top:96px}
.tm-account dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 16px;font-size:.9rem}
.tm-account dt{color:var(--muted)}.tm-account dd{margin:0}.tm-account a{color:#ffc79e}
.tm-account-actions{display:flex;flex-wrap:wrap;gap:8px}
.tm-danger-link{margin-top:16px;padding:0;border:0;background:none;color:#e58f7b;font-size:.8rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tm-preview-wrap h3{font-size:1rem;margin-bottom:10px;color:var(--muted)}
.tm-preview{position:relative;height:560px}
.tm-preview .tm-card{pointer-events:auto;filter:none}

/* Match overlay */
.tm-match{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 45%,rgba(243,144,96,.28),rgba(5,9,12,.94) 60%);backdrop-filter:blur(6px);overflow:hidden;animation:tm-fade .3s ease-out}
@keyframes tm-fade{from{opacity:0}}
.tm-match-inner{position:relative;z-index:2;text-align:center;max-width:520px}
.tm-match-pair{display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.tm-match-pair .tm-avatar{width:118px;height:118px;border-width:4px}
#tm-match-me{animation:tm-pull-left .7s cubic-bezier(.2,1.4,.4,1)}
#tm-match-them{animation:tm-pull-right .7s cubic-bezier(.2,1.4,.4,1)}
@keyframes tm-pull-left{from{transform:translateX(-160px) rotate(-30deg);opacity:0}}
@keyframes tm-pull-right{from{transform:translateX(160px) rotate(30deg);opacity:0}}
.tm-match-chain{width:110px;height:14px;margin:0 -6px;background:repeating-linear-gradient(90deg,transparent 0 2px,var(--tm-chain) 2px 12px,transparent 12px 14px);border-radius:7px;transform-origin:center;animation:tm-chain-grow .5s .35s both ease-out;filter:drop-shadow(0 0 8px rgba(255,176,80,.7))}
@keyframes tm-chain-grow{from{transform:scaleX(0)}}
.tm-match h2{margin:0 0 10px;font-size:clamp(3rem,10vw,5.2rem);letter-spacing:.02em;color:#ffcf9e;text-shadow:0 0 30px rgba(255,140,60,.6),0 6px 0 #6b3416;animation:tm-slam .55s .2s both cubic-bezier(.2,1.6,.4,1)}
@keyframes tm-slam{from{transform:scale(2.4);opacity:0}}
.tm-match p{color:#e5ddd0;font-size:1rem}
.tm-match-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.tm-sawdust{position:absolute;inset:0;pointer-events:none}
.tm-sawdust i{position:absolute;top:-20px;width:7px;height:4px;border-radius:2px;background:#c8915c;animation:tm-dust linear infinite}
.tm-sawdust i:nth-child(4n){background:var(--tm-spark);width:4px;height:4px;box-shadow:0 0 8px var(--tm-spark)}
.tm-sawdust i:nth-child(5n){background:#e8d2b0}
@keyframes tm-dust{to{transform:translate(var(--drift),110vh) rotate(720deg)}}

/* Report dialog and toast */
.tm-dialog{max-width:440px;width:calc(100% - 32px);padding:26px;border:1px solid var(--line);border-radius:14px;background:#141e25;color:var(--cream);box-shadow:var(--shadow)}
.tm-dialog::backdrop{background:rgba(4,8,11,.75)}
.tm-dialog h3{margin-bottom:8px}.tm-dialog p{font-size:.86rem}
.tm-dialog label{display:flex;gap:10px;align-items:center;padding:7px 0;font-size:.92rem;cursor:pointer}
.tm-dialog input{accent-color:var(--coral)}
.tm-block-too{margin-top:8px;border-top:1px solid var(--line);padding-top:12px!important;color:#ffb9a0}
.tm-toast{position:fixed;left:50%;bottom:26px;z-index:1100;transform:translateX(-50%);max-width:min(560px,calc(100vw - 32px));padding:13px 20px;border-radius:10px;border:1px solid var(--line);background:#1b262d;color:var(--cream);font-size:.9rem;box-shadow:0 14px 34px rgba(0,0,0,.45);animation:tm-toast .25s ease-out}
.tm-toast-ok{border-color:rgba(105,216,186,.6)}.tm-toast-error{border-color:rgba(255,125,107,.7)}
@keyframes tm-toast{from{transform:translate(-50%,16px);opacity:0}}

/* Responsive */
@media (max-width:1050px){.tm-skills,.tm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-form-layout{grid-template-columns:1fr}.tm-side{position:static}.tm-preview-wrap{max-width:410px}}
@media (max-width:760px){
  .tm-hero{grid-template-columns:1fr;min-height:0;text-align:left}.tm-hero-art{min-height:260px;order:-1}.tm-hero-art img{width:min(70vw,300px)}.tm-hero-saw{width:240px;height:240px}
  .tm-skills,.tm-steps{grid-template-columns:1fr}
  .tm-topbar{padding:12px}.tm-tabs{width:100%}.tm-tabs button{flex:1;padding:9px 8px;font-size:.8rem}
  .tm-modes{width:100%}.tm-modes button{flex:1 1 auto;font-size:.78rem;padding:8px 10px}
  .tm-filters{width:100%}.tm-filters select{flex:1 1 calc(50% - 4px);min-width:0;font-size:.8rem}
  .tm-keys{display:none}
  .tm-deck{height:min(560px,calc(100vh - 290px));min-height:470px}
  .tm-card-plate{padding:18px 16px 12px}.tm-card-plate .tm-avatar,.tm-team-logo{width:62px;height:62px;flex-basis:62px}.tm-card-body{padding:12px 16px 18px;gap:10px}
  .tm-card-title h3{font-size:1.2rem}
  .tm-match-card{grid-template-columns:auto minmax(0,1fr)}.tm-match-contacts{grid-column:1/-1;justify-content:flex-start;max-width:none}.tm-match-more{justify-content:flex-start}
  .tm-form-row{grid-template-columns:1fr}
  .tm-preview{height:540px}
}
@media (prefers-reduced-motion:reduce){
  .tm-hero-saw,.tm-hero-art img,.tm-trees span,.tm-mini-saw,.tm-spin{animation:none}
  .tm-card,.tm-card.tm-fly-right,.tm-card.tm-fly-up{transition-duration:.01s}
  .tm-fx-chain,.tm-fx-saw,.tm-fx-chakram,.tm-sawdust{display:none}
}
