/* Shared public / cabinet shell. Existing service controls keep their IDs and behavior. */
.pro-shell{-webkit-tap-highlight-color:transparent;--soft:#191e36;--hover:#24233f;--violet:#b5a5ff;--green:#8edec3;background:var(--bg);font-size:14px}
[data-theme=light] .pro-shell{--soft:#f1f0fa;--hover:#eae5ff;--violet:#6244cc;--green:#23765e}
.pro-shell a{color:var(--violet)}.pro-shell .brand{color:var(--text)}.pro-shell .brand b{font-size:14px}.pro-shell .brand small{display:none}
.pro-shell .pro-topbar{max-width:1680px;margin:20px auto 0;padding:14px 22px;gap:20px;min-height:78px;flex-wrap:nowrap;border-radius:20px;background:var(--panel);position:relative;z-index:10}
.pro-topbar .logo{width:44px;height:44px;border-radius:14px;font-size:19px;letter-spacing:-1px}.top-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.top-links{display:flex;align-items:center;gap:8px;margin:auto}.top-links a{padding:11px 22px;border-radius:12px;color:var(--muted);text-decoration:none}.top-links a:hover,.top-links a[aria-current=page]{background:var(--soft);color:var(--text)}
.pro-shell .theme-control select{font-size:12px;width:105px;background:var(--soft);border-radius:12px;padding:10px}
.pro-layout{display:grid;grid-template-columns:234px minmax(0,1fr);gap:32px;max-width:1680px;margin:24px auto 48px;align-items:start}
.pro-layout>main{width:100%;max-width:none;margin:0;padding:14px 0 0;min-width:0}
.pro-sidebar{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:15px 12px;position:sticky;top:20px;min-height:calc(100vh - 160px)}
#sidebar-host{align-self:stretch;min-width:0}.pro-sidebar nav{display:flex;flex-direction:column;gap:6px}
.pro-shell .side-item{display:flex;align-items:center;gap:12px;width:100%;min-height:49px;padding:12px 14px;text-align:left;text-decoration:none;background:transparent;border:1px solid transparent;border-radius:12px;color:var(--muted);font-size:13px;line-height:1.5;box-shadow:none;transform:none}
.side-item svg{width:21px;height:21px;flex-shrink:0}.pro-shell .side-item:hover{background:var(--soft);color:var(--text);box-shadow:none;transform:none}
.pro-shell .side-item.active{color:var(--violet);background:var(--hover)!important;border-color:transparent!important}.side-item[aria-current=page]{font-weight:650}
.nav-caption{font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px 5px;margin:0;color:var(--muted)}.side-bottom{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.sidebar-note{font-size:14px;color:var(--muted);line-height:1.8;margin:70px 18px 22px}
.pro-shell h1{font-size:clamp(30px,3.3vw,48px);letter-spacing:-1.5px;line-height:1.12;margin:12px 0 18px;font-weight:620}.pro-shell h2{letter-spacing:-.4px}.pro-shell p{line-height:1.65}
.catalog-heading{display:flex;justify-content:space-between;gap:28px;align-items:center;margin:0 0 26px}.catalog-heading p{margin-bottom:0}.catalog-search{width:min(330px,40%);margin:0}.catalog-search input{margin:0;padding:15px 18px;background:var(--panel)}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.catalog-pills{display:flex;gap:8px;flex-wrap:wrap}.catalog-pills button{font-size:12px;padding:9px 16px;background:var(--panel)}#catalog-count{color:var(--muted);white-space:nowrap}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tool-card{border:1px solid var(--line);background:var(--panel);border-radius:20px;position:relative;min-width:0;display:flex;flex-direction:column;transition:border-color .22s,box-shadow .22s,transform .22s}
@media(hover:hover){.tool-card:hover{border-color:#806dff;box-shadow:0 12px 30px #7059ff16;transform:translateY(-3px)}}
.card-art{aspect-ratio:1.8;overflow:hidden;border-radius:19px 19px 0 0;background:linear-gradient(130deg,#343354,#14182b);position:relative}.card-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
/* The picture stays at its native preview scale to avoid shifting text sharpness. */
.tool-copy{display:flex;align-items:start;flex-direction:column;padding:18px 20px 20px;flex:1}.tool-copy h2{font-size:19px;line-height:1.3;margin:13px 0 8px;overflow-wrap:anywhere}.tool-copy p{font-size:13px;margin:0 0 24px;flex:1;line-height:1.65}.tool-status{display:inline-flex;align-items:center;font-size:10px;line-height:1.4;padding:5px 9px;border-radius:7px;color:var(--muted);background:var(--soft)}.tool-status.available{color:var(--green);background:#6ad6af13}
.pro-shell .tool-action{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-decoration:none;font-size:12px;margin-top:auto;min-height:42px}.tool-action:hover{background:var(--hover)}
.pro-shell .favorite{position:absolute;top:12px;right:12px;width:36px;height:36px;display:grid;place-items:center;padding:0;background:#0b102ad9;color:#e8e5ff;font-size:27px;line-height:1;border-color:#ffffff30;backdrop-filter:blur(8px);box-shadow:none}.favorite[aria-pressed=true]{color:#c6b6ff;background:#36285de8}
.catalog-note{margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:18px;display:flex;align-items:center;gap:18px;background:var(--panel)}.catalog-note p{font-size:12px;margin:5px 0 0}.catalog-note a{font-size:12px;margin-left:auto;white-space:nowrap}.note-icon{font-size:28px;color:var(--violet)}.pro-shell .page-footer{margin-top:40px;font-size:11px;flex-wrap:wrap}
.art-qr{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 30% 30%,#72629b,#25253e 80%)}.paper-card{background:#f6f3ef;box-shadow:10px 18px 20px #080b1c55;color:#292b41;width:65%;padding:12px;display:flex;align-items:center;flex-direction:column;transform:rotate(-7deg);border-radius:6px;font-size:11px}.qr-mark{font-size:64px;line-height:1.2;letter-spacing:-5px;color:#4b3979}.paper-card small{font-size:7px;margin:6px}.swatches{display:flex;gap:5px;position:absolute;bottom:15px;right:15px}.swatches i{width:19px;height:19px;border:2px solid #ffffff80;border-radius:50%;background:#7059ff}.swatches i:nth-child(2){background:#241d36}.swatches i:nth-child(3){background:#e2d4f4}
.art-reviews{display:grid;place-items:center;background:radial-gradient(ellipse at 70% 20%,#635894,#1d223b)}.review-sample{background:#f4f1ff;width:72%;border:1px solid #fff8;border-radius:12px;padding:17px;display:grid;grid-template-columns:30px 1fr;gap:9px;z-index:2;box-shadow:0 10px 20px #080b1c55;transform:rotate(-4deg)}.sample-avatar{height:28px;border-radius:50%;background:#b5a5df}.sample-lines{background:repeating-linear-gradient(transparent 0 3px,#cbc2e1 3px 7px,transparent 7px 12px);border-radius:5px}.review-sample b{grid-column:1/-1;color:#8170bb;letter-spacing:7px;font-size:15px}.review-sample small{grid-column:1/-1;color:#645879;font-size:9px}.review-sample.rear{position:absolute;height:100px;transform:rotate(6deg) translate(14px,14px);background:#bfb0df;z-index:1}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:12px 20px;background:var(--soft);border:1px solid var(--line);border-radius:12px;text-decoration:none;font-size:13px;color:var(--text)!important}.button.primary{background:var(--accent);border-color:var(--accent);color:white!important}.button:hover{filter:brightness(1.08)}
.service-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;padding:30px 0 40px}.service-hero .card-art{border-radius:24px;border:1px solid var(--line);aspect-ratio:1.25}.service-hero .lead{font-size:18px}.back-link{font-size:12px;text-decoration:none}.detail-panel{padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--panel);margin:22px 0}.detail-panel h2{margin-top:0}.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.steps-grid article>span{color:var(--violet)}.steps-grid h3{margin:15px 0 8px}.steps-grid p{font-size:13px}.detail-panel details{border-top:1px solid var(--line);padding:18px 0}.detail-panel details:last-child{padding-bottom:0}.detail-panel summary{cursor:pointer}.coming-label{display:inline-flex;border-radius:10px;padding:12px 18px;background:var(--soft);color:var(--muted)}.help-steps li{margin:18px 0;padding-left:6px}.lead{font-size:18px;max-width:780px}.plan-grid .detail-panel{margin:8px 0}.plan-grid h2{margin:20px 0 10px}
.pro-shell .workspace-bar{padding:0 0 20px;border-bottom:1px solid var(--line);margin-bottom:24px}.pro-shell .workspace-bar label{display:flex;align-items:center;gap:16px}.workspace-bar select{margin:0!important}.pro-shell #auth{padding:40px 0;gap:38px}.pro-shell #auth h1{font-size:42px}.pro-shell .auth-card{border-radius:20px}.pro-shell .notice{margin:20px 0}.pro-shell .stats article{padding:18px}.pro-shell #app .heading h1{font-size:36px}.pro-shell .section-nav{display:none}.pro-shell #app>section{min-width:0}.pro-shell .post .actions{flex-shrink:1}.pro-shell #admin h1,.pro-shell #sites h1{font-size:36px}.pro-shell #account-email{overflow-wrap:anywhere}.pro-shell #sites>.auth-card{max-width:860px}.pro-shell .post{flex-wrap:wrap}.pro-shell .post>div{max-width:100%}
.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}.skip-link{position:fixed;top:-100px;left:20px;z-index:1000;background:var(--panel);padding:12px}.skip-link:focus{top:12px}.menu-toggle,.drawer-title{display:none}.nav-drawer{padding:0;width:min(320px,90vw);height:100dvh;max-height:100dvh;border-radius:0 22px 22px 0;margin:0;border:0}.nav-drawer .pro-sidebar{position:static;border:0;min-height:100%;border-radius:0}.nav-drawer::backdrop{background:#030615aa;backdrop-filter:blur(4px)}
@media(min-width:1800px){.pro-layout,.pro-shell .pro-topbar{max-width:1680px}}
@media(max-width:1750px){.pro-layout{margin-left:24px;margin-right:24px}.pro-shell .pro-topbar{margin-left:24px;margin-right:24px}}
@media(max-width:1250px){.pro-layout{grid-template-columns:210px minmax(0,1fr);gap:24px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-shell .pro-topbar{gap:12px}.top-links a{padding:10px 14px}.pro-shell .management button{padding:9px 12px}.pro-shell .brand{font-size:14px}.steps-grid{gap:16px}.catalog-heading h1{font-size:36px}}
@media(max-width:900px){.pro-layout{grid-template-columns:minmax(0,1fr);margin:20px 20px 40px}.pro-layout #sidebar-host{display:none}.pro-shell .pro-topbar{margin:12px 20px 0;padding:12px;flex-wrap:wrap}.menu-toggle{display:block;width:40px;height:40px;padding:0;font-size:22px}.drawer-title{display:flex;justify-content:space-between;align-items:center;padding:6px 10px 20px}.drawer-title button{padding:0;width:35px;height:35px;font-size:24px}.top-links{display:none}.pro-topbar .management{order:4;width:100%;justify-content:center}.management button{flex:1}.pro-shell .brand{font-size:15px}.pro-shell .logo{width:38px;height:38px;border-radius:12px}.pro-shell .top-actions{gap:8px}.sidebar-note{margin-top:30px}.service-hero{gap:24px}.pro-shell #auth{gap:25px}.pro-layout>main{padding-top:4px}.pro-shell .workspace-bar{font-size:11px}}
@media(max-width:600px){.pro-shell .pro-topbar{margin:10px 12px 0;gap:8px}.pro-shell .brand{gap:8px;font-size:13px}.pro-shell .brand b{font-size:11px}.pro-shell .logo{width:33px;height:36px}.pro-shell .theme-control select{width:76px;min-width:0;font-size:11px;padding:8px}.pro-shell .top-actions .button,.pro-shell #logout{padding:8px 10px;font-size:12px;min-height:36px}.menu-toggle{width:31px;height:36px}.pro-layout{margin:20px 16px 35px}.catalog-heading{flex-direction:column;align-items:stretch;gap:20px;margin-bottom:20px}.catalog-heading h1{font-size:36px}.catalog-heading h1 br{display:none}.catalog-search{width:100%}.catalog-toolbar{align-items:start;gap:10px;flex-direction:column}.catalog-grid{grid-template-columns:1fr;gap:20px}.card-art{aspect-ratio:1.9}.tool-copy{padding:20px}.tool-copy h2{font-size:21px}.tool-copy p{font-size:14px;min-height:0}.catalog-pills button{padding:9px 12px;font-size:11px}.catalog-note{flex-wrap:wrap;padding:20px}.catalog-note>div{flex:1}.catalog-note a{margin-left:0}.catalog-note strong{font-size:14px}.service-hero{grid-template-columns:1fr;padding-top:24px;gap:24px}.service-hero .card-art{aspect-ratio:1.7}.steps-grid{grid-template-columns:1fr}.detail-panel{padding:22px}.pro-shell .workspace-bar label{display:block;width:100%}.workspace-bar select{width:100%!important;margin-top:8px!important}.pro-shell #app .heading h1,.pro-shell #sites h1,.pro-shell #auth h1{font-size:30px}.pro-shell .stats{grid-template-columns:1fr 1fr}.pro-shell .stats article:last-child{grid-column:1/-1}.pro-shell .stats .text-stat{font-size:16px}.pro-shell #auth{padding:12px 0}.pro-shell .auth-intro>p{font-size:13px}.pro-shell .toolbar{flex-wrap:wrap}.pro-shell .calendar-grid{min-width:570px}#calendar{overflow-x:auto;padding-bottom:12px}.pro-shell .page-footer{gap:8px}.pro-shell .dialog-actions>button{flex:1}}
@media(prefers-reduced-motion:reduce){.pro-shell *{transition:none!important;animation:none!important}}

/* Approved compact catalog: keep artwork, badges and controls on a stable grid. */
.pro-shell{font-family:Arial,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 65% -15%,#46348024,transparent 60%),var(--bg)}
.art-example{position:absolute;left:12px;bottom:12px;background:#11162cdc;color:#eeeaff;font-size:10px;padding:4px 8px;border-radius:7px}
.pro-shell .brand{font-size:21px;letter-spacing:-.5px}.pro-shell .brand b{font-size:21px;color:var(--accent)}
.pro-shell .primary,.pro-shell .button.primary{background:linear-gradient(120deg,#765cff,#5d3dea);border-color:#886aff;box-shadow:inset 0 1px 0 #ffffff24,0 5px 20px #6045f01a;color:#fff!important}
.pro-shell .primary:hover{background:linear-gradient(120deg,#8872ff,#6b4bf1)}
.pro-shell .management{border:1px solid var(--line);border-radius:14px;padding:4px;background:var(--soft)}
.pro-shell .management button{display:flex;align-items:center;justify-content:center;gap:9px;border:0;background:transparent;color:var(--muted);min-height:40px}
.management svg{width:20px;height:20px}.pro-shell .management button.active{background:linear-gradient(120deg,#765cff,#5d3dea)!important;color:#fff;box-shadow:inset 0 1px 0 #ffffff30}
.pro-shell .management-label{font-size:12px;color:var(--muted);margin:0 10px}
.pro-shell .side-item{font-size:15px;position:relative}.pro-shell .side-item.active{background:linear-gradient(110deg,#7153ed44,#5745b322)!important}
.pro-shell .side-item.active:before{content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:3px;background:#997dff;border-radius:3px}
.cabinet-shell.signed-in .pro-topbar{max-width:none;margin:0;border-radius:0;border-width:0 0 1px;padding:12px 24px;min-height:74px}
.cabinet-shell.signed-in .pro-layout{max-width:1800px;margin:16px auto 40px;padding:0 16px;grid-template-columns:238px minmax(0,1fr);gap:20px}
.cabinet-shell.signed-in .pro-sidebar{border:0;background:transparent;padding:8px 0;min-height:calc(100vh - 110px)}
.cabinet-shell.signed-in .pro-layout>main{border:1px solid var(--line);border-radius:20px;padding:26px;background:linear-gradient(135deg,#25304b20,transparent 65%),var(--panel);min-height:calc(100vh - 110px)}
.cabinet-shell #workspace-slot .workspace-bar{display:block;border:0;padding:0 6px 18px;margin:0}.cabinet-shell #workspace-slot label{display:block;font-size:11px;color:var(--muted)}
.cabinet-shell #workspace-slot select{width:100%!important;margin-top:8px!important;font-size:15px;padding:13px;border-radius:12px;background:var(--soft)}
.cabinet-shell #account-email{display:block;font-size:11px;color:var(--muted);padding:10px 2px 0}
.cabinet-shell .heading{align-items:center;gap:20px}.cabinet-shell .heading h1{margin:0 0 8px!important;font-weight:650}.cabinet-shell .heading p{margin:0;font-size:16px}.cabinet-shell #new-post{min-height:48px;white-space:nowrap;font-size:15px}
.planning-help{font-size:12px;color:var(--muted);margin:20px 0 12px}.planning-help summary{cursor:pointer;width:fit-content}.planning-help p{max-width:780px;padding:12px 16px;border-left:2px solid var(--accent);background:var(--soft)}
.cabinet-shell .stats{display:flex;gap:12px;margin:12px 0 24px;flex-wrap:wrap}.cabinet-shell .stats article{flex:1;padding:14px 18px;min-width:140px;border-radius:14px;background:var(--soft);box-shadow:none}.cabinet-shell .stats strong{font-size:24px}.cabinet-shell .stats .text-stat{font-size:15px}
.cabinet-shell .switch{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:13px;padding:3px;gap:3px}.cabinet-shell .switch button{border:0;background:transparent;min-width:100px}.cabinet-shell .switch button.active{background:var(--accent)!important;color:#fff}
.cabinet-shell .toolbar{gap:12px;align-items:center}.cabinet-shell .toolbar .archive-filter{margin-left:auto}
.cabinet-shell .calendar-top{justify-content:flex-start;gap:14px;margin:20px 0 12px}.calendar-top strong{font-size:19px;min-width:150px;text-align:center}.calendar-top button{padding:7px 13px}.calendar-top button:last-child{margin-left:8px;font-size:12px}
.cabinet-shell .calendar-grid{gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:720px}
.cabinet-shell .weekday{background:var(--soft);padding:12px;font-size:13px}.cabinet-shell .calendar-day,.calendar-blank{background:var(--panel);border:0;border-radius:0;min-height:130px;padding:10px;min-width:0}
.cabinet-shell .calendar-day>b{display:inline-grid;place-items:center;min-width:26px;min-height:26px;color:var(--muted);font-weight:500}.calendar-day.is-today>b{background:var(--accent);color:#fff!important;border-radius:8px}
.cabinet-shell .calendar-post{padding:9px;background:var(--soft);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:6px;box-shadow:0 3px 10px #03061518}
.calendar-post .calendar-time{font-size:11px;color:var(--muted)}.calendar-title{font-size:12px;line-height:1.35}.calendar-post img{width:100%;height:70px;object-fit:cover;border-radius:6px}.calendar-platforms{color:var(--violet);font-size:10px}.calendar-state{background:#d6ad2422;border-radius:10px;color:#e9cd72;padding:3px 7px;font-size:9px;width:fit-content}
[data-theme=light] .calendar-state{color:#79520b;background:#f8eac4}.cabinet-shell #calendar{overflow-x:auto;padding-bottom:12px}
.cabinet-shell .post{background:var(--soft);border-radius:16px;padding:22px;gap:20px}.cabinet-shell .post h3{font-size:18px}.cabinet-shell .post p{font-size:14px}.cabinet-shell .post .actions{flex-wrap:wrap;gap:8px}.cabinet-shell .post .actions button{font-size:12px;padding:8px 12px}
.cabinet-shell .auth-card{background:var(--soft);padding:26px;border-radius:18px}.cabinet-shell input:not([type=checkbox]),.cabinet-shell textarea,.cabinet-shell select{border-radius:12px;padding:13px}.cabinet-shell input:focus,.cabinet-shell textarea:focus,.cabinet-shell select:focus{border-color:#9c85ff}
.cabinet-shell .empty{background:radial-gradient(ellipse at 50% 10%,#7059ff16,transparent 70%);padding:60px 25px;border:1px dashed var(--line);border-radius:18px}.cabinet-shell .empty h2{font-size:25px}
.pro-shell dialog:not(.nav-drawer){border-radius:22px;box-shadow:0 30px 120px #0005;padding:30px}.pro-shell dialog:not(.nav-drawer)::backdrop{background:#050817aa;backdrop-filter:blur(7px)}.pro-shell .dialog-heading{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:20px}
.pro-shell .detail-panel{background:linear-gradient(135deg,#7059ff0a,transparent),var(--panel)}
@media(max-width:1100px){.cabinet-shell.signed-in .pro-layout{grid-template-columns:205px minmax(0,1fr);gap:14px}.cabinet-shell.signed-in .pro-layout>main{padding:20px}.pro-shell .brand,.pro-shell .brand b{font-size:17px}.pro-shell .management-label{display:none}}
@media(max-width:900px){.cabinet-shell.signed-in .pro-layout{grid-template-columns:1fr;padding:0 12px}.cabinet-shell.signed-in .pro-layout>main{padding:20px}.cabinet-shell.signed-in .pro-topbar{padding:12px}.cabinet-shell .pro-sidebar{background:var(--panel)!important;padding:18px!important}.cabinet-shell .heading{align-items:flex-start;flex-direction:column}.cabinet-shell #new-post{width:100%}}
@media(max-width:600px){.cabinet-shell.signed-in .pro-layout>main{padding:16px;border-radius:16px}.pro-shell .brand,.pro-shell .brand b{font-size:13px}.cabinet-shell .stats{gap:8px}.cabinet-shell .stats article{padding:12px;min-width:110px}.cabinet-shell .stats article:last-child{flex-basis:100%}.cabinet-shell .heading p{font-size:14px}.cabinet-shell .auth-card{padding:18px}.pro-shell dialog:not(.nav-drawer){padding:20px}.cabinet-shell .switch button{min-width:88px}.cabinet-shell .toolbar .archive-filter{margin-left:0}.cabinet-shell #app .heading h1{font-size:28px}}
.catalog-heading h1{font-size:clamp(28px,2.65vw,43px);margin:0 0 8px;letter-spacing:-1.1px}
.catalog-heading p{margin:0;font-size:17px}
.catalog-search{position:relative;flex-shrink:0;width:32%;color:var(--muted)}
.catalog-search svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:23px;height:23px;pointer-events:none;z-index:1}
.catalog-search input{margin:0!important;padding:15px 16px 15px 52px!important;font-size:16px;background:var(--panel)!important}
.catalog-search input::placeholder{color:var(--muted);opacity:1}
.catalog-note .cabinet-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;min-height:42px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--violet);font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s}
.cabinet-cta svg{width:18px;height:18px;flex-shrink:0;transition:transform .2s ease}
.catalog-note .cabinet-cta:hover{background:var(--hover);border-color:var(--violet);box-shadow:0 4px 16px #7059ff14;text-decoration:none}
.cabinet-cta:hover svg{transform:translateX(2px)}
.cabinet-cta:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
@media(max-width:600px){.catalog-note .cabinet-cta{width:100%;margin:0}}
@media(prefers-reduced-motion:reduce){.catalog-note .cabinet-cta,.cabinet-cta svg{transition:none}.cabinet-cta:hover svg{transform:none}}
.catalog-grid{gap:16px}
.tool-card{border-radius:18px}
.tool-card .card-art{aspect-ratio:1.96;border-radius:17px;flex-shrink:0}
.tool-copy{padding:0 18px 16px;position:relative}
.card-labels{display:flex;align-items:center;gap:8px;min-height:28px;margin-top:-13px;position:relative;z-index:1;flex-wrap:wrap;width:100%}
.access-label{display:inline-flex;align-items:center;border-radius:30px;padding:5px 13px;font-size:12px;line-height:1.35;font-weight:650;color:#10132a;box-shadow:0 2px 10px #080b1c16}
.access-label.subscription{background:linear-gradient(135deg,#d1c7ff,#a995fa)}
.access-label.free{background:linear-gradient(135deg,#a0e9c7,#68cea7)}
/* Each service keeps the same symbol on its card and in navigation. */
.tool-card .card-labels{padding-right:48px}
.service-symbol{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,var(--soft),var(--panel));color:var(--violet);box-shadow:0 3px 10px #080b1c18;pointer-events:none}
.service-symbol svg{display:block;width:19px;height:19px}
@supports(width:1cqw){.service-symbol{width:clamp(36px,8cqw,40px);height:clamp(36px,8cqw,40px)}.service-symbol svg{width:clamp(19px,4.2cqw,21px);height:clamp(19px,4.2cqw,21px)}}
.tool-copy h2{margin:7px 0 5px;font-size:20px;line-height:1.25}
.tool-copy p{font-size:14px;line-height:1.45;margin:0 0 13px}
.pro-shell .tool-action{min-height:38px;padding:7px 14px;font-size:14px;justify-content:flex-start}
.pro-shell .favorite{top:7px;right:7px;width:40px;height:40px;border:0;border-radius:12px;background:#10162a33;display:flex;align-items:center;justify-content:center;transform:none;line-height:0;color:#d3d9ff;backdrop-filter:none}
.pro-shell .favorite svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;filter:drop-shadow(0 1px 3px #080b1c)}
.pro-shell .favorite[aria-pressed=true] svg{fill:#a995fa;stroke:#e2d9ff}
.pro-shell .favorite:hover{transform:none;box-shadow:none;background:#171d4055}
.tool-card{isolation:isolate;cursor:pointer}
.tool-card .card-link{position:absolute;inset:0;z-index:2;border-radius:inherit;text-decoration:none}
.tool-card .card-link:focus-visible{outline:3px solid var(--violet);outline-offset:4px}
.tool-card .favorite{z-index:3}
.tool-card .tool-copy p{margin-bottom:3px}
.tool-card .card-art img{transition:filter .28s ease;transform:none}
.tool-card .card-art::after{content:"";position:absolute;inset:0;background:#090e2540;opacity:0;transition:opacity .28s ease;pointer-events:none}
.card-open{position:absolute;inset:0;margin:auto;width:110px;height:36px;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0;border:1px solid #ffffff45;border-radius:999px;color:#fff;background:#12162cde;font-size:13px;font-weight:500;line-height:1;white-space:nowrap;box-shadow:0 4px 14px #080b1c22;opacity:0;transform:translateY(14px);will-change:transform,opacity;transition:transform .22s ease-in,opacity .18s ease;pointer-events:none}
.card-open svg{width:14px;height:14px;flex-shrink:0;display:block}
/* Match the action to its card, including expanded/collapsed sidebar layouts. */
@supports(width:1cqw){.tool-card{container-type:inline-size}.card-open{width:clamp(110px,calc(30cqw - 4px),150px);height:clamp(36px,calc(10cqw - 2px),48px);font-size:clamp(13px,calc(2cqw + 5.4px),16px);gap:clamp(9px,2.4cqw,12px)}.card-open svg{width:clamp(14px,calc(3.5cqw + .7px),18px);height:clamp(14px,calc(3.5cqw + .7px),18px)}}
@media(hover:hover) and (pointer:fine){
 .tool-card:hover .card-art img{filter:blur(1.5px)}
 .tool-card:hover .card-art::after{opacity:1}
 .tool-card:hover .card-open{opacity:1;transform:translateY(0);transition:transform .34s cubic-bezier(.2,1.18,.35,1),opacity .2s ease}
}
.tool-card:has(.card-link:focus-visible) .card-open{opacity:1;transform:translateY(0)}
.tool-card:has(.card-link:focus-visible) .card-art::after{opacity:1}
@media(hover:none),(pointer:coarse){.card-open{left:auto;top:auto;right:12px;bottom:20px;margin:0;width:96px;height:32px;opacity:1;transform:none;will-change:auto;font-size:12px;gap:8px}}
@supports(width:1cqw){@media(hover:none),(pointer:coarse){.card-open{width:clamp(96px,calc(26cqw - 2.8px),132px);height:clamp(32px,calc(8cqw + 1.6px),44px);font-size:clamp(12px,calc(1.7cqw + 5.54px),15px);gap:clamp(8px,2.1cqw,11px)}}}
.pro-shell .theme-toggle{position:relative;display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;min-height:42px;padding:0;border:1px solid var(--line);border-radius:13px;background:var(--soft);color:var(--muted);box-shadow:none;transform:none;transition:background .2s,color .2s,border-color .2s}
.pro-shell .theme-toggle:hover{color:var(--violet);border-color:var(--violet);transform:none;box-shadow:none}
.theme-symbol{position:absolute;inset:0;margin:auto;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:rotate(-65deg) scale(.65);transition:opacity .2s ease,transform .34s cubic-bezier(.2,.8,.2,1);pointer-events:none}
[data-theme=light] .theme-light,[data-theme=dark] .theme-dark{opacity:1;transform:rotate(0) scale(1)}
@media(max-width:600px){.pro-shell .theme-toggle{width:36px;height:36px;min-height:36px;border-radius:11px}.theme-symbol{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.theme-symbol,.pro-shell .theme-toggle{transition:none}}
@media(prefers-reduced-motion:reduce){.tool-card,.tool-card .card-art img,.tool-card .card-art::after,.tool-card .card-open{transition:none!important}.tool-card:hover{transform:none}}
.sidebar-note{margin:70px 8px 16px;text-align:center;line-height:0}
.sidebar-note img{width:min(100%,230px);height:auto;display:inline-block}
@media(min-width:1251px){.pro-layout{grid-template-columns:250px minmax(0,1fr);gap:24px}.catalog-toolbar{margin-bottom:18px}.catalog-heading{margin-bottom:18px}}
@media(max-width:1250px) and (min-width:901px){.catalog-heading{align-items:flex-start;flex-direction:column;gap:16px}.catalog-search{width:100%}}
@media(max-width:900px){.catalog-search{width:40%}.sidebar-note{margin:32px 8px 16px}}
@media(max-width:600px){.catalog-search{width:100%}.catalog-heading h1{font-size:32px}.catalog-heading p{font-size:15px}.tool-card .card-art{aspect-ratio:1.96}.tool-copy{padding:0 16px 16px}.tool-copy h2{font-size:21px}.tool-copy p{font-size:15px}.pro-shell .tool-action{min-height:42px}.pro-shell .favorite{width:44px;height:44px;top:5px;right:5px}}
/* Fixed shared frame: only the content and an overflowing navigation scroll. */
.pro-shell{--sidebar-width:250px;--frame-bottom:16px;height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-rows:78px minmax(0,1fr);gap:18px;padding:16px 24px 0}
.pro-shell .pro-topbar,.cabinet-shell.signed-in .pro-topbar{width:100%;max-width:1680px;margin:0 auto;padding:14px 22px;min-height:0;height:78px;flex-wrap:nowrap;display:grid;grid-template-columns:1fr auto 1fr;gap:20px}
.pro-shell .top-links{margin:0;justify-self:center}.pro-shell .top-actions{margin:0;justify-self:end}
.pro-shell #public-account{min-width:132px;white-space:nowrap}
.pro-shell .pro-layout,.cabinet-shell.signed-in .pro-layout{width:100%;max-width:1680px;min-height:0;height:100%;margin:0 auto;padding:0;gap:22px;grid-template-columns:var(--sidebar-width) minmax(0,1fr);align-items:stretch}
.shell-ready .pro-layout{transition:grid-template-columns .28s cubic-bezier(.2,.8,.2,1)}
.pro-shell .pro-layout>main,.cabinet-shell.signed-in .pro-layout>main{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--violet) transparent;padding:12px 12px 36px;border:0;border-radius:0;background:transparent;scroll-behavior:smooth}
#sidebar-host{min-height:0;height:calc(100% - var(--frame-bottom))}
.pro-shell .pro-sidebar,.cabinet-shell.signed-in .pro-sidebar{position:relative;top:auto;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:20px}
.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;margin-bottom:12px;padding-left:10px;color:var(--muted);font-size:12px;white-space:nowrap}
.pro-shell #sidebar-collapse{padding:7px;width:34px;height:34px;min-width:34px;display:grid;place-items:center;background:transparent;border-color:transparent;box-shadow:none;transform:none}
#sidebar-collapse svg{width:20px;height:20px;transition:transform .28s ease}
.side-label{min-width:0;transition:opacity .16s ease;white-space:nowrap}
.pro-shell .side-item{gap:12px;padding:11px 12px;min-height:46px}
.pro-shell .management{display:flex;flex-direction:column;gap:6px;padding:0;border:0;background:transparent;width:100%}
.pro-shell .management button{justify-content:flex-start;min-height:46px;font-size:13px}
.pro-shell .management button.active{background:var(--hover)!important;color:var(--violet);box-shadow:none}
.workspace-navigation{margin-top:18px}.pro-shell #workspace-slot select{min-width:0}.pro-shell .side-bottom{margin-top:18px;padding-top:12px}
.pro-shell #workspace-expand{display:none}
#nav-tooltip{position:fixed;z-index:1000;max-width:240px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);box-shadow:0 8px 28px #0003;font-size:13px;pointer-events:none}
@media(min-width:901px){
 [data-sidebar=compact] .pro-shell{--sidebar-width:78px}
 [data-sidebar=compact] .sidebar-heading{padding:0;justify-content:center;gap:0}
 [data-sidebar=compact] .sidebar-heading>.side-label{display:none}
 [data-sidebar=compact] .pro-shell #sidebar-collapse{padding:0}
 [data-sidebar=compact] #sidebar-collapse svg{transform:rotate(180deg)}
 [data-sidebar=compact] .pro-sidebar .side-label{width:0;opacity:0;overflow:hidden;flex:0 0 0}
 [data-sidebar=compact] .pro-sidebar .side-item{gap:0;justify-content:center;padding:11px 0}
 [data-sidebar=compact] .pro-sidebar .nav-caption,[data-sidebar=compact] .sidebar-note,[data-sidebar=compact] #workspace-slot{display:none}
 [data-sidebar=compact] .pro-shell #workspace-expand:not([hidden]){display:flex}
 [data-sidebar=compact] #nav-messengers,[data-sidebar=compact] #nav-sites{border-top:1px solid var(--line);padding-top:10px;margin-top:6px}
}
@media(min-width:901px) and (max-width:1250px){.pro-shell{--sidebar-width:220px;--frame-bottom:14px;padding:14px 18px 0}.pro-shell .pro-layout{gap:16px}.pro-shell .pro-topbar{gap:10px;padding:12px 16px}.pro-shell .brand,.pro-shell .brand b{font-size:17px}.top-links a{padding:10px 12px}}
@media(max-width:900px){
 .pro-shell{--frame-bottom:12px;grid-template-rows:68px minmax(0,1fr);gap:12px;padding:12px 12px 0}
 .pro-shell .pro-topbar,.cabinet-shell.signed-in .pro-topbar{height:68px;padding:10px 12px;display:flex;gap:10px;border-radius:17px}
 .pro-shell .pro-layout,.cabinet-shell.signed-in .pro-layout{grid-template-columns:minmax(0,1fr);gap:0}
 .pro-shell .pro-layout>main,.cabinet-shell.signed-in .pro-layout>main{padding:8px 4px 28px}
 .pro-shell .top-actions{margin-left:auto;gap:8px}.pro-shell .top-links{display:none}
 .sidebar-heading{display:none}.pro-shell .nav-drawer .pro-sidebar{height:100%;min-height:0;border:0;border-radius:0;padding:18px}
 .pro-shell .nav-drawer{overflow:hidden}.pro-shell .management{order:initial;justify-content:flex-start}
 .pro-shell .management button{flex:initial}.pro-shell .brand,.pro-shell .brand b{font-size:17px}
}
@media(max-width:600px){.pro-shell{--frame-bottom:8px;padding:8px 8px 0;gap:8px;grid-template-rows:60px minmax(0,1fr)}.pro-shell .pro-topbar,.cabinet-shell.signed-in .pro-topbar{height:60px;padding:8px;gap:7px}.pro-shell .brand,.pro-shell .brand b{font-size:13px}.pro-shell .brand{gap:7px}.pro-shell .brand>span:last-child{max-width:95px;line-height:1.2}.pro-shell .logo{width:32px;height:34px}.pro-shell #public-account{min-width:100px;padding:8px;font-size:11px}.pro-shell .top-actions{gap:5px}.pro-shell .menu-toggle{width:28px;min-width:28px}.pro-shell .pro-layout>main{padding-left:6px;padding-right:6px}.pro-shell .theme-toggle{width:32px;min-width:32px}}
@media(prefers-reduced-motion:reduce){.shell-ready .pro-layout,#sidebar-collapse svg,.side-label{transition:none}.pro-shell .pro-layout>main{scroll-behavior:auto}}
@media(max-width:380px){.pro-shell .brand>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.pro-shell .brand{gap:0}}
.pro-shell .pro-topbar,.cabinet-shell.signed-in .pro-topbar{border:1px solid var(--line);border-radius:20px}
@media(max-width:900px){.pro-shell .pro-topbar,.cabinet-shell.signed-in .pro-topbar{border-radius:17px}}
.guest-directions{display:flex;flex-direction:column;gap:6px}.signed-in .guest-directions{display:none}
/* Service illustrations keep their full composition at every viewport width. */
.service-hero .card-art{aspect-ratio:auto}
.service-hero .card-art img{height:auto;object-fit:contain}
.pro-shell #menu-close{display:grid;place-items:center;flex:none;width:38px;height:38px;padding:0;line-height:1;transform:none;box-shadow:none}
#menu-close svg{display:block;width:18px;height:18px}
.pro-shell .drawer-title{align-items:center}
.pro-shell .nav-drawer{transform:translateX(-100%);transition:transform .28s cubic-bezier(.22,1,.36,1)}
.pro-shell .nav-drawer.is-visible{transform:translateX(0)}
.pro-shell .nav-drawer.is-closing{transition-timing-function:cubic-bezier(.4,0,1,1)}
.pro-shell .nav-drawer::backdrop{opacity:0;transition:opacity .24s ease}
.pro-shell .nav-drawer.is-visible::backdrop{opacity:1}
@media(prefers-reduced-motion:reduce){.pro-shell .nav-drawer,.pro-shell .nav-drawer::backdrop{transition:none}}
