@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Black+Han+Sans&family=Noto+Sans+KR:wght@400;500;700;800;900&display=swap');

#trot-worldcup-app{
  width:min(100%,740px);
  margin:0 auto;
  color:#fffafc;
  font-family:"Noto Sans KR",system-ui,sans-serif;
  font-size:16px;
  line-height:1.5;
  overflow-x:hidden;
  isolation:isolate;
  background:#0f0a1e;
  text-align:left;
}

#trot-worldcup-app,
#trot-worldcup-app *{
  box-sizing:border-box;
}

#trot-worldcup-app button,
#trot-worldcup-app input,
#trot-worldcup-app select,
#trot-worldcup-app textarea{
  font-family:inherit;
}

#trot-worldcup-app img{
  max-width:none;
}


    #trot-worldcup-app{
      --bg:#120b28;
      --bg2:#211340;
      --ink:#fffafc;
      --muted:#c9bfdc;
      --line:rgba(255,255,255,.14);
      --hot:#ff4b94;
      --hot2:#ff79b7;
      --pink-soft:#ffd4e8;
      --purple:#a56cff;
      --cyan:#65e7d4;
      --cream:#f7f3ef;
      --cream2:#eee8e2;
      --deep:#17132e;
      --shadow:0 24px 68px rgba(33,15,67,.28);
      --soft-shadow:0 16px 44px rgba(52,27,91,.18);
      --max:740px;
    }

    #trot-worldcup-app, #trot-worldcup-app *{box-sizing:border-box}
    #trot-worldcup-app{scroll-behavior:smooth;background:#0f0a1e}
    #trot-worldcup-app{margin:0;background:#0f0a1e;color:var(--ink);font-family:"Noto Sans KR",system-ui,sans-serif;overflow-x:hidden}
    #trot-worldcup-app button{font:inherit}
    #trot-worldcup-app img{display:block;width:100%}

    #trot-worldcup-app .page{
      width:min(100%,var(--max));
      margin:0 auto;
      min-height:100svh;
      position:relative;
      background:
        radial-gradient(circle at 12% 4%,rgba(255,97,164,.19),transparent 27%),
        radial-gradient(circle at 88% 17%,rgba(118,92,255,.16),transparent 25%),
        linear-gradient(180deg,#1c1037 0%,#120b27 57%,#0c091a 100%);
      box-shadow:0 0 70px rgba(0,0,0,.28);
      overflow:hidden;
    }

    #trot-worldcup-app .page::before{
      content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;
      background:
        radial-gradient(circle at 18% 11%,rgba(255,255,255,.34) 0 1px,transparent 1.5px) 0 0/18px 18px,
        radial-gradient(circle at 72% 8%,rgba(101,231,212,.22) 0 1px,transparent 1.4px) 0 0/27px 27px;
      mask-image:linear-gradient(#000,transparent 42%);
    }

    #trot-worldcup-app .screen{min-height:100svh;position:relative;z-index:1}
    #trot-worldcup-app .hidden{display:none!important}

    /* INTRO — 4번의 사진 중심 구조 + 1번의 글로우/라운드 + 5번의 여백 */
    #trot-worldcup-app .intro{padding:28px 22px 34px;display:grid;align-content:space-between}
    #trot-worldcup-app .intro-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
    #trot-worldcup-app .brand{font-size:11px;font-weight:800;letter-spacing:.16em;color:#fff;opacity:.74}
    #trot-worldcup-app .edition{padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);font:400 15px/1 "Bebas Neue",sans-serif;letter-spacing:.1em;color:#ffc2df;backdrop-filter:blur(10px)}

    #trot-worldcup-app .hero{padding:18px 4px 22px;text-align:center}
    #trot-worldcup-app .kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.075);font:700 11px/1 "Noto Sans KR",sans-serif;letter-spacing:.12em;color:#ffe4f1;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
    #trot-worldcup-app .kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
    #trot-worldcup-app .title{margin:20px auto 0;max-width:650px;font-size:clamp(38px,9vw,54px);line-height:1.3;font-weight:900;letter-spacing:-.055em;text-wrap:balance}
    #trot-worldcup-app .title em{font-style:normal;color:#ff8fc5;text-shadow:0 0 24px rgba(255,75,148,.34); font-size:clamp(38px,9vw,80px); }
    #trot-worldcup-app .title .world{display:block;margin-top:12px;font:400 clamp(58px,14vw,85px)/.86 "Bebas Neue",sans-serif;letter-spacing:.025em;color:#fff;text-shadow:0 8px 28px rgba(165,108,255,.18); margin-top:40px;}
    #trot-worldcup-app .desc{margin:22px auto 0;max-width:520px;font-size:16px;line-height:1.78;color:#d9d0e9;text-align:center}

    #trot-worldcup-app .poster-board{margin:18px 0 0;position:relative;min-height:360px;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:
      radial-gradient(circle at 12% 12%,rgba(255,117,184,.34),transparent 31%),
      radial-gradient(circle at 88% 24%,rgba(101,231,212,.22),transparent 30%),
      linear-gradient(150deg,#31205b 0%,#211440 48%,#15102e 100%);
      overflow:hidden;box-shadow:var(--shadow)
    }
    #trot-worldcup-app .poster-board::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 15%,rgba(255,255,255,.045) 35%,transparent 55%);opacity:.75}
    #trot-worldcup-app .poster-board::after{content:"";position:absolute;left:8%;right:8%;bottom:-74px;height:170px;border-radius:50%;background:rgba(255,69,148,.12);filter:blur(22px)}
    #trot-worldcup-app .poster-copy{position:absolute;left:20px;right:20px;top:20px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px}
    #trot-worldcup-app .poster-copy .round{font:400 21px/1 "Bebas Neue",sans-serif;letter-spacing:.13em;color:#fff}
    #trot-worldcup-app .poster-copy .badge{padding:8px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(17,10,40,.26);font:700 10px/1 "Noto Sans KR";letter-spacing:.06em;backdrop-filter:blur(12px);color:#efe8fb}
    #trot-worldcup-app .fighter-strip{position:absolute;left:0;right:0;top:0;display:grid;grid-template-columns:1fr 1fr;align-items:end;z-index:2}
    #trot-worldcup-app .fighter{height:360px;position:relative;overflow:hidden}
    #trot-worldcup-app .fighter::after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,rgba(18,11,40,.62))}
    #trot-worldcup-app .fighter img{object-fit:cover;filter:saturate(.82) contrast(1.02);mask-image:linear-gradient(#000 86%,transparent 100%)}
    #trot-worldcup-app .fighter.left img, #trot-worldcup-app .fighter.right img{transform-origin:50% 20%}
    #trot-worldcup-app .versus-word{position:absolute;left:50%;top:52%;z-index:6;transform:translate(-50%,-30%);padding:12px 17px;border-radius:999px;background:linear-gradient(135deg,#ff5ca6,#a05cff);border:3px solid rgba(255,255,255,.78);font:400 clamp(30px,7vw,44px)/1 "Bebas Neue",sans-serif;color:#fff;letter-spacing:.04em;box-shadow:0 10px 32px rgba(255,75,148,.38),0 0 0 7px rgba(26,15,58,.5);pointer-events:none;text-shadow:none}

    #trot-worldcup-app .intro-bottom{padding-top:24px; text-align:center;}
    #trot-worldcup-app .start-btn, #trot-worldcup-app .next-btn, #trot-worldcup-app .restart-btn{width:100%;border:0;border-radius:999px;cursor:pointer;position:relative;overflow:hidden;background:linear-gradient(90deg,#ff94c6 0%,#ff5da6 48%,#ff8ac3 100%);color:#351127;padding:14px 20px;font-weight:800;font-size:18px;letter-spacing:-.02em;box-shadow:0 12px 32px rgba(255,75,148,.28),inset 0 -2px 0 rgba(112,19,67,.18);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}
    #trot-worldcup-app .start-btn:hover, #trot-worldcup-app .next-btn:hover, #trot-worldcup-app .restart-btn:hover{transform:translateY(-2px);filter:brightness(1.03);box-shadow:0 16px 38px rgba(255,75,148,.34),inset 0 -2px 0 rgba(112,19,67,.18)}
    #trot-worldcup-app .small-note{margin:12px auto 0;max-width:610px;text-align:center;font-size:14px;line-height:1.55;color:#9388ac}

    /* GAME */
    #trot-worldcup-app .game{padding:26px 18px 32px}
    #trot-worldcup-app .game-head{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:0 5px 16px}
    #trot-worldcup-app .game-label{font:400 26px/1 "Bebas Neue",sans-serif;letter-spacing:.08em;color:#fff}
    #trot-worldcup-app .game-sub{margin-top:7px;font-size:13px;color:#b8accd}
    #trot-worldcup-app .progress{min-width:120px;text-align:right}
    #trot-worldcup-app .progress strong{display:block;font:400 50px/1 "Bebas Neue",sans-serif;color:#9186a8}
    #trot-worldcup-app .progress strong span{font-size:inherit;color:#ff8fc5;letter-spacing:inherit}
    #trot-worldcup-app .progress > span{font-size:10px;color:#9186a8;letter-spacing:.08em}

    #trot-worldcup-app .match-frame{position:relative;background:linear-gradient(180deg,#251744,#17102f);border:1px solid rgba(255,255,255,.12);border-radius:28px;box-shadow:var(--shadow);overflow:hidden;padding-bottom:10px}
    #trot-worldcup-app .match-frame::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 0%,rgba(255,77,153,.15),transparent 34%),radial-gradient(circle at 92% 8%,rgba(101,231,212,.12),transparent 28%);pointer-events:none;z-index:1}
    #trot-worldcup-app .match-top{position:relative;z-index:5;padding:20px 20px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}
    #trot-worldcup-app .match-top h2{margin:0;font-size:20px;font-weight:900;letter-spacing:-.03em}
    #trot-worldcup-app .match-top .stage{padding:9px 14px 5px;border-radius:999px;background:rgba(101,231,212,.1);border:1px solid rgba(101,231,212,.2);font:400 17px/1 "Bebas Neue",sans-serif;color:#8ff0e1;letter-spacing:.08em}

    #trot-worldcup-app .vs-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative;z-index:2;min-height:500px;padding:12px}
    #trot-worldcup-app .candidate{position:relative;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:0;background:#18112f;color:#fff;cursor:pointer;overflow:hidden;text-align:left;isolation:isolate;box-shadow:0 10px 26px rgba(7,3,20,.16);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
    #trot-worldcup-app .candidate + .candidate{border-left:1px solid rgba(255,255,255,.12)}
    #trot-worldcup-app .candidate:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.26);box-shadow:0 18px 34px rgba(7,3,20,.24)}
    #trot-worldcup-app .candidate:disabled{cursor:default;pointer-events:none}
    #trot-worldcup-app .candidate::after{content:"";position:absolute;inset:auto 0 0;height:50%;background:linear-gradient(transparent,rgba(12,7,27,.92));z-index:2}
    #trot-worldcup-app .candidate img{height:100%;min-height:476px;object-fit:cover;filter:saturate(.9) contrast(1.02);transition:transform .45s ease,filter .3s ease}
    #trot-worldcup-app .candidate:hover img{transform:scale(1.025);filter:saturate(1) contrast(1.04)}
    #trot-worldcup-app .candidate.left img{object-position:54% 20%}
    #trot-worldcup-app .candidate.right img{object-position:48% 20%}
    #trot-worldcup-app .candidate-info{position:absolute;left:16px;right:16px;bottom:18px;z-index:4;text-align:center}
    #trot-worldcup-app .candidate-no{display:none;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.11);font:400 14px/1 "Bebas Neue",sans-serif;letter-spacing:.1em;color:#b9fff4}
    #trot-worldcup-app .candidate-name{display:block;margin-top:8px;font-size:clamp(23px,5vw,34px);font-weight:900;line-height:1;letter-spacing:-.05em;word-break:keep-all;text-shadow:0 5px 16px rgba(0,0,0,.32)}
    #trot-worldcup-app .pick{display:inline-flex;margin-top:10px;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);font-size:10px;font-weight:800;color:#f5ecfb;letter-spacing:.08em}
    #trot-worldcup-app .pick::before{content:"";width:6px;height:6px;border-radius:50%;background:#ff76b5;box-shadow:0 0 8px #ff76b5}

    #trot-worldcup-app .vs-chip{position:absolute;z-index:10;left:50%;top:46%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ff5ca6,#9f64ff);border:3px solid #fff;font:400 24px/1 "Bebas Neue",sans-serif;color:#fff;box-shadow:0 0 0 7px rgba(31,18,59,.74),0 10px 25px rgba(255,75,148,.35);pointer-events:none;text-shadow:none}
    #trot-worldcup-app .game-guide{margin:15px 2px 0;font-size:14px;line-height:1.65;color:#9e92b5;text-align:center}

    /* FINAL INTRO */
    #trot-worldcup-app .final-overlay{position:absolute;z-index:20;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;background:radial-gradient(circle at 50% 45%,#3b1f67 0%,#211440 48%,#15102e 100%)}
    #trot-worldcup-app .final-kicker{font:400 22px/1 "Bebas Neue",sans-serif;letter-spacing:.18em;color:#ff9bcb}
    #trot-worldcup-app .final-title{margin:12px 0 10px;font:400 clamp(62px,16vw,112px)/.82 "Bebas Neue",sans-serif;letter-spacing:.04em;color:#fff;text-shadow:0 0 34px rgba(255,75,148,.35)}
    #trot-worldcup-app .final-desc{margin:0;font-size:15px;color:#d9d0e9}
    #trot-worldcup-app .final-wait{margin:24px auto 0;width:180px;height:3px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}
    #trot-worldcup-app .final-wait::after{content:"";display:block;width:100%;height:100%;background:linear-gradient(90deg,#ff5ca6,#a56cff);transform-origin:left;animation:finalWait 1.5s linear forwards}
    @keyframes finalWait{from{transform:scaleX(0)}to{transform:scaleX(1)}}

    /* RESULT — 5번처럼 밝은 결과 영역으로 리듬 전환 */
    #trot-worldcup-app .result{padding:16px 0 42px;background:var(--cream);color:var(--deep)}
    #trot-worldcup-app .result-hero{position:relative;min-height:500px;margin:0 16px;display:flex;align-items:flex-end;overflow:hidden;border-radius:28px;background:#251744;box-shadow:var(--soft-shadow)}
    #trot-worldcup-app .result-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 5%,rgba(255,87,161,.43),transparent 34%),linear-gradient(180deg,transparent 38%,rgba(21,13,44,.94) 93%);z-index:2}
    #trot-worldcup-app .result-hero::after{content:"";position:absolute;right:-55px;top:-35px;width:190px;height:190px;border-radius:50%;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 0 26px rgba(255,255,255,.025),0 0 0 52px rgba(255,255,255,.018);z-index:2}
    #trot-worldcup-app .result-hero img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:50% 16%;filter:saturate(.88) contrast(1.03)}
    #trot-worldcup-app .result-copy{position:relative;z-index:4;width:100%;padding:30px 25px 31px;color:#fff}
    #trot-worldcup-app .winner-kicker{font:400 22px/1 "Bebas Neue",sans-serif;letter-spacing:.13em;color:#ffacd4}
    #trot-worldcup-app .winner-name{margin:5px 0 13px;font-family:"Black Han Sans","Noto Sans KR",sans-serif;font-size:clamp(46px,12vw,78px);font-weight:400;line-height:.98;letter-spacing:-.04em;text-shadow:0 8px 24px rgba(0,0,0,.2)}
    #trot-worldcup-app .rank-comment{color:#fff;font-size:13px;font-weight:600}
    #trot-worldcup-app .winner-fan-cafe{display:flex;align-items:center;justify-content:center;gap:7px;width:fit-content;margin-top:12px;padding:9px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:13px;font-weight:600;text-decoration:none;backdrop-filter:blur(10px);transition:transform .2s ease,background .2s ease}
    #trot-worldcup-app .winner-fan-cafe::before{content:"";display:block;width:17px;height:17px;flex:0 0 17px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ff4b94' d='M12 21s-7.2-4.6-9.4-9C.9 8.8 2.7 5 6.4 5c2.2 0 3.7 1.2 4.6 2.4C11.9 6.2 13.4 5 15.6 5c3.7 0 5.5 3.8 3.8 7-2.2 4.4-9.4 9-9.4 9z'/%3E%3C/svg%3E") center/contain no-repeat}
    #trot-worldcup-app .winner-fan-cafe:hover, #trot-worldcup-app .winner-fan-cafe:focus-visible{background:rgba(255,255,255,.2);transform:translateY(-3px) scale(1.03)}
    #trot-worldcup-app .winner-fan-cafe:hover::before, #trot-worldcup-app .winner-fan-cafe:focus-visible::before{animation:winner-heart-beat .65s ease-in-out infinite alternate}
    @keyframes winner-heart-beat{from{transform:scale(1)}to{transform:scale(1.2)}}
    @media(prefers-reduced-motion:reduce){#trot-worldcup-app .winner-fan-cafe{transition:none}#trot-worldcup-app .winner-fan-cafe:hover, #trot-worldcup-app .winner-fan-cafe:focus-visible{transform:none}#trot-worldcup-app .winner-fan-cafe:hover::before, #trot-worldcup-app .winner-fan-cafe:focus-visible::before{animation:none}}

    #trot-worldcup-app .result-index{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:14px 20px 0;position:relative;z-index:5}
    #trot-worldcup-app .result-index a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border:1px solid #ddd5cf;border-radius:16px;background:#fff;color:var(--deep);text-decoration:none;font-size:16px;font-weight:600;box-shadow:0 7px 18px rgba(56,40,70,.05)}
    #trot-worldcup-app .result-index a span{font:400 18px/1 "Bebas Neue",sans-serif;color:var(--hot);letter-spacing:.06em}
    #trot-worldcup-app .result-share{padding:50px 22px 0;text-align:center}
    #trot-worldcup-app .result-share-title{display:block;margin-bottom:14px;font-size:17px;color:var(--deep)}
    #trot-worldcup-app .result-share-list{display:flex;justify-content:center;gap:12px;margin:0;padding:0;list-style:none}
    #trot-worldcup-app .result-share-btn{display:block;width:50px;height:50px;padding:0;border:0;border-radius:50%;background-color:transparent;background-position:center;background-size:cover;background-repeat:no-repeat;cursor:pointer;transition:transform .2s ease}
    #trot-worldcup-app .result-share-btn:hover, #trot-worldcup-app .result-share-btn:focus-visible{outline:3px solid rgba(255,75,148,.18);outline-offset:3px;transform:translateY(-3px)}
    #trot-worldcup-app .result-share-btn.kakao{background-image:url("https://image.ajunews.com/images/site/news/kr/visual/26/img/icon_kakao.png")}
    #trot-worldcup-app .result-share-btn.band{background-image:url("https://image.ajunews.com/images/site/news/kr/visual/26/img/icon_band.png")}
    #trot-worldcup-app .result-share-btn.twitter{background-image:url("https://image.ajunews.com/images/site/news/kr/visual/26/img/icon_twitter.png")}
    #trot-worldcup-app .result-share-btn.url{background-image:url("https://image.ajunews.com/images/site/news/kr/visual/26/img/icon_url.png")}
    #trot-worldcup-app .result-share-notice{min-height:18px;margin:10px 0 0;font-size:12px;color:#756d7d}
    @media(prefers-reduced-motion:reduce){#trot-worldcup-app .result-share-btn{transition:none}#trot-worldcup-app .result-share-btn:hover, #trot-worldcup-app .result-share-btn:focus-visible{transform:none}}
    #trot-worldcup-app .result-section{padding:30px 22px 0}
    #trot-worldcup-app .section-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:2px solid var(--deep);padding-bottom:11px}
    #trot-worldcup-app .section-title h3{margin:0;font-size:22px;font-weight:900;letter-spacing:-.04em;color:var(--deep)}
    #trot-worldcup-app .section-title span{font:400 16px/1 "Bebas Neue",sans-serif;color:var(--hot);letter-spacing:.08em}
    #trot-worldcup-app .data-note{margin:10px 0 0;font-size:13px;line-height:1.55;color:#888091}

    #trot-worldcup-app .top4-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:15px}
    #trot-worldcup-app .top4-item{background:#fff;border:1px solid #e2dcd7;border-radius:15px;padding:7px;box-shadow:0 8px 20px rgba(53,37,66,.045)}
    #trot-worldcup-app .top4-item:first-child{background:linear-gradient(180deg,#fff,#fff2f8);border-color:#f2bfd4}
    #trot-worldcup-app .top4-item img{height:170px;object-fit:cover;object-position:50% 18%;border-radius:10px;filter:saturate(.88)}
    #trot-worldcup-app .top4-item b{display:block;margin:0px 2px 2px;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--deep)}
    #trot-worldcup-app .top4-item small{display:block;color:var(--hot);font:400 18px/1 "Bebas Neue",sans-serif;margin:12px 2px 0}

    #trot-worldcup-app .ranking{margin-top:15px;display:grid;gap:0;border-top:1px solid #d9d1ca}
    #trot-worldcup-app .rank-row{display:grid;grid-template-columns:34px 78px 1fr 68px;gap:10px;align-items:center;padding:11px 2px;border-bottom:1px solid #e2dcd7}
    #trot-worldcup-app .rank-num{font:400 24px/1 "Bebas Neue",sans-serif;color:#8c8495}
    #trot-worldcup-app .rank-row:nth-child(-n/**/+3) .rank-num{color:var(--hot)}
    #trot-worldcup-app .rank-name{font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--deep)}
    #trot-worldcup-app .bar-track{height:8px;border-radius:999px;background:#e5ded9;overflow:hidden}
    #trot-worldcup-app .bar{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#ff4b94,#ff91c4);transition:width 1s cubic-bezier(.2,.7,.2,1)}
    #trot-worldcup-app .rank-row:nth-child(n/**/+4) .bar{background:linear-gradient(90deg,#8d78b3,#b7a7cf)}
    #trot-worldcup-app .rank-vote{text-align:right;font:400 18px/1 "Bebas Neue",sans-serif;color:#4d455d}

    #trot-worldcup-app .share-card{margin-top:24px;padding:20px;border:1px solid #edd0de;border-radius:20px;background:linear-gradient(135deg,#fff7fb,#f4efff);box-shadow:0 10px 28px rgba(92,50,85,.06)}
    #trot-worldcup-app .share-card strong{display:block;font-size:17px;color:var(--deep)}
    #trot-worldcup-app .share-card p{margin:8px 0 14px;font-size:13px;line-height:1.65;color:#756d7d}
    #trot-worldcup-app .share-card .restart-btn{color:#351127}

    @media (max-width:560px){
      #trot-worldcup-app .intro{padding-left:16px;padding-right:16px}
      #trot-worldcup-app .hero{padding-left:0;padding-right:0}
      #trot-worldcup-app .poster-board{min-height:300px;border-radius:24px}
      #trot-worldcup-app .fighter{height:300px}
      #trot-worldcup-app .poster-copy{left:15px;right:15px;top:15px}#trot-worldcup-app .poster-copy .round{font-size:18px}#trot-worldcup-app .poster-copy .badge{font-size:9px}
      #trot-worldcup-app .game{padding:18px 10px 26px}
      #trot-worldcup-app .match-frame{border-radius:24px}
      #trot-worldcup-app .vs-grid{min-height:300px;gap:7px;padding:8px}
      #trot-worldcup-app .candidate{border-radius:17px}
      #trot-worldcup-app .candidate img{min-height:300px}
      #trot-worldcup-app .candidate-info{left:10px;right:10px;bottom:14px}
      #trot-worldcup-app .candidate-name{font-size:27px}
      #trot-worldcup-app .vs-chip{width:50px;height:50px;font-size:21px;box-shadow:0 0 0 5px rgba(31,18,59,.74),0 8px 20px rgba(255,75,148,.3)}
      #trot-worldcup-app .final-overlay{padding:20px}
      #trot-worldcup-app .result{padding-top:12px}
      #trot-worldcup-app .result-hero{min-height:400px;margin:0 12px;border-radius:24px}
      #trot-worldcup-app .result-copy, #trot-worldcup-app .result-section{padding-left:16px;padding-right:16px}
      #trot-worldcup-app .result-index{padding-left:16px;padding-right:16px}
      #trot-worldcup-app .top4-grid{gap:6px}#trot-worldcup-app .top4-item{padding:5px;border-radius:12px}#trot-worldcup-app .top4-item img{ height:120px; border-radius:8px}#trot-worldcup-app .top4-item b{font-size:16px}
      #trot-worldcup-app .top4-item small { font-size:16px; margin-top:10px;}
      #trot-worldcup-app .rank-row{grid-template-columns:28px 67px 1fr 54px;gap:7px}
      #trot-worldcup-app .rank-name{font-size:12px}#trot-worldcup-app .rank-vote{font-size:16px}
      #trot-worldcup-app .title em { font-size:12vw; }
    }

    @media (max-width:400px){
      #trot-worldcup-app .title{font-size:38px}#trot-worldcup-app .title .world{font-size:64px}
      #trot-worldcup-app .poster-board{min-height:270px}#trot-worldcup-app .fighter{height:270px}
      #trot-worldcup-app .vs-grid{min-height:270px}#trot-worldcup-app .candidate img{min-height:270px}
      #trot-worldcup-app .candidate-name{font-size:23px}
      #trot-worldcup-app .result-hero{min-height:372px}
      #trot-worldcup-app .top4-grid {grid-template-columns: repeat(2, 1fr); }
      #trot-worldcup-app .top4-item img { height:140px; }
    }
  
