:root{
  --bg:#F2F4F6;--surface:#FFFFFF;--surface-2:#F2F4F6;--line:#E5E8EB;--ink:#191F28;--muted:#6B7684;
  --accent:#2F6FEB;--accent-soft:#EAF1FE;--up:#E0383E;--up-soft:#FDECEC;--down:#2F6FEB;--down-soft:#EAF1FE;
  --btn:#2F6FEB;--btn-ink:#FFFFFF;--focus:#2F6FEB;--shadow:none;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0F1215;--surface:#161B20;--surface-2:#1F252B;--line:#262D34;--ink:#E8ECEF;--muted:#8B96A1;
  --accent:#4D8DFF;--accent-soft:#132544;--up:#FF6B70;--up-soft:#3A1A1C;--down:#4D8DFF;--down-soft:#132544;
  --btn:#3F7FF5;--btn-ink:#FFFFFF;--focus:#4DA3FF;--shadow:none;color-scheme:dark;}}
:root[data-theme="dark"]{
  --bg:#0F1215;--surface:#161B20;--surface-2:#1F252B;--line:#262D34;--ink:#E8ECEF;--muted:#8B96A1;
  --accent:#4D8DFF;--accent-soft:#132544;--up:#FF6B70;--up-soft:#3A1A1C;--down:#4D8DFF;--down-soft:#132544;
  --btn:#3F7FF5;--btn-ink:#FFFFFF;--focus:#4DA3FF;--shadow:none;color-scheme:dark;}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:'Pretendard Variable',Pretendard,-apple-system,'Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.num{font-variant-numeric:tabular-nums;letter-spacing:-.2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
header.top{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(180%) blur(12px);position:sticky;top:0;z-index:5}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;color:var(--ink)}
.logo svg:not(.brandmark){stroke:var(--accent)}
nav.main{display:flex;gap:24px;font-size:15px}
nav.main a{color:var(--muted)}nav.main a.on{color:var(--ink);font-weight:600}
.tools{display:flex;align-items:center;gap:10px}
.iconbtn{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:14px;border:none;background:var(--btn);color:var(--btn-ink);font:600 16px/1 inherit;font-family:inherit;cursor:pointer;text-decoration:none}
.btn:hover{text-decoration:none;opacity:.92}
.btn.big{min-height:64px;font-size:18px;width:100%}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.go{background:var(--accent);color:#fff}
.pill-btn{border-radius:999px;min-height:40px;padding:0 18px}
.navlink{color:var(--muted);font-size:15px;padding:0 6px}
.btn.small{min-height:40px;padding:0 14px;font-size:14px;border-radius:10px}
.card{background:var(--surface);border:1px solid transparent;border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.muted{color:var(--muted)}.up{color:var(--up)}.down{color:var(--down)}
.pill{display:inline-block;font-size:13px;font-weight:600;padding:5px 12px;border-radius:999px}
.pill.run{background:var(--up-soft);color:var(--up)}.pill.stop{background:var(--surface-2);color:var(--muted)}
.pill.demo{background:var(--accent-soft);color:var(--accent)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.s7{grid-column:span 7}.s5{grid-column:span 5}.s4{grid-column:span 4}.s8{grid-column:span 8}.s6{grid-column:span 6}.s12{grid-column:span 12}
.stack{display:flex;flex-direction:column;gap:16px}
.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.between{justify-content:space-between}
h1,h2,h3{margin:0;letter-spacing:-.3px}
h1{font-size:44px;line-height:1.15}h2{font-size:28px}h3{font-size:18px}
.big-num{font-size:42px;font-weight:600;letter-spacing:-1px}
label.field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
input[type=text],input[type=email],input[type=password]{height:48px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0 14px;font:15px inherit;font-family:inherit}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.seg label{border:1px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:2px;background:var(--surface)}
.seg input{position:absolute;opacity:0}
.seg label:has(input:checked){border:2px solid var(--accent);background:var(--accent-soft);padding:13px}
.seg b{font-size:16px}
.alert{border-radius:14px;padding:12px 16px;font-size:14px;background:var(--accent-soft);color:var(--ink)}
.alert.err{background:var(--down-soft);color:var(--down)}
table.pos{width:100%;border-collapse:collapse;font-size:15px}
table.pos th{font-size:13px;color:var(--muted);font-weight:500;text-align:left;padding:8px 0;border-bottom:1px solid var(--line)}
table.pos td{padding:12px 0;border-bottom:1px solid var(--surface-2)}
.bar{height:8px;width:120px;background:var(--surface-2);border-radius:4px;overflow:hidden;display:inline-block;vertical-align:middle}
.bar i{display:block;height:8px;border-radius:4px}
.metric{display:grid;grid-template-columns:84px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--surface-2)}
.metric .v{font-size:22px;font-weight:600;color:var(--accent)}
.metric b{font-size:14px}.metric p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.feed a.item{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:var(--surface)}
.feed a.item:hover{text-decoration:none;border-color:var(--accent)}
.dark-panel{background:#191F28;color:#F2F4F6;border-radius:20px;padding:24px}
:root[data-theme="dark"] .dark-panel{background:var(--surface-2)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .dark-panel{background:var(--surface-2)}}
.dark-panel .muted{color:#A7B0BC}
footer{border-top:1px solid var(--line);margin-top:64px;padding:32px 0;color:var(--muted);font-size:13px}
dialog{border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);padding:24px;max-width:420px;width:calc(100% - 32px)}
dialog::backdrop{background:rgba(0,0,0,.45)}
.hero{padding:72px 0 40px}
.steps{counter-reset:s}
.step{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:12px 0;border-top:1px solid var(--surface-2)}
.step .n{width:32px;height:32px;border-radius:16px;background:var(--btn);color:var(--btn-ink);display:flex;align-items:center;justify-content:center;font-weight:600}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tabs button{min-height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 14px inherit;font-family:inherit;cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.hide{display:none}
svg.curve{width:100%;height:120px}
.bottomnav{display:none}
@media (max-width:900px){
  .s7,.s5,.s4,.s8,.s6{grid-column:span 12}
  h1{font-size:32px}.big-num{font-size:34px}
  nav.main{display:none}
  .bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);z-index:6}
  .bottomnav a{flex:1;text-align:center;padding:12px 0 16px;font-size:13px;color:var(--muted)}
  .bottomnav a.on{color:var(--ink);font-weight:700}
  body.app main{padding-bottom:80px}
  .seg{grid-template-columns:1fr}
  .hide-m{display:none}
}

/* ---------- landing (reference: large centered headlines, rounded cards, soft sections) ---------- */
.lp h1{font-size:64px;line-height:1.2;font-weight:800;letter-spacing:-1.5px}
.lp h2{font-size:48px;line-height:1.25;font-weight:800;letter-spacing:-1px}
.lp .sub{font-size:22px;color:var(--muted);font-weight:500;margin:0}
.lp section{padding:120px 0}
.lp .center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.lp-hero{background:#0B0E14;color:#fff;min-height:calc(100vh - 64px);display:flex;align-items:center;overflow:hidden;position:relative}
.lp-hero .sub{color:#B0B8C1}
.lp-hero .wrap{position:relative;z-index:2}
.orbits{position:absolute;inset:0;z-index:1;pointer-events:none}
.coin{position:absolute;width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:30px;color:rgba(255,255,255,.92);
  box-shadow:inset -10px -14px 28px rgba(0,0,0,.35),inset 10px 12px 26px rgba(255,255,255,.25),0 30px 60px rgba(0,0,0,.45);animation:float 7s ease-in-out infinite}
.coin.btc{background:radial-gradient(circle at 30% 30%,#FFC76B,#F29B19 55%,#8A4B00);left:9%;top:58%}
.coin.eth{background:radial-gradient(circle at 30% 30%,#B9C3FF,#6A76E8 55%,#2B2F7A);left:24%;top:30%;width:110px;height:110px;font-size:24px;animation-delay:-2s}
.coin.sol{background:radial-gradient(circle at 30% 30%,#9CFFE0,#2FC7A0 50%,#5B2BB8);right:12%;top:52%;animation-delay:-4s}
.coin.usdt{background:radial-gradient(circle at 30% 30%,#9EF0C9,#26A17B 55%,#0B4D39);right:25%;top:24%;width:96px;height:96px;font-size:20px;animation-delay:-1s}
.coin.sig{background:radial-gradient(circle at 30% 30%,#8FB7FF,#2F6FEB 55%,#0E2E78);left:46%;top:74%;width:84px;height:84px;font-size:18px;animation-delay:-3s}
@keyframes float{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-18px) rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.coin{animation:none}}
.lp-hero .btn{border-radius:999px;min-height:56px;padding:0 30px;font-size:17px}
.lp-hero .note{color:#8B95A1;font-size:13px;margin-top:40px}
.prodcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:100%;margin-top:40px}
.pc{border-radius:28px;overflow:hidden;background:var(--surface-2);text-align:left;display:flex;flex-direction:column}
.pc .art{height:220px;display:flex;align-items:center;justify-content:center}
.pc .txt{padding:26px 26px 30px;display:flex;flex-direction:column;gap:10px}
.pc h3{font-size:22px}.pc p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.pc.dark{background:#191F28;color:#fff}.pc.dark p{color:#B0B8C1}
.pc.blue{background:#5B8DEF;color:#fff}.pc.blue p{color:#E6EEFF}
.pc.blue .art{background:#4E82EA}.pc.dark .art{background:#111820}
.lp-soft{background:linear-gradient(180deg,#EAF2FF 0%,#F5F9FF 60%,var(--surface) 100%)}
:root[data-theme="dark"] .lp-soft{background:linear-gradient(180deg,#0F1A2E 0%,#0F1215 100%)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lp-soft{background:linear-gradient(180deg,#0F1A2E 0%,#0F1215 100%)}}
.lp-white{background:var(--surface)}
.phone{width:320px;border-radius:40px;background:var(--surface);border:10px solid #191F28;box-shadow:0 40px 80px rgba(25,31,40,.18);padding:22px 18px;display:flex;flex-direction:column;gap:12px;text-align:left;margin-top:48px}
.phone .mini{background:var(--surface-2);border-radius:16px;padding:14px}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.feature .tag{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;background:var(--surface)}
.feature h2{font-size:40px;margin:18px 0}
.feature p{font-size:19px;line-height:1.7;color:var(--muted);margin:0}
.feature .vis{display:flex;justify-content:center}
.shield{width:260px;height:260px}
.lvl{border-radius:28px;background:var(--surface-2);padding:32px;display:flex;flex-direction:column;gap:10px;text-align:left}
.lvl.on{background:#191F28;color:#fff}.lvl.on .muted{color:#B0B8C1}
.lvl .pct{font-size:44px;font-weight:800;letter-spacing:-1px}
.cta-band{background:#191F28;color:#fff;border-radius:32px;padding:64px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.cta-band .sub{color:#B0B8C1}
@media (max-width:900px){
  .lp h1{font-size:38px}.lp h2{font-size:30px}.lp .sub{font-size:17px}
  .lp section{padding:72px 0}
  .prodcards{grid-template-columns:1fr 1fr}
  .feature{grid-template-columns:1fr;gap:32px}.feature h2{font-size:28px}.feature p{font-size:16px}
  .coin{width:72px;height:72px;font-size:15px;opacity:.9}.coin.eth,.coin.usdt,.coin.sig{display:none}
  .coin.btc{left:6%;top:8%}.coin.sol{right:6%;top:auto;bottom:6%}
  .cta-band{padding:40px 24px}
  .phone{width:280px}
}
@media (max-width:560px){.prodcards{grid-template-columns:1fr}}
/* v4: language menu, charts, leverage, billing */
.langsel{position:relative}
.langsel summary{list-style:none;height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:14px}
.langsel summary::-webkit-details-marker{display:none}
.langmenu{position:absolute;right:0;top:46px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:6px;display:flex;flex-direction:column;min-width:140px;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.langmenu a{padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:14px}
.langmenu a:hover,.langmenu a.on{background:var(--accent-soft)}
.bizinfo{font-size:12px;opacity:.8}
.chartbox{position:relative;width:100%;height:460px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.chartbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tabs.small button{padding:6px 14px;font-size:14px}
.levrow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.levrow label{border:1px solid var(--line);border-radius:12px;padding:10px 0;text-align:center;cursor:pointer;background:var(--surface);font-weight:700}
.levrow input{position:absolute;opacity:0}
.levrow label:has(input:checked){border:2px solid var(--accent);background:var(--accent-soft);padding:9px 0}
.seg.ex{grid-template-columns:repeat(4,minmax(0,1fr))}
.plan .price{font-size:26px;font-weight:800}
.plan .per{font-size:13px}
@media (max-width:720px){.chartbox{height:360px}.seg.ex{grid-template-columns:repeat(2,minmax(0,1fr))}.levrow{grid-template-columns:repeat(3,minmax(0,1fr))}}
.s3{grid-column:span 3}
#pricing .lvl{padding:24px}
#pricing .lvl .pct{font-size:30px}
@media (max-width:1000px){.s3{grid-column:span 6}}
@media (max-width:720px){.s3{grid-column:span 12}}
.sr{position:absolute;opacity:0;width:1px;height:1px}
.badge{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);vertical-align:middle}
.lvl.on .badge{background:rgba(255,255,255,.16);color:#fff}
.pricing[data-period="y"] .pm,.pricing[data-period="m"] .py{display:none}
.pct small{font-size:15px;font-weight:600;opacity:.7;margin-left:2px}
.plancard{gap:8px}
label.plancard{cursor:pointer;border:2px solid transparent}
label.plancard:has(input:checked){border-color:var(--accent)}
.feat{margin:6px 0 4px;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.cmp td,.cmp th{text-align:center}.cmp td:first-child,.cmp th:first-child{text-align:left}
.oscard .here-badge{display:none}
.oscard.here{border:2px solid var(--accent)}
.oscard.here .here-badge{display:inline-block;align-self:flex-start}
.exlinks{display:flex;gap:8px;flex-wrap:wrap}
.pricing .lvl .pct{font-size:32px;white-space:nowrap;letter-spacing:-.5px}
@media (max-width:1100px){.pricing .lvl .pct{font-size:28px}}
.pricing .lvl.s3 .pct{font-size:24px}
.pricing .lvl .pct small{display:inline-block}
@media (max-width:1300px){.pricing .lvl.s3 .pct{font-size:22px;white-space:normal}}
/* v5: market + screener */
.tablink{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:14px;text-decoration:none}
.tablink.on{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.fngbar{position:relative;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--down),#9aa4b2 50%,var(--up))}
.fngbar i{position:absolute;top:-4px;width:4px;height:16px;border-radius:2px;background:var(--ink);transform:translateX(-2px)}
.spark svg{display:block;width:100%;height:28px}
.moverow{padding:6px 0;border-top:1px solid var(--line)}
.moverow:first-of-type{border-top:0}
.newsrow{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
.newsrow:hover span:first-child{text-decoration:underline}
.presets{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}
.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.scr th[data-sort]{cursor:pointer;user-select:none;white-space:nowrap}
.scr th[aria-sort="ascending"]::after{content:" ▲";font-size:10px}
.scr th[aria-sort="descending"]::after{content:" ▼";font-size:10px}
.scr .r{text-align:right}
.scr td,.scr th{white-space:nowrap}
@media (max-width:720px){.newsrow{flex-direction:column;gap:2px}}
input[type=search]{min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:15px}
.gstep{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px;align-items:center}
.gnum{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.gimg{margin:0}
.gimg img{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.08)}
@media (max-width:720px){.gstep{grid-template-columns:1fr;gap:12px}}

.slider{width:100%;accent-color:var(--accent);height:28px;cursor:pointer}
.numinput{flex:1;min-width:0;min-height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}
button.chip{cursor:pointer;font-family:inherit}
.seg.ex{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.seg.ex label{padding:12px 6px;align-items:center;text-align:center}
.chartbox{height:640px}
@media (max-width:720px){.chartbox{height:440px}.seg.ex label{padding:10px 2px}.seg.ex b{font-size:13px}}

.langmenu{max-height:70vh;overflow-y:auto}
[dir="rtl"] .langmenu{right:auto;left:0}
.pricing .lvl .pct{white-space:normal;overflow-wrap:anywhere}
.pricing .lvl .pct small{white-space:nowrap}
.seg.ex label{justify-content:center;min-height:52px}
.seg.ex label:has(input:checked){padding:11px 5px}
@media (max-width:720px){.seg.ex label:has(input:checked){padding:9px 1px}}

/* v5.2: equal-height columns */
.grid.eq{align-items:stretch}
.grid.eq > .stack{min-height:100%}
.fill{flex:1 1 auto}
.sigscroll{max-height:1180px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding-right:4px}
.gtoolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.gtoolbar .sep{width:1px;height:24px;background:var(--line);margin:0 4px}
@media (max-width:720px){.sigscroll{max-height:none;overflow:visible}}
/* v5.3: language picker as a horizontal sub-category bar under the header */
.langsel .langmenu{position:fixed;left:0;right:0;top:var(--hdr-h,65px);min-width:0;max-height:none;border-radius:0;border-left:0;border-right:0;
  flex-direction:row;flex-wrap:nowrap;gap:4px;overflow-x:auto;padding:8px max(16px,calc((100vw - 1160px)/2));box-shadow:0 6px 16px rgba(0,0,0,.08);scrollbar-width:thin}
.langsel .langmenu a{white-space:nowrap;padding:8px 12px;border-radius:999px;flex:0 0 auto}
.langsel .langmenu a.on{background:var(--accent);color:#fff}
[dir="rtl"] .langsel .langmenu{left:0;right:0}
.logo span,.navlink,.tools .btn{white-space:nowrap}
@media (max-width:480px){.tools .pill-btn{display:none}header.top .wrap{gap:8px}.tools{gap:6px}}

/* floating consult buttons (follow the scroll) */
.consult{position:fixed;right:20px;bottom:24px;z-index:40;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.consult-btn{display:flex;align-items:center;gap:8px;height:52px;padding:0 18px 0 14px;border-radius:999px;font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:transform .15s}
.consult-btn:hover{transform:translateY(-2px)}
.consult-btn svg{width:24px;height:24px;fill:currentColor}
.consult-btn.kakao{background:#FEE500;color:#191919}
.consult-btn.tg{background:#229ED9;color:#fff}
[dir="rtl"] .consult{right:auto;left:20px}
@media (max-width:720px){.consult{right:12px;bottom:84px}.consult-btn{width:52px;padding:0;justify-content:center}.consult-btn span{display:none}}
/* mobile bottom nav with icons (v5.4) */
@media (max-width:900px){
  main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .bottomnav{padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 -6px 20px rgba(0,0,0,.06)}
  .bottomnav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0 4px;font-size:11px;font-weight:600;border-radius:14px;min-width:0;-webkit-tap-highlight-color:transparent;transition:color .15s}
  .bottomnav a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .bottomnav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;padding:3px 14px;box-sizing:content-box;border-radius:999px;transition:background .15s,transform .15s}
  .bottomnav a.on{color:var(--accent)}
  .bottomnav a.on svg{background:color-mix(in srgb,var(--accent) 16%,transparent);stroke-width:2.1}
  .bottomnav a:active svg{transform:scale(.9)}
  .bottomnav a.cta{color:var(--accent)}
  .bottomnav a.cta svg{background:var(--accent);stroke:#fff}
  .consult{bottom:calc(92px + env(safe-area-inset-bottom));right:12px}
  .consult-btn{width:52px;padding:0;justify-content:center}.consult-btn span{display:none}
}
/* guest tour */
.tour-hero{background:linear-gradient(135deg,var(--accent-soft),var(--surface))}
.tour-lock{margin-top:auto;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px;border-radius:12px;border:1px dashed var(--line);font-size:13px;color:var(--muted)}
.tour-reg{padding:8px 0;border-bottom:1px solid var(--line)}
.tour-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.tour-links a.card{display:flex;flex-direction:column;gap:4px;color:var(--ink);text-decoration:none;transition:transform .15s}
.tour-links a.card:hover{transform:translateY(-2px)}
.tour-links a.card span{font-size:13px}
.tour-links.locked a.card{opacity:.8;border-style:dashed}
.lp-hero .btn.lp-ghost{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.08)}.lp-hero .btn.lp-ghost:hover{background:rgba(255,255,255,.16)}
/* v5.4.2: language bar fits the screen — 2 rows of 11 on desktop, wraps to more rows on small screens (no side scroll) */
.langsel .langmenu{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:6px;overflow:visible;flex-wrap:wrap;
  padding:10px max(16px,calc((100vw - 1160px)/2))}
.langsel .langmenu a{text-align:center;overflow:hidden;text-overflow:ellipsis;padding:7px 4px;font-size:13px}
@media (max-width:1000px){.langsel .langmenu{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));max-height:calc(100vh - var(--hdr-h,65px) - 90px);overflow-y:auto}}
@media (min-width:1001px){.langsel .langmenu{grid-template-columns:repeat(11,auto);justify-content:space-between;column-gap:4px}
  .langsel .langmenu a{padding:7px 10px}}
.langsel .langmenu a{text-overflow:clip;white-space:nowrap}
@media (max-width:1000px){.langsel .langmenu a{white-space:normal;line-height:1.25}}
/* admin filters */
.filterbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filterbar input[type=search],.filterbar select{height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 10px;font:inherit;font-size:14px}
.filterbar input[type=search]{min-width:220px;flex:1 1 220px}
.btn.danger{color:var(--up);border-color:color-mix(in srgb,var(--up) 40%,var(--line))}
.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:720px){.admin-form{grid-template-columns:1fr}}
label.field select,label.field input[type=number],label.field input[type=datetime-local]{height:48px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0 14px;font:15px inherit;font-family:inherit;color-scheme:light dark}
