
:root{--navy:#171d4b;--blue:#5c6ee6;--violet:#8a4de8;--purple:#6e3bd8;--cyan:#2ca7e8;--green:#37bd54;--orange:#ff6c35;--paper:#f6f7fb;--line:#e8eaf3;--text:#171a44;--muted:#70758c;--shadow:0 14px 40px rgba(24,31,84,.13);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Pretendard,"Noto Sans KR",Arial,sans-serif;background:#f8f9fd;color:var(--text)}a{text-decoration:none;color:inherit}button,input{font:inherit}.container{width:min(1180px,calc(100% - 32px));margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,230,241,.9)}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:22px}.duck{font-size:30px}.menu{display:flex;gap:24px;font-size:14px;color:#3d415f}.menu a{padding:27px 0 23px;border-bottom:3px solid transparent}.menu a:hover,.menu a.active{color:var(--purple);border-bottom-color:var(--purple)}.lang{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:12px;font-size:12px}.hero{padding:58px 0 42px;background:radial-gradient(circle at 75% 10%,rgba(119,104,255,.14),transparent 38%),#fff}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center}.tag{display:inline-flex;align-items:center;gap:7px;background:#f0edff;color:#6040d8;border:1px solid #dcd4ff;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}h1{font-size:clamp(42px,5vw,72px);line-height:1.05;margin:22px 0 18px;letter-spacing:-.04em}.grad{background:linear-gradient(90deg,#5f55e5,#8346da);-webkit-background-clip:text;color:transparent}.lead{font-size:18px;line-height:1.7;color:#555b76}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 28px}.chip{background:#f2f3f8;border-radius:999px;padding:9px 12px;font-size:13px;color:#50566e}.cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(90deg,#4c50f1,#9b45e6);color:white;font-weight:800;font-size:16px;padding:18px 56px;min-width:440px;border:none;border-radius:14px;box-shadow:0 12px 28px rgba(99,68,218,.28);cursor:pointer;box-sizing:border-box}.cta-icon{flex-shrink:0;display:block}.support{display:block;margin:11px 0 0 32px;color:#777c93;font-size:12px}.game-shell{background:#fff;border:2px solid #7274f4;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.game-stage{position:relative;height:335px;background:#69cbe9;overflow:hidden}body[data-page="play"] .game-stage{height:min(560px,calc(100vh - 210px));min-height:380px}.game-stage canvas{display:block;width:100%;height:100%}.live{position:absolute;left:16px;top:14px;background:rgba(255,255,255,.85);padding:7px 10px;border-radius:9px;font-size:11px;font-weight:800}.pause{position:absolute;left:16px;top:48px;background:#ff7047;color:#fff;border:0;border-radius:7px;padding:7px 10px;font-weight:900}.score-live{position:absolute;right:18px;top:17px;font-family:monospace;font-size:20px;font-weight:900}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.stat{background:#fff;padding:16px;text-align:center}.stat b{display:block;font-size:20px}.stat span{font-size:12px;color:#777c93}
.page-head{padding:54px 0 28px;background:linear-gradient(135deg,#f8f7ff,#eef2ff)}.page-head h1{font-size:44px;margin:0 0 10px}.page-head p{margin:0;color:var(--muted);font-size:17px}.section{padding:52px 0}.section.white{background:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.section-head h2{margin:0;font-size:29px}.more{font-size:13px;color:#6c4add;font-weight:700}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:24px}.mini-preview{height:170px;background:#69cbe9;display:grid;place-items:center;font-size:72px}.card h3{margin:0 0 10px}.card p{color:var(--muted);line-height:1.65}.btn{border:0;border-radius:10px;padding:12px 14px;color:#fff;font-weight:800;cursor:pointer}.btn.purple{background:#7955e9}.btn.blue{background:#2d97dd}.btn.green{background:#3dbd58}.btn.light{background:#e9f1f4;color:#314157}.panel{background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.panel-title{padding:20px;font-size:20px;font-weight:900;border-bottom:1px solid var(--line)}.tabs{display:flex;gap:18px;padding:16px 20px;border-bottom:1px solid var(--line);font-size:13px}.tabs .active{color:#4e53d8;font-weight:900;border-bottom:3px solid #5d6ce9;padding-bottom:10px}.rank-list{padding:18px}.rank{display:grid;grid-template-columns:40px 68px 1fr;gap:12px;align-items:center;background:#fafbfe;border-left:4px solid #6d76ef;border-radius:14px;padding:14px;margin-bottom:12px;text-decoration:none;color:inherit}.avatar{width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#efc2a6 0 47%,#35303a 49% 58%,#ddd 60%);border:2px solid #fff;box-shadow:0 0 0 1px #d7d9e7}.rank strong{display:block;font-size:17px}.rank small{color:#8c91a4}.score{font-size:20px;font-weight:900;color:#5a5fdd}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.face-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.face-visual{height:170px;background:linear-gradient(#70d1ee,#e4f8ff);display:grid;place-items:center;font-size:72px}.face-card .info{padding:15px}.meta{font-size:12px;color:var(--muted)}.likes{margin-top:10px;color:#7a7f95;font-size:13px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;text-align:center}.thumb{aspect-ratio:1;width:100%;border-radius:14px;background:#f0f2f9;display:grid;place-items:center;font-size:52px;margin-bottom:15px;overflow:hidden;position:relative}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.step p{font-size:13px;color:var(--muted);line-height:1.6}.faq-list{display:grid;gap:12px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px}.faq-item summary{cursor:pointer;font-weight:800}.faq-item p{color:var(--muted);line-height:1.7}.news-list{display:grid;gap:18px}.news-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.privacy-note{margin-top:14px;padding:12px;border-radius:10px;background:#f7f8fb;color:#6f7488;font-size:13px;text-align:center}.notice{padding:18px 20px;background:#fff8dc;border:1px solid #f4de83;border-radius:14px;color:#68590a}.play-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}body[data-page="play"] .play-layout>div:first-child{display:flex;flex-direction:column;min-height:0}body[data-page="play"] .game-shell{flex:1;display:flex;flex-direction:column;min-height:0}.upload-box{background:#fff;border:2px dashed #aaa8ed;border-radius:18px;padding:28px;text-align:center}.upload-box h2{margin-top:0}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}footer{background:#252f99;color:#fff;padding:30px 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:24px;font-size:13px}.footer-grid h4{margin:0 0 9px}.footer-grid a{display:block;opacity:.75;margin:7px 0}.copyright{opacity:.65;font-size:12px;margin-top:20px}.mobile-menu{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:10px;flex-shrink:0}
.mobile-menu span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .2s,opacity .2s}
.mobile-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-menu[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
.mobile-drawer{display:none;position:fixed;top:74px;left:0;right:0;z-index:19;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 16px 32px rgba(24,31,84,.12);padding:12px 16px 20px;max-height:calc(100vh - 74px);overflow-y:auto}
.mobile-drawer.open{display:block}
.mobile-drawer nav{display:flex;flex-direction:column;gap:2px}
.mobile-drawer a{display:block;padding:14px 12px;border-radius:12px;font-size:15px;font-weight:700;color:#3d415f}
.mobile-drawer a:hover,.mobile-drawer a.active{background:#f3f0ff;color:var(--purple)}
.mobile-drawer-lang{padding:12px 4px 4px;border-top:1px solid var(--line);margin-top:10px}
.ff-tabbar,.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:6px 8px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));justify-content:space-around;align-items:stretch;box-shadow:0 -4px 16px rgba(24,31,84,.08);min-height:56px;box-sizing:border-box}
.ff-tabbar__link,.mobile-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;color:var(--muted);font-size:11px;font-weight:700;border-radius:10px;min-width:0;-webkit-tap-highlight-color:transparent;text-decoration:none}
.ff-tabbar svg,.mobile-nav a svg{width:22px;height:22px;flex-shrink:0;display:block}
.ff-tabbar__link.is-active,.ff-tabbar__link:hover,.mobile-nav a.active,.mobile-nav a:hover{color:var(--purple)}
.mobile-nav-backdrop{display:none;position:fixed;inset:0;z-index:18;background:rgba(15,23,42,.28)}
.mobile-nav-backdrop.open{display:block}
body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
@media(max-width:900px){.menu{display:none!important}.hero-grid,.play-layout,.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.mobile-menu{display:inline-flex!important}#langSelectorMount{display:none!important}.nav{gap:12px}}
@media(max-width:620px){.container{width:min(100% - 22px,560px)}.nav{height:62px}.brand{font-size:18px}.hero{padding:30px 0}.hero-copy{text-align:center}.chips{display:none}.cta{width:100%;min-width:0;padding:17px 22px;font-size:15px}h1,.page-head h1{font-size:32px;line-height:1.15}.game-stage{height:300px}body[data-page="play"] .game-stage{height:min(520px,calc(100vh - 170px));min-height:360px}.stats{grid-template-columns:1fr 1fr 1fr}.stat{padding:11px 5px}.stat b{font-size:14px}.grid-3,.gallery,.steps,.footer-grid{grid-template-columns:1fr}.rank{grid-template-columns:32px 56px 1fr}.mobile-drawer{top:62px;max-height:calc(100vh - 62px)}.support{margin-left:0;text-align:center}.tag{font-size:12px}}

/* Home page content previews */
.eyebrow{display:block;margin-bottom:8px;color:#6656df;font-size:12px;font-weight:900;letter-spacing:.12em}.section-desc{margin:8px 0 0;color:var(--muted)}.compact-section{padding-top:42px}.split-feature{display:grid;grid-template-columns:1.65fr .75fr;gap:28px;align-items:stretch}.home-steps{gap:12px}.home-steps .step{padding:16px}.home-steps .thumb{font-size:42px}.benefit-box{padding:28px;border:1px solid #e4ddff;border-radius:20px;background:linear-gradient(145deg,#f8f6ff,#fff);box-shadow:var(--shadow)}.benefit-box h2{margin:8px 0 20px;font-size:25px}.benefit-list{display:grid;gap:14px;padding:0;margin:0;list-style:none;color:#424861}.benefit-list li::first-letter{color:#24b862}.gallery-section{background:linear-gradient(180deg,#f1f4ff,#f8f9fd)}.home-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:18px 14px}.popular-face{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:inherit;transition:transform .18s ease}.popular-face:hover{transform:translateY(-3px)}.popular-face__visual{width:100%;aspect-ratio:1;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 8px 22px rgba(24,31,84,.1);display:grid;place-items:center}.popular-face__visual .ff-bird{width:72%;height:auto;aspect-ratio:86/90}.popular-face__likes{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:#7a7f95}.popular-face__likes .heart{color:#ef4444;font-size:12px}.bird-bg{position:relative;background:#87CEEB url(/images/game-bg.png) center/cover no-repeat;overflow:hidden;image-rendering:pixelated;image-rendering:crisp-edges}.bird-bg:before,.bird-bg:after{content:none}.bird-avatar{position:relative;z-index:2;display:grid;place-items:center;width:86px;height:68px;border-radius:52% 52% 46% 46%;background:#d88b25;border:5px solid #fff;font-size:38px;box-shadow:-25px 9px 0 -17px #d88b25,25px 9px 0 -17px #d88b25}.bird-avatar:after{content:"";position:absolute;bottom:-18px;width:3px;height:20px;background:#4b3629;box-shadow:15px 0 0 #4b3629}.bird-avatar.big{width:120px;height:96px;font-size:52px}.face-row{display:flex;justify-content:space-between;margin-top:10px;color:#7a7f95;font-size:13px}.home-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.home-rank-panel{box-shadow:none;border:1px solid var(--line)}.home-rank-panel .rank-list{padding:12px 14px}.home-rank-panel .rank{grid-template-columns:36px 58px 1fr 28px;margin-bottom:8px;padding:12px 14px}.home-rank-panel .rank-bird{font-size:18px;text-align:center;line-height:1;opacity:.9}.face-detail-preview h2{margin-top:7px}.share-card{padding:22px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.share-art{height:225px;border-radius:15px;display:grid;place-items:center}.share-card h3{font-size:25px;margin:18px 0 4px}.share-card p{margin:0 0 18px}.share-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.share-card small{display:block;margin-top:15px;color:var(--muted)}.soft-section{background:#f2f4fb}.info-grid{display:grid;grid-template-columns:1.05fr 1fr .8fr;gap:22px;align-items:start}.home-info-columns{align-items:stretch}.home-news{display:grid;gap:12px}.home-news-card{display:block;padding:14px;background:#f7f8fc;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:inherit;transition:background .15s ease,box-shadow .15s ease}.home-news-card:hover{background:#fff;box-shadow:0 8px 20px rgba(24,31,84,.08)}.home-news-body{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}.home-news-body b{font-size:15px;line-height:1.35}.home-news-body p{margin:0;color:var(--muted);font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-news-body small{color:#8c91a4;font-size:12px}.mini-faq{gap:10px}.mini-faq .faq-item{padding:16px 18px;background:#f7f8fc}.mini-faq .faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800}.mini-faq .faq-item summary::-webkit-details-marker{display:none}.mini-faq .faq-item summary:after{content:"";width:8px;height:8px;border-right:2px solid #8c91a4;border-bottom:2px solid #8c91a4;transform:rotate(45deg);flex-shrink:0;transition:transform .18s ease;margin-top:-4px}.mini-faq .faq-item[open] summary:after{transform:rotate(-135deg);margin-top:4px}.mini-faq .faq-item p{margin:12px 0 0}.update-card{display:grid;grid-template-columns:54px 1fr;gap:14px;padding:16px;margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:15px}.update-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:13px;background:#f0edff;font-size:29px}.update-card b,.update-card small{display:block}.update-card small{margin:4px 0;color:var(--muted)}.update-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.privacy-box{padding:32px 28px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.privacy-box .privacy-shield{display:grid;place-items:center;margin-bottom:4px}.privacy-box .shield{font-size:42px}.privacy-box h2{font-size:22px;margin:0;line-height:1.35}.privacy-box p{color:var(--muted);line-height:1.7;margin:0 0 8px;max-width:36ch}.privacy-box .btn.light{background:#fff;color:#314157;border:1px solid #d5dae8;padding:12px 28px;border-radius:12px;display:inline-block}.avatar-a{background:radial-gradient(circle at 50% 38%,#eec1a6 0 44%,#4b352f 46% 58%,#ddd 60%)}.avatar-b{background:radial-gradient(circle at 50% 38%,#7d4c36 0 44%,#171717 46% 58%,#ddd 60%)}.avatar-c{background:radial-gradient(circle at 50% 38%,#eac3ad 0 44%,#2f2929 46% 58%,#ddd 60%)}
@media(max-width:1000px){.split-feature,.home-columns,.info-grid{grid-template-columns:1fr}.home-gallery{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.home-gallery{grid-template-columns:repeat(3,1fr)}.home-steps{grid-template-columns:1fr 1fr}.share-art{height:190px}}
@media(max-width:460px){.home-gallery{grid-template-columns:repeat(2,1fr)}.home-steps{grid-template-columns:1fr 1fr}.home-steps .step{padding:12px}.benefit-box{padding:22px}.section-head{align-items:flex-start;gap:10px}.more{white-space:nowrap}}

/* ===== Supplement: modals, ads, language selector, face image in rank ===== */
.modal{display:none;position:fixed;inset:0;z-index:200;background:rgba(15,23,42,.55);overflow-y:auto}
.modal-content{background:#fff;border-radius:20px;max-width:540px;margin:60px auto;box-shadow:0 24px 64px rgba(0,0,0,.2)}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 18px;border-bottom:1px solid var(--line)}
.modal-header h2{margin:0;font-size:20px}
.modal-header .close{cursor:pointer;font-size:24px;color:var(--muted);line-height:1}
.modal-body{padding:22px 24px 24px}
.modal-body .leaderboard-tabs{display:flex;gap:14px;margin-bottom:16px}
.modal-body .tab-button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;cursor:pointer;font-size:13px;font-weight:700;color:var(--muted)}
.modal-body .tab-button.active{background:var(--purple);border-color:var(--purple);color:#fff}
.leaderboard-content .leaderboard-item{display:grid;grid-template-columns:40px 64px 1fr;gap:10px;align-items:center;background:#fafbfe;border-left:4px solid #6d76ef;border-radius:12px;padding:12px;margin-bottom:10px}
.leaderboard-rank{font-weight:900;text-align:center;font-size:18px;color:#5a5fdd}
.leaderboard-face{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#e2e8f0}
.leaderboard-name{font-weight:700;font-size:15px}
.leaderboard-score{font-size:13px;font-weight:800;color:#5a5fdd}
.leaderboard-time{font-size:11px;color:var(--muted)}
.leaderboard-info{min-width:0;display:flex;flex-direction:column;gap:2px}
.score-preview{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding:16px;background:#f8f9fd;border-radius:14px}
.preview-face-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center}
.ff-bird--preview{width:78px;height:82px}
.ff-bird--preview .ff-bird__face{border-width:3px;width:64%}
.score-display{flex:1}
.score-label{font-size:13px;color:var(--muted)}
.score-value{display:block;font-size:32px;font-weight:900;color:var(--purple)}
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.form-group input[type=text]{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:15px}
.form-actions{display:flex;gap:10px;margin-top:18px}
.save-button{flex:1;padding:13px;background:var(--purple);color:#fff;border:0;border-radius:12px;font-weight:900;cursor:pointer;font-size:15px}
.cancel-button{padding:13px 20px;background:#f1f5f9;color:var(--text);border:0;border-radius:12px;font-weight:700;cursor:pointer}
.data-notice{margin-top:12px;padding:10px;background:#f8f9fa;border-radius:8px;font-size:12px;color:#6c757d;text-align:center;border:1px solid #dee2e6}
.share-preview{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.share-face{width:64px;height:64px;border-radius:50%;object-fit:cover}
.share-info{flex:1}
.share-score{font-size:20px;font-weight:900}
.share-name{color:var(--muted);font-size:14px}
.share-link label{font-size:13px;font-weight:700;display:block;margin-bottom:6px}
.link-container{display:flex;gap:8px;margin-bottom:14px}
.link-container input{flex:1;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:13px}
.copy-button{padding:10px 16px;background:var(--purple);color:#fff;border:0;border-radius:10px;font-weight:700;cursor:pointer;white-space:nowrap}
.share-buttons{display:flex;gap:10px;flex-wrap:wrap}
.share-button{padding:10px 16px;border:0;border-radius:10px;color:#fff;font-weight:700;cursor:pointer}
.share-button.twitter{background:#1da1f2}
.share-button.facebook{background:#1877f2}
.share-button.whatsapp{background:#25d366}
.ad-container{text-align:center;padding:10px;margin:12px 0}
.ad-label{font-size:11px;color:#aaa;margin-bottom:4px}
.language-selector{display:flex;align-items:center;gap:6px;font-size:13px}
.language-selector select{border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:#fff;cursor:pointer}
.face-img-rank{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#e2e8f0;border:2px solid #fff;box-shadow:0 0 0 1px #d7d9e7}
.rank a{color:inherit;text-decoration:none}
.publish-field{margin-bottom:14px}
.publish-field label{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:600;cursor:pointer}
.publish-field input[type=checkbox]{margin-top:2px;width:16px;height:16px}
.support-sm{font-size:11px;color:var(--muted);display:block;margin-top:4px}
.gallery-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.gallery-toolbar input[type=search]{flex:1;min-width:160px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:14px}
.gallery-sort-btn{padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-size:13px;font-weight:700;color:var(--muted)}
.gallery-sort-btn.active{background:var(--purple);border-color:var(--purple);color:#fff}
.face-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}
.loading,.error,.empty-state{padding:24px;text-align:center;color:var(--muted);font-size:15px}

/* ===== Brand logo image ===== */
.brand-logo{width:34px;height:34px;object-fit:contain;flex-shrink:0}

/* ===== Nav alignment fix: menu items always align to center of nav ===== */
.nav{align-items:center}
.menu{align-self:stretch;align-items:stretch;flex:1;justify-content:center;min-width:0}
.menu a{display:flex;align-items:center;padding:0;height:100%;border-bottom:3px solid transparent;padding-bottom:3px;box-sizing:border-box;white-space:nowrap}
.menu a:hover,.menu a.active{color:var(--purple);border-bottom-color:var(--purple)}

/* ===== Language selector (langSelectorMount) ===== */
#langSelectorMount select,.mobile-drawer-lang select{border:1px solid var(--line);background:#fff;padding:9px 13px;border-radius:12px;font-size:12px;cursor:pointer;outline:none;width:100%}
#langSelectorMount select:focus,.mobile-drawer-lang select:focus{border-color:var(--purple)}
/* Remove double border from old wrapper */
#langSelectorMount .language-selector,.mobile-drawer-lang .language-selector{display:contents}
/* Hide stray language-selector appended to header directly (fallback element) */
header > .language-selector{display:none}

@media(max-width:900px){
  #langSelectorMount{display:none!important}
}

/* ===== Mobile chrome: final override (prevent cascade flicker) ===== */
@media (max-width: 900px) {
  .mobile-menu {
    display: inline-flex !important;
    flex-direction: column !important;
  }
  header .menu {
    display: none !important;
  }
}
/* Tab bar always visible */
.ff-tabbar {
  display: flex;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
}
@media (min-width: 901px) {
  .mobile-menu,
  .mobile-drawer,
  .mobile-nav-backdrop {
    display: none !important;
  }
}


/* ===== Face + bird composite (leaderboard / gallery) ===== */
.ff-bird{position:relative;display:inline-block;width:86px;height:90px;flex-shrink:0;isolation:isolate;vertical-align:middle}
.ff-bird__body{position:absolute;left:50%;bottom:14%;width:62%;height:46%;transform:translateX(-50%);border-radius:50%;background:#e09a2e;box-shadow:-20px 6px 0 -14px #d88b25,20px 6px 0 -14px #d88b25;z-index:1}
.ff-bird__belly{position:absolute;left:50%;bottom:16%;width:44%;height:28%;transform:translateX(-50%);border-radius:50%;background:#fff;z-index:2}
.ff-bird__wing{position:absolute;width:20%;height:26%;bottom:30%;border-radius:50% 40%;background:#c47a1f;z-index:0}
.ff-bird__wing--l{left:2%;transform:rotate(-35deg)}
.ff-bird__wing--r{right:2%;transform:rotate(35deg)}
.ff-bird__legs{position:absolute;bottom:4%;left:50%;width:2px;height:12px;background:#4b3629;transform:translateX(-6px);box-shadow:10px 0 0 #4b3629;z-index:1}
.ff-bird__face{position:absolute;top:2%;left:50%;transform:translateX(-50%);width:64%;aspect-ratio:1;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 8px rgba(24,31,84,.2);z-index:3;background:#f5e0b7;display:grid;place-items:center;font-size:clamp(14px,40%,28px);line-height:1;overflow:hidden}
.ff-bird__face--empty{display:grid;place-items:center}
.ff-bird--sm{width:58px;height:62px}
.ff-bird--sm .ff-bird__face{border-width:2px;width:68%;top:0}
.ff-bird--sm .ff-bird__body{height:42%;bottom:12%;width:68%}
.ff-bird--sm .ff-bird__belly{height:24%;bottom:14%;width:48%}
.ff-bird--sm .ff-bird__wing{bottom:26%;width:18%;height:22%}
.ff-bird--sm .ff-bird__legs{height:9px;bottom:2%;box-shadow:8px 0 0 #4b3629}
.ff-bird--lg{width:120px;height:126px}
.ff-bird--xl{width:150px;height:158px}
.ff-bird--xl .ff-bird__face{border-width:4px;width:60%}

.rank-num{font-weight:900;text-align:center;font-size:20px;color:#5a5fdd}
.rank-meta{min-width:0;display:flex;flex-direction:column;gap:2px}
.rank-meta strong{display:block;font-size:16px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-score{display:block;font-size:14px;font-weight:800;color:#5a5fdd}
.rank-meta small{display:block;font-size:12px;color:#8c91a4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.rank .ff-bird{justify-self:center}

.face-visual.bird-bg{display:grid;place-items:center}.face-visual.bird-bg>.ff-bird,.face-visual.bird-bg>.bird-avatar,.share-art.bird-bg>.ff-bird,.share-art.bird-bg>.bird-avatar{position:relative;z-index:2}
.lb-my-rank{display:block;width:calc(100% - 36px);margin:4px 18px 14px;padding:14px 16px;border:0;border-radius:12px;background:linear-gradient(90deg,#6e3bd8,#8a4de8);color:#fff;font-weight:800;font-size:15px;text-align:center;text-decoration:none;box-shadow:0 8px 20px rgba(110,59,216,.28)}
.lb-my-rank:hover{filter:brightness(1.05)}

.legal-updated{margin:0;color:var(--muted);font-size:14px}
.legal-content{max-width:760px}
.legal-section{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:24px 26px;margin-bottom:16px}
.legal-section h2{margin:0 0 14px;font-size:20px}
.legal-section p,.legal-section li{color:var(--muted);line-height:1.75;margin:0 0 12px}
.legal-section p:last-child,.legal-section ul:last-child{margin-bottom:0}
.legal-section ul{margin:0 0 12px;padding-left:1.25em}
.legal-section a{color:#5a5fdd;text-decoration:underline;text-underline-offset:2px}
.legal-back{margin:28px 0 0}
.legal-back-link{color:#5a5fdd;font-weight:800}
