/* ProfPass 4.3.0 — Web-Repetitor dock, 3D scenes, compact modals/shop, calm outlines, AI glow.
   Только дополнения: слой загружается последним и ничего не удаляет из прежних файлов. */

@property --pp-ang{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes pp-spin{to{--pp-ang:360deg}}

:root{
 --ai-a:#ff7fc6;--ai-b:#7fd3ff;--ai-c:#b99cff;--ai-d:#ffc2a8;
 --pp-shine:rgba(255,255,255,.75);
 --pp-hair:color-mix(in srgb,var(--line) 60%,transparent);
 --pp-dock-bg:color-mix(in srgb,var(--surface) 72%,transparent);
 --pp-dock-line:color-mix(in srgb,var(--line) 75%,transparent);
 --pp-dock-shadow:rgba(60,20,36,.16);
 --pp-lens-a:#fff;--pp-lens-b:#f6e3ea;--pp-lens-glow:rgba(139,14,46,.2);
 --pp-spring:cubic-bezier(.34,1.4,.64,1);
}
:root[data-theme=dark]{
 --pp-shine:rgba(255,255,255,.14);
 --pp-dock-bg:color-mix(in srgb,#251c23 78%,transparent);
 --pp-dock-line:rgba(255,255,255,.09);
 --pp-dock-shadow:rgba(0,0,0,.42);
 --pp-lens-a:#52303f;--pp-lens-b:#2d222b;--pp-lens-glow:rgba(237,119,149,.28);
}

/* ───────── Обводки: кольцо фокуса только для клавиатуры ───────── */
html:not([data-input=keyboard]) :focus-visible,
html:not([data-input=keyboard]) button:focus-visible,
html:not([data-input=keyboard]) a:focus-visible,
html:not([data-input=keyboard]) [tabindex]:focus-visible{outline:none!important;box-shadow:none}
html:not([data-input=keyboard]) .shark-thread:focus,html .shark-thread:focus{outline:none}
html[data-input=keyboard] :focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 85%,transparent);outline-offset:3px}
dialog:focus,dialog:focus-visible{outline:none!important}
.premium-themes .theme-option,.premium-themes .theme-option.selected{outline:none!important}
/* Вложенные «двойные» рамки смягчены до тонкой линии */
.more-tile,.shop-product,.shop-order,.shark-chips button,.settings-glass{border-color:var(--pp-hair)!important}
.shark-composer{border-color:var(--pp-hair)}
.shark-composer button{border-color:transparent}

/* ───────── Нижний док как в Web-Repetitor ───────── */
@media(max-width:760px){
 html body .sidebar{
  left:0!important;right:0!important;margin-left:auto!important;margin-right:auto!important;
  width:min(420px,calc(100% - 24px))!important;height:62px!important;padding:5px!important;
  bottom:calc(11px + env(safe-area-inset-bottom))!important;border-radius:999px!important;
  background:var(--pp-dock-bg)!important;border:1px solid var(--pp-dock-line)!important;
  box-shadow:inset 0 1px 1px var(--pp-shine),0 12px 32px var(--pp-dock-shadow)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.6)!important;backdrop-filter:blur(24px) saturate(1.6)!important;
  isolation:isolate;scale:none!important;transition:none!important;
 }
 html body .sidebar:has(.nav.touching){scale:none!important}
 html body .sidebar .nav{
  display:flex!important;flex-direction:row!important;grid-template-columns:none!important;gap:1px!important;
  height:100%!important;padding:0!important;position:relative!important;overflow:visible!important;
  touch-action:none!important;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
 }
 html body .sidebar .nav button,html body .sidebar .nav button.active{
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;
  flex:0 1 48px!important;width:auto!important;min-width:36px!important;height:100%!important;padding:0 8px!important;
  gap:0!important;border-radius:999px!important;font-size:11px!important;line-height:1!important;white-space:nowrap!important;
  overflow:hidden!important;color:var(--muted)!important;background:none!important;box-shadow:none!important;
  transform:none!important;position:relative;z-index:1;
  transition:flex-basis .48s var(--ease),flex-grow .48s var(--ease),color .24s!important;
 }
 html body .sidebar .nav button.active{flex:1 1 122px!important;color:var(--accent)!important;font-weight:650}
 html body .sidebar .nav button svg,html body .sidebar .nav button .icon{
  width:22px!important;height:22px!important;flex:0 0 22px;stroke-width:1.7;
  transition:transform .3s var(--ease),filter .3s var(--ease)!important;
 }
 html body .sidebar .nav button.active svg,html body .sidebar .nav button.active .icon{stroke-width:2.05;transform:none}
 html body .sidebar .nav button span{
  display:block!important;max-width:0!important;width:auto!important;opacity:0!important;overflow:hidden!important;
  margin-left:0!important;font-size:11px!important;line-height:1.1!important;transform:none!important;
  visibility:visible!important;white-space:nowrap!important;
  transition:max-width .48s var(--ease),opacity .2s,margin-left .4s var(--ease)!important;
 }
 html body .sidebar .nav button.active span{max-width:105px!important;opacity:1!important;margin-left:7px!important}

 /* Линза */
 html body .sidebar .nav .nav-thumb{
  position:absolute!important;left:0!important;top:0!important;inset-inline-end:auto!important;
  height:100%!important;width:var(--lens-w,110px)!important;
  transform:translate3d(var(--lens-x,0px),0,0)!important;border-radius:999px!important;
  background:linear-gradient(150deg,var(--pp-lens-a),var(--pp-lens-b))!important;
  box-shadow:inset 0 1px 1px var(--pp-shine),inset 0 -1px 3px var(--pp-dock-line),0 3px 12px var(--pp-lens-glow)!important;
  transition:transform .15s var(--ease),width .15s var(--ease),box-shadow .3s!important;
  will-change:transform,width;z-index:0;pointer-events:none;
 }
 html body .sidebar .nav .nav-thumb::after{
  content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:conic-gradient(from 35deg at var(--touch-x,50%) 50%,#ffffff99,#8ce6ff88,#d6adf477,#ffffff99,#ffc2d277,#86deeb80,#ffffff99);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;
  opacity:.35;transition:opacity .25s;
 }
 html body .sidebar .nav.touching .nav-thumb{
  transform:translate3d(var(--lens-x,0px),0,0) scale(1.045,1.13)!important;
  background:color-mix(in srgb,var(--pp-lens-b) 62%,transparent)!important;
  -webkit-backdrop-filter:blur(12px) saturate(1.9);backdrop-filter:blur(12px) saturate(1.9);
  box-shadow:inset 0 2px 3px var(--pp-shine),0 7px 22px var(--pp-lens-glow)!important;
 }
 html body .sidebar .nav.touching .nav-thumb::after{opacity:1}
 html body .sidebar .nav.dragging .nav-thumb{transition:width .15s var(--ease),box-shadow .3s!important}
 html body .sidebar .nav.touching button.dock-preview svg,html body .sidebar .nav.touching button.dock-preview .icon{
  transform:scale(1.14);color:var(--accent);
  filter:drop-shadow(-1px 0 1.5px #68daff88) drop-shadow(1px 0 1.5px #ff9ccfa8);
 }
 html body .sidebar .nav.touching button.dock-preview{color:var(--accent)!important}
 html body .sidebar .nav.touching button:not(.dock-preview) svg,html body .sidebar .nav.touching button:not(.dock-preview) .icon{transform:scale(.96)}
}
@media(max-width:360px){
 html body .sidebar{width:calc(100% - 16px)!important}
 html body .sidebar .nav{gap:0!important}
 html body .sidebar .nav button,html body .sidebar .nav button.active{padding:0 5px!important;min-width:31px!important}
 html body .sidebar .nav button{flex-basis:37px!important}
 html body .sidebar .nav button.active{flex-basis:105px!important}
 html body .sidebar .nav button.active span{margin-left:5px!important;font-size:10px!important}
 html body .sidebar .nav button svg,html body .sidebar .nav button .icon{width:20px!important;height:20px!important;flex-basis:20px}
}

/* ───────── 3D-появление блоков при открытии вкладки и прокрутке ───────── */
[data-reveal=wait]{opacity:0;transform:perspective(1100px) translate3d(0,28px,-52px) rotateX(9deg) scale(.965);transform-origin:50% 85%}
[data-reveal=wait][data-side=l]{transform:perspective(1100px) translate3d(0,28px,-52px) rotateX(9deg) rotateY(-7deg) scale(.965)}
[data-reveal=wait][data-side=r]{transform:perspective(1100px) translate3d(0,28px,-52px) rotateX(9deg) rotateY(7deg) scale(.965)}
.view [data-revealed]{transform-origin:50% 85%;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.view{perspective:none}

/* ───────── Компактные модальные окна ───────── */
html body dialog{padding:22px 20px 20px;border-radius:22px;width:min(520px,calc(100% - 24px))}
html body dialog::backdrop{background:rgba(14,6,11,.5)}
html body dialog[open]::backdrop{animation:pp-backdrop-in .5s var(--ease) both}
html body dialog.closing::backdrop{animation:pp-backdrop-out .23s ease-in forwards}
@keyframes pp-backdrop-in{from{background-color:transparent;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}
@keyframes pp-backdrop-out{to{background-color:transparent;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}
html body dialog.closing{pointer-events:none}
html body dialog h2{font-size:1.28rem;letter-spacing:-.5px;line-height:1.2;font-weight:550;margin:4px 0 8px;padding-right:34px}
html body dialog>p,html body dialog .muted{font-size:.74rem;line-height:1.5}
html body dialog>p{margin:0 0 6px}
html body dialog>.eyebrow{margin-bottom:4px;padding-top:6px}
html body dialog label,html body dialog .event-form-field label{margin:12px 0 5px;font-size:.64rem}
html body dialog input,html body dialog select,html body dialog textarea{padding:10px 12px;border-radius:11px}
html body dialog textarea{min-height:64px}
html body dialog .event-form-field input[type=date]{min-height:42px}
html body dialog .event-date-place{gap:8px}
html body dialog .taskrow{margin-top:6px;gap:6px}
html body dialog .taskrow input{padding:10px 9px}
html body dialog .textbtn{margin-top:8px;font-size:.7rem}
html body dialog .notice,html body dialog .ai-draft-notice{margin:12px 0 0;padding:10px 12px;font-size:.68rem;line-height:1.5;border-radius:12px}
html body dialog .primary,html body dialog .secondary,html body dialog .danger{min-height:40px;padding:9px 14px}
html body dialog form>.primary.full,html body dialog form>.danger.full,html body dialog>.primary.full,html body dialog .shop-detail>.primary.full{margin-top:14px}
html body dialog .close{top:12px;right:12px;width:28px;height:28px;font-size:18px}
html body dialog:before{top:7px}
html body dialog .shop-detail img{max-height:190px;border-radius:16px;margin-bottom:6px}
html body dialog .shop-detail p{margin:6px 0}
html body dialog .shop-detail .shop-price{font-size:21px}
@media(max-width:760px){
 html body dialog{width:calc(100% - 12px);margin:auto auto 6px;padding:22px 16px calc(16px + env(safe-area-inset-bottom));border-radius:22px}
 html body dialog h2{font-size:1.22rem}
}

/* ───────── Карточки магазина ───────── */
.shop-filters{gap:8px;margin:14px 0}
.shop-filters>*{min-width:110px}
.shop-grid{grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:10px}
.shop-product{display:flex;flex-direction:column;border:0!important;border-radius:20px;
 background:var(--surface);box-shadow:inset 0 0 0 1px var(--pp-hair),0 6px 18px rgba(30,10,20,.06);
 transition:translate .5s var(--ease),box-shadow .4s}
.shop-product:active{translate:0 1px}
.shop-photo{aspect-ratio:1/.8;border-radius:0}
.shop-photo>b{top:8px;right:8px;padding:3px 8px;font-size:11px;font-weight:700}
.shop-photo>span{font-size:15px;line-height:1.25;letter-spacing:.04em;text-align:center}
.shop-body{display:flex;flex-direction:column;gap:2px;flex:1;padding:10px 11px 11px}
.shop-body>small{font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shop-body h2{margin:1px 0 0;font-size:14px;line-height:1.25;font-weight:600;letter-spacing:-.01em;
 display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.shop-body .shop-price{margin:4px 0 0;font-size:18px;line-height:1.1}
.shop-body .shop-price small{font-size:11px;opacity:.7}
.shop-body .shop-price del{font-size:11px;margin-left:3px}
.shop-body>p:not(.shop-price){margin:2px 0 0;font-size:11px;color:var(--muted);line-height:1.3}
.shop-body>button{min-height:32px;padding:7px 8px;font-size:11.5px;border-radius:10px;margin-top:8px}
.shop-body>button+button{margin-top:5px}
@media(max-width:600px){
 .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .shop-product{border-radius:18px}
 .shop-body{padding:9px 10px 10px}
 .shop-body h2{font-size:13px}
 .shop-body .shop-price{font-size:16px}
}

/* ───────── ИИ: мягкое градиентовое свечение вместо рамок ───────── */
/* Чат при работе: тонкое вращающееся кольцо + мягкое свечение изнутри. */
html body .shark-chat::before,html body .shark-chat::after,
html body .shark-chat.is-thinking::before,html body .shark-chat.is-thinking::after{
 all:unset;content:'';position:absolute;border-radius:inherit;pointer-events:none;box-sizing:border-box;
 opacity:0;transition:opacity .7s ease;animation:pp-spin 6s linear infinite;animation-play-state:paused;
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
 mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
}
html body .shark-chat::before,html body .shark-chat.is-thinking::before{
 inset:0;padding:1.5px;z-index:2;
 background:conic-gradient(from var(--pp-ang),var(--ai-a),var(--ai-b),var(--ai-c),var(--ai-d),var(--ai-a));
}
html body .shark-chat::after,html body .shark-chat.is-thinking::after{
 inset:0;padding:9px;z-index:-1;filter:blur(13px);
 background:conic-gradient(from var(--pp-ang),var(--ai-a),var(--ai-b),var(--ai-c),var(--ai-d),var(--ai-a));
}
html body .shark-chat.is-thinking::before{opacity:.95;animation-play-state:running}
html body .shark-chat.is-thinking::after{opacity:.5;animation-play-state:running}
html body .shark-chat.is-thinking{animation:none!important;border-color:transparent;
 background:radial-gradient(120% 55% at 50% -8%,rgba(255,127,198,.09),transparent 60%),var(--surface)}
html body .shark-chat.is-thinking .shark-thinking .pixel-shark{filter:drop-shadow(0 0 8px rgba(255,127,198,.55)) drop-shadow(0 0 14px rgba(127,211,255,.35))}
html body .shark-chat.is-thinking .shark-heading small,
html body .shark-chat.is-thinking .shark-thinking>span{
 background:linear-gradient(90deg,var(--muted) 15%,var(--ai-a) 38%,var(--ai-b) 62%,var(--muted) 85%);background-size:260% 100%;
 -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
 animation:pp-text-shimmer 2.6s linear infinite;
}
html body .shark-chat.is-thinking .shark-thinking .thinking-dots{-webkit-text-fill-color:var(--muted);color:var(--muted)}
@keyframes pp-text-shimmer{from{background-position:130% 0}to{background-position:-130% 0}}
html body .shark-chat.is-thinking .shark-composer{border-color:transparent;
 background:linear-gradient(var(--surface),var(--surface)) padding-box,conic-gradient(from var(--pp-ang),var(--ai-a),var(--ai-b),var(--ai-c),var(--ai-a)) border-box;
 border:1px solid transparent;animation:pp-spin 6s linear infinite}

/* Сообщения и кнопки действий */
.shark-message{animation:pp-msg-in .55s var(--ease) both}
@keyframes pp-msg-in{from{opacity:0;transform:perspective(900px) translate3d(0,12px,-24px) rotateX(8deg) scale(.985)}}
html body .shark-action{border:1px solid transparent;
 background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(120deg,rgba(255,127,198,.42),rgba(127,211,255,.42)) border-box;
 box-shadow:0 6px 18px -8px rgba(255,127,198,.35);transition:translate .4s var(--ease),box-shadow .4s}
html body .shark-action:active{translate:0 1px;box-shadow:0 3px 10px -6px rgba(127,211,255,.4)}
html body .ai-draft-notice{border:0;color:var(--ink);
 background:linear-gradient(110deg,rgba(255,127,198,.14),rgba(127,211,255,.14));
 box-shadow:inset 0 0 0 1px rgba(185,156,255,.22)}

/* Подсветка найденного: тонкое кольцо и мягкий ореол вместо жёсткой обводки. */
html body .ai-located{outline:none!important;animation:none!important;position:relative;isolation:isolate;scroll-margin-top:160px}
html body .ai-located::before,html body .ai-located::after{
 content:'';position:absolute;inset:-7px;border-radius:22px;pointer-events:none;box-sizing:border-box;opacity:0;
 animation:pp-found 5.8s var(--ease) both,pp-spin 4s linear infinite;
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
 mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
}
html body .ai-located::before{padding:1.5px;z-index:3;
 background:conic-gradient(from var(--pp-ang),var(--ai-a),var(--ai-b),var(--ai-c),var(--ai-d),var(--ai-a))}
html body .ai-located::after{padding:8px;z-index:-1;filter:blur(11px);
 background:conic-gradient(from var(--pp-ang),var(--ai-a),var(--ai-b),var(--ai-c),var(--ai-d),var(--ai-a))}
@keyframes pp-found{0%{opacity:0;scale:.97}9%{opacity:1;scale:1.006}15%{scale:1}80%{opacity:1}100%{opacity:0}}

/* Плашка «Найдено» */
html body #ai-found{
 position:fixed;z-index:100;left:50%;top:calc(80px + env(safe-area-inset-top));translate:-50% 0;transform:none;
 display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 32px);
 padding:8px 9px 8px 9px;border:0;border-radius:999px;color:var(--ink);overflow:hidden;
 background:color-mix(in srgb,var(--surface) 80%,transparent);
 -webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);
 box-shadow:inset 0 1px 1px var(--pp-shine),0 12px 32px -10px rgba(0,0,0,.35),0 0 28px -4px rgba(255,127,198,.3),0 0 28px -4px rgba(127,211,255,.28);
 animation:pp-banner-in .75s var(--pp-spring) both;pointer-events:auto;
}
html body #ai-found::before{
 content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
 background:conic-gradient(from var(--pp-ang),var(--ai-a),var(--ai-b),var(--ai-c),var(--ai-d),var(--ai-a));
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
 mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
 animation:pp-spin 4s linear infinite;
}
html body #ai-found.out{animation:pp-banner-out .35s ease-in forwards}
html body #ai-found .ai-found-icon{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:50%;font-style:normal;color:#fff;
 background:linear-gradient(135deg,var(--ai-a),var(--ai-b));box-shadow:0 0 14px rgba(255,127,198,.5)}
html body #ai-found .ai-found-icon svg{width:15px;height:15px}
html body #ai-found>span{display:flex;flex-direction:column;gap:1px;min-width:0;padding-right:2px}
html body #ai-found>span small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;
 background:linear-gradient(90deg,var(--ai-a),var(--ai-b));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
html body #ai-found>span b{font-size:13px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
html body #ai-found>button{flex:0 0 auto;width:26px;height:26px;padding:0;border-radius:50%;font-size:18px;line-height:1;
 background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--muted);opacity:1}
html body dialog #ai-found{position:sticky;top:0;left:auto;translate:none;margin:6px auto 4px;max-width:100%;z-index:5}
@keyframes pp-banner-in{from{opacity:0;transform:translate3d(0,-14px,0) scale(.92);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes pp-banner-out{to{opacity:0;transform:translate3d(0,-10px,0) scale(.95)}}

/* ───────── Reduced motion ───────── */
@media(prefers-reduced-motion:reduce){
 html:not(#_) body .sidebar .nav *,html:not(#_) body .sidebar .nav *::after{transition:none!important}
 html body dialog::backdrop,html body dialog.closing::backdrop{animation:none!important}
 html body .shark-chat::before,html body .shark-chat::after,html body .ai-located::before,html body .ai-located::after,
 html body #ai-found,html body #ai-found::before,.shark-message,html body .shark-chat.is-thinking .shark-composer,
 html body .shark-chat.is-thinking .shark-heading small,html body .shark-chat.is-thinking .shark-thinking>span{animation:none!important}
 html body .ai-located::before{opacity:1}html body .ai-located::after{opacity:.45}
 html body .shark-chat.is-thinking::before{opacity:.95}html body .shark-chat.is-thinking::after{opacity:.5}
}
html[data-motion=reduced][data-motion=reduced] body .sidebar .nav *,html[data-motion=reduced][data-motion=reduced] body .sidebar .nav *::after{transition:none!important}
html[data-motion=reduced] body dialog::backdrop,html[data-motion=reduced] body dialog.closing::backdrop{animation:none!important}
html[data-motion=reduced] body .shark-chat::before,html[data-motion=reduced] body .shark-chat::after,
html[data-motion=reduced] body .ai-located::before,html[data-motion=reduced] body .ai-located::after,
html[data-motion=reduced] body #ai-found,html[data-motion=reduced] body #ai-found::before,html[data-motion=reduced] .shark-message,
html[data-motion=reduced] body .shark-chat.is-thinking .shark-composer,html[data-motion=reduced] body .shark-chat.is-thinking .shark-heading small,
html[data-motion=reduced] body .shark-chat.is-thinking .shark-thinking>span{animation:none!important}
html[data-motion=reduced] body .ai-located::before{opacity:1}html[data-motion=reduced] body .ai-located::after{opacity:.45}

/* 4.3.1: one spring owns lens geometry; CSS only handles its optical response. */
@media(max-width:760px){
 html body .sidebar .nav button,html body .sidebar .nav button.active{flex:1 1 0%!important;min-width:0!important;transition:flex .58s cubic-bezier(.16,1,.3,1),color .24s!important}
 html body .sidebar .nav button.active{flex:2.05 1 0%!important}
 html body .sidebar .nav .nav-thumb,html body .sidebar .nav.dragging .nav-thumb{transition:scale .38s cubic-bezier(.16,1,.3,1),box-shadow .3s,background .3s!important;transform:translate3d(var(--lens-x,0px),0,0)!important;scale:1}
 html body .sidebar .nav.touching .nav-thumb{scale:1.025 1.09;-webkit-backdrop-filter:blur(24px) saturate(1.9);backdrop-filter:blur(24px) saturate(1.9);box-shadow:inset 0 1px 2px #ffffff70,-3px 0 10px #77dcff60,3px 0 10px #f399d65c,0 7px 22px var(--pp-lens-glow)!important}
 html body .sidebar .nav.touching button.dock-preview svg{filter:blur(.22px) drop-shadow(-1px 0 1px #68daff99) drop-shadow(1px 0 1px #ff9ccfaa)}
}
.ai-perimeter{position:fixed!important;margin:0!important;padding:0!important;border:0!important;max-width:none!important;max-height:none!important;box-sizing:border-box;overflow:visible!important;background:transparent!important;pointer-events:none!important;z-index:2147483646;isolation:isolate}
.ai-perimeter::before,.ai-perimeter::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;padding:2px;background:conic-gradient(from var(--pp-ang),#ff87cf,#be9dff,#79dfff,#b9a0ff,#ffadc3,#ff87cf);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:pp-spin 5s linear infinite}
.ai-perimeter::after{inset:0;padding:8px;filter:blur(8px);opacity:.8}
html body dialog #ai-found{position:relative;top:auto;bottom:auto;margin:18px auto 0;max-width:100%;translate:none;transform:none}
@media(prefers-reduced-motion:reduce){.ai-perimeter::before,.ai-perimeter::after{animation:none!important}}
html[data-motion=reduced] .ai-perimeter::before,html[data-motion=reduced] .ai-perimeter::after{animation:none!important}
