/* ChessDB.cz – nový vzhled v2 · Cloud /cloud/ (Claude Design „ChessDB Cloud“ + „ChessDB Cloud stavy“).
   Archiv 340 | deska | pravý panel (Zápis / Údaje / Kouč / Studovna), okna, stavy a toasty. Šachovnice = chessboard.js 1.0.0
   s figurami chess.com neo a barvami polí z Profilu (--cdb-sq-light / --cdb-sq-dark). */

body.v2-cloud { min-height: 100vh; }
html.v2cl-lock { overflow: hidden; }
.v2cl { --cl-pad: 32px; --cl-gap: 20px; --cl-aw: clamp(272px, 24vw, 340px); --cl-rmin: 360px;
  --cl-gh: max(600px, calc(100vh - 156px));
  --cl-b: min(600px, calc(var(--cl-gh) - 224px), calc(min(100vw, 1600px) - 2 * var(--cl-pad) - 2 * var(--cl-gap) - var(--cl-aw) - var(--cl-rmin) - 20px));
  max-width: 1600px; margin: 0 auto; padding: 0 var(--cl-pad); box-sizing: border-box; color: var(--v2-t); font-family: var(--v2-man); }
.v2cl--guest { --cl-aw: 0px; --cl-gap: 20px; --cl-b: min(600px, calc(var(--cl-gh) - 224px), calc(min(100vw, 1600px) - 2 * var(--cl-pad) - var(--cl-gap) - var(--cl-rmin) - 20px)); }
.v2cl button { font-family: var(--v2-man); }
.v2cl input, .v2cl textarea, .v2cl select, .v2cl-modal input, .v2cl-modal textarea { font-family: var(--v2-man); }
.v2cl input::placeholder, .v2cl textarea::placeholder, .v2cl-modal input::placeholder, .v2cl-modal textarea::placeholder { color: var(--v2-m2); }
.v2cl [hidden], .v2cl-modal [hidden], .v2cl-modal[hidden], .v2cl-promo[hidden] { display: none !important; }

/* ── Horní řádek ── */
.v2cl-top { height: 64px; display: flex; align-items: center; gap: 12px; }
.v2cl-h1 { margin: 0; font-size: 28px; line-height: 1.1; white-space: nowrap; }
.v2cl-cnt { height: 30px; padding: 0 12px; border-radius: 999px; background: rgba(30,41,59,.55); border: 1px solid rgba(255,255,255,.12); color: var(--v2-t); font: 600 13px var(--v2-pop); display: inline-flex; align-items: center; gap: 6px; font-variant-numeric: tabular-nums; white-space: nowrap; box-sizing: border-box; }
.v2cl-cnt .v2i { font-size: 14px; }
.v2cl-cnt.is-free { background: rgba(242,210,60,.12); border-color: rgba(242,210,60,.4); color: var(--v2-acc); }
.v2cl-cnt.is-full { background: rgba(242,210,60,.12); border-color: rgba(242,210,60,.55); color: var(--v2-acc); }
.v2cl-kpill { position: relative; overflow: hidden; height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid rgba(255,164,64,.4); background: rgba(255,164,64,.12); color: #FFC780; font: 800 12.5px var(--v2-man); display: inline-flex; align-items: center; gap: 6px; cursor: pointer; white-space: nowrap; box-sizing: border-box; }
.v2cl-kpill .v2i { font-size: 14px; }
.v2cl-kpill:hover { border-color: rgba(255,164,64,.7); }
.v2cl-kpill.is-lock { background: rgba(30,41,59,.55); border-color: rgba(255,255,255,.12); color: var(--v2-t2); }
.v2cl-kpill.is-out { background: rgba(251,191,36,.1); border-color: rgba(251,191,36,.45); color: #FBBF24; }
.v2cl-kpill__ic { display: inline-flex; }
.v2cl-adm { height: 26px; padding: 0 9px; border-radius: 8px; background: rgba(251,191,36,.12); color: #FBBF24; font: 800 11.5px var(--v2-man); display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.v2cl-adm .v2i { font-size: 13px; }
.v2cl-top__imp { margin-left: auto; }
.v2cl-ro { height: 28px; padding: 0 10px; border-radius: 999px; background: rgba(30,41,59,.55); border: 1px solid rgba(255,255,255,.12); font: 700 12.5px var(--v2-man); color: var(--v2-t2); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; box-sizing: border-box; }
.v2cl-ro .v2i { font-size: 14px; }
.v2cl-top__who { margin-left: auto; font: 600 13px var(--v2-man); color: var(--v2-m); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2cl-top__who b { color: var(--v2-t); font-weight: 700; }

/* tlačítka */
.v2cl-btn2 { height: 40px; padding: 0 14px; border-radius: 13px; background: var(--v2-card); border: 1px solid var(--v2-b2); color: var(--v2-t); font: 800 13.5px var(--v2-man); display: inline-flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer; white-space: nowrap; box-sizing: border-box; text-decoration: none; transition: border-color .14s ease, color .14s ease, background .14s ease; }
.v2cl-btn2 .v2i { font-size: 15px; }
.v2cl-btn2:hover { border-color: rgba(242,210,60,.45); }
.v2cl-btn2:disabled { opacity: .45; cursor: default; border-color: var(--v2-b2); }
.v2cl-btn2--sm { height: 34px; padding: 0 12px; border-radius: 12px; font-size: 12.5px; gap: 6px; }
.v2cl-btn2--sm .v2i { font-size: 14px; }
.v2cl-btn2--lg { height: 48px; font-size: 14px; flex: 1; }
.v2cl-new, .v2cl-pri { height: 40px; padding: 0 16px; border-radius: 999px; border: 0; background: var(--v2-acc); color: var(--v2-on); font: 800 14px var(--v2-man); display: inline-flex; align-items: center; justify-content: center; gap: 7px; box-shadow: 0 6px 14px rgba(242,210,60,.28); cursor: pointer; white-space: nowrap; text-decoration: none; transition: background .14s ease, transform .12s ease; }
.v2cl-new .v2i { font-size: 16px; }
.v2cl-new:hover, .v2cl-pri:hover { background: var(--v2-acc-h); color: var(--v2-on); }
.v2cl-new:active, .v2cl-pri:active { transform: scale(.98); }
.v2cl-pri:disabled { opacity: .55; cursor: default; transform: none; }
.v2cl-pri--sm { height: 44px; font-size: 13.5px; }
.v2cl-pri .v2cl-spin { display: none; }
.v2cl-pri.is-busy .v2cl-spin { display: inline-block; animation: v2cl-rot 1s linear infinite; }
@keyframes v2cl-rot { to { transform: rotate(360deg); } }

/* ── Mřížka ── */
.v2cl-grid { height: var(--cl-gh); padding-bottom: 20px; box-sizing: border-box; display: grid; grid-template-columns: var(--cl-aw) calc(var(--cl-b) + 20px) minmax(var(--cl-rmin), 1fr); gap: var(--cl-gap); }
.v2cl--guest .v2cl-grid { grid-template-columns: calc(var(--cl-b) + 20px) minmax(var(--cl-rmin), 1fr); }
.v2cl-arch, .v2cl-side { min-height: 0; background: var(--v2-card); border: 1px solid var(--v2-b); border-radius: 18px; display: flex; flex-direction: column; overflow: hidden; }

/* ── Archiv ── */
.v2cl-atabs { flex: none; padding: 12px 12px 10px; display: flex; gap: 2px; border-bottom: 1px solid rgba(255,255,255,.06); }
.v2cl-atabs button { flex: auto; white-space: nowrap; height: 34px; padding: 0 6px; border: 0; border-radius: 10px; background: transparent; color: var(--v2-t2); font: 700 12px var(--v2-man); display: flex; align-items: center; justify-content: center; gap: 4px; cursor: pointer; transition: background .14s ease, color .14s ease; }
.v2cl-atabs button .v2i { font-size: 13px; }
.v2cl-atabs button:hover { color: var(--v2-acc); }
.v2cl-atabs button.is-on { background: var(--v2-acc); color: var(--v2-on); }
.v2cl-alist { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.v2cl-af { flex: none; padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.v2cl-search { height: 40px; border-radius: 12px; background: var(--v2-bg); border: 1px solid var(--v2-b2); display: flex; align-items: center; gap: 8px; padding: 0 12px; box-sizing: border-box; transition: border-color .14s ease; }
.v2cl-search:focus-within { border-color: rgba(242,210,60,.45); }
.v2cl-search .v2i { font-size: 15px; color: var(--v2-m2); }
.v2cl-search input { flex: 1; min-width: 0; border: 0; background: transparent; outline: none; color: var(--v2-t); font: 500 13.5px var(--v2-man); padding: 0; height: 100%; }
.v2cl-search input::-webkit-search-cancel-button { filter: invert(.6); }
.v2cl-res { display: flex; gap: 4px; flex-wrap: wrap; }
.v2cl-res button { height: 28px; padding: 0 10px; border-radius: 999px; background: var(--v2-card2); border: 1px solid var(--v2-b2); color: var(--v2-t2); font: 600 12px var(--v2-pop); display: inline-flex; align-items: center; cursor: pointer; }
.v2cl-res button:hover { border-color: rgba(242,210,60,.4); }
.v2cl-res button.is-on { background: rgba(242,210,60,.12); border-color: rgba(242,210,60,.4); color: var(--v2-acc); }
.v2cl-folders { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.v2cl-folders__l { font: 800 11px var(--v2-man); letter-spacing: 1.2px; color: var(--v2-m); margin-right: 2px; text-transform: uppercase; }
.v2cl-fpill { height: 26px; padding: 0 9px; border-radius: 999px; background: var(--v2-card2); border: 1px solid var(--v2-b2); color: var(--v2-t); font: 700 12px var(--v2-man); display: inline-flex; align-items: center; gap: 5px; cursor: pointer; max-width: 100%; box-sizing: border-box; }
.v2cl-fpill:hover { border-color: rgba(242,210,60,.4); }
.v2cl-fpill.is-on { background: rgba(242,210,60,.12); border-color: rgba(242,210,60,.4); }
.v2cl-fpill__d { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.v2cl-fpill__t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 120px; }
.v2cl-fpill__n { color: var(--v2-m); font-variant-numeric: tabular-nums; }
.v2cl-folders.is-edit .v2cl-fpill[data-v2cl-fid]:not([data-v2cl-fid="all"]) { border-style: dashed; border-color: rgba(242,210,60,.55); }
.v2cl-fpill .v2i { font-size: 11px; color: var(--v2-acc); }
.v2cl-fbtn { width: 26px; height: 26px; border-radius: 50%; background: rgba(30,41,59,.55); border: 1px solid rgba(255,255,255,.12); color: var(--v2-t); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; flex: none; }
.v2cl-fbtn .v2i { font-size: 13px; }
.v2cl-fbtn:hover, .v2cl-fbtn.is-on { color: var(--v2-acc); border-color: rgba(242,210,60,.45); }
.v2cl-fhint { flex-basis: 100%; font: 600 11.5px var(--v2-man); color: var(--v2-m); }
.v2cl-items { flex: 1; min-height: 0; overflow-y: auto; padding: 0 8px 8px; scrollbar-width: thin; scrollbar-color: #334155 transparent; }
.v2cl-it { position: relative; padding: 10px; border-radius: 12px; display: flex; gap: 10px; cursor: pointer; outline: none; transition: background .12s ease; }
.v2cl-it:hover { background: rgba(255,255,255,.04); }
.v2cl-it:focus-visible { box-shadow: inset 0 0 0 2px var(--v2-acc); }
.v2cl-it.is-cur { background: rgba(242,210,60,.08); box-shadow: inset 3px 0 0 var(--v2-acc); }
.v2cl-it__r { width: 30px; height: 30px; flex: none; border-radius: 9px; font: 600 11.5px var(--v2-pop); display: flex; align-items: center; justify-content: center; background: rgba(148,163,184,.1); color: var(--v2-m); }
.v2cl-it__r.r-w { color: #4ADE80; background: rgba(74,222,128,.14); }
.v2cl-it__r.r-b { color: #F87171; background: rgba(248,113,113,.14); }
.v2cl-it__r.r-d { color: var(--v2-t2); background: rgba(148,163,184,.14); }
.v2cl-it__r .v2i { font-size: 14px; }
.v2cl-it__m { min-width: 0; flex: 1; }
.v2cl-it__t { font-size: 14px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--v2-t); }
.v2cl-it__p { font-size: 12px; font-weight: 500; color: var(--v2-m); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2cl-it__tags { margin-top: 5px; display: flex; gap: 4px; flex-wrap: wrap; }
.v2cl-it__tags:empty { display: none; }
.v2cl-tag { height: 20px; padding: 0 7px; border-radius: 6px; background: rgba(148,163,184,.14); color: var(--v2-t2); font: 700 11px var(--v2-man); display: inline-flex; align-items: center; gap: 4px; max-width: 100%; box-sizing: border-box; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2cl-tag .v2i { font-size: 11px; flex: none; }
.v2cl-tag--study { background: rgba(242,210,60,.12); color: var(--v2-acc); }
.v2cl-tag--adm { background: rgba(251,191,36,.12); color: #FBBF24; }
.v2cl-it__mb { width: 28px; height: 28px; flex: none; border: 0; border-radius: 8px; background: transparent; color: var(--v2-m); display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.v2cl-it__mb .v2i { font-size: 16px; }
.v2cl-it__mb:hover, .v2cl-it__mb[aria-expanded="true"] { background: rgba(255,255,255,.06); color: var(--v2-t); }
.v2cl-agrp { margin-top: 8px; width: 100%; padding: 10px; border-radius: 12px; border: 1px dashed rgba(251,191,36,.4); background: transparent; font: 700 12.5px var(--v2-man); color: #FBBF24; display: flex; align-items: center; gap: 6px; cursor: pointer; text-align: left; box-sizing: border-box; }
.v2cl-agrp .v2i { font-size: 14px; }
.v2cl-agrp .v2cl-agrp__c { margin-left: auto; transition: transform .16s ease; }
.v2cl-agrp[aria-expanded="true"] .v2cl-agrp__c { transform: rotate(180deg); }
.v2cl-agrp:hover { border-color: rgba(251,191,36,.7); }
.v2cl-afoot { flex: none; padding: 8px 12px; border-top: 1px solid rgba(255,255,255,.06); font: 600 11.5px var(--v2-man); color: var(--v2-m2); min-height: 16px; }
.v2cl-afoot:empty { display: none; }

/* stavy (prázdný, načítání, chyba) */
.v2cl-empty { padding: 24px 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; }
.v2cl-empty > .v2i { font-size: 34px; color: #475569; }
.v2cl-empty__h { font-size: 15px; font-weight: 700; color: var(--v2-t); }
.v2cl-empty__s { font-size: 13px; font-weight: 500; color: var(--v2-m); line-height: 1.45; }
.v2cl-empty__b { margin-top: 6px; display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.v2cl-empty__b .v2cl-pri, .v2cl-empty__b .v2cl-btn2 { height: 40px; font-size: 13px; padding: 0 14px; }
.v2cl-empty__b .v2cl-pri { box-shadow: none; }
.v2cl-sk { display: flex; flex-direction: column; gap: 10px; padding: 4px 2px; }
.v2cl-sk span { height: 52px; border-radius: 12px; background: linear-gradient(90deg, rgba(255,255,255,.07), rgba(255,255,255,.12), rgba(255,255,255,.07)); background-size: 200% 100%; animation: v2cl-sk 1.3s ease-in-out infinite; }
@keyframes v2cl-sk { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
.v2cl-strip { border-radius: 12px; background: rgba(248,113,113,.12); padding: 10px 12px; display: flex; gap: 10px; align-items: center; font: 600 12.5px/1.45 var(--v2-man); color: var(--v2-t); }
.v2cl-strip > .v2i { font-size: 16px; color: var(--v2-loss); flex: none; }
.v2cl-strip--warn { background: rgba(251,191,36,.12); }
.v2cl-strip--warn > .v2i { color: var(--v2-warn); }
.v2cl-strip--info { background: rgba(242,210,60,.1); }
.v2cl-strip--info > .v2i { color: var(--v2-acc); }
.v2cl-strip span { flex: 1; }
.v2cl-strip button { height: 32px; padding: 0 12px; border-radius: 999px; background: var(--v2-card); border: 1px solid var(--v2-b2); color: var(--v2-t); font: 800 12.5px var(--v2-man); cursor: pointer; white-space: nowrap; }

/* statistiky */
.v2cl-astats { flex: 1; min-height: 0; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 12px; scrollbar-width: thin; scrollbar-color: #334155 transparent; }
.v2cl-st { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.v2cl-st > div { background: var(--v2-bg); border-radius: 12px; padding: 12px; }
.v2cl-st b { display: block; font: 600 22px var(--v2-pop); font-variant-numeric: tabular-nums; }
.v2cl-st span { font-size: 12px; font-weight: 600; color: var(--v2-m); }
.v2cl-strow { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 10px; background: var(--v2-bg); color: var(--v2-t); font: 600 13px var(--v2-man); border: 0; width: 100%; text-align: left; cursor: pointer; box-sizing: border-box; }
.v2cl-strow:hover { color: var(--v2-acc); }
.v2cl-strow__t { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2cl-strow__h { font: 500 11.5px var(--v2-pop); color: #FCA5A5; }
.v2cl-strow__c { font: 500 11.5px var(--v2-pop); color: #FCD34D; }
.v2cl-strow__i { font: 500 11.5px var(--v2-pop); color: var(--v2-t2); }
.v2cl-strow .v2i { font-size: 14px; color: var(--v2-m2); }
.v2cl-fine { font: 600 11.5px/1.45 var(--v2-man); color: var(--v2-m2); }

/* ── Editor (deska) ── */
.v2cl-ed { min-height: 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.v2cl-trow { display: flex; align-items: center; gap: 8px; flex: none; }
.v2cl-title { flex: 1; min-width: 0; height: 40px; box-sizing: border-box; border-radius: 12px; background: transparent; border: 1px solid transparent; padding: 0 8px; color: var(--v2-t); font: 600 18px var(--v2-pop) !important; outline: none; transition: border-color .14s ease, background .14s ease; text-overflow: ellipsis; }
.v2cl-title:hover { border-color: var(--v2-b2); }
.v2cl-title:focus { border-color: rgba(242,210,60,.45); background: rgba(15,23,42,.6); }
.v2cl-title[readonly] { border-color: transparent; background: transparent; cursor: default; }
.v2cl-owner { flex: none; max-width: 40%; font: 600 12.5px var(--v2-man); color: var(--v2-m); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2cl-sv { width: 30px; height: 30px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.v2cl-sv .v2i { font-size: 14px; }
.v2cl-sv.s-dirty { background: rgba(251,191,36,.12); color: #FBBF24; }
.v2cl-sv.s-saving { background: rgba(148,163,184,.14); color: var(--v2-t2); }
.v2cl-sv.s-saving .v2i { animation: v2cl-rot 1s linear infinite; }
.v2cl-sv.s-saved { background: rgba(74,222,128,.14); color: #4ADE80; }
.v2cl-sv.s-err { background: rgba(248,113,113,.14); color: #FCA5A5; }
.v2cl-sv.s-lock { background: rgba(242,210,60,.12); color: var(--v2-acc); }
.v2cl-save { height: 40px; padding: 0 16px; border-radius: 999px; border: 0; background: var(--v2-acc); color: var(--v2-on); font: 800 14px var(--v2-man); display: inline-flex; align-items: center; gap: 7px; cursor: pointer; white-space: nowrap; flex: none; transition: background .14s ease, opacity .14s ease; box-sizing: border-box; }
.v2cl-save .v2i { font-size: 15px; }
.v2cl-save:hover { background: var(--v2-acc-h); }
.v2cl-save .v2cl-save__l, .v2cl-save .v2cl-save__w { display: none; }
.v2cl-save.is-lock { background: rgba(242,210,60,.12); color: var(--v2-acc); border: 1px solid rgba(242,210,60,.5); }
.v2cl-save.is-lock .v2cl-save__i { display: none; }
.v2cl-save.is-lock .v2cl-save__l { display: inline-block; }
.v2cl-save.is-busy { opacity: .6; cursor: default; }
.v2cl-save.is-busy .v2cl-save__i { display: none; }
.v2cl-save.is-busy .v2cl-save__w { display: inline-block; animation: v2cl-rot 1s linear infinite; }
.v2cl-save.is-clean:not(.is-lock) { opacity: .5; }
.v2cl-circ { font-size: 17px; }
.v2cl-pbar { height: 30px; display: flex; align-items: center; gap: 8px; font: 700 13.5px var(--v2-man); color: var(--v2-t); flex: none; min-width: 0; }
.v2cl-pbar__sq { width: 10px; height: 10px; border-radius: 3px; flex: none; box-sizing: border-box; }
.v2cl-pbar.is-b .v2cl-pbar__sq { background: #111927; border: 1px solid rgba(255,255,255,.35); }
.v2cl-pbar.is-w .v2cl-pbar__sq { background: #E2E8F0; }
.v2cl-pbar__n { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.v2cl-pbar__n.is-ph { color: var(--v2-m2); font-weight: 600; }
.v2cl-pbar__e { font-weight: 500; color: var(--v2-m); font-variant-numeric: tabular-nums; flex: none; }
.v2cl-pbar__t { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--v2-m); flex: none; white-space: nowrap; }
.v2cl-pbar__t.is-end { color: var(--v2-acc); }

/* šachovnice */
.v2cl-bwrap { position: relative; width: var(--cl-b); height: var(--cl-b); flex: none; align-self: flex-start; }
.v2cl-board { width: calc(var(--cl-b) + 1px); position: relative; touch-action: none; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }   /* tah prstem: deska stránku neposouvá */
.v2cl-board .chessboard-63f37 { position: relative; }
.v2cl-board .board-b72b1 { border: 0 !important; border-radius: 8px; overflow: hidden; box-sizing: content-box; }
.v2cl-board .square-55d63 { transition: none; }
.v2cl-board .white-1e1d7 { background-color: var(--cdb-sq-light, #F2D23D); color: var(--cdb-sq-dark, #8B949E); }
.v2cl-board .black-3c85d { background-color: var(--cdb-sq-dark, #8B949E); color: var(--cdb-sq-light, #F2D23D); }
.v2cl-board .white-1e1d7.v2cl-lm { background-color: #D9A21B; }   /* poslední tah jako v Přehrávači v2 */
.v2cl-board .black-3c85d.v2cl-lm { background-color: #D9C45E; }
.v2cl-board .square-55d63.v2cl-chk { background-image: radial-gradient(circle, rgba(248,113,113,.95) 0%, rgba(248,113,113,.55) 38%, rgba(248,113,113,0) 70%); }
.v2cl-board .square-55d63.v2cl-tgt { box-shadow: inset 0 0 0 2px rgba(17,25,39,.7), inset 0 0 0 4px #F2D23C; }
.v2cl-board .highlight1-32417, .v2cl-board .highlight2-9c5d2 { box-shadow: inset 0 0 0 2px rgba(17,25,39,.7), inset 0 0 0 4px #F2D23C; }
.v2cl-board .notation-322f9 { font: 800 12px var(--v2-man); line-height: 1; cursor: default; }
.v2cl-board .alpha-d2270 { bottom: 2px; right: 4px; }
.v2cl-board .numeric-fc462 { top: 3px; left: 4px; }
.v2cl-board img.piece-417db { display: block; }
body > img.piece-417db { z-index: 9000; pointer-events: none; filter: drop-shadow(0 6px 10px rgba(2,6,23,.45)); }
.v2cl-arrows { position: absolute; left: 0; top: 0; pointer-events: none; z-index: 4; overflow: visible; opacity: .9; filter: drop-shadow(0 0 1.5px rgba(17,25,39,.95)) drop-shadow(0 0 1px rgba(17,25,39,.8)); }
.v2cl-bwrap.is-preview .board-b72b1 { box-shadow: 0 0 0 2px rgba(242,210,60,.55); }
.v2cl-promo { position: absolute; z-index: 20; background: var(--v2-card); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 6px; display: flex; flex-direction: column; gap: 4px; box-shadow: 0 20px 50px rgba(2,6,23,.6); }
.v2cl-promo button { width: 48px; height: 48px; border-radius: 10px; background: var(--v2-card2); border: 0; padding: 4px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.v2cl-promo button:first-child { background: rgba(242,210,60,.2); }
.v2cl-promo button:hover, .v2cl-promo button:focus-visible { background: rgba(242,210,60,.32); }
.v2cl-promo img { width: 40px; height: 40px; display: block; }
.v2cl-ctrl { display: flex; align-items: center; gap: 6px; flex: none; }
.v2cl-ctrl__sp { margin-left: auto; }
.v2cl-nav { border-radius: 50%; background: rgba(30,41,59,.55); border: 1px solid rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.14); color: var(--v2-t); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; flex: none; transition: color .14s ease, border-color .14s ease; }
.v2cl-nav .v2i { font-size: 18px; }
.v2cl-nav:hover { color: var(--v2-acc); border-color: rgba(242,210,60,.45); }
.v2cl-nav:disabled { opacity: .4; cursor: default; color: var(--v2-t); border-color: rgba(255,255,255,.12); }
.v2cl-nav--s { width: 40px; height: 40px; }
.v2cl-nav--m { width: 44px; height: 44px; }
.v2cl-nav--t { width: 36px; height: 36px; color: var(--v2-t2); }
.v2cl-nav--t .v2i { font-size: 15px; }
.v2cl-nav--play { width: 48px; height: 48px; background: var(--v2-acc); border: 0; color: var(--v2-on); box-shadow: 0 6px 14px rgba(242,210,60,.28); }
.v2cl-nav--play:hover { color: var(--v2-on); background: var(--v2-acc-h); }
.v2cl-nav--play:disabled { color: var(--v2-on); }
.v2cl-nav--play .v2cl-play__s { display: none; }
.v2cl-nav--play.is-on .v2cl-play__s { display: inline-block; }
.v2cl-nav--play.is-on .v2cl-play__p { display: none; }
.v2cl-hint { font: 600 11.5px var(--v2-man); color: var(--v2-m2); flex: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ── Pravý panel ── */
.v2cl-rtabs { flex: none; padding: 12px; display: flex; gap: 2px; border-bottom: 1px solid rgba(255,255,255,.06); }
.v2cl-rtabs button { flex: 1; height: 34px; border: 0; border-radius: 10px; background: transparent; color: var(--v2-t2); font: 700 12.5px var(--v2-man); display: flex; align-items: center; justify-content: center; gap: 5px; cursor: pointer; white-space: nowrap; padding: 0 6px; transition: background .14s ease, color .14s ease; }
.v2cl-rtabs button .v2i { font-size: 14px; }
.v2cl-rtabs button:hover { color: var(--v2-acc); }
.v2cl-rtabs button.is-on { background: var(--v2-acc); color: var(--v2-on); }
.v2cl-pane { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.v2cl-tree { flex: 1; min-height: 0; overflow-y: auto; padding: 12px 14px; scrollbar-width: thin; scrollbar-color: #334155 transparent; display: flex; flex-direction: column; gap: 4px; }
.v2cl-ln { display: flex; flex-wrap: wrap; gap: 2px; align-items: center; font: 500 14px/1.7 var(--v2-pop); font-variant-numeric: tabular-nums; }
.v2cl-ln.d1 { padding-left: 12px; border-left: 2px solid rgba(255,255,255,.12); }
.v2cl-ln.d2 { padding-left: 24px; border-left: 2px solid rgba(242,210,60,.3); }
.v2cl-ln.d3 { padding-left: 36px; border-left: 2px solid rgba(96,165,250,.35); }
.v2cl-ln.d4 { padding-left: 48px; border-left: 2px solid rgba(74,222,128,.3); }
.v2cl-pr { display: inline-flex; align-items: center; white-space: nowrap; }   /* číslo tahu se od tahu neodtrhne */
.v2cl-n { padding: 0 2px 0 6px; color: var(--v2-m2); font-weight: 400; }
.v2cl-mv { padding: 0 6px; border-radius: 999px; background: transparent; color: var(--v2-t); font: 500 14px/1.7 var(--v2-pop); border: 0; cursor: pointer; font-variant-numeric: tabular-nums; }
.v2cl-ln:not(.d0) .v2cl-mv { color: var(--v2-t2); }
.v2cl-mv:hover { background: rgba(255,255,255,.07); }
.v2cl-mv.is-cur { background: var(--v2-acc); color: var(--v2-on) !important; }
.v2cl-mv .q { margin-left: 1px; font-weight: 600; }
.v2cl-mv .q-b { color: #F87171; }
.v2cl-mv .q-m { color: #FBBF24; }
.v2cl-mv .q-i { color: var(--v2-m); }
.v2cl-mv.is-cur .q { color: inherit; }
.v2cl-c { flex-basis: 100%; padding: 2px 6px; font: italic 500 13px/1.5 var(--v2-man); color: var(--v2-m); white-space: pre-wrap; overflow-wrap: anywhere; }
.v2cl-res-end { padding: 0 6px; font: 600 13px/1.7 var(--v2-pop); color: var(--v2-m); }
.v2cl-tree .v2cl-empty { flex: 1; }
.v2cl-cmt { flex: none; padding: 12px 14px; border-top: 1px solid rgba(255,255,255,.06); display: flex; flex-direction: column; gap: 8px; }
.v2cl-cmt__h { display: flex; align-items: center; gap: 8px; min-height: 22px; }
.v2cl-cmt__mv { height: 22px; padding: 0 8px; border-radius: 999px; background: var(--v2-acc); color: var(--v2-on); font: 600 12px var(--v2-pop); display: inline-flex; align-items: center; }
.v2cl-cmt__mv:empty { display: none; }
.v2cl-cmt__note { margin-left: auto; font: 600 11.5px var(--v2-man); color: var(--v2-m2); }
.v2cl-cmt__ta { height: 64px; resize: none; border-radius: 12px; background: var(--v2-bg); border: 1px solid var(--v2-b2); padding: 10px 12px; color: var(--v2-t); font: 500 13.5px/1.45 var(--v2-man); outline: none; box-sizing: border-box; }
.v2cl-cmt__ta:focus { border-color: rgba(242,210,60,.45); }
.v2cl-cmt__ta:disabled { opacity: .5; }
.v2cl-cmt__b { display: flex; gap: 6px; flex-wrap: wrap; }
.v2cl-btn2.is-armed { border-color: rgba(242,210,60,.6); color: var(--v2-acc); background: rgba(242,210,60,.1); }

/* Údaje */
.v2cl-pane--info { overflow-y: auto; padding: 16px; gap: 10px; }
.v2cl-tags { display: grid; grid-template-columns: minmax(0,1fr) 110px; gap: 8px; }
.v2cl-f { display: flex; flex-direction: column; gap: 4px; font: 800 11.5px var(--v2-man); color: var(--v2-m); }
.v2cl-f input, .v2cl-f select, .v2cl-f textarea { height: 38px; box-sizing: border-box; border-radius: 10px; background: var(--v2-bg); border: 1px solid var(--v2-b2); padding: 0 10px; color: var(--v2-t); font: 500 13.5px var(--v2-man); outline: none; width: 100%; }
.v2cl-f select { appearance: none; -webkit-appearance: none; background-image: linear-gradient(45deg, transparent 50%, #94A3B8 50%), linear-gradient(135deg, #94A3B8 50%, transparent 50%); background-position: calc(100% - 15px) 16px, calc(100% - 10px) 16px; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 24px; cursor: pointer; }
.v2cl-f select option { background: var(--v2-card); color: var(--v2-t); }
.v2cl-f input:focus, .v2cl-f select:focus { border-color: rgba(242,210,60,.45); }
.v2cl-f input:disabled, .v2cl-f select:disabled { opacity: .6; cursor: default; }
.v2cl-f--pgn { grid-column: 1 / -1; }
.v2cl-f textarea { height: auto; min-height: 120px; resize: vertical; padding: 8px 10px; color: var(--v2-t2); font: 500 12.5px/1.5 var(--v2-pop); }
.v2cl-info__note { margin: 0; font: 600 12px/1.45 var(--v2-man); color: var(--v2-m); }
.v2cl-info__row { display: flex; gap: 8px; flex-wrap: wrap; }

/* Kouč */
.v2cl-pane--coach { overflow-y: auto; padding: 14px; gap: 12px; scrollbar-width: thin; scrollbar-color: #334155 transparent; }
.v2cl-run { position: relative; flex: none; height: 200px; border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: rgba(15,23,42,.35); }
.v2cl-run__b1, .v2cl-run__b2 { position: absolute; width: 140px; height: 140px; border-radius: 50%; filter: blur(50px); }
.v2cl-run__b1 { left: 30px; top: 20px; background: #F2D23C; opacity: .25; animation: v2cl-float 6s ease-in-out infinite; }
.v2cl-run__b2 { right: 30px; top: 50px; background: #6078B4; opacity: .3; animation: v2cl-float 7s ease-in-out infinite reverse; }
@keyframes v2cl-float { 50% { transform: translate(18px, -10px); } }
.v2cl-run__h { position: relative; font: 500 16px var(--v2-pop); color: var(--v2-acc); }
.v2cl-run__bar { position: relative; width: 240px; height: 6px; border-radius: 999px; background: #334155; overflow: hidden; }
.v2cl-run__bar i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 999px; background: var(--v2-acc); transition: width .3s ease; }
.v2cl-run__m { position: relative; font: 600 12.5px var(--v2-man); color: var(--v2-m); font-variant-numeric: tabular-nums; }
.v2cl-note { font: 600 12.5px/1.5 var(--v2-man); color: var(--v2-m); margin: 0; }
.v2cl-ktiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.v2cl-ktiles > div { background: var(--v2-bg); border-radius: 12px; padding: 10px 12px; min-width: 0; }
.v2cl-ktiles span { display: block; font: 800 11px var(--v2-man); letter-spacing: 1.2px; color: var(--v2-m); text-transform: uppercase; }
.v2cl-ktiles b { display: block; margin-top: 2px; font: 600 15px var(--v2-pop); color: var(--v2-t); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2cl-ksum { background: var(--v2-card2); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 12px; }
.v2cl-ksum__h { display: flex; align-items: center; gap: 6px; font: 800 12px var(--v2-man); color: var(--v2-acc); }
.v2cl-ksum__h .v2i { font-size: 13px; }
.v2cl-ksum p { margin: 6px 0 0; font: 500 13.5px/1.55 var(--v2-man); color: var(--v2-t); white-space: pre-line; }
.v2cl-ksum__m { margin-top: 6px; font: 600 11.5px var(--v2-man); color: var(--v2-m2); }
.v2cl-kgraph { flex: none; height: 52px; border-radius: 12px; background: var(--v2-bg); overflow: hidden; cursor: pointer; }
.v2cl-kgraph svg { display: block; width: 100%; height: 52px; }
.v2cl-klbl { font: 800 12px var(--v2-man); letter-spacing: 1.2px; color: var(--v2-m); text-transform: uppercase; }
.v2cl-mom { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 8px 10px; border-radius: 10px; background: var(--v2-bg); font: 600 13px var(--v2-man); color: var(--v2-t); border: 0; cursor: pointer; width: 100%; text-align: left; box-sizing: border-box; }
.v2cl-mom:hover { background: rgba(242,210,60,.06); }
.v2cl-mom.is-on { background: rgba(242,210,60,.08); box-shadow: inset 3px 0 0 var(--v2-acc); }
.v2cl-mom__mv { font: 600 13px var(--v2-pop); }
.v2cl-kind { height: 20px; padding: 0 7px; border-radius: 6px; font: 800 11px var(--v2-man); display: inline-flex; align-items: center; background: rgba(148,163,184,.14); color: var(--v2-t2); }
.v2cl-kind.k-blunder { background: rgba(248,113,113,.14); color: #FCA5A5; }
.v2cl-kind.k-mistake { background: rgba(251,191,36,.14); color: #FBBF24; }
.v2cl-mom__b { margin-left: auto; color: var(--v2-m); white-space: nowrap; }
.v2cl-mom__x { flex-basis: 100%; font: 500 12.5px/1.45 var(--v2-man); color: var(--v2-m); }
.v2cl-gate { margin-top: 20px; background: var(--v2-bg); border: 1px solid rgba(242,210,60,.35); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.v2cl-gate.is-out { border-color: rgba(251,191,36,.35); }
.v2cl-gate.is-idle { margin-top: 0; border-color: var(--v2-b2); }
.v2cl-gate__ic { width: 40px; height: 40px; border-radius: 12px; background: rgba(242,210,60,.12); color: var(--v2-acc); display: flex; align-items: center; justify-content: center; }
.v2cl-gate__ic .v2i { font-size: 19px; }
.v2cl-gate.is-out .v2cl-gate__ic { background: rgba(251,191,36,.12); color: #FBBF24; }
.v2cl-gate__h { font-size: 17px; font-weight: 800; color: var(--v2-t); }
.v2cl-gate__p { margin: 0; font: 500 14px/1.5 var(--v2-man); color: var(--v2-m); }
.v2cl-gate__cta { align-self: flex-start; height: 44px; padding: 0 20px; border-radius: 999px; background: var(--v2-acc); color: var(--v2-on) !important; font: 800 14px var(--v2-man); display: inline-flex; align-items: center; gap: 7px; text-decoration: none !important; border: 0; cursor: pointer; }
.v2cl-gate__cta:hover { background: var(--v2-acc-h); }
.v2cl-gate__cta:disabled { opacity: .5; cursor: default; }
.v2cl-gate__cta .v2i { font-size: 16px; }
.v2cl-gate .v2cl-btn2 { align-self: flex-start; }
.v2cl-gate__cta.v2-ai { height: 44px; padding: 0 20px; font-size: 14px; gap: 7px; box-shadow: 0 6px 18px rgba(255,164,64,.32); }
.v2cl-gate__cta.v2-ai::before { inset: -30%; filter: blur(14px); -webkit-clip-path: inset(18.75% round 999px); clip-path: inset(18.75% round 999px); }

/* Studovna */
.v2cl-pane--study { padding: 14px; gap: 10px; overflow: hidden; }
.v2cl-sstrip { flex: none; border-radius: 12px; background: rgba(242,210,60,.1); padding: 10px 12px; display: flex; align-items: center; gap: 8px; font: 600 12.5px var(--v2-man); color: var(--v2-t); }
.v2cl-sstrip > .v2i { font-size: 15px; color: var(--v2-acc); flex: none; }
.v2cl-sstrip span { flex: 1; min-width: 0; }
.v2cl-sstrip em { font-style: normal; color: var(--v2-m); white-space: nowrap; }
.v2cl-seg { display: flex; gap: 4px; padding: 3px; border-radius: 12px; background: var(--v2-seg); flex: none; }
.v2cl-seg button { flex: 1; height: 30px; border-radius: 9px; border: 0; background: transparent; color: var(--v2-t2); font: 700 12.5px var(--v2-man); cursor: pointer; white-space: nowrap; }
.v2cl-seg button:hover { color: var(--v2-acc); }
.v2cl-seg button.is-on { background: var(--v2-acc); color: var(--v2-on); }
.v2cl-sort { display: flex; gap: 6px; font: 700 12px var(--v2-man); color: var(--v2-m); flex: none; align-items: center; }
.v2cl-sort button { border: 0; background: none; padding: 0; color: var(--v2-m); font: inherit; cursor: pointer; }
.v2cl-sort button.is-on { color: var(--v2-acc); }
.v2cl-feed { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; scrollbar-width: thin; scrollbar-color: #334155 transparent; }
.v2cl-sg { background: var(--v2-bg); border-radius: 12px; padding: 10px 12px; display: flex; gap: 10px; align-items: flex-start; }
.v2cl-sg__mv { height: 26px; padding: 0 9px; border-radius: 999px; background: rgba(242,210,60,.14); color: var(--v2-acc); font: 600 13px var(--v2-pop); display: inline-flex; align-items: center; cursor: pointer; border: 0; white-space: nowrap; flex: none; }
.v2cl-sg__mv:hover { background: rgba(242,210,60,.24); }
.v2cl-sg__b { flex: 1; min-width: 0; }
.v2cl-sg__t { font: 500 13px/1.45 var(--v2-man); color: var(--v2-t2); white-space: pre-wrap; overflow-wrap: anywhere; }
.v2cl-sg__a { font: 600 11.5px var(--v2-man); color: var(--v2-m2); }
.v2cl-vote { height: 28px; padding: 0 9px; border-radius: 999px; background: var(--v2-card); border: 1px solid var(--v2-b2); color: var(--v2-t2); font: 700 12px var(--v2-man); display: inline-flex; align-items: center; gap: 4px; cursor: pointer; flex: none; }
.v2cl-vote .v2i { font-size: 12px; }
.v2cl-vote[aria-pressed="true"] { background: rgba(242,210,60,.12); border-color: rgba(242,210,60,.4); color: var(--v2-acc); }
.v2cl-vote:disabled { cursor: default; opacity: .7; }
.v2cl-sum { background: var(--v2-bg); border-radius: 12px; padding: 10px 12px; display: flex; align-items: center; gap: 10px; }
.v2cl-sum__m { flex: 1; min-width: 0; font: 600 12px var(--v2-man); color: var(--v2-m); }
.v2cl-sum__n { font: 700 12px var(--v2-man); color: var(--v2-t2); white-space: nowrap; }
.v2cl-compose { flex: none; display: flex; flex-direction: column; gap: 6px; margin-top: auto; }
.v2cl-compose__r { display: flex; gap: 8px; }
.v2cl-compose input { flex: 1; min-width: 0; height: 44px; box-sizing: border-box; border-radius: 12px; background: var(--v2-bg); border: 1px solid var(--v2-b2); padding: 0 12px; color: var(--v2-t); font: 500 13.5px var(--v2-man); outline: none; }
.v2cl-compose input:focus { border-color: rgba(242,210,60,.45); }
.v2cl-send { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--v2-acc); color: var(--v2-on); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex: none; padding: 0; }
.v2cl-send .v2i { font-size: 18px; }
.v2cl-send:disabled { opacity: .5; cursor: default; }
.v2cl-compose__h { font: 600 11.5px/1.45 var(--v2-man); color: var(--v2-m2); }
.v2cl-gbox { border-radius: 12px; background: var(--v2-bg); padding: 12px; display: flex; align-items: center; gap: 10px; font: 600 13px var(--v2-man); color: var(--v2-t2); flex: none; margin-top: auto; }
.v2cl-gbox > .v2i { font-size: 16px; color: var(--v2-acc); flex: none; }
.v2cl-gbox span { flex: 1; }
.v2cl-gbox a { font-weight: 800; color: var(--v2-acc); text-decoration: none; }
.v2cl-gbox a:hover { color: var(--v2-acc-h); }
.v2cl-sstate { margin-top: 6px; }

/* ── Plovoucí menu (export, partie) ── */
.v2cl-menu { position: fixed; z-index: 9500; min-width: 220px; max-width: 300px; background: var(--v2-card); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 6px; box-shadow: 0 20px 50px rgba(2,6,23,.6); font-family: var(--v2-man); }
.v2cl-menu button { width: 100%; min-height: 36px; padding: 6px 10px; border: 0; border-radius: 10px; background: transparent; color: var(--v2-t); font: 700 13px var(--v2-man); display: flex; align-items: center; gap: 9px; cursor: pointer; text-align: left; box-sizing: border-box; }
.v2cl-menu button .v2i { font-size: 15px; color: var(--v2-m); flex: none; }
.v2cl-menu button:hover, .v2cl-menu button:focus-visible { background: rgba(255,255,255,.06); outline: none; }
.v2cl-menu button.is-danger { color: #FCA5A5; }
.v2cl-menu button.is-danger .v2i { color: #FCA5A5; }
.v2cl-menu button[aria-checked="true"] { color: var(--v2-acc); }
.v2cl-menu__sep { height: 1px; margin: 4px 6px; background: rgba(255,255,255,.07); }
.v2cl-menu__l { padding: 6px 10px 2px; font: 800 10.5px var(--v2-man); letter-spacing: 1.2px; color: var(--v2-m2); text-transform: uppercase; }
.v2cl-menu__d { width: 9px; height: 9px; border-radius: 50%; flex: none; margin: 0 3px; }

/* ── Okna ── */
.v2cl-modal { position: fixed; inset: 0; z-index: 9000; display: flex; align-items: flex-start; justify-content: center; padding: 120px 16px 24px; box-sizing: border-box; overflow-y: auto; font-family: var(--v2-man); color: var(--v2-t); }
.v2cl-modal__bg { position: fixed; inset: 0; background: rgba(15,23,42,.75); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.v2cl-modal__box { position: relative; width: 480px; max-width: 100%; box-sizing: border-box; background: var(--v2-card); border: 1px solid var(--v2-b); border-radius: 18px; padding: 28px; box-shadow: 0 32px 80px rgba(0,0,0,.6); }
.v2cl-modal__box--share { width: 500px; }
.v2cl-modal__box--folder, .v2cl-modal__box--confirm { width: 420px; }
.v2cl-modal__x { position: absolute; top: 18px; right: 18px; }
.v2cl-modal__h { margin: 0; padding-right: 48px; font-size: 26px; line-height: 1.2; }
.v2cl-modal__box--folder .v2cl-modal__h, .v2cl-modal__box--import .v2cl-modal__h { font-size: 24px; }
.v2cl-modal__p { margin: 10px 0 0; font: 500 14px/1.55 var(--v2-man); color: var(--v2-t2); }
.v2cl-modal__fine { margin: 10px 0 0; font: 600 12px/1.45 var(--v2-man); color: var(--v2-m); }
.v2cl-modal__row { margin-top: 18px; display: flex; gap: 8px; align-items: center; }
.v2cl-modal__row .v2cl-pri { margin-left: auto; height: 44px; padding: 0 20px; box-shadow: none; }
.v2cl-ml { margin-top: 16px; font: 800 12px var(--v2-man); letter-spacing: 1.2px; color: var(--v2-m); text-transform: uppercase; }
.v2cl-urlrow { margin-top: 8px; display: flex; gap: 8px; }
.v2cl-url { flex: 1; min-width: 0; height: 42px; border-radius: 12px; background: var(--v2-bg); border: 1px solid var(--v2-b2); padding: 0 12px; display: flex; align-items: center; font: 600 13px var(--v2-man); color: var(--v2-t2); overflow: hidden; white-space: nowrap; box-sizing: border-box; user-select: all; }
.v2cl-url.is-empty { color: var(--v2-m2); user-select: none; }
.v2cl-urlrow .v2cl-btn2 { height: 42px; border-radius: 12px; font-size: 13px; gap: 6px; }
.v2cl-urlrow .v2cl-btn2 .v2i { font-size: 14px; }
.v2cl-urlrow--s .v2cl-url { height: 40px; }
.v2cl-urlrow--s .v2cl-btn2 { height: 40px; padding: 0 12px; }
.v2cl-mwarn { margin-top: 6px; border-radius: 12px; background: rgba(251,191,36,.12); padding: 9px 12px; display: flex; gap: 8px; font: 600 12.5px/1.45 var(--v2-man); }
.v2cl-mwarn .v2i { font-size: 15px; color: #FBBF24; flex: none; margin-top: 1px; }
.v2cl-inv { margin-top: 6px; display: flex; gap: 8px; }
.v2cl-inv input { flex: 1; min-width: 0; height: 42px; box-sizing: border-box; border-radius: 12px; background: var(--v2-bg); border: 1px solid var(--v2-b2); padding: 0 12px; color: var(--v2-t); font: 500 13.5px var(--v2-man); outline: none; }
.v2cl-inv input:focus, .v2cl-mf input:focus, .v2cl-irow input:focus, .v2cl-paste:focus { border-color: rgba(242,210,60,.45); }
.v2cl-inv .v2cl-pri { height: 42px; padding: 0 14px; font-size: 13px; box-shadow: none; }
.v2cl-mnote { margin-top: 6px; font: 600 12px/1.45 var(--v2-man); color: var(--v2-m); }
.v2cl-acc { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; }
.v2cl-acc__r { display: flex; align-items: center; gap: 10px; font: 600 13.5px var(--v2-man); min-width: 0; }
.v2cl-acc__av { width: 28px; height: 28px; border-radius: 50%; background: #334155; font: 600 11px var(--v2-pop); display: flex; align-items: center; justify-content: center; flex: none; text-transform: uppercase; }
.v2cl-acc__n { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2cl-acc__x { margin-left: auto; border: 0; background: none; color: #FCA5A5; font: 700 12.5px var(--v2-man); cursor: pointer; padding: 4px 0; white-space: nowrap; }
.v2cl-acc__x.is-armed { color: #F87171; text-decoration: underline; }
.v2cl-acc__e { font: 600 12.5px var(--v2-man); color: var(--v2-m); }
.v2cl-srow { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.07); display: flex; align-items: center; gap: 12px; }
.v2cl-srow__t { flex: 1; min-width: 0; }
.v2cl-srow__t b { display: block; font-size: 14.5px; font-weight: 700; }
.v2cl-srow__t span { font: 500 12.5px/1.45 var(--v2-man); color: var(--v2-m); }
.v2cl-switch { width: 44px; height: 26px; border-radius: 999px; background: #334155; position: relative; border: 0; cursor: pointer; padding: 0; flex: none; transition: background .16s ease; }
.v2cl-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: left .16s ease; }
.v2cl-switch[aria-checked="true"] { background: var(--v2-acc); }
.v2cl-switch[aria-checked="true"]::after { left: 21px; }
.v2cl-switch:disabled { opacity: .5; cursor: default; }
.v2cl-mf { margin-top: 14px; display: flex; flex-direction: column; gap: 6px; font: 800 12.5px var(--v2-man); color: var(--v2-m); }
.v2cl-mf input { height: 44px; box-sizing: border-box; border-radius: 12px; background: var(--v2-bg); border: 1px solid var(--v2-b2); padding: 0 12px; color: var(--v2-t); font: 500 14px var(--v2-man); outline: none; }
.v2cl-mf__l { margin-top: 12px; font: 800 12.5px var(--v2-man); color: var(--v2-m); }
.v2cl-swatches { margin-top: 6px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.v2cl-swatches button { height: 32px; border-radius: 10px; border: 0; cursor: pointer; outline-offset: 2px; padding: 0; }
.v2cl-swatches button[aria-checked="true"] { outline: 2px solid var(--v2-acc); }
.v2cl-swatches button:focus-visible { outline: 2px solid #fff; }
.v2cl-btn-del { height: 44px; padding: 0 14px; border-radius: 13px; background: transparent; border: 1px solid rgba(248,113,113,.5); color: #FCA5A5; font: 800 13px var(--v2-man); cursor: pointer; }
.v2cl-btn-del:hover, .v2cl-btn-del.is-armed { background: rgba(248,113,113,.14); }
.v2cl-err { margin-top: 10px; border-radius: 12px; background: rgba(248,113,113,.12); padding: 9px 12px; font: 600 12.5px/1.45 var(--v2-man); color: #FCA5A5; }
.v2cl-modal__box--import .v2cl-seg { margin-top: 14px; }
.v2cl-modal__box--import .v2cl-seg button { height: 32px; font-size: 13px; }
.v2cl-ipane { margin-top: 12px; }
.v2cl-irow { display: flex; gap: 8px; }
.v2cl-irow input { flex: 1; min-width: 0; height: 44px; box-sizing: border-box; border-radius: 12px; background: var(--v2-bg); border: 1px solid var(--v2-b2); padding: 0 12px; color: var(--v2-t); font: 500 14px var(--v2-man); outline: none; }
.v2cl-irow .v2cl-pri { box-shadow: none; }
.v2cl-lres { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; }
.v2cl-lres__cap { font: 600 12px var(--v2-man); color: var(--v2-m); }
.v2cl-lres__list { display: flex; flex-direction: column; gap: 6px; max-height: 300px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #334155 transparent; }
.v2cl-lg { padding: 8px 10px; border-radius: 10px; background: var(--v2-bg); display: flex; gap: 8px; font: 600 13px var(--v2-man); color: var(--v2-t); border: 0; cursor: pointer; text-align: left; width: 100%; box-sizing: border-box; align-items: center; }
.v2cl-lg:hover, .v2cl-lg:focus-visible { background: rgba(242,210,60,.08); outline: none; }
.v2cl-lg__p { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2cl-lg__m { font: 500 12px var(--v2-pop); color: var(--v2-m); white-space: nowrap; }
.v2cl-ipane .v2cl-strip { margin-top: 12px; }
.v2cl-drop { border: 1.5px dashed rgba(255,255,255,.18); border-radius: 14px; padding: 22px 16px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font: 500 13.5px/1.45 var(--v2-man); color: var(--v2-t2); cursor: pointer; transition: border-color .14s ease, background .14s ease; }
.v2cl-drop > .v2i { font-size: 26px; color: var(--v2-acc); }
.v2cl-drop b { color: var(--v2-t); }
.v2cl-drop:hover, .v2cl-drop.is-over, .v2cl-drop:focus-visible { border-color: rgba(242,210,60,.6); background: rgba(242,210,60,.05); outline: none; }
.v2cl-drop__s { font: 600 12px var(--v2-man); color: var(--v2-m); }
.v2cl-paste { width: 100%; box-sizing: border-box; min-height: 150px; resize: vertical; border-radius: 12px; background: var(--v2-bg); border: 1px solid var(--v2-b2); padding: 10px 12px; color: var(--v2-t); font: 500 12.5px/1.5 var(--v2-pop); outline: none; }
.v2cl-paste__go { margin-top: 10px; box-shadow: none; }
.v2cl-confirm__ic { width: 44px; height: 44px; border-radius: 12px; background: rgba(248,113,113,.14); color: #F87171; display: flex; align-items: center; justify-content: center; }
.v2cl-confirm__ic .v2i { font-size: 20px; }
.v2cl-confirm__ic.is-warn { background: rgba(251,191,36,.14); color: #FBBF24; }
.v2cl-confirm__h { margin: 12px 0 0; font: 600 22px var(--v2-pop); color: var(--v2-t); }
.v2cl-confirm__p { margin: 6px 0 0; font: 500 14.5px/1.55 var(--v2-man); color: var(--v2-t2); overflow-wrap: anywhere; }
.v2cl-confirm__b { margin-top: 18px; display: flex; gap: 8px; }
.v2cl-cf-ok { flex: 1; height: 48px; border-radius: 999px; border: 0; background: #F87171; color: var(--v2-on); font: 800 14px var(--v2-man); cursor: pointer; }
.v2cl-cf-ok:hover { background: #FCA5A5; }
.v2cl-cf-ok.is-warn { background: var(--v2-acc); }
.v2cl-cf-ok.is-warn:hover { background: var(--v2-acc-h); }
.v2cl-cf-ok:disabled { opacity: .6; cursor: default; }
.v2cl-modal__box--limit .v2-tagchip .v2i { font-size: 13px; }
.v2cl-limit__h { margin-top: 12px; font-size: 28px; }
.v2cl-limit__p { margin: 8px 0 0; font: 500 15px/1.55 var(--v2-man); color: var(--v2-t2); }
.v2cl-limit__s { margin-top: 12px; font: 600 13.5px var(--v2-man); color: var(--v2-m); }
.v2cl-limit__cta { margin-top: 20px; height: 56px; border-radius: 999px; background: var(--v2-acc); color: var(--v2-on) !important; font: 800 16px var(--v2-man); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 14px rgba(242,210,60,.28); text-decoration: none !important; }
.v2cl-limit__cta:hover { background: var(--v2-acc-h); }
.v2cl-limit__no { margin-top: 10px; width: 100%; height: 44px; border-radius: 13px; background: transparent; border: 1px solid var(--v2-b2); color: var(--v2-t2); font: 800 14px var(--v2-man); cursor: pointer; }
.v2cl-limit__no:hover { border-color: rgba(242,210,60,.45); }

/* ── Toasty ── */
.v2cl-toasts { position: fixed; bottom: 24px; right: 24px; z-index: 9600; display: flex; flex-direction: column; gap: 8px; align-items: flex-end; pointer-events: none; max-width: min(420px, calc(100vw - 32px)); }
.v2cl-toast { pointer-events: auto; background: var(--v2-card); border: 1px solid var(--v2-b); border-radius: 12px; padding: 10px 14px; display: flex; gap: 8px; align-items: center; font: 600 13.5px/1.4 var(--v2-man); color: var(--v2-t); box-shadow: 0 12px 30px rgba(2,6,23,.4); animation: v2cl-tin .18s ease-out; }
.v2cl-toast .v2i { font-size: 15px; flex: none; }
.v2cl-toast.t-ok .v2i { color: #4ADE80; }
.v2cl-toast.t-info .v2i { color: var(--v2-t2); }
.v2cl-toast.t-warn .v2i { color: #FBBF24; }
.v2cl-toast.t-err .v2i { color: #F87171; }
.v2cl-toast.is-out { opacity: 0; transform: translateY(4px); transition: opacity .2s ease, transform .2s ease; }
@keyframes v2cl-tin { from { opacity: 0; transform: translateY(6px); } }

/* ── Host bez odkazu (8b) ── */
.v2cl--card { min-height: calc(100vh - 72px - 220px); display: flex; align-items: flex-start; justify-content: center; padding-top: 72px; padding-bottom: 72px; }
.v2cl-gcard { width: 560px; max-width: 100%; box-sizing: border-box; background: var(--v2-card); border-radius: 18px; padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.v2cl-gcard__ic { width: 44px; height: 44px; border-radius: 12px; background: rgba(242,210,60,.12); color: var(--v2-acc); display: flex; align-items: center; justify-content: center; }
.v2cl-gcard__ic .v2i { font-size: 20px; }
.v2cl-gcard__ic.is-err { background: rgba(248,113,113,.14); color: #F87171; }
.v2cl-gcard__h { margin: 0; font: 700 16px/1.4 var(--v2-man); color: var(--v2-t); }
.v2cl-gcard p { margin: 0; font: 500 14px/1.5 var(--v2-man); color: var(--v2-m); }
.v2cl-gcard__cta { align-self: flex-start; margin-top: 4px; height: 44px; padding: 0 18px; border-radius: 999px; background: var(--v2-acc); color: var(--v2-on) !important; font: 800 14px var(--v2-man); display: inline-flex; align-items: center; gap: 8px; text-decoration: none !important; }
.v2cl-gcard__cta .v2i { font-size: 16px; }
.v2cl-gcard__cta:hover { background: var(--v2-acc-h); }

/* ── Užší okna (počítač) ── */
@media (max-width: 1400px) { .v2cl-atabs button .v2i { display: none; } }   /* archiv je užší než 340 px → záložky jen textem */
@media (max-width: 1180px) {
  .v2cl { --cl-pad: 20px; --cl-aw: 0px; --cl-b: min(560px, calc(var(--cl-gh) - 224px), calc(100vw - 2 * var(--cl-pad) - var(--cl-gap) - 340px - 20px)); }
  .v2cl-grid { grid-template-columns: calc(var(--cl-b) + 20px) minmax(320px, 1fr); }
  .v2cl-arch { grid-column: 1 / -1; grid-row: 2; height: 460px; }
  .v2cl-grid { height: auto; grid-template-rows: var(--cl-gh) auto; }
  .v2cl--guest .v2cl-grid { grid-template-rows: var(--cl-gh); }
  .v2cl-top { flex-wrap: wrap; height: auto; min-height: 64px; padding: 10px 0; }
}
/* ── Prvky jen pro mobil (na počítači skryté) ── */
.v2cl-mhead, .v2cl-fab, .v2cl-kpill__s, .v2cl-f--title, .v2cl-fbtn__t { display: none; }
.v2cl-chips { display: contents; }

/* ── Mobil do 760 px (Claude Design „Cloud mobil“, stejný zlom jako sdílená lišta v2-mnav.css):
   archiv a editor se střídají (body.v2cl-varch / body.v2cl-ved), editor má vlastní lištu a ovládání dole, okna jsou spodní listy.
   Doplňující CSS šablony dává do 768 px html i body overflow-x: hidden → html visible, zámek posouvání je na <html>. ── */
@media (max-width: 760px) {
  html.cdb-v2 { overflow: visible; }
  .v2cl { --cl-pad: 16px; max-width: none; padding: 0; }
  .v2cl-grid, .v2cl--guest .v2cl-grid { display: block; height: auto; padding: 0; }
  body.v2cl-varch .v2cl-ed, body.v2cl-varch .v2cl-side, body.v2cl-varch .v2cl-mhead { display: none !important; }
  body.v2cl-ved .v2cl-top, body.v2cl-ved .v2cl-arch, body.v2cl-ved .v2cl-fab, body.v2cl-ved .v2-header, body.v2cl-ved .v2-footer { display: none !important; }

  /* archiv */
  .v2cl-top { height: auto; min-height: 0; padding: 16px 16px 0; flex-wrap: wrap; gap: 8px; }
  .v2cl-h1 { font-size: 28px; }
  .v2cl-cnt { height: 28px; padding: 0 10px; font-size: 12.5px; }
  .v2cl-cnt .v2i { display: none; }
  .v2cl-kpill { margin-left: auto; height: 28px; padding: 0 10px; font-size: 12px; gap: 4px; }
  .v2cl-kpill .v2i { font-size: 12px; }
  .v2cl-kpill__l { display: none; }
  .v2cl-kpill__s { display: inline; }
  .v2cl-adm, .v2cl-top__imp, .v2cl-top .v2cl-new { display: none; }
  .v2cl-arch { height: auto; background: none; border: 0; border-radius: 0; overflow: visible; padding: 10px 16px calc(112px + env(safe-area-inset-bottom, 0px)); }
  .v2cl-atabs { padding: 3px; gap: 2px; border: 0; border-radius: 12px; background: var(--v2-seg); }
  .v2cl-atabs button { flex: 1; height: 34px; border-radius: 9px; font-size: 12px; padding: 0 4px; }
  .v2cl-atabs button .v2i { display: none; }
  .v2cl-alist { display: block; }
  .v2cl-af { padding: 10px 0 0; gap: 10px; }
  .v2cl-search { height: 44px; background: var(--v2-card); }
  .v2cl-search .v2i { font-size: 16px; }
  .v2cl-search input { font-size: 14px; }
  .v2cl-chips { display: flex; gap: 6px; margin: 0 -16px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .v2cl-chips::-webkit-scrollbar { display: none; }
  .v2cl-res, .v2cl-folders, .v2cl-folders.is-edit { display: flex; flex-wrap: nowrap; gap: 6px; flex: none; }
  .v2cl-res button, .v2cl-fpill, .v2cl-fbtn { flex: none; height: 34px; padding: 0 12px; border-radius: 999px; background: var(--v2-card); border: 1px solid var(--v2-b2); color: var(--v2-t); font: 700 12.5px var(--v2-man); gap: 6px; width: auto; }
  .v2cl-res button.is-on, .v2cl-fpill.is-on { background: rgba(242,210,60,.12); border-color: rgba(242,210,60,.4); color: var(--v2-acc); }
  .v2cl-folders__l, .v2cl-fpill[data-v2cl-fid="all"], .v2cl-fhint, .v2cl-fpill__n { display: none; }
  .v2cl-fbtn__t { display: inline; }
  .v2cl-fbtn .v2i { font-size: 14px; }
  .v2cl-items { overflow: visible; padding: 0; margin-top: 10px; display: flex; flex-direction: column; gap: 8px; }
  .v2cl-it { min-height: 64px; box-sizing: border-box; padding: 10px 12px; border-radius: 14px; background: var(--v2-card); align-items: center; }
  .v2cl-it:hover { background: var(--v2-card); }
  .v2cl-it.is-cur { background: #233046; }
  .v2cl-it__r { width: 32px; height: 32px; font-size: 12px; }
  .v2cl-it__t { font-size: 14.5px; }
  .v2cl-it__tags { display: none; }
  .v2cl-it__mb { width: 40px; height: 40px; border-radius: 10px; }
  .v2cl-it__mb .v2i { font-size: 18px; }
  .v2cl-items > .v2cl-empty { background: var(--v2-card); border-radius: 18px; }
  .v2cl-agrp { margin-top: 0; }
  .v2cl-afoot { border: 0; padding: 12px 0 0; }
  .v2cl-astats { padding: 10px 0 0; overflow: visible; }
  .v2cl-fab { display: flex; position: fixed; right: 16px; bottom: calc(28px + env(safe-area-inset-bottom, 0px)); z-index: 60; gap: 8px; }
  .v2cl-fab__imp { width: 52px; height: 52px; border-radius: 50%; background: rgba(30,41,59,.85); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,.12); color: var(--v2-t); display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
  .v2cl-fab__imp .v2i { font-size: 19px; }
  .v2cl-fab__new { height: 52px; padding: 0 20px; border-radius: 999px; border: 0; background: var(--v2-acc); color: var(--v2-on); font: 800 15px var(--v2-man); display: inline-flex; align-items: center; gap: 6px; box-shadow: 0 6px 14px rgba(242,210,60,.28); cursor: pointer; }
  .v2cl-fab__new .v2i { font-size: 17px; }

  /* editor: vlastní lišta */
  body.v2cl-ved .v2cl-mhead { display: flex; }
  .v2cl-mhead { position: sticky; top: 0; z-index: 65; height: 56px; box-sizing: border-box; padding: 0 12px; gap: 8px; align-items: center; background: rgba(17,25,39,.96); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border-bottom: 1px solid var(--v2-b); }
  .v2cl-mhead .v2-circ { font-size: 17px; }
  .v2cl-mhead__b .v2i { font-size: 18px; }
  .v2cl-mhead__t { min-width: 0; flex: 1; }
  .v2cl-mhead__n { font: 600 15px var(--v2-pop); color: var(--v2-t); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .v2cl-mhead__s { font: 700 11.5px var(--v2-man); display: flex; align-items: center; gap: 4px; color: var(--v2-m); white-space: nowrap; overflow: hidden; }
  .v2cl-mhead__s span { overflow: hidden; text-overflow: ellipsis; }
  .v2cl-mhead__s .v2i { font-size: 12px; flex: none; }
  .v2cl-mhead__s.s-dirty, .v2cl-mhead__s.s-new { color: #FBBF24; }
  .v2cl-mhead__s.s-new { color: var(--v2-m); }
  .v2cl-mhead__s.s-saved { color: #4ADE80; }
  .v2cl-mhead__s.s-err { color: #FCA5A5; }
  .v2cl-mhead__s.s-lock { color: var(--v2-acc); }
  .v2cl-mhead__s.s-saving .v2i { animation: v2cl-rot 1s linear infinite; }
  .v2cl-mhead__save { height: 40px; padding: 0 14px; font-size: 13.5px; gap: 6px; }
  .v2cl-mhead__save .v2i { font-size: 14px; }
  .v2cl-ed { gap: 0; }
  .v2cl-trow, .v2cl-hint { display: none; }
  .v2cl-pbar { height: 30px; padding: 0 12px; gap: 6px; font-size: 12.5px; }
  .v2cl-pbar__sq { width: 9px; height: 9px; }
  .v2cl-pbar__t { font-size: 11.5px; }
  .v2cl-bwrap { width: 100%; height: auto; aspect-ratio: 1 / 1; overflow: hidden; }
  .v2cl-board .board-b72b1 { border-radius: 0; }
  .v2cl-board .notation-322f9 { font-size: 10px; }
  .v2cl-ctrl { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; justify-content: center; gap: 8px; padding: 8px 12px calc(10px + env(safe-area-inset-bottom, 0px)); background: rgba(17,25,39,.96); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border-top: 1px solid var(--v2-b); }
  body.v2cl-varch .v2cl-ctrl { display: none; }
  .v2cl-ctrl__sp, .v2cl-nav--t { display: none; }
  .v2cl-nav .v2i { font-size: 19px; }
  .v2cl-nav--s { width: 44px; height: 44px; }
  .v2cl-nav--m { width: 48px; height: 48px; }
  .v2cl-nav--play { width: 56px; height: 56px; }
  .v2cl-side { height: auto; background: none; border: 0; border-radius: 0; overflow: visible; padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  .v2cl-rtabs { margin: 8px 12px 0; padding: 3px; gap: 2px; border: 0; border-radius: 12px; background: var(--v2-seg); }
  .v2cl-rtabs button { height: 32px; border-radius: 9px; font-size: 12px; gap: 4px; padding: 0 2px; }
  .v2cl-rtabs button .v2i { font-size: 13px; }
  .v2cl-pane { flex: none; min-height: 0; overflow: visible !important; }
  .v2cl-tree { overflow: visible; padding: 10px 12px 6px; }
  .v2cl-ln, .v2cl-mv { font-size: 13.5px; line-height: 1.65; }
  .v2cl-cmt { padding: 10px 12px; }
  .v2cl-pane--info { padding: 10px 12px; }
  .v2cl-tags { grid-template-columns: minmax(0,1fr) 80px; gap: 6px; }
  .v2cl-f--title { display: flex; grid-column: 1 / -1; }
  .v2cl-f input, .v2cl-f select { height: 40px; font-size: 14px; }
  .v2cl-pane--coach { padding: 10px 12px; }
  .v2cl-ktiles { gap: 6px; }
  .v2cl-ktiles > div { padding: 6px 10px; border-radius: 10px; background: var(--v2-card); }
  .v2cl-ktiles span { font-size: 10.5px; letter-spacing: 1px; }
  .v2cl-ktiles b { font-size: 13px; }
  .v2cl-kgraph { background: var(--v2-card); }
  .v2cl-mom { background: var(--v2-card); }
  .v2cl-gate { margin-top: 0; background: var(--v2-card); }
  .v2cl-gate:not(.is-idle):not(.is-out) { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; border-radius: 14px; padding: 10px 12px; }
  .v2cl-gate:not(.is-idle):not(.is-out) .v2cl-gate__ic { width: auto; height: auto; background: none; }
  .v2cl-gate:not(.is-idle):not(.is-out) .v2cl-gate__ic .v2i { font-size: 17px; }
  .v2cl-gate:not(.is-idle):not(.is-out) .v2cl-gate__h { flex: 1; font-size: 13px; font-weight: 600; line-height: 1.4; }
  .v2cl-gate:not(.is-idle):not(.is-out) .v2cl-gate__p { display: none; }
  .v2cl-gate:not(.is-idle):not(.is-out) .v2cl-gate__cta { height: 36px; padding: 0 12px; font-size: 12.5px; }
  .v2cl-pane--study { padding: 10px 12px; overflow: visible; }
  .v2cl-feed { overflow: visible; flex: none; }
  .v2cl-sg { background: var(--v2-card); padding: 6px 10px; border-radius: 10px; align-items: center; }
  .v2cl-sg__mv { height: auto; padding: 0 7px; font-size: 12.5px; }
  .v2cl-sg__t { font-size: 12px; }
  .v2cl-sum { background: var(--v2-card); }
  .v2cl-compose input { height: 40px; background: var(--v2-card); }
  .v2cl-send { width: 40px; height: 40px; }
  .v2cl-gbox { background: none; padding: 4px 0; font-size: 12.5px; }
  .v2cl-gbox > .v2i { display: none; }
  .v2cl-empty { padding: 20px 12px; }
  .v2cl-sstrip { flex-wrap: wrap; }

  /* okna jako spodní listy (návrh 5.6 a 5.7) */
  .v2cl-modal { align-items: flex-end; padding: 0; overflow: hidden; }
  .v2cl-modal__box, .v2cl-modal__box--share, .v2cl-modal__box--folder, .v2cl-modal__box--confirm { width: 100%; max-width: none; max-height: 92vh; max-height: 92dvh; overflow-y: auto; overscroll-behavior: contain; border: 0; border-radius: 32px 32px 0 0; padding: 26px 20px calc(30px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -20px 60px rgba(2,6,23,.6); animation: v2cl-up .22s ease-out; }
  .v2cl-modal__box::before { content: ""; position: absolute; top: 10px; left: 50%; width: 40px; height: 5px; margin-left: -20px; border-radius: 999px; background: rgba(255,255,255,.3); }
  .v2cl-modal__x { top: 22px; right: 20px; }
  .v2cl-modal__h, .v2cl-modal__box--folder .v2cl-modal__h, .v2cl-modal__box--import .v2cl-modal__h { font-size: 24px; line-height: 1.25; min-height: 40px; padding-top: 5px; box-sizing: border-box; }
  .v2cl-urlrow .v2cl-url, .v2cl-urlrow .v2cl-btn2, .v2cl-inv input, .v2cl-inv .v2cl-pri { height: 46px; }
  .v2cl-mf input, .v2cl-irow input, .v2cl-irow .v2cl-pri, .v2cl-modal__row .v2cl-pri, .v2cl-btn-del { height: 48px; }
  .v2cl-mf input, .v2cl-irow input { font-size: 15px; }
  .v2cl-swatches button { height: 40px; }
  .v2cl-modal__row .v2cl-pri { flex: 1; }
  .v2cl-modal__box--import .v2cl-seg button { height: 36px; }
  .v2cl-confirm__ic { display: none; }
  .v2cl-confirm__h { margin-top: 4px; padding-right: 48px; font-size: 24px; }
  .v2cl-confirm__b .v2cl-btn2--lg, .v2cl-cf-ok { height: 52px; }
  .v2cl-modal__box--limit .v2-tagchip, .v2cl-limit__no { display: none; }
  .v2cl-limit__h { margin-top: 0; padding-right: 48px; font-size: 24px; }
  .v2cl-menu { max-width: calc(100vw - 16px); }
  .v2cl-toasts { left: 16px; right: 16px; bottom: calc(96px + env(safe-area-inset-bottom, 0px)); max-width: none; align-items: center; }
  @keyframes v2cl-up { from { transform: translateY(40px); opacity: .6; } }
  .v2cl--card { padding: 32px 16px 48px; min-height: 0; }
  /* patička v jednom sloupci (jako úvodní stránka); dole místo pro plovoucí tlačítka */
  .v2-cloud .v2-footer__in { grid-template-columns: 1fr; padding: 28px 20px calc(100px + env(safe-area-inset-bottom, 0px)); gap: 14px; }
  .v2-cloud .v2-footer__col { flex-direction: row; flex-wrap: wrap; gap: 6px 14px; }
  .v2-cloud .v2-footer__col--r { align-items: flex-start; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .v2cl-run__b1, .v2cl-run__b2, .v2cl-sk span { animation: none; }
}
