/* VirusFly component tokens. Native HTML adapters for the existing application. */
:root{--vf-bg:#fafbf6;--vf-card:#fff;--vf-ink:#20291d;--vf-muted:#68745e;--vf-line:#dde4d3;--vf-primary:#d7f940;--vf-on-primary:#253218;--vf-radius:14px;--vf-motion:cubic-bezier(.22,1,.36,1);--vf-space:24px;--vf-danger:#a13232}
.vf-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:13px 20px;border:1px solid transparent;border-radius:10px;background:var(--vf-ink);color:white;font:600 14px/1.4 Arial,Helvetica,sans-serif;cursor:pointer;text-decoration:none;min-height:46px;transition:transform 180ms var(--vf-motion),background 180ms ease,box-shadow 180ms ease}
.vf-button:hover{background:#374c28;text-decoration:none}.vf-button:not(:disabled):active{transform:scale(.97)}.vf-button:disabled{opacity:.45;cursor:not-allowed}.vf-button-quiet{background:transparent;color:var(--vf-ink);border-color:var(--vf-line)}.vf-button-quiet:hover{background:#edf3e1}
.vf-badge{display:inline-flex;align-items:center;border:1px solid var(--vf-line);border-radius:6px;padding:5px 9px;font-size:11px;font-weight:650;color:#586949;letter-spacing:.5px;line-height:1.2;background:#f2f6e9;vertical-align:middle}
.vf-text-link{font-size:15px;text-decoration:none;color:#566847;margin-top:24px}.vf-text-link:hover{text-decoration:underline}.vf-helper{font-size:13px;color:var(--vf-muted);line-height:1.6}.vf-helper:empty{display:none}
.ui-community .topbar .brand{display:flex;align-items:center;gap:12px}.ui-community .scene-card{border-radius:var(--vf-radius)}
.ui-community .overview-strip{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);grid-template-rows:auto auto;gap:24px;border:0;background:transparent}
.ui-community .overview-strip>#mainCaCard{grid-column:1;grid-row:1 / span 2;display:flex;flex-direction:column;background:white;border:1px solid var(--vf-line);border-radius:var(--vf-radius);padding:36px;gap:22px;scroll-margin-top:32px}
.vf-token-heading{display:flex;gap:16px;align-items:center;order:0}.vf-token-heading>img{width:54px;height:60px;object-fit:contain}.vf-token-heading h2{font:700 24px/1.25 Arial,sans-serif;letter-spacing:-.5px;margin:0}.vf-token-heading>.vf-button{margin-left:auto;font-size:13px;padding:10px 12px;white-space:nowrap}
.ui-community .overview-strip>.count-panel,.ui-community .overview-strip>#reportsSection{grid-column:2;border:1px solid var(--vf-line);border-radius:var(--vf-radius);padding:28px 32px;min-height:190px;background:#f0f4e8}
.ui-community .overview-strip>.count-panel{grid-row:1}.ui-community .overview-strip>#reportsSection{grid-row:2;background:#fff}
.ui-community #mainCaCard .top-ca-market{margin-top:16px}.ui-community #mainCaCard .top-ca-market strong{font-size:66px;line-height:1.1;min-height:72px}.ui-community #mainCaCard .top-ca-main{padding:20px;background:#f4f7ef;border:1px solid #e4eadc;border-radius:10px;margin-top:auto;order:2}.ui-community #mainCaCard .top-ca-address{font-size:14px;color:#324729}.ui-community #mainCaCard .top-ca-status{margin:0;order:3}.ui-community .count{font-size:62px}.ui-community .report-card p{font-size:18px}
.ui-community .meme-post-row>.panel{border:1px solid var(--vf-line);border-radius:var(--vf-radius);padding:24px;background:#fff;overflow:hidden}.ui-community .section-head{margin-bottom:18px;padding-top:0}.ui-community .section-title{font-size:26px}.ui-community .empty-memecoins{background:#f7f9f2;border:0;min-height:190px;color:var(--vf-muted)}
.ui-community .empty-memecoins::before{content:'↗';display:block;width:42px;height:42px;padding:8px;border-radius:12px;background:#eaf0de;color:#6b7e55;font-size:24px;line-height:1;margin:0 auto 18px}
.ui-community .launched-ca-chip,.ui-community .x-post-link{border-radius:10px;background:#fafbf7}.ui-community .launched-ca-chip:hover,.ui-community .x-post-link:hover{border-color:#aec780;box-shadow:none}
/* Sliding selection surface, inspired by Transitions.dev / BeUI. */
.ui-community .activity-filters{position:relative;isolation:isolate;border-radius:12px;background:#eef2e7}.vf-selection{position:absolute;left:0;top:6px;height:calc(100% - 12px);background:white;border:1px solid #e1e6d8;border-radius:8px;box-shadow:0 2px 4px #23301409;pointer-events:none;z-index:0;transition:width 250ms var(--vf-motion),transform 250ms var(--vf-motion)}.ui-community .activity-filters button{position:relative;z-index:1}.ui-community .activity-filters.vf-enhanced button[aria-pressed=true]{background:transparent;box-shadow:none;color:#223617}
.vf-dialog{padding:30px;border:1px solid var(--vf-line);border-radius:20px;background:var(--vf-card);color:var(--vf-ink);width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 28px 100px #14210c38;margin:auto;font-family:Arial,Helvetica,sans-serif}
.vf-dialog::backdrop{background:#15210a65;backdrop-filter:blur(5px)}.vf-dialog[open]{animation:vf-dialog-in 220ms var(--vf-motion)}@keyframes vf-dialog-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.vf-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.vf-dialog-head h2{font-size:30px;line-height:1.2;letter-spacing:-.6px;margin:14px 0 0}.vf-close{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--vf-line);border-radius:50%;background:white;color:var(--vf-ink);font-size:24px;cursor:pointer;flex-shrink:0}.vf-close:hover{background:#eef4e4}
.vf-token-preview,.vf-logo-preview{display:grid;place-items:center;border-radius:14px;background:#d7f940;min-height:200px;padding:24px}.vf-token-preview img{height:170px;width:100%;object-fit:contain}.vf-logo-preview img{width:100%;height:250px;object-fit:contain}.vf-logo-preview[data-background=light]{background:#f0f0ec}.vf-logo-preview[data-background=dark]{background:#22271f}
.vf-definition{margin:24px 0}.vf-definition>div{padding:14px 0;border-bottom:1px solid var(--vf-line)}.vf-definition dt{font-size:12px;color:var(--vf-muted);margin-bottom:8px}.vf-definition dd{margin:0;font-size:16px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.vf-definition>div:last-child dd{font:13px/1.7 ui-monospace,monospace}.vf-dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.vf-dialog-actions>*{flex:1}
.vf-preview-options{display:flex;gap:8px;margin:16px 0 24px}.vf-preview-options>button{padding:9px 15px;border:1px solid var(--vf-line);border-radius:8px;background:transparent;cursor:pointer;font-size:13px;color:var(--vf-muted)}.vf-preview-options>button[aria-pressed=true]{background:#24311b;color:white}.vf-download-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.vf-download-row .vf-button{flex-shrink:0}
.vf-toast{position:fixed;z-index:1000;bottom:24px;left:50%;transform:translate(-50%,16px) scale(.98);opacity:0;pointer-events:none;max-width:calc(100vw - 32px);padding:14px 22px;border-radius:12px;background:#223019;color:#f1ffdc;box-shadow:0 12px 36px #14210c28;font-size:14px;transition:transform 300ms var(--vf-motion),opacity 200ms ease}.vf-toast.is-visible{opacity:1;transform:translate(-50%,0) scale(1)}
.ui-community .vf-is-loading{color:var(--vf-muted)}.ui-community .vf-is-loading::before{content:'';display:inline-block;width:12px;height:12px;border:2px solid #d4dfc2;border-top-color:#667e42;border-radius:50%;margin-right:10px;animation:vf-spin .8s linear infinite}@keyframes vf-spin{to{transform:rotate(360deg)}}
:where(.vf-button,.vf-close,.vf-preview-options button):focus-visible{outline:3px solid #82a34f;outline-offset:4px}body:has(.vf-dialog[open]){overflow:hidden}
/* Shared operational primitives: leave every form and handler intact. */
.ui-admin .panel,.ui-flap main section{border-color:var(--vf-line);border-radius:var(--vf-radius);box-shadow:0 2px 0 #1d2f1003}.ui-admin .btn,.ui-flap button{border-radius:10px;min-height:42px}.ui-admin .btn.primary,.ui-flap button:not(.secondary){background:var(--vf-ink);border-color:var(--vf-ink)}.ui-admin input,.ui-admin select,.ui-flap input,.ui-flap select,.ui-flap textarea{border-color:var(--vf-line);border-radius:9px;background:#fcfdf9}.ui-admin .status-line,.ui-flap .quote{border-radius:10px}.ui-flap table th{background:#eef4e2}.ui-flap .status{padding:8px 0;font-size:13px}.ui-flap pre{border:1px solid var(--vf-line);background:#f6f8f1}.ui-flap summary{padding:10px 0}.ui-admin .metric{font-variant-numeric:tabular-nums}
@media(max-width:1100px){.ui-community .overview-strip{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr)}.ui-community .overview-strip>#mainCaCard{padding:26px}.vf-token-heading{gap:10px;flex-wrap:wrap}.vf-token-heading h2{font-size:22px}.vf-token-heading>img{width:40px;height:44px}.vf-token-heading>.vf-button{font-size:12px}}
@media(max-width:700px){.ui-community .overview-strip{grid-template-columns:minmax(0,1fr);gap:18px}.ui-community .overview-strip>#mainCaCard,.ui-community .overview-strip>.count-panel,.ui-community .overview-strip>#reportsSection{grid-column:1;grid-row:auto;padding:26px;min-height:180px}.ui-community .overview-strip>#mainCaCard{gap:20px}.ui-community #mainCaCard .top-ca-market strong{font-size:56px}.ui-community #mainCaCard .top-ca-main{padding:16px}.ui-community #mainCaCard .top-ca-address{font-size:12px}.ui-community .meme-post-row>.panel{padding:20px}.ui-community .section-title{font-size:25px}.ui-community .topbar .brand{gap:7px}.ui-community .topbar .brand-title{font-size:11px}.ui-community .topbar .vf-badge{font-size:9px;padding:4px 6px}.vf-dialog{padding:22px}.vf-logo-preview img{height:210px}.vf-token-heading>.vf-button{min-height:38px}.vf-dialog-actions{flex-direction:column}.vf-download-row .vf-button{width:100%}.ui-community .workspace-footer{flex-wrap:wrap;align-items:center}.ui-community .workspace-footer .vf-button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.vf-selection,.vf-toast,.vf-button{transition:none}.vf-dialog[open],.ui-community .vf-is-loading::before{animation:none}}.is-calm .vf-selection,.is-calm .vf-toast{transition:none}.is-calm .vf-is-loading::before{animation:none}
.ui-community .overview-strip>#mainCaCard{align-items:stretch;text-align:left}.ui-community #mainCaCard .top-ca-market{text-align:left}.vf-token-heading{width:100%}

/* Short brand copy beside the 2:1 animation, with a small edge trim. */
.ui-community .scene.scene-film{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);align-items:center;position:relative;min-height:0;height:auto;aspect-ratio:auto;padding:0;background:#d7f940}
.ui-community .scene-film .hero-caption{padding:32px clamp(24px,3.2vw,64px);color:#20291d}
.ui-community .hero-caption h1{margin:0;font:800 clamp(32px,4.1vw,80px)/1 Arial,Helvetica,sans-serif;letter-spacing:-.055em}
.ui-community .hero-caption p{margin:18px 0 0;font:600 clamp(18px,2vw,28px)/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.03em}
.ui-community .scene-film .hero-media{width:100%;max-width:760px;aspect-ratio:2 / 1;justify-self:end;min-width:0;overflow:hidden}
.ui-community .scene-film .hero-film{display:block;width:100%;height:100%;margin:0;object-fit:contain;object-position:center;transform:scale(1.035)}
.ui-community .scene-film .hero-film-still{display:none;width:100%;height:100%;object-fit:contain;padding:24px;box-sizing:border-box}
.ui-community .scene-film .paint-layer{display:none}
.ui-community.is-calm .scene-film .hero-film{display:none}
.ui-community.is-calm .scene-film .hero-film-still{display:block}
@media(max-width:700px){.ui-community .scene.scene-film{grid-template-columns:1fr}.ui-community .scene-film .hero-caption{padding:26px 24px;display:flex;align-items:baseline;justify-content:space-between;gap:16px}.ui-community .hero-caption h1{font-size:36px}.ui-community .hero-caption p{margin:0;font-size:18px}.ui-community .scene-film .hero-media{max-width:none}}
@media(prefers-reduced-motion:reduce){.ui-community .scene-film .hero-film{display:none}.ui-community .scene-film .hero-film-still{display:block}}

/* Use the original illustrated lettering and mascot as the hero brand. */
.ui-community .scene-film .hero-caption{display:flex;align-items:center;justify-content:center;padding:22px}
.ui-community .hero-caption .hero-brand{margin:0;width:min(100%,520px);line-height:0}
.ui-community .hero-brand img{display:block;width:100%;height:auto;max-height:330px;object-fit:contain;filter:drop-shadow(0 6px 0 #50692116)}
@media(max-width:700px){.ui-community .scene-film .hero-caption{padding:18px}.ui-community .hero-caption .hero-brand{width:280px}.ui-community .hero-brand img{max-height:150px}}
/* Blend the artwork seam into the hero surface without fading the subject. */
.ui-community .scene-film .hero-media{position:relative}
.ui-community .scene-film .hero-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#d7f940 0%,rgba(215,249,64,.88) 3%,rgba(215,249,64,.4) 9%,rgba(215,249,64,0) 19%)}
@media(max-width:700px){.ui-community .scene-film .hero-media::after{background:linear-gradient(180deg,#d7f940 0%,rgba(215,249,64,.75) 5%,rgba(215,249,64,0) 24%)}}

/* Pixel navigation, using the project's original palette and artwork. */
.ui-community .workspace-rail .rail-brand{justify-content:center;margin-bottom:24px}
.ui-community .workspace-rail .rail-brand>img{width:100%;height:auto;max-height:80px;object-fit:contain;mix-blend-mode:normal}
.rail-hive{position:relative;display:flex;align-items:center;justify-content:center;height:120px;margin:0 0 28px;background:radial-gradient(#a4bf5c55 1px,transparent 1px);background-size:10px 10px;border-block:1px solid #dce5ce}
.rail-hive img{width:94px;height:100px;object-fit:contain;transform:rotate(-9deg)}.rail-hive>span{font:900 26px monospace;color:#85b929;transform:rotate(12deg)}.rail-hive>span:nth-of-type(2){color:#f53c68;align-self:flex-start;margin-top:18px}.rail-hive i{position:absolute;right:25px;bottom:10px;font:900 14px monospace;color:#e9315b}
.ui-community .workspace-rail .rail-link{position:relative;isolation:isolate;min-height:74px;padding:12px 10px;gap:10px;margin:12px 0;border:1px solid #d4dfc7;border-radius:7px;background:#f8fbed;color:#26331e;box-shadow:0 3px 0 #d4dfc7;transition:transform .18s,background .18s,box-shadow .18s}
.ui-community .rail-link b{font-size:13px;line-height:1.25;font-weight:700}.ui-community .rail-link small{opacity:1;font:700 10px monospace;color:#697951;align-self:flex-start}
.ui-community .rail-link .rail-pixel{display:grid;place-items:center;position:relative;flex:0 0 38px;height:40px;background:#d7f940;border:2px solid #293720;box-shadow:3px 3px 0 #293720;border-radius:3px;font:900 30px/1 monospace;color:#26331e;transition:transform .18s}
.rail-pixel img{width:38px;height:42px;object-fit:contain}.ui-community .rail-link .rail-pixel-signal{background:#ff5279;color:#fff}.ui-community .rail-link .rail-pixel-guide{background:#cbeaff}
.ui-community .workspace-rail .rail-link:is(:hover,:focus-visible){transform:translateY(-3px);background:#eafaaf;box-shadow:0 6px 0 #b8cc8e}.ui-community .workspace-rail .rail-link.is-active{background:#d7f940;border-color:#293720;box-shadow:0 3px 0 #293720;color:#20291d}
.ui-community .rail-link:hover .rail-pixel{transform:rotate(-8deg)}.ui-community .rail-link:focus-visible{outline:3px solid #f53c68;outline-offset:4px}
@media(max-width:850px){.ui-community .workspace-rail .rail-brand{margin:0;width:150px}.ui-community .workspace-rail .rail-brand>img{max-height:60px}.rail-hive{display:none}.ui-community .workspace-rail>nav{gap:8px}.ui-community .workspace-rail .rail-link{flex:1;min-height:62px;margin:4px 0;padding:8px 6px;gap:7px;white-space:normal}.ui-community .rail-link b{font-size:11px}.ui-community .rail-link .rail-pixel{flex-basis:26px;height:29px;font-size:23px}.rail-pixel img{width:28px;height:30px}.ui-community .rail-link small{display:none}}
@media(prefers-reduced-motion:reduce){.ui-community .workspace-rail .rail-link,.ui-community .rail-link .rail-pixel{transition:none}}
