/* UnseenSMP: launch countdown / JOIN NOW + playtest tags.
 * Built from the server's own look: the ruins portal art and its animation (About page), the server-list row,
 * Sora + the Tiny5 pixel font, Minecraft text shadows and item-tooltip frames. Theme variables: unseen-polish.css.
 */

/* "Minecraft" font by Pwnage_Block (fontstruct.com), CC BY-SA 3.0: https://creativecommons.org/licenses/by-sa/3.0/
   Used for the in-game text: tags, the countdown digits, the server address. Missing glyphs fall back to Tiny5. */
@font-face{font-family:'Minecraft';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/minecraft.woff2') format('woff2'),url('/assets/fonts/minecraft.woff') format('woff')}
:root{--u-mc:'Minecraft','Tiny5','Sora',monospace}

/* ---------------------------------------------------------------- shared */
.ul-reveal{opacity:1}

/* In-game chat tag: [Label], with the same 3-colour gradient ExclusiveTags uses in game (MiniMessage <gradient>). */
.ul-tag{display:inline-block;font-family:var(--u-mc);font-size:16px;line-height:1.25;letter-spacing:0;white-space:nowrap;background:linear-gradient(90deg,var(--t1),var(--t2),var(--t3,var(--t2)));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(.125em .125em 0 rgba(0,0,0,.65))}

/* Minecraft item tooltip: dark violet box, blue-violet gradient border, notched corners. */
.ul-tip{position:relative;display:flex;flex-direction:column;gap:4px;padding:11px 13px 12px;color:#fff;text-decoration:none;font-size:.875rem;line-height:1.35;background:rgba(16,0,16,.94);border:2px solid #5000ff;border-image:linear-gradient(180deg,#5000ff,#28007f) 1;box-shadow:0 0 0 2px rgba(16,0,16,.94);clip-path:polygon(0 -2px,100% -2px,100% 0,calc(100% + 2px) 0,calc(100% + 2px) 100%,100% 100%,100% calc(100% + 2px),0 calc(100% + 2px),0 100%,-2px 100%,-2px 0,0 0)}

/* ---------------------------------------------------------------- launch block (home) */
/* Always a night scene (the portal art), in the dark and the light theme. */
.ul-launch{--u-text:#f8f4ff;--u-text-2:#ddd3ee;--u-muted:#b9acd0;position:relative;isolation:isolate;overflow:hidden;margin:22px 0 34px;padding:46px 40px 38px;border:1px solid rgba(190,150,255,.28);border-radius:20px;text-align:center;color:var(--u-text);background:#0d0a16 url('/assets/about/unlock-bg.jpg') 50% 35%/cover no-repeat}
.ul-launch::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,7,18,.62) 0%,rgba(10,7,18,.80) 45%,rgba(10,7,18,.93) 100%)}
.ul-launch-art{position:absolute;inset:0;z-index:-2}
.ul-launch-art video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%;opacity:0;transition:opacity 1.4s ease}
.ul-launch-art video.is-playing{opacity:1}
.ul-launch-head{position:relative}
.ul-launch-title{margin:0;font-size:clamp(1.75rem,3.4vw,2.6rem);font-weight:800;line-height:1.1;letter-spacing:-.04em;color:var(--u-text);text-align:center}
.ul-launch-when{margin:10px 0 0;font-size:1rem;color:var(--u-text-2)}
.ul-launch-local{margin:4px 0 0;min-height:1.4em;font-size:.875rem;color:var(--u-muted)}

/* Flip clock */
.ul-clock{display:flex;justify-content:center;gap:clamp(10px,2.2vw,26px);margin:26px 0 24px;--ul-size:64px}
.ul-unit{display:flex;flex-direction:column;align-items:center;gap:10px}
.ul-digits{display:flex;gap:6px}
.ul-flip{position:relative;display:block;width:calc(var(--ul-size)*.92);height:calc(var(--ul-size)*1.18);font-family:var(--u-mc);font-size:var(--ul-size);perspective:400px;border-radius:10px;box-shadow:0 12px 24px rgba(0,0,0,.45),inset 0 0 0 1px rgba(190,150,255,.3)}
.ul-f{position:absolute;left:0;right:0;height:50%;overflow:hidden;background:linear-gradient(180deg,#2a1f40,#1d152d);color:#f6efff;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.ul-f b{display:block;height:calc(var(--ul-size)*1.18);line-height:calc(var(--ul-size)*1.18);text-align:center;font-weight:400;text-shadow:.125em .125em 0 rgba(0,0,0,.45)}
.ul-f-top{top:0;border-radius:10px 10px 0 0}
.ul-f-bot{bottom:0;border-radius:0 0 10px 10px;background:linear-gradient(180deg,#1b1329,#150f20)}
.ul-f-bot b{margin-top:calc(var(--ul-size)*-.59)}
.ul-flip::after{content:'';position:absolute;left:0;right:0;top:50%;z-index:4;height:2px;margin-top:-1px;background:rgba(0,0,0,.55)}
.ul-f-flap,.ul-f-flap2{display:none;z-index:3}
.ul-f-flap{transform-origin:50% 100%}
.ul-f-flap2{transform-origin:50% 0;transform:rotateX(90deg)}
.ul-flip.is-flip .ul-f-flap,.ul-flip.is-flip .ul-f-flap2{display:block}
.ul-flip.is-flip .ul-f-flap{animation:ul-flap .28s ease-in forwards}
.ul-flip.is-flip .ul-f-flap2{animation:ul-flap2 .28s ease-out .28s forwards}
@keyframes ul-flap{to{transform:rotateX(-90deg)}}
@keyframes ul-flap2{to{transform:rotateX(0deg)}}
.ul-unit-label{font-size:.75rem;font-weight:600;color:var(--u-muted)}
.ul-clock.is-final .ul-flip{animation:ul-heartbeat 1s ease-in-out infinite;box-shadow:0 0 0 2px #ffc94d,0 12px 24px rgba(0,0,0,.45)}
@keyframes ul-heartbeat{15%{transform:scale(1.06)}30%{transform:none}}
.ul-clock-cap{margin:22px 0 -8px;font-size:.9375rem;color:var(--u-text-2)}

/* Minecraft XP bar */
.ul-xp{max-width:520px;margin:0 auto 26px}
.ul-xp-bar{position:relative;height:12px;overflow:hidden;border:2px solid #000;border-radius:2px;background:#1a1426;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.ul-xp-bar i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(180deg,#b6ff6b,#6fd630 60%,#4eac1e);transition:width 1s linear}
.ul-xp-bar i::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),rgba(0,0,0,.45) calc(10% - 2px) 10%)}
.ul-xp-label{display:block;margin-top:8px;font-size:.8125rem;font-weight:600;color:#a6e57a}

.ul-launch-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.ul-launch-actions .usmp-button{min-width:170px}
.ul-launch .usmp-button-secondary{color:#f8f4ff;background:rgba(20,14,32,.72);border-color:rgba(190,150,255,.35)}
.ul-launch .usmp-button-secondary:hover{background:rgba(38,27,58,.9)}
.ul-copy-done{display:none}
.ul-copied .ul-copy-face{display:none}.ul-copied .ul-copy-done{display:inline}

/* JOIN NOW! (after the countdown) */
.ul-launch.is-live{padding-top:54px}
.ul-launch.is-live .ul-launch-local{display:none}
.ul-launch.is-live .ul-launch-title{font-size:clamp(3rem,9vw,5.75rem);font-weight:800;line-height:.95;letter-spacing:-.05em;color:#fff}
.ul-live{margin:2px auto 26px}
.ul-join-ip{position:relative;display:inline-block;margin:10px 0 0;padding:2px 8px;border:0;background:none;font-family:var(--u-mc);font-size:48px;font-weight:400;line-height:1.2;letter-spacing:0;color:#dcb8ff;text-shadow:.125em .125em 0 #3b1470,0 0 18px rgba(176,64,255,.85),0 0 46px rgba(144,0,240,.55);cursor:pointer}
.ul-join-ip:hover>span:first-child{text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.14em}
.ul-join-ip:focus-visible{outline:2px solid #c99bff;outline-offset:4px}
.ul-launch .ul-server .ab-motd-ip{color:#d08cff}
.ul-join-copied{position:absolute;left:100%;top:50%;margin:-.85em 0 0 8px;padding:5px 10px;border-radius:999px;font-family:'Sora',sans-serif;font-size:.8125rem;font-weight:700;line-height:1.2;letter-spacing:0;text-shadow:none;color:#0d0a16;background:#8ef07a;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s;pointer-events:none;white-space:nowrap}
.ul-join-ip.ul-copied .ul-join-copied{opacity:1;transform:none}
.ul-join-bedrock{margin:10px 0 0;font-size:1.0625rem;color:var(--u-text-2)}
.ul-join-bedrock b{font-weight:700;color:#fff}
.ul-nowrap{white-space:nowrap}
.ul-launch .ul-server{max-width:560px;margin:26px auto 0;text-align:left;font-family:var(--u-mc)}
.ul-launch .ul-server .ab-server-name,.ul-launch .ul-server .ab-motd-ip,.ul-launch .ul-server .ab-server-meta{font-size:16px;line-height:1.5}
.ul-launch.is-live .ul-xp,.ul-launch.is-live .ul-pre-only{display:none}
.ul-launch:not(.is-live) .ul-live-only,.ul-launch [hidden]{display:none!important}

/* Official launch countdown (inside JOIN NOW!): the clock plus what happens at zero. */
.ul-official{position:relative;max-width:840px;margin:0 auto 28px;padding:24px 24px 22px;border:1px solid rgba(190,150,255,.32);border-radius:16px;background:rgba(13,10,22,.68);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.ul-official-kicker{display:inline-block;margin:0 0 10px;padding:6px 12px;border-radius:999px;font-size:.75rem;font-weight:800;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:#1b0f02;background:linear-gradient(135deg,#e2ccff,#b88fff)}
.ul-official-title{margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;color:var(--u-text);text-align:center}
.ul-official-when{margin:6px 0 0;font-size:1rem;font-weight:600;color:var(--u-text-2)}
.ul-official-local{margin:2px 0 0;min-height:1.3em;font-size:.875rem;color:var(--u-muted)}
.ul-official .ul-clock{margin:16px 0 22px}
.ul-official-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;text-align:left}
.ul-ev{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid rgba(190,150,255,.22);border-radius:12px;background:rgba(20,14,32,.78)}
.ul-ev-icon{flex:0 0 40px;width:40px;height:40px}
.ul-ev-icon svg{display:block;width:100%;height:100%;image-rendering:pixelated}
.ul-ev-text{display:grid;gap:4px;min-width:0}
.ul-ev-text b{font-size:.9375rem;line-height:1.3;color:var(--u-text)}
.ul-ev-text span{font-size:.8125rem;line-height:1.45;color:var(--u-text-2)}
.ul-ev a{color:#d8b8ff;font-weight:700;text-underline-offset:2px}
.ul-launch.is-official .ul-official{margin-top:4px}
.ul-launch.is-official .ul-official-title{margin-bottom:18px}
.ul-launch.is-official .ul-ev-text b::after{content:'';display:inline-block;width:.5em;height:.9em;margin-left:.5em;border:solid #9be26f;border-width:0 3px 3px 0;transform:rotate(45deg) translate(-1px,-2px)}

/* The moment it hits zero: a burst of block-coloured pixels. */
.ul-confetti{position:absolute;left:50%;top:38%;z-index:3;width:8px;height:8px;pointer-events:none;background:var(--c);animation:ul-confetti 1.8s cubic-bezier(.15,.7,.3,1) forwards}
@keyframes ul-confetti{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(var(--r));opacity:0}}
.ul-burst{display:none}

/* ---------------------------------------------------------------- tags teaser (home) */
.ul-teaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-areas:'copy tags' 'cta tags';align-items:center;gap:20px 34px;margin:0 0 34px;padding:32px 34px;border:1px solid var(--u-border);border-radius:16px;background:var(--u-surface)}
.ul-teaser-copy{grid-area:copy;align-self:end}
.ul-teaser-tags{grid-area:tags}
.ul-teaser-cta{grid-area:cta;justify-self:start;align-self:start}
.ul-teaser h2{margin:0 0 10px;font-size:1.6rem;line-height:1.2;letter-spacing:-.03em;color:var(--u-text);text-align:left}
.ul-teaser p{margin:0;max-width:46ch;font-size:.9375rem;line-height:1.6;color:var(--u-text-2)}
.ul-teaser-tags{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0;padding:2px;list-style:none}
.ul-teaser-tags .ul-tag{font-size:24px}
.ul-tip-lore{margin-top:2px;color:#cfc8da}
.ul-tip-meta{font-size:.8125rem;color:#b08cff}
a.ul-tip{transition:transform .15s}
a.ul-tip:hover{transform:translateY(-2px);border-image:linear-gradient(180deg,#7a3dff,#4210c0) 1}
a.ul-tip:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* ---------------------------------------------------------------- /achievements page */
body:has(.ul-page) .site{display:block;max-width:1160px;padding-top:40px}
body:has(.ul-page) .store-sidebar{display:none!important}
body:has(.ul-page) .site-main>.cs-home-cards{display:none}
.store-text:has(.ul-page){background:none;border:0;border-radius:0;padding:0;box-shadow:none;max-width:none}
.store-text:has(.ul-page)>.cs-welcome{display:none}
.ul-page{display:flex;flex-direction:column;gap:22px}
.ul-page-hero{--u-text:#f8f4ff;--u-text-2:#ddd3ee;--u-muted:#b9acd0;position:relative;isolation:isolate;overflow:hidden;padding:48px 40px 38px;border:1px solid rgba(190,150,255,.28);border-radius:20px;background:#0d0a16 url('/assets/bg/ruins-dark.jpg') 50% 40%/cover no-repeat}
.ul-page-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,7,18,.94) 0%,rgba(10,7,18,.82) 55%,rgba(10,7,18,.55) 100%)}
.ul-page-title{margin:0 0 14px;font-size:clamp(2rem,4.4vw,3.2rem);font-weight:800;line-height:1.08;letter-spacing:-.05em;color:var(--u-text);text-align:left}
.ul-page-lead{max-width:60ch;margin:0 0 24px;font-size:1rem;line-height:1.75;color:var(--u-text-2)}
.ul-page-tags{display:inline-flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:18px;padding:12px 16px;background:rgba(16,0,16,.8)}
.ul-page-tags .ul-tag{font-size:24px}
.ul-page-status{margin:0;font-size:.9375rem;color:var(--u-muted)}
.ul-page-status b{color:var(--u-text)}

.ul-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ul-card{display:flex;flex-direction:column;padding:24px 24px 20px;border:1px solid var(--u-border);border-radius:16px;background:var(--u-surface)}
.ul-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.ul-tier{font-size:.875rem;font-weight:700;color:var(--u-text-2)}
.ul-count{font-size:.875rem;font-weight:600;color:var(--u-muted)}
.ul-chat{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45em;margin:0 0 16px;padding:10px 12px;background:rgba(0,0,0,.55);font-family:var(--u-mc);font-size:24px;line-height:1.25}
:root[data-theme="light"] .ul-chat{background:rgba(20,14,30,.88)}
.ul-chat-src{color:#aa00aa;text-shadow:.1em .1em 0 #2a002a}.ul-chat-sep{color:#555;text-shadow:.1em .1em 0 #151515}.ul-chat-msg{color:#aaa;text-shadow:.1em .1em 0 #2a2a2a}
.ul-chat .ul-tag{font-size:1em}
.ul-card-title,.store-text .ul-card-title{margin:0 0 6px;font-size:1.2rem;letter-spacing:-.02em;color:var(--u-text);text-align:left}
.ul-card-how{margin:0 0 4px;font-size:.9375rem;color:var(--u-text-2)}
.ul-card-note{margin:0 0 16px;font-size:.875rem;color:var(--u-muted)}
.ul-holders{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;margin-top:auto;padding-top:14px;border-top:1px solid var(--u-border)}
.ul-holders-empty{margin:0;font-size:.875rem;color:var(--u-muted)}
.ul-holder{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 4px;border:1px solid var(--u-border);border-radius:6px;background:var(--u-accent-soft);font-size:.8125rem;color:var(--u-text)}
.ul-holder img{width:22px;height:22px;border-radius:3px;image-rendering:pixelated;background:rgba(0,0,0,.2)}
.ul-holder.is-first{border-color:var(--t2)}
.ul-more{font-size:.8125rem;color:var(--u-muted)}
.ul-why{padding:26px 30px;border:1px solid var(--u-border);border-radius:16px;background:var(--u-surface)}
.ul-why h2{margin:0 0 12px;font-size:1.25rem;color:var(--u-text);text-align:left}
.ul-why ol{display:grid;gap:8px;margin:0;padding-left:1.2em;color:var(--u-text-2)}
.ul-why b{color:var(--u-text)}

/* ---------------------------------------------------------------- LEAVING SOON FOREVER (tags until launch) */
.ul-teaser[hidden],.ul-shopnow[hidden],.ul-gone[hidden]{display:none!important}
.ul-teaser .ul-gone{display:inline-flex;max-width:none;align-items:center;gap:8px;margin:0 0 12px;padding:7px 12px;border-radius:999px;font-size:.8125rem;font-weight:800;line-height:1;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:#291703;background:linear-gradient(135deg,#ffe28b,#ffb93f)}
.ul-gone-dot{width:8px;height:8px;border-radius:50%;background:#d9361e;box-shadow:0 0 0 0 rgba(217,54,30,.6);animation:ul-gone-pulse 1.6s ease-out infinite}
@keyframes ul-gone-pulse{0%{box-shadow:0 0 0 0 rgba(217,54,30,.55)}100%{box-shadow:0 0 0 8px rgba(217,54,30,0)}}
#ul-teaser-title{letter-spacing:.01em}
.ul-teaser-copy p b{color:var(--u-text)}

/* ---------------------------------------------------------------- Ranks and crate keys (after launch, same spot) */
.ul-shopnow{display:grid;gap:22px;margin:0 0 34px;padding:32px 34px;border:1px solid var(--u-border);border-radius:16px;background:var(--u-surface)}
.ul-shopnow-head h2{margin:4px 0 8px;font-size:1.6rem;line-height:1.2;letter-spacing:-.03em;color:var(--u-text);text-align:left}
.ul-shopnow-head p{margin:0;max-width:60ch;font-size:.9375rem;line-height:1.6;color:var(--u-text-2)}
.ul-deals-ranks{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ul-rank{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--u-border);border-radius:14px;background:rgba(127,90,240,.06);color:var(--u-text);text-decoration:none;transition:transform .2s ease,border-color .2s ease}
.ul-rank img{width:56px;height:56px;border-radius:10px;object-fit:cover;image-rendering:pixelated}
.ul-rank-text{display:grid;gap:4px;min-width:0}
.ul-rank-text b{font-size:1.125rem;line-height:1.2}
.ul-rank-text small{font-size:.8125rem;line-height:1.4;color:var(--u-text-2)}
.ul-rank-price{display:grid;justify-items:end;font-weight:800;font-size:1.125rem;white-space:nowrap}
.ul-rank-price small{font-size:.75rem;font-weight:600;color:var(--u-muted)}
.ul-rank.is-plusplus{border-color:rgba(255,201,77,.45)}
.ul-deals-keys{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.ul-key a{display:grid;justify-items:center;gap:4px;height:100%;padding:12px 8px 14px;border:1px solid var(--u-border);border-radius:14px;background:rgba(127,90,240,.05);color:var(--u-text);text-align:center;text-decoration:none;transition:transform .2s ease,border-color .2s ease}
.ul-key picture,.ul-key img{display:block;width:72px;height:auto}
.ul-key b{font-size:.875rem;line-height:1.25}
.ul-key-price{font-size:.875rem;font-weight:800;color:var(--u-text-2)}
.ul-rank:hover,.ul-key a:hover{transform:translateY(-2px);border-color:rgba(184,143,255,.6)}
.ul-rank:focus-visible,.ul-key a:focus-visible{outline:2px solid #b88fff;outline-offset:3px}
.ul-shopnow-actions{display:flex;flex-wrap:wrap;gap:10px}
.ul-shopnow-actions .usmp-button{min-width:180px}

/* ---------------------------------------------------------------- Home hero: official launch countdown, then SERVER JUST LAUNCHED */
.ul-hero-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:7px 13px;border-radius:999px;font-size:.75rem;font-weight:800;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:#1b0f02;background:linear-gradient(135deg,#e2ccff,#b88fff)}
.ul-hero-dot{width:8px;height:8px;border-radius:50%;background:#d9361e;animation:ul-gone-pulse 1.6s ease-out infinite}
.ul-hero .ul-hero-clock{justify-content:flex-start;gap:14px;margin:24px 0 12px;--ul-size:46px}
.ul-hero .ul-hero-clock .ul-unit-label{color:#cfc3e3}
.ul-hero-when{margin:0;font-size:.9375rem;font-weight:600;color:var(--u-text-2,#d3c9e4)}
.ul-hero-local{font-weight:500;color:var(--u-muted,#b9acd0)}
.ul-hero-evs{display:grid;gap:8px;margin:18px 0 26px;padding:0;list-style:none;max-width:500px}
.ul-hero-evs li{display:flex;align-items:center;gap:10px;font-size:.875rem;line-height:1.4;color:var(--u-text-2,#d3c9e4)}
.ul-hero-evs b{color:var(--u-text,#fff)}
.ul-hero-evs .ul-ev-icon{flex:0 0 26px;width:26px;height:26px}
.ul-hero-evs a{color:#d8b8ff;font-weight:700;text-underline-offset:2px}

/* ---------------------------------------------------------------- OUR TOP DEALS (where JOIN NOW! was) */
.ul-launch.ul-deals .ul-deals-title{font-size:clamp(2.6rem,7vw,4.75rem);font-weight:800;line-height:.95;letter-spacing:-.05em;color:#fff}
.ul-deals-lead{margin:14px auto 28px;max-width:52ch;font-size:1.0625rem;color:var(--u-text-2)}
.ul-deals .ul-deals-ranks{max-width:900px;margin:0 auto 14px;text-align:left}
.ul-deals .ul-deals-keys{max-width:900px;margin:0 auto 28px}
.ul-deals .ul-rank,.ul-deals .ul-key a{background:rgba(13,10,22,.72);border-color:rgba(190,150,255,.28)}
.ul-deals .ul-rank-text small,.ul-deals .ul-key-price{color:#ddd3ee}
.ul-rank,.ul-key{position:relative}
.ul-rank-price{align-content:center}

/* Sale: old price crossed out + "50% OFF" sticker (only when Tebex really has a discount) */
.ul-was{display:inline-block;margin-right:.35em;font-size:.72em;font-weight:700;color:#b9acd0;text-decoration:line-through;text-decoration-color:#ff5a3d;text-decoration-thickness:2px}
.ul-rank-price .ul-was{margin:0;font-size:.8125rem}
.st-key .ul-was{order:3;margin:0 0 2px;font-size:1rem}
.ul-key .ul-was{margin:0;font-size:.8125rem}
.ul-on-sale [data-pkg-price],.ul-on-sale[data-pkg-price]{color:#7dff6a}
:root[data-theme="light"] .ul-on-sale [data-pkg-price],:root[data-theme="light"] .ul-on-sale[data-pkg-price]{color:#1f8a12}
:root[data-theme="light"] .ul-was{color:#6c5f86}
:root[data-theme="light"] .ul-hero-evs a{color:#6a2fd0}

/* "50% OFF" sticker: same pill as the LIMITED TAGS! badge, in sale red */
.ul-sticker{position:absolute;top:-13px;right:-8px;z-index:4;display:inline-flex;align-items:center;padding:7px 12px 7px 13px;border:1px solid rgba(255,170,160,.7);border-radius:999px;font-size:.8125rem;font-weight:900;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#fff;background:linear-gradient(135deg,#ff6b5a,#e0201b);box-shadow:0 5px 16px rgba(224,32,27,.3);text-shadow:0 1px 0 rgba(120,0,0,.35);transform:rotate(4deg);pointer-events:none;animation:ul-sale-pulse 2.8s ease-in-out infinite}
.v2-rank-card .ul-sticker{font-size:.9375rem;padding:9px 15px}
.ul-launch .ul-note.ul-sale-note{border-color:rgba(255,170,160,.7);color:#fff;background:linear-gradient(135deg,#ff6b5a,#e0201b);text-shadow:0 1px 0 rgba(120,0,0,.35);box-shadow:0 5px 16px rgba(224,32,27,.3);animation-name:ul-sale-pulse}
@keyframes ul-sale-pulse{0%,100%{box-shadow:0 5px 16px rgba(224,32,27,.22)}50%{box-shadow:0 7px 26px rgba(255,60,40,.55)}}
.ul-deals-title-in{position:relative;display:inline-block}
.ul-deals-kicker{margin:0 0 10px;font-size:.875rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:#ffcf6b}
.ul-deals-lead b{color:#fff}

/* SERVER JUST LAUNCHED as a Minecraft "Advancement Made!" toast */
.ul-adv{display:inline-flex;align-items:center;gap:14px;margin:0 0 20px;padding:12px 20px 12px 12px;border:3px solid #555;border-radius:4px;background:#212121;box-shadow:inset 0 0 0 2px #000,inset 0 0 0 4px #6b6b6b,0 10px 26px rgba(0,0,0,.45),0 0 34px rgba(255,255,85,.18);font-family:var(--u-mc);animation:ul-toast-in .7s cubic-bezier(.2,1.3,.4,1) both}
.ul-adv-icon{flex:0 0 44px;width:44px;height:44px;image-rendering:pixelated;filter:drop-shadow(0 0 8px rgba(255,170,30,.55))}
.ul-adv-icon svg{display:block;width:100%;height:100%}
.ul-adv-text{display:grid;gap:4px;text-align:left}
.ul-adv-top{font-size:16px;line-height:1.1;color:#ffff55;text-shadow:2px 2px 0 #3f3f15}
.ul-adv-text b{font-weight:400;font-size:24px;line-height:1.1;color:#fff;text-shadow:2px 2px 0 #3f3f3f}
@keyframes ul-toast-in{0%{opacity:0;transform:translateY(-24px)}100%{opacity:1;transform:none}}

/* ---------------------------------------------------------------- responsive */
@media(max-width:960px){
  .ul-clock{--ul-size:56px}
  .ul-official-list{grid-template-columns:1fr}
  .ul-deals-keys{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ul-teaser{grid-template-columns:1fr;grid-template-areas:'copy' 'tags' 'cta';gap:22px}
}
@media(max-width:650px){
  body:has(.ul-page) .site{padding-top:24px}
  .ul-launch{margin:16px 0 26px;padding:32px 16px 24px;border-radius:14px}
  .ul-launch.is-live{padding-top:36px}
  .ul-clock{gap:8px;margin:22px 0 20px;--ul-size:32px}
  .ul-digits{gap:3px}
  .ul-flip{border-radius:7px}
  .ul-f-top{border-radius:7px 7px 0 0}.ul-f-bot{border-radius:0 0 7px 7px}
  .ul-unit-label{font-size:.6875rem}
  .ul-launch-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .ul-launch-actions .usmp-button{min-width:0;width:100%;padding:12px 10px}
  .ul-launch-actions>:first-child{grid-column:1/-1}
  .ul-launch.is-live .ul-launch-title{font-size:3.1rem}
  .ul-join-ip{font-size:32px;margin-top:12px}
  .ul-launch .ul-server{grid-template-columns:44px minmax(0,1fr);gap:0 12px;margin-top:22px}
  .ul-launch .ul-server .ab-server-icon{width:44px;height:44px}
  .ul-launch .ul-server .ab-server-meta{grid-column:2;padding-top:4px}
  .ul-join-copied{left:50%;top:100%;margin:6px 0 0;transform:translate(-50%,-4px)}
  .ul-join-ip.ul-copied .ul-join-copied{transform:translate(-50%,0)}
  .ul-join-bedrock{font-size:.9375rem}
  .ul-official{margin-bottom:22px;padding:20px 14px 16px;border-radius:14px}
  .ul-official-title{font-size:1.4rem}
  .ul-official-list{grid-template-columns:1fr;gap:10px}
  .ul-ev{padding:12px}
  .ul-ev-icon{flex-basis:36px;width:36px;height:36px}
  .ul-teaser{padding:24px 18px}
  .ul-teaser h2{font-size:1.4rem}
  .ul-teaser-tags{grid-template-columns:1fr;gap:12px}
  .ul-teaser-tags .ul-tag{font-size:24px}
  .ul-tip{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:4px 12px;padding:10px 12px 11px;font-size:.875rem}
  .ul-tip-lore{grid-column:1/-1;grid-row:2;margin:0}
  .ul-tip-meta{justify-self:end}
  .ul-teaser-cta{justify-self:stretch}
  .ul-page-hero{padding:30px 18px 26px}
  .ul-cards{grid-template-columns:1fr}
  .ul-card{padding:20px 16px 16px}
  .ul-chat{font-size:16px}
  .ul-page-tags .ul-tag{font-size:16px}
  .ul-why{padding:22px 18px}
  .ul-hero .ul-hero-clock{gap:8px;--ul-size:30px;margin:18px 0 10px}
  .ul-hero-kicker{font-size:.6875rem;letter-spacing:.08em}
  .ul-hero-evs{margin:14px 0 20px}
      .ul-launch.ul-deals .ul-deals-title{font-size:2.6rem}
  .ul-sticker{font-size:.75rem;padding:6px 10px;top:-11px;right:-6px}
  .ul-adv{gap:10px;padding:10px 14px 10px 10px}
  .ul-adv-icon{flex-basis:34px;width:34px;height:34px}
  .ul-adv-top{font-size:13px}
  .ul-adv-text b{font-size:18px}
  .ul-deals-lead{font-size:.9375rem;margin-bottom:22px}
  .ul-shopnow{padding:24px 16px;gap:18px}
  .ul-shopnow-head h2{font-size:1.4rem}
  .ul-deals-ranks{grid-template-columns:1fr}
  .ul-rank{grid-template-columns:48px minmax(0,1fr) auto;gap:12px;padding:12px}
  .ul-rank img{width:48px;height:48px}
  .ul-deals-keys{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ul-deals-keys li:last-child{grid-column:1/-1}
  .ul-key picture,.ul-key img{width:56px}
  .ul-shopnow-actions{display:grid;grid-template-columns:1fr}
  .ul-shopnow-actions .usmp-button{min-width:0;width:100%}
}

@media(max-width:380px){
  .ul-clock{gap:5px;--ul-size:32px}
  .ul-join-ip{font-size:24px}
  .ul-launch.is-live .ul-launch-title{font-size:2.6rem}
}

/* ---------------------------------------------------------------- calm modes */
@media(prefers-reduced-motion:reduce){
  .ul-confetti,.ul-launch-art video{display:none}
  .ul-clock.is-final .ul-flip{animation:none}
  .ul-ev-icon svg{animation:none!important}
  .ul-gone-dot{animation:none}
  .ul-hero-dot,.ul-sticker,.ul-adv{animation:none}
  .ul-rank,.ul-key a{transition:none}
  .ul-rank:hover,.ul-key a:hover{transform:none}
}
.usmp-lite .ul-launch-art video{display:none}

/* ---------------------------------------------------------------- light theme: daytime ruins instead of the night art */
:root[data-theme="light"] .ul-launch,:root[data-theme="light"] .ul-page-hero{--u-text:#1d1430;--u-text-2:#3d3156;--u-muted:#685a84;border-color:rgba(122,76,245,.26);box-shadow:0 18px 50px rgba(92,56,170,.14);background:#efe8ff url('/assets/bg/ruins-light.jpg') 50% 35%/cover no-repeat}
:root[data-theme="light"] .ul-launch::before{background:linear-gradient(180deg,rgba(251,248,255,.66) 0%,rgba(247,242,255,.82) 45%,rgba(243,237,255,.93) 100%)}
:root[data-theme="light"] .ul-page-hero{background-position:50% 40%}
:root[data-theme="light"] .ul-page-hero::before{background:linear-gradient(90deg,rgba(251,248,255,.95) 0%,rgba(247,242,255,.84) 55%,rgba(247,242,255,.35) 100%)}
:root[data-theme="light"] .ul-launch-art video{display:none}
:root[data-theme="light"] .ul-flip{box-shadow:0 10px 22px rgba(80,40,160,.16),inset 0 0 0 1px rgba(122,76,245,.28)}
:root[data-theme="light"] .ul-f{background:linear-gradient(180deg,#ffffff,#f3eeff);color:#2a1a4a}
:root[data-theme="light"] .ul-f-bot{background:linear-gradient(180deg,#ece5ff,#e3d9ff)}
:root[data-theme="light"] .ul-f b{text-shadow:.1em .1em 0 rgba(122,76,245,.2)}
:root[data-theme="light"] .ul-flip::after{background:rgba(70,40,140,.22)}
:root[data-theme="light"] .ul-xp-bar{background:#ddd3f3;border-color:#2b2140}
:root[data-theme="light"] .ul-xp-label{color:#2f7d22}
:root[data-theme="light"] .ul-launch .usmp-button-secondary{color:#3b2470;background:rgba(255,255,255,.78);border-color:rgba(122,76,245,.35)}
:root[data-theme="light"] .ul-launch .usmp-button-secondary:hover{background:#fff;border-color:rgba(122,76,245,.6)}
:root[data-theme="light"] .ul-launch.is-live .ul-launch-title{color:var(--u-text)}
:root[data-theme="light"] .ul-join-ip{color:#7a2fd0;text-shadow:.1em .1em 0 rgba(122,76,245,.22),0 0 22px rgba(176,64,255,.3)}
:root[data-theme="light"] .ul-join-bedrock b{color:var(--u-text)}
:root[data-theme="light"] .ul-official{background:rgba(255,255,255,.74);border-color:rgba(122,76,245,.28);box-shadow:0 14px 34px rgba(92,56,170,.12)}
:root[data-theme="light"] .ul-ev{background:rgba(255,255,255,.86);border-color:rgba(122,76,245,.2)}
:root[data-theme="light"] .ul-ev a{color:#6a2fd0}
:root[data-theme="light"] .ul-page-tags{background:rgba(20,14,30,.88)}
@media(max-width:650px){
  :root[data-theme="light"] .ul-page-hero::before{background:linear-gradient(180deg,rgba(251,248,255,.8) 0%,rgba(247,242,255,.95) 60%)}
}

/* ---------------------------------------------------------------- "LIMITED TAGS!" badge (launch block, top left)
   Same look as the "Best value" badge on Unseen++ in the store, just bigger. Clicking it scrolls to the tags. */
.ul-note{position:absolute;top:22px;left:24px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:12px 18px 12px 20px;border:1px solid rgba(255,218,122,.62);border-radius:999px;background:linear-gradient(135deg,#ffe28b,#ffb93f);color:#291703;font-size:16px;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase;text-decoration:none;box-shadow:0 5px 16px rgba(255,185,63,.24);transform:rotate(-2deg);transition:transform .2s ease,filter .2s ease;animation:ul-note-pulse 2.8s ease-in-out infinite}
.ul-note svg{flex:0 0 auto;width:16px;height:16px;animation:ul-note-bob 1.4s ease-in-out infinite}
.ul-note:hover{transform:rotate(0deg) translateY(-2px) scale(1.05);filter:brightness(1.06)}
.ul-note:focus-visible{outline:2px solid #fff;outline-offset:4px}
@keyframes ul-note-pulse{0%,100%{box-shadow:0 5px 16px rgba(255,185,63,.2)}50%{box-shadow:0 7px 26px rgba(255,185,63,.5)}}
@keyframes ul-note-bob{0%,100%{transform:translateY(-1px)}50%{transform:translateY(2px)}}
/* Where the badge lands: the tags block, clear of the sticky header, with a short glow. */
#limited-tags{scroll-margin-top:110px}
#limited-tags:target{animation:ul-arrive 1.6s ease-out 1}
@keyframes ul-arrive{0%{box-shadow:0 0 0 0 rgba(255,201,77,0)}25%{box-shadow:0 0 0 4px rgba(255,201,77,.6)}100%{box-shadow:0 0 0 0 rgba(255,201,77,0)}}
@media(max-width:820px){
  .ul-note{position:relative;top:auto;left:auto;margin:-10px 0 18px;font-size:13px;padding:9px 14px 9px 16px}
}
@media(prefers-reduced-motion:reduce){.ul-note,.ul-note svg{animation:none}}
.usmp-lite .ul-note,.usmp-lite .ul-note svg{animation:none}

/* ---------------------------------------------------------------- Store dropdown inside the main links (Home, About, Store, Vote, Rules) */
.usmp-primary-links .usmp-shop-menu{display:flex;align-items:center}
.usmp-primary-links .usmp-shop-dropdown{left:-14px;right:auto;z-index:70}
.usmp-primary-links .usmp-shop-dropdown a::after{display:none}
.usmp-primary-links .usmp-shop-dropdown a{white-space:nowrap}
.usmp-shop-menu.is-current>summary,.usmp-shop-menu[open]>summary{color:var(--u-text)}
@media(max-width:960px){
  .usmp-primary-links .usmp-shop-menu{display:block}
}
.usmp-lite .ul-ev-icon svg{animation:none!important}
.usmp-lite .ul-gone-dot{animation:none}
.usmp-lite .ul-hero-dot,.usmp-lite .ul-sticker,.usmp-lite .ul-adv{animation:none}

/* "Best value" tag on the Amethyst Key in Our top deals. Same gold pill as the "Best value" badge on Unseen ++ in the store.
   The red sale sticker sits on the other corner. */
.ul-best{position:absolute;top:-11px;left:-6px;z-index:4;padding:6px 9px;border:1px solid rgba(255,218,122,.62);border-radius:999px;background:linear-gradient(135deg,#ffe28b,#ffb93f);color:#291703;font-size:.625rem;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase;white-space:nowrap;box-shadow:0 5px 16px rgba(255,185,63,.24);transform:rotate(-4deg);pointer-events:none}
@media (max-width:650px){.ul-best{font-size:.5625rem;padding:5px 7px;top:-10px;left:-4px}}
/* In the store the sale sticker takes the top right corner, so the key's badge ("Best value") moves to the left */
.st-key.ul-on-sale .st-badge{left:14px;transform:translateY(-50%) rotate(-3deg)}
@media (max-width:650px){.st-key.ul-on-sale .st-badge{left:-6px;padding:5px 8px;font-size:.625rem}}
