/* Author: Nesynov David Viktorovich (Несынов Давид Викторович). (c) 2026 GranaDzyak. All rights reserved. */
/* Грана Диск — стили приложения поверх apps/kit.css. */

.dk-root.k-main { max-width: 1440px; padding: 0 24px 72px; }
.k-top__in { position: relative; max-width: 1440px; }
.dk-root, #dk-selbar, #dk-ups { --dk-fav: #ffbf3c; }

/* ---------- старт ---------- */
.dk-boot { padding: 24px 0; }
.dk-boot__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 22px; }
.dk-boot__grid .k-skel { height: 150px; border-radius: 16px; }

/* ---------- поиск в шапке ---------- */
.dk-search {
  position: relative; display: flex; align-items: center; flex: 1 1 auto; max-width: 560px; margin: 0 auto 0 18px; height: 42px;
}
.dk-search__ic { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: var(--k-muted); pointer-events: none; display: grid; }
.dk-search__ic svg { width: 19px; height: 19px; }
.dk-search__in {
  width: 100%; height: 42px; padding: 0 14px 0 42px; border-radius: 12px; border: 1px solid var(--k-line); background: var(--k-surface-2);
  color: var(--k-text); font-size: 15px; -webkit-appearance: none; appearance: none; transition: border-color .15s, background .15s, box-shadow .15s;
}
.dk-search__in::-webkit-search-cancel-button { -webkit-appearance: none; }
.dk-search__in::placeholder { color: var(--k-muted); }
.dk-search__in:focus { outline: none; border-color: var(--k-accent); background: var(--k-surface); box-shadow: 0 0 0 3px var(--k-accent-soft); }
.dk-search__x { display: none; }
.dk-search-btn { display: none; }
body.dk-guest .dk-search, body.dk-guest .dk-search-btn { display: none !important; }
body.dk-public .k-tabbar { display: none; }
body.dk-public .dk-root.k-main { padding-bottom: calc(28px + var(--k-safe-b)); }

/* ---------- оболочка ---------- */
.dk-shell { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 32px; align-items: start; }
.dk-side {
  position: sticky; top: var(--k-top-h); max-height: calc(100dvh - var(--k-top-h)); overflow: auto; scrollbar-width: thin;
  display: flex; flex-direction: column; gap: 18px; padding: 22px 2px 24px;
}
.dk-side__acts { display: flex; flex-direction: column; gap: 8px; }
.dk-upbtn { height: 50px; font-size: 16px; border-radius: 14px; }
.dk-upbtn svg { width: 21px; height: 21px; }
.dk-side__two { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dk-side__two .k-btn { width: 100%; padding: 0 8px; font-size: 13.5px; gap: 6px; }
.dk-side__two .k-btn svg { width: 17px; height: 17px; }
.dk-nav { display: flex; flex-direction: column; gap: 2px; }
.dk-nav__a {
  display: flex; align-items: center; gap: 13px; height: 44px; padding: 0 12px; border-radius: 12px; color: var(--k-text-2);
  font-weight: 600; font-size: 14.5px; transition: background .15s, color .15s; outline-offset: -2px;
}
.dk-nav__a svg { width: 21px; height: 21px; flex: 0 0 auto; color: var(--k-muted); transition: color .15s; }
.dk-nav__a:hover { background: var(--k-surface-2); color: var(--k-text); }
.dk-nav__a.is-on { background: var(--k-accent-soft); color: var(--k-text); }
.dk-nav__a.is-on svg { color: var(--k-accent); }
.dk-nav__a.is-drop { box-shadow: inset 0 0 0 2px var(--k-blue); background: var(--k-blue-soft); }

.dk-space { padding: 14px 14px 12px; border-radius: 16px; background: var(--k-surface); border: 1px solid var(--k-line); }
.dk-space__top { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.dk-space__top b { font-size: 16px; }
.dk-space__top span { color: var(--k-muted); font-size: 13px; }
.dk-space__bar { display: flex; gap: 1px; height: 8px; margin: 10px 0 8px; border-radius: 4px; overflow: hidden; background: var(--k-surface-3); }
.dk-space__bar i { display: block; height: 100%; min-width: 3px; }
.dk-space__bar.is-full { box-shadow: 0 0 0 1px var(--k-danger); }
.dk-space__left { color: var(--k-muted); font-size: 12.5px; line-height: 1.4; }
.dk-space__more { margin-top: 8px; }
.dk-space__more summary { cursor: pointer; color: var(--k-accent); font-size: 13px; font-weight: 600; list-style: none; }
.dk-space__more summary::-webkit-details-marker { display: none; }
.dk-space__legend { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 7px; }
.dk-space__legend li { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--k-text-2); }
.dk-space__legend i { width: 10px; height: 10px; border-radius: 3px; flex: 0 0 auto; }
.dk-space__legend b { margin-left: auto; font-weight: 600; color: var(--k-text); white-space: nowrap; }

.dk-promise {
  display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 16px;
  background: linear-gradient(135deg, var(--k-blue-soft), transparent 80%); border: 1px solid var(--k-line);
}
.dk-promise img { width: 56px; height: 56px; object-fit: contain; flex: 0 0 auto; filter: drop-shadow(0 6px 12px rgba(40, 110, 255, .25)); }
.dk-promise p { margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--k-text-2); }
.dk-promise b { color: var(--k-text); }

.dk-main { min-width: 0; padding-top: 18px; }

/* ---------- заголовок раздела ---------- */
.dk-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 0 0 6px; font-size: 13.5px; color: var(--k-muted); }
.dk-crumbs a, .dk-crumbs button { padding: 3px 6px; margin: 0 -2px; border-radius: 7px; color: inherit; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dk-crumbs a:hover, .dk-crumbs button:hover { color: var(--k-text); background: var(--k-surface-2); }
.dk-crumbs a.is-drop { background: var(--k-blue-soft); box-shadow: inset 0 0 0 2px var(--k-blue); color: var(--k-text); }
.dk-crumbs > span { display: grid; opacity: .6; }
.dk-crumbs svg { width: 14px; height: 14px; }
.dk-head__row { display: flex; align-items: center; gap: 10px; min-height: 48px; margin: 0 0 14px; }
.dk-h1 { flex: 1 1 auto; min-width: 0; margin: 0; font: 700 27px/1.2 var(--k-font); letter-spacing: -.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dk-tools { display: flex; align-items: center; gap: 4px; flex: 0 0 auto; }
.dk-tool { color: var(--k-text-2); }
.dk-btn-note { font-size: 12.5px; font-weight: 600; opacity: .7; margin-left: 2px; }
.dk-head__sub { display: flex; align-items: center; gap: 8px; margin: -6px 0 16px; color: var(--k-muted); font-size: 13.5px; line-height: 1.4; }
.dk-head__sub svg { width: 17px; height: 17px; flex: 0 0 auto; }
.dk-back { flex: 0 0 auto; margin-left: -8px; }
.dk-only-mob { display: none; }

/* ---------- плитки ---------- */
.dk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(164px, 1fr)); gap: 10px 12px; }
.dk-tile {
  position: relative; display: flex; flex-direction: column; padding: 10px 10px 12px; border-radius: 16px; cursor: pointer;
  border: 1px solid transparent; transition: background .15s, border-color .15s; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none;
  outline-offset: -2px;
}
.dk-tile:hover { background: var(--k-surface-2); }
.dk-tile.is-sel { background: var(--k-accent-soft); border-color: color-mix(in srgb, var(--k-accent) 55%, transparent); }
.dk-tile.is-drop { background: var(--k-blue-soft); border-color: var(--k-blue); }
.dk-tile__pv {
  position: relative; display: grid; place-items: center; aspect-ratio: 1 / .86; border-radius: 12px; overflow: hidden; margin-bottom: 10px;
}
.dk-tile.has-thumb .dk-tile__pv { background: var(--k-surface-2); box-shadow: inset 0 0 0 1px var(--k-line); }
.dk-tile__pv .dk-type { width: 58%; height: auto; max-height: 82%; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .18)); }
.dk-tile__pv .dk-type--folder { width: 74%; }
.dk-pv-img { width: 100%; height: 100%; object-fit: cover; }
.dk-tile__name {
  font-size: 14px; font-weight: 600; line-height: 1.3; text-align: center; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow-wrap: anywhere; min-height: 2.6em;
}
.dk-tile__meta { margin-top: 3px; font-size: 12px; color: var(--k-muted); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-tile--skel { cursor: default; }
.dk-tile--skel .dk-tile__pv { display: block; }

.dk-check {
  position: absolute; z-index: 2; width: 26px; height: 26px; padding: 0; display: grid; place-items: center; border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .9); background: rgba(10, 10, 10, .32); color: transparent; cursor: pointer;
  opacity: 0; transition: opacity .15s, background .15s, border-color .15s; box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
}
.dk-check svg { width: 15px; height: 15px; }
.dk-tile .dk-check { top: 16px; left: 16px; }
.dk-tile:hover .dk-check, .dk-tile:focus-within .dk-check, .is-selecting .dk-check, .dk-check[aria-pressed="true"] { opacity: 1; }
.dk-check[aria-pressed="true"] { background: var(--k-accent); border-color: var(--k-accent); color: #1d1004; }
.dk-more {
  position: absolute; z-index: 2; top: 14px; right: 14px; width: 32px; height: 32px; padding: 0; display: grid; place-items: center;
  border-radius: 10px; border: 0; background: color-mix(in srgb, var(--k-surface) 88%, transparent); color: var(--k-text);
  cursor: pointer; opacity: 0; box-shadow: var(--k-shadow); transition: opacity .15s, background .15s;
}
.dk-more svg { width: 18px; height: 18px; }
.dk-more:hover { background: var(--k-surface-3); }
.dk-tile:hover .dk-more, .dk-tile:focus-within .dk-more { opacity: 1; }

.dk-badges { position: absolute; right: 6px; bottom: 6px; display: flex; gap: 4px; }
.dk-badge { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: rgba(12, 12, 12, .58); color: #fff; }
.dk-badge svg { width: 13px; height: 13px; }
.dk-badge--fav { color: var(--dk-fav); }
.dk-play {
  position: absolute; left: 50%; top: 50%; width: 40px; height: 40px; margin: -20px 0 0 -20px; display: grid; place-items: center;
  border-radius: 50%; background: rgba(0, 0, 0, .5); color: #fff; pointer-events: none; backdrop-filter: blur(4px);
}
.dk-play svg { width: 20px; height: 20px; margin-left: 2px; }

/* ---------- список ---------- */
.dk-list { display: flex; flex-direction: column; }
.dk-lhead, .dk-row { display: grid; grid-template-columns: 28px 42px minmax(0, 1fr) 150px 110px 36px; gap: 12px; align-items: center; }
.dk-lhead { grid-template-columns: 82px minmax(0, 1fr) 150px 110px 36px; padding: 0 10px 8px; border-bottom: 1px solid var(--k-line); font-size: 12.5px; font-weight: 600; color: var(--k-muted); }
.dk-row {
  position: relative; min-height: 60px; padding: 8px 10px; border-radius: 12px; cursor: pointer; user-select: none; -webkit-user-select: none;
  -webkit-touch-callout: none; transition: background .12s; outline-offset: -2px;
}
.dk-row + .dk-row { margin-top: 1px; }
.dk-row:hover { background: var(--k-surface-2); }
.dk-row.is-sel { background: var(--k-accent-soft); }
.dk-row.is-drop { background: var(--k-blue-soft); box-shadow: inset 0 0 0 2px var(--k-blue); }
.dk-row .dk-check { position: static; width: 22px; height: 22px; border-color: var(--k-line-2); background: transparent; box-shadow: none; }
.dk-row .dk-check svg { width: 13px; height: 13px; }
.dk-row:hover .dk-check { opacity: 1; }
.dk-row .dk-check[aria-pressed="true"] { background: var(--k-accent); border-color: var(--k-accent); }
.dk-row__ic { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 9px; overflow: hidden; }
.dk-row__ic .dk-type { width: 36px; height: 36px; }
.dk-row__ic.has-thumb { background: var(--k-surface-2); }
.dk-row__ic .dk-pv-img { border-radius: 9px; }
.dk-row__ic .dk-play { width: 22px; height: 22px; margin: -11px 0 0 -11px; }
.dk-row__ic .dk-play svg { width: 12px; height: 12px; }
.dk-row__ic { position: relative; }
.dk-row__main { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.dk-row__name { display: flex; align-items: center; gap: 6px; min-width: 0; }
.dk-row__t { font-size: 14.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.dk-row__name .dk-badge { width: auto; height: auto; background: none; color: var(--k-muted); flex: 0 0 auto; }
.dk-row__name .dk-badge--fav { color: var(--dk-fav); }
.dk-row__name .dk-badge svg { width: 14px; height: 14px; }
.dk-row__sub { display: none; font-size: 12.5px; color: var(--k-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-row__date, .dk-row__size { font-size: 13px; color: var(--k-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-row .dk-more { position: static; opacity: 0; box-shadow: none; background: none; color: var(--k-text-2); }
.dk-row:hover .dk-more, .dk-row:focus-within .dk-more, .dk-row.is-sel .dk-more { opacity: 1; }
.dk-row .dk-more:hover { background: var(--k-surface-3); }
.dk-path, .dk-row__share {
  display: inline-flex; align-items: center; gap: 5px; max-width: 100%; font-size: 12.5px; color: var(--k-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dk-path:hover { color: var(--k-text); }
.dk-path svg, .dk-row__share svg { width: 14px; height: 14px; flex: 0 0 auto; }
.dk-row__share i { font-style: normal; opacity: .6; margin: 0 2px; }
.dk-row--skel { cursor: default; grid-template-columns: 28px 42px minmax(0, 1fr); }
.dk-row--skel:hover { background: none; }
.dk-root[data-mode="trash"] .dk-row__sub, .dk-root[data-mode="inbox"] .dk-row__sub { display: block; }

.dk-day { margin: 22px 0 6px; font-size: 14px; font-weight: 700; color: var(--k-text-2); }
.dk-day:first-child { margin-top: 4px; }
.dk-month { margin: 28px 0 2px; font: 700 21px/1.2 var(--k-font); }
.dk-month:first-child { margin-top: 2px; }

/* ---------- фото ---------- */
.dk-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 4px; }
.dk-ph {
  position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: var(--k-surface-2); cursor: pointer;
  user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; outline-offset: -2px;
}
.dk-ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s var(--k-ease); }
.dk-ph:hover img { transform: scale(1.03); }
.dk-ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .28), transparent 34%); opacity: 0; transition: opacity .15s; pointer-events: none; }
.dk-ph:hover::after, .dk-ph.is-sel::after, .is-selecting .dk-ph::after { opacity: 1; }
.dk-ph.is-sel { box-shadow: inset 0 0 0 3px var(--k-accent); }
.dk-ph.is-sel img { transform: scale(.9); border-radius: 6px; }
.dk-ph__ic { position: absolute; inset: 0; display: grid; place-items: center; }
.dk-ph__ic .dk-type { width: 46%; height: auto; }
.dk-ph .dk-check { top: 8px; left: 8px; width: 24px; height: 24px; }
.dk-ph:hover .dk-check { opacity: 1; }
.dk-ph__fav { position: absolute; left: 8px; bottom: 8px; color: var(--dk-fav); filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .6)); display: grid; }
.dk-ph__fav svg { width: 18px; height: 18px; }

/* ---------- пустые состояния ---------- */
.dk-empty { padding: 30px 0 10px; }
.dk-empty .k-empty__acts .k-btn svg { width: 18px; height: 18px; }

/* ---------- общий доступ ---------- */
.dk-seg { margin: 0 0 14px; }
.dk-seg a {
  height: 36px; padding: 0 16px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center;
  color: var(--k-text-2); font-weight: 600; font-size: 14px; white-space: nowrap; flex: 1 1 0;
}
.dk-seg a:hover { color: var(--k-text); }

/* ---------- «Ещё» на телефоне ---------- */
.dk-more-page { display: flex; flex-direction: column; gap: 14px; max-width: 640px; }
.dk-card { background: var(--k-surface); border: 1px solid var(--k-line); border-radius: 18px; padding: 16px; }
.dk-space--card { padding: 0; border: 0; background: none; }
.dk-space--card .dk-space__top b { font-size: 20px; }
.dk-more-nav { background: var(--k-surface); border: 1px solid var(--k-line); border-radius: 18px; overflow: hidden; }
.dk-more-nav__a { display: flex; align-items: center; gap: 14px; padding: 15px 16px; font-weight: 600; font-size: 15.5px; }
.dk-more-nav__a + .dk-more-nav__a { border-top: 1px solid var(--k-line); }
.dk-more-nav__a svg { width: 22px; height: 22px; color: var(--k-accent); flex: 0 0 auto; }
.dk-more-nav__a span { flex: 1 1 auto; }
.dk-more-nav__a svg:last-child { width: 18px; height: 18px; color: var(--k-muted); }
.dk-more-nav__a:active { background: var(--k-surface-2); }
.dk-promise--wide img { width: 76px; height: 76px; }
.dk-promise--wide p { font-size: 13.5px; }

/* ---------- приветствие без входа ---------- */
.dk-land { max-width: 1120px; margin: 0 auto; padding: 36px 0 20px; }
.dk-land__hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: center; gap: 32px; }
.dk-land__kicker { display: inline-flex; align-items: center; gap: 8px; font: 600 14px/1 var(--k-display); letter-spacing: .1em; text-transform: uppercase; color: var(--k-accent); }
.dk-land__kicker svg { width: 22px; height: 22px; }
.dk-land__h1 { margin: 16px 0 14px; font: 700 46px/1.08 var(--k-font); letter-spacing: -.02em; }
.dk-land__lead { margin: 0; max-width: 580px; font-size: 17px; line-height: 1.55; color: var(--k-text-2); }
.dk-land__acts { margin-top: 26px; display: flex; gap: 10px; flex-wrap: wrap; }
.dk-land__img { width: 100%; max-width: 380px; justify-self: center; filter: drop-shadow(0 24px 44px rgba(40, 110, 255, .3)); }
.dk-land__feats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 44px; }
.dk-feat { padding: 18px; border-radius: 18px; background: var(--k-surface); border: 1px solid var(--k-line); }
.dk-feat__ic { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; background: var(--k-accent-soft); color: var(--k-accent); }
.dk-feat__ic svg { width: 23px; height: 23px; }
.dk-feat b { display: block; margin: 14px 0 6px; font-size: 16px; }
.dk-feat p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--k-text-2); }

/* ---------- панель выбранного ---------- */
.dk-selbar {
  position: fixed; z-index: 80; left: 50%; bottom: 22px; transform: translateX(-50%); max-width: calc(100vw - 32px);
  display: flex; align-items: center; gap: 4px; padding: 6px 8px 6px 6px; border-radius: 18px;
  background: var(--k-surface); border: 1px solid var(--k-line-2); box-shadow: var(--k-shadow-lg); animation: dk-rise .2s var(--k-ease);
}
@keyframes dk-rise { from { opacity: 0; transform: translate(-50%, 14px); } }
.dk-selbar__x { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; border: 0; background: none; color: var(--k-text-2); cursor: pointer; flex: 0 0 auto; }
.dk-selbar__x:hover { background: var(--k-surface-2); color: var(--k-text); }
.dk-selbar__x svg { width: 20px; height: 20px; }
.dk-selbar__n { margin: 0 10px 0 2px; font-size: 14.5px; white-space: nowrap; }
.dk-selbar__acts { display: flex; align-items: center; gap: 2px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.dk-selbar__acts::-webkit-scrollbar { display: none; }
.dk-selbar__b {
  display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 12px; border-radius: 11px; border: 0; background: none;
  color: var(--k-text); font-weight: 600; font-size: 14px; white-space: nowrap; cursor: pointer; flex: 0 0 auto;
}
.dk-selbar__b svg { width: 19px; height: 19px; color: var(--k-text-2); }
.dk-selbar__b:hover { background: var(--k-surface-2); }
.dk-selbar__b.is-danger, .dk-selbar__b.is-danger svg { color: var(--k-danger); }

/* ---------- меню ---------- */
.dk-menu--pop {
  position: fixed; z-index: 130; min-width: 230px; max-width: 300px; padding: 6px; border-radius: 14px; background: var(--k-surface);
  border: 1px solid var(--k-line-2); box-shadow: var(--k-shadow-lg); animation: k-pop .14s var(--k-ease);
}
.dk-menu__head { padding: 8px 10px 8px; margin-bottom: 4px; border-bottom: 1px solid var(--k-line); font-size: 12.5px; color: var(--k-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-menu__it {
  display: flex; align-items: center; gap: 12px; width: 100%; padding: 9px 10px; border-radius: 9px; border: 0; background: none;
  text-align: left; cursor: pointer; color: var(--k-text); font-size: 14.5px;
}
.dk-menu__it svg { width: 19px; height: 19px; color: var(--k-muted); flex: 0 0 auto; }
.dk-menu__it span { flex: 1 1 auto; min-width: 0; }
.dk-menu__it > svg:last-child:not(:first-child) { color: var(--k-accent); }
.dk-menu__it:hover, .dk-menu__it:focus-visible { background: var(--k-surface-2); outline: none; }
.dk-menu__it.is-danger, .dk-menu__it.is-danger svg { color: var(--k-danger); }
.dk-menu__it.is-on { font-weight: 650; }
.dk-sheet .k-modal__title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 16px; }
.dk-menu--sheet { display: flex; flex-direction: column; margin: 0 -6px; }
.dk-menu--sheet .dk-menu__it { padding: 13px 10px; font-size: 15.5px; }
.dk-menu--sheet .dk-menu__it svg { width: 21px; height: 21px; }

.dk-ghost { position: fixed; top: -200px; left: 0; padding: 8px 14px; border-radius: 10px; background: var(--k-accent); color: #1d1004; font-weight: 650; font-size: 14px; white-space: nowrap; }

/* ---------- окна ---------- */
.dk-form .k-field { margin: 0; }
.dk-pick { min-height: 230px; }
.dk-crumbs--pick { margin: 0 0 10px; }
.dk-crumbs--pick button { border: 0; background: none; cursor: pointer; font: inherit; }
.dk-crumbs--pick button:last-child { color: var(--k-text); font-weight: 600; }
.dk-pick__list { display: flex; flex-direction: column; max-height: 46dvh; overflow: auto; }
.dk-pick__it {
  display: flex; align-items: center; gap: 12px; width: 100%; padding: 8px 10px; border-radius: 10px; border: 0; background: none;
  text-align: left; cursor: pointer; color: var(--k-text); font-size: 14.5px;
}
.dk-pick__it:hover { background: var(--k-surface-2); }
.dk-pick__it .dk-type { width: 34px; height: 34px; flex: 0 0 auto; }
.dk-pick__it span { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-pick__it > svg:last-child { width: 16px; height: 16px; color: var(--k-muted); }
.dk-pick__empty { margin: 0; padding: 34px 10px; text-align: center; color: var(--k-muted); font-size: 14px; }

.dk-vers .k-hint { margin: 0 0 10px; font-size: 13.5px; line-height: 1.5; }
.dk-ver { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--k-line); }
.dk-ver > div { flex: 1 1 auto; min-width: 0; }
.dk-ver b { display: block; font-size: 14.5px; }
.dk-ver small { color: var(--k-muted); font-size: 12.5px; }
.dk-ver__ic { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: var(--k-surface-2); color: var(--k-text-2); flex: 0 0 auto; }
.dk-ver__ic svg { width: 19px; height: 19px; }
.dk-ver.is-cur .dk-ver__ic { background: var(--k-ok-soft); color: var(--k-ok); }

/* поделиться */
.dk-share__sec { padding: 14px 0 16px; }
.dk-share__sec + .dk-share__sec { border-top: 1px solid var(--k-line); }
.dk-share__sec:first-child { padding-top: 4px; }
.dk-share__row { display: flex; align-items: center; gap: 12px; }
.dk-share__ic { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: var(--k-blue-soft); color: var(--k-blue); flex: 0 0 auto; }
.dk-share__ic svg { width: 21px; height: 21px; }
.dk-share__t { flex: 1 1 auto; min-width: 0; }
.dk-share__t b { display: block; font-size: 15px; }
.dk-share__t small { display: block; margin-top: 2px; color: var(--k-muted); font-size: 13px; line-height: 1.4; }
.dk-share__url { display: flex; gap: 8px; margin-top: 14px; }
.dk-share__url .k-input { flex: 1 1 auto; min-width: 0; font-size: 13.5px; background: var(--k-surface-2); }
.dk-share__opt { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.dk-share__opt .k-label { display: inline-flex; align-items: center; gap: 7px; }
.dk-share__opt .k-label svg { width: 17px; height: 17px; color: var(--k-muted); }
.dk-share__days { flex-wrap: wrap; overflow: visible; }
.dk-share__days .k-chip { height: 34px; padding: 0 13px; font-size: 13.5px; }
.dk-share__pw { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.dk-share__pw .k-tag svg { width: 14px; height: 14px; }
.dk-share__pwform { display: flex; gap: 8px; }
.dk-share__pwform .dk-pass { flex: 1 1 auto; min-width: 0; }
.dk-share__add { display: flex; gap: 8px; margin-top: 14px; }
.dk-share__add .k-input-wrap { flex: 1 1 auto; min-width: 0; }
.dk-share .k-err { margin: 8px 0 0; }
.dk-danger { color: var(--k-danger) !important; }
.dk-people { list-style: none; margin: 12px 0 0; padding: 0; }
.dk-people li { display: flex; align-items: center; gap: 12px; padding: 8px 0; }
.dk-people li + li { border-top: 1px solid var(--k-line); }
.dk-people li > div { flex: 1 1 auto; min-width: 0; }
.dk-people b { display: block; font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-people small { color: var(--k-muted); font-size: 12.5px; }

/* поле пароля с назаром */
.dk-pass { position: relative; }
.dk-pass .k-input { padding-right: 54px; }
.dk-pass .pass-toggle--nazar { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; cursor: pointer; }
.pass-toggle--nazar {
  border-radius: 50% !important; padding: 0; display: inline-flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 35% 30%, rgba(255, 255, 255, .22), transparent 45%), linear-gradient(160deg, #1a1a1a 0%, #0a0a0a 55%, #2a2a2a 100%) !important;
  border: 1.5px solid rgba(247, 244, 239, .35) !important; color: #f7f4ef;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .5), 0 4px 14px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .12);
  transition: box-shadow .22s ease, border-color .22s ease;
}
.pass-toggle--nazar:hover, .pass-toggle--nazar:focus-visible {
  border-color: rgba(247, 244, 239, .55) !important; outline: none;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .45), 0 0 18px rgba(247, 244, 239, .18), 0 6px 16px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .18);
}
.pass-toggle--nazar[aria-pressed="true"], .pass-toggle--nazar.is-open {
  border-color: rgba(247, 244, 239, .7) !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .4), 0 0 22px rgba(247, 244, 239, .28), 0 4px 14px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .2);
}
.nazar-eye { display: block; width: 26px; height: 26px; pointer-events: none; transition: transform .28s cubic-bezier(.34, 1.4, .64, 1); }
.pass-toggle--nazar[aria-pressed="true"] .nazar-eye, .pass-toggle--nazar.is-open .nazar-eye { transform: scale(1.06); animation: nazar-blink 2.8s ease-in-out infinite; }
.pass-toggle--nazar[aria-pressed="true"] .nazar-eye__lid, .pass-toggle--nazar.is-open .nazar-eye__lid { display: none; }
@keyframes nazar-blink { 0%, 92%, 100% { transform: scale(1.06); } 95% { transform: scale(1.06, .72); } 97% { transform: scale(1.06); } }

/* ---------- просмотр ---------- */
.dk-view { position: fixed; inset: 0; z-index: 150; display: flex; flex-direction: column; background: #060606; color: #fff; animation: k-fade .15s ease-out; }
.dk-view__top {
  position: absolute; top: 0; left: 0; right: 0; z-index: 3; display: flex; align-items: center; gap: 8px;
  padding: calc(10px + var(--k-safe-t)) 12px 18px; background: linear-gradient(rgba(0, 0, 0, .72), transparent);
}
.dk-view__b {
  width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; border: 0; background: none; color: #fff; cursor: pointer; flex: 0 0 auto;
}
.dk-view__b:hover { background: rgba(255, 255, 255, .12); }
.dk-view__b svg { width: 22px; height: 22px; }
.dk-view__b.is-on { color: var(--dk-fav, #ffbf3c); }
.dk-view__title { flex: 1 1 auto; min-width: 0; }
.dk-view__title b { display: block; font-size: 15.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-view__title small { display: block; font-size: 12.5px; opacity: .7; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-view__acts { display: flex; gap: 2px; }
.dk-view__stage { position: relative; flex: 1 1 auto; overflow: hidden; touch-action: pan-y; }
.dk-view__stage.is-zoom { touch-action: none; cursor: grab; }
.dk-view__track { position: absolute; inset: 0; }
.dk-slide { position: absolute; inset: 0; display: grid; place-items: center; padding: 72px 76px 24px; }
.dk-slide > * { grid-area: 1 / 1; }
.dk-slide__img, .dk-slide__low { max-width: 100%; max-height: 100%; object-fit: contain; user-select: none; -webkit-user-drag: none; }
.dk-slide__img { transition: transform .2s var(--k-ease); transform-origin: center; }
.dk-slide__low { width: 100%; height: 100%; filter: blur(2px); opacity: .9; }
.dk-slide__video { width: min(100%, 100vw); max-height: 100%; object-fit: contain; background: #000; border-radius: 6px; }
.dk-view__dl { border: 0; border-radius: 999px; padding: 8px 14px; background: #fff; color: #111; font: 700 14px/1 inherit; cursor: pointer; }
.dk-vid-speed { position: absolute; right: 16px; bottom: 18px; z-index: 4; color: #fff; font-size: 13px; }
.dk-vid-speed select { margin-left: 6px; border-radius: 8px; border: 0; padding: 6px 8px; }
.dk-vid-q {
  position: absolute; right: 12px; bottom: 62px; z-index: 4; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end;
  color: #fff; font-size: 13px; text-shadow: 0 1px 2px #000;
}
.dk-vid-q label { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; background: rgba(0,0,0,.55); }
.dk-vid-q select { border: 0; border-radius: 8px; padding: 4px 6px; font: inherit; }
.dk-vid-load {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
  width: min(420px, 90%); padding: 28px 20px; border-radius: 18px; background: rgba(0,0,0,.55); color: #f4ede4; text-align: center;
}
.dk-vid-load__pct { font-size: 22px; font-weight: 800; color: #ffb15c; }
.dk-vid-load__hint { margin: 0; font-size: 13px; line-height: 1.4; color: rgba(244,237,228,.75); max-width: 280px; }
.dk-vid-load__q { font-size: 13px; }
.dk-vid-load__q select { margin-left: 6px; border: 0; border-radius: 8px; padding: 6px 8px; }
.dk-vid-note { position: absolute; left: 16px; right: 16px; bottom: 108px; margin: 0; text-align: center; font-size: 13px; color: #f3f3f3; text-shadow: 0 1px 2px #000; }
.dk-vid-bar {
  position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 4;
  display: flex; gap: 8px;
}
.dk-vid-full {
  border: 0; border-radius: 999px; padding: 10px 16px; cursor: pointer;
  background: rgba(0, 0, 0, .72); color: #fff; font: 600 14px/1.2 inherit;
}
a.dk-vid-full { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 4; text-decoration: none; }
.dk-slide--video.is-turned { padding: 0; }
.dk-slide--video.is-turned .dk-slide__video {
  width: 100dvh; height: 100dvw; max-width: none; max-height: none;
  transform: rotate(90deg);
}
.dk-slide__pdf { width: min(1040px, 100%); height: 100%; border: 0; border-radius: 8px; background: #fff; }
.dk-slide--text { place-items: stretch center; }
.dk-slide--text > * { grid-area: auto; }
.dk-slide--text { display: flex; flex-direction: column; align-items: center; }
.dk-slide__text {
  width: min(920px, 100%); flex: 1 1 auto; min-height: 0; margin: 0; overflow: auto; padding: 20px 22px; border-radius: 12px; background: #141414;
  color: #e9e9e9; font: 13.5px/1.6 ui-monospace, "Cascadia Mono", Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; tab-size: 4;
}
.dk-slide__more { margin: 10px 0 0; font-size: 13px; opacity: .7; }
.dk-slide__audio, .dk-slide__none { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; max-width: 440px; }
.dk-slide__cover { width: 132px; height: 132px; display: grid; place-items: center; border-radius: 28px; background: rgba(255, 255, 255, .06); }
.dk-slide__cover .dk-type { width: 84px; height: 84px; }
.dk-slide__audio b, .dk-slide__none b { font-size: 17px; overflow-wrap: anywhere; }
.dk-slide__audio audio { width: min(420px, 82vw); }
.dk-slide__none p { margin: 0; opacity: .75; line-height: 1.5; }
.dk-slide__acts { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 4px; }
.dk-spin { width: 38px; height: 38px; border-radius: 50%; border: 3px solid rgba(255, 255, 255, .22); border-top-color: #fff; animation: dk-spin .8s linear infinite; }
@keyframes dk-spin { to { transform: rotate(360deg); } }
.dk-view__nav {
  position: absolute; top: 50%; z-index: 2; width: 52px; height: 52px; margin-top: -26px; display: grid; place-items: center; border-radius: 50%;
  border: 0; background: rgba(255, 255, 255, .1); color: #fff; cursor: pointer; transition: background .15s;
}
.dk-view__nav:hover { background: rgba(255, 255, 255, .2); }
.dk-view__nav svg { width: 24px; height: 24px; }
.dk-view__nav--l { left: 14px; }
.dk-view__nav--r { right: 14px; }

/* ---------- загрузки ---------- */
.dk-ups {
  position: fixed; z-index: 85; right: 22px; bottom: 22px; width: 390px; max-width: calc(100vw - 24px); overflow: hidden;
  border-radius: 18px; background: var(--k-surface); border: 1px solid var(--k-line-2); box-shadow: var(--k-shadow-lg); animation: k-rise .2s var(--k-ease);
}
body.dk-has-sel .dk-ups { bottom: 92px; }
body.dk-has-sel .k-toasts { bottom: 96px; }
.dk-ups__head { display: flex; align-items: center; gap: 8px; padding: 12px 10px 12px 14px; }
.dk-ups__toggle { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; color: var(--k-text); }
.dk-ups__ring {
  --p: 0; position: relative; width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%;
  background: conic-gradient(var(--k-accent) calc(var(--p) * 1%), var(--k-surface-3) 0); color: var(--k-ok);
}
.dk-ups__ring::before { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--k-surface); }
.dk-ups__ring svg { position: relative; width: 18px; height: 18px; }
.dk-ups__t { min-width: 0; display: flex; flex-direction: column; }
.dk-ups__t b { font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-ups__t small { font-size: 12.5px; color: var(--k-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-ups__head .k-btn svg { width: 16px; height: 16px; }
.dk-ups__bar { height: 3px; background: var(--k-surface-3); }
.dk-ups__bar i { display: block; height: 100%; background: var(--k-accent); transition: width .3s; }
.dk-ups__list { list-style: none; margin: 0; padding: 6px; max-height: 330px; overflow: auto; }
.dk-up { display: flex; align-items: center; gap: 10px; padding: 7px 6px; border-radius: 10px; }
.dk-up__ic { width: 32px; height: 32px; flex: 0 0 auto; }
.dk-up__ic .dk-type { width: 100%; height: 100%; }
.dk-up__main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.dk-up__name { font-size: 13.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-up__st { font-size: 12px; color: var(--k-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dk-up.is-err .dk-up__st { color: var(--k-danger); white-space: normal; }
.dk-up__bar { display: block; height: 3px; margin-top: 5px; border-radius: 2px; background: var(--k-surface-3); overflow: hidden; }
.dk-up__bar i { display: block; height: 100%; background: var(--k-accent); transition: width .25s; }
.dk-up__b { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; border: 0; background: none; color: var(--k-muted); cursor: pointer; }
.dk-up__b:hover { background: var(--k-surface-2); color: var(--k-text); }
.dk-up__b svg { width: 18px; height: 18px; }
.dk-up__ok { width: 32px; height: 32px; display: grid; place-items: center; color: var(--k-ok); flex: 0 0 auto; }
.dk-up__ok svg { width: 19px; height: 19px; }

/* ---------- перетаскивание файлов с компьютера ---------- */
.dk-drop {
  position: fixed; inset: 0; z-index: 140; display: grid; place-items: center; pointer-events: none;
  background: rgba(14, 40, 92, .5); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); animation: k-fade .12s ease-out;
}
.dk-drop__in {
  display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 34px 60px 38px; border-radius: 28px; color: #fff; text-align: center;
  border: 3px dashed rgba(255, 255, 255, .75); background: rgba(63, 140, 255, .22);
}
.dk-drop__in img { width: 130px; height: 130px; object-fit: contain; }
.dk-drop__in b { font-size: 22px; }
.dk-drop__in span { font-size: 15px; opacity: .85; }

/* ---------- ссылка «поделиться» у гостя ---------- */
.dk-pubwrap { max-width: 1120px; margin: 0 auto; padding: 22px 0 30px; }
.dk-pub__who { display: inline-flex; align-items: center; gap: 8px; color: var(--k-muted); font-size: 13.5px; line-height: 1.4; }
.dk-pub__who svg { width: 19px; height: 19px; color: var(--k-accent); flex: 0 0 auto; }
.dk-pub__bar { margin-bottom: 10px; }
.dk-pub--folder .dk-head { margin-top: 4px; }
.dk-pubfile { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.dk-pubfile__pv {
  min-height: 340px; display: grid; place-items: center; overflow: hidden; border-radius: 22px; background: var(--k-surface-2); border: 1px solid var(--k-line);
}
.dk-pubfile__img { width: 100%; max-height: 72vh; object-fit: contain; }
.dk-pubfile__video { width: 100%; max-height: 72vh; background: #000; }
.dk-pubfile__audio { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 40px 24px; width: 100%; }
.dk-pubfile__audio .dk-type { width: 110px; height: 110px; }
.dk-pubfile__audio audio { width: min(420px, 100%); }
.dk-pubfile__ic { padding: 40px; }
.dk-pubfile__ic .dk-type { width: 150px; height: 150px; filter: drop-shadow(0 14px 24px rgba(0, 0, 0, .25)); }
.dk-pubfile__name { margin: 12px 0 6px; font: 700 28px/1.2 var(--k-font); overflow-wrap: anywhere; }
.dk-pubfile__meta { margin: 0; color: var(--k-muted); font-size: 14.5px; }
.dk-pubfile__acts { display: flex; gap: 10px; flex-wrap: wrap; margin: 22px 0 18px; }
.dk-pubfile__note { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: var(--k-muted); font-size: 13.5px; line-height: 1.45; }
.dk-pubfile__note svg { width: 18px; height: 18px; color: var(--k-ok); flex: 0 0 auto; margin-top: 1px; }
.dk-pub--pw { display: grid; place-items: center; min-height: 62vh; }
.dk-pwcard { width: min(440px, 100%); padding: 28px 26px 26px; text-align: center; box-shadow: var(--k-shadow); }
.dk-pwcard__img { width: 124px; height: 124px; object-fit: contain; margin: 0 auto 6px; filter: drop-shadow(0 12px 24px rgba(40, 110, 255, .25)); }
.dk-pwcard .dk-h1 { white-space: normal; font-size: 23px; margin-bottom: 8px; }
.dk-pwcard .k-lead { font-size: 14.5px; line-height: 1.5; }
.dk-pwcard__f { display: flex; gap: 8px; margin-top: 20px; text-align: left; }
.dk-pwcard__f .dk-pass { flex: 1 1 auto; min-width: 0; }
.dk-pwcard .k-err { margin: 10px 0 0; }

.dk-hide-mob { display: inline; }

/* ---------- ноутбуки ---------- */
@media (max-width: 1100px) {
  .dk-shell { grid-template-columns: 220px minmax(0, 1fr); gap: 22px; }
  .dk-lhead, .dk-row { grid-template-columns: 28px 42px minmax(0, 1fr) 130px 90px 36px; }
  .dk-lhead { grid-template-columns: 82px minmax(0, 1fr) 130px 90px 36px; }
  .dk-land__feats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- телефон ---------- */
@media (max-width: 760px) {
  .dk-root.k-main { padding: 0 14px calc(var(--k-tab-h) + var(--k-safe-b) + 28px); }
  .k-top__slot { justify-content: flex-end; }
  .dk-search { display: none; }
  .dk-search-btn { display: grid; }
  body.dk-searching .dk-search {
    display: flex; position: absolute; inset: 0; z-index: 5; max-width: none; height: auto; margin: 0; padding: 0 8px 0 12px; gap: 6px; background: var(--k-bg);
  }
  body.dk-searching .dk-search__ic { left: 25px; }
  body.dk-searching .dk-search__x { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 auto; border: 0; border-radius: 12px; background: none; color: var(--k-text-2); }
  body.dk-searching .dk-search__x svg { width: 21px; height: 21px; }
  .dk-search__in { font-size: 16px; }

  .dk-shell { display: block; }
  .dk-side { display: none; }
  .dk-main { padding-top: 12px; }
  .dk-only-mob { display: inline-flex; }
  .dk-hide-mob { display: none; }
  .dk-h1 { font-size: 23px; }
  .dk-head__row { min-height: 44px; margin-bottom: 10px; gap: 6px; }
  .dk-head__sub { margin: -4px 0 12px; font-size: 13px; }
  .dk-tools .k-btn--sm { padding: 0 11px; }
  .dk-crumbs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
  .dk-crumbs::-webkit-scrollbar { display: none; }
  .dk-crumbs a { max-width: 150px; }

  .dk-grid { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 6px; }
  .dk-tile { padding: 6px 6px 10px; border-radius: 14px; }
  .dk-tile__name { font-size: 13px; }
  .dk-tile__meta { font-size: 11.5px; }
  .dk-tile .dk-check { top: 11px; left: 11px; width: 24px; height: 24px; }
  .dk-tile .dk-more { display: none; }
  .dk-tile:hover { background: none; }
  .dk-tile.is-sel { background: var(--k-accent-soft); }

  .dk-lhead { display: none; }
  .dk-row { grid-template-columns: 44px minmax(0, 1fr) 36px; gap: 12px; min-height: 64px; padding: 8px 2px 8px 4px; border-radius: 12px; }
  .dk-row .dk-check, .dk-row__date, .dk-row__size { display: none; }
  .is-selecting .dk-row { grid-template-columns: 24px 44px minmax(0, 1fr) 36px; }
  .is-selecting .dk-row .dk-check { display: grid; opacity: 1; }
  .dk-row__ic { width: 44px; height: 44px; }
  .dk-row__ic .dk-type { width: 40px; height: 40px; }
  .dk-row__sub { display: block; }
  .dk-row .dk-more { opacity: 1; width: 36px; height: 36px; color: var(--k-muted); }
  .dk-row:hover { background: none; }
  .dk-row.is-sel { background: var(--k-accent-soft); }
  .dk-row--skel { grid-template-columns: 44px minmax(0, 1fr); }
  .dk-row--skel > span:first-child { display: none; }
  .dk-day + .dk-list .dk-row__sub { display: none; }

  .dk-photos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; }
  .dk-ph { border-radius: 4px; }
  .dk-ph .dk-check { opacity: 0; }
  .is-selecting .dk-ph .dk-check, .dk-ph .dk-check[aria-pressed="true"] { opacity: 1; }
  .dk-month { font-size: 19px; margin-top: 22px; }
  .dk-day { margin: 16px 0 6px; font-size: 13.5px; }

  .dk-seg { display: flex; width: 100%; }

  .dk-selbar {
    left: 8px; right: 8px; transform: none; max-width: none; bottom: calc(var(--k-tab-h) + var(--k-safe-b) + 8px);
    padding: 6px; gap: 2px; animation-name: dk-rise-m;
  }
  @keyframes dk-rise-m { from { opacity: 0; transform: translateY(14px); } }
  .dk-selbar__n { margin: 0 4px 0 0; font-size: 13.5px; }
  .dk-selbar__acts { flex: 1 1 auto; justify-content: space-around; }
  .dk-selbar__b { flex-direction: column; justify-content: center; gap: 2px; height: 50px; padding: 0 6px; font-size: 11px; min-width: 52px; }
  .dk-selbar__b svg { width: 21px; height: 21px; color: var(--k-text); }
  .dk-selbar__x { width: 36px; height: 36px; }

  .dk-ups { left: 8px; right: 8px; width: auto; max-width: none; bottom: calc(var(--k-tab-h) + var(--k-safe-b) + 8px); }
  body.dk-public .dk-selbar { bottom: calc(8px + var(--k-safe-b)); }
  body:has(.k-modal) .k-toasts, body.dk-has-sel .k-toasts, body.dk-has-ups .k-toasts { bottom: auto; top: calc(var(--k-safe-t) + 10px); }
  body.dk-has-sel .dk-ups { bottom: calc(var(--k-tab-h) + var(--k-safe-b) + 76px); }
  .dk-ups__list { max-height: 38dvh; }
  .dk-ups.is-min .dk-ups__head { padding-top: 10px; padding-bottom: 10px; }

  .dk-view__top { padding: calc(6px + var(--k-safe-t)) 4px 18px; gap: 2px; }
  .dk-view__b { width: 42px; height: 42px; }
  .dk-view__nav { display: none; }
  .dk-slide { padding: 64px 0 calc(16px + var(--k-safe-b)); }
  .dk-slide--text, .dk-slide--pdf, .dk-slide--audio, .dk-slide--other, .dk-slide--doc, .dk-slide--sheet, .dk-slide--archive { padding-left: 12px; padding-right: 12px; }
  .dk-slide__video { border-radius: 0; }
  .dk-slide__text { padding: 14px; font-size: 12.5px; }

  .k-modal__foot:has([data-a2]) { flex-wrap: wrap; }
  .k-modal__foot [data-a2="mk"] { flex: 1 1 100%; order: 3; }
  .k-modal__foot:has([data-a2]) .k-gap { display: none; }
  .dk-share__url .k-btn { padding: 0 14px; }
  .dk-share__add .k-btn { padding: 0 14px; }
  .dk-people li .k-btn { padding: 0 10px; }

  .dk-land { padding: 18px 0 10px; }
  .dk-land__hero { grid-template-columns: 1fr; gap: 6px; text-align: center; }
  .dk-land__img { order: -1; width: 190px; }
  .dk-land__h1 { font-size: 30px; margin: 12px 0 10px; }
  .dk-land__lead { font-size: 15.5px; margin: 0 auto; }
  .dk-land__acts { justify-content: center; }
  .dk-land__acts .k-btn { width: 100%; }
  .dk-land__feats { grid-template-columns: 1fr; gap: 10px; margin-top: 28px; }
  .dk-feat { display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; text-align: left; }
  .dk-feat__ic { grid-row: span 2; }
  .dk-feat b { margin: 2px 0 4px; }

  .dk-pubwrap { padding: 12px 0 20px; }
  .dk-pubfile { grid-template-columns: 1fr; gap: 14px; }
  .dk-pubfile__pv { min-height: 220px; border-radius: 18px; }
  .dk-pubfile__name { font-size: 22px; }
  .dk-pubfile__acts { margin: 16px 0 14px; }
  .dk-pubfile__acts .k-btn { flex: 1 1 auto; }
  .dk-pub--pw { min-height: 0; padding-top: 10px; }
  .dk-pwcard { padding: 22px 18px; }

  .dk-boot__grid { grid-template-columns: 1fr; }
  .dk-boot__grid .k-skel { height: 60px; }
}

@media (hover: none) {
  .dk-tile:hover, .dk-row:hover { background: none; }
  .dk-tile.is-sel, .dk-row.is-sel { background: var(--k-accent-soft); }
  .dk-ph:hover img { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .dk-selbar, .dk-ups, .dk-view, .dk-drop { animation: none; }
}
