:root{
  --ink:#101114;--ink2:#181a1e;--ink3:#202228;--paper:#f2efe8;--paper2:#e8e3da;
  --white:#ffffff;--red:#d7192d;--red-dark:#a80f1f;--red-soft:#f49aa4;
  --text:#ffffff;--muted:#c8cbd0;--muted2:#9ea3ab;--paper-text:#101114;--paper-muted:#50545a;
  --line-dark:rgba(255,255,255,.14);--line-paper:#c9c4bb;--content:1040px
}
*{box-sizing:border-box}html{background:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;background:var(--ink);color:var(--white);font-size:16px}button,input,a{font:inherit}button{cursor:pointer}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.ui-icon,.nav-icon,.section-icon,.help-icon{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tp24-app{min-height:100%;background:var(--ink);color:#fff;padding-bottom:76px}.view{display:none}.view.is-active{display:block}.section-shell{width:min(var(--content),calc(100% - 30px));margin:auto}.section{padding:34px 0}.section-dark{background:var(--ink);color:#fff}.section-panel{background:var(--ink2);color:#fff}.section-paper{background:var(--paper);color:var(--paper-text)}.section-red{background:var(--red);color:#fff}.section-dark h1,.section-dark h2,.section-dark h3,.section-dark p,.section-dark strong,.section-dark span,.section-panel h1,.section-panel h2,.section-panel h3,.section-panel p,.section-panel strong,.section-panel span,.section-red h1,.section-red h2,.section-red h3,.section-red p,.section-red strong,.section-red span{color:inherit}.section-paper h1,.section-paper h2,.section-paper h3,.section-paper strong{color:var(--paper-text)}.eyebrow{margin:0 0 9px;color:var(--red-soft)!important;font-size:10px;line-height:1;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.dark-eyebrow{color:var(--red-dark)!important}.white-eyebrow{color:#fff!important}h1,h2,h3{margin:0;letter-spacing:-.035em}h1{font-size:clamp(31px,8vw,48px);line-height:1.04;font-weight:850}h2{font-size:25px;line-height:1.08;font-weight:850}h3{font-size:18px;line-height:1.25;font-weight:800}.section-copy{margin:13px 0 0;color:#d8dade!important;font-size:15px;line-height:1.6;font-weight:500}.section-paper .section-copy{color:var(--paper-muted)!important}.app-header{position:sticky;top:0;z-index:50;background:rgba(16,17,20,.97);border-bottom:1px solid var(--line-dark);backdrop-filter:blur(14px)}.brand-row{max-width:var(--content);margin:auto;min-height:72px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:14px}.app-brand{display:flex;align-items:center;min-width:0}.app-brand img{display:block;width:188px;max-width:51vw;height:auto}.header-actions{display:flex;gap:8px}.icon-action{min-height:44px;min-width:44px;padding:0 10px;border:1px solid rgba(255,255,255,.18);background:var(--ink2);color:#fff;display:flex;align-items:center;justify-content:center;gap:7px}.icon-action .ui-icon{width:19px;height:19px}.icon-action span{font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.install-trigger{border-color:rgba(215,25,45,.65);color:#fff}.install-trigger .ui-icon{color:var(--red-soft)}.search-bar{max-width:var(--content);margin:auto;padding:8px 15px 14px;display:grid;grid-template-columns:1fr auto;gap:8px}.search-bar input{min-width:0;min-height:48px;border:1px solid #3b3e45;background:var(--ink2);color:#fff;padding:0 13px;font-size:16px;outline:none}.search-bar input::placeholder{color:#aeb2b9}.search-bar input:focus{border-color:var(--red)}.search-bar button{border:1px solid var(--red);background:var(--red);color:#fff;padding:0 16px;font-size:10px;font-weight:900;text-transform:uppercase} .hero-section{padding:20px 0 30px;background:var(--ink)}.section-label{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.section-label span{width:7px;height:7px;border-radius:50%;background:var(--red)}.hero-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.85fr);min-height:360px;border:1px solid rgba(255,255,255,.16);overflow:hidden;background:#0b0c0e}.hero-media{position:relative;min-height:360px;background:#202228 center/cover no-repeat}.hero-overlay{display:none}.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:30px;background:#0b0c0e;border-left:1px solid rgba(255,255,255,.10)}.hero-copy h1{color:#fff!important;font-size:clamp(27px,3.4vw,36px);line-height:1.08;max-width:560px;overflow-wrap:break-word}.hero-lead{margin:14px 0 0;color:#e5e7ea!important;font-size:14px;line-height:1.58;font-weight:500;max-width:560px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.meta{margin:0 0 11px;color:var(--red-soft)!important;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.hero-copy .link-button{margin-top:14px;align-self:flex-start}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:17px}.link-button{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0;border:0;background:transparent;color:var(--red-soft);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.link-button.light{color:#fff}.link-button .ui-icon{width:18px;height:18px;color:var(--red-soft)}.link-button.light .ui-icon{color:#fff}.home-news-list,.news-list,.entity-list,.entity-preview{border-top:1px solid var(--line-dark)}.home-news-card,.news-row{display:grid;grid-template-columns:122px minmax(0,1fr);gap:14px;padding:15px 0;border-bottom:1px solid var(--line-dark);color:#fff}.home-news-image,.news-thumb{width:100%;aspect-ratio:4/3;background:#26292f center/cover no-repeat;border:1px solid rgba(255,255,255,.10)}.home-news-copy,.news-row>div:last-child{min-width:0}.home-news-card h3,.news-row h3{margin:0;color:#fff!important;font-size:16px;line-height:1.32;font-weight:800;letter-spacing:-.02em}.home-news-card .excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0 0;color:#cdd0d5!important;font-size:12px;line-height:1.45}.meta-line,.news-meta{margin-top:8px;color:#aeb2b9!important;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.skeleton-row{min-height:116px;border-bottom:1px solid var(--line-dark);background:linear-gradient(90deg,#17191d,#23262b,#17191d);background-size:200% 100%;animation:skeleton 1.3s infinite}@keyframes skeleton{to{background-position:-200% 0}}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:18px}.quick-card{min-height:128px;padding:15px;border:1px solid rgba(255,255,255,.14);background:var(--ink3);color:#fff;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left}.quick-card:active{border-color:var(--red)}.quick-icon{width:43px;height:43px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);background:#15171a;color:var(--red-soft)}.quick-card strong{display:block;color:#fff!important;font-size:13px;font-weight:900;text-transform:uppercase}.quick-card small{display:block;margin-top:5px;color:#bec2c8!important;font-size:11px;font-weight:600;line-height:1.4}.topic-list{margin-top:20px;border-top:1px solid var(--line-paper)}.topic-list button{width:100%;min-height:62px;display:grid;grid-template-columns:32px 1fr 22px;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--line-paper);background:transparent;color:var(--paper-text);text-align:left}.topic-list span{color:var(--red-dark)!important;font-size:9px;font-weight:900}.topic-list strong{color:var(--paper-text)!important;font-size:15px}.topic-list .ui-icon{color:var(--red-dark)}.live-badge{display:inline-flex!important;align-items:center;gap:7px;color:#fff!important;font-size:9px;font-weight:900;letter-spacing:.1em}.live-badge span{width:7px;height:7px;border-radius:50%;background:#3ddc84}.entity-mini,.entity-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-dark);color:#fff}.entity-avatar{width:48px;height:48px;display:grid;place-items:center;background:var(--ink3);border:1px solid rgba(255,255,255,.14);color:var(--red-soft);overflow:hidden}.entity-avatar img{width:100%;height:100%;object-fit:cover}.entity-avatar .ui-icon{width:22px;height:22px}.entity-copy{min-width:0}.entity-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff!important;font-size:14px}.entity-copy span{display:block;margin-top:4px;color:#b9bdc4!important;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.verified-dot{width:9px;height:9px;border-radius:50%;background:#3ddc84}.section-icon{width:34px;height:34px;color:var(--red-soft)}.primary-btn,.secondary-light-btn,.white-btn,.outline-white-btn{width:100%;min-height:50px;padding:0 16px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.primary-btn{margin-top:16px;border:1px solid var(--red);background:var(--red);color:#fff}.secondary-light-btn{margin-top:16px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff}.white-btn{border:1px solid #fff;background:#fff;color:var(--red-dark)}.outline-white-btn{border:1px solid #fff;background:transparent;color:#fff}.as-link{display:flex;align-items:center;justify-content:center;text-decoration:none}.cta-stack{display:grid;gap:9px;margin-top:20px}.cta-note{margin:14px 0 0;color:#fff!important;font-size:12px;line-height:1.5;font-weight:650}.view-shell{padding-top:34px;padding-bottom:44px;min-height:72vh}.view-title{padding-bottom:24px}.view-title>p:last-child{margin:11px 0 0;color:#cdd0d5!important;font-size:14px;line-height:1.55}.news-row{grid-template-columns:118px minmax(0,1fr)}.news-row .eyebrow{margin-bottom:7px}.directory-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 24px}.directory-summary>div{padding:14px 8px;border:1px solid var(--line-dark);background:var(--ink2);text-align:center}.directory-summary strong{display:block;color:#fff!important;font-size:23px}.directory-summary span{display:block;margin-top:3px;color:#aeb2b9!important;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.article-page{background:var(--paper);color:var(--paper-text);min-height:100vh}.article-topbar{background:var(--ink);padding:10px 15px}.back-btn{min-height:44px;border:1px solid rgba(255,255,255,.2);background:var(--ink2);color:#fff;padding:0 13px;display:flex;gap:8px;align-items:center;font-size:10px;font-weight:900;text-transform:uppercase}.reverse{transform:rotate(180deg)}.article-media{width:100%;max-height:560px;aspect-ratio:16/9;background:#222 center/cover no-repeat}.article-copy{width:min(700px,calc(100% - 30px));margin:auto;padding:27px 0 52px}.article-copy h1{color:var(--paper-text)!important;font-size:clamp(31px,8vw,48px);line-height:1.06}.article-meta{margin:14px 0 0;color:#64676d!important;font-size:11px;font-weight:750}.article-body{margin-top:28px;color:#17181b!important;font-size:17px;line-height:1.78;font-weight:450;overflow-wrap:anywhere}.article-body *{max-width:100%;color:inherit!important;background-color:transparent!important}.article-body p{margin:0 0 1.15em;color:#17181b!important}.article-body h2{margin:1.55em 0 .65em;color:#101114!important;font-size:26px;line-height:1.15}.article-body h3{margin:1.4em 0 .6em;color:#101114!important;font-size:21px}.article-body strong,.article-body b{color:#101114!important;font-weight:800}.article-body a{color:var(--red-dark)!important;text-decoration:underline;text-underline-offset:2px}.article-body ul,.article-body ol{padding-left:1.4em;margin:0 0 1.15em}.article-body li{margin:.35em 0;color:#17181b!important}.article-body img{display:block;height:auto!important;max-width:100%!important;margin:18px auto}.article-body figure{margin:22px 0!important}.article-body figcaption{color:#5f6268!important;font-size:12px;line-height:1.4}.article-body blockquote{margin:24px 0;padding:12px 0 12px 18px;border-left:3px solid var(--red);color:#292b2f!important}.article-body iframe,.article-body video{width:100%!important;max-width:100%!important}.article-body table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}.article-body th,.article-body td{border:1px solid #c9c4bb;padding:8px}.panel-view{max-width:640px}.panel-mark{width:56px;height:56px;display:grid;place-items:center;margin-bottom:18px;border:1px solid var(--line-dark);background:var(--ink2);color:var(--red-soft)}.panel-mark .ui-icon{width:26px;height:26px}.panel-actions{display:grid;gap:10px;margin-top:22px}.bottom-nav{position:fixed;z-index:60;left:0;right:0;bottom:0;min-height:72px;display:grid;grid-template-columns:repeat(5,1fr);background:#090a0c;border-top:1px solid rgba(255,255,255,.17);padding-bottom:env(safe-area-inset-bottom)}.nav-item{min-width:0;min-height:72px;border:0;background:transparent;color:#c4c8cf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;font-weight:850;letter-spacing:.01em}.nav-item .nav-icon{width:22px;height:22px;color:#d5d8de}.nav-item.is-active{color:#fff}.nav-item.is-active .nav-icon{color:var(--red)}.nav-item span{color:inherit!important}.toast{position:fixed;z-index:90;left:50%;bottom:88px;transform:translateX(-50%);max-width:calc(100% - 30px);padding:11px 14px;background:#fff;color:#101114;border:1px solid #cbc7bf;font-size:12px;font-weight:800}.empty-state{padding:24px 0;color:#b9bdc4!important;font-size:13px}.install-modal[hidden]{display:none}.install-modal{position:fixed;z-index:100;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:14px}.install-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.76)}.install-sheet{position:relative;z-index:1;width:min(520px,100%);padding:26px 20px 20px;background:var(--ink2);border:1px solid rgba(255,255,255,.18);color:#fff}.install-close{position:absolute;right:10px;top:10px;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);background:transparent;color:#fff}.install-logo{display:block;width:220px;max-width:75%;height:auto;margin:4px 0 26px}.install-sheet h2{color:#fff!important;font-size:28px}.install-sheet>p:not(.eyebrow):not(.install-status){margin:12px 0 0;color:#d8dade!important;font-size:14px;line-height:1.55}.install-primary,.install-later{width:100%;min-height:50px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.install-primary{margin-top:20px;border:1px solid var(--red);background:var(--red);color:#fff}.install-later{margin-top:8px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff}.install-status{margin:10px 0 0!important;color:#aeb2b9!important;font-size:11px!important;line-height:1.45!important}.ios-help{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;margin-top:18px;padding:13px;border:1px solid rgba(255,255,255,.14);background:#111316}.ios-help .help-icon{width:28px;height:28px;color:var(--red-soft)}.ios-help strong{display:block;color:#fff!important;font-size:13px}.ios-help span{display:block;margin-top:3px;color:#c8cbd0!important;font-size:12px;line-height:1.45}@media(min-width:760px){.tp24-app{max-width:1180px;margin:auto;border-left:1px solid rgba(255,255,255,.07);border-right:1px solid rgba(255,255,255,.07)}.home-news-card,.news-row{grid-template-columns:190px minmax(0,1fr)}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.install-modal{align-items:center}.section{padding:44px 0}}
@media(max-width:759px){.hero-card{display:block;min-height:0}.hero-media{min-height:0;aspect-ratio:16/9}.hero-copy{padding:19px 18px 20px;border-left:0;border-top:1px solid rgba(255,255,255,.10)}.hero-copy h1{font-size:clamp(25px,7.2vw,32px);line-height:1.08}.hero-lead{font-size:14px;-webkit-line-clamp:3}.hero-copy .link-button{margin-top:10px}.section-shell{width:min(var(--content),calc(100% - 24px))}}
@media(max-width:560px){.icon-action span{display:none}.app-brand img{width:168px;max-width:58vw}.home-news-card,.news-row{grid-template-columns:108px minmax(0,1fr)}.home-news-card h3,.news-row h3{font-size:15px}.directory-summary{gap:6px}.directory-summary strong{font-size:20px}.hero-section{padding-top:14px}.section-label{margin-bottom:10px}.bottom-nav{background:#090a0c}.nav-item{color:#d7dae0}.nav-item .nav-icon{color:#e2e4e8;stroke-width:2.1}.nav-item.is-active{color:#fff}.nav-item.is-active .nav-icon{color:var(--red)}}
@media(max-width:370px){.app-brand img{width:150px}.quick-grid{grid-template-columns:1fr}.home-news-card,.news-row{grid-template-columns:92px minmax(0,1fr)}.hero-copy h1{font-size:25px}.hero-copy{padding:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v0.1.3 — native map + logo reliability */
.map-view-shell{padding-bottom:110px}.map-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:12px;align-items:center;margin:0 0 14px}.map-filters{display:flex;gap:8px;flex-wrap:wrap}.map-filter{min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.18);background:#17191d;color:#e8eaee;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.map-filter.is-active{background:#d7192d;border-color:#d7192d;color:#fff}.map-search{min-height:46px;display:grid;grid-template-columns:22px 1fr;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.18);background:#111316;padding:0 12px;color:#e6e8ec}.map-search .ui-icon{width:19px;height:19px}.map-search input{min-width:0;width:100%;height:44px;border:0;outline:0;background:transparent;color:#fff;font-size:16px}.map-search input::placeholder{color:#9fa4ad}.native-map-wrap{position:relative;width:100%;height:min(58vh,560px);min-height:390px;border:1px solid rgba(255,255,255,.17);background:#15171b;overflow:hidden}.native-map{position:absolute;inset:0}.map-loading{position:absolute;z-index:5;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#15171b;color:#fff;text-align:center;padding:24px}.map-loading[hidden]{display:none}.map-loading strong{font-size:16px}.map-loading span{color:#b9bdc4;font-size:12px}.tp24-map-marker{width:42px;height:42px;display:grid;place-items:center;padding:0;border:2px solid #fff;border-radius:50%;background:#d7192d;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.32);cursor:pointer}.tp24-map-marker .marker-svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tp24-map-marker:focus-visible{outline:3px solid #fff;outline-offset:3px}.maplibregl-ctrl-group{background:#f2efe8!important}.maplibregl-ctrl-group button{background-color:#f2efe8!important}.maplibregl-ctrl-attrib{font-size:9px!important}.map-detail{display:grid;grid-template-columns:58px minmax(0,1fr) 44px;gap:13px;align-items:center;margin-top:12px;padding:13px;border:1px solid rgba(255,255,255,.16);background:#181a1e}.map-detail[hidden]{display:none}.map-detail-avatar{width:58px;height:58px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#fff;color:#d7192d}.map-detail-avatar img{width:100%;height:100%;object-fit:contain;padding:4px}.map-detail-avatar .ui-icon{width:25px;height:25px}.map-detail-copy{min-width:0}.map-detail-copy .eyebrow{margin:0 0 5px}.map-detail-copy strong{display:block;color:#fff!important;font-size:15px;line-height:1.2}.map-detail-copy span{display:block;margin-top:5px;color:#bdc1c8!important;font-size:11px;line-height:1.4}.map-detail-close{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);background:#111316;color:#fff}.map-detail-close .ui-icon{width:19px;height:19px}.map-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 7px}.map-results-head strong{color:#fff;font-size:14px}.map-results-head span{min-width:32px;height:28px;display:grid;place-items:center;background:#d7192d;color:#fff;font-size:11px;font-weight:900}.entity-avatar{background:#fff!important;color:#d7192d!important}.entity-avatar img{object-fit:contain!important;padding:3px;background:#fff}.entity-card{cursor:pointer}.entity-card:active{background:#17191d}
@media(max-width:700px){.map-toolbar{grid-template-columns:1fr}.native-map-wrap{height:48vh;min-height:350px}.map-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.map-filter{padding:0 8px}.map-detail{grid-template-columns:52px minmax(0,1fr) 44px}.map-detail-avatar{width:52px;height:52px}}

/* v0.1.3.1 — map reliability hotfix */
.map-retry-btn{margin-top:14px;min-height:44px;padding:0 18px;border:1px solid #d7192d;background:#d7192d;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.native-map .maplibregl-map{width:100%;height:100%}.native-map canvas{outline:none}.native-map-wrap{isolation:isolate}.map-loading{pointer-events:auto}.map-loading[hidden]{pointer-events:none}

/* TP24 local raster map — no external JS dependency */
.native-map{touch-action:none;user-select:none;-webkit-user-select:none;background:#d8d8d8;cursor:grab}.native-map:active{cursor:grabbing}.tp24-raster-tiles,.tp24-raster-markers{position:absolute;inset:0;overflow:hidden}.tp24-raster-tiles{z-index:1;background:#d9d9d9}.tp24-raster-markers{z-index:3;pointer-events:none}.tp24-raster-tile{position:absolute;width:256px;height:256px;max-width:none;user-select:none;-webkit-user-drag:none;background:#e7e4de}.tp24-raster-markers .tp24-map-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto}.tp24-map-controls{position:absolute;z-index:6;right:12px;bottom:34px;display:grid;border:1px solid rgba(0,0,0,.22);background:#f2efe8}.tp24-map-controls button{width:42px;height:42px;border:0;background:#f2efe8;color:#101114;font-size:24px;font-weight:800;line-height:1}.tp24-map-controls button+button{border-top:1px solid #cbc7bf}.tp24-map-controls button:active{background:#e8e3da}.tp24-map-attribution{position:absolute;z-index:6;right:6px;bottom:4px;padding:2px 5px;background:rgba(242,239,232,.9);color:#101114;font-size:9px;line-height:1.2}.tp24-map-attribution a{color:#101114}.native-map-wrap{background:#d8d8d8}.native-map .maplibregl-map{display:none!important}

/* v0.1.3.3 — map clusters + company logos */
.tp24-map-marker{overflow:hidden;background:#fff;color:#d7192d}
.tp24-map-marker .marker-logo{width:100%;height:100%;display:block;object-fit:contain;padding:3px;background:#fff;border-radius:50%}
.tp24-map-marker .marker-svg{color:#fff}
.tp24-map-marker.is-icon{background:#d7192d;color:#fff}.tp24-map-marker.has-logo{background:#fff}
.tp24-map-cluster{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;min-width:46px;height:46px;padding:0 10px;border:3px solid #fff;border-radius:999px;background:#d7192d;color:#fff;box-shadow:0 5px 16px rgba(0,0,0,.35);display:grid;place-items:center;font-size:12px;font-weight:950;line-height:1;cursor:pointer}
.tp24-map-cluster span{color:#fff!important}
.tp24-map-cluster:focus-visible{outline:3px solid #101114;outline-offset:3px}
.entity-avatar img,.map-detail-avatar img{object-fit:contain!important;background:#fff!important}

/* v0.1.5 — splash, secure owner panel and complete profiles */
.profile-view,.form-view,.account-view{padding-bottom:120px}.profile-back,.form-view>.back-btn{margin-bottom:22px}.public-profile{color:#fff}.public-profile-head{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;align-items:center;padding:20px 0 22px;border-bottom:1px solid var(--line-dark)}.public-profile-logo{width:92px;height:92px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#fff;color:var(--red)}.public-profile-logo img{width:100%;height:100%;object-fit:contain;padding:6px;background:#fff}.public-profile-logo .ui-icon{width:34px;height:34px}.public-profile-title{min-width:0}.public-profile-title h1{color:#fff!important;font-size:clamp(28px,7vw,42px);overflow-wrap:anywhere}.public-profile-title>p:last-child{margin:8px 0 0;color:#c7cbd2!important;font-size:13px;line-height:1.45}.profile-badges{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.profile-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid rgba(255,255,255,.18);background:#181a1e;color:#fff!important;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.profile-badge.verified{border-color:#3ddc84;color:#dffbeb!important}.profile-badge.available{border-color:#78df9d}.profile-section{padding:22px 0;border-top:1px solid var(--line-dark)}.profile-section h2{color:#fff!important;font-size:20px}.profile-section p{margin:10px 0 0;color:#d7dae0!important;font-size:14px;line-height:1.7}.profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}.profile-facts>div{min-width:0;padding:13px;background:#15171a}.profile-facts span{display:block;color:#9fa4ad!important;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.profile-facts strong{display:block;margin-top:5px;color:#fff!important;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.profile-actions{display:grid;gap:8px;margin-top:20px}.profile-actions .primary-btn,.profile-actions .secondary-light-btn{margin-top:0;display:flex;align-items:center;justify-content:center;gap:8px}.profile-actions .ui-icon{width:18px;height:18px}.profile-loading{padding:18px 0}
.map-detail-profile{display:inline-flex;align-items:center;gap:5px;min-height:32px;margin-top:8px;padding:0;border:0;background:transparent;color:#f49aa4;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.map-detail-profile .ui-icon{width:15px;height:15px}.map-detail{grid-template-columns:58px minmax(0,1fr) 44px}
.form-view{max-width:760px}.narrow-form{max-width:560px}.app-form{display:grid;gap:15px;padding:20px;border:1px solid rgba(255,255,255,.15);background:#15171a}.app-form label{display:grid;gap:7px;color:#fff}.app-form label>span{color:#fff!important;font-size:11px;font-weight:850;letter-spacing:.03em}.app-form input,.app-form textarea,.app-form select{width:100%;min-width:0;border:1px solid #3d4148;background:#0f1013;color:#fff;padding:0 12px;font-size:16px;outline:none;border-radius:0}.app-form input,.app-form select{min-height:48px}.app-form textarea{padding-top:12px;padding-bottom:12px;resize:vertical;line-height:1.5}.app-form input::placeholder,.app-form textarea::placeholder{color:#888d96}.app-form input:focus,.app-form textarea:focus,.app-form select:focus{border-color:var(--red)}.app-form select option{background:#101114;color:#fff}.app-form small{color:#aeb2b9!important;font-size:10px;line-height:1.4}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-type-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px}.form-type-switch button{min-height:48px;border:1px solid rgba(255,255,255,.18);background:#0f1013;color:#d9dce2;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.form-type-switch button.is-active{border-color:var(--red);background:var(--red);color:#fff}.check-field{grid-template-columns:22px minmax(0,1fr)!important;align-items:start;gap:10px!important;padding:11px;border:1px solid rgba(255,255,255,.12);background:#111316}.check-field input{width:18px!important;height:18px!important;min-height:0!important;margin:1px 0 0;padding:0;accent-color:var(--red)}.check-field span{font-size:12px!important;line-height:1.45;font-weight:650!important}.file-field input{padding:10px}.form-submit{margin-top:2px;display:flex;align-items:center;justify-content:center;gap:8px}.form-submit .ui-icon{width:18px;height:18px}.form-message{padding:12px 13px;border:1px solid rgba(244,154,164,.5);background:#2b1116;color:#ffdfe3!important;font-size:12px;line-height:1.5;font-weight:700}.form-message.success{border-color:#43c97a;background:#0e2818;color:#ddffea!important}.form-success{padding:28px 20px;border:1px solid rgba(255,255,255,.16);background:#15171a;text-align:center}.success-icon{width:48px;height:48px;fill:none;stroke:#3ddc84;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.form-success h2{margin-top:14px;color:#fff!important}.form-success p{color:#c8cbd0!important;font-size:14px;line-height:1.6}.text-action{width:100%;min-height:48px;margin-top:12px;border:0;background:transparent;color:#f49aa4;font-size:11px;font-weight:850}.panel-session{margin-top:18px}.panel-session-note,.panel-session-loading{margin:0;color:#c8cbd0!important;font-size:13px;line-height:1.55}.panel-session-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.15);background:#15171a}.panel-session-card .panel-mark.small{width:48px;height:48px;margin:0}.panel-session-card strong{display:block;color:#fff!important;font-size:15px}.panel-session-card span{display:block;margin-top:4px;color:#aeb2b9!important;font-size:11px}.panel-session-card .primary-btn{grid-column:1/-1;margin-top:4px}.account-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.account-top .icon-action{flex-shrink:0}.owner-scope{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;padding:14px;margin-bottom:18px;border:1px solid rgba(61,220,132,.38);background:#102017;color:#fff}.owner-scope>.ui-icon{width:24px;height:24px;color:#6de19a}.owner-scope strong{display:block;color:#fff!important;font-size:13px}.owner-scope span{display:block;margin-top:4px;color:#ccebd8!important;font-size:11px;line-height:1.45}.account-identity{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}.account-identity .public-profile-logo{width:72px;height:72px}.account-identity strong{display:block;color:#fff!important;font-size:17px}.account-identity span{display:block;margin-top:5px;color:#aeb2b9!important;font-size:11px}
@media(max-width:620px){.public-profile-head{grid-template-columns:72px minmax(0,1fr);gap:14px}.public-profile-logo{width:72px;height:72px}.profile-facts{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.app-form{padding:15px}.account-top{display:block}.account-top .icon-action{margin-top:12px}.panel-session-card{grid-template-columns:44px minmax(0,1fr)}}

/* v0.1.5 — splash screen + complete owner profile */
.app-splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#101114;color:#fff;transition:opacity .34s ease,visibility .34s ease}.app-splash.is-hiding{opacity:0;visibility:hidden}.splash-inner{width:min(82vw,360px);display:grid;justify-items:center;gap:20px;text-align:center}.splash-logo{display:block;width:min(78vw,330px);height:auto}.splash-loader{width:180px;height:3px;background:#2c2f35;overflow:hidden}.splash-loader span{display:block;width:42%;height:100%;background:#d7192d;animation:tp24splash 1.05s ease-in-out infinite}.splash-inner p{margin:0;color:#d6d9de;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}@keyframes tp24splash{0%{transform:translateX(-110%)}50%{transform:translateX(95%)}100%{transform:translateX(245%)}}@media(prefers-reduced-motion:reduce){.splash-loader span{animation:none;width:100%}.app-splash{transition:none}}
.owner-dashboard{display:grid;gap:18px}.owner-dashboard[hidden]{display:none!important}.account-identity{grid-template-columns:72px minmax(0,1fr) auto}.profile-meter{min-width:84px;text-align:right}.profile-meter strong{display:block;color:#fff!important;font-size:22px;line-height:1;font-weight:900}.profile-meter span{display:block;margin-top:5px!important;color:#9fa4ad!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.08em}.owner-tabs{display:flex;gap:6px;overflow-x:auto;padding:0 0 6px;scrollbar-width:thin}.owner-tabs button{flex:0 0 auto;min-height:44px;padding:0 14px;border:1px solid rgba(255,255,255,.16);background:#15171a;color:#c9cdd3;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.owner-tabs button.is-active{border-color:#d7192d;background:#d7192d;color:#fff}.owner-pane{display:block}.owner-pane[hidden]{display:none!important}.owner-pane>h2{color:#fff!important;font-size:21px;margin-bottom:8px}.owner-help{margin:0 0 14px;color:#bfc3ca!important;font-size:12px;line-height:1.55}.owner-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.owner-choice{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:center;gap:9px!important;min-height:48px;padding:10px;border:1px solid rgba(255,255,255,.13);background:#111316}.owner-choice input{width:18px!important;height:18px!important;min-height:0!important;padding:0!important;accent-color:#d7192d}.owner-choice span{font-size:12px!important;line-height:1.3}.owner-services{display:grid;gap:8px}.owner-service-group{padding:12px;border:1px solid rgba(255,255,255,.12);background:#111316}.owner-service-group>strong{display:block;margin-bottom:8px;color:#fff!important;font-size:12px}.owner-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.owner-history{border-top:1px solid rgba(255,255,255,.12)}.history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}.history-row strong{color:#fff!important;font-size:12px}.history-row span{color:#9fa4ad!important;font-size:10px}.history-empty{padding:18px 0;color:#bfc3ca!important;font-size:12px}.owner-dashboard .app-form h2{color:#fff!important;font-size:20px;margin-bottom:2px}.public-profile-extra{display:grid;gap:12px;margin-top:18px}.public-profile-extra .profile-section{padding:18px 0}.profile-socials{display:flex;flex-wrap:wrap;gap:8px}.profile-socials a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-size:10px;font-weight:850}.profile-socials a:focus-visible,.owner-tabs button:focus-visible{outline:2px solid #f49aa4;outline-offset:2px}
@media(max-width:620px){.account-identity{grid-template-columns:64px minmax(0,1fr)}.account-identity .public-profile-logo{width:64px;height:64px}.profile-meter{grid-column:1/-1;text-align:left;display:flex;align-items:baseline;gap:7px}.profile-meter span{margin-top:0!important}.owner-choice-grid,.owner-service-list{grid-template-columns:1fr}.owner-tabs{margin-right:-15px;padding-right:15px}}

/* v0.1.6 — Web Push */
.push-trigger{position:relative}.push-trigger .ui-icon{color:#fff}.push-dot{position:absolute;right:5px;top:5px;width:8px;height:8px;border-radius:50%;background:#d7192d;border:2px solid #101114}.push-modal{position:fixed;inset:0;z-index:1200;display:grid;align-items:end}.push-modal[hidden]{display:none!important}.push-sheet{position:relative;z-index:2;width:min(100%,560px);margin:0 auto;background:#101114;color:#fff;border:1px solid rgba(255,255,255,.16);padding:24px 20px 26px;box-shadow:0 -20px 50px rgba(0,0,0,.35)}.push-sheet h2{color:#fff!important;font-size:26px}.push-copy{margin:10px 0 16px;color:#d8dade!important;font-size:14px;line-height:1.55}.push-icon-wrap{display:grid;width:48px;height:48px;place-items:center;margin-bottom:14px;border:1px solid rgba(215,25,45,.55);background:#181a1e;color:#f49aa4}.push-icon-wrap .ui-icon{width:24px;height:24px}.push-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px}.push-topics label{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 11px;border:1px solid rgba(255,255,255,.13);background:#181a1e;color:#fff}.push-topics input{width:18px;height:18px;accent-color:#d7192d}.push-topics span{font-size:12px;font-weight:750;color:#fff!important}.push-sheet .install-primary,.push-sheet .install-later{width:100%}.push-sheet .install-later{margin-top:8px}.push-trigger.is-active{border-color:rgba(215,25,45,.75)}@media(max-width:520px){.push-topics{grid-template-columns:1fr}.header-actions{gap:5px}.icon-action{padding:0 8px}.icon-action span{font-size:8px}}
@media(max-width:620px){.header-actions .icon-action span{display:none}.header-actions .icon-action{padding:0;min-width:42px}.app-brand img{max-width:48vw}}

/* v0.2.0 — Eventy + globalna wyszukiwarka + Zapisane + Centrum powiadomień */
.events-preview{background:#181a1e;color:#fff}.event-preview,.event-list{display:grid;gap:12px}.event-preview{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0 0}.event-card{display:grid;grid-template-columns:148px minmax(0,1fr);min-width:0;border:1px solid rgba(255,255,255,.14);background:#111316;color:#fff;overflow:hidden;cursor:pointer}.event-card.is-mini{display:block}.event-card-image{min-height:148px;background:#25282d center/cover no-repeat;border-right:1px solid rgba(255,255,255,.10)}.event-card.is-mini .event-card-image{aspect-ratio:16/10;min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.10)}.event-card-placeholder{display:grid;place-items:center;color:#f49aa4}.event-card-placeholder .ui-icon{width:34px;height:34px}.event-card-copy{min-width:0;padding:15px}.event-card-copy .eyebrow{margin:0 0 7px}.event-card-copy h3{margin:0;color:#fff!important;font-size:17px;line-height:1.22;font-weight:850;letter-spacing:-.02em}.event-card-copy>p:last-child{margin:10px 0 0;color:#c7cbd1!important;font-size:12px;line-height:1.45}.event-meta{display:flex;align-items:flex-start;gap:7px;margin-top:9px;color:#bfc3ca!important;font-size:11px;line-height:1.35}.event-meta .ui-icon{width:15px;height:15px;flex:0 0 15px;margin-top:1px;color:#f49aa4}.event-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;margin:0 0 20px;padding:14px;border:1px solid rgba(255,255,255,.14);background:#15171a}.event-filters label{display:grid;gap:6px;color:#d7d9dd;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.event-filters input,.event-filters select{width:100%;min-height:46px;padding:0 12px;border:1px solid rgba(255,255,255,.18);background:#0d0f11;color:#fff;font-size:16px;outline:none}.event-filters input::placeholder{color:#8f949c}.event-filters input:focus,.event-filters select:focus{border-color:#d7192d}.event-filters .secondary-light-btn{width:auto;min-width:118px;margin:0}.event-list{margin-bottom:18px}.event-detail-top,.article-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.save-action{min-height:44px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:1px solid rgba(255,255,255,.22);background:#181a1e;color:#fff;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.save-action .ui-icon{width:18px;height:18px;color:#f49aa4}.save-action.is-saved{border-color:#d7192d;background:#d7192d}.save-action.is-saved .ui-icon{color:#fff}.profile-save{width:100%;justify-content:center;margin-top:12px}.event-detail{margin-top:16px;padding:18px;border:1px solid rgba(255,255,255,.14);background:#15171a;color:#fff}.event-detail-image{width:100%;aspect-ratio:16/9;margin:-18px -18px 20px;width:calc(100% + 36px);background:#24272c center/cover no-repeat;border-bottom:1px solid rgba(255,255,255,.12)}.event-detail h1{margin:0;color:#fff!important;font-size:clamp(28px,7vw,44px);line-height:1.05;letter-spacing:-.04em}.event-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:22px 0;background:rgba(255,255,255,.12)}.event-detail-facts>div{padding:13px;background:#111316}.event-detail-facts span{display:block;color:#9fa4ad!important;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.event-detail-facts strong{display:block;margin-top:5px;color:#fff!important;font-size:13px;line-height:1.35}.event-description{color:#e0e2e5!important;font-size:15px;line-height:1.72}.global-search-results{display:grid;gap:22px}.search-group{border-top:1px solid rgba(255,255,255,.14)}.search-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0 10px}.search-group-head h2{margin:0;color:#fff!important;font-size:20px}.search-group-head span{display:grid;min-width:28px;height:28px;place-items:center;border:1px solid rgba(255,255,255,.15);color:#c8cbd0;font-size:10px;font-weight:900}.search-news,.search-entity{display:grid;gap:10px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);cursor:pointer}.search-news strong,.search-entity strong{color:#fff!important;font-size:14px;line-height:1.35}.search-news span,.search-entity span{color:#aeb2b9!important;font-size:11px}.search-entity{grid-template-columns:48px minmax(0,1fr);align-items:center}.search-empty{padding:15px 0;color:#9fa4ad!important;font-size:12px}.saved-list{display:grid;gap:10px}.saved-card{display:grid;grid-template-columns:minmax(0,1fr) 48px;border:1px solid rgba(255,255,255,.14);background:#15171a}.saved-open{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:stretch;min-width:0;border:0;background:transparent;color:#fff;text-align:left;padding:0}.saved-image{min-height:86px;background:#24272c center/cover no-repeat;border-right:1px solid rgba(255,255,255,.12);display:grid;place-items:center;color:#f49aa4}.saved-image .ui-icon{width:26px;height:26px}.saved-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:12px}.saved-copy strong{color:#fff!important;font-size:13px;line-height:1.35}.saved-copy small{margin-top:6px;color:#aeb2b9!important;font-size:10px;line-height:1.35}.saved-remove{display:grid;place-items:center;border:0;border-left:1px solid rgba(255,255,255,.12);background:#111316;color:#d5d8de}.saved-remove .ui-icon{width:19px;height:19px}.notification-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.notification-title-row>div{min-width:0}.notification-settings{flex:0 0 auto}.notification-list{display:grid;gap:10px}.notification-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:14px;border:1px solid rgba(255,255,255,.14);background:#15171a;cursor:pointer}.notification-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(215,25,45,.45);background:#101114;color:#f49aa4}.notification-icon .ui-icon{width:21px;height:21px}.notification-card .eyebrow{margin:0 0 5px}.notification-card strong{display:block;color:#fff!important;font-size:14px;line-height:1.35}.notification-card p:not(.eyebrow){margin:6px 0 0;color:#c4c8cf!important;font-size:12px;line-height:1.45}.notification-card small{display:block;margin-top:8px;color:#8f949c!important;font-size:9px;text-transform:uppercase}.notification-settings .ui-icon{color:#fff}.notification-settings span{color:#fff!important}.quick-grid .quick-card{min-height:122px}
@media(max-width:760px){.event-preview{grid-template-columns:1fr}.event-card.is-mini{display:grid;grid-template-columns:118px minmax(0,1fr)}.event-card.is-mini .event-card-image{aspect-ratio:auto;min-height:118px;border-right:1px solid rgba(255,255,255,.10);border-bottom:0}.event-filters{grid-template-columns:1fr 1fr}.event-filters .secondary-light-btn{grid-column:1/-1;width:100%}.notification-title-row{display:block}.notification-settings{margin-top:14px}.event-card{grid-template-columns:112px minmax(0,1fr)}.event-card-image{min-height:124px}.event-detail-facts{grid-template-columns:1fr}}
@media(max-width:430px){.event-filters{grid-template-columns:1fr}.event-filters .secondary-light-btn{grid-column:auto}.saved-open{grid-template-columns:74px minmax(0,1fr)}.saved-image{min-height:80px}.save-action span{display:none}.save-action{padding:0 11px}.event-card,.event-card.is-mini{grid-template-columns:98px minmax(0,1fr)}.event-card-image,.event-card.is-mini .event-card-image{min-height:112px}.event-card-copy{padding:12px}.event-card-copy h3{font-size:14px}.event-meta{font-size:10px}}

/* Platform Growth 0.2.0 */
.discover-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.discover-actions select{min-height:44px;border-radius:12px;background:#181a1e;color:#f2efe8;border:1px solid rgba(255,255,255,.12);padding:0 12px}.platform-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:12px 0 26px}.platform-card{background:#181a1e;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px}.platform-card strong{display:block;font-size:17px}.platform-card small{color:#b8b3aa}.platform-distance{color:#e8e3da;font-weight:800}.platform-badge{display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:999px;background:rgba(215,25,45,.16);color:#ff8793;font-size:11px;font-weight:900}.platform-topics{display:flex;gap:8px;flex-wrap:wrap}.platform-topic{display:flex;gap:7px;align-items:center;padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#181a1e}.section-head.compact{margin-top:22px}.offline-note{font-size:12px;color:#a8a29a}

.saved-group{margin-bottom:24px}.saved-group h2{font-size:17px;margin:0 0 10px}.event-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.platform-mini-tabs{display:flex;gap:8px;overflow:auto;margin:4px 0 14px}.platform-mini-tabs button,.growth-card-actions button{border:1px solid rgba(255,255,255,.13);background:#17191d;color:#f2efe8;padding:10px 12px;border-radius:10px;font-weight:800;white-space:nowrap}.platform-mini-tabs button.is-active{border-color:#d7192d;background:#2a1418}.growth-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.growth-ads{display:grid;gap:10px;margin:0 0 18px}.growth-ad{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#181a1e,#251217);padding:12px;border-radius:14px}.growth-ad img{width:72px;height:56px;object-fit:cover;border-radius:9px}.growth-ad small{display:block;color:#df7f89;font-size:9px;letter-spacing:.12em;margin-bottom:3px}.tp24-maintenance{position:fixed;inset:0;z-index:99999;background:rgba(9,10,12,.96);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:#f2efe8}.tp24-maintenance strong{font-size:28px;margin-bottom:10px}.tp24-maintenance span{max-width:520px;color:#c8c6c2}
/* v0.3.2 — resilient WordPress news images */
.hero-media[data-news-media],.home-news-image[data-news-media],.news-thumb[data-news-media],[data-article-media][data-news-media]{position:relative;overflow:hidden;background:#202228}
.hero-media[data-news-media]>img,.home-news-image[data-news-media]>img,.news-thumb[data-news-media]>img,[data-article-media][data-news-media]>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-media[data-news-media].is-missing,.home-news-image[data-news-media].is-missing,.news-thumb[data-news-media].is-missing,[data-article-media][data-news-media].is-missing{background:linear-gradient(135deg,#181a1e,#25282d)}
.article-body img[data-news-image]{max-width:100%;height:auto}

/* =========================================================
   TP24 APP 0.4.0 — LOCAL + JAK DOJECHAĆ
   ========================================================= */
.tp24-raster-route{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;overflow:visible}
.tp24-raster-route path{fill:none;stroke:#d7192d;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px rgba(0,0,0,.38))}

.place-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.place-card{display:grid;grid-template-columns:150px minmax(0,1fr);min-height:154px;border:1px solid rgba(255,255,255,.14);background:#15171a;color:#fff;cursor:pointer;overflow:hidden}
.place-card-image{min-height:154px;background:#24272c center/cover no-repeat;border-right:1px solid rgba(255,255,255,.10)}
.place-card-placeholder{display:grid;place-items:center;color:#f49aa4}
.place-card-placeholder .ui-icon{width:36px;height:36px}
.place-card-copy{min-width:0;padding:15px}
.place-card-copy h3{margin:0;color:#fff!important;font-size:18px;line-height:1.2;font-weight:850;letter-spacing:-.025em}
.place-card-copy>p:last-of-type{margin:10px 0 0;color:#c7cbd1!important;font-size:12px;line-height:1.48;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.place-card-location{display:flex;align-items:flex-start;gap:7px;margin-top:8px;color:#bfc3ca!important;font-size:11px;line-height:1.35}
.place-card-location .ui-icon{width:15px;height:15px;flex:0 0 15px;color:#f49aa4}
.place-card-tags,.place-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.place-card-tags span,.place-detail-tags span{display:inline-flex;padding:5px 8px;border:1px solid rgba(215,25,45,.38);background:rgba(215,25,45,.10);color:#f6bac0!important;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.place-detail{margin-top:16px;padding:18px;border:1px solid rgba(255,255,255,.14);background:#15171a;color:#fff}
.place-detail-image{width:calc(100% + 36px);aspect-ratio:16/8;margin:-18px -18px 20px;background:#24272c center/cover no-repeat;border-bottom:1px solid rgba(255,255,255,.12)}
.place-detail h1{margin:0;color:#fff!important;font-size:clamp(30px,7vw,46px);line-height:1.04;letter-spacing:-.04em}

.navigation-view{max-width:1040px}
.navigation-start-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid rgba(255,255,255,.14);background:#15171a;margin-bottom:12px}
.navigation-start-card strong{display:block;margin-top:5px;color:#fff!important;font-size:14px;line-height:1.35}
.navigation-start-actions{display:flex;gap:8px;flex:0 0 auto}
.navigation-start-actions .primary-btn,.navigation-start-actions .secondary-light-btn{width:auto;min-width:175px;margin:0}
.navigation-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}
.navigation-modes button{min-height:64px;border:0;background:#111316;color:#c9ccd2;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.navigation-modes button .ui-icon{width:19px;height:19px;color:#f49aa4}
.navigation-modes button.is-active{background:#d7192d;color:#fff}
.navigation-modes button.is-active .ui-icon{color:#fff}
.navigation-map-wrap{position:relative;height:500px;border:1px solid rgba(255,255,255,.14);background:#202228;overflow:hidden}
.navigation-map{position:absolute;inset:0}
.navigation-map-wrap .map-loading{z-index:7}
.navigation-summary{margin-top:12px;border:1px solid rgba(255,255,255,.14);background:#15171a;padding:16px}
.navigation-summary-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12)}
.navigation-summary-main>div{padding:15px;background:#101214}
.navigation-summary-main span{display:block;color:#9fa4ad!important;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.navigation-summary-main strong{display:block;margin-top:5px;color:#fff!important;font-size:24px;line-height:1;font-weight:850}
.navigation-parking-follow{margin:14px 0 0;color:#d7d9dd!important;font-size:12px;line-height:1.5}
.navigation-reset-destination{width:auto;margin-top:12px}
.navigation-steps{margin-top:14px;border-top:1px solid rgba(255,255,255,.12);padding-top:12px}
.navigation-steps summary{cursor:pointer;color:#fff;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.navigation-steps ol{margin:12px 0 0;padding-left:20px;color:#c8cbd0;font-size:12px;line-height:1.55}
.navigation-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.navigation-notes>div{padding:14px;border:1px solid rgba(255,255,255,.12);background:#15171a}
.navigation-notes span{display:block;color:#f49aa4!important;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.navigation-notes p{margin:7px 0 0;color:#d0d3d8!important;font-size:12px;line-height:1.5}
.navigation-parkings{margin-top:24px}
.navigation-parkings [data-navigation-parking-list]{display:grid;gap:8px}
.parking-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.13);background:#15171a}
.parking-card.is-recommended{border-color:rgba(215,25,45,.65);background:linear-gradient(135deg,#181a1e,#241216)}
.parking-card-copy strong{display:block;color:#fff!important;font-size:14px;line-height:1.3}
.parking-card-copy span{display:block;margin-top:5px;color:#aeb2b9!important;font-size:10px;line-height:1.4}
.parking-card .secondary-light-btn{width:auto;min-width:150px;margin:0}
.navigation-external{margin-top:24px;padding:16px;border:1px solid rgba(255,255,255,.14);background:#111316}
.navigation-external>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.navigation-external .primary-btn,.navigation-external .secondary-light-btn{margin:0}

@media(max-width:800px){
  .place-list{grid-template-columns:1fr}
  .navigation-start-card{align-items:stretch;flex-direction:column}
  .navigation-start-actions{display:grid;grid-template-columns:1fr 1fr}
  .navigation-start-actions .primary-btn,.navigation-start-actions .secondary-light-btn{min-width:0;width:100%}
  .navigation-notes{grid-template-columns:1fr}
}
@media(max-width:600px){
  .place-card{grid-template-columns:112px minmax(0,1fr)}
  .place-card-image{min-height:142px}
  .navigation-modes{grid-template-columns:repeat(2,1fr)}
  .navigation-map-wrap{height:420px}
  .navigation-summary-main{grid-template-columns:1fr 1fr}
  .parking-card{grid-template-columns:1fr}
  .parking-card .secondary-light-btn{width:100%}
  .navigation-external>div{grid-template-columns:1fr}
}
@media(max-width:430px){
  .place-card{grid-template-columns:92px minmax(0,1fr)}
  .place-card-copy{padding:12px}
  .place-card-copy h3{font-size:15px}
  .navigation-start-actions{grid-template-columns:1fr}
  .navigation-map-wrap{height:360px}
}


/* TP24 0.4.1 — COMMUNITY PLACES */
.directory-summary-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.map-title-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.map-title-actions>div{min-width:0}
.map-add-place-btn{width:auto;min-width:220px;margin:0;display:flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto}
.map-add-place-btn .ui-icon{width:18px;height:18px}
.tp24-map-marker.is-place{background:#101114!important;border-color:#d7192d!important;box-shadow:0 0 0 3px rgba(215,25,45,.22),0 5px 14px rgba(0,0,0,.32)}
.tp24-map-marker.is-place .marker-svg{color:#fff}
.map-place-card .entity-avatar img{width:100%;height:100%;object-fit:cover!important;padding:0!important;background:#202228!important}
.map-place-label{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border:1px solid rgba(215,25,45,.4);color:#f7b9c0!important;font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.map-place-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;padding:0!important;background:#222!important}
.map-detail-actions{display:flex;flex-wrap:wrap;gap:12px}
.map-detail-actions .map-detail-profile{margin-top:8px}
.place-submit-form{max-width:760px}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.place-location-helper{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.14);background:#111316}
.place-location-helper strong{display:block;color:#fff!important;font-size:13px}
.place-location-helper span{display:block;margin-top:4px;color:#aeb2b9!important;font-size:11px;line-height:1.45}
.place-location-helper .secondary-light-btn{width:auto;min-width:210px;margin:0;display:flex;align-items:center;justify-content:center;gap:8px}
.place-location-helper .ui-icon{width:18px;height:18px}
.place-submit-flags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.place-photo-preview{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.14);background:#111316}
.place-photo-preview[hidden]{display:none}
.place-photo-preview img{width:120px;height:92px;object-fit:cover;border:1px solid rgba(255,255,255,.12)}
.place-photo-preview span{color:#c8cbd0!important;font-size:11px;line-height:1.5}
.place-submit-note{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid rgba(61,220,132,.35);background:#102017}
.place-submit-note>.ui-icon{width:24px;height:24px;color:#6de19a}
.place-submit-note strong{display:block;color:#fff!important;font-size:13px}
.place-submit-note span{display:block;margin-top:4px;color:#ccebd8!important;font-size:11px;line-height:1.45}

@media(max-width:760px){
  .directory-summary-four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map-title-actions{display:block}
  .map-add-place-btn{width:100%;min-width:0;margin-top:18px}
  .map-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .place-location-helper{grid-template-columns:1fr}
  .place-location-helper .secondary-light-btn{width:100%;min-width:0}
  .place-submit-flags{grid-template-columns:1fr}
}
@media(max-width:520px){
  .place-photo-preview{grid-template-columns:1fr}
  .place-photo-preview img{width:100%;height:auto;aspect-ratio:16/10}
}


/* TP24 0.4.2 PERFORMANCE */
.event-card-image,.place-card-image{overflow:hidden}
.event-card-image>img,.place-card-image>img{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover}
.home-news-card,.news-row,.entity-card,.entity-mini,.event-card,.place-card,.notification-card,.saved-card{content-visibility:auto;contain-intrinsic-size:1px 150px}
.tp24-raster-tile{will-change:transform}
@media(prefers-reduced-motion:reduce){.skeleton-row{animation:none}}

/* TP24 0.4.4 — KALENDARZ ŻYCIA + SKANER PISM */
.life-calendar-view,.letter-scanner-view{padding-bottom:96px}
.life-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.life-hero-icon{width:54px;height:54px;flex:0 0 auto;color:#d7192d}
.life-controls{display:grid;grid-template-columns:1.4fr .7fr 1fr auto;gap:12px;align-items:end;margin:24px 0 16px;padding:16px;border:1px solid rgba(255,255,255,.12);background:#15171b}
.life-controls label{display:grid;gap:7px}.life-controls label>span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#9ea3ab}
.life-controls select{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.16);background:#0f1114;color:#fff;padding:0 12px;font:inherit}
.life-refresh{width:auto;min-width:150px;margin:0;min-height:46px}
.life-info-card,.letter-privacy{display:grid;grid-template-columns:34px minmax(0,1fr);gap:13px;padding:15px 16px;border:1px solid rgba(215,25,45,.28);background:rgba(215,25,45,.06);margin:0 0 20px}
.life-info-card>.ui-icon,.letter-privacy>.ui-icon{width:24px;height:24px;color:#d7192d}
.life-info-card strong,.letter-privacy strong{display:block;color:#fff;font-size:13px}.life-info-card p,.letter-privacy p{margin:4px 0 0;color:#bfc3ca;font-size:11px;line-height:1.55}
.life-calendar-list{display:grid;gap:10px}
.life-event-card{display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:15px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.11);background:#14161a;content-visibility:auto;contain-intrinsic-size:1px 108px}
.life-event-card.life-event-public{border-left:3px solid #d7192d}.life-event-card.life-event-school{border-left:3px solid #d6b35a}.life-event-card.life-event-personal{border-left:3px solid #5fc78b}
.life-event-date{display:grid;place-items:center;align-content:center;width:62px;height:68px;border:1px solid rgba(255,255,255,.13);background:#0d0f12}.life-event-date strong{font-size:25px;line-height:1;color:#fff}.life-event-date span{margin-top:5px;font-size:10px;font-weight:900;text-transform:uppercase;color:#aeb3bb}
.life-event-copy{min-width:0}.life-event-copy h3{margin:5px 0 4px;color:#fff;font-size:16px}.life-event-copy p,.life-event-copy small{display:block;margin:0;color:#bdc1c8;font-size:11px;line-height:1.5}.life-event-copy small{margin-top:5px;color:#969ba4}
.life-event-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.life-event-meta span,.life-event-meta em{font-size:8px;font-weight:950;letter-spacing:.06em;text-transform:uppercase;font-style:normal;padding:4px 6px;border:1px solid rgba(255,255,255,.14);color:#d6d9de}.life-event-meta em{color:#7edda4;border-color:rgba(95,199,139,.28)}
.life-event-actions{display:grid;gap:6px}.life-event-actions button{min-width:62px;height:32px;border:1px solid rgba(255,255,255,.14);background:#202329;color:#fff;font-size:9px;font-weight:900;text-transform:uppercase}.life-event-actions .life-delete{color:#ffb4bc;border-color:rgba(215,25,45,.35)}
.life-source{margin-top:16px;color:#858b95;font-size:10px;line-height:1.5}.life-source strong{color:#b8bdc5}
.letter-upload-card{padding:18px;border:1px solid rgba(255,255,255,.12);background:#15171b}
.letter-file-field{position:relative;display:grid;place-items:center;text-align:center;min-height:220px;padding:24px;border:1px dashed rgba(255,255,255,.25);background:#0f1114;cursor:pointer}.letter-file-field input{position:absolute;inset:0;opacity:0;cursor:pointer}.letter-file-field strong{font-size:18px;color:#fff}.letter-file-field small{margin-top:5px;color:#969ba4;font-size:11px}.letter-file-field em{margin-top:12px;color:#e0e2e6;font-size:11px;font-style:normal;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.letter-file-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:12px;border:1px solid rgba(215,25,45,.35);background:rgba(215,25,45,.08)}.letter-file-icon .ui-icon{width:30px;height:30px;color:#d7192d}
.letter-upload-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.letter-upload-actions .primary-btn,.letter-upload-actions .secondary-light-btn{margin:0}
.letter-progress{margin:16px 0;padding:14px;border:1px solid rgba(255,255,255,.12);background:#111317}.letter-progress p{margin:8px 0 0;color:#cdd0d5;font-size:11px}.letter-progress-bar{height:6px;background:#272a30;overflow:hidden}.letter-progress-bar span{display:block;height:100%;background:#d7192d;transition:width .2s ease}
.letter-result{margin-top:18px;padding:18px;border:1px solid rgba(255,255,255,.12);background:#111317}.letter-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.letter-result-head h2{margin:4px 0 0;color:#fff;font-size:23px}.letter-confidence{padding:6px 8px;border:1px solid rgba(95,199,139,.3);color:#80dea6;font-size:9px;font-weight:900;white-space:nowrap}
.letter-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.letter-result-grid article,.letter-next-step,.letter-refs{padding:12px;border:1px solid rgba(255,255,255,.1);background:#17191e}.letter-result-grid span,.letter-next-step span,.letter-refs>span{display:block;color:#8f959e;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.letter-result-grid strong,.letter-next-step strong{display:block;margin-top:6px;color:#fff;font-size:12px;line-height:1.45}.letter-refs{margin-top:8px}.letter-refs p{margin:7px 0 0;color:#c7cbd1;font-size:11px;word-break:break-word}.letter-result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.letter-result-actions .primary-btn,.letter-result-actions .secondary-light-btn{width:auto;margin:0;min-width:170px}.letter-raw-text{margin-top:14px;max-height:340px;overflow:auto;padding:13px;border:1px solid rgba(255,255,255,.1);background:#08090b;color:#cdd1d7;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.letter-warning{margin-top:14px;padding:12px;border-left:3px solid #d6b35a;background:rgba(214,179,90,.07);color:#d8d0b6;font-size:10px;line-height:1.5}.letter-warning strong{color:#fff}
.letter-how{margin-top:22px}.letter-how h2{color:#fff;font-size:18px}.letter-how>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.letter-how article{padding:14px;border:1px solid rgba(255,255,255,.1);background:#15171b}.letter-how .ui-icon{width:22px;height:22px;color:#d7192d}.letter-how strong{display:block;margin-top:10px;color:#fff;font-size:12px}.letter-how span{display:block;margin-top:4px;color:#959aa3;font-size:10px;line-height:1.45}
@media(max-width:900px){.life-controls{grid-template-columns:1fr 1fr}.life-refresh{width:100%}.letter-result-grid,.letter-how>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.life-title-row{display:block}.life-hero-icon{display:none}.life-controls{grid-template-columns:1fr}.life-event-card{grid-template-columns:54px minmax(0,1fr)}.life-event-date{width:52px;height:60px}.life-event-actions{grid-column:2;display:flex;flex-wrap:wrap}.letter-upload-actions{grid-template-columns:1fr}.letter-result-head{display:block}.letter-confidence{display:inline-block;margin-top:10px}.letter-result-grid,.letter-how>div{grid-template-columns:1fr}.letter-result-actions{display:grid}.letter-result-actions .primary-btn,.letter-result-actions .secondary-light-btn{width:100%;min-width:0}}

/* TP24 0.4.5 — prosty ekran wyjaśnienia pisma */
.letter-simple-head{margin:0 0 16px}.letter-simple-head h2{margin:5px 0 6px;color:#fff;font-size:clamp(22px,5vw,30px);line-height:1.08;letter-spacing:-.03em}.letter-simple-head>p:not(.eyebrow){margin:0;color:#aeb3bb;font-size:11px;line-height:1.55}
.letter-simple-grid{display:grid;gap:10px}.letter-simple-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:15px;border:1px solid rgba(255,255,255,.11);background:#17191e}.letter-simple-card.is-important{border-color:rgba(215,25,45,.48);background:linear-gradient(135deg,rgba(215,25,45,.12),#17191e 62%)}.letter-simple-card.letter-simple-action{border-color:rgba(95,199,139,.28);background:linear-gradient(135deg,rgba(95,199,139,.07),#17191e 64%)}
.letter-simple-no{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(215,25,45,.42);background:rgba(215,25,45,.10);color:#fff;font-size:13px;font-weight:950}.letter-simple-card small{display:block;color:#9aa0a9;font-size:9px;font-weight:950;letter-spacing:.075em;text-transform:uppercase}.letter-simple-card h3{margin:5px 0 0;color:#fff;font-size:14px;line-height:1.5;font-weight:800}.letter-simple-card p{margin:6px 0 0;color:#b8bdc5;font-size:10px;line-height:1.5}
.letter-primary-actions{margin-top:16px}.letter-extra-details{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:600px){.letter-simple-card{grid-template-columns:34px minmax(0,1fr);padding:13px;gap:10px}.letter-simple-no{width:30px;height:30px}.letter-simple-card h3{font-size:13px}.letter-simple-head h2{font-size:24px}}

/* 0.4.6 — pełne tłumaczenie pisma */
.letter-translation-card{margin-top:16px;padding:16px;border:1px solid rgba(215,25,45,.30);background:linear-gradient(135deg,rgba(215,25,45,.08),#15171b 58%)}
.letter-translation-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.letter-translation-head small{display:block;color:#f19aa4;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.letter-translation-head h3{margin:5px 0 0;color:#fff;font-size:18px}.letter-translation-head p{margin:6px 0 0;color:#aeb3bb;font-size:10px;line-height:1.55;max-width:720px}.letter-translation-head .primary-btn{width:auto;min-width:220px;margin:0}
.letter-translation-status{margin-top:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);background:#101216;color:#cbd0d6;font-size:10px;line-height:1.5}.letter-translation-status.is-success{border-color:rgba(95,199,139,.34);color:#91e4b4}.letter-translation-status.is-error{border-color:rgba(215,25,45,.48);color:#ffb7bf}
.letter-translation-result{margin-top:12px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.letter-translation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.letter-translation-toolbar span{color:#8f959e;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.letter-translation-toolbar .secondary-light-btn{width:auto;min-width:160px;margin:0;min-height:42px}.letter-translation-text{max-height:520px;overflow:auto;padding:14px;border:1px solid rgba(255,255,255,.10);background:#0a0b0d;color:#eef0f3;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.letter-translation-head{grid-template-columns:1fr}.letter-translation-head .primary-btn{width:100%;min-width:0}.letter-translation-toolbar{align-items:stretch;flex-direction:column}.letter-translation-toolbar .secondary-light-btn{width:100%}.letter-translation-text{max-height:440px;font-size:11px}}

/* TP24 0.5.0 — Kalkulator wynagrodzenia + Moje Niemcy */
.salary-view,.my-germany-view{max-width:920px}
.salary-source-note{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;margin:0 0 18px;padding:14px;border:1px solid rgba(95,199,139,.24);background:linear-gradient(135deg,rgba(95,199,139,.07),#14161a 64%)}
.salary-source-note>.ui-icon{width:24px;height:24px;color:#76d69e}.salary-source-note strong{display:block;color:#fff;font-size:12px}.salary-source-note p{margin:4px 0 0;color:#aeb4bd;font-size:10px;line-height:1.55}
.salary-form-card,.myg-form-card{padding:18px;border:1px solid rgba(255,255,255,.12);background:#111317}
.salary-section{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid rgba(255,255,255,.09)}.salary-section:last-of-type{margin-bottom:16px}
.salary-section-head{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:start;margin-bottom:15px}.salary-section-head>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(215,25,45,.5);background:rgba(215,25,45,.1);color:#fff;font-size:10px;font-weight:950}.salary-section-head h2{margin:1px 0 0;color:#fff;font-size:19px;line-height:1.15}.salary-section-head p{margin:5px 0 0;color:#949aa4;font-size:10px;line-height:1.5}
.salary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.salary-grid+label,.salary-grid+[data-salary-monthly-fields],.salary-grid+[data-salary-hourly-fields]{margin-top:11px}
.salary-form-card label,.myg-form-card label{display:block;color:#fff}.salary-form-card label>span,.myg-form-card label>span{display:block;margin:0 0 6px;color:#bfc4cc;font-size:9px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.salary-form-card label>small,.myg-form-card label>small{display:block;margin:6px 0 0;color:#848b95;font-size:9px;line-height:1.45}
.salary-form-card input:not([type="checkbox"]),.salary-form-card select,.myg-form-card input:not([type="checkbox"]),.myg-form-card select{width:100%;min-height:48px;padding:0 12px;border:1px solid rgba(255,255,255,.16);border-radius:0;background:#17191e;color:#fff;font:inherit;font-size:13px;outline:none}.salary-form-card input:focus,.salary-form-card select:focus,.myg-form-card input:focus,.myg-form-card select:focus{border-color:rgba(215,25,45,.8);box-shadow:0 0 0 1px rgba(215,25,45,.25)}
.salary-money-input{position:relative}.salary-money-input input{padding-right:48px!important}.salary-money-input em{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#aeb4bd;font-size:11px;font-style:normal;font-weight:900;pointer-events:none}
.salary-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.salary-check{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid rgba(255,255,255,.11);background:#17191e}.salary-check input{width:18px;height:18px;margin:1px 0 0;accent-color:#d7192d}.salary-check>span{margin:0!important;text-transform:none!important;letter-spacing:0!important}.salary-check strong{display:block;color:#fff;font-size:11px}.salary-check small{display:block;margin-top:4px;color:#8f969f;font-size:9px;line-height:1.45;font-weight:500}.salary-special-check{margin-top:9px}
.salary-kids-box{margin-top:12px}.salary-kids-box>[data-salary-kids]{margin-top:9px;padding:12px;border:1px solid rgba(255,255,255,.1);background:#14161a}
.salary-advanced{margin-top:4px;border:1px solid rgba(255,255,255,.11);background:#14161a}.salary-advanced summary{cursor:pointer;list-style:none;padding:15px;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.salary-advanced summary::-webkit-details-marker{display:none}.salary-advanced summary:after{content:'+';float:right;color:#d7192d;font-size:18px;line-height:12px}.salary-advanced[open] summary:after{content:'−'}.salary-advanced-body{padding:0 15px 15px;border-top:1px solid rgba(255,255,255,.08)}.salary-advanced-body>p{margin:12px 0;color:#9ba1aa;font-size:10px;line-height:1.5}.salary-warning{margin-top:12px;padding:12px;border-left:3px solid #d6b35a;background:rgba(214,179,90,.07)}.salary-warning strong{color:#fff;font-size:10px}.salary-warning p{margin:5px 0 0;color:#d8d0b6;font-size:9px;line-height:1.5}
.salary-form-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:16px}.salary-form-actions .primary-btn,.salary-form-actions .secondary-light-btn{margin:0}.salary-form-actions .secondary-light-btn{width:auto;min-width:170px}.salary-local-note{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:start;margin:14px 0 0;color:#8e949d;font-size:9px;line-height:1.5}.salary-local-note .ui-icon{width:17px;height:17px;color:#aeb4bd}
.salary-result{margin-top:18px}.salary-hero-result{padding:22px;border:1px solid rgba(215,25,45,.45);background:linear-gradient(135deg,rgba(215,25,45,.16),#111317 60%)}.salary-hero-result>span{display:block;color:#f3a2ab;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.salary-hero-result>strong{display:block;margin-top:6px;color:#fff;font-size:clamp(34px,8vw,52px);line-height:1;font-weight:950;letter-spacing:-.045em}.salary-hero-result>small{display:block;margin-top:7px;color:#b6bbc3;font-size:10px}
.salary-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.salary-result-grid article{padding:12px;border:1px solid rgba(255,255,255,.1);background:#15171b}.salary-result-grid span{display:block;color:#8e949d;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.salary-result-grid strong{display:block;margin-top:6px;color:#fff;font-size:14px}
.salary-breakdown,.salary-employer,.salary-tech-note,.salary-notes{margin-top:10px;padding:14px;border:1px solid rgba(255,255,255,.1);background:#111317}.salary-breakdown h3{margin:0 0 10px;color:#fff;font-size:14px}.salary-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}.salary-breakdown>div:last-child{border:0}.salary-breakdown span{color:#a9afb8;font-size:10px}.salary-breakdown strong{color:#fff;font-size:11px}.salary-breakdown .salary-total{padding-top:11px}.salary-breakdown .salary-total strong{color:#f2a0aa}
.salary-employer>span,.salary-tech-note>strong{display:block;color:#9aa0aa;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.salary-employer>strong{display:block;margin-top:4px;color:#fff;font-size:22px}.salary-employer>small{display:block;margin-top:5px;color:#8d949d;font-size:9px;line-height:1.5}.salary-tech-note>span{display:block;margin-top:5px;color:#d0d4da;font-size:10px;line-height:1.55}.salary-notes p{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;margin:0 0 9px;color:#b6bbc3;font-size:9px;line-height:1.55}.salary-notes p:last-child{margin-bottom:0}.salary-notes .ui-icon{width:15px;height:15px;color:#74d69b}
.myg-current{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);background:#14161a}.myg-current span{color:#8e949d;font-size:9px;font-weight:900;text-transform:uppercase}.myg-current strong{color:#fff;font-size:12px;text-align:right}.myg-form-head{margin-bottom:13px}.myg-form-head h2{margin:0;color:#fff;font-size:18px}.myg-form-head p{margin:5px 0 0;color:#949aa4;font-size:10px;line-height:1.5}.myg-topic-head{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.myg-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.germany-topic{display:grid!important;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:center;min-height:46px;padding:10px 11px;border:1px solid rgba(255,255,255,.1);background:#17191e}.germany-topic input{width:17px;height:17px;accent-color:#d7192d}.germany-topic span{margin:0!important;color:#e2e4e8!important;font-size:10px!important;text-transform:none!important;letter-spacing:0!important}
.myg-dashboard-wrap{margin-top:22px}.myg-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.myg-summary-grid article{padding:14px;border:1px solid rgba(255,255,255,.1);background:#15171b}.myg-summary-grid span{display:block;color:#8d939d;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.myg-summary-grid strong{display:block;margin-top:6px;color:#fff;font-size:13px;line-height:1.35}.myg-summary-grid small{display:block;margin-top:5px;color:#969ca5;font-size:9px;line-height:1.45}.myg-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.myg-actions button,.myg-news-grid button{min-height:46px;padding:8px;border:1px solid rgba(255,255,255,.13);background:#17191e;color:#fff;font-size:9px;font-weight:900;text-transform:uppercase}.myg-actions button:active,.myg-news-grid button:active{border-color:#d7192d}.myg-news-box{margin-top:24px}.myg-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.myg-privacy{margin-top:22px}
@media(max-width:760px){.salary-grid,.salary-check-grid{grid-template-columns:1fr}.salary-result-grid,.myg-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.myg-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.myg-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.salary-form-card,.myg-form-card{padding:14px}.salary-form-actions{grid-template-columns:1fr}.salary-form-actions .secondary-light-btn{width:100%;min-width:0}.salary-result-grid,.myg-summary-grid{grid-template-columns:1fr}.myg-topics{grid-template-columns:1fr}.salary-hero-result{padding:18px}.salary-source-note{grid-template-columns:28px minmax(0,1fr)}}


/* TP24 0.5.2 — Premium Motion UI / Glass 3D */
:root{
  --glass:rgba(22,24,29,.76);--glass-strong:rgba(15,17,21,.91);--glass-line:rgba(255,255,255,.12);
  --shadow-lg:0 28px 80px rgba(0,0,0,.38);--shadow-md:0 16px 42px rgba(0,0,0,.28);
  --radius-xl:24px;--radius-lg:18px;--radius-md:14px;--ease-premium:cubic-bezier(.2,.78,.25,1)
}
html{background:#090a0d;scroll-behavior:smooth}
body{background:#090a0d;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-4;background:radial-gradient(circle at 18% 12%,rgba(215,25,45,.12),transparent 34%),radial-gradient(circle at 84% 46%,rgba(96,102,122,.11),transparent 38%),linear-gradient(180deg,#0a0b0e,#101114 42%,#090a0d);pointer-events:none}
.ambient-scene{position:fixed;inset:0;z-index:-3;overflow:hidden;pointer-events:none;contain:strict}
.ambient-orb{position:absolute;width:68vmax;height:68vmax;border-radius:50%;opacity:.24;will-change:transform;background:radial-gradient(circle,rgba(215,25,45,.28) 0,rgba(215,25,45,.09) 26%,transparent 64%)}
.ambient-orb-a{left:-40vmax;top:-34vmax;animation:ambientFloatA 18s ease-in-out infinite alternate}
.ambient-orb-b{right:-46vmax;top:24vh;opacity:.16;background:radial-gradient(circle,rgba(126,137,168,.28),rgba(64,72,93,.08) 30%,transparent 65%);animation:ambientFloatB 22s ease-in-out infinite alternate}
.ambient-grid{position:absolute;inset:0;opacity:.045;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 76%)}
@keyframes ambientFloatA{to{transform:translate3d(14vmax,11vmax,0) scale(1.08)}}
@keyframes ambientFloatB{to{transform:translate3d(-12vmax,-9vmax,0) scale(.92)}}
.tp24-app{position:relative;max-width:none!important;background:transparent!important;padding-bottom:96px;border:0!important}
.app-main{position:relative;z-index:1}
.app-header{background:rgba(9,10,13,.74);border-bottom:1px solid rgba(255,255,255,.09);box-shadow:0 10px 36px rgba(0,0,0,.20);backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%)}
.brand-row{min-height:68px}.app-brand img{filter:drop-shadow(0 5px 14px rgba(0,0,0,.22));transition:transform .3s var(--ease-premium),filter .3s ease}.app-brand:active img{transform:scale(.97)}
.icon-action{border-radius:13px;border-color:rgba(255,255,255,.11);background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:transform .22s var(--ease-premium),border-color .22s ease,background .22s ease}.icon-action:active{transform:scale(.94)}
.search-bar input,.search-bar button{border-radius:14px}.search-bar input{background:rgba(19,21,26,.94);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.hero-section{padding-top:24px;background:transparent}.hero-section .section-shell{perspective:1300px}
.section-label{width:max-content;padding:8px 11px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.section-label span{box-shadow:0 0 0 5px rgba(215,25,45,.10),0 0 18px rgba(215,25,45,.55);animation:livePulse 2.3s ease-out infinite}
@keyframes livePulse{50%{box-shadow:0 0 0 8px rgba(215,25,45,0),0 0 22px rgba(215,25,45,.7)}}
.hero-card{--tilt-x:0deg;--tilt-y:0deg;--glow-x:50%;--glow-y:50%;position:relative;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(31,34,41,.9),rgba(10,11,14,.96));box-shadow:var(--shadow-lg),inset 0 1px 0 rgba(255,255,255,.06);transform:perspective(1300px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateZ(0);transform-style:preserve-3d;transition:transform .18s ease-out,border-color .28s ease,box-shadow .28s ease;overflow:hidden;isolation:isolate}
.hero-card::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(255,255,255,.13),transparent 28%);opacity:.48;mix-blend-mode:screen;transition:opacity .25s ease}
.hero-card::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.hero-media{min-height:390px;transform:translateZ(12px);overflow:hidden}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 50%,rgba(8,9,12,.25)),linear-gradient(0deg,rgba(6,7,9,.2),transparent 38%)}
.hero-copy{transform:translateZ(18px);background:linear-gradient(150deg,rgba(14,16,20,.98),rgba(8,9,12,.96));border-left-color:rgba(255,255,255,.08)}
.hero-copy h1{text-shadow:0 10px 30px rgba(0,0,0,.22)}
.hero-copy .link-button{padding:0 2px}.hero-copy .link-button .ui-icon{transition:transform .25s var(--ease-premium)}.hero-copy .link-button:hover .ui-icon{transform:translateX(4px)}
[data-view="start"]>.section{background:transparent}.latest-section,.events-preview,.directory-preview,.sport-preview{position:relative}.latest-section::before,.events-preview::before,.directory-preview::before,.sport-preview::before{content:"";position:absolute;inset:10px max(12px,calc((100vw - var(--content))/2)) 10px;border:1px solid rgba(255,255,255,.055);border-radius:26px;background:linear-gradient(150deg,rgba(255,255,255,.025),rgba(255,255,255,.008));pointer-events:none}
[data-view="start"] .section>.section-shell{position:relative;z-index:1}
.section-head h2,[data-view="start"]>.section .section-shell>h2{font-size:clamp(25px,5vw,32px)}
.home-news-list,.news-list,.entity-list,.entity-preview{border-top-color:rgba(255,255,255,.09)}
.home-news-card,.news-row{position:relative;border-bottom-color:rgba(255,255,255,.075);transition:transform .24s var(--ease-premium),background .24s ease,border-color .24s ease;padding-left:8px;padding-right:8px;border-radius:14px}.home-news-card:hover,.news-row:hover{transform:translateX(4px);background:rgba(255,255,255,.025)}
.home-news-image,.news-thumb{border-radius:12px;border-color:rgba(255,255,255,.10);overflow:hidden;box-shadow:0 9px 25px rgba(0,0,0,.2)}.home-news-image img,.news-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-premium)}.home-news-card:hover img,.news-row:hover img{transform:scale(1.035)}
.quick-grid{gap:12px}.quick-card{--tilt-x:0deg;--tilt-y:0deg;--glow-x:50%;--glow-y:50%;position:relative;isolation:isolate;overflow:hidden;min-height:138px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.105);background:linear-gradient(145deg,rgba(35,38,46,.88),rgba(16,18,22,.94));box-shadow:0 14px 34px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.045);transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .2s ease-out,border-color .25s ease,box-shadow .25s ease,background .25s ease}.quick-card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(215,25,45,.17),transparent 42%);opacity:.58;transition:opacity .2s ease}.quick-card::after{content:"";position:absolute;width:72px;height:2px;left:16px;bottom:0;background:linear-gradient(90deg,var(--red),transparent);opacity:.55}.quick-card:hover{border-color:rgba(215,25,45,.36);box-shadow:0 22px 48px rgba(0,0,0,.30),0 0 0 1px rgba(215,25,45,.05)}.quick-card:active{transform:perspective(900px) rotateX(0) rotateY(0) scale(.975)}
.quick-icon{width:46px;height:46px;border-radius:14px;border-color:rgba(255,255,255,.10);background:linear-gradient(145deg,rgba(215,25,45,.16),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 22px rgba(0,0,0,.18);transform:translateZ(18px)}.quick-card>span:last-child{transform:translateZ(12px)}
.quick-card strong{font-size:13px;letter-spacing:.015em;text-transform:none}.quick-card small{color:#aeb4bd!important}
[data-view="start"] .section-paper{color:#fff;background:transparent}[data-view="start"] .section-paper h2,[data-view="start"] .section-paper h3,[data-view="start"] .section-paper strong{color:#fff!important}[data-view="start"] .section-paper .dark-eyebrow{color:var(--red-soft)!important}
[data-view="start"] .topic-list{border-top-color:rgba(255,255,255,.08)}[data-view="start"] .topic-list button{min-height:66px;border-bottom-color:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:0 10px;transition:background .2s ease,transform .2s var(--ease-premium)}[data-view="start"] .topic-list button:hover{background:rgba(255,255,255,.035);transform:translateX(4px)}[data-view="start"] .topic-list span{color:var(--red-soft)!important}[data-view="start"] .topic-list strong{color:#fff!important}[data-view="start"] .topic-list .ui-icon{color:#f2a0aa}
.event-card,.event-detail,.saved-card,.notification-card,.salary-form-card,.myg-form-card,.salary-source-note,.salary-hero-result,.salary-breakdown,.salary-employer,.salary-tech-note,.salary-notes,.myg-current,.myg-summary-grid article,.directory-summary>div,.install-sheet,.push-sheet{border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.event-card,.saved-card,.notification-card,.salary-form-card,.myg-form-card,.event-detail{background:linear-gradient(145deg,rgba(28,31,37,.94),rgba(15,17,21,.96));border-color:rgba(255,255,255,.10)}
.event-card{transition:transform .24s var(--ease-premium),border-color .24s ease,box-shadow .24s ease}.event-card:hover{transform:translateY(-3px);border-color:rgba(215,25,45,.30);box-shadow:var(--shadow-md)}
.event-card-image,.event-card.is-mini .event-card-image{border-color:rgba(255,255,255,.08)}
.primary-btn,.secondary-light-btn,.white-btn,.outline-white-btn,.back-btn,.save-action,.install-primary,.install-later{border-radius:14px;transition:transform .18s var(--ease-premium),filter .2s ease,background .2s ease,border-color .2s ease}.primary-btn,.install-primary{background:linear-gradient(135deg,#e31d33,#b20f21);box-shadow:0 10px 26px rgba(215,25,45,.20)}.primary-btn:active,.secondary-light-btn:active,.white-btn:active,.outline-white-btn:active,.back-btn:active,.save-action:active,.install-primary:active,.install-later:active{transform:scale(.98)}
.live-badge{padding:7px 10px;border:1px solid rgba(61,220,132,.18);border-radius:999px;background:rgba(61,220,132,.055)}.live-badge span{box-shadow:0 0 14px rgba(61,220,132,.7)}
.section-red{position:relative;overflow:hidden;background:linear-gradient(135deg,#b80f22,#d7192d 48%,#9f0c1c)}.section-red::before{content:"";position:absolute;width:360px;height:360px;right:-160px;top:-190px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 66%);pointer-events:none}.section-red .section-shell{position:relative;z-index:1}
.skeleton-row{position:relative;overflow:hidden;border-radius:15px;border:1px solid rgba(255,255,255,.055);background:#15171c;animation:none}.skeleton-row::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:premiumSkeleton 1.35s ease-in-out infinite}@keyframes premiumSkeleton{to{transform:translateX(100%)}}
.bottom-nav{left:50%;right:auto;bottom:max(9px,env(safe-area-inset-bottom));width:min(680px,calc(100% - 20px));min-height:66px;transform:translateX(-50%);border:1px solid rgba(255,255,255,.11);border-radius:22px;padding:4px 6px;background:rgba(10,11,14,.84);box-shadow:0 18px 55px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(22px) saturate(130%);-webkit-backdrop-filter:blur(22px) saturate(130%);overflow:hidden}.nav-item{position:relative;z-index:1;min-height:56px;border-radius:16px;gap:4px;transition:transform .2s var(--ease-premium),background .25s ease,color .25s ease}.nav-item::before{content:"";position:absolute;inset:5px 7px;z-index:-1;border-radius:13px;background:linear-gradient(145deg,rgba(215,25,45,.18),rgba(215,25,45,.035));border:1px solid rgba(215,25,45,.18);opacity:0;transform:scale(.82);transition:opacity .25s ease,transform .3s var(--ease-premium)}.nav-item.is-active::before{opacity:1;transform:scale(1)}.nav-item.is-active .nav-icon{filter:drop-shadow(0 0 9px rgba(215,25,45,.45));transform:translateY(-1px)}.nav-item .nav-icon{transition:transform .25s var(--ease-premium),color .25s ease,filter .25s ease}.nav-item:active{transform:scale(.93)}
.toast{border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.view.view-enter{animation:viewEnter .42s var(--ease-premium) both}@keyframes viewEnter{from{opacity:0;transform:translateY(9px) scale(.995)}to{opacity:1;transform:none}}
.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease-premium),transform .55s var(--ease-premium)}.reveal-ready.is-revealed{opacity:1;transform:none}.quick-card.reveal-ready:nth-child(2n){transition-delay:.035s}.quick-card.reveal-ready:nth-child(3n){transition-delay:.07s}.home-news-card,.news-row,.event-card,.entity-mini,.notification-card{animation:cardArrive .36s var(--ease-premium) both}@keyframes cardArrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.app-splash{background:radial-gradient(circle at 50% 36%,rgba(215,25,45,.18),transparent 34%),linear-gradient(180deg,#0a0b0e,#111317);transition:opacity .42s ease,visibility .42s ease}.splash-inner{position:relative;gap:22px}.splash-inner::before{content:"";position:absolute;width:260px;height:260px;top:50%;left:50%;transform:translate(-50%,-61%);border-radius:50%;border:1px solid rgba(215,25,45,.12);box-shadow:0 0 70px rgba(215,25,45,.09);animation:splashRing 2.4s ease-in-out infinite;pointer-events:none}.splash-logo{position:relative;z-index:1;animation:splashLogo .9s var(--ease-premium) both;filter:drop-shadow(0 16px 40px rgba(0,0,0,.35))}.splash-loader{position:relative;z-index:1;width:min(220px,66vw);height:3px;border-radius:999px;background:rgba(255,255,255,.09)}.splash-loader span{border-radius:999px;background:linear-gradient(90deg,#b90f22,#ff4053,#fff,#ff4053,#b90f22);box-shadow:0 0 18px rgba(215,25,45,.4)}@keyframes splashLogo{from{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}@keyframes splashRing{50%{transform:translate(-50%,-61%) scale(1.08);opacity:.58}}
.motion-lite .ambient-orb{animation-duration:32s;opacity:.12}.motion-lite .hero-card,.motion-lite .quick-card{transform:none!important}.motion-lite .reveal-ready{transition-duration:.32s}
@media(max-width:759px){
  .hero-card{border-radius:20px;transform:none!important}.hero-media{min-height:0}.hero-copy{background:linear-gradient(180deg,rgba(14,16,20,.98),rgba(9,10,13,.98))}.hero-card::before{opacity:.24}
  .quick-card{min-height:132px;transform:none!important}.quick-grid{gap:10px}
  .latest-section::before,.events-preview::before,.directory-preview::before,.sport-preview::before{inset:8px 8px;border-radius:22px}
  .bottom-nav{width:calc(100% - 16px);bottom:max(7px,env(safe-area-inset-bottom));border-radius:20px}.nav-item{min-height:54px;font-size:8px}.nav-item::before{inset:5px 4px}
}
@media(max-width:420px){.quick-card{min-height:124px;padding:13px}.quick-icon{width:42px;height:42px}.bottom-nav{padding-left:3px;padding-right:3px}.nav-item span{font-size:8px}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.ambient-orb,.section-label span,.splash-inner::before,.splash-logo,.splash-loader span,.skeleton-row::after,.home-news-card,.news-row,.event-card,.entity-mini,.notification-card{animation:none!important}.reveal-ready{opacity:1!important;transform:none!important;transition:none!important}.view.view-enter{animation:none!important}.hero-card,.quick-card,.nav-item,.icon-action,.home-news-card,.news-row,.event-card{transition:none!important;transform:none!important}
}
.search-bar[hidden]{display:none!important}

/* TP24 0.5.3 — Premium Logo Motion / Brand Stage */
.app-brand{position:relative;isolation:isolate;overflow:visible}
.app-brand::before{content:"";position:absolute;inset:-12px -18px;z-index:-1;border-radius:18px;background:radial-gradient(circle at 38% 50%,rgba(215,25,45,.15),transparent 60%);opacity:.42;filter:blur(8px);pointer-events:none;animation:headerBrandGlow 6.8s ease-in-out infinite}
.app-brand::after{content:"";position:absolute;inset:-3px 0;z-index:2;pointer-events:none;background:linear-gradient(108deg,transparent 18%,rgba(255,255,255,.08) 38%,rgba(255,255,255,.82) 49%,rgba(244,154,164,.26) 58%,transparent 76%);transform:translateX(-145%);-webkit-mask:url('/assets/tp24-logo-white.png') center/contain no-repeat;mask:url('/assets/tp24-logo-white.png') center/contain no-repeat;animation:headerBrandShine 8.5s cubic-bezier(.2,.7,.25,1) 1.8s infinite}
.app-brand img{position:relative;z-index:1;animation:headerBrandBreathe 7s ease-in-out infinite}
@keyframes headerBrandGlow{50%{opacity:.7;transform:scale(1.035)}}
@keyframes headerBrandShine{0%,68%{transform:translateX(-145%);opacity:0}72%{opacity:.9}84%{transform:translateX(145%);opacity:0}100%{transform:translateX(145%);opacity:0}}
@keyframes headerBrandBreathe{0%,100%{filter:drop-shadow(0 5px 14px rgba(0,0,0,.22)) drop-shadow(0 0 0 rgba(215,25,45,0))}50%{filter:drop-shadow(0 7px 18px rgba(0,0,0,.30)) drop-shadow(0 0 9px rgba(215,25,45,.13))}}

.brand-hero-section{position:relative;padding:22px 0 8px;background:transparent;overflow:visible}
.brand-stage{--brand-x:50%;--brand-y:42%;--brand-rx:0deg;--brand-ry:0deg;position:relative;isolation:isolate;min-height:318px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 24px 30px;overflow:hidden;border:1px solid rgba(255,255,255,.105);border-radius:30px;background:radial-gradient(circle at var(--brand-x) var(--brand-y),rgba(215,25,45,.16),transparent 31%),radial-gradient(circle at 50% 15%,rgba(255,255,255,.055),transparent 28%),linear-gradient(145deg,rgba(27,30,37,.78),rgba(8,9,12,.94) 64%,rgba(13,14,18,.96));box-shadow:0 34px 90px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.055),inset 0 -1px 0 rgba(215,25,45,.05);transition:border-color .35s ease,box-shadow .35s ease,background-position .2s ease}
.brand-stage::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 70% 70% at 50% 42%,#000 0,rgba(0,0,0,.72) 40%,transparent 78%);opacity:.46}
.brand-stage::after{content:"";position:absolute;left:8%;right:8%;top:0;height:1px;z-index:5;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),rgba(244,154,164,.48),rgba(255,255,255,.35),transparent);opacity:.62;pointer-events:none}
.brand-stage:hover{border-color:rgba(215,25,45,.19);box-shadow:0 38px 100px rgba(0,0,0,.39),0 0 0 1px rgba(215,25,45,.035),inset 0 1px 0 rgba(255,255,255,.065)}
.brand-stage-aura{position:absolute;z-index:-1;width:min(680px,86vw);aspect-ratio:1;left:50%;top:45%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(215,25,45,.18) 0,rgba(215,25,45,.085) 22%,rgba(126,35,48,.025) 48%,transparent 69%);filter:blur(7px);opacity:.88;animation:brandAura 6.4s ease-in-out infinite;pointer-events:none}
.brand-stage-ring{position:absolute;z-index:-1;left:50%;top:43%;border-radius:50%;border:1px solid rgba(255,255,255,.065);pointer-events:none}
.brand-stage-ring-a{width:390px;height:390px;transform:translate(-50%,-50%);box-shadow:0 0 70px rgba(215,25,45,.05),inset 0 0 50px rgba(215,25,45,.025);animation:brandRingA 10s ease-in-out infinite}
.brand-stage-ring-b{width:520px;height:520px;transform:translate(-50%,-50%);border-color:rgba(215,25,45,.07);animation:brandRingB 13s ease-in-out infinite reverse}
.brand-stage-ring-a::before,.brand-stage-ring-b::before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#f49aa4;box-shadow:0 0 14px rgba(215,25,45,.82);opacity:.48}
.brand-stage-ring-a::before{left:20%;top:8%}.brand-stage-ring-b::before{right:15%;bottom:21%}
.brand-stage-logo{position:relative;z-index:2;width:min(510px,68vw);aspect-ratio:899/367;display:grid;place-items:center;transform:perspective(1000px) rotateX(var(--brand-rx)) rotateY(var(--brand-ry));transform-style:preserve-3d;transition:transform .22s ease-out;will-change:transform}
.brand-logo-depth{position:absolute;inset:12% 5%;z-index:-1;background:rgba(215,25,45,.20);filter:blur(38px);opacity:.52;transform:translate3d(0,14px,-1px) scale(.88);border-radius:50%;animation:brandDepth 6.2s ease-in-out infinite}
.brand-stage-logo-img{position:relative;z-index:1;display:block;width:100%;height:auto;filter:drop-shadow(0 17px 34px rgba(0,0,0,.46)) drop-shadow(0 0 14px rgba(255,255,255,.025));animation:brandLogoFloat 6.2s var(--ease-premium) infinite;will-change:transform,filter}
.brand-logo-shine{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(112deg,transparent 25%,rgba(255,255,255,.06) 38%,rgba(255,255,255,.96) 49%,rgba(244,154,164,.28) 57%,transparent 72%);transform:translateX(-155%);-webkit-mask:url('/assets/tp24-logo-white.png') center/contain no-repeat;mask:url('/assets/tp24-logo-white.png') center/contain no-repeat;animation:brandLogoShine 7.8s cubic-bezier(.2,.74,.24,1) 1.1s infinite}
.brand-stage-copy{position:relative;z-index:3;margin-top:5px;text-align:center;transform:translateZ(14px)}
.brand-stage-kicker{margin:0!important;color:#f49aa4!important;font-size:9px!important;line-height:1!important;font-weight:900!important;letter-spacing:.22em!important;text-transform:uppercase!important;opacity:.9}
.brand-stage-tagline{margin:8px 0 0!important;color:#eef0f3!important;font-size:clamp(14px,2vw,17px)!important;line-height:1.35!important;font-weight:720!important;letter-spacing:-.015em!important;text-shadow:0 8px 25px rgba(0,0,0,.28)}
.brand-stage-accent{display:block;width:86px;height:2px;margin:15px auto 0;border-radius:999px;background:linear-gradient(90deg,transparent,#d7192d 24%,#ff7080 50%,#d7192d 76%,transparent);box-shadow:0 0 18px rgba(215,25,45,.34);animation:brandAccent 4.6s ease-in-out infinite}
@keyframes brandLogoFloat{0%,100%{transform:translate3d(0,0,0) scale(1);filter:drop-shadow(0 17px 34px rgba(0,0,0,.46)) drop-shadow(0 0 9px rgba(215,25,45,.04))}50%{transform:translate3d(0,-6px,0) scale(1.008);filter:drop-shadow(0 25px 40px rgba(0,0,0,.50)) drop-shadow(0 0 13px rgba(215,25,45,.12))}}
@keyframes brandLogoShine{0%,62%{transform:translateX(-155%);opacity:0}66%{opacity:.95}81%{transform:translateX(155%);opacity:0}100%{transform:translateX(155%);opacity:0}}
@keyframes brandAura{0%,100%{transform:translate(-50%,-50%) scale(.94);opacity:.62}50%{transform:translate(-50%,-50%) scale(1.06);opacity:.92}}
@keyframes brandDepth{0%,100%{opacity:.36;transform:translate3d(0,16px,-1px) scale(.84)}50%{opacity:.63;transform:translate3d(0,11px,-1px) scale(.92)}}
@keyframes brandRingA{0%,100%{transform:translate(-50%,-50%) scale(.96);opacity:.34}50%{transform:translate(-50%,-50%) scale(1.025);opacity:.68}}
@keyframes brandRingB{0%,100%{transform:translate(-50%,-50%) scale(1.015);opacity:.22}50%{transform:translate(-50%,-50%) scale(.965);opacity:.46}}
@keyframes brandAccent{0%,100%{opacity:.48;transform:scaleX(.82)}50%{opacity:1;transform:scaleX(1.08)}}

/* Stronger but still restrained launch identity. */
.app-splash{overflow:hidden;background:radial-gradient(circle at 50% 37%,rgba(215,25,45,.20),transparent 31%),radial-gradient(circle at 50% 55%,rgba(255,255,255,.035),transparent 32%),linear-gradient(180deg,#07080a,#101217)}
.app-splash::before{content:"";position:absolute;width:min(690px,130vw);aspect-ratio:1;left:50%;top:42%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.045);box-shadow:0 0 0 62px rgba(215,25,45,.018),0 0 0 126px rgba(255,255,255,.012);animation:splashOrbit 3.4s ease-in-out infinite;pointer-events:none}
.app-splash::after{content:"";position:absolute;inset:-45% -30%;background:linear-gradient(108deg,transparent 43%,rgba(255,255,255,.035) 49%,rgba(255,255,255,.12) 50%,rgba(215,25,45,.045) 52%,transparent 57%);transform:translateX(-34%);animation:splashSweep 2.7s ease-in-out 1 both;pointer-events:none}
.splash-logo{animation:splashLogoPremium 1.05s var(--ease-premium) both, splashLogoIdle 4.8s ease-in-out 1.05s infinite;filter:drop-shadow(0 18px 44px rgba(0,0,0,.45)) drop-shadow(0 0 12px rgba(215,25,45,.10))}
.splash-inner p{margin:0;color:#b8bdc6!important;font-size:9px;font-weight:850;letter-spacing:.18em;text-transform:uppercase;animation:splashCopyIn .8s ease .35s both}
@keyframes splashLogoPremium{0%{opacity:0;transform:translateY(13px) scale(.915);filter:blur(5px) drop-shadow(0 16px 40px rgba(0,0,0,.35))}65%{opacity:1;filter:blur(0) drop-shadow(0 20px 46px rgba(0,0,0,.44)) drop-shadow(0 0 16px rgba(215,25,45,.13))}100%{opacity:1;transform:none}}
@keyframes splashLogoIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes splashCopyIn{from{opacity:0;transform:translateY(5px)}to{opacity:.86;transform:none}}
@keyframes splashOrbit{50%{transform:translate(-50%,-50%) scale(1.045);opacity:.7}}
@keyframes splashSweep{from{transform:translateX(-35%);opacity:0}30%{opacity:1}to{transform:translateX(35%);opacity:0}}

.motion-lite .app-brand::before,.motion-lite .brand-stage-aura{opacity:.25;animation-duration:10s}
.motion-lite .app-brand::after,.motion-lite .brand-logo-shine{animation:none;display:none}
.motion-lite .brand-stage-ring{animation:none;opacity:.22}
.motion-lite .brand-stage-logo{transform:none!important}
.motion-lite .brand-stage-logo-img{animation:brandLogoFloatLite 9s ease-in-out infinite}
@keyframes brandLogoFloatLite{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}

@media(max-width:759px){
  .brand-hero-section{padding:14px 0 2px}
  .brand-stage{min-height:252px;padding:28px 18px 24px;border-radius:24px}
  .brand-stage-logo{width:min(430px,78vw);transform:none!important}
  .brand-stage-ring-a{width:300px;height:300px}.brand-stage-ring-b{width:410px;height:410px}
  .brand-stage-aura{width:110vw;max-width:560px}
  .brand-stage-tagline{font-size:14px!important}
  .brand-stage-accent{margin-top:13px;width:72px}
}
@media(max-width:430px){
  .brand-stage{min-height:226px;padding:24px 14px 21px}
  .brand-stage-logo{width:80vw}
  .brand-stage-ring-a{width:270px;height:270px}.brand-stage-ring-b{width:355px;height:355px}
  .brand-stage-kicker{font-size:8px!important;letter-spacing:.19em!important}
  .brand-stage-tagline{margin-top:7px!important;font-size:13px!important}
}
@media(prefers-reduced-motion:reduce){
  .app-brand::before,.app-brand::after,.app-brand img,.brand-stage-aura,.brand-stage-ring,.brand-stage-logo-img,.brand-logo-shine,.brand-logo-depth,.brand-stage-accent,.app-splash::before,.app-splash::after,.splash-logo,.splash-inner p{animation:none!important}
  .app-brand::after,.brand-logo-shine{display:none!important}
  .brand-stage-logo{transform:none!important;transition:none!important}
  .brand-stage-aura{opacity:.42}.brand-stage-accent{opacity:.75;transform:none}
}

/* =========================================================
   TP24 APP 0.6.0 — IMMERSIVE HOME / LIQUID GLASS
   ========================================================= */
body.is-start-view{background:#07080a}
body.is-start-view .app-header{display:none}
body.is-start-view .app-main{padding-top:0}
body.is-start-view .tp24-app{background:#07080a}
.tp24-app{padding-bottom:104px}

.immersive-home{position:relative;isolation:isolate;overflow:hidden;padding:0 0 28px;background:
  radial-gradient(circle at 50% 3%,rgba(215,25,45,.20),transparent 24%),
  radial-gradient(circle at 8% 20%,rgba(215,25,45,.09),transparent 26%),
  linear-gradient(180deg,#07080a 0%,#0b0d11 42%,#101114 100%)}
.immersive-home::before{content:"";position:absolute;z-index:-4;inset:0 0 auto;height:720px;background:
  radial-gradient(ellipse at 50% 14%,rgba(255,255,255,.025),transparent 45%),
  linear-gradient(115deg,transparent 20%,rgba(215,25,45,.035) 46%,transparent 70%);pointer-events:none}
.immersive-home-aura{position:absolute;z-index:-3;inset:0;overflow:hidden;pointer-events:none}
.immersive-orbit{position:absolute;left:50%;top:148px;translate:-50% -50%;border-radius:50%;border:1px solid rgba(255,255,255,.055);box-shadow:0 0 36px rgba(215,25,45,.06),inset 0 0 28px rgba(215,25,45,.025)}
.orbit-a{width:min(680px,108vw);aspect-ratio:1;border-color:rgba(215,25,45,.18);animation:immersiveOrbitA 11s ease-in-out infinite}
.orbit-b{width:min(880px,138vw);aspect-ratio:1;border-color:rgba(255,255,255,.045);animation:immersiveOrbitB 15s ease-in-out infinite reverse}
.immersive-light{position:absolute;border-radius:999px;filter:blur(52px);opacity:.22;mix-blend-mode:screen}
.light-a{width:360px;height:96px;left:-90px;top:170px;background:#d7192d;rotate:-24deg;animation:immersiveBeam 8s ease-in-out infinite}
.light-b{width:300px;height:80px;right:-100px;top:265px;background:#f14b5c;rotate:21deg;animation:immersiveBeam 10s ease-in-out infinite reverse}
.immersive-grid{position:absolute;left:-10%;right:-10%;top:275px;height:460px;opacity:.12;transform:perspective(500px) rotateX(65deg);transform-origin:50% 0;background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(215,25,45,.18) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 82%)}
@keyframes immersiveOrbitA{0%,100%{transform:scale(.96);opacity:.38}50%{transform:scale(1.035);opacity:.76}}
@keyframes immersiveOrbitB{0%,100%{transform:scale(1.02);opacity:.24}50%{transform:scale(.97);opacity:.48}}
@keyframes immersiveBeam{0%,100%{transform:translate3d(0,0,0) scale(.92);opacity:.12}50%{transform:translate3d(70px,16px,0) scale(1.08);opacity:.34}}

.immersive-shell{position:relative;padding-top:max(22px,env(safe-area-inset-top));padding-bottom:18px}
.immersive-brand{--brand-x:50%;--brand-y:42%;--brand-rx:0deg;--brand-ry:0deg;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:315px;padding:30px 18px 22px;text-align:center;perspective:900px}
.immersive-brand::before{content:"";position:absolute;width:min(620px,100%);height:210px;left:50%;top:52%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at var(--brand-x) var(--brand-y),rgba(215,25,45,.23),rgba(215,25,45,.08) 28%,transparent 68%);filter:blur(12px);opacity:.85;pointer-events:none}
.immersive-brand-logo{position:relative;width:min(560px,80vw);isolation:isolate;transform-style:preserve-3d;transform:rotateX(var(--brand-rx)) rotateY(var(--brand-ry));transition:transform .22s ease-out}
.immersive-brand-logo img{position:relative;z-index:3;display:block;width:100%;height:auto;filter:drop-shadow(0 24px 38px rgba(0,0,0,.56)) drop-shadow(0 0 13px rgba(215,25,45,.10));animation:immersiveLogoFloat 6.4s ease-in-out infinite}
.immersive-logo-shadow{position:absolute;z-index:1;inset:14% 8% 2%;background:rgba(0,0,0,.66);filter:blur(24px);transform:translateY(22px) scale(.88);border-radius:50%;animation:immersiveLogoShadow 6.4s ease-in-out infinite}
.immersive-logo-shine{position:absolute;z-index:4;inset:0;pointer-events:none;background:linear-gradient(108deg,transparent 28%,rgba(255,255,255,.06) 40%,rgba(255,255,255,.92) 49%,rgba(244,154,164,.22) 56%,transparent 70%);transform:translateX(-150%);-webkit-mask:url('/assets/tp24-logo-white.png') center/contain no-repeat;mask:url('/assets/tp24-logo-white.png') center/contain no-repeat;animation:immersiveLogoShine 7.8s cubic-bezier(.24,.7,.2,1) 1.2s infinite}
@keyframes immersiveLogoFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.008)}}
@keyframes immersiveLogoShadow{0%,100%{opacity:.46;transform:translateY(22px) scale(.88)}50%{opacity:.62;transform:translateY(28px) scale(.94)}}
@keyframes immersiveLogoShine{0%,66%{transform:translateX(-150%);opacity:0}70%{opacity:1}82%{transform:translateX(150%);opacity:0}100%{transform:translateX(150%);opacity:0}}
.immersive-tagline{position:relative;z-index:4;margin:10px 0 0;color:#eef0f3!important;font-size:15px;line-height:1.35;font-weight:720;letter-spacing:-.012em;text-shadow:0 4px 22px rgba(0,0,0,.6)}
.immersive-context{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;min-height:44px;padding:5px 8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 14px 32px rgba(0,0,0,.26);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}
.context-item{min-width:0;min-height:32px;display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#eef0f3;padding:0 8px;font-size:10px;font-weight:820;white-space:nowrap}
.context-item .ui-icon{width:15px;height:15px;color:#ff6674}.context-item strong{font-size:9px;letter-spacing:.08em;color:#fff!important}.context-item>span:last-child{max-width:145px;overflow:hidden;text-overflow:ellipsis}.context-separator{width:1px;height:18px;background:rgba(255,255,255,.14)}.live-dot{width:7px;height:7px!important;border-radius:50%;background:#ff3145;box-shadow:0 0 0 4px rgba(215,25,45,.12),0 0 12px rgba(255,49,69,.62);animation:immersiveLivePulse 1.9s ease-in-out infinite}
@keyframes immersiveLivePulse{50%{box-shadow:0 0 0 7px rgba(215,25,45,0),0 0 18px rgba(255,49,69,.8)}}

.now-card{--tilt-x:0deg;--tilt-y:0deg;--glow-x:50%;--glow-y:50%;position:relative;min-height:340px;margin-top:6px;border:1px solid rgba(255,255,255,.18);border-radius:30px;overflow:hidden;background:#15171a;box-shadow:0 26px 60px rgba(0,0,0,.38),0 0 0 1px rgba(215,25,45,.05),inset 0 1px 0 rgba(255,255,255,.10);transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .22s ease-out,border-color .25s ease,box-shadow .25s ease}
.now-card::before{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;background:radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(255,255,255,.13),transparent 26%)}
.now-card::after{content:"";position:absolute;z-index:6;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),inset 0 -70px 100px rgba(215,25,45,.08)}
.now-card-media{position:absolute;inset:0;background:#222 center/cover no-repeat}.now-card-media>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.015);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.now-card:hover .now-card-media>img{transform:scale(1.045)}
.now-card-scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(5,6,8,.94) 0%,rgba(6,7,9,.78) 42%,rgba(6,7,9,.28) 76%,rgba(6,7,9,.34) 100%),linear-gradient(0deg,rgba(6,7,9,.82),transparent 72%)}
.now-card-content{position:relative;z-index:7;min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:30px;max-width:640px}
.now-card-topline{display:flex;align-items:center;gap:10px;margin-bottom:12px}.now-live-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(255,86,101,.48);border-radius:999px;background:linear-gradient(135deg,rgba(215,25,45,.88),rgba(168,15,31,.70));box-shadow:0 8px 24px rgba(215,25,45,.26);font-size:10px;font-weight:950;letter-spacing:.08em;color:#fff}.now-live-badge span{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.9)}.now-source{color:#d8dbe0!important;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.09em}
.now-card-content h1{font-size:clamp(38px,7vw,64px);line-height:.92;text-transform:uppercase;letter-spacing:-.055em;text-shadow:0 10px 34px rgba(0,0,0,.52)}.now-card-content h1 em{font-style:normal;color:#ff4052}.now-headline{max-width:560px;margin:15px 0 0;color:#fff!important;font-size:clamp(18px,3.4vw,28px);line-height:1.14;font-weight:850;letter-spacing:-.025em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 4px 18px rgba(0,0,0,.72)}.now-lead{max-width:540px;margin:8px 0 0;color:#d9dce1!important;font-size:12px;line-height:1.48;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.now-open{display:inline-flex;align-items:center;gap:9px;margin-top:17px;min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(10,11,14,.56);color:#fff;backdrop-filter:blur(14px);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.now-open .ui-icon{width:17px;height:17px;color:#ff6674}

.immersive-tools,.immersive-latest{padding-top:30px}.immersive-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.immersive-section-head h2{font-size:24px;color:#fff!important}.immersive-more-link{display:flex;align-items:center;gap:7px;min-height:40px;border:0;background:transparent;color:#d9dce1;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.immersive-more-link .ui-icon{width:17px;height:17px;color:#ff5363}
.liquid-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.liquid-card{--card-accent:215,25,45;position:relative;isolation:isolate;min-height:138px;padding:17px;border:1px solid rgba(255,255,255,.14);border-radius:24px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.032));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 16px 40px rgba(0,0,0,.23);backdrop-filter:blur(22px) saturate(128%);-webkit-backdrop-filter:blur(22px) saturate(128%);display:grid;grid-template-columns:50px minmax(0,1fr) 28px;gap:11px;align-items:center;text-align:left;transition:transform .2s ease,border-color .25s ease,box-shadow .25s ease}
.liquid-card::before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 0 100%,rgba(var(--card-accent),.22),transparent 45%),linear-gradient(145deg,transparent 52%,rgba(var(--card-accent),.07));opacity:.86}.liquid-card::after{content:"";position:absolute;z-index:-1;left:10%;right:10%;bottom:-14px;height:30px;background:rgba(var(--card-accent),.22);filter:blur(22px);opacity:.7}.liquid-card:active{transform:scale(.965);border-color:rgba(var(--card-accent),.58)}
.liquid-germany{--card-accent:64,126,255}.liquid-salary{--card-accent:255,156,37}.liquid-scan{--card-accent:38,203,132}.liquid-calendar{--card-accent:233,54,70}.liquid-map{--card-accent:112,90,255}
.liquid-icon{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:17px;background:linear-gradient(145deg,rgba(var(--card-accent),.92),rgba(var(--card-accent),.35));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 24px rgba(var(--card-accent),.20)}.liquid-icon .ui-icon{width:24px;height:24px;color:#fff;stroke-width:2}.liquid-copy{min-width:0}.liquid-copy strong{display:block;color:#fff!important;font-size:17px;line-height:1.05;font-weight:880;letter-spacing:-.02em}.liquid-copy small{display:block;margin-top:6px;color:#c9cdd4!important;font-size:11px;line-height:1.3;font-weight:600}.liquid-arrow{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.045)}.liquid-arrow .ui-icon{width:15px;height:15px;color:#fff}

.immersive-news-carousel{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(280px,32%);gap:12px;margin:0;padding:0 0 7px;border:0!important;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none}.immersive-news-carousel::-webkit-scrollbar{display:none}.immersive-news-carousel .home-news-card{scroll-snap-align:start;display:block!important;min-height:270px;padding:0!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:22px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 14px 34px rgba(0,0,0,.20);cursor:pointer}.immersive-news-carousel .home-news-image{width:100%;height:150px;aspect-ratio:auto;border:0;border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden}.immersive-news-carousel .home-news-image img{transition:transform .6s ease}.immersive-news-carousel .home-news-card:hover .home-news-image img{transform:scale(1.04)}.immersive-news-carousel .home-news-copy{padding:14px 15px 15px}.immersive-news-carousel .home-news-copy .eyebrow{margin-bottom:7px}.immersive-news-carousel .home-news-copy h3{font-size:15px;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.immersive-news-carousel .home-news-copy .excerpt{display:none}.immersive-news-carousel .meta-line{margin-top:10px}.immersive-news-carousel .skeleton-row{width:300px;min-height:260px;border:1px solid rgba(255,255,255,.08);border-radius:22px}

.more-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.more-hub-grid button{min-height:96px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.022));color:#fff;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.more-hub-grid button>.ui-icon{width:24px;height:24px;color:#ff6574}.more-hub-grid strong{display:block;color:#fff!important;font-size:14px}.more-hub-grid small{display:block;margin-top:4px;color:#bfc3ca!important;font-size:11px;line-height:1.35}

/* Floating liquid glass dock */
.bottom-nav.glass-dock{left:50%;right:auto;bottom:max(8px,env(safe-area-inset-bottom));width:min(700px,calc(100% - 16px));min-height:76px;grid-template-columns:1fr 1fr 1.12fr 1fr 1fr;transform:translateX(-50%);padding:6px 8px;border:1px solid rgba(255,255,255,.15);border-radius:29px;background:linear-gradient(145deg,rgba(31,33,39,.78),rgba(9,10,13,.82));box-shadow:0 24px 64px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(215,25,45,.025);backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);overflow:visible}
.glass-dock .nav-item{min-height:62px;border-radius:18px}.glass-dock .nav-item::before{inset:5px;border-radius:15px}.glass-dock .nav-item.is-active::before{background:radial-gradient(circle at 50% 86%,rgba(215,25,45,.23),rgba(215,25,45,.05) 58%,transparent 76%);border-color:rgba(255,75,92,.20)}.glass-dock .nav-item.is-active .nav-icon{color:#ff4f61;filter:drop-shadow(0 0 11px rgba(255,49,69,.58))}.glass-dock .nav-item span{font-size:9px;font-weight:850}.nav-brand-hub{align-self:center;position:relative!important;width:70px;height:70px;min-height:70px!important;justify-self:center;transform:translateY(-18px)!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:50%!important;background:radial-gradient(circle at 38% 28%,rgba(255,255,255,.18),rgba(215,25,45,.18) 38%,rgba(9,10,13,.92) 72%)!important;box-shadow:0 14px 34px rgba(0,0,0,.55),0 0 0 5px rgba(215,25,45,.08),0 0 28px rgba(215,25,45,.28),inset 0 1px 0 rgba(255,255,255,.20)!important;overflow:visible}.nav-brand-hub::before{display:none!important}.nav-brand-hub img{position:relative;z-index:3;display:block;width:50px;height:auto;max-height:45px;object-fit:contain;filter:drop-shadow(0 3px 9px rgba(0,0,0,.62))}.nav-brand-orbit{position:absolute!important;z-index:1;inset:-6px;border:1px solid rgba(255,67,84,.38);border-radius:50%;box-shadow:0 0 18px rgba(215,25,45,.24);animation:navBrandOrbit 3.2s ease-in-out infinite}.nav-brand-hub.is-active{box-shadow:0 14px 36px rgba(0,0,0,.56),0 0 0 5px rgba(215,25,45,.12),0 0 36px rgba(255,44,64,.40),inset 0 1px 0 rgba(255,255,255,.24)!important}.nav-brand-hub:active{transform:translateY(-18px) scale(.94)!important}@keyframes navBrandOrbit{50%{transform:scale(1.08);opacity:.45}}

/* Refined splash for 0.6.0 */
.app-splash{background:radial-gradient(circle at 50% 38%,rgba(215,25,45,.25),transparent 27%),linear-gradient(180deg,#030405,#0b0c10)}
.app-splash .splash-inner{position:relative}.app-splash .splash-inner::after{content:"";position:absolute;left:50%;top:48%;width:min(620px,130vw);height:2px;transform:translate(-50%,-50%) rotate(-8deg);background:linear-gradient(90deg,transparent,rgba(255,45,65,.65),rgba(255,255,255,.92),rgba(255,45,65,.65),transparent);filter:blur(.5px);opacity:0;animation:splashLaser 1.1s ease .25s both}@keyframes splashLaser{0%{opacity:0;transform:translate(-75%,-50%) rotate(-8deg) scaleX(.3)}45%{opacity:1}100%{opacity:0;transform:translate(-25%,-50%) rotate(-8deg) scaleX(1.2)}}

.motion-lite .immersive-orbit,.motion-lite .immersive-light,.motion-lite .immersive-logo-shine,.motion-lite .nav-brand-orbit{animation:none!important}.motion-lite .immersive-light{opacity:.09}.motion-lite .immersive-brand-logo img{animation:immersiveLogoFloatLite 10s ease-in-out infinite}@keyframes immersiveLogoFloatLite{50%{transform:translateY(-2px)}}

@media(min-width:900px){.immersive-brand{min-height:355px}.now-card{min-height:390px}.now-card-content{min-height:390px}.liquid-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.immersive-news-carousel{grid-auto-columns:minmax(300px,31%)}}
@media(max-width:759px){
  .immersive-shell{width:min(100% - 20px,var(--content));padding-top:max(14px,env(safe-area-inset-top))}
  .immersive-brand{min-height:275px;padding:22px 8px 16px}.immersive-brand-logo{width:min(510px,87vw)}.immersive-tagline{margin-top:6px;font-size:13px}.immersive-context{margin-top:14px;gap:5px;padding:4px 6px}.context-item{padding:0 6px;font-size:9px}.context-item strong{font-size:8px}.context-item>span:last-child{max-width:105px}
  .now-card{min-height:315px;border-radius:25px}.now-card-content{min-height:315px;padding:22px}.now-card-scrim{background:linear-gradient(0deg,rgba(5,6,8,.94) 0%,rgba(6,7,9,.78) 46%,rgba(6,7,9,.18) 92%),linear-gradient(90deg,rgba(5,6,8,.38),rgba(5,6,8,.08))}.now-card-content h1{font-size:42px}.now-headline{font-size:18px;max-width:92%}.now-lead{font-size:11px;max-width:90%}
  .immersive-tools,.immersive-latest{padding-top:24px}.immersive-section-head h2{font-size:21px}.liquid-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.liquid-card{min-height:124px;padding:13px;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;gap:8px 10px}.liquid-icon{width:44px;height:44px;border-radius:15px}.liquid-copy strong{font-size:15px}.liquid-copy small{font-size:10px}.liquid-arrow{position:absolute;right:12px;top:12px;width:25px;height:25px}.liquid-copy{grid-column:1/-1}.immersive-news-carousel{grid-auto-columns:78vw}.immersive-news-carousel .home-news-image{height:142px}
  .more-hub-grid{grid-template-columns:1fr}.bottom-nav.glass-dock{width:calc(100% - 12px);min-height:70px;padding:5px 5px;border-radius:25px}.glass-dock .nav-item{min-height:58px}.nav-brand-hub{width:64px;height:64px;min-height:64px!important;transform:translateY(-15px)!important}.nav-brand-hub:active{transform:translateY(-15px) scale(.94)!important}.nav-brand-hub img{width:45px;max-height:40px}.glass-dock .nav-item span{font-size:8px}
}
@media(max-width:420px){.immersive-brand{min-height:255px}.immersive-brand-logo{width:88vw}.immersive-tagline{font-size:12px}.context-live strong{display:none}.context-separator{height:15px}.now-card{min-height:294px}.now-card-content{min-height:294px;padding:19px}.now-card-content h1{font-size:36px}.now-headline{font-size:16px}.liquid-card{min-height:116px;padding:12px}.immersive-news-carousel{grid-auto-columns:84vw}}
@media(prefers-reduced-motion:reduce){.immersive-orbit,.immersive-light,.immersive-brand-logo img,.immersive-logo-shadow,.immersive-logo-shine,.live-dot,.nav-brand-orbit,.app-splash .splash-inner::after{animation:none!important}.immersive-brand-logo,.now-card{transform:none!important;transition:none!important}.immersive-light{opacity:.08}.immersive-logo-shine{display:none}.nav-brand-orbit{opacity:.5}}

/* =========================================================
   TP24 APP 0.6.1 — STUDIO UI
   Professional editorial refinement of Immersive Home
   ========================================================= */
:root{
  --studio-bg:#0b0c0e;
  --studio-panel:#121417;
  --studio-panel-2:#17191d;
  --studio-border:rgba(255,255,255,.085);
  --studio-border-strong:rgba(255,255,255,.13);
  --studio-text:#f2efe8;
  --studio-muted:#a9adb4;
  --studio-red:#d7192d;
  --studio-red-soft:rgba(215,25,45,.12);
}
body.is-start-view,
body.is-start-view .tp24-app{background:var(--studio-bg)}
.immersive-home{
  background:
    radial-gradient(ellipse at 50% -8%,rgba(215,25,45,.09),transparent 34%),
    linear-gradient(180deg,#090a0c 0%,#0d0f12 48%,#101216 100%);
}
.immersive-home::before{
  height:560px;
  background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 72%);
}
.immersive-home-aura{opacity:1}
.immersive-orbit,.immersive-light,.immersive-grid{display:none!important}

.immersive-shell{padding-top:max(18px,env(safe-area-inset-top));}
.immersive-brand{
  min-height:250px;
  padding:26px 18px 16px;
  perspective:none;
}
.immersive-brand::before{
  width:min(560px,96%);
  height:180px;
  top:49%;
  background:radial-gradient(ellipse at 50% 50%,rgba(215,25,45,.075),transparent 68%);
  filter:blur(20px);
  opacity:1;
}
.immersive-brand-logo{
  width:min(455px,72vw);
  transform:none!important;
  transform-style:flat;
  transition:none;
}
.immersive-brand-logo img{
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.42));
  animation:studioLogoSettle .72s cubic-bezier(.22,.75,.2,1) both;
}
.immersive-logo-shadow{
  inset:28% 11% 0;
  background:rgba(0,0,0,.42);
  filter:blur(28px);
  transform:translateY(15px) scale(.84);
  animation:none;
  opacity:.62;
}
.immersive-logo-shine{
  opacity:.34;
  background:linear-gradient(108deg,transparent 36%,rgba(255,255,255,.52) 49%,transparent 62%);
  animation:studioLogoShine 12s cubic-bezier(.22,.75,.2,1) 2.4s infinite;
}
@keyframes studioLogoSettle{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes studioLogoShine{0%,78%{transform:translateX(-155%);opacity:0}82%{opacity:.32}90%{transform:translateX(155%);opacity:0}100%{transform:translateX(155%);opacity:0}}
.immersive-tagline{
  margin-top:10px;
  color:#bfc3ca!important;
  font-size:13px;
  font-weight:580;
  letter-spacing:.005em;
  text-shadow:none;
}
.immersive-context{
  margin-top:16px;
  min-height:40px;
  padding:4px 6px;
  gap:7px;
  border-color:var(--studio-border);
  border-radius:14px;
  background:rgba(20,22,26,.68);
  box-shadow:0 10px 26px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(16px) saturate(108%);
  -webkit-backdrop-filter:blur(16px) saturate(108%);
}
.context-item{min-height:30px;padding:0 7px;color:#dadddf;font-size:9px;font-weight:700;letter-spacing:.01em}
.context-item .ui-icon{color:#d8dadd;width:14px;height:14px}
.context-item strong{font-size:8px;letter-spacing:.08em;color:#cfd2d7!important}
.context-separator{height:14px;background:rgba(255,255,255,.1)}
.live-dot{width:6px;height:6px!important;background:var(--studio-red);box-shadow:none;animation:none}

.now-card{
  min-height:330px;
  margin-top:12px;
  border:1px solid var(--studio-border-strong);
  border-radius:22px;
  background:#15171a;
  box-shadow:0 18px 48px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04);
  transform:none!important;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.now-card::before{display:none}
.now-card::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)}
.now-card-media>img{transform:scale(1.001);transition:transform .5s cubic-bezier(.22,.75,.2,1)}
.now-card:hover .now-card-media>img{transform:scale(1.018)}
.now-card-scrim{
  background:
    linear-gradient(90deg,rgba(8,9,11,.94) 0%,rgba(8,9,11,.74) 42%,rgba(8,9,11,.24) 78%),
    linear-gradient(0deg,rgba(8,9,11,.68),transparent 62%);
}
.now-card-content{min-height:330px;padding:28px}
.now-card-topline{margin-bottom:11px}
.now-live-badge{
  padding:6px 9px;
  gap:6px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:rgba(12,13,15,.72);
  box-shadow:none;
  font-size:8px;
  letter-spacing:.1em;
  color:#e9ebee;
}
.now-live-badge span{width:6px;height:6px;background:var(--studio-red);box-shadow:none}
.now-source{color:#aeb2b9!important;font-size:8px;letter-spacing:.08em}
.now-card-content h1{
  font-size:clamp(36px,6vw,56px);
  line-height:.96;
  text-transform:none;
  letter-spacing:-.045em;
  text-shadow:none;
  font-weight:820;
}
.now-card-content h1 em{color:#fff;font-style:normal;font-weight:820}
.now-headline{
  margin-top:14px;
  font-size:clamp(17px,3vw,24px);
  line-height:1.18;
  font-weight:760;
  letter-spacing:-.02em;
  text-shadow:none;
}
.now-lead{margin-top:8px;color:#b8bcc3!important;font-size:11px;font-weight:520}
.now-open{
  margin-top:18px;
  min-height:40px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:rgba(16,18,21,.8);
  backdrop-filter:blur(10px);
  font-size:9px;
  letter-spacing:.06em;
  box-shadow:none;
}
.now-open .ui-icon{color:#e6e8eb}

.immersive-tools,.immersive-latest{padding-top:34px}
.immersive-section-head{margin-bottom:15px;align-items:center}
.immersive-section-head .eyebrow{color:#8f949c!important;font-size:8px;letter-spacing:.11em}
.immersive-section-head h2{font-size:23px;letter-spacing:-.025em;font-weight:760}
.immersive-more-link{color:#aeb2b9;font-size:8px;letter-spacing:.07em}
.immersive-more-link .ui-icon{color:#aeb2b9}

.liquid-grid{gap:10px}
.liquid-card,
.liquid-germany,.liquid-salary,.liquid-scan,.liquid-calendar,.liquid-map{--card-accent:215,25,45}
.liquid-card{
  min-height:126px;
  padding:16px;
  border:1px solid var(--studio-border);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.038),rgba(255,255,255,.018));
  box-shadow:0 10px 28px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(14px) saturate(104%);
  -webkit-backdrop-filter:blur(14px) saturate(104%);
  grid-template-columns:42px minmax(0,1fr) 24px;
  gap:12px;
  transition:background .18s ease,border-color .18s ease,transform .12s ease;
}
.liquid-card::before{background:linear-gradient(90deg,var(--studio-red-soft),transparent 26%);opacity:.24}
.liquid-card::after{display:none}
.liquid-card:active{transform:scale(.985);border-color:rgba(255,255,255,.16)}
.liquid-icon{
  width:42px;height:42px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:#181a1e;
  box-shadow:none;
}
.liquid-icon .ui-icon{width:20px;height:20px;color:#f1f2f4;stroke-width:1.8}
.liquid-card:first-child .liquid-icon{background:#1b1518;border-color:rgba(215,25,45,.22)}
.liquid-card:first-child .liquid-icon .ui-icon{color:#f04a5a}
.liquid-copy strong{font-size:15px;font-weight:740;letter-spacing:-.015em}
.liquid-copy small{margin-top:4px;color:#969ba3!important;font-size:10px;font-weight:520}
.liquid-arrow{width:24px;height:24px;border:0;background:transparent}
.liquid-arrow .ui-icon{width:14px;height:14px;color:#8c9199}

.immersive-news-carousel{gap:10px}
.immersive-news-carousel .home-news-card{
  min-height:258px;
  border:1px solid var(--studio-border)!important;
  border-radius:18px;
  background:#121417;
  box-shadow:0 10px 26px rgba(0,0,0,.15);
}
.immersive-news-carousel .home-news-image{height:148px;border-bottom:0}
.immersive-news-carousel .home-news-copy{padding:13px 14px 14px}
.immersive-news-carousel .home-news-copy h3{font-size:14px;font-weight:710;line-height:1.3}
.immersive-news-carousel .home-news-card:hover .home-news-image img{transform:scale(1.015)}

.bottom-nav.glass-dock{
  bottom:max(9px,env(safe-area-inset-bottom));
  width:min(680px,calc(100% - 18px));
  min-height:70px;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.095);
  border-radius:22px;
  background:rgba(17,19,22,.86);
  box-shadow:0 16px 44px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(20px) saturate(112%);
  -webkit-backdrop-filter:blur(20px) saturate(112%);
}
.glass-dock .nav-item{min-height:58px;border-radius:14px}
.glass-dock .nav-item::before{inset:4px;border-radius:12px}
.glass-dock .nav-item.is-active::before{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.055)}
.glass-dock .nav-item.is-active .nav-icon{color:#f5f5f6;filter:none}
.glass-dock .nav-item.is-active span{color:#fff}
.glass-dock .nav-item span{font-size:8px;font-weight:720;color:#8f949c}
.nav-brand-hub{
  width:54px;height:54px;min-height:54px!important;
  transform:translateY(-8px)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:16px!important;
  background:#17191d!important;
  box-shadow:0 9px 22px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.nav-brand-hub img{width:38px;max-height:32px;filter:none}
.nav-brand-orbit{display:none!important}
.nav-brand-hub.is-active{border-color:rgba(215,25,45,.34)!important;box-shadow:0 9px 22px rgba(0,0,0,.34),inset 3px 0 0 rgba(215,25,45,.8)!important}
.nav-brand-hub:active{transform:translateY(-8px) scale(.97)!important}

.app-splash{background:#0b0c0e}
.app-splash .splash-inner::before,.app-splash .splash-inner::after{display:none!important}
.splash-logo{width:min(72vw,300px);filter:drop-shadow(0 14px 30px rgba(0,0,0,.36));animation:studioSplash .7s cubic-bezier(.22,.75,.2,1) both!important}
.splash-loader{width:min(180px,54vw);height:2px;background:#24272c}
.splash-loader span{background:var(--studio-red);box-shadow:none;animation:tp24splash 1.05s ease-in-out infinite}
.splash-inner p{color:#777c84;font-size:8px;letter-spacing:.14em;font-weight:720}
@keyframes studioSplash{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

@media(max-width:759px){
  .immersive-shell{width:min(100% - 24px,var(--content));padding-top:max(12px,env(safe-area-inset-top))}
  .immersive-brand{min-height:220px;padding:20px 8px 12px}
  .immersive-brand-logo{width:min(420px,78vw)}
  .immersive-tagline{font-size:11px;max-width:290px;line-height:1.45}
  .immersive-context{margin-top:13px;border-radius:12px}
  .now-card{min-height:278px;border-radius:20px}
  .now-card-content{min-height:278px;padding:20px}
  .now-card-scrim{background:linear-gradient(0deg,rgba(8,9,11,.94) 0%,rgba(8,9,11,.70) 50%,rgba(8,9,11,.14) 100%)}
  .now-card-content h1{font-size:34px}
  .now-headline{font-size:16px;max-width:94%}
  .now-lead{font-size:10px;max-width:92%}
  .immersive-tools,.immersive-latest{padding-top:28px}
  .immersive-section-head h2{font-size:20px}
  .liquid-grid{gap:8px}
  .liquid-card{min-height:112px;padding:13px;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;gap:8px 10px;border-radius:16px}
  .liquid-icon{width:38px;height:38px;border-radius:11px}
  .liquid-icon .ui-icon{width:18px;height:18px}
  .liquid-copy strong{font-size:14px}
  .liquid-copy small{font-size:9px}
  .liquid-arrow{position:absolute;right:11px;top:11px}
  .liquid-copy{grid-column:1/-1}
  .immersive-news-carousel{grid-auto-columns:80vw}
  .bottom-nav.glass-dock{width:calc(100% - 16px);min-height:66px;border-radius:20px}
  .glass-dock .nav-item{min-height:54px}
  .nav-brand-hub{width:50px;height:50px;min-height:50px!important;transform:translateY(-6px)!important;border-radius:15px!important}
  .nav-brand-hub:active{transform:translateY(-6px) scale(.97)!important}
  .nav-brand-hub img{width:34px;max-height:29px}
}
@media(max-width:420px){
  .immersive-brand{min-height:206px}
  .immersive-brand-logo{width:80vw}
  .now-card{min-height:264px}
  .now-card-content{min-height:264px;padding:18px}
  .now-card-content h1{font-size:32px}
  .immersive-news-carousel{grid-auto-columns:85vw}
}
@media(prefers-reduced-motion:reduce){
  .immersive-brand-logo img,.immersive-logo-shine,.splash-logo{animation:none!important}
}

/* ==========================================================
   TP24 APP 0.6.2 — STUDIO PHOTO CARDS
   Editorial photographic backgrounds for Home tool cards.
   ========================================================== */
body.is-start-view .liquid-card{
  --tool-photo:none;
  --tool-photo-pos:center center;
  background:#121417;
  border-color:rgba(255,255,255,.10);
  box-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.045);
  isolation:isolate;
}
body.is-start-view .liquid-news{
  --tool-photo-src:url("https://images.pexels.com/photos/19610169/pexels-photo-19610169.jpeg?auto=compress&cs=tinysrgb&w=720");
  --tool-photo-pos:center 56%;
}
body.is-start-view .liquid-germany{
  --tool-photo-src:url("https://images.pexels.com/photos/34033001/pexels-photo-34033001.jpeg?auto=compress&cs=tinysrgb&w=720");
  --tool-photo-pos:center 55%;
}
body.is-start-view .liquid-salary{
  --tool-photo-src:url("https://images.pexels.com/photos/8927687/pexels-photo-8927687.jpeg?auto=compress&cs=tinysrgb&w=720");
  --tool-photo-pos:center 46%;
}
body.is-start-view .liquid-scan{
  --tool-photo-src:url("https://images.pexels.com/photos/5313170/pexels-photo-5313170.jpeg?auto=compress&cs=tinysrgb&w=720");
  --tool-photo-pos:center 48%;
}
body.is-start-view .liquid-calendar{
  --tool-photo-src:url("https://images.pexels.com/photos/33118985/pexels-photo-33118985.jpeg?auto=compress&cs=tinysrgb&w=720");
  --tool-photo-pos:center 49%;
}
body.is-start-view .liquid-map{
  --tool-photo-src:url("https://images.pexels.com/photos/12936138/pexels-photo-12936138.jpeg?auto=compress&cs=tinysrgb&w=720");
  --tool-photo-pos:center 52%;
}
body.is-start-view .liquid-card.bg-ready{--tool-photo:var(--tool-photo-src)}
body.is-start-view .liquid-card::before{
  display:block!important;
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  opacity:1;
  background-image:var(--tool-photo);
  background-size:cover;
  background-position:var(--tool-photo-pos);
  background-repeat:no-repeat;
  filter:saturate(.72) contrast(1.04) brightness(.76);
  transform:scale(1.018);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .28s ease;
}
body.is-start-view .liquid-card::after{
  display:block!important;
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  height:auto;
  left:0;
  right:0;
  bottom:0;
  filter:none;
  opacity:1;
  background:
    linear-gradient(90deg,rgba(8,10,13,.94) 0%,rgba(8,10,13,.80) 44%,rgba(8,10,13,.54) 75%,rgba(8,10,13,.48) 100%),
    linear-gradient(180deg,rgba(7,9,12,.14) 0%,rgba(7,9,12,.30) 52%,rgba(7,9,12,.62) 100%),
    radial-gradient(circle at 0 100%,rgba(215,25,45,.17),transparent 47%);
  pointer-events:none;
}
body.is-start-view .liquid-card:hover::before{transform:scale(1.04);filter:saturate(.78) contrast(1.05) brightness(.80)}
body.is-start-view .liquid-card:active::before{transform:scale(1.025)}
body.is-start-view .liquid-card .liquid-icon{
  background:rgba(14,16,20,.70)!important;
  border-color:rgba(255,255,255,.13)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.055)!important;
  -webkit-backdrop-filter:blur(10px) saturate(110%);
  backdrop-filter:blur(10px) saturate(110%);
}
body.is-start-view .liquid-card .liquid-icon .ui-icon{color:#f3f3f4!important;filter:none}
body.is-start-view .liquid-news .liquid-icon{border-color:rgba(215,25,45,.32)!important;background:rgba(36,16,20,.74)!important}
body.is-start-view .liquid-news .liquid-icon .ui-icon{color:#f05261!important}
body.is-start-view .liquid-card .liquid-copy strong{
  color:#fff!important;
  text-shadow:0 2px 13px rgba(0,0,0,.72);
}
body.is-start-view .liquid-card .liquid-copy small{
  color:rgba(241,242,244,.73)!important;
  text-shadow:0 2px 10px rgba(0,0,0,.76);
}
body.is-start-view .liquid-card .liquid-arrow{
  background:rgba(10,12,15,.40);
  border:1px solid rgba(255,255,255,.11);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
body.is-start-view .liquid-card .liquid-arrow .ui-icon{color:rgba(255,255,255,.82)}
@media(max-width:640px){
  body.is-start-view .liquid-card::after{
    background:
      linear-gradient(90deg,rgba(8,10,13,.96) 0%,rgba(8,10,13,.83) 55%,rgba(8,10,13,.58) 100%),
      linear-gradient(180deg,rgba(7,9,12,.18),rgba(7,9,12,.58)),
      radial-gradient(circle at 0 100%,rgba(215,25,45,.16),transparent 50%);
  }
}
@media(prefers-reduced-motion:reduce){
  body.is-start-view .liquid-card::before{transition:none!important;transform:none!important}
  body.is-start-view .liquid-card:hover::before{transform:none!important}
}

/* TP24 0.6.3 — compact brand mark fix */
.nav-brand-hub{
  width:56px!important;
  height:56px!important;
  min-height:56px!important;
  transform:translateY(-8px)!important;
  border-radius:17px!important;
  padding:6px!important;
  background:linear-gradient(180deg,rgba(24,26,31,.96),rgba(12,13,16,.98))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 9px 24px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.05)!important;
  overflow:hidden!important;
}
.nav-brand-hub img{
  width:46px!important;
  height:40px!important;
  max-width:46px!important;
  max-height:40px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
}
.nav-brand-hub.is-active{
  border-color:rgba(215,25,45,.38)!important;
  box-shadow:0 9px 24px rgba(0,0,0,.38),inset 0 -2px 0 rgba(215,25,45,.82)!important;
}
.nav-brand-hub:active{transform:translateY(-8px) scale(.97)!important}
@media(max-width:560px){
  .nav-brand-hub{width:54px!important;height:54px!important;min-height:54px!important;transform:translateY(-7px)!important;padding:5px!important}
  .nav-brand-hub img{width:44px!important;height:38px!important;max-width:44px!important;max-height:38px!important}
  .nav-brand-hub:active{transform:translateY(-7px) scale(.97)!important}
}


/* ==========================================================================\n   TP24 APP 0.6.4 — Editorial Home Sections\n   Rich photographic backgrounds for Events / Directory / Sport\n   ========================================================================== */
body.is-start-view .events-preview,
body.is-start-view .directory-preview,
body.is-start-view .sport-preview{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
body.is-start-view .events-preview::before,
body.is-start-view .directory-preview::before,
body.is-start-view .sport-preview::before{
  content:"";
  position:absolute;
  inset:10px max(12px,calc((100vw - var(--content))/2)) 10px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:26px;
  background-color:#101216;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  box-shadow:0 22px 60px rgba(0,0,0,.28);
  pointer-events:none;
  z-index:0;
}
body.is-start-view .events-preview{--editorial-photo-src:url("https://images.pexels.com/photos/29309182/pexels-photo-29309182.jpeg?auto=compress&cs=tinysrgb&w=1100");--editorial-photo:none}
body.is-start-view .events-preview.bg-ready{--editorial-photo:var(--editorial-photo-src)}
body.is-start-view .events-preview::before{
  background-image:
    linear-gradient(90deg,rgba(9,11,15,.94) 0%,rgba(9,11,15,.86) 45%,rgba(9,11,15,.64) 100%),
    linear-gradient(180deg,rgba(8,10,13,.18),rgba(8,10,13,.58)),
    var(--editorial-photo);
  background-position:center 44%;
}
body.is-start-view .directory-preview{--editorial-photo-src:url("https://images.pexels.com/photos/12936138/pexels-photo-12936138.jpeg?auto=compress&cs=tinysrgb&w=1100");--editorial-photo:none}
body.is-start-view .directory-preview.bg-ready{--editorial-photo:var(--editorial-photo-src)}
body.is-start-view .directory-preview::before{
  background-image:
    linear-gradient(90deg,rgba(8,10,13,.96) 0%,rgba(8,10,13,.84) 48%,rgba(8,10,13,.60) 100%),
    linear-gradient(180deg,rgba(8,10,13,.10),rgba(8,10,13,.64)),
    var(--editorial-photo);
  background-position:center 48%;
}
body.is-start-view .sport-preview{--editorial-photo-src:url("https://images.pexels.com/photos/28827841/pexels-photo-28827841.jpeg?auto=compress&cs=tinysrgb&w=1100");--editorial-photo:none}
body.is-start-view .sport-preview.bg-ready{--editorial-photo:var(--editorial-photo-src)}
body.is-start-view .sport-preview::before{
  background-image:
    linear-gradient(90deg,rgba(8,10,13,.96) 0%,rgba(8,10,13,.84) 46%,rgba(8,10,13,.58) 100%),
    linear-gradient(180deg,rgba(8,10,13,.10),rgba(8,10,13,.64)),
    var(--editorial-photo);
  background-position:center 40%;
}
body.is-start-view .events-preview::after,
body.is-start-view .directory-preview::after,
body.is-start-view .sport-preview::after{
  content:"";
  position:absolute;
  inset:10px max(12px,calc((100vw - var(--content))/2)) 10px;
  border-radius:26px;
  background:
    radial-gradient(circle at 93% 12%,rgba(215,25,45,.14),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 34%);
  pointer-events:none;
  z-index:0;
}
body.is-start-view .events-preview>.section-shell,
body.is-start-view .directory-preview>.section-shell,
body.is-start-view .sport-preview>.section-shell{
  position:relative;
  z-index:1;
  padding:10px 0 8px;
}
body.is-start-view .events-preview .section-head,
body.is-start-view .directory-preview .section-head,
body.is-start-view .sport-preview .section-head{
  margin-bottom:18px;
}
body.is-start-view .events-preview .section-icon,
body.is-start-view .sport-preview .section-icon{
  width:40px;
  height:40px;
  padding:9px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  background:rgba(11,13,17,.48);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  color:#f18491;
}
body.is-start-view .directory-preview .live-badge{
  padding:8px 11px;
  border:1px solid rgba(61,220,132,.24);
  border-radius:999px;
  background:rgba(9,28,20,.46);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
body.is-start-view .events-preview .event-preview,
body.is-start-view .directory-preview .entity-preview,
body.is-start-view .sport-preview .entity-preview{
  border-top-color:rgba(255,255,255,.11);
}
body.is-start-view .directory-preview .entity-mini,
body.is-start-view .sport-preview .entity-mini{
  margin:0 -2px;
  padding:12px 10px;
  border-bottom-color:rgba(255,255,255,.10);
  border-radius:12px;
  background:linear-gradient(90deg,rgba(12,14,18,.62),rgba(12,14,18,.26));
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
body.is-start-view .directory-preview .entity-mini + .entity-mini,
body.is-start-view .sport-preview .entity-mini + .entity-mini{margin-top:4px}
body.is-start-view .directory-preview .entity-avatar,
body.is-start-view .sport-preview .entity-avatar{
  background:rgba(255,255,255,.91);
  border-color:rgba(255,255,255,.14);
  border-radius:10px;
}
body.is-start-view .events-preview .empty-state,
body.is-start-view .sport-preview .empty-state,
body.is-start-view .directory-preview .empty-state{
  min-height:82px;
  margin:0;
  padding:20px 18px;
  display:flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(10,12,16,.52);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  color:rgba(255,255,255,.70)!important;
}
body.is-start-view .events-preview .secondary-light-btn,
body.is-start-view .sport-preview .secondary-light-btn{
  border-color:rgba(255,255,255,.20);
  background:rgba(10,12,16,.48);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
body.is-start-view .directory-preview .primary-btn{
  background:linear-gradient(135deg,#df1c31,#bd1225);
  box-shadow:0 12px 28px rgba(215,25,45,.20);
}
body.is-start-view .events-preview .section-copy,
body.is-start-view .directory-preview .section-copy,
body.is-start-view .sport-preview .section-copy{
  max-width:720px;
  color:rgba(255,255,255,.72)!important;
}
@media(max-width:600px){
  body.is-start-view .events-preview::before,
  body.is-start-view .directory-preview::before,
  body.is-start-view .sport-preview::before,
  body.is-start-view .events-preview::after,
  body.is-start-view .directory-preview::after,
  body.is-start-view .sport-preview::after{
    inset:8px 8px;
    border-radius:22px;
  }
  body.is-start-view .events-preview::before,
  body.is-start-view .directory-preview::before,
  body.is-start-view .sport-preview::before{
    background-position:center;
  }
  body.is-start-view .events-preview>.section-shell,
  body.is-start-view .directory-preview>.section-shell,
  body.is-start-view .sport-preview>.section-shell{
    width:calc(100% - 32px);
    padding-top:8px;
  }
}
@media(prefers-reduced-motion:reduce){
  body.is-start-view .events-preview::before,
  body.is-start-view .directory-preview::before,
  body.is-start-view .sport-preview::before{transform:none!important}
}


/* ==========================================================================
   TP24 APP 0.6.5 — PERFORMANCE PASS
   Płynność na telefonach bez cofania Studio UI.
   ========================================================================== */
.events-preview,.directory-preview,.sport-preview,.immersive-latest{
  content-visibility:auto;
  contain-intrinsic-size:1px 520px;
}
.liquid-card,.now-card,.home-news-card,.entity-mini,.event-card{contain:paint}

/* Płynniejsze przejścia ekranów i list. */
.view.view-enter{animation:tp24PerfView .20s ease-out both}
@keyframes tp24PerfView{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
.reveal-ready{transform:translateY(8px);transition-duration:.24s}
.immersive-logo-shine{animation:studioLogoShineOnce 1.05s cubic-bezier(.22,.75,.2,1) 1.15s 1 both}
@keyframes studioLogoShineOnce{0%{transform:translateX(-155%);opacity:0}28%{opacity:.25}100%{transform:translateX(155%);opacity:0}}

@media(max-width:900px){
  /* Fixed/scrolling blur layers are the main source of GPU jank in mobile PWA. */
  .ambient-scene{display:none!important}
  .app-header,
  .immersive-context,
  .now-open,
  .liquid-card,
  body.is-start-view .liquid-card .liquid-icon,
  body.is-start-view .liquid-card .liquid-arrow,
  .bottom-nav.glass-dock,
  body.is-start-view .events-preview .section-icon,
  body.is-start-view .sport-preview .section-icon,
  body.is-start-view .directory-preview .live-badge,
  body.is-start-view .directory-preview .entity-mini,
  body.is-start-view .sport-preview .entity-mini,
  body.is-start-view .events-preview .empty-state,
  body.is-start-view .sport-preview .empty-state,
  body.is-start-view .directory-preview .empty-state,
  body.is-start-view .events-preview .secondary-light-btn,
  body.is-start-view .sport-preview .secondary-light-btn{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .app-header{background:rgba(16,17,20,.985)}
  .bottom-nav.glass-dock{background:rgba(17,19,22,.97);box-shadow:0 9px 24px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.035)}
  .immersive-context{background:rgba(20,22,26,.94);box-shadow:0 6px 16px rgba(0,0,0,.15)}
  .immersive-brand::before{display:none!important}
  .immersive-logo-shadow{display:none!important}
  .immersive-brand-logo img{filter:drop-shadow(0 10px 20px rgba(0,0,0,.30))}
  .now-card{box-shadow:0 10px 26px rgba(0,0,0,.22)}
  .now-card-media>img{transition:none!important}
  .now-card:hover .now-card-media>img{transform:none!important}
  .liquid-card{box-shadow:0 6px 18px rgba(0,0,0,.14)}
  body.is-start-view .liquid-card::before{
    filter:none!important;
    transform:none!important;
    transition:none!important;
  }
  body.is-start-view .liquid-card:hover::before,
  body.is-start-view .liquid-card:active::before{transform:none!important;filter:none!important}
  body.is-start-view .liquid-card .liquid-icon{background:rgba(14,16,20,.94)!important;box-shadow:none!important}
  body.is-start-view .liquid-card .liquid-arrow{background:rgba(10,12,15,.84)}
  body.is-start-view .events-preview::before,
  body.is-start-view .directory-preview::before,
  body.is-start-view .sport-preview::before{box-shadow:0 10px 28px rgba(0,0,0,.20)}
  body.is-start-view .directory-preview .entity-mini,
  body.is-start-view .sport-preview .entity-mini{background:linear-gradient(90deg,rgba(12,14,18,.92),rgba(12,14,18,.76))}
  body.is-start-view .events-preview .empty-state,
  body.is-start-view .sport-preview .empty-state,
  body.is-start-view .directory-preview .empty-state{background:rgba(10,12,16,.90)}
  .home-news-card,.news-row,.event-card,.entity-mini,.notification-card{animation:none!important}
  .reveal-ready{transition:opacity .20s ease-out,transform .20s ease-out!important}
  .skeleton-row{animation-duration:1.8s}
}

@media(max-width:560px){
  .immersive-brand-logo img{animation:none!important}
  .immersive-logo-shine{animation:none!important;display:none!important}
  .liquid-card:active{transform:scale(.99)}
  .now-card,.liquid-card,.immersive-news-carousel .home-news-card{box-shadow:none}
}

/* ==========================================================================
   TP24 APP 0.6.6 — SECTION CONTRAST FIX
   Zdjęcia pozostają klimatem, treść ma pierwszeństwo. Bez prześwitów.
   ========================================================================== */
body.is-start-view .events-preview::before,
body.is-start-view .directory-preview::before,
body.is-start-view .sport-preview::before{
  background-color:#0b0d11!important;
  box-shadow:0 14px 36px rgba(0,0,0,.24)!important;
}
body.is-start-view .events-preview::before{
  background-image:
    linear-gradient(90deg,rgba(7,9,12,.985) 0%,rgba(7,9,12,.965) 52%,rgba(7,9,12,.88) 100%),
    linear-gradient(180deg,rgba(7,9,12,.52),rgba(7,9,12,.90)),
    var(--editorial-photo)!important;
}
body.is-start-view .directory-preview::before{
  background-image:
    linear-gradient(90deg,rgba(7,9,12,.99) 0%,rgba(7,9,12,.97) 55%,rgba(7,9,12,.90) 100%),
    linear-gradient(180deg,rgba(7,9,12,.58),rgba(7,9,12,.92)),
    var(--editorial-photo)!important;
}
body.is-start-view .sport-preview::before{
  background-image:
    linear-gradient(90deg,rgba(7,9,12,.99) 0%,rgba(7,9,12,.97) 55%,rgba(7,9,12,.90) 100%),
    linear-gradient(180deg,rgba(7,9,12,.60),rgba(7,9,12,.93)),
    var(--editorial-photo)!important;
}
body.is-start-view .events-preview::after,
body.is-start-view .directory-preview::after,
body.is-start-view .sport-preview::after{
  background:
    linear-gradient(180deg,rgba(7,9,12,.20),rgba(7,9,12,.36)),
    radial-gradient(circle at 94% 10%,rgba(215,25,45,.075),transparent 26%)!important;
}

/* Solid content surfaces: photo never competes with text/list content. */
body.is-start-view .events-preview .event-preview,
body.is-start-view .directory-preview .entity-preview,
body.is-start-view .sport-preview .entity-preview{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:rgba(10,12,16,.945)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.022);
}
body.is-start-view .events-preview .event-preview:empty,
body.is-start-view .directory-preview .entity-preview:empty,
body.is-start-view .sport-preview .entity-preview:empty{display:none}

body.is-start-view .directory-preview .entity-mini,
body.is-start-view .sport-preview .entity-mini{
  margin:0!important;
  padding:12px 12px!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.075)!important;
  background:#101318!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body.is-start-view .directory-preview .entity-mini:last-child,
body.is-start-view .sport-preview .entity-mini:last-child{border-bottom:0!important}
body.is-start-view .directory-preview .entity-mini + .entity-mini,
body.is-start-view .sport-preview .entity-mini + .entity-mini{margin-top:0!important}

body.is-start-view .events-preview .empty-state,
body.is-start-view .sport-preview .empty-state,
body.is-start-view .directory-preview .empty-state{
  min-height:82px;
  margin:0!important;
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:14px!important;
  background:#101318!important;
  color:rgba(255,255,255,.72)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* Outline buttons use a solid studio surface instead of transparent glass. */
body.is-start-view .events-preview .secondary-light-btn,
body.is-start-view .sport-preview .secondary-light-btn{
  border-color:rgba(255,255,255,.16)!important;
  background:#0e1115!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body.is-start-view .events-preview .secondary-light-btn:hover,
body.is-start-view .sport-preview .secondary-light-btn:hover{
  background:#14171c!important;
  border-color:rgba(255,255,255,.22)!important;
}
body.is-start-view .directory-preview .primary-btn{
  box-shadow:0 8px 20px rgba(215,25,45,.14)!important;
}

/* Typography remains crisp over editorial backgrounds. */
body.is-start-view .events-preview .section-head h2,
body.is-start-view .directory-preview .section-head h2,
body.is-start-view .sport-preview .section-head h2,
body.is-start-view .events-preview .section-copy,
body.is-start-view .directory-preview .section-copy,
body.is-start-view .sport-preview .section-copy{
  text-shadow:0 1px 2px rgba(0,0,0,.5);
}

@media(max-width:900px){
  body.is-start-view .events-preview::before,
  body.is-start-view .directory-preview::before,
  body.is-start-view .sport-preview::before{
    box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
  }
  body.is-start-view .events-preview .event-preview,
  body.is-start-view .directory-preview .entity-preview,
  body.is-start-view .sport-preview .entity-preview{
    background:#0d1014!important;
  }
  body.is-start-view .directory-preview .entity-mini,
  body.is-start-view .sport-preview .entity-mini,
  body.is-start-view .events-preview .empty-state,
  body.is-start-view .sport-preview .empty-state,
  body.is-start-view .directory-preview .empty-state{
    background:#101318!important;
  }
}

/* ==========================================================================
   TP24 APP 0.6.7 — NO BACKGROUND BLEED
   Editorial photos live only in the section header band. All content below
   sits on a fully opaque studio surface, so no image can show through gaps.
   ========================================================================== */
body.is-start-view .events-preview,
body.is-start-view .directory-preview,
body.is-start-view .sport-preview{
  background:transparent!important;
}

/* One fully opaque card surface under the complete section. */
body.is-start-view .events-preview::after,
body.is-start-view .directory-preview::after,
body.is-start-view .sport-preview::after{
  content:"";
  position:absolute;
  inset:10px max(12px,calc((100vw - var(--content))/2)) 10px;
  border:1px solid rgba(255,255,255,.085)!important;
  border-radius:26px!important;
  background:#0b0e12!important;
  box-shadow:0 12px 32px rgba(0,0,0,.22)!important;
  pointer-events:none;
  z-index:0!important;
}

/* Photo is limited to a shallow header band and fades completely into solid. */
body.is-start-view .events-preview::before,
body.is-start-view .directory-preview::before,
body.is-start-view .sport-preview::before{
  content:"";
  position:absolute;
  left:max(12px,calc((100vw - var(--content))/2));
  right:max(12px,calc((100vw - var(--content))/2));
  top:10px;
  bottom:auto!important;
  height:132px;
  border:0!important;
  border-radius:26px 26px 0 0!important;
  box-shadow:none!important;
  background-color:transparent!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  pointer-events:none;
  z-index:1!important;
}
body.is-start-view .events-preview::before{
  background-image:
    linear-gradient(180deg,rgba(11,14,18,.63) 0%,rgba(11,14,18,.88) 58%,#0b0e12 100%),
    linear-gradient(90deg,#0b0e12 0%,rgba(11,14,18,.88) 45%,rgba(11,14,18,.58) 100%),
    var(--editorial-photo)!important;
  background-position:center 42%!important;
}
body.is-start-view .directory-preview::before{
  height:146px;
  background-image:
    linear-gradient(180deg,rgba(11,14,18,.67) 0%,rgba(11,14,18,.90) 60%,#0b0e12 100%),
    linear-gradient(90deg,#0b0e12 0%,rgba(11,14,18,.90) 48%,rgba(11,14,18,.62) 100%),
    var(--editorial-photo)!important;
  background-position:center 48%!important;
}
body.is-start-view .sport-preview::before{
  background-image:
    linear-gradient(180deg,rgba(11,14,18,.68) 0%,rgba(11,14,18,.91) 58%,#0b0e12 100%),
    linear-gradient(90deg,#0b0e12 0%,rgba(11,14,18,.90) 48%,rgba(11,14,18,.62) 100%),
    var(--editorial-photo)!important;
  background-position:center 38%!important;
}

/* Content always renders over the solid card, never directly over the photo. */
body.is-start-view .events-preview>.section-shell,
body.is-start-view .directory-preview>.section-shell,
body.is-start-view .sport-preview>.section-shell{
  position:relative;
  z-index:2!important;
}
body.is-start-view .events-preview .event-preview,
body.is-start-view .directory-preview .entity-preview,
body.is-start-view .sport-preview .entity-preview{
  background:#0f1217!important;
  border-color:rgba(255,255,255,.075)!important;
}
body.is-start-view .directory-preview .entity-mini,
body.is-start-view .sport-preview .entity-mini,
body.is-start-view .events-preview .empty-state,
body.is-start-view .directory-preview .empty-state,
body.is-start-view .sport-preview .empty-state{
  background:#101318!important;
}
body.is-start-view .events-preview .secondary-light-btn,
body.is-start-view .sport-preview .secondary-light-btn{
  background:#0f1217!important;
}

@media(max-width:600px){
  body.is-start-view .events-preview::after,
  body.is-start-view .directory-preview::after,
  body.is-start-view .sport-preview::after{
    inset:8px 8px!important;
    border-radius:22px!important;
  }
  body.is-start-view .events-preview::before,
  body.is-start-view .directory-preview::before,
  body.is-start-view .sport-preview::before{
    left:8px!important;
    right:8px!important;
    top:8px!important;
    border-radius:22px 22px 0 0!important;
    height:116px;
  }
  body.is-start-view .directory-preview::before{height:132px}
}
