/* LuFi HUB 9 — original design with a full-width, persistent window mosaic */
:root{--hub-accent:#ffffff;--hub-glass-blur:18px}
html,body{max-width:100%!important;overflow-x:clip!important}
.hero-section{padding:12px 0 38px;min-height:calc(100dvh - 100px)}
.hero-section>.container-fluid{width:100%}
.bento-grid{max-width:1800px!important;min-width:0;width:100%!important;padding:0 clamp(12px,2.1vw,36px)!important;gap:clamp(11px,1.35vw,20px)!important;grid-auto-rows:clamp(118px,10.8vw,168px);margin:auto}
/* Scale the WHOLE tile, including its small corner control. */
.card-wrap{z-index:1;isolation:auto!important;transform:scale(1);transform-origin:center center;transition:transform .38s cubic-bezier(.19,.87,.24,1),filter .32s;will-change:transform;position:relative}
.card-wrap:hover,.card-wrap:focus-within{z-index:1200!important;transform:scale(1.10)}
.card-wrap:has(>.premium-card.expanded-xl){z-index:1200!important;transform:scale(1.12)}
.card-wrap:has(>.premium-card.expanded){z-index:1200!important;transform:scale(1.10)}
.card-wrap>.premium-card,.card-wrap>.premium-card:hover,.card-wrap>.premium-card:active,.card-wrap>.premium-card.expanded,.card-wrap>.premium-card.expanded-xl{transform:none!important;z-index:1!important}
.card-wrap>.premium-card{width:100%;height:100%}
/* Small transparent corner icon, visible on the enlarged tile, not a separate label. */
.card-wrap .corner-preview{position:absolute!important;z-index:1300!important;inset:9px 9px auto auto!important;display:grid!important;place-items:center!important;width:31px!important;min-width:0!important;height:31px!important;padding:0!important;gap:0!important;border-radius:9px!important;border:1px solid rgba(211,253,232,.42)!important;background:rgba(5,10,11,.74)!important;box-shadow:0 2px 13px #0007,inset 0 1px 0 #fff1!important;opacity:0!important;color:#e3fff0!important;backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%);transform:none!important;transition:opacity .15s ease,background .2s,border-color .2s,box-shadow .2s!important;cursor:pointer;touch-action:manipulation;pointer-events:none}
.card-wrap .corner-preview svg{width:17px;height:17px;display:block;pointer-events:none;flex:initial}
.card-wrap:hover .corner-preview,.card-wrap:focus-within .corner-preview,.card-wrap .corner-preview.is-active{opacity:1!important;pointer-events:auto}
.card-wrap .corner-preview:hover,.card-wrap .corner-preview:focus-visible{opacity:1!important;color:#fff!important;background:rgba(54,103,84,.88)!important;border-color:var(--hub-accent)!important;box-shadow:0 0 0 2px rgba(173,250,216,.18),0 5px 20px #0008!important}
.card-wrap .corner-preview.is-active{border-color:var(--hub-accent)!important;box-shadow:0 0 0 1px var(--hub-accent),0 0 15px #bbf4d026!important}
.card-wrap .corner-preview>span{display:none!important}


/* LuFi HUB 10 — window manager directly over the original page. No containing workspace. */
:root {--float-top:76px;--float-edge:12px}
html,body{max-width:100%!important;overflow-x:clip!important}
.site-header{background:transparent!important;box-shadow:none!important;border-bottom:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.site-header.is-condensed{position:fixed!important;left:0;top:0;width:100%;height:0!important;min-height:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:none;overflow:visible;isolation:auto;z-index:3700}
.site-header.is-condensed .header-logo-wrap{position:fixed!important;left:clamp(12px,2vw,32px)!important;top:12px!important;transform:none!important;max-width:154px;pointer-events:auto}
.site-header.is-condensed .logo-img{width:136px!important;height:38px!important;max-width:136px!important}
.site-header.is-condensed .logo-orbit.logo-missing .logo-fallback{width:136px!important;height:38px!important;font-size:24px!important}
.site-header.is-condensed .header-settings{position:fixed!important;right:clamp(12px,2vw,30px)!important;top:12px!important;pointer-events:auto}
.header-settings{z-index:3900}
/* Settings always above floating windows, no additional navbar. */
.hub-settings{z-index:4700!important;max-height:calc(100dvh - 76px);overflow:auto}
.floating-layer{position:fixed;inset:0;z-index:1900;pointer-events:none;overflow:visible}
.float-window{position:fixed;left:var(--wx,10vw);top:var(--wy,15vh);width:var(--ww,65vw);height:var(--wh,60vh);display:flex;flex-direction:column;min-width:0;min-height:0;border-radius:15px;border:1px solid rgba(222,255,236,.26);background:rgba(4,7,8,.94);color:#f3fff8;pointer-events:auto;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.73),0 0 0 1px rgba(185,255,216,.025),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(var(--hub-glass-blur,18px)) saturate(122%);-webkit-backdrop-filter:blur(var(--hub-glass-blur,18px)) saturate(122%);will-change:left,top,width,height;transition:border-color .18s,box-shadow .18s;touch-action:auto}
.float-window:focus-within,.float-window:hover{border-color:rgba(192,255,219,.57)}
.float-window.is-front{border-color:var(--hub-accent,#b8f1db);box-shadow:0 26px 72px #000c,0 0 0 1px rgba(198,255,226,.09)}
.float-window.is-maximized{inset:8px!important;left:8px!important;top:8px!important;width:calc(100vw - 16px)!important;height:calc(100dvh - 16px)!important;z-index:5200!important;border-radius:14px}
.float-bar{height:39px;min-height:39px;padding:0 7px 0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:grab;user-select:none;touch-action:none;background:linear-gradient(95deg,rgba(157,225,185,.105),rgba(48,78,65,.04) 55%,rgba(255,255,255,.025));border-bottom:1px solid rgba(230,255,238,.10)}
.float-bar:active{cursor:grabbing}
.float-name{display:inline-flex;align-items:center;gap:9px;min-width:0;font:600 11px 'Unbounded',sans-serif;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e8fff1}
.float-name::before{content:'';flex:none;width:6px;height:6px;border-radius:50%;background:var(--hub-accent);box-shadow:0 0 9px var(--hub-accent)}
.float-grab{font-size:15px;color:#a5c8b8;letter-spacing:1px;opacity:.65;flex:none}
.float-buttons{display:flex;align-items:center;gap:2px;flex-shrink:0}
.float-btn{width:29px;height:29px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:#c5dfd0;text-decoration:none;cursor:pointer}
.float-btn:hover,.float-btn:focus-visible{color:#fff;background:rgba(215,255,232,.13);border-color:rgba(246,255,247,.16)}
.float-btn.close:hover{color:#ffb0bd;background:rgba(255,76,110,.15)}
.float-btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round}
.float-stage{flex:1;position:relative;min-height:0;background:#050708;overflow:hidden}
.float-stage iframe{display:block;width:100%;height:100%;border:0;background:#050708}
.float-stage.is-demo{display:grid;place-items:center;background:radial-gradient(circle at 25% 18%,rgba(132,239,185,.1),transparent 37%),#040708}
.float-demo{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:30px;max-width:460px}
.float-demo-mark{font:500 10px 'JetBrains Mono',monospace;letter-spacing:.25em;color:var(--hub-accent)}
.float-demo h3{margin:0;font:700 clamp(22px,3vw,37px) 'Unbounded',sans-serif;color:#e7fff0}
.float-demo p{font-size:12px;line-height:1.65;color:#9ab1a4;margin:0}
.float-demo-line{width:min(290px,75%);height:42px;border-bottom:2px solid #83cbae88;border-radius:50%;transform:rotate(-4deg);box-shadow:0 13px 20px #b1f1d014}
.float-notice{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;height:100%;text-align:center;color:#e9fff2}
.float-notice strong{font-size:15px}.float-notice p{font-size:12px;line-height:1.6;max-width:360px;color:#a4baae;margin:0}
.float-notice a,.float-notice button{padding:9px 13px;border:1px solid #b8f1db69;border-radius:9px;color:#d2ffe7;background:#b8f1db12;font-size:12px;text-decoration:none;cursor:pointer}
.float-resize{position:absolute;bottom:0;right:0;width:30px;height:30px;border:0;border-radius:0 0 14px 0;color:var(--hub-accent);background:linear-gradient(135deg,transparent 40%,rgba(70,113,89,.26) 41%);z-index:3;cursor:nwse-resize;touch-action:none;padding:0}
.float-resize svg{position:absolute;bottom:3px;right:3px;stroke:currentColor;fill:none;stroke-width:1.8;width:17px;height:17px}
.float-window.is-dragging,.float-window.is-resizing{transition:none!important;box-shadow:0 34px 85px rgba(0,0,0,.87),0 0 0 1px var(--hub-accent)}
.float-window.is-dragging .float-stage,.float-window.is-resizing .float-stage{pointer-events:none}
.float-btn:focus-visible,.float-bar:focus-visible,.float-resize:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}
body.ambient-off #network-canvas{opacity:0!important}
@media(max-width:768px){
 .site-header.is-condensed .header-logo-wrap{left:12px!important;top:9px!important}.site-header.is-condensed .logo-img{width:116px!important;height:32px!important}.site-header.is-condensed .logo-orbit.logo-missing .logo-fallback{width:116px!important;height:32px!important;font-size:21px!important}
 .site-header.is-condensed .header-settings{top:9px!important;right:12px!important}
 .float-window{border-radius:12px}.float-bar{height:42px;min-height:42px;padding-left:9px}.float-name{font-size:10px}.float-btn{width:32px;height:32px}.float-resize{width:36px;height:36px}
 .card-wrap:hover{transform:scale(1.045)!important}
 .card-wrap .corner-preview{opacity:.94!important;pointer-events:auto!important;top:6px!important;right:6px!important}
 .hub-settings{top:60px!important}
}
@media(max-width:360px){.float-btn{width:29px}.float-bar{gap:4px}.float-grab{display:none}}
@media(prefers-reduced-motion:reduce){.float-window,.site-header,.header-logo-wrap,.site-header .logo-img{transition:none!important}}

/* LuFi HUB 11 — stopniowane okna + inteligentne dopasowanie kafelków */
.float-size-btn{width:34px;min-width:34px;height:28px;border:1px solid rgba(194,250,220,.19);border-radius:8px;background:rgba(209,255,233,.055);color:#ddf9e9;font:700 11px 'JetBrains Mono',monospace;cursor:pointer;display:grid;place-items:center;padding:0;margin-right:2px}
.float-size-btn:hover,.float-size-btn:focus-visible{background:rgba(155,234,191,.18);border-color:var(--hub-accent);color:#fff;outline:none}
.float-window.is-resizing{transition:width .16s ease,height .16s ease!important}
.float-resize{opacity:.68;transition:opacity .18s}
.float-resize:hover{opacity:1}
/* Full viewport canvas is transparent and adds no toolbar or shared box */
body.smart-tiles #cards-container{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;z-index:700!important;pointer-events:none;overflow:visible!important;perspective:none!important;transform-style:flat!important}
body.smart-tiles #cards-container>.card-wrap{position:absolute!important;left:var(--tile-x,0px)!important;top:var(--tile-y,90px)!important;width:var(--tile-w,160px)!important;height:var(--tile-h,100px)!important;grid-column:auto!important;grid-row:auto!important;pointer-events:auto;transition:left .30s cubic-bezier(.22,.8,.22,1),top .30s cubic-bezier(.22,.8,.22,1),width .26s ease,height .26s ease!important;will-change:left,top}
body.smart-tiles #cards-container>.card-wrap>.premium-card{width:100%!important;height:100%!important}
body.smart-tiles .hero-section{min-height:100dvh; padding:0!important}
body.smart-tiles .hero-section>.container-fluid{width:100%;padding:0!important}
body.smart-tiles footer,body.smart-tiles .footer-content{opacity:0;pointer-events:none}
body.smart-tiles .card-content{transform:translateZ(13px)}
body.smart-tiles .icon-wrapper{margin-bottom:6px}
body.smart-tiles .wide-card .icon-wrapper{margin-bottom:0}
body.smart-tiles .card-icon{font-size:clamp(1.1rem,1.6vw,1.8rem)}
body.smart-tiles .card-image-icon{width:28px!important;height:28px!important}
body.smart-tiles .card-title{font-size:clamp(.54rem,.8vw,.68rem)!important}
body.smart-tiles .card-wrap:hover,body.smart-tiles .card-wrap:focus-within{z-index:1300!important}
body.smart-tiles .corner-preview{top:5px;right:5px;width:27px;height:27px;opacity:.72}
body.smart-tiles .corner-preview:hover,body.smart-tiles .corner-preview.is-active{opacity:1}
body.smart-tiles .card-wrap[data-narrow='1'] .card-content{flex-direction:column!important;gap:3px!important;padding:0!important}
body.smart-tiles .card-wrap[data-narrow='1'] .icon-wrapper{margin:0!important}
body.smart-tiles .card-wrap[data-narrow='1'] .card-title{font-size:9px!important;white-space:normal}
body.smart-tiles .card-wrap[data-narrow='1'] .premium-card{border-radius:13px!important}
body.smart-tiles .card-wrap[data-narrow='1'] .corner-preview{width:24px;height:24px}
body.smart-tiles .card-wrap[data-narrow='1'] .corner-preview svg{width:14px;height:14px}
/* Mobile: cards stay visible as a horizontal project strip above the window, and never under it. */
@media(max-width:700px){
 body.smart-tiles #cards-container{top:57px!important;left:0!important;right:0!important;bottom:auto!important;width:100vw!important;height:107px!important;display:flex!important;gap:10px!important;padding:9px 12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;scrollbar-width:thin;pointer-events:auto;background:linear-gradient(180deg,rgba(0,0,0,.47),rgba(0,0,0,.06))}
 body.smart-tiles #cards-container>.card-wrap{position:relative!important;flex:0 0 132px!important;width:132px!important;height:86px!important;left:auto!important;top:auto!important;scroll-snap-align:start;will-change:auto;transition:none!important}
 body.smart-tiles #cards-container>.card-wrap.wide-card{flex-basis:142px!important;width:142px!important}
 body.smart-tiles #cards-container>.card-wrap .card-content{flex-direction:column!important;padding:0!important;gap:5px!important}
 body.smart-tiles #cards-container>.card-wrap .icon-wrapper{margin:0!important}
 body.smart-tiles #cards-container>.card-wrap .card-title{font-size:10px!important}
 body.smart-tiles .premium-card.expanded,body.smart-tiles .premium-card.expanded-xl{transform:scale(1.04)!important}
 .float-size-btn{width:31px;min-width:31px;height:29px}
}
@media(prefers-reduced-motion:reduce){body.smart-tiles #cards-container>.card-wrap{transition:none!important}}

@media(min-width:701px){body.smart-tiles.smart-tiles-strip #cards-container{top:76px!important;bottom:auto!important;left:0!important;height:105px!important;max-width:100vw!important;display:flex!important;gap:8px!important;padding:8px 12px!important;overflow-x:auto!important;overflow-y:hidden!important;pointer-events:auto}body.smart-tiles.smart-tiles-strip #cards-container>.card-wrap{position:relative!important;left:auto!important;top:auto!important;width:125px!important;height:85px!important;flex:0 0 125px!important}}

/* LuFi HUB 12 — shared responsive grid. No overlapping preview windows. */
:root{--board-gap:10px;--board-row:88px}
body.grid-board{min-height:100dvh;overflow:hidden!important}
body.grid-board .hero-section{min-height:100dvh!important;padding:0!important}
body.grid-board .hero-section>.container-fluid{padding:0!important;width:100%!important}
body.grid-board #cards-container{
 position:fixed!important;left:0!important;right:0!important;top:66px!important;bottom:0!important;
 width:100%!important;height:calc(100dvh - 66px)!important;max-width:none!important;
 margin:0!important;padding:12px clamp(10px,1.15vw,18px) 20px!important;
 display:grid!important;grid-template-columns:repeat(var(--board-cols,8),minmax(0,1fr))!important;
 grid-auto-rows:var(--board-row,88px)!important;grid-auto-flow:row!important;
 gap:var(--board-gap,10px)!important;align-content:start!important;align-items:stretch!important;
 overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;
 z-index:1800!important;isolation:isolate!important;perspective:none!important;transform:none!important;transform-style:flat!important;
 background:transparent!important;pointer-events:auto!important;scrollbar-color:#4a6558 #0000;
}
body.grid-board #cards-container>.card-wrap{
 position:relative!important;left:auto!important;top:auto!important;
 width:auto!important;height:auto!important;min-height:0!important;
 grid-area:var(--grid-row,auto) / var(--grid-col,auto) / span var(--grid-rspan,1) / span var(--grid-cspan,1)!important;
 margin:0!important;min-width:0!important;max-width:none!important;
 pointer-events:auto!important;transition:transform .34s cubic-bezier(.2,.8,.2,1),filter .25s!important;
 will-change:transform;z-index:2!important;
}
body.grid-board #cards-container>.card-wrap:hover,body.grid-board #cards-container>.card-wrap:focus-within{z-index:100!important;transform:scale(1.09)!important}
body.grid-board #cards-container>.card-wrap>.premium-card{width:100%!important;height:100%!important;max-width:none!important;min-height:0!important}
body.grid-board #cards-container>.card-wrap .card-title{font-size:clamp(9px,.78vw,13px)!important}
body.grid-board #cards-container>.card-wrap .card-icon{font-size:clamp(19px,2vw,30px)!important}
body.grid-board #cards-container>.card-wrap .card-image-icon{width:clamp(24px,2.5vw,36px)!important;height:clamp(24px,2.5vw,36px)!important}
body.grid-board #cards-container>.card-wrap .icon-wrapper{margin-bottom:4px!important}
body.grid-board #cards-container>.card-wrap .card-content{padding:6px!important;gap:4px!important}
body.grid-board #cards-container>.float-window{
 position:relative!important;inset:auto!important;top:auto!important;left:auto!important;
 width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;
 transform:none!important;grid-area:var(--grid-row,auto) / var(--grid-col,auto) / span var(--grid-rspan,4) / span var(--grid-cspan,4)!important;
 margin:0!important;z-index:10!important;overflow:hidden!important;
 box-shadow:0 15px 38px #000a,inset 0 1px 0 #ffffff0d;
}
body.grid-board #cards-container>.float-window:hover,body.grid-board #cards-container>.float-window:focus-within{z-index:12!important}
body.grid-board #cards-container>.float-window.is-dragging{z-index:140!important;box-shadow:0 15px 60px #000b,0 0 0 1px var(--hub-accent)!important}
body.grid-board #cards-container>.float-window.is-dragging .float-stage{pointer-events:none}
body.grid-board #cards-container>.float-window.is-maximized{
 position:fixed!important;left:8px!important;top:64px!important;width:calc(100vw - 16px)!important;
 height:calc(100dvh - 72px)!important;z-index:5200!important;
}
body.grid-board.grid-maximized #cards-container{overflow:hidden!important}
body.grid-board.grid-maximized #cards-container>.card-wrap,
body.grid-board.grid-maximized #cards-container>.float-window:not(.is-maximized){visibility:hidden!important;pointer-events:none!important}
body.grid-board .float-resize{cursor:nwse-resize}
body.grid-board .float-bar{cursor:grab}
body.grid-board .float-window.is-dragging .float-bar{cursor:grabbing}
body.grid-board .hub-settings{z-index:6100!important}
body.grid-board .site-header{z-index:5900!important}
body.grid-board .site-header.is-condensed{height:0!important}
body.grid-board .site-header.is-condensed .header-logo-wrap{z-index:2}
body.grid-board .float-window .float-btn,body.grid-board .float-window .float-size-btn{flex-shrink:0}
@media(max-width:700px){
 :root{--board-gap:8px;--board-row:87px}
 body.grid-board #cards-container{top:62px!important;height:calc(100dvh - 62px)!important;padding:8px 8px 75px!important;gap:8px!important;display:grid!important;overflow-y:auto!important;overflow-x:hidden!important;scroll-snap-type:none!important}
 body.grid-board #cards-container>.card-wrap{flex:none!important;position:relative!important;width:auto!important;height:auto!important;left:auto!important;top:auto!important;transform:none!important}
 body.grid-board #cards-container>.card-wrap:hover,body.grid-board #cards-container>.card-wrap:focus-within{transform:scale(1.035)!important}
 body.grid-board #cards-container>.float-window{width:100%!important;height:100%!important;position:relative!important}
 body.grid-board #cards-container>.float-window.is-maximized{position:fixed!important;top:56px!important;height:calc(100dvh - 64px)!important}
 body.grid-board #cards-container>.card-wrap .corner-preview{opacity:1!important;pointer-events:auto!important}
 body.grid-board .float-name{font-size:10px!important}
 body.grid-board .float-grab{display:none}
}
@media(prefers-reduced-motion:reduce){body.grid-board #cards-container>.card-wrap{transition:none!important}}

/* LuFi HUB 13 — independent live row and column resize, customization */
:root{--hub-glass-alpha:.88;--hub-border-alpha:.28;--hub-radius:15px;--hub-tile-zoom:1.09}
body.grid-board #cards-container{--board-gap:var(--hub-grid-gap,10px);--board-row:var(--hub-grid-row,90px)}
body.grid-board #cards-container>.card-wrap:hover,
body.grid-board #cards-container>.card-wrap:focus-within{transform:scale(var(--hub-tile-zoom,1.09))!important}
body.grid-board #cards-container>.float-window{border-radius:var(--hub-radius,15px)!important;background:rgba(4,7,8,var(--hub-glass-alpha,.88))!important;border-color:rgba(222,255,236,var(--hub-border-alpha,.28))!important;backdrop-filter:blur(var(--hub-glass-blur,18px)) saturate(120%);-webkit-backdrop-filter:blur(var(--hub-glass-blur,18px)) saturate(120%);will-change:auto}
body.grid-board #cards-container>.float-window.is-resizing{transition:none!important}
body.grid-board .float-window .float-stage,body.grid-board .float-window .float-stage iframe{height:100%;min-height:0}
body.grid-board .float-resize{width:38px;height:38px;touch-action:none;opacity:.85;cursor:nwse-resize}
body.grid-board .float-resize:hover{opacity:1}
body.grid-board #cards-container>.float-window.is-resizing .float-stage{pointer-events:none}
body.grid-board .float-window .float-size-btn[data-custom="1"]{font-size:9px}
body.grid-board #cards-container>.card-wrap>.premium-card{border-radius:var(--hub-radius,15px)!important}
body.grid-board #cards-container>.card-wrap .card-title{font-size:clamp(10px,.85vw,14px)!important}
body.motion-off *,body.motion-off *::before,body.motion-off *::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
/* Day mode is scoped to LuFi itself; iframe websites keep their own styles. */
body.hub-day{--bg-base:#eef4f1;--rgb-base:26,43,37;--card-bg:rgba(255,255,255,.76);--card-border:rgba(22,68,49,.19);--card-hover-border:rgba(25,105,74,.55);color:#1a2b25!important;background:#eef4f1!important;transition:background .25s ease!important}
body.hub-day::before{opacity:.09;background:linear-gradient(to bottom,transparent 60%,rgba(14,60,42,.09) 60%)}
body.hub-day .premium-card{background:rgba(255,255,255,.74)!important;color:#192f25!important;box-shadow:0 8px 32px rgba(30,66,53,.07)!important}
body.hub-day .premium-card .card-title,body.hub-day .premium-card .card-icon{color:#203e33!important;text-shadow:none!important;background:transparent!important}
body.hub-day .card-image-icon{background-color:#244535!important}
body.hub-day .premium-card:hover{box-shadow:0 15px 42px rgba(44,87,69,.19)!important}
body.hub-day .header-settings{background:rgba(255,255,255,.8)!important;border-color:rgba(30,81,58,.2)!important;color:#244435!important}
body.hub-day .card-wrap .corner-preview{background:rgba(251,255,252,.96)!important;border-color:rgba(27,86,58,.34)!important;color:#193e2c!important}
body.hub-day .hub-settings{background:rgba(250,254,252,.97)!important;color:#1e372b!important;border-color:rgba(23,77,48,.23)!important;box-shadow:0 20px 66px rgba(26,65,49,.18)!important}
body.hub-day .hub-settings h2,body.hub-day .settings-group label,body.hub-day .switch-row span{color:#193629!important}
body.hub-day .settings-help,body.hub-day .settings-overline,body.hub-day .switch-row small,body.hub-day .setting-inline label span{color:#60786b!important}
body.hub-day .settings-subheading{border-color:rgba(36,90,63,.15)!important}
body.hub-day .switch-row{border-color:rgba(36,90,63,.12)!important}
body.hub-day .settings-group select,body.hub-day .settings-actions button:not(:last-child){background:#eef5f0!important;color:#254034!important;border-color:#abc5b8!important}
body.hub-day .plain-icon{color:#234132!important}
body.hub-day .float-window{color:#1c372b!important;background:rgba(251,255,253,var(--hub-glass-alpha,.88))!important;border-color:rgba(29,91,61,var(--hub-border-alpha,.28))!important;box-shadow:0 14px 40px rgba(26,64,47,.15)!important}
body.hub-day .float-bar{background:linear-gradient(90deg,rgba(33,110,79,.11),rgba(230,246,238,.64))!important;border-color:rgba(29,91,61,.16)!important}
body.hub-day .float-name,body.hub-day .float-btn,body.hub-day .float-size-btn{color:#234839!important}
body.hub-day .float-btn:hover,body.hub-day .float-size-btn:hover{color:#143526!important;background:#deede3!important}
body.hub-day .float-size-btn{border-color:#9dbbac!important;background:#f2faf4!important}
body.hub-day .float-stage{background:#eef5f1!important}
body.hub-day .float-notice{color:#1e4233!important}
body.hub-day .float-notice p{color:#526d5e!important}
body.hub-day .float-demo h3{color:#254737!important}
body.hub-day .float-demo p{color:#5c7567!important}
body.hub-day .settings-actions button:last-child{color:#082316!important}
body.hub-day .float-embedded-hint{background:rgba(247,255,250,.92);color:#305543;border-color:#a5c9b3}
/* Keep accessible controls at narrow sizes. */
@media(max-width:700px){body.grid-board #cards-container{gap:var(--hub-grid-gap,8px)!important}body.grid-board #cards-container>.card-wrap:hover{transform:scale(min(var(--hub-tile-zoom,1.09),1.05))!important}}
.float-embedded-hint{position:absolute;right:12px;bottom:10px;z-index:2;display:flex;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:5px 9px;border:1px solid #94c5a359;border-radius:8px;background:rgba(5,14,11,.85);backdrop-filter:blur(7px);color:#dcffeb;font-size:11px;box-shadow:0 2px 10px #0002}
.float-embedded-hint a{color:inherit;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}

/* Prevent the fixed grid from exceeding the viewport on narrow screens. */
body.grid-board #cards-container{box-sizing:border-box!important;width:100%!important;max-width:100vw!important}


/* LuFi HUB 14.1 — narrow toolbar, original bottom footer, readable light tiles */
:root{--hub-board-toolbar:46px}
body.grid-board .site-header.is-condensed{
  height:var(--hub-board-toolbar)!important;min-height:0!important;position:fixed!important;
  top:0!important;left:0!important;width:100%!important;
  background:rgba(4,8,9,.81)!important;border-bottom:1px solid rgba(198,255,229,.10)!important;
  -webkit-backdrop-filter:blur(16px) saturate(120%)!important;
  backdrop-filter:blur(16px) saturate(120%)!important;
  pointer-events:none!important;z-index:5900!important;
}
body.grid-board .site-header.is-condensed .header-logo-wrap{
  top:7px!important;left:clamp(12px,2vw,27px)!important;max-width:112px!important;
}
body.grid-board .site-header.is-condensed .logo-img{
  width:106px!important;height:30px!important;max-width:106px!important;
}
body.grid-board .site-header.is-condensed .logo-orbit.logo-missing .logo-fallback{
  width:106px!important;height:30px!important;font-size:22px!important;
}
body.grid-board .site-header.is-condensed .sat-orbit{display:none!important}
body.grid-board .site-header.is-condensed .header-settings{
  top:7px!important;right:clamp(12px,2vw,27px)!important;width:31px!important;height:31px!important;
  border-radius:9px!important;
}
body.grid-board .site-header.is-condensed .header-settings svg{width:17px;height:17px}
body.grid-board #cards-container{
  top:var(--hub-board-toolbar)!important;
  height:calc(100dvh - var(--hub-board-toolbar))!important;
  padding-bottom:54px!important;
}
body.grid-board .hub-settings{top:calc(var(--hub-board-toolbar) + 7px)!important;max-height:calc(100dvh - var(--hub-board-toolbar) - 14px)!important}
body.grid-board #cards-container>.float-window.is-maximized{
  top:calc(var(--hub-board-toolbar) + 5px)!important;
  height:calc(100dvh - var(--hub-board-toolbar) - 13px)!important;
}
/* Use the same original © 2026 LuFi footer in both page layouts.
   Only its position changes while the panel mosaic is open. */
body.grid-board:not(.grid-maximized) .footer-wrap{
  display:flex!important;
  position:fixed!important;
  left:0!important;right:0!important;
  bottom:max(10px,env(safe-area-inset-bottom))!important;
  width:100%!important;
  margin:0!important;
  padding:0 12px!important;
  z-index:5800!important;
  pointer-events:none!important;
}
body.grid-board.grid-maximized .footer-wrap{display:none!important}
/* Light mode: dark text and dark mask icons, never dark text backgrounds. */
body.hub-day .premium-card,
body.hub-day .card-wrap>.premium-card{
  background:#fff!important;border-color:rgba(26,77,51,.25)!important;
}
body.hub-day .premium-card .card-title,
body.hub-day .premium-card:hover .card-title,
body.hub-day .premium-card .card-icon{
  color:#153d2d!important;background:transparent!important;
  text-shadow:none!important;opacity:1!important;
}
body.hub-day .premium-card .card-image-icon{
  background-color:#174934!important;opacity:1!important;
  filter:none!important;
}
body.hub-day .premium-card .icon-glow{background:radial-gradient(circle,rgba(39,125,82,.17) 0%,transparent 72%)}
body.hub-day .premium-card .holo-shine{mix-blend-mode:normal;opacity:.06}
body.hub-day .premium-card .site-preview{filter:brightness(.9) grayscale(.5)}
body.hub-day .premium-card:hover .site-preview{filter:brightness(.95) grayscale(0)}
body.hub-day .card-description{color:#1d4633!important;text-shadow:none!important}
body.hub-day .site-header.is-condensed{background:rgba(249,253,250,.96)!important;border-bottom-color:rgba(26,77,51,.14)!important}
body.hub-day .float-window .float-stage.is-demo{background:#e8f2eb!important}
@media(max-width:700px){
 :root{--hub-board-toolbar:43px}
 body.grid-board .site-header.is-condensed .header-logo-wrap{top:7px!important;left:10px!important}
 body.grid-board .site-header.is-condensed .logo-img{width:97px!important;height:27px!important}
 body.grid-board .site-header.is-condensed .logo-orbit.logo-missing .logo-fallback{width:97px!important;height:27px!important;font-size:19px!important}
 body.grid-board .site-header.is-condensed .header-settings{top:6px!important;right:10px!important;width:30px!important;height:30px!important}
 body.grid-board #cards-container{padding-bottom:62px!important}
}
/* The active grid style has an ID selector; day-mode window glass must outrank it. */
body.grid-board.hub-day #cards-container>.float-window{
  background:rgba(251,255,253,var(--hub-glass-alpha,.88))!important;
  border-color:rgba(29,91,61,var(--hub-border-alpha,.28))!important;
  box-shadow:0 14px 40px rgba(26,64,47,.15)!important;
  color:#1c372b!important;
}
body.grid-board.hub-day #cards-container>.float-window:hover{
  border-color:rgba(25,110,75,.6)!important;
}
/* Avoid five-second unreadable intermediate colors when switching to day mode. */
body.hub-day .premium-card{
  transition:transform .35s ease,box-shadow .25s ease,border-color .2s ease,background 0s,color 0s!important;
}
body.hub-day .premium-card .card-title,
body.hub-day .premium-card .card-icon{
  transition:transform .25s ease,color 0s,text-shadow 0s!important;
}
body.hub-day .premium-card .card-image-icon{
  transition:transform .25s ease,background-color 0s!important;
}
body.hub-day .settings-subheading{color:#236e49!important}
body.hub-day .footer-text,body.hub-day .footer-brand{transition:color 0s!important}



/* LuFi HUB 14.2 — pinezka blokuje interakcję z iframe, nie przeładowuje strony. */
.float-window .float-btn[data-action="pin"]{position:relative}
.float-window .float-btn[data-action="pin"][aria-pressed="true"]{
  color:#071d13!important;background:var(--hub-accent,#b8f1db)!important;
  border-color:var(--hub-accent,#b8f1db)!important;
  box-shadow:0 0 0 1px rgba(188,255,220,.28);
}
.float-window.is-pinned .float-stage{touch-action:pan-y;}
.float-window.is-pinned .float-stage iframe{pointer-events:none!important;}
.float-window.is-pinned .float-stage::after{
  content:"";position:absolute;inset:0;z-index:5;pointer-events:auto;
  background:transparent;touch-action:pan-y;
}
body.hub-day .float-window .float-btn[data-action="pin"][aria-pressed="true"]{
  color:#fff!important;background:#246e4c!important;border-color:#246e4c!important;
}
/* Telefon zarówno pionowo, jak i POZIOMO: strona (wraz z logo i zębatką)
   ma przewijać się w jednym dokumencie, zamiast wewnątrz sztywnej siatki.
   W poziomie telefony często mają 740-1100 CSS px szerokości, dlatego
   samo max-width:700px nie wystarcza. Desktop pozostaje bez zmian. */
@media (max-width:700px), (max-width:1200px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){
  :root{--hub-board-toolbar:43px;}
  .site-header{position:relative!important;top:auto!important;}
  body.grid-board{overflow-y:visible!important;overflow-x:clip!important;min-height:100dvh!important;}
  body.grid-board .site-header.is-condensed{
    position:relative!important;top:auto!important;left:auto!important;right:auto!important;
    height:var(--hub-board-toolbar,43px)!important;min-height:var(--hub-board-toolbar,43px)!important;
    width:100%!important;pointer-events:auto!important;overflow:visible!important;
    z-index:40!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  }
  body.grid-board .site-header.is-condensed .header-logo-wrap{
    position:absolute!important;top:7px!important;left:10px!important;transform:none!important;
  }
  body.grid-board .site-header.is-condensed .logo-img{
    width:97px!important;height:27px!important;max-width:97px!important;
  }
  body.grid-board .site-header.is-condensed .logo-orbit.logo-missing .logo-fallback{
    width:97px!important;height:27px!important;font-size:19px!important;
  }
  body.grid-board .site-header.is-condensed .header-settings{
    position:absolute!important;top:6px!important;right:10px!important;
    width:30px!important;height:30px!important;
  }
  body.grid-board .hero-section{
    min-height:calc(100dvh - var(--hub-board-toolbar,43px))!important;
    height:auto!important;padding:0!important;
  }
  body.grid-board #cards-container{
    position:relative!important;top:auto!important;bottom:auto!important;
    left:auto!important;right:auto!important;inset:auto!important;
    width:100%!important;height:auto!important;max-height:none!important;
    min-height:calc(100dvh - var(--hub-board-toolbar,43px) - 80px)!important;
    overflow:visible!important;overscroll-behavior:auto!important;
    padding:8px 8px 14px!important;
  }
  body.grid-board:not(.grid-maximized) .footer-wrap{
    position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;
    width:100%!important;margin:0!important;
    padding:12px 8px max(18px,env(safe-area-inset-bottom))!important;
    z-index:auto!important;pointer-events:auto!important;
  }
  body.grid-board .hub-settings{top:8px!important;max-height:calc(100dvh - 16px)!important;}
  body.grid-board #cards-container>.float-window.is-maximized{
    position:fixed!important;top:8px!important;left:8px!important;
    height:calc(100dvh - 16px)!important;width:calc(100vw - 16px)!important;
  }
  body.grid-board.grid-maximized #cards-container{overflow:visible!important;}
}


/* LuFi HUB 14.3 — prawdziwy podgląd bez nagłówka w trybie pełnoekranowym. */
body.grid-board.grid-maximized .site-header,
body.grid-board.grid-maximized #siteHeader {display:none!important;visibility:hidden!important;}
body.grid-board.grid-maximized #cards-container>.float-window.is-maximized{
  position:fixed!important;top:8px!important;left:8px!important;
  width:calc(100vw - 16px)!important;height:calc(100dvh - 16px)!important;
  z-index:5200!important;
}
body.grid-board.grid-maximized .hub-settings{display:none!important}
body.grid-board.grid-maximized .footer-wrap{display:none!important}
@media (max-width:700px){
  body.grid-board.grid-maximized{height:100dvh!important;overflow:hidden!important}
  body.grid-board.grid-maximized #cards-container{overflow:visible!important}
}

/* Twoje strony — dodawanie i lista własnych paneli. */
.custom-site-form{display:flex;flex-direction:column;gap:6px;margin-top:9px}
.custom-site-form label{font-size:11px;font-weight:600;color:#eaf7f1}
.custom-site-form input{width:100%;min-width:0;padding:9px 10px;background:#1a2221;color:#eaf7f1;border:1px solid #ffffff36;border-radius:9px;font-size:12px;outline-offset:2px}
.custom-site-form input:focus-visible{outline:2px solid var(--hub-accent)}
.custom-site-add{align-self:flex-start;margin-top:3px;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:var(--hub-accent);color:#0b2618;font-weight:700;font-size:11px;cursor:pointer}
.custom-site-feedback{margin:0;min-height:0;color:#ffb8b8;font-size:11px}
.custom-site-feedback:empty{display:none}
.custom-sites-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.custom-site-empty,.custom-site-notice{font-size:10px;line-height:1.5;color:#9cb7a9;margin:5px 0}
.custom-site-item{display:flex;align-items:center;gap:5px;padding:8px 6px;border-radius:9px;border:1px solid rgba(220,250,233,.12)}
.custom-site-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.custom-site-info strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.custom-site-info small{font-size:9px;color:#92b4a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.custom-site-item button{border:1px solid #ffffff2e;border-radius:8px;padding:6px 7px;font-size:10px;background:#17231d;color:#edf7f1;cursor:pointer}
.custom-site-item .custom-site-remove{color:#ffb8b8}
body.hub-day .custom-site-form label{color:#193629}
body.hub-day .custom-site-form input{background:#f7fcf9;color:#173b29;border-color:#a8c2b4}
body.hub-day .custom-site-info small,body.hub-day .custom-site-empty,body.hub-day .custom-site-notice{color:#60786b}
body.hub-day .custom-site-item{border-color:rgba(35,92,58,.2)}
body.hub-day .custom-site-item button{background:#f1f8f2;color:#214933;border-color:#b2cab9}
body.hub-day .custom-site-item .custom-site-remove{color:#a32435}
body.hub-day .custom-site-add{color:#082316}



/* LuFi HUB 14.4 — selectable animated backgrounds; classic preserves the original design. */
body[data-hub-bg]{isolation:isolate}
body[data-hub-bg]::after{
  content:"";position:fixed;inset:-28%;z-index:0;pointer-events:none;
  opacity:.93;transform:translate3d(0,0,0) scale(1.05);
  animation:hubBackgroundDrift 26s ease-in-out infinite alternate;
}
body[data-hub-bg="classic"]::after,body[data-hub-bg="amoled"]::after{display:none}
body[data-hub-bg="aurora"]{--bg-base:#050a12;background-color:#050a12!important}
body[data-hub-bg="aurora"]::after{
  background:radial-gradient(ellipse 46% 44% at 26% 38%,rgba(34,167,132,.35),transparent 85%),
  radial-gradient(ellipse 42% 54% at 75% 30%,rgba(91,57,182,.34),transparent 84%),
  radial-gradient(ellipse 48% 46% at 64% 81%,rgba(18,128,171,.27),transparent 85%);
}
body[data-hub-bg="ocean"]{--bg-base:#03111b;background-color:#03111b!important}
body[data-hub-bg="ocean"]::after{
  background:radial-gradient(ellipse 60% 53% at 26% 69%,rgba(12,127,171,.34),transparent 85%),
  radial-gradient(ellipse 46% 40% at 73% 25%,rgba(18,72,145,.35),transparent 82%),
  linear-gradient(143deg,rgba(9,45,58,.7),transparent 76%);
}
body[data-hub-bg="nebula"]{--bg-base:#0d0717;background-color:#0d0717!important}
body[data-hub-bg="nebula"]::after{
  background:radial-gradient(ellipse 43% 51% at 27% 30%,rgba(125,58,174,.34),transparent 82%),
  radial-gradient(ellipse 48% 46% at 75% 68%,rgba(222,77,148,.21),transparent 86%),
  radial-gradient(ellipse 36% 46% at 44% 75%,rgba(68,58,180,.28),transparent 80%);
}
body[data-hub-bg="graphite"]{--bg-base:#111416;background-color:#111416!important}
body[data-hub-bg="graphite"]::after{
  background:radial-gradient(ellipse 55% 54% at 31% 21%,rgba(127,152,149,.16),transparent 78%),
  radial-gradient(ellipse 43% 55% at 76% 76%,rgba(94,118,125,.15),transparent 82%);
}
body[data-hub-bg="amoled"]{--bg-base:#000;background-color:#000!important}
body.hub-day[data-hub-bg]:not([data-hub-bg="classic"]){--bg-base:#edf4f1;background-color:#edf4f1!important}
body.hub-day[data-hub-bg="amoled"]{--bg-base:#fff;background-color:#fff!important}
body.hub-day[data-hub-bg]::after{opacity:.19;filter:saturate(.8)}
body.hub-bg-static::after,body.motion-off::after{animation:none!important;transform:none!important}
@keyframes hubBackgroundDrift{
  from{transform:translate3d(-2%,1%,0) scale(1.06) rotate(-3deg)}
  to{transform:translate3d(3%,-2%,0) scale(1.14) rotate(4deg)}
}



/* LuFi HUB 14.5 — compact, tabbed settings; stable in portrait and landscape. */
.hub-settings:not([hidden]){display:flex!important;flex-direction:column;gap:0;overflow:hidden!important;width:min(420px,calc(100vw - 20px))!important;padding:0!important;max-height:calc(100dvh - 24px)!important;min-height:0}
.hub-settings .settings-head{padding:14px 16px 9px;flex:0 0 auto}
.hub-settings .settings-title-wrap{min-width:0}
.hub-settings .settings-overline{font-size:9px;letter-spacing:.06em}
.hub-settings h2{margin:2px 0 0!important;font-size:17px}
.hub-settings .plain-icon{min-width:32px;min-height:32px;border-radius:8px}
.hub-settings .plain-icon:hover{background:#ffffff15}
.hub-settings .settings-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:0 12px 10px;border-bottom:1px solid #ffffff18;flex:0 0 auto}
.hub-settings .settings-tab{min-width:0;border:1px solid transparent;border-radius:9px;background:#ffffff0a;color:#c0d6ca;font-size:11px;font-weight:600;padding:10px 2px;cursor:pointer;touch-action:manipulation}
.hub-settings .settings-tab.is-active,.hub-settings .settings-tab[aria-selected="true"]{background:var(--hub-accent);color:#10231a;border-color:transparent}
.hub-settings .settings-tab:focus-visible,.hub-settings .theme-choice:focus-visible,.hub-settings .background-choice:focus-visible,.hub-settings .settings-footer button:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}
.hub-settings .settings-content{overflow-y:auto;min-height:0;flex:1 1 auto;padding:3px 16px 16px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#627b70 transparent}
.hub-settings .settings-pane[hidden]{display:none!important}
.hub-settings .settings-section-title{margin:14px 0 10px;font:600 12px 'Poppins',sans-serif;letter-spacing:.01em;color:#b5edcf}
.hub-settings .settings-group{margin:12px 0 16px;gap:12px}
.hub-settings .setting-inline label span{font-size:11px}
.hub-settings .settings-group input[type=range]{width:min(150px,48%);flex-shrink:0}
.hub-settings .settings-group select{max-width:170px}
.hub-settings .switch-row{padding:11px 0}
.hub-settings .settings-actions{margin-top:8px}
.hub-settings .settings-actions button{flex:1;min-width:0}
.hub-settings .settings-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto;padding:10px 16px;border-top:1px solid #ffffff1d;background:#121b18}
.hub-settings .settings-footer-label{font:500 10px 'JetBrains Mono',monospace;color:#8da89a}
.hub-settings .settings-footer button{background:var(--hub-accent);color:#0b2718;font-weight:700;padding:9px 22px;border:0;border-radius:9px;cursor:pointer}
.hub-settings .sr-only-settings{position:absolute!important;width:1px!important;height:1px!important;clip-path:inset(50%)!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.hub-settings .theme-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:17px}
.hub-settings .theme-choice,.hub-settings .background-choice{display:flex;min-width:0;flex-direction:column;align-items:center;gap:7px;color:#dcefe4;background:#ffffff0a;border:1px solid #ffffff20;border-radius:12px;cursor:pointer;padding:8px 5px 9px;font-size:10px;font-weight:600;transition:border-color .15s,background .15s}
.hub-settings .theme-choice.is-selected,.hub-settings .background-choice.is-selected{border-color:var(--hub-accent)!important;box-shadow:inset 0 0 0 1px var(--hub-accent),0 0 0 1px #0005;background:#b8f1db15}
.hub-settings .theme-swatch{width:100%;height:40px;max-width:85px;border-radius:9px;border:1px solid #ffffff2b}
.hub-settings .theme-swatch-dark{background:linear-gradient(145deg,#030606 60%,#1a2c26 62%)}
.hub-settings .theme-swatch-light{background:linear-gradient(145deg,#edf4f1 60%,#adcdb9 62%)}
.hub-settings .theme-swatch-system{background:linear-gradient(120deg,#101d19 50%,#edf4f1 50%)}
.hub-settings .background-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}
.hub-settings .background-swatch{width:100%;height:42px;display:block;border-radius:9px;border:1px solid #ffffff2b}
.hub-settings .bg-classic{background:linear-gradient(135deg,#030606,#15211b)}
.hub-settings .bg-aurora{background:radial-gradient(circle at 25% 75%,#1b9a82,transparent 65%),linear-gradient(135deg,#0c3443,#291658)}
.hub-settings .bg-ocean{background:radial-gradient(circle at 65% 90%,#147a9e,transparent 60%),linear-gradient(140deg,#0a3257,#06121c)}
.hub-settings .bg-nebula{background:radial-gradient(circle at 22% 74%,#903db5,transparent 65%),linear-gradient(140deg,#302255,#6a184d)}
.hub-settings .bg-graphite{background:linear-gradient(140deg,#42494b,#1c1f21)}
.hub-settings .bg-amoled{background:#000}
.hub-settings .custom-site-form{margin-top:0}
body.hub-day .hub-settings .settings-tab{color:#315b44;background:#e6f0e9}
body.hub-day .hub-settings .settings-tab.is-active{color:#fff;background:#286d4c}
body.hub-day .hub-settings .settings-tabs{border-color:#1c694526}
body.hub-day .hub-settings .settings-section-title{color:#256a48}
body.hub-day .hub-settings .theme-choice,body.hub-day .hub-settings .background-choice{color:#254732;background:#f2f8f4;border-color:#9cbba9}
body.hub-day .hub-settings .theme-choice.is-selected,body.hub-day .hub-settings .background-choice.is-selected{border-color:#26774e!important;box-shadow:inset 0 0 0 1px #26774e;background:#e0f5e7}
body.hub-day .hub-settings .settings-footer{background:#edf5ef;border-color:#c6dacb}
body.hub-day .hub-settings .settings-footer-label{color:#557260}
body.hub-day .hub-settings .settings-footer button{background:#286d4c;color:#fff}
@media(max-width:700px), (max-width:1200px) and (max-height:600px) and (orientation:landscape) and (pointer:coarse){
  body.grid-board .hub-settings:not([hidden]){top:8px!important;right:8px!important;max-height:calc(100dvh - 16px)!important}
}
@media(max-height:520px){
  .hub-settings:not([hidden]){top:6px!important;max-height:calc(100dvh - 12px)!important}
  .hub-settings .settings-head{padding:7px 12px 5px}
  .hub-settings .settings-overline{display:none}
  .hub-settings .settings-tabs{padding:0 8px 6px}
  .hub-settings .settings-tab{padding:7px 2px}
  .hub-settings .settings-content{padding:2px 12px 8px}
  .hub-settings .settings-footer{padding:6px 12px}
}
@media(prefers-reduced-motion:reduce){body[data-hub-bg]::after{animation:none!important}}


/* LuFi HUB 14.6 — nagłówek jest częścią przewijanej strony, a nie nakładką.
   Dotyczy także telefonów w poziomie oraz ekranów, na których media queries
   wykrywają fine pointer zamiast coarse pointer. */
.site-header,
.site-header.is-condensed,
body.grid-board .site-header.is-condensed,
body.hub-day .site-header.is-condensed {
  position:relative!important;
  background:transparent!important;
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.site-header {top:auto!important;}
body.grid-board {
  height:auto!important;
  min-height:100dvh!important;
  overflow-y:visible!important;
  overflow-x:clip!important;
}
body.grid-board .site-header.is-condensed {
  display:block!important;
  inset:auto!important;
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  pointer-events:auto!important;
  overflow:visible!important;
  z-index:50!important;
  isolation:auto!important;
}
body.grid-board .site-header.is-condensed .header-logo-wrap {
  position:absolute!important;
  top:7px!important;
  left:clamp(10px,2vw,27px)!important;
  transform:none!important;
  pointer-events:auto!important;
  z-index:2;
}
body.grid-board .site-header.is-condensed .header-settings {
  position:absolute!important;
  top:6px!important;
  right:clamp(10px,2vw,27px)!important;
  pointer-events:auto!important;
}
/* Wyłącznie logo i ikonka: bez ciemnej belki oraz ciemnego pola pod zębatką. */
.header-settings,
body.hub-day .header-settings {
  background:transparent!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body.grid-board .hero-section {
  height:auto!important;
  min-height:calc(100dvh - 44px)!important;
  padding:0!important;
}
body.grid-board .hero-section>.container-fluid {height:auto!important;}
body.grid-board #cards-container {
  position:relative!important;
  inset:auto!important;
  top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:calc(100dvh - 112px)!important;
  margin:0!important;
  overflow:visible!important;
  overscroll-behavior:auto!important;
  padding:8px clamp(8px,1.15vw,18px) 16px!important;
}
body.grid-board:not(.grid-maximized) .footer-wrap {
  position:relative!important;
  left:auto!important;right:auto!important;bottom:auto!important;
  width:100%!important;
  margin:0!important;
  padding:12px 8px max(18px,env(safe-area-inset-bottom))!important;
  z-index:auto!important;
  pointer-events:auto!important;
}
body.grid-board .hub-settings {
  top:8px!important;
  max-height:calc(100dvh - 16px)!important;
}
/* Mobilny układ nadal ma małe logo i zębatkę. Bez zagnieżdżonego scrolla. */
@media(max-width:700px), (max-width:1200px) and (max-height:600px) and (orientation:landscape) {
  body.grid-board .site-header.is-condensed {height:43px!important;min-height:43px!important;}
  body.grid-board .site-header.is-condensed .header-logo-wrap {top:7px!important;left:10px!important;}
  body.grid-board .site-header.is-condensed .logo-img {width:97px!important;height:27px!important;max-width:97px!important;}
  body.grid-board .site-header.is-condensed .logo-orbit.logo-missing .logo-fallback {width:97px!important;height:27px!important;font-size:19px!important;}
  body.grid-board .site-header.is-condensed .header-settings {top:6px!important;right:10px!important;width:30px!important;height:30px!important;}
  body.grid-board #cards-container {padding:8px 8px 16px!important;}
}
/* Pełen ekran w dalszym ciągu chowa całkowicie nagłówek i stopkę. */
body.grid-board.grid-maximized #siteHeader {display:none!important;}
body.grid-board.grid-maximized #cards-container>.float-window.is-maximized {
  position:fixed!important;top:8px!important;left:8px!important;
  width:calc(100vw - 16px)!important;height:calc(100dvh - 16px)!important;
}


/* LuFi HUB 14.7 — miękkie klasyczne tło, odrębne od czerni AMOLED. */
body:not(.hub-day)[data-hub-bg="classic"]{
  --bg-base:#081712;background-color:#081712!important;
}
body[data-hub-bg="classic"]::after{
  display:block!important;
  background:radial-gradient(ellipse 62% 58% at 21% 18%,rgba(41,129,93,.30),transparent 75%),
             radial-gradient(ellipse 46% 52% at 78% 76%,rgba(36,95,107,.23),transparent 81%),
             linear-gradient(152deg,rgba(14,39,31,.48),transparent 72%);
  opacity:.98;
}
body.hub-day[data-hub-bg="classic"]{
  --bg-base:#edf4f1;background-color:#edf4f1!important;
}
body.hub-day[data-hub-bg="classic"]::after{opacity:.13!important}
.hub-settings .bg-classic{
  background:radial-gradient(circle at 24% 28%,#286c4f 0,transparent 68%),linear-gradient(145deg,#102c23,#07110e);
}
/* LuFi HUB 14.7.1 — neutralne tło kafelków jak przed v14.7.
   Ustawienia narożników i obramowania nadal dotyczą kafelków.
   Kolor i przejrzystość samych kafelków pozostają zgodne z pierwotnym wyglądem. */
body.hub-style-tiles .card-wrap>.premium-card{
  border-radius:var(--hub-radius,15px)!important;
  border:1px solid rgba(var(--rgb-base),var(--hub-border-alpha,.28))!important;
  background:var(--card-bg)!important;
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
}
body.hub-day.hub-style-tiles .card-wrap>.premium-card{
  color:#193e2b!important;
  background:#fff!important;
  border-color:rgba(26,90,54,var(--hub-border-alpha,.28))!important;
}
body.hub-style-tiles .card-wrap>.premium-card::before,
body.hub-style-tiles .card-wrap>.premium-card::after{border-radius:inherit}
/* Named desktops and snapshots — compact in mobile landscape. */
.hub-settings .hub-inline-form{display:flex;gap:7px;align-items:center;margin:7px 0}
.hub-settings .hub-inline-form input{min-width:0;flex:1;padding:9px 10px;border-radius:9px;border:1px solid #ffffff36;background:#1a2221;color:#eaf7f1;font-size:11px}
.hub-settings .hub-inline-form button,.hub-settings .hub-small-actions button,.hub-settings .backup-entry button{
  padding:8px 9px;border:1px solid #ffffff30;border-radius:8px;background:#1a2722;color:#ecf7ee;font-size:10px;cursor:pointer;
}
.hub-settings .hub-inline-form button{background:var(--hub-accent);color:#071b12;border-color:transparent;font-weight:700}
.hub-settings .hub-small-actions{display:flex;flex-wrap:wrap;gap:7px;margin:7px 0 12px}
.hub-settings .hub-small-actions button{flex:1}
.hub-settings .hub-small-actions button:disabled{opacity:.45;cursor:not-allowed}
.hub-settings .backup-list{display:flex;flex-direction:column;gap:6px;margin:8px 0 13px;max-height:175px;overflow-y:auto;overscroll-behavior:contain}
.hub-settings .backup-entry{display:flex;align-items:center;gap:7px;border:1px solid rgba(221,255,235,.14);border-radius:9px;padding:7px 8px}
.hub-settings .backup-label{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.hub-settings .backup-entry strong{font-size:10px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hub-settings .backup-entry small{font-size:9px;color:#9cb6a8}
.hub-settings .backup-entry button{flex:none;padding:6px 8px}
.hub-settings .backup-empty{font-size:10px;color:#9cb6a8;margin:5px 0}
.hub-settings .hub-inline-form input:focus-visible,.hub-settings .hub-small-actions button:focus-visible,.hub-settings .backup-entry button:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}
body.hub-day .hub-settings .hub-inline-form input{background:#f8fdf9;color:#214632;border-color:#a3c2ae}
body.hub-day .hub-settings .hub-inline-form button{color:#0e2c1b}
body.hub-day .hub-settings .hub-small-actions button,body.hub-day .hub-settings .backup-entry button{background:#ecf5ef;color:#234733;border-color:#acc9b7}
body.hub-day .hub-settings .backup-entry{border-color:rgba(35,94,61,.2)}
body.hub-day .hub-settings .backup-entry small,body.hub-day .hub-settings .backup-empty{color:#587966}
/* Szybkie przełączanie wariantów, bez 5-sekundowego przejścia starego motywu. */
body[data-hub-bg]{transition:background-color .28s ease,color .28s ease!important}

/* LuFi HUB 14.7.2 — only the dedicated top-left grip can drag a panel. */
.float-window .float-bar,
.float-window .float-bar:active,
body.grid-board .float-bar,
body.grid-board .float-window.is-dragging .float-bar{
  cursor:default!important;
  touch-action:auto;
}
.float-window .float-move-handle{
  display:grid;
  place-items:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  min-width:32px;
  margin:0 1px 0 -5px;
  padding:0;
  border:1px solid rgba(205,255,226,.20);
  border-radius:8px;
  background:rgba(205,255,226,.055);
  color:#bce5d0;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.float-window .float-move-handle:hover,
.float-window .float-move-handle:focus-visible{
  background:rgba(205,255,226,.17);
  border-color:var(--hub-accent,#b8f1db);
  color:#f1fff8;
}
.float-window .float-move-handle:active,
.float-window.is-dragging .float-move-handle{cursor:grabbing}
.float-window .float-move-handle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;pointer-events:none}
.float-window .float-move-handle:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}
.float-window.is-maximized .float-move-handle{visibility:hidden;pointer-events:none}
body.hub-day .float-window .float-move-handle{background:rgba(30,99,65,.05);border-color:rgba(30,99,65,.19);color:#2c6a4b}
body.hub-day .float-window .float-move-handle:hover,
body.hub-day .float-window .float-move-handle:focus-visible{background:rgba(30,99,65,.14);border-color:#2c8057;color:#174f34}
@media(max-width:700px){
  .float-window .float-move-handle{flex-basis:34px;min-width:34px;width:34px;height:34px;margin-left:-2px}
  .float-window .float-bar{gap:6px}
}


/* LuFi HUB 14.8 — magnetic window placement preview. Never intercept dragging. */
body.grid-board #cards-container>.hub-snap-preview{
  position:absolute!important;
  display:block;
  box-sizing:border-box;
  z-index:80!important;
  pointer-events:none!important;
  grid-area:auto!important;
  margin:0!important;
  border-radius:var(--hub-radius,15px);
  border:2px dashed rgba(158,227,192,.57);
  background:linear-gradient(135deg,rgba(123,223,176,.095),rgba(106,219,195,.035));
  box-shadow:inset 0 0 32px rgba(108,238,170,.06),0 0 0 1px rgba(166,242,198,.05);
  opacity:.76;
  transform:none!important;
  transition:left .11s ease-out,top .11s ease-out,border-color .15s ease,background .15s ease;
}
body.grid-board #cards-container>.hub-snap-preview.is-magnetic{
  border-style:solid;
  border-color:var(--hub-accent,#b8f1db);
  background:linear-gradient(145deg,rgba(132,235,185,.16),rgba(132,235,185,.045));
  box-shadow:inset 0 0 35px rgba(100,239,155,.08),0 0 17px rgba(120,229,177,.24);
  opacity:1;
}
body.grid-board #cards-container>.hub-snap-preview::after{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(179,245,208,.20);
  border-radius:max(2px,calc(var(--hub-radius,15px) - 7px));
}
body.grid-board #cards-container>.hub-snap-preview[hidden]{display:none!important}
body.hub-day.grid-board #cards-container>.hub-snap-preview{
  border-color:rgba(36,135,83,.55);background:rgba(25,155,100,.085);
}
body.hub-day.grid-board #cards-container>.hub-snap-preview.is-magnetic{
  border-color:#238b5a;background:rgba(33,150,92,.12);box-shadow:0 0 0 1px rgba(40,125,73,.14);
}
body.grid-board.grid-maximized #cards-container>.hub-snap-preview{display:none!important}

/* LuFi HUB 14.8.2 — snappy hover; no dynamic glow layer. */
/* Keep tile scale from the existing user preference, but respond immediately. */
.card-wrap,body.grid-board #cards-container>.card-wrap{
  transition:transform .13s cubic-bezier(.2,.75,.2,1)!important;
  will-change:auto!important;
}
.card-wrap>.premium-card{
  animation-duration:.18s!important;
  animation-delay:0s!important;
  transition:border-color .12s ease,box-shadow .14s ease!important;
  will-change:auto!important;
}
.card-wrap>.premium-card::before{transition:opacity .12s ease!important}
.card-wrap>.premium-card .site-preview{
  filter:brightness(.6) grayscale(0);
  transition:opacity .13s ease,transform .13s ease!important;
}
body.hub-day .card-wrap>.premium-card .site-preview{
  filter:brightness(.95) grayscale(0);
}
.card-wrap>.premium-card .holo-shine{transition:opacity .1s ease!important}
.card-wrap>.premium-card:hover .holo-shine{animation:none!important}
.card-wrap>.premium-card .icon-wrapper,
.card-wrap>.premium-card .card-title{
  transition:transform .13s ease-out,color 0s!important;
}
.card-wrap>.premium-card .card-icon,
.card-wrap>.premium-card .card-image-icon{
  transition:transform .13s ease-out,background-color 0s!important;
}
.card-wrap>.premium-card .icon-glow{transition:opacity .13s ease,transform .13s ease!important}
@media(prefers-reduced-motion:reduce){
  body.grid-board #cards-container>.hub-snap-preview{transition:none!important}
  .card-wrap,body.grid-board #cards-container>.card-wrap,
  .card-wrap>.premium-card,.card-wrap>.premium-card *{transition:none!important;animation:none!important}
}


/* LuFi HUB 14.9 — clean, borderless controls (keyboard focus is still visible). */
.card-wrap .corner-preview,
.card-wrap .corner-preview:hover,
.card-wrap .corner-preview.is-active,
body.hub-day .card-wrap .corner-preview,
body.hub-day .card-wrap .corner-preview:hover,
body.hub-day .card-wrap .corner-preview.is-active{
  border:0!important;
  box-shadow:none!important;
}
.float-window .float-move-handle,
.float-window .float-move-handle:hover,
body.hub-day .float-window .float-move-handle,
body.hub-day .float-window .float-move-handle:hover{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.float-window .float-resize,
.float-window .float-resize:hover,
body.hub-day .float-window .float-resize{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.card-wrap .corner-preview:focus-visible,
.float-window .float-move-handle:focus-visible,
.float-window .float-resize:focus-visible{
  outline:2px solid var(--hub-accent,#b8f1db)!important;
  outline-offset:2px;
}

/* LuFi HUB 14.9 — a completely separate animated visual theme.
   Inspired by multicolour, flowing gradients in contemporary assistants;
   original LuFi palette, no network canvas, no extra cursor glow. */
.hub-settings .theme-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.hub-settings .theme-choice{font-size:9px;padding-inline:3px}
.hub-settings .theme-swatch-spectrum{
  background:linear-gradient(120deg,#5b77f7 0%,#a67cff 30%,#f6a2b9 55%,#61c7d7 77%,#b4f6d7 100%);
  background-size:220% 220%;animation:hubSpectrumSwatch 9s ease-in-out infinite alternate;
}
@keyframes hubSpectrumSwatch{to{background-position:100% 90%}}
.hub-settings .spectrum-theme-tip{font-size:10px;color:#b3c6fb;line-height:1.45;margin:-5px 0 15px}
body.hub-spectrum .hub-settings .spectrum-regular-bg{display:none!important}
body.hub-spectrum{
  --bg-base:#151b3b;
  --rgb-base:242,246,255;
  --card-bg:rgba(16,20,47,.45);
  --card-border:rgba(216,225,255,.24);
  --card-hover-border:rgba(221,229,255,.58);
  color:#f3f5ff!important;
  background-color:#151b3b!important;
}
body.hub-spectrum::before{
  opacity:0!important;
}
body.hub-spectrum[data-hub-bg]::after{
  display:block!important;
  position:fixed;inset:-23%;z-index:0;pointer-events:none;
  opacity:1!important;
  background:
    radial-gradient(ellipse 45% 53% at 20% 33%,rgba(85,118,242,.94) 0%,rgba(85,118,242,.24) 58%,transparent 78%),
    radial-gradient(ellipse 46% 55% at 76% 24%,rgba(191,103,236,.83) 0%,rgba(191,103,236,.20) 59%,transparent 80%),
    radial-gradient(ellipse 40% 50% at 74% 84%,rgba(241,135,160,.72) 0%,rgba(241,135,160,.13) 56%,transparent 82%),
    radial-gradient(ellipse 51% 45% at 17% 85%,rgba(60,192,198,.79) 0%,rgba(60,192,198,.13) 55%,transparent 82%),
    linear-gradient(145deg,#141e45 8%,#241a4b 48%,#103c4b 93%);
  background-size:115% 115%;
  animation:hubSpectrumFlow 19s ease-in-out infinite alternate!important;
  filter:saturate(1.08);
  transform:translate3d(0,0,0);
}
@keyframes hubSpectrumFlow{
  0%{transform:translate3d(-3%,1%,0) scale(1.02);filter:hue-rotate(-13deg) saturate(1.09)}
  33%{transform:translate3d(3%,-3%,0) scale(1.08);filter:hue-rotate(14deg) saturate(1.2)}
  68%{transform:translate3d(-1%,3%,0) scale(1.04);filter:hue-rotate(40deg) saturate(1.12)}
  100%{transform:translate3d(3%,0,0) scale(1.11);filter:hue-rotate(-8deg) saturate(1.18)}
}
body.hub-spectrum #network-canvas{display:none!important}
body.hub-spectrum .card-wrap>.premium-card{
  background:rgba(17,22,55,.44)!important;
  border-color:rgba(229,233,255,.28)!important;
  color:#f6f7ff!important;
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
}
body.hub-spectrum .premium-card .card-title,
body.hub-spectrum .premium-card .card-icon{color:#f6f7ff!important}
body.hub-spectrum .float-window,
body.hub-spectrum.grid-board #cards-container>.float-window{
  background:rgba(14,18,42,var(--hub-glass-alpha,.88))!important;
  border-color:rgba(216,224,255,var(--hub-border-alpha,.28))!important;
}
body.hub-spectrum .float-bar{background:linear-gradient(90deg,rgba(117,117,201,.27),rgba(30,23,69,.26))!important}
body.hub-spectrum .corner-preview{color:#f4f6ff!important}
body.hub-spectrum .float-window .float-move-handle{color:#e3ddff}
body.hub-spectrum .hub-settings .theme-choice.is-selected{border-color:#aebdff!important;box-shadow:inset 0 0 0 1px #b2c5ff;background:rgba(158,146,251,.22)}
@media(max-width:390px){.hub-settings .theme-choice-grid{gap:4px}.hub-settings .theme-choice{font-size:8px}}
@media(prefers-reduced-motion:reduce){
  body.hub-spectrum[data-hub-bg]::after,.hub-settings .theme-swatch-spectrum{animation:none!important;filter:none!important}
}
body.hub-spectrum.motion-off[data-hub-bg]::after{animation:none!important;filter:none!important}

/* Matching borderless size preset button (S / M / L / XL). */
.float-window .float-size-btn,
body.hub-day .float-window .float-size-btn{
  border:0!important;
  box-shadow:none!important;
}
.float-window .float-size-btn:focus-visible{
  outline:2px solid var(--hub-accent,#b8f1db)!important;
  outline-offset:2px;
}


/* LuFi HUB 14.10.1 — spokojniejsze oddechy nad logo i zębatka o skali logo.
   Wyłącznie otwarte panele: nadal przezroczysto i razem z przewijanym dokumentem. */
:root { --hub-board-toolbar:42px; }
body.grid-board .site-header.is-condensed {
  height:var(--hub-board-toolbar)!important;
  min-height:var(--hub-board-toolbar)!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body.grid-board .site-header.is-condensed .header-logo-wrap {
  top:7px!important;
}
body.grid-board .site-header.is-condensed .logo-img {
  width:106px!important;
  height:30px!important;
  max-width:106px!important;
}
body.grid-board .site-header.is-condensed .logo-orbit.logo-missing .logo-fallback {
  width:106px!important;
  height:30px!important;
  font-size:22px!important;
}
body.grid-board .site-header.is-condensed .header-settings {
  top:4px!important;
  width:34px!important;
  height:34px!important;
  border-radius:9px!important;
  display:grid!important;
  place-items:center!important;
}
body.grid-board .site-header.is-condensed .header-settings svg {
  width:27px!important;
  height:27px!important;
  display:block;
}
body.grid-board .hero-section {
  min-height:calc(100dvh - var(--hub-board-toolbar))!important;
}
body.grid-board #cards-container {
  min-height:calc(100dvh - var(--hub-board-toolbar) - 68px)!important;
}
@media(max-width:700px), (max-width:1200px) and (max-height:600px) and (orientation:landscape) {
  :root { --hub-board-toolbar:40px; }
  body.grid-board .site-header.is-condensed {
    height:var(--hub-board-toolbar)!important;
    min-height:var(--hub-board-toolbar)!important;
  }
  body.grid-board .site-header.is-condensed .header-logo-wrap { top:7px!important; }
  body.grid-board .site-header.is-condensed .logo-img {
    width:97px!important;
    height:27px!important;
    max-width:97px!important;
  }
  body.grid-board .site-header.is-condensed .logo-orbit.logo-missing .logo-fallback {
    width:97px!important;
    height:27px!important;
    font-size:19px!important;
  }
  body.grid-board .site-header.is-condensed .header-settings {
    top:4px!important;
    width:32px!important;
    height:32px!important;
  }
  body.grid-board .site-header.is-condensed .header-settings svg {
    width:25px!important;
    height:25px!important;
  }
}


/* LuFi HUB 14.11 — controls without opaque boxes (all themes and mobile). */
.card-wrap .corner-preview,
.card-wrap .corner-preview:hover,
.card-wrap .corner-preview:active,
.card-wrap .corner-preview.is-active,
body.hub-day .card-wrap .corner-preview,
body.hub-day .card-wrap .corner-preview:hover,
body.hub-day .card-wrap .corner-preview.is-active,
body.hub-spectrum .card-wrap .corner-preview,
body.hub-spectrum .card-wrap .corner-preview:hover,
body.hub-spectrum .card-wrap .corner-preview.is-active{
  background:transparent!important;border:0!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  text-shadow:none!important;
}
.card-wrap .corner-preview.is-active{color:var(--hub-accent,#b8f1db)!important}
body.hub-day .card-wrap .corner-preview.is-active{color:#166541!important}
body.hub-spectrum .card-wrap .corner-preview.is-active{color:#d5b6ff!important}
.card-wrap.has-open-panel>.premium-card,
body.hub-style-tiles .card-wrap.has-open-panel>.premium-card{
  border-color:var(--hub-accent,#b8f1db)!important;
  box-shadow:inset 0 0 0 1px rgba(182,245,214,.30),0 0 18px rgba(135,233,182,.14)!important;
}
body.hub-day .card-wrap.has-open-panel>.premium-card{
  border-color:#258a5c!important;box-shadow:inset 0 0 0 1px rgba(30,127,75,.26),0 0 16px rgba(27,116,60,.12)!important;
}
body.hub-spectrum .card-wrap.has-open-panel>.premium-card{
  border-color:#b9a6ff!important;box-shadow:inset 0 0 0 1px #a98fe8a0,0 0 22px #8b65ff54!important;
}
.float-window .float-resize,
.float-window .float-resize:hover,
.float-window .float-resize:active,
body.grid-board .float-window .float-resize,
body.hub-day .float-window .float-resize,
body.hub-spectrum .float-window .float-resize{
  background:none!important;border:0!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.float-window .float-resize:focus-visible{outline:2px solid var(--hub-accent,#b8f1db)!important;outline-offset:0}

/* DOM and CHMURA now occupy the same one-cell bento footprint as other tiles. */
.card-wrap[data-app="dom"],.card-wrap[data-app="cloud"]{grid-column:auto}

/* Spektrum 2.0 — independent dark/neural-flow theme with black negative space.
   Composited transforms rather than repainting a viewport-sized gradient on each pointermove. */
body.hub-spectrum{--bg-base:#03050d!important;background:#03050d!important}
body.hub-spectrum[data-hub-bg]::after{display:none!important}
body.hub-spectrum #network-canvas{display:none!important}
#lufi-spectrum-layer{
  display:none;position:fixed;inset:-5%;z-index:0;overflow:hidden;
  pointer-events:none;isolation:isolate;contain:paint;
  background:#03050d;
  transform:translate3d(0,0,0);will-change:transform;
}
body.hub-spectrum #lufi-spectrum-layer{display:block}
#lufi-spectrum-layer .spectrum-wave{
  position:absolute;display:block;pointer-events:none;border-radius:50%;
  filter:blur(45px);opacity:.84;will-change:transform;
}
.spectrum-wave-a{
  left:-21%;top:-29%;width:90%;height:74%;
  background:radial-gradient(ellipse at 49% 48%,#3775ffdd 0%,#3767fe7a 25%,#4c54f938 50%,transparent 72%);
  animation:spectrumFloatA 17s ease-in-out infinite alternate;
}
.spectrum-wave-b{
  right:-31%;top:-18%;width:84%;height:78%;
  background:radial-gradient(ellipse at 48% 42%,#8a4cdbd9 0%,#c077dc9c 24%,#ff81b341 49%,transparent 73%);
  animation:spectrumFloatB 21s ease-in-out infinite alternate;
}
.spectrum-wave-c{
  bottom:-34%;left:-20%;width:87%;height:69%;
  background:radial-gradient(ellipse at 47% 47%,#1693cbd4 0%,#2aafbe80 23%,#20d4a636 48%,transparent 72%);
  animation:spectrumFloatC 20s ease-in-out infinite alternate;
}
.spectrum-wave-d{
  right:-26%;bottom:-32%;width:82%;height:67%;
  background:radial-gradient(ellipse at 46% 49%,#ff7d96c7 0%,#fa8d8b72 25%,#ffc5702b 47%,transparent 71%);
  animation:spectrumFloatD 24s ease-in-out infinite alternate;
}
#lufi-spectrum-layer .spectrum-dark-gap{
  position:absolute;inset:-4%;pointer-events:none;
  background:radial-gradient(ellipse 34% 31% at 51% 49%,rgba(2,3,9,.96) 5%,rgba(3,5,12,.86) 35%,rgba(3,5,12,.42) 66%,transparent 100%);
}
@keyframes spectrumFloatA{to{transform:translate3d(11%,8%,0) rotate(5deg) scale(1.12)}}
@keyframes spectrumFloatB{to{transform:translate3d(-12%,13%,0) rotate(-8deg) scale(1.14)}}
@keyframes spectrumFloatC{to{transform:translate3d(10%,-15%,0) rotate(6deg) scale(1.13)}}
@keyframes spectrumFloatD{to{transform:translate3d(-13%,-9%,0) rotate(-6deg) scale(1.16)}}
#lufi-spectrum-layer .spectrum-action-pulse{
  position:absolute;display:block;width:220px;height:220px;margin:-110px 0 0 -110px;
  pointer-events:none;border-radius:50%;
  background:radial-gradient(circle,rgba(202,170,255,.58),rgba(110,157,255,.29) 32%,transparent 68%);
  animation:spectrumTouch .85s ease-out forwards;
}
@keyframes spectrumTouch{
  from{transform:scale(.25);opacity:.9}
  to{transform:scale(2.3);opacity:0}
}
body.hub-spectrum .card-wrap>.premium-card{
  background:rgba(4,7,17,.66)!important;
  border-color:rgba(208,215,255,.25)!important;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
body.hub-spectrum .card-wrap:hover>.premium-card{
  border-color:rgba(203,179,255,.78)!important;
  box-shadow:0 11px 36px rgba(0,0,0,.57),0 0 23px rgba(142,121,255,.26)!important;
}
body.hub-spectrum .card-wrap.has-open-panel>.premium-card{
  border-color:#baa4ff!important;
  box-shadow:inset 0 0 0 1px #a98fe8a0,0 0 22px #8b65ff54!important;
}
body.hub-spectrum .float-window,
body.hub-spectrum.grid-board #cards-container>.float-window{
  background:rgba(4,5,17,var(--hub-glass-alpha,.88))!important;
}
body.hub-spectrum .theme-swatch-spectrum,
.hub-settings .theme-swatch-spectrum{
  background:radial-gradient(circle at 14% 21%,#477df0,transparent 43%),
  radial-gradient(circle at 88% 20%,#d579cc,transparent 43%),
  radial-gradient(circle at 70% 87%,#f899a5,transparent 42%),
  radial-gradient(circle at 18% 94%,#36b6ba,transparent 42%),#050611;
  background-size:100% 100%;animation:none;
}
@media(max-width:700px){
  #lufi-spectrum-layer .spectrum-wave{filter:blur(34px);opacity:.76}
  #lufi-spectrum-layer .spectrum-dark-gap{background:radial-gradient(ellipse 40% 34% at 52% 48%,rgba(2,3,9,.95) 8%,rgba(2,3,9,.72) 50%,transparent 100%)}
}
@media(prefers-reduced-motion:reduce){
  #lufi-spectrum-layer .spectrum-wave,#lufi-spectrum-layer .spectrum-action-pulse{animation:none!important}
}
body.motion-off #lufi-spectrum-layer .spectrum-wave,
body.motion-off #lufi-spectrum-layer .spectrum-action-pulse{animation:none!important}

/* Both resize controls: corner grip and S/M/L/XL preset are completely unboxed. */
.float-window .float-size-btn,
.float-window .float-size-btn:hover,
.float-window .float-size-btn:active,
.float-window .float-size-btn:focus-visible,
body.hub-day .float-window .float-size-btn,
body.hub-day .float-window .float-size-btn:hover,
body.hub-spectrum .float-window .float-size-btn,
body.hub-spectrum .float-window .float-size-btn:hover{
  background:transparent!important;border:0!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.float-window .float-size-btn:focus-visible{outline:2px solid var(--hub-accent,#b8f1db)!important;outline-offset:2px}

/* LuFi HUB v14.11.2: target is occupied — other unpinned windows make room. */
body.grid-board #cards-container>.hub-snap-preview.is-reorder{
  border-color:rgba(186,225,255,.88)!important;
  background:linear-gradient(135deg,rgba(114,174,255,.18),rgba(139,209,255,.045))!important;
}

/* v14.11.3 — aktywne panele: białe podświetlenie we wszystkich motywach. */
.card-wrap .corner-preview.is-active,
body.hub-day .card-wrap .corner-preview.is-active,
body.hub-spectrum .card-wrap .corner-preview.is-active {
  color:#ffffff!important;
  filter:drop-shadow(0 0 3px rgba(255,255,255,.75));
}
.card-wrap.has-open-panel>.premium-card,
body.hub-style-tiles .card-wrap.has-open-panel>.premium-card,
body.hub-spectrum .card-wrap.has-open-panel>.premium-card {
  border-color:#ffffff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),
             0 0 16px rgba(255,255,255,.27)!important;
}
body.hub-day .card-wrap.has-open-panel>.premium-card,
body.hub-day.hub-style-tiles .card-wrap.has-open-panel>.premium-card {
  border-color:#ffffff!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.95),
             0 0 0 1px rgba(19,42,35,.35),
             0 0 14px rgba(18,53,37,.17)!important;
}
body.hub-day .card-wrap .corner-preview.is-active {
  filter:drop-shadow(0 1px 1px rgba(5,26,19,.85));
}


/* LuFi HUB 14.11.4 — fixed frosted glass for tiles and panel header bars.
   Neutral monochrome tint avoids the green/purple cast that occurred previously.
   Corner radius remains independently adjustable; glass itself is not configurable. */
:root{
  --hub-glass-blur:16px;
  --hub-glass-alpha:.74;
  --hub-border-alpha:.28;
}
body .card-wrap>.premium-card,
body.hub-style-tiles .card-wrap>.premium-card,
body.grid-board #cards-container>.card-wrap>.premium-card{
  background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045) 44%,rgba(255,255,255,.018))!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:var(--hub-radius,15px)!important;
  -webkit-backdrop-filter:blur(16px) saturate(155%)!important;
  backdrop-filter:blur(16px) saturate(155%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 1px 0 0 rgba(255,255,255,.055),0 9px 24px rgba(0,0,0,.18)!important;
}
body.hub-day .card-wrap>.premium-card,
body.hub-day.hub-style-tiles .card-wrap>.premium-card,
body.hub-day.grid-board #cards-container>.card-wrap>.premium-card{
  background:linear-gradient(140deg,rgba(255,255,255,.66),rgba(255,255,255,.40) 52%,rgba(255,255,255,.31))!important;
  border-color:rgba(255,255,255,.88)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 6px 20px rgba(39,65,57,.11)!important;
  color:#172d25!important;
}
body.hub-spectrum .card-wrap>.premium-card,
body.hub-spectrum.hub-style-tiles .card-wrap>.premium-card,
body.hub-spectrum.grid-board #cards-container>.card-wrap>.premium-card{
  background:linear-gradient(140deg,rgba(255,255,255,.14),rgba(13,19,38,.27) 60%,rgba(1,3,12,.34))!important;
  border-color:rgba(238,240,255,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.31),0 9px 25px rgba(0,0,0,.24)!important;
}
body .card-wrap:hover>.premium-card{
  border-color:rgba(255,255,255,.52)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 12px 29px rgba(0,0,0,.27)!important;
}
body.hub-day .card-wrap:hover>.premium-card{
  border-color:rgba(255,255,255,.98)!important;
  box-shadow:inset 0 1px 0 #fff,0 9px 25px rgba(36,77,65,.17)!important;
}
/* Keep the previously requested white active-panel highlight above the new glass. */
body .card-wrap.has-open-panel>.premium-card,
body.hub-style-tiles .card-wrap.has-open-panel>.premium-card,
body.hub-spectrum .card-wrap.has-open-panel>.premium-card,
body.grid-board #cards-container>.card-wrap.has-open-panel>.premium-card{
  border-color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.60),0 0 17px rgba(255,255,255,.34)!important;
}
body.hub-day .card-wrap.has-open-panel>.premium-card,
body.hub-day.grid-board #cards-container>.card-wrap.has-open-panel>.premium-card{
  border-color:#fff!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.99),0 0 0 1px rgba(19,42,35,.35),0 0 15px rgba(18,53,37,.17)!important;
}
/* A soft satin top edge: overlay is purely decorative and cannot steal pointer input. */
body .float-window .float-bar,
body.grid-board .float-window .float-bar,
body.hub-spectrum .float-window .float-bar{
  position:relative;
  background:linear-gradient(116deg,rgba(255,255,255,.19),rgba(255,255,255,.105) 38%,rgba(255,255,255,.047) 75%,rgba(255,255,255,.11))!important;
  border-bottom:1px solid rgba(255,255,255,.24)!important;
  -webkit-backdrop-filter:blur(15px) saturate(160%)!important;
  backdrop-filter:blur(15px) saturate(160%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.36),inset 0 -1px 0 rgba(255,255,255,.035)!important;
}
body .float-window .float-bar::after{
  content:"";position:absolute;pointer-events:none;
  top:0;left:14px;right:14px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.48) 28%,rgba(255,255,255,.05) 77%,transparent);
}
body.hub-day .float-window .float-bar{
  background:linear-gradient(110deg,rgba(255,255,255,.80),rgba(255,255,255,.48) 48%,rgba(255,255,255,.39))!important;
  border-bottom-color:rgba(24,54,42,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
}
/* Allow the underlying pattern to show subtly through the window surface too. */
body.grid-board #cards-container>.float-window{
  background:rgba(8,12,16,.74)!important;
  -webkit-backdrop-filter:blur(11px) saturate(135%);
  backdrop-filter:blur(11px) saturate(135%);
}
body.hub-spectrum.grid-board #cards-container>.float-window{
  background:rgba(6,9,23,.71)!important;
}
body.hub-day.grid-board #cards-container>.float-window{
  background:rgba(245,251,248,.82)!important;
}
/* Legacy inline preview header, for imported older layouts. */
body .preview-toolbar{
  background:linear-gradient(115deg,rgba(255,255,255,.20),rgba(255,255,255,.07))!important;
  border-bottom:1px solid rgba(255,255,255,.21)!important;
  -webkit-backdrop-filter:blur(14px) saturate(140%)!important;
  backdrop-filter:blur(14px) saturate(140%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30);
}
.hub-settings .settings-footer{justify-content:flex-end!important}
@media(max-width:768px){
  body .card-wrap>.premium-card,
  body.hub-style-tiles .card-wrap>.premium-card,
  body.grid-board #cards-container>.card-wrap>.premium-card{
    -webkit-backdrop-filter:blur(9px) saturate(132%)!important;
    backdrop-filter:blur(9px) saturate(132%)!important;
  }
  body .float-window .float-bar,
  body.grid-board .float-window .float-bar{
    -webkit-backdrop-filter:blur(9px) saturate(132%)!important;
    backdrop-filter:blur(9px) saturate(132%)!important;
  }
}
@supports not (backdrop-filter:blur(1px)){
  body .card-wrap>.premium-card{background:rgba(27,31,37,.85)!important}
  body.hub-day .card-wrap>.premium-card{background:rgba(255,255,255,.88)!important}
  body.hub-spectrum .card-wrap>.premium-card{background:rgba(22,23,43,.88)!important}
}

/* Decorative hover preview must never intercept the panel-open control. */
.card-wrap .site-preview{pointer-events:none!important}


/* LuFi HUB 14.11.5 — Crystal Glass. Uniform glass surface, no visual-scanline overlay.
   Transparency, specular reflections, neutral tint and clear borders are permanent;
   keep corner-radius customization and the white active-tile indicator. */
body::before { content:none!important; display:none!important; }

body .card-wrap>.premium-card,
body.hub-style-tiles .card-wrap>.premium-card,
body.grid-board #cards-container>.card-wrap>.premium-card,
body.hub-spectrum .card-wrap>.premium-card {
  background:
    radial-gradient(ellipse 115% 95% at -16% -25%,rgba(255,255,255,.31),transparent 68%),
    linear-gradient(145deg,rgba(255,255,255,.235) 0%,rgba(255,255,255,.095) 36%,rgba(255,255,255,.028) 64%,rgba(255,255,255,.10) 100%)!important;
  border:1px solid rgba(245,251,255,.56)!important;
  border-radius:var(--hub-radius,15px)!important;
  -webkit-backdrop-filter:blur(19px) saturate(165%) brightness(1.06)!important;
  backdrop-filter:blur(19px) saturate(165%) brightness(1.06)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.65),
    inset 1px 0 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(255,255,255,.11),
    0 12px 30px rgba(0,0,0,.22),
    0 0 13px rgba(225,242,255,.09)!important;
}
body.hub-day .card-wrap>.premium-card,
body.hub-day.hub-style-tiles .card-wrap>.premium-card,
body.hub-day.grid-board #cards-container>.card-wrap>.premium-card {
  background:
    radial-gradient(ellipse 110% 100% at -10% -20%,rgba(255,255,255,.96),transparent 72%),
    linear-gradient(145deg,rgba(255,255,255,.79),rgba(255,255,255,.49) 56%,rgba(255,255,255,.39))!important;
  border-color:rgba(255,255,255,.94)!important;
  color:#172d25!important;
  box-shadow:inset 0 1px 0 #fff,inset 1px 0 0 rgba(255,255,255,.76),0 10px 27px rgba(33,63,51,.15)!important;
}
/* Crisp light edge on hover without changing the tile's neutral hue. */
body .card-wrap:hover>.premium-card,
body.hub-spectrum .card-wrap:hover>.premium-card {
  border-color:rgba(255,255,255,.9)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88),inset 1px 0 0 rgba(255,255,255,.21),0 15px 32px rgba(0,0,0,.27),0 0 16px rgba(243,250,255,.17)!important;
}
body.hub-day .card-wrap:hover>.premium-card {
  border-color:#fff!important;
  box-shadow:inset 0 1px 0 #fff,0 12px 28px rgba(36,77,65,.18)!important;
}
/* Keep the active state white and stronger than the general crystal edge. */
body .card-wrap.has-open-panel>.premium-card,
body.hub-style-tiles .card-wrap.has-open-panel>.premium-card,
body.hub-spectrum .card-wrap.has-open-panel>.premium-card,
body.grid-board #cards-container>.card-wrap.has-open-panel>.premium-card {
  border-color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 0 22px rgba(255,255,255,.39),0 12px 30px rgba(0,0,0,.18)!important;
}
body.hub-day .card-wrap.has-open-panel>.premium-card,
body.hub-day.grid-board #cards-container>.card-wrap.has-open-panel>.premium-card {
  border-color:#fff!important;
  box-shadow:inset 0 0 0 2px #fff,0 0 0 1px rgba(22,42,35,.25),0 0 17px rgba(18,53,37,.18)!important;
}
/* Panel titlebars: luminous bevel, translucent middle and bright glass outline. */
body .float-window .float-bar,
body.grid-board .float-window .float-bar,
body.hub-spectrum .float-window .float-bar {
  position:relative;
  background:
    radial-gradient(ellipse 115% 190% at 11% -100%,rgba(255,255,255,.39),transparent 85%),
    linear-gradient(110deg,rgba(255,255,255,.29) 0%,rgba(255,255,255,.15) 32%,rgba(255,255,255,.055) 67%,rgba(255,255,255,.18))!important;
  border-bottom:1px solid rgba(248,251,255,.43)!important;
  -webkit-backdrop-filter:blur(18px) saturate(160%)!important;
  backdrop-filter:blur(18px) saturate(160%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -1px 0 rgba(255,255,255,.13)!important;
}
body.hub-day .float-window .float-bar {
  background:linear-gradient(115deg,rgba(255,255,255,.94),rgba(255,255,255,.67) 47%,rgba(255,255,255,.54))!important;
  border-bottom-color:rgba(94,121,111,.25)!important;
  box-shadow:inset 0 1px 0 #fff!important;
}
body .float-window .float-bar::after {
  opacity:.9;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.8) 25%,rgba(255,255,255,.24) 73%,transparent)!important;
}
body .preview-toolbar {
  background:linear-gradient(110deg,rgba(255,255,255,.30),rgba(255,255,255,.10) 70%,rgba(255,255,255,.19))!important;
  border-bottom:1px solid rgba(255,255,255,.44)!important;
  -webkit-backdrop-filter:blur(18px) saturate(155%)!important;
  backdrop-filter:blur(18px) saturate(155%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.67)!important;
}
@media(max-width:768px){
  body .card-wrap>.premium-card,
  body.hub-style-tiles .card-wrap>.premium-card,
  body.grid-board #cards-container>.card-wrap>.premium-card,
  body.hub-spectrum .card-wrap>.premium-card {
    -webkit-backdrop-filter:blur(11px) saturate(145%)!important;
    backdrop-filter:blur(11px) saturate(145%)!important;
  }
  body .float-window .float-bar,
  body.grid-board .float-window .float-bar,
  body.hub-spectrum .float-window .float-bar {
    -webkit-backdrop-filter:blur(11px) saturate(145%)!important;
    backdrop-filter:blur(11px) saturate(145%)!important;
  }
}
@supports not (backdrop-filter:blur(1px)){
  body .card-wrap>.premium-card{background:rgba(32,39,48,.82)!important;}
  body.hub-day .card-wrap>.premium-card{background:rgba(255,255,255,.91)!important;}
  body.hub-spectrum .card-wrap>.premium-card{background:rgba(26,27,51,.81)!important;}
}

/* Match the more specific Spectrum tile rules in all desktop layout modes. */
body.hub-spectrum.hub-style-tiles .card-wrap>.premium-card,
body.hub-spectrum.grid-board #cards-container>.card-wrap>.premium-card,
body.hub-spectrum.grid-board.hub-style-tiles #cards-container>.card-wrap>.premium-card{
  background:
    radial-gradient(ellipse 115% 95% at -16% -25%,rgba(255,255,255,.31),transparent 68%),
    linear-gradient(145deg,rgba(255,255,255,.235) 0%,rgba(255,255,255,.095) 36%,rgba(255,255,255,.028) 64%,rgba(255,255,255,.10) 100%)!important;
  border-color:rgba(245,251,255,.56)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 1px 0 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(255,255,255,.11),0 12px 30px rgba(0,0,0,.22),0 0 13px rgba(225,242,255,.09)!important;
}
body.hub-spectrum.hub-style-tiles .card-wrap.has-open-panel>.premium-card,
body.hub-spectrum.grid-board #cards-container>.card-wrap.has-open-panel>.premium-card{
  border-color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 0 22px rgba(255,255,255,.39),0 12px 30px rgba(0,0,0,.18)!important;
}


/* LuFi HUB 14.11.7 — Lekki blur, no decorative frames.
   Soft-glass from the selected Glass Lab preset (blur 11px, film 6%, sheen 18%).
   Clear tile borders are deliberately absent. Active tiles have a white halo
   instead of an outline; panel titlebars use the same blur as the tiles. */
body::before{content:none!important;display:none!important}
:root{
  --glass-lab-blur:11px;
  --glass-lab-blur-mobile:11px;
  --glass-lab-fill:.060;
  --glass-lab-fill-peak:.073;
  --glass-lab-glint:.047;
  --glass-lab-specular:.174;
  --glass-lab-sat:125%;
  --glass-lab-shadow:.092;
}
/* Uniform translucent background, in every visual theme and layout. */
body .card-wrap>.premium-card,
body.hub-style-tiles .card-wrap>.premium-card,
body.grid-board #cards-container>.card-wrap>.premium-card,
body.hub-spectrum .card-wrap>.premium-card,
body.hub-spectrum.hub-style-tiles .card-wrap>.premium-card,
body.hub-spectrum.grid-board #cards-container>.card-wrap>.premium-card,
body.hub-spectrum.grid-board.hub-style-tiles #cards-container>.card-wrap>.premium-card,
body.hub-day .card-wrap>.premium-card,
body.hub-day.hub-style-tiles .card-wrap>.premium-card,
body.hub-day.grid-board #cards-container>.card-wrap>.premium-card{
  background:
    radial-gradient(ellipse 95% 65% at -12% -30%,rgba(255,255,255,.047),transparent 79%),
    linear-gradient(140deg,rgba(var(--glass-lab-tint,8,13,18),.073),rgba(var(--glass-lab-tint,8,13,18),.060) 50%,rgba(var(--glass-lab-tint,8,13,18),.060))!important;
  border:1px solid transparent!important;
  border-radius:var(--hub-radius,15px)!important;
  -webkit-backdrop-filter:blur(11px) saturate(125%)!important;
  backdrop-filter:blur(11px) saturate(125%)!important;
  box-shadow:0 9px 23px rgba(0,0,0,.12)!important;
}
body.hub-day .card-wrap>.premium-card{color:#172d25!important}
body .card-wrap:hover>.premium-card,
body.hub-day .card-wrap:hover>.premium-card,
body.hub-spectrum .card-wrap:hover>.premium-card{
  border-color:transparent!important;
  box-shadow:0 11px 25px rgba(0,0,0,.19)!important;
}
/* White active state without a drawn rectangle around every tile. */
body .card-wrap.has-open-panel>.premium-card,
body.hub-style-tiles .card-wrap.has-open-panel>.premium-card,
body.hub-spectrum .card-wrap.has-open-panel>.premium-card,
body.hub-spectrum.hub-style-tiles .card-wrap.has-open-panel>.premium-card,
body.grid-board #cards-container>.card-wrap.has-open-panel>.premium-card,
body.hub-spectrum.grid-board #cards-container>.card-wrap.has-open-panel>.premium-card,
body.hub-day .card-wrap.has-open-panel>.premium-card,
body.hub-day.grid-board #cards-container>.card-wrap.has-open-panel>.premium-card{
  border-color:transparent!important;
  box-shadow:0 0 17px rgba(255,255,255,.43),0 8px 23px rgba(0,0,0,.14)!important;
}
/* Panel bar receives same translucency and 11px blur; no frame/divider. */
body .float-window .float-bar,
body.grid-board .float-window .float-bar,
body.hub-spectrum .float-window .float-bar,
body.hub-day .float-window .float-bar{
  position:relative;
  background:linear-gradient(140deg,rgba(var(--glass-lab-tint,8,13,18),.073),rgba(var(--glass-lab-tint,8,13,18),.060))!important;
  border:0!important;
  -webkit-backdrop-filter:blur(11px) saturate(125%)!important;
  backdrop-filter:blur(11px) saturate(125%)!important;
  box-shadow:none!important;
}
body .float-window .float-bar::after{content:none!important;display:none!important}
/* No visible outline around panel body either; preserve its dimensions. */
body .float-window,
body.grid-board #cards-container>.float-window,
body.hub-spectrum.grid-board #cards-container>.float-window,
body.hub-day.grid-board #cards-container>.float-window,
body .float-window.is-front{
  border:1px solid transparent!important;
}
body .preview-toolbar{
  background:rgba(var(--glass-lab-tint,8,13,18),.060)!important;
  border-bottom:0!important;
  -webkit-backdrop-filter:blur(11px) saturate(125%)!important;
  backdrop-filter:blur(11px) saturate(125%)!important;
  box-shadow:none!important;
}
@media(max-width:768px){
  body .card-wrap>.premium-card,
  body.hub-style-tiles .card-wrap>.premium-card,
  body.grid-board #cards-container>.card-wrap>.premium-card,
  body.hub-spectrum .card-wrap>.premium-card,
  body.hub-spectrum.hub-style-tiles .card-wrap>.premium-card,
  body .float-window .float-bar,
  body.grid-board .float-window .float-bar,
  body.hub-spectrum .float-window .float-bar,
  body.hub-day .float-window .float-bar,
  body .preview-toolbar{
    -webkit-backdrop-filter:blur(11px) saturate(125%)!important;
    backdrop-filter:blur(11px) saturate(125%)!important;
  }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  body .card-wrap>.premium-card{background:rgba(20,25,31,.68)!important}
  body.hub-day .card-wrap>.premium-card{background:rgba(255,255,255,.80)!important}
  body.hub-spectrum .card-wrap>.premium-card{background:rgba(15,17,32,.68)!important}
}


/* LuFi HUB 14.11.8 — titlebar truly shares the same soft glass as tiles.
   Removing the window backdrop root lets the header itself blur the page
   underneath; the opaque iframe stage continues to cover the window body. */
body{
  --lufi-panel-bar-tint:8,13,18;
}
body.hub-day{
  --lufi-panel-bar-tint:245,251,248;
}
body.hub-spectrum{
  --lufi-panel-bar-tint:8,13,18;
}
body .float-window,
body.grid-board #cards-container>.float-window,
body.grid-board.hub-day #cards-container>.float-window,
body.grid-board.hub-spectrum #cards-container>.float-window,
body.hub-spectrum.grid-board #cards-container>.float-window,
body.hub-day.grid-board #cards-container>.float-window{
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body .float-window .float-bar,
body.grid-board .float-window .float-bar,
body.hub-day .float-window .float-bar,
body.hub-spectrum .float-window .float-bar{
  background:linear-gradient(140deg,
    rgba(var(--lufi-panel-bar-tint),.073),
    rgba(var(--lufi-panel-bar-tint),.060) 55%,
    rgba(var(--lufi-panel-bar-tint),.060))!important;
  backdrop-filter:blur(11px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(11px) saturate(125%)!important;
  border:0!important;
  box-shadow:none!important;
}
body .float-window .float-bar::before,
body .float-window .float-bar::after{
  content:none!important;
  display:none!important;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  body .float-window .float-bar{background:rgba(20,25,31,.72)!important}
  body.hub-day .float-window .float-bar{background:rgba(246,251,248,.83)!important}
  body.hub-spectrum .float-window .float-bar{background:rgba(15,17,32,.74)!important}
}


/* LuFi HUB 14.11.9 — compact settings, refined daylight, depth and consistent iconography. */
.hub-settings:not([hidden]){width:min(388px,calc(100vw - 16px))!important;max-height:calc(100dvh - 16px)!important}
.hub-settings .settings-head{padding:10px 13px 6px!important}
.hub-settings h2{font-size:15px!important;margin:0!important}
.hub-settings .settings-overline{font-size:8px!important}
.hub-settings .settings-tabs{padding:0 9px 7px!important;gap:3px!important}
.hub-settings .settings-tab{padding:8px 2px!important;font-size:10px!important}
.hub-settings .settings-content{padding:2px 13px 10px!important}
.hub-settings .settings-section-title{margin:11px 0 8px!important;font-size:11px!important}
.hub-settings .settings-group{margin:9px 0 12px!important}
.hub-settings .switch-row{padding:8px 0!important}
.hub-settings .theme-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:7px!important}
.hub-settings .theme-choice{padding:6px 3px!important;gap:5px!important;font-size:10px!important}
.hub-settings .theme-swatch{height:30px!important}
.hub-settings .background-choice-grid{gap:5px;margin-bottom:7px!important}
.hub-settings .background-swatch{height:31px!important}
.hub-settings .settings-footer{padding:8px 13px!important}
.hub-settings .settings-footer button{padding:8px 17px!important}
.hub-settings [hidden]{display:none!important}
.hub-settings .theme-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:8px}
.hub-settings .theme-mode{border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.055);color:#d6e9df;cursor:pointer;padding:9px 7px;font:600 11px 'Poppins',sans-serif}
.hub-settings .theme-mode.is-selected{color:#081710;background:#dff5e9;border-color:transparent;box-shadow:none}
.hub-settings .theme-mode:focus-visible,.hub-settings .settings-fold summary:focus-visible{outline:2px solid #b8f1db;outline-offset:2px}
.hub-settings .theme-auto-status{margin:7px 0 9px;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.07);color:#d4ece0;font-size:11px;line-height:1.35}
.hub-settings .settings-fold{margin:8px 0 4px;border:1px solid rgba(255,255,255,.11);border-radius:10px;padding:0 10px}
.hub-settings .settings-fold>summary{cursor:pointer;padding:10px 3px;color:#cce3d7;font-size:11px;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center}
.hub-settings .settings-fold>summary::-webkit-details-marker{display:none}
.hub-settings .settings-fold>summary::after{content:'⌄';font-size:15px;opacity:.7;transition:transform .15s ease}
.hub-settings .settings-fold[open]>summary::after{transform:rotate(180deg)}
.hub-settings .settings-fold[open]{padding-bottom:8px}
.hub-settings .settings-fold .settings-section-title{margin-top:4px!important}

/* Depth without borders, tinted glow or additional visual filters. */
body .card-wrap>.premium-card,
body.hub-style-tiles .card-wrap>.premium-card,
body.grid-board #cards-container>.card-wrap>.premium-card,
body.hub-spectrum .card-wrap>.premium-card,
body.hub-day .card-wrap>.premium-card{
  box-shadow:0 9px 22px rgba(0,0,0,.17),0 3px 7px rgba(0,0,0,.09)!important;
  transition:box-shadow .17s ease,background-color .17s ease!important;
}
body .card-wrap:hover>.premium-card,body.hub-spectrum .card-wrap:hover>.premium-card{
  box-shadow:0 16px 32px rgba(0,0,0,.24),0 5px 12px rgba(0,0,0,.12)!important;
}
body .card-wrap.has-open-panel>.premium-card,
body.hub-style-tiles .card-wrap.has-open-panel>.premium-card,
body.hub-spectrum .card-wrap.has-open-panel>.premium-card,
body.hub-day .card-wrap.has-open-panel>.premium-card,
body.grid-board #cards-container>.card-wrap.has-open-panel>.premium-card{
  box-shadow:0 0 17px rgba(255,255,255,.32),0 13px 26px rgba(0,0,0,.17)!important;
}
body .float-window,body.grid-board #cards-container>.float-window,
body.hub-spectrum.grid-board #cards-container>.float-window,
body.hub-day.grid-board #cards-container>.float-window{
  box-shadow:0 18px 42px rgba(0,0,0,.32),0 5px 14px rgba(0,0,0,.16)!important;
  transition:box-shadow .18s ease!important;
}
body .float-window.is-front{box-shadow:0 25px 54px rgba(0,0,0,.42),0 7px 18px rgba(0,0,0,.14)!important}
body .float-window.is-dragging,body .float-window.is-resizing{box-shadow:0 28px 62px rgba(0,0,0,.48)!important;transition:none!important}
/* All window controls share the same visual weight and square hit areas. */
body .float-window .float-btn,body .float-window .float-move-handle,
body .float-window .float-size-btn{width:30px;min-width:30px;height:30px;padding:0!important;border:0!important;border-radius:8px;background:transparent!important;box-shadow:none!important;display:grid;place-items:center;flex-shrink:0;line-height:1}
body .float-window .float-btn svg,body .float-window .float-move-handle svg,
body .float-window .float-resize svg{width:17px;height:17px;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
body .float-window .float-size-btn{font-size:11px;font-weight:700}
body .float-window .float-btn:hover,body .float-window .float-move-handle:hover,
body .float-window .float-size-btn:hover{background:rgba(255,255,255,.09)!important}
body .float-window .float-buttons{gap:1px}
body .float-window .float-resize{background:transparent!important;border:0!important;box-shadow:none!important}
body .corner-preview,body .card-wrap .corner-preview,body.hub-day .card-wrap .corner-preview{background:transparent!important;border:0!important;box-shadow:none!important}
body .corner-preview svg,body .card-wrap .corner-preview svg{width:17px!important;height:17px!important;stroke-width:1.9}
/* Daylight mode: neutral slate and ice, distinct surfaces, high text contrast. */
body.hub-day{--hub-accent:#ffffff;--rgb-base:31,48,63;--bg-base:#f2f6fb;background:linear-gradient(145deg,#f7faff 0%,#e9f0f7 58%,#f4f6fb 100%)!important;color:#182b3e!important}
body.hub-day[data-hub-bg]{background:linear-gradient(145deg,#f7faff 0%,#e9f0f7 58%,#f4f6fb 100%)!important}
body.hub-day[data-hub-bg]::after{opacity:.065!important}
body.hub-day .card-wrap>.premium-card,
body.hub-day.hub-style-tiles .card-wrap>.premium-card,
body.hub-day.grid-board #cards-container>.card-wrap>.premium-card{
  background:linear-gradient(140deg,rgba(255,255,255,.65),rgba(245,249,255,.44))!important;
  border:1px solid transparent!important;color:#142637!important;
  box-shadow:0 10px 23px rgba(47,71,98,.11),0 2px 7px rgba(45,70,96,.06)!important;
  -webkit-backdrop-filter:blur(11px) saturate(125%)!important;
  backdrop-filter:blur(11px) saturate(125%)!important;
}
body.hub-day .premium-card .card-title,body.hub-day .premium-card .card-icon{color:#172c41!important;text-shadow:none!important;-webkit-text-fill-color:#172c41!important}
body.hub-day .card-image-icon{background-color:#294966!important}
body.hub-day .card-wrap:hover>.premium-card{box-shadow:0 14px 32px rgba(38,60,89,.17)!important}
body.hub-day .card-wrap.has-open-panel>.premium-card,
body.hub-day.hub-style-tiles .card-wrap.has-open-panel>.premium-card,
body.hub-day.grid-board #cards-container>.card-wrap.has-open-panel>.premium-card{
  box-shadow:0 0 0 2px rgba(255,255,255,.98),0 0 0 3px rgba(69,91,119,.12),0 13px 27px rgba(52,78,111,.17)!important;
}
body.hub-day .hub-settings{background:rgba(250,252,255,.97)!important;color:#192d3e!important;border:1px solid rgba(120,145,171,.22)!important;box-shadow:0 20px 50px rgba(46,75,109,.20)!important}
body.hub-day .hub-settings h2,body.hub-day .hub-settings .settings-group label,body.hub-day .hub-settings .switch-row span{color:#20364a!important}
body.hub-day .hub-settings .settings-section-title{color:#314f6b!important}
body.hub-day .hub-settings .theme-mode{color:#30465b;background:#ecf1f7;border:1px solid rgba(111,137,165,.15)}
body.hub-day .hub-settings .theme-mode.is-selected{color:#fff;background:#476b88;border-color:transparent}
body.hub-day .hub-settings .theme-auto-status{color:#35516a;background:#e8eff7}
body.hub-day .hub-settings .settings-fold{border-color:rgba(93,117,149,.19)}
body.hub-day .hub-settings .settings-fold>summary{color:#334f69}
body.hub-day .hub-settings .settings-tab{background:#edf2f7;color:#395269}
body.hub-day .hub-settings .settings-tab.is-active{background:#476b88;color:#fff}
body.hub-day .hub-settings .theme-choice,body.hub-day .hub-settings .background-choice{color:#304c63;background:#f4f7fb;border-color:#dbe3ed}
body.hub-day .hub-settings .theme-choice.is-selected,body.hub-day .hub-settings .background-choice.is-selected{border-color:#577994!important;box-shadow:inset 0 0 0 1px #577994;background:#e8f0f7}
body.hub-day .hub-settings .settings-footer{background:#f6f9fc;border-top-color:#d8e2ec}
body.hub-day .hub-settings .settings-footer button{background:#476b88;color:#fff}
body.hub-day .hub-settings .settings-group select,body.hub-day .hub-settings .settings-actions button:not(:last-child){background:#edf3f8!important;color:#25425b!important;border-color:#c9d8e5!important}
body.hub-day .float-window .float-bar{background:linear-gradient(145deg,rgba(255,255,255,.65),rgba(231,240,249,.45))!important;color:#17344b!important;box-shadow:none!important;-webkit-backdrop-filter:blur(11px) saturate(125%)!important;backdrop-filter:blur(11px) saturate(125%)!important}
body.hub-day .float-window .float-name,body.hub-day .float-window .float-btn,body.hub-day .float-window .float-size-btn,body.hub-day .float-window .float-move-handle,body.hub-day .float-window .float-resize{color:#294b65!important}
body.hub-day .float-window .float-stage{background:#eff4f9!important}
body.hub-day .float-window .float-btn:hover,body.hub-day .float-window .float-move-handle:hover,body.hub-day .float-window .float-size-btn:hover{background:rgba(56,94,130,.10)!important}
body.hub-day .card-wrap .corner-preview{color:#2a4c66!important}
@media(max-width:768px){body .float-window .float-btn,body .float-window .float-move-handle,body .float-window .float-size-btn{width:29px;min-width:29px;height:29px}}
@media(prefers-reduced-motion:reduce){body .card-wrap>.premium-card,body .float-window{transition:none!important}}

/* LuFi HUB 14.11.10 — fixed 118% hover scaling (no slider).
   Touch-only devices keep their compact tap behavior; hovering via mouse is 118%. */
:root { --hub-tile-zoom: 1.18; }
@media (hover: hover) and (pointer: fine) {
  body .card-wrap:hover,
  body .card-wrap:focus-within,
  body .card-wrap:has(>.premium-card.expanded),
  body .card-wrap:has(>.premium-card.expanded-xl),
  body.grid-board #cards-container>.card-wrap:hover,
  body.grid-board #cards-container>.card-wrap:focus-within {
    transform: scale(1.18) !important;
    z-index: 1200 !important;
  }
}

/* LuFi HUB 14.11.11 — quiet edge cues during touchscreen panel dragging. */
.hub-drag-edge-hints{
  position:fixed;inset:0;z-index:7500;pointer-events:none!important;
  user-select:none;touch-action:none;
}
.hub-drag-edge-hint{
  position:absolute;left:50%;display:flex;align-items:center;justify-content:center;
  gap:8px;min-width:130px;padding:8px 18px;border-radius:30px;
  color:#fff;font:600 14px/1.2 'Poppins',sans-serif;
  background:rgba(12,17,23,.47);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:0 6px 20px rgba(0,0,0,.14);
  transform:translateX(-50%) scale(.96);opacity:0;
  transition:opacity .12s ease,transform .12s ease;
  pointer-events:none!important;
}
.hub-drag-edge-hint small{font-size:11px;white-space:nowrap;font-weight:600;}
.hub-drag-edge-hint.is-top{top:max(8px,env(safe-area-inset-top));}
.hub-drag-edge-hint.is-bottom{bottom:max(11px,env(safe-area-inset-bottom));}
.hub-drag-edge-hint.can-scroll{opacity:.3;}
.hub-drag-edge-hint.is-active{opacity:.92;transform:translateX(-50%) scale(1);}
body.hub-day .hub-drag-edge-hint{color:#1c3442;background:rgba(246,251,255,.76);}
@media(prefers-reduced-motion:reduce){.hub-drag-edge-hint{transition:none!important;}}


/* LuFi HUB 14.11.13 — invisible mobile edge area scrolls the WHOLE document.
   This rail stays outside cross-origin iframe hit-testing, and uses browser
   native pan-y (including momentum) without any panel dragging. */
.hub-page-scroll-rail{display:none!important}
@media (pointer:coarse), (max-width:700px){
  body.grid-board:not(.grid-maximized) .hub-page-scroll-rail.is-scrollable{
    display:block!important;
    position:fixed;
    top:calc(54px + env(safe-area-inset-top,0px));
    right:0;
    bottom:calc(12px + env(safe-area-inset-bottom,0px));
    width:25px;
    z-index:6050;
    cursor:ns-resize;
    touch-action:pan-y!important;
    overscroll-behavior-y:auto;
    -webkit-user-select:none;user-select:none;
    background:transparent!important;
    pointer-events:auto;
  }
  body.grid-board .float-bar{touch-action:pan-y!important}
  body.grid-board .float-bar .float-name{touch-action:pan-y!important}
  body.grid-board .float-bar .float-move-handle{touch-action:none!important}
  body.grid-board .float-bar .float-buttons button,
  body.grid-board .float-bar .float-buttons a{touch-action:manipulation}
}
/* Settings are always above the edge rail and fullscreen disables it entirely. */
body.grid-board:has(.hub-settings:not([hidden])) .hub-page-scroll-rail{display:none!important}

/* v14.11.14 — original logo's random 3D rotation/glitch is visible again.
   Older rules replaced its transform transition with a size-only transition. */
body:not(.motion-off) .site-header:not(.is-condensed) .logo-img {
  transition:width .65s cubic-bezier(.18,.81,.2,1),
             height .65s cubic-bezier(.18,.81,.2,1),
             transform 2.35s cubic-bezier(.34,.1,.25,1),
             filter 1.35s ease,
             background-color .35s ease!important;
}
/* Fixed white accent and neutral selected controls in every theme. */
:root, body.hub-day {--hub-accent:#ffffff;}
.hub-settings .theme-mode.is-selected,
.hub-settings .settings-tab.is-active,
.hub-settings .settings-tab[aria-selected="true"]{
  background:#fff!important;color:#152027!important;border-color:transparent!important;
}
body.hub-day .hub-settings .theme-mode.is-selected,
body.hub-day .hub-settings .settings-tab.is-active,
body.hub-day .hub-settings .settings-tab[aria-selected="true"]{
  background:#fff!important;color:#192c3c!important;border:1px solid rgba(26,49,66,.20)!important;
}
.hub-settings .theme-choice.is-selected,.hub-settings .background-choice.is-selected{
  border-color:#fff!important;box-shadow:inset 0 0 0 1px #fff!important;
}
body.hub-day .hub-settings .theme-choice.is-selected,
body.hub-day .hub-settings .background-choice.is-selected{
  border-color:#fff!important;
  box-shadow:inset 0 0 0 1px #fff,0 0 0 1px rgba(28,52,72,.34)!important;
}
@media(prefers-reduced-motion:reduce){
  .site-header:not(.is-condensed) .logo-img{transition:none!important}
}
body.motion-off .site-header:not(.is-condensed) .logo-img{transition:none!important}


/* LuFi HUB v14.11.15 — ustawienia z takim samym lekkim szklem jak kafelki.
   Jasne tlo przy motywie dziennym, czarne/dymione dla ciemnego i Spektrum. */
body .hub-settings:not([hidden]),
body.hub-spectrum .hub-settings:not([hidden]){
  background:linear-gradient(140deg,rgba(22,28,35,.51),rgba(7,11,17,.42) 60%,rgba(13,17,23,.46))!important;
  border:1px solid transparent!important;
  color:#f4f7fb!important;
  box-shadow:0 18px 45px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.045)!important;
  -webkit-backdrop-filter:blur(11px) saturate(125%)!important;
  backdrop-filter:blur(11px) saturate(125%)!important;
}
body.hub-day .hub-settings:not([hidden]){
  background:linear-gradient(140deg,rgba(250,252,255,.67),rgba(238,244,250,.57) 62%,rgba(244,249,255,.62))!important;
  border:1px solid transparent!important;
  color:#192d3e!important;
  box-shadow:0 15px 35px rgba(28,49,75,.17),inset 0 1px 0 rgba(255,255,255,.12)!important;
  -webkit-backdrop-filter:blur(11px) saturate(125%)!important;
  backdrop-filter:blur(11px) saturate(125%)!important;
}
/* Nieprzezroczysta stopka mogla zaslaniac efekt szkła na dole menu. */
body .hub-settings .settings-head,
body .hub-settings .settings-tabs,
body .hub-settings .settings-content,
body .hub-settings .settings-footer,
body.hub-day .hub-settings .settings-footer{
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
/* Ikony i podpisy: plynne wychylenie w 3D, zgodne z ruchem logo.
   Animowane tylko podczas interakcji lub pojedynczo, sporadycznie w spoczynku. */
.premium-card .icon-wrapper{perspective:460px;transform-style:preserve-3d}
.premium-card .card-icon,
.premium-card .card-image-icon{
  display:inline-block;
  transform-origin:center center;
  backface-visibility:hidden;
  transition:transform .65s cubic-bezier(.25,.8,.25,1),filter .24s ease!important;
}
.premium-card .card-title{
  backface-visibility:hidden;
  transform-origin:center center;
  transition:transform .75s cubic-bezier(.25,.8,.25,1),letter-spacing .18s ease,color .2s ease!important;
}
.premium-card.tile-logo-motion .card-icon,
.premium-card.tile-logo-motion .card-image-icon{
  transform:perspective(500px) rotateX(var(--tile-rot-x,0deg)) rotateY(var(--tile-rot-y,0deg)) rotateZ(var(--tile-rot-z,0deg)) scale(var(--tile-anim-scale,1.04))!important;
}
.premium-card.tile-logo-motion .card-title{
  transform:translateZ(55px) rotateX(var(--tile-text-rx,0deg)) rotateY(var(--tile-text-ry,0deg))!important;
}
@keyframes lufiTileIconGlitch{
  0%,100%{filter:drop-shadow(0 0 0 rgba(255,255,255,0))}
  24%{filter:drop-shadow(2px 0 1px rgba(255,83,132,.68)) drop-shadow(-2px 0 1px rgba(75,222,255,.68))}
  54%{filter:drop-shadow(-2px 0 1px rgba(255,83,132,.62)) drop-shadow(2px 0 1px rgba(75,222,255,.65))}
  76%{filter:drop-shadow(1px 0 1px rgba(255,255,255,.33))}
}
.premium-card.tile-logo-glitch .card-icon,
.premium-card.tile-logo-glitch .card-image-icon{
  animation:lufiTileIconGlitch .27s linear 1;
}
/* Zapisane w ustawieniach wyłączenie animacji i systemowe ograniczenie ruchu. */
body.motion-off .premium-card .card-icon,
body.motion-off .premium-card .card-image-icon,
body.motion-off .premium-card .card-title{
  animation:none!important;transition:none!important;transform:none!important;
}
@media(prefers-reduced-motion:reduce){
  .premium-card .card-icon,.premium-card .card-image-icon,.premium-card .card-title{
    animation:none!important;transition:none!important;transform:none!important;
  }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  body .hub-settings:not([hidden]){background:rgba(15,19,26,.95)!important}
  body.hub-day .hub-settings:not([hidden]){background:rgba(245,249,253,.97)!important}
}


/* 14.11.16: Kiedy jakikolwiek panel jest otwarty, ozdobne animacje
   kafelkow i logo zatrzymuja sie natychmiast. Powiekszenie 118% i sterowanie
   kafelkami pozostaja dostepne. */
body.grid-board .logo-orbit,
body.grid-board .logo-orbit .sat-orbit,
body.grid-board .logo-img,
body.grid-board .logo-img.glitch-effect {
  animation:none!important;
}
body.grid-board .logo-orbit{opacity:1!important}
body.grid-board .logo-img{
  transform:none!important;
  transition:none!important;
  filter:none!important;
}
body.grid-board .premium-card .card-icon,
body.grid-board .premium-card .card-image-icon,
body.grid-board .premium-card .card-title{
  animation:none!important;
  transform:none!important;
  transition:none!important;
}

/* 14.11.17 — wyrazniejsze ruchy 3D i czytelniejsze refleksy, bez nowych ramek. */
body:not(.grid-board):not(.motion-off) .premium-card.tile-logo-motion .card-icon,
body:not(.grid-board):not(.motion-off) .premium-card.tile-logo-motion .card-image-icon {
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.34)) drop-shadow(0 0 8px rgba(255,255,255,.48))!important;
  transition:transform .92s cubic-bezier(.16,.8,.25,1),filter .45s ease!important;
}
body:not(.grid-board):not(.motion-off) .premium-card.tile-logo-motion .card-title {
  text-shadow:0 2px 7px rgba(0,0,0,.48),0 0 7px rgba(255,255,255,.17)!important;
  transition:transform .95s cubic-bezier(.16,.8,.25,1),letter-spacing .18s ease!important;
}
body:not(.grid-board):not(.motion-off) .site-header:not(.is-condensed) .logo-img {
  transition:width .65s cubic-bezier(.18,.81,.2,1),height .65s cubic-bezier(.18,.81,.2,1),
   transform 1.55s cubic-bezier(.16,.8,.25,1),filter .88s ease,background-color .35s ease!important;
}
/* Przy otwartych panelach animacja stalego ruchu pozostaje wylaczona.
   Uzytkownik moze jednak uruchomic oryginalne losowanie liter na hover. */
@media(prefers-reduced-motion:reduce){
  body:not(.grid-board) .premium-card.tile-logo-motion .card-icon,
  body:not(.grid-board) .premium-card.tile-logo-motion .card-image-icon,
  body:not(.grid-board) .premium-card.tile-logo-motion .card-title{transition:none!important;filter:none!important}
}


/* LuFi HUB v14.11.18 – widoczne i niezawodne animacje logo oraz kazdego
   kafelka. W trybie paneli ruch zostaje wylaczony; scramble dziala na hover. */
@keyframes lufiLogoVisible3D {
  0%,100% {transform:perspective(600px) rotateX(0deg) rotateY(-9deg) rotateZ(-1deg) scale(1.015) translateY(0);
          filter:drop-shadow(0 0 7px rgba(255,255,255,.38)) brightness(1.03)}
  24% {transform:perspective(600px) rotateX(8deg) rotateY(15deg) rotateZ(2deg) scale(1.095) translateY(-5px);
       filter:drop-shadow(0 0 17px rgba(255,255,255,.78)) brightness(1.19)}
  53% {transform:perspective(600px) rotateX(-11deg) rotateY(-13deg) rotateZ(-2deg) scale(1.045) translateY(3px);
       filter:drop-shadow(0 0 12px rgba(255,255,255,.57)) brightness(1.09)}
  78% {transform:perspective(600px) rotateX(6deg) rotateY(12deg) rotateZ(1deg) scale(1.11) translateY(-4px);
       filter:drop-shadow(0 0 19px rgba(255,255,255,.71)) brightness(1.20)}
}
@keyframes lufiTileVisible3D {
  0%,100%{transform:perspective(380px) rotateY(-11deg) rotateX(5deg) scale(1.02) translateY(0);
         filter:drop-shadow(0 0 1px rgba(255,255,255,.2))}
  28%{transform:perspective(380px) rotateY(18deg) rotateX(-12deg) scale(1.17) translateY(-3px);
      filter:drop-shadow(0 0 8px rgba(255,255,255,.72))}
  64%{transform:perspective(380px) rotateY(-17deg) rotateX(10deg) scale(1.06) translateY(2px);
      filter:drop-shadow(0 0 5px rgba(255,255,255,.43))}
  86%{transform:perspective(380px) rotateY(11deg) rotateX(-6deg) scale(1.15) translateY(-2px);
      filter:drop-shadow(0 0 9px rgba(255,255,255,.65))}
}
@keyframes lufiTileTitleFloat {
  0%,100%{transform:translateY(0)}
  45%{transform:translateY(-2px)}
  75%{transform:translateY(1px)}
}
@keyframes lufiLogoBriefGlitch {
  0%,100% {transform:translate(0);filter:drop-shadow(0 0 8px rgba(255,255,255,.45))}
  27% {transform:translate(-4px,1px) skewX(2deg);filter:drop-shadow(3px 0 1px #f34e84) drop-shadow(-3px 0 1px #58e5ff)}
  56% {transform:translate(4px,-2px) skewX(-2deg);filter:drop-shadow(-3px 0 1px #f34e84) drop-shadow(3px 0 1px #58e5ff)}
}
body.hub-ambient-animating:not(.motion-off) .site-header:not(.is-condensed) .logo-img,
body.hub-ambient-animating:not(.motion-off) .logo-orbit.logo-missing .logo-fallback {
  animation:lufiLogoVisible3D 4.8s ease-in-out infinite!important;
  transform-origin:center center!important;
  transition:none!important;
  backface-visibility:visible;
}
body.hub-ambient-animating:not(.motion-off) .site-header .logo-img.glitch-effect{
  animation:lufiLogoBriefGlitch .34s linear 1!important;
}
/* Stagger makes the whole grid feel animated without all tiles bouncing in sync. */
body.hub-ambient-animating:not(.motion-off) .premium-card .card-image-icon,
body.hub-ambient-animating:not(.motion-off) .premium-card .card-icon{
  animation:lufiTileVisible3D 4.2s ease-in-out infinite!important;
  animation-delay:var(--lufi-tile-delay,0s)!important;
  transform-origin:center!important;
  will-change:transform;
}
body.hub-ambient-animating:not(.motion-off) .premium-card .card-title{
  animation:lufiTileTitleFloat 4.2s ease-in-out infinite!important;
  animation-delay:var(--lufi-tile-delay,0s)!important;
}
body .card-wrap:nth-child(1) .premium-card{--lufi-tile-delay:-0.00s}
body .card-wrap:nth-child(2) .premium-card{--lufi-tile-delay:-0.23s}
body .card-wrap:nth-child(3) .premium-card{--lufi-tile-delay:-0.46s}
body .card-wrap:nth-child(4) .premium-card{--lufi-tile-delay:-0.69s}
body .card-wrap:nth-child(5) .premium-card{--lufi-tile-delay:-0.92s}
body .card-wrap:nth-child(6) .premium-card{--lufi-tile-delay:-1.15s}
body .card-wrap:nth-child(7) .premium-card{--lufi-tile-delay:-1.38s}
body .card-wrap:nth-child(8) .premium-card{--lufi-tile-delay:-1.61s}
body .card-wrap:nth-child(9) .premium-card{--lufi-tile-delay:-1.84s}
body .card-wrap:nth-child(10) .premium-card{--lufi-tile-delay:-2.07s}
body .card-wrap:nth-child(11) .premium-card{--lufi-tile-delay:-2.30s}
body .card-wrap:nth-child(12) .premium-card{--lufi-tile-delay:-2.53s}
body .card-wrap:nth-child(13) .premium-card{--lufi-tile-delay:-2.76s}
body .card-wrap:nth-child(14) .premium-card{--lufi-tile-delay:-2.99s}
body .card-wrap:nth-child(15) .premium-card{--lufi-tile-delay:-3.22s}
body .card-wrap:nth-child(16) .premium-card{--lufi-tile-delay:-3.45s}
body .card-wrap:nth-child(17) .premium-card{--lufi-tile-delay:-3.68s}
body .card-wrap:nth-child(18) .premium-card{--lufi-tile-delay:-3.91s}

body.grid-board .premium-card .card-image-icon,
body.grid-board .premium-card .card-icon,
body.grid-board .premium-card .card-title,
body.grid-board .logo-img,
body.motion-off .premium-card .card-image-icon,
body.motion-off .premium-card .card-icon,
body.motion-off .premium-card .card-title,
body.motion-off .logo-img{
  animation:none!important;will-change:auto!important;
}
@media(prefers-reduced-motion:reduce){
 body.hub-ambient-animating .premium-card .card-image-icon,
 body.hub-ambient-animating .premium-card .card-icon,
 body.hub-ambient-animating .premium-card .card-title,
 body.hub-ambient-animating .logo-img {animation:none!important;will-change:auto!important}
}


/* 14.11.19: wyrazne ruchy logo i ikon, bez zmieniania rozmiarow kafelkow. */
@keyframes lufiLogoVisible3D {
  0%,100% {transform:perspective(680px) rotateY(-13deg) rotateX(2deg) translateY(0) scale(1.02);
    filter:drop-shadow(0 0 7px rgba(255,255,255,.37)) brightness(1.04)}
  28% {transform:perspective(680px) rotateY(21deg) rotateX(9deg) translateY(-9px) scale(1.14);
    filter:drop-shadow(0 0 20px rgba(255,255,255,.8)) brightness(1.25)}
  58% {transform:perspective(680px) rotateY(-19deg) rotateX(-8deg) translateY(6px) scale(1.06);
    filter:drop-shadow(0 0 13px rgba(255,255,255,.6)) brightness(1.13)}
  82% {transform:perspective(680px) rotateY(17deg) rotateX(5deg) translateY(-7px) scale(1.13);
    filter:drop-shadow(0 0 18px rgba(255,255,255,.73)) brightness(1.19)}
}
@keyframes lufiTileVisible3D {
  0%,100% {transform:perspective(400px) rotateY(-11deg) rotateX(4deg) translateY(0) scale(1.03)}
  30% {transform:perspective(400px) rotateY(23deg) rotateX(-12deg) translateY(-7px) scale(1.25)}
  62% {transform:perspective(400px) rotateY(-19deg) rotateX(12deg) translateY(4px) scale(1.10)}
  85% {transform:perspective(400px) rotateY(16deg) rotateX(-8deg) translateY(-5px) scale(1.22)}
}
body.hub-ambient-animating:not(.motion-off) .site-header:not(.is-condensed) .logo-img,
body.hub-ambient-animating:not(.motion-off) .logo-orbit.logo-missing .logo-fallback {
  animation:lufiLogoVisible3D 4.4s ease-in-out infinite!important;
}
body.hub-ambient-animating:not(.motion-off) .premium-card .card-image-icon,
body.hub-ambient-animating:not(.motion-off) .premium-card .card-icon{
  animation:lufiTileVisible3D 3.8s ease-in-out infinite!important;
  animation-delay:var(--lufi-tile-delay,0s)!important;
}
/* Podczas losowania nazwy dostaja widoczny, lecz krotki efekt migotania. */
@keyframes lufiScramblePulse {
  0%,100%{opacity:1;filter:brightness(1)}
  50%{opacity:.78;filter:brightness(1.35)}
}
body .premium-card .text-scramble.is-scrambling,
body.grid-board .premium-card .text-scramble.is-scrambling{
  animation:lufiScramblePulse .18s steps(2,end) infinite!important;
}
body.motion-off .premium-card .text-scramble.is-scrambling{animation:none!important}
@media(prefers-reduced-motion:reduce){
  body .premium-card .text-scramble.is-scrambling{animation:none!important}
}


/* v14.11.20 — Respect the explicit HUB animation switch for the named effects.
   OS prefers-reduced-motion remains effective for unrelated motion, but must
   not suppress logo/tile 3D and the requested letter scramble when motion is ON.
   With open panels: only hover/focus letter scramble is enabled. */
@media (prefers-reduced-motion: reduce) {
  body.hub-ambient-animating:not(.grid-board):not(.motion-off) .site-header:not(.is-condensed) .logo-img,
  body.hub-ambient-animating:not(.grid-board):not(.motion-off) .logo-orbit.logo-missing .logo-fallback {
    animation:lufiLogoVisible3D 4.4s ease-in-out infinite!important;
    transform-origin:center center!important;
    will-change:transform;
  }
  body.hub-ambient-animating:not(.grid-board):not(.motion-off) .site-header:not(.is-condensed) .logo-img.glitch-effect {
    animation:lufiLogoBriefGlitch .34s linear 1!important;
  }
  body.hub-ambient-animating:not(.grid-board):not(.motion-off) .premium-card .card-icon,
  body.hub-ambient-animating:not(.grid-board):not(.motion-off) .premium-card .card-image-icon {
    animation:lufiTileVisible3D 3.8s ease-in-out infinite!important;
    animation-delay:var(--lufi-tile-delay,0s)!important;
    transform-origin:center center!important;
    will-change:transform;
  }
  body.hub-ambient-animating:not(.grid-board):not(.motion-off) .premium-card .card-title:not(.is-scrambling) {
    animation:lufiTileTitleFloat 4.2s ease-in-out infinite!important;
    animation-delay:var(--lufi-tile-delay,0s)!important;
  }
  body:not(.motion-off) .card-wrap>.premium-card .text-scramble.is-scrambling,
  body.grid-board:not(.motion-off) .card-wrap>.premium-card .text-scramble.is-scrambling {
    animation:lufiScramblePulse .18s steps(2,end) infinite!important;
  }
}


/* LuFi HUB 14.11.21 — calmer, consistent motion on desktop and mobile.
   Animate the shared icon wrapper instead of the icon itself: previous
   prefers-reduced-motion/hover selectors masked desktop icon animation.
   Do not continuously animate titles: the original LUFI text scramble is JS-only. */
@keyframes lufiLogoCalm3D {
  0%,100% { transform:perspective(650px) rotateX(0deg) rotateY(-4deg) scale(1);
            filter:drop-shadow(0 0 7px rgba(255,255,255,.26)); }
  35% { transform:perspective(650px) rotateX(3deg) rotateY(8deg) translateY(-3px) scale(1.045);
        filter:drop-shadow(0 0 10px rgba(255,255,255,.42)); }
  70% { transform:perspective(650px) rotateX(-2deg) rotateY(-6deg) translateY(1px) scale(1.018);
        filter:drop-shadow(0 0 8px rgba(255,255,255,.28)); }
}
@keyframes lufiTileIconCalm3D {
  0%,100% { transform:translateZ(90px) rotateX(0deg) rotateY(-4deg) scale(1); }
  38% { transform:translateZ(96px) rotateX(3deg) rotateY(8deg) scale(1.055); }
  72% { transform:translateZ(91px) rotateX(-2deg) rotateY(-6deg) scale(1.02); }
}
body.hub-ambient-animating:not(.grid-board):not(.motion-off) .site-header:not(.is-condensed) .logo-img,
body.hub-ambient-animating:not(.grid-board):not(.motion-off) .logo-orbit.logo-missing .logo-fallback {
  animation:lufiLogoCalm3D 8.2s ease-in-out infinite!important;
  transform-origin:center center!important;
}
body.hub-ambient-animating:not(.grid-board):not(.motion-off) .premium-card .icon-wrapper {
  animation:lufiTileIconCalm3D 8s ease-in-out infinite!important;
  animation-delay:var(--lufi-tile-delay,0s)!important;
  transform-origin:center!important;
  will-change:transform;
}
/* Prevent the more dramatic old icon keyframes from stacking with wrapper motion. */
body.hub-ambient-animating:not(.grid-board):not(.motion-off) .premium-card .card-icon,
body.hub-ambient-animating:not(.grid-board):not(.motion-off) .premium-card .card-image-icon,
body .premium-card .card-title {
  animation:none!important;
}
/* Letter characters change through JavaScript; extra flashing is unwanted. */
body .premium-card .text-scramble.is-scrambling,
body.grid-board .premium-card .text-scramble.is-scrambling {
  animation:none!important;
}
body.grid-board .premium-card .icon-wrapper,
body.motion-off .premium-card .icon-wrapper {
  animation:none!important;
  will-change:auto!important;
}
@media (prefers-reduced-motion:reduce) {
  /* Explicit LuFi animation setting overrides OS preference for this effect. */
  body.hub-ambient-animating:not(.grid-board):not(.motion-off) .premium-card .icon-wrapper {
    animation:lufiTileIconCalm3D 8s ease-in-out infinite!important;
    animation-delay:var(--lufi-tile-delay,0s)!important;
  }
  body.hub-ambient-animating:not(.grid-board):not(.motion-off) .site-header:not(.is-condensed) .logo-img,
  body.hub-ambient-animating:not(.grid-board):not(.motion-off) .logo-orbit.logo-missing .logo-fallback {
    animation:lufiLogoCalm3D 8.2s ease-in-out infinite!important;
  }
  body .premium-card .text-scramble.is-scrambling {animation:none!important;}
}
/* No periodic floating/flashing titles, including under prefers-reduced-motion. */
body.hub-ambient-animating:not(.grid-board):not(.motion-off) .premium-card .card-title:not(.is-scrambling),
body.hub-ambient-animating:not(.grid-board):not(.motion-off) .premium-card .card-title.is-scrambling,
body.grid-board:not(.motion-off) .card-wrap>.premium-card .text-scramble.is-scrambling {
  animation:none!important;
}


/* v14.11.22: Jeden czytelny ruch 3D, ten sam charakter dla logo i ikon.
   Poprzednie reguly przy prefers-reduced-motion oraz dla elementow ikon
   nakladaly sie na siebie. Koncowa deklaracja ponizej rozstrzyga kaskade.
   Ruch i losowanie liter: WYLACZNIE gdy wszystkie panele sa zamkniete. */
@keyframes lufiLogoAndIconsGentle3D {
  0%,100% { transform:perspective(600px) rotateY(-5deg) rotateX(1deg) translateY(0px) scale(1); }
  30% { transform:perspective(600px) rotateY(13deg) rotateX(-6deg) translateY(-4px) scale(1.10); }
  63% { transform:perspective(600px) rotateY(-11deg) rotateX(5deg) translateY(2px) scale(1.04); }
  84% { transform:perspective(600px) rotateY(8deg) rotateX(-2deg) translateY(-2px) scale(1.075); }
}
/* Bez bialej wielkiej plamy/glow; ikony sa czytelne w ciemnym i jasnym motywie. */
body.hub-ambient-animating:not(.grid-board):not(.motion-off) .premium-card .icon-wrapper {
  transform-origin:center center!important;
  animation:lufiLogoAndIconsGentle3D 7.6s ease-in-out infinite!important;
  animation-delay:var(--lufi-tile-delay,0s)!important;
  will-change:transform;
}
body.hub-ambient-animating:not(.grid-board):not(.motion-off) .site-header:not(.is-condensed) .logo-img,
body.hub-ambient-animating:not(.grid-board):not(.motion-off) .logo-orbit.logo-missing .logo-fallback {
  animation:lufiLogoAndIconsGentle3D 8.4s ease-in-out infinite!important;
  transform-origin:center center!important;
  will-change:transform;
}
body.grid-board .premium-card .icon-wrapper,
body.motion-off .premium-card .icon-wrapper,
body.grid-board .site-header .logo-img,
body.motion-off .site-header .logo-img {
  animation:none!important;
  transform:none!important;
  will-change:auto!important;
}
/* Dotyczy rowniez PC z systemowym ograniczeniem animacji.
   Jawny przelacznik w HUB-ie nadal wylacza caly ruch. */
@media (prefers-reduced-motion: reduce) {
  body.hub-ambient-animating:not(.grid-board):not(.motion-off) .premium-card .icon-wrapper {
    animation:lufiLogoAndIconsGentle3D 7.6s ease-in-out infinite!important;
    animation-delay:var(--lufi-tile-delay,0s)!important;
  }
  body.hub-ambient-animating:not(.grid-board):not(.motion-off) .site-header:not(.is-condensed) .logo-img,
  body.hub-ambient-animating:not(.grid-board):not(.motion-off) .logo-orbit.logo-missing .logo-fallback {
    animation:lufiLogoAndIconsGentle3D 8.4s ease-in-out infinite!important;
  }
}
