/* AppBoom appearance system. Shared by the public site, account and installer. */
:root{color-scheme:light;--ink:#16243e;--muted:#62738d;--line:#dce5f0;--blue:#2760f5;--paper:#f1f5fc;--surface:rgba(255,255,255,.7);--surface-strong:rgba(255,255,255,.92);--surface-soft:rgba(239,244,255,.78);--edge:rgba(255,255,255,.95);--shadow:0 14px 40px #335b9920,inset 0 1px 0 #fff;--blur:blur(22px) saturate(145%);--radius:28px;--button-radius:17px;--accent:linear-gradient(120deg,#1766fb,#6952ef 75%,#9663ef);--background:radial-gradient(ellipse at 0 5%,#dceeff 0,transparent 45%),radial-gradient(ellipse at 100% 35%,#e9e1ff 0,transparent 46%),linear-gradient(155deg,#f4f8ff,#f3f2fc 65%,#edf6ff)}
html{min-height:100%;scroll-padding-block:20px;scrollbar-color:#c1cce0 transparent}
body{position:relative;min-height:100svh;margin:0;background:var(--background);background-attachment:fixed;color:var(--ink);-webkit-font-smoothing:antialiased;isolation:isolate}
button,a,input,summary,select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #356df5;outline-offset:3px}
[hidden]{display:none!important}.brand-symbol{box-shadow:none!important;object-fit:contain}
.shell,.is-start .shell{width:100%;max-width:1000px;padding-inline:max(16px,env(safe-area-inset-left,0px));margin-inline:auto}
.top,.is-start .top{height:76px;display:flex;align-items:center;gap:10px;border:0;position:relative;z-index:2}
.brand,.is-start .brand{font-size:25px;letter-spacing:-1.2px;gap:7px;min-height:44px;white-space:nowrap}.brand-symbol,.is-start .brand-symbol{width:34px;height:34px}
.top-label,.private-badge,.is-start .private-badge{display:none}.access-back,.is-start .access-back{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;font-size:11px;color:#5e708b;text-decoration:none;margin-left:auto}.access-back span{font-size:17px}
body:not(.is-start) .access-back{display:none}
.appearance-trigger{display:inline-grid;place-items:center;width:44px;min-width:44px;height:44px;border:1px solid var(--edge);border-radius:50%;background:var(--surface);box-shadow:0 4px 14px #526fa012,inset 0 1px 0 white;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);color:#506789;padding:10px}
.appearance-trigger svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.top>.appearance-trigger{margin-left:auto}.top>.access-back+.appearance-trigger{margin-left:0}body:not(.is-start) .top>.appearance-trigger{margin-left:auto}
.top>.round{margin-left:0}.round{width:44px;min-width:44px;height:44px;background:var(--surface);border:1px solid var(--edge);color:#3961a0;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}
.primary,.cta{background:var(--accent);border-radius:var(--button-radius);color:#fff;min-height:52px;font-weight:750;box-shadow:0 7px 20px #3d65df2a;border:1px solid #ffffff30}
.primary:not(:disabled):hover,.cta:hover{background:var(--accent);filter:brightness(1.04)}.primary:disabled{opacity:.65}
.secondary{border:1px solid var(--line);background:var(--surface);border-radius:var(--button-radius);color:#375685;min-height:48px;font-size:13px;line-height:1.5;padding:12px 16px}
.office-wallet,.is-start .office-wallet{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:3px 0 0;max-width:none;padding:17px 19px;border:1px solid #ffffffa6;border-radius:var(--radius);background:linear-gradient(120deg,#2365ee,#6861e7);box-shadow:0 10px 28px #416be92b,inset 0 1px 0 #ffffff5e;color:white;overflow:hidden;position:relative}
.office-wallet:after{content:"";width:150px;height:150px;position:absolute;right:-55px;top:-60px;border-radius:50%;border:25px solid #ffffff0a;pointer-events:none}
.office-wallet>div,.is-start .office-wallet>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;position:relative;z-index:1}
.office-wallet small,.is-start .office-wallet small{font-size:11px;color:#eef4ff}.office-wallet strong,.is-start .office-wallet strong{font-size:25px;line-height:1.25;letter-spacing:-.7px;color:white;font-weight:800}
.office-wallet span,.is-start #officeIdentity{display:block;font-size:10px;line-height:1.5;color:#e2e9ff;max-width:185px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.office-wallet .primary,.is-start .office-wallet .primary{position:relative;z-index:1;display:flex;width:auto;max-width:135px;min-width:0;min-height:44px;margin:0;padding:10px 12px;border-radius:14px;border:1px solid #ffffff66;background:#ffffff1f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:white;box-shadow:none;font-size:11px;line-height:1.5;text-align:center}
.office-wallet .primary:disabled,.is-start .office-wallet .primary:disabled{display:flex;opacity:1;color:#f3f5ff;background:#ffffff13;border-color:#ffffff38}
.is-start .office-wallet{max-width:460px;margin:7px auto 0;padding:13px 17px}.is-start .office-wallet strong{font-size:21px}.is-start .office-wallet small{font-size:10px}.is-start .office-wallet .primary{display:none}
.catalog-heading{margin:27px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.catalog-heading .eyebrow{font-size:10px;letter-spacing:1.2px;color:#637b9d}.catalog-heading h1,.subview h1{font-size:30px;line-height:1.15;letter-spacing:-1.25px;margin:7px 0 0;color:var(--ink)}
.catalog-heading .muted,.catalog-banner{display:none}.account-chip{display:none}
.catalog-toolbar{display:flex;flex-direction:column;gap:10px;margin:0 0 13px}.search{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--edge);box-shadow:0 3px 13px #6076a80a;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-radius:18px;padding:0 16px;min-height:52px;width:100%}.search input{border:0;background:transparent;outline:0;box-shadow:none;min-height:50px;width:100%;padding:12px 0;font-size:16px;color:var(--ink)}.search input:focus{border:0;background:transparent;outline:0;box-shadow:none}.search input::placeholder{font-size:14px;color:#7b8aa2}.search svg{width:20px;height:20px;color:#748baa}.search>span{display:none}
.license-filters{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -4px 14px;padding:3px 4px 5px}.license-filters::-webkit-scrollbar{display:none}.license-filters button{min-height:44px;flex:none;border:1px solid transparent;padding:10px 14px;font-size:12px;white-space:nowrap;border-radius:99px;background:#ffffff66;color:#64748d;font-weight:650}.license-filters button.active{background:var(--surface-strong);border-color:var(--edge);color:#2459d9;box-shadow:0 4px 12px #47659415}
.filter-row{gap:6px;overflow-x:auto;scrollbar-width:none}.filter-row button{min-height:40px;font-size:11px;white-space:nowrap}
.catalog-check{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:11px 13px;border:1px solid var(--edge);border-radius:18px;background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:none;min-height:67px}
.catalog-check>div:not(.tray-spinner){min-width:0;flex:1}.catalog-check strong{font-size:12px;line-height:1.5;letter-spacing:-.1px;color:#38547e}.catalog-check p{font-size:11px;line-height:1.5;color:#71809a;margin:3px 0 0}.catalog-check button{min-height:44px;flex:none;padding:8px 11px;border:0;border-radius:12px;background:var(--surface-soft);color:#4266ab;font-size:11px;font-weight:700}.catalog-check .tray-spinner{width:22px;height:22px}
.custom-app{border:0;border-radius:0;background:transparent;padding:0;margin:0 0 15px;box-shadow:none}.custom-app-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:3px 4px;font-size:11px;color:#687e9c;list-style:none}.custom-app-summary>span:last-child{font-size:12px;font-weight:700;color:#3d61a8}.custom-app-summary b{font-size:20px;font-weight:400}.custom-app-content{padding:16px;background:var(--surface);border:1px solid var(--edge);border-radius:20px;margin-top:6px}.custom-app-heading h2{font-size:17px}.custom-app-heading p{font-size:11px}.custom-app form{display:flex;gap:8px;margin-top:15px}.custom-app input{font-size:16px;background:var(--surface-strong);min-width:0}.custom-app .primary{width:auto;margin:0;font-size:12px;padding:10px 14px;min-height:48px}.custom-app-hint{font-size:11px;line-height:1.6}
.section-title{margin:10px 4px 12px;display:flex;align-items:center;gap:10px}.section-title h2{font-size:18px;line-height:1.4;letter-spacing:-.6px;margin:0}.section-title>span{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;font-size:11px;line-height:1.5;background:#e1e9f7;color:#60789e;border-radius:8px}
.app-grid{display:grid;grid-template-columns:1fr;gap:0;background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.app-card{display:flex;flex-direction:row;align-items:center;gap:7px;position:relative;padding:10px 12px 10px 14px;border:0;border-bottom:1px solid #dce6f28a;border-radius:0;background:transparent;box-shadow:none;min-width:0;min-height:108px}
.app-card:last-child{border-bottom:0}.app-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:0;min-height:68px;border:0;background:transparent;text-align:left;color:var(--ink)}
.app-main .app-icon,.app-icon,.app-icon img{width:54px;height:54px;border-radius:15px;flex:none}.app-icon{overflow:hidden;box-shadow:0 3px 10px #3047760e}.app-icon img{object-fit:cover}.app-main .app-info{display:flex;flex-direction:column;gap:3px;overflow:hidden;flex:1;min-width:0}.app-card .app-info strong{font-size:14px;font-weight:750;letter-spacing:-.35px;line-height:1.4;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis}.app-card .app-info small{font-size:10px;line-height:1.4;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#6c809d}.app-popular{position:static;display:inline-flex;align-items:center;align-self:flex-start;font-size:9px;font-weight:700;line-height:1.4;letter-spacing:.2px;color:#6378aa;text-transform:none;background:transparent;margin:0;padding:0}.card-facts{font-size:9px;line-height:1.5;color:#74869f}.license-badge{font-size:9px;line-height:1.4;margin:0;padding:2px 6px;align-self:flex-start;border-radius:6px}.card-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;flex:none;margin:0;width:79px}.get,.card-actions .get{order:0;min-width:76px;width:79px;min-height:44px;font-size:11px;font-weight:800;line-height:1.4;background:#e5edff;color:#275bd1;border:1px solid #ffffffa3;border-radius:99px;padding:9px 8px}.get.soon{color:#8290a4;background:#edf1f6}.favorite{order:1;width:44px;min-width:44px;height:36px;min-height:36px;margin:0;padding:7px 10px;background:transparent;border:0;color:#99a8c0}.favorite svg{width:20px;height:20px}.favorite.is-favorite{color:#6955e7}.favorite.is-favorite svg{fill:#6955e71a}.card-actions .favorite{height:44px;min-height:44px}
.catalog-note{margin:18px 4px 0;display:flex;gap:8px;font-size:10px;line-height:1.7;color:#72809a}.catalog-note svg{width:16px;height:16px;flex:none;margin-top:2px}
.bottom-nav{position:fixed;z-index:20;display:flex;left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:calc(100% - 28px);max-width:430px;gap:5px;padding:6px;border:1px solid var(--edge);border-radius:27px;background:var(--surface);box-shadow:0 9px 36px #2f508c22,inset 0 1px 1px #fff;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}
.bottom-nav button{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-height:56px;border:0;border-radius:21px;background:transparent;color:#7c8da8;font-size:10px;font-weight:650;padding:6px}.bottom-nav button svg{width:21px;height:21px}.bottom-nav button.selected{background:linear-gradient(130deg,#ffffffed,#dce8ffba);color:#3463cf;box-shadow:0 2px 7px #5072ad14,inset 0 1px 0 #fff}
body:not(.is-start){padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))}body.has-install-tray{padding-bottom:calc(215px + env(safe-area-inset-bottom,0px))}
.install-tray{position:fixed;z-index:22;left:50%;bottom:calc(94px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:calc(100% - 28px);max-width:430px;min-height:88px;display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--edge);border-radius:25px;background:var(--surface-strong);box-shadow:0 10px 40px #2d558b26,inset 0 1px 0 #fff;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}
#trayIcon{flex:none}#trayIcon .app-icon,#trayIcon .app-icon img{width:45px;height:45px;border-radius:13px}.tray-copy{flex:1;min-width:0;gap:3px;display:flex;flex-direction:column}.tray-copy strong{font-size:13px;font-weight:750;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tray-copy>span{font-size:11px;line-height:1.5;color:#637b9d}.tray-copy #trayBytes{font-size:10px}.tray-spinner{position:relative;width:28px;height:28px;flex:none;border:3px solid #dae5f7;border-top-color:#4074ed;border-radius:50%;animation:spin 1.2s linear infinite}.tray-spinner i{display:none}.install-tray .primary{font-size:11px;line-height:1.5;min-height:44px;min-width:80px;width:auto;margin:0;padding:10px 12px;border-radius:14px}.install-tray[data-state=ready]{border-color:#b9ddca}.install-tray[data-state=error]{border-color:#efc8c8}.install-tray progress{width:100%;height:4px;accent-color:#4771ed;margin-top:3px}
.subview{padding-top:25px;min-height:350px}.subview>.eyebrow{font-size:10px;color:#69809d}.subview>.muted{font-size:13px;margin:12px 0 22px}.download-item{display:flex;align-items:center;gap:12px;margin:10px 0;padding:16px;border:1px solid var(--edge);border-radius:22px;background:var(--surface);box-shadow:0 4px 15px #52719f0b;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.download-item>div{flex:1;min-width:0}.download-item h3{font-size:14px;line-height:1.4;margin:0 0 4px;overflow-wrap:anywhere}.download-item p{font-size:11px;line-height:1.5;color:#6b809e;margin:0}.download-item .secondary{min-width:80px;padding:10px;font-size:11px;min-height:44px}.download-item .app-icon,.download-item .app-icon img{width:47px;height:47px;border-radius:14px}
.empty{padding:32px 18px;border:1px solid var(--edge);border-radius:22px;background:var(--surface);font-size:13px;line-height:1.9;color:#6d819e;text-align:center}.account-box{max-width:none;margin-top:24px;padding:24px 21px;border:1px solid var(--edge);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.account-box h2{font-size:20px;overflow-wrap:anywhere;letter-spacing:-.5px}.account-box .profile-label{font-size:10px;letter-spacing:1.5px;color:#7a8ead}.account-box p{font-size:12px;line-height:1.8}.account-box .tiny{font-size:11px}.account-box hr{border:0;border-top:1px solid var(--line);margin:22px 0}.account-box .secondary{width:100%;margin-top:18px}.account-box .form-icon{background:var(--surface-soft);color:#4b70cc;border-radius:16px}.account-appearance{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line);font-size:13px;font-weight:700}.account-appearance button{width:auto;margin:0;font-size:12px}
dialog{color:var(--ink);background:var(--surface-strong);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:0 25px 100px #20396638;max-height:calc(100svh - 40px);overflow:auto;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}dialog::backdrop{background:#22345a42;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}#appDialog,#officePayment{width:calc(100% - 28px);max-width:440px;padding:28px 22px}#appDialog .detail-top h2{font-size:24px;line-height:1.25}#appDialog .detail-note{font-size:13px;line-height:1.8}#appDialog .tiny{font-size:11px}.detail-facts{font-size:12px}#officePayment h2{font-size:24px}#officePayment p{font-size:13px;line-height:1.8}#officePayment input{font-size:16px;background:var(--surface-strong)}#officePayment button:not(.primary){min-height:44px}.toast{z-index:70;background:#253c63;color:white;font-size:12px;line-height:1.7;border-radius:16px;box-shadow:0 7px 25px #172d6030;max-width:calc(100% - 32px);bottom:calc(180px + env(safe-area-inset-bottom,0px))}
.site-foot{border:0;font-size:10px;margin:36px 4px 20px;color:#8593aa}.site-legal,.is-start .site-legal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 18px;font-size:10px;padding:0;margin:22px 0 14px;color:#7586a1}.site-legal a,.is-start .site-legal a{display:inline-flex;align-items:center;min-height:36px}.site-legal .payment-mark,.is-start .site-legal .payment-mark{color:#8997b0;font-size:20px;letter-spacing:-.7px;width:100%;text-align:center;line-height:1.5;margin:2px 0 0}
.cookie-notice{background:var(--surface);border:1px solid var(--edge);border-radius:22px;color:#697b96;box-shadow:0 4px 20px #4263990c;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.cookie-notice a{color:#3d67b1}.cookie-notice button{background:var(--surface-strong);border:1px solid var(--line);color:#4264a3;border-radius:13px}.cookie-notice p{font-size:11px;line-height:1.8}
/* Public preview and documents use the same visual language. */
.page-head{height:76px;border:0;justify-content:flex-start;gap:8px}.page-head .head-link{margin-left:auto;min-height:44px;padding:8px 12px;background:var(--surface);border-color:var(--edge);color:#4d6b9a;box-shadow:0 3px 10px #4e73b00b}.page-head .logo{font-size:24px}.page-head .logo img{width:32px;height:32px}.page-head .appearance-trigger{flex:none}
.intro{padding-top:32px;text-align:left;position:relative}.intro>.eyebrow{background:var(--surface);border:1px solid var(--edge);border-radius:99px;padding:6px 11px;font-size:8px;letter-spacing:1.1px;color:#607ba3;gap:7px}.intro>.eyebrow i{font-size:17px}.intro h1{font-size:clamp(36px,7.9vw,66px);letter-spacing:-1.8px;line-height:1.12;margin:22px 0 17px}.intro-copy{font-size:14px;line-height:1.85;color:#627896}.intro>.cta{margin-top:24px;min-height:54px}.intro>.cta-note{text-align:center;font-size:10px;color:#7889a5}.preview-window{background:var(--surface);border:1px solid var(--edge);box-shadow:var(--shadow);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-radius:var(--radius);padding:22px 18px;margin-top:28px;transform:rotate(-1deg)}.window-label{font-size:9px;color:#6d82a3}.window-spark{color:#6a68e9}.preview-window h2{font-size:25px;color:#263f67;letter-spacing:-.8px}.preview-app{background:var(--surface);border:1px solid #ffffffb0;box-shadow:0 3px 12px #5778aa08;border-radius:15px;padding:11px 8px;gap:8px}.preview-app strong{font-size:11px;color:#385377}.preview-app img{width:37px;height:37px;border-radius:11px}.preview-app span:not(.app-arrow){font-size:9px;color:#7990b0}.window-note{font-size:10px;color:#7185a4}.how,.faq{padding-top:49px}.how>h2,.faq>h2{font-size:30px;letter-spacing:-1.2px;line-height:1.2;color:#243b60}.steps{gap:12px}.steps li{padding:18px 16px;border:1px solid var(--edge);border-radius:22px;background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);gap:13px}.step-number{display:grid;place-items:center;width:30px;height:30px;border-radius:11px;background:#e4edff;color:#4d72c4;padding:0;flex:none;font-size:10px}.steps h3{font-size:14px;color:#344e76}.steps p{font-size:12px;color:#6e829e;line-height:1.8}.price-card{background:var(--surface);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.price-card h2{font-size:29px}.price-line strong{color:#315ed2}.price-card>p{color:#6a7e9c}.service-note{border-color:var(--line)}.faq details{border-color:#d3dff0}.faq summary{color:#344f78}.faq details p{color:#6a7e9d}.last-call h2{color:#243c63}.page-footer{border-color:#d8e2f0}.page-footer nav a,.page-footer nav button{color:#6d81a0}.payment-logo{color:#7187a8}.legal{border-radius:var(--radius)}.legal h1,.legal h2{color:#263f66}.legal p,.legal li{color:#607693}.legal .document-notice{background:var(--surface);border-color:var(--edge);color:#586f93}.legal .legal-table{background:var(--surface);border-color:var(--line)}.legal th{background:#eaf0fa}.legal code{background:#e7eef9;color:#45618c}.document-button{background:var(--surface);border-color:var(--line);color:#3b62a4}
/* Installation handoff keeps all native link validation and polling intact. */
.handoff .auth-card{position:relative}
body.handoff-page{display:block;padding:0 16px calc(28px + env(safe-area-inset-bottom,0px));min-height:100svh}.handoff{max-width:430px;margin:0 auto;padding:0;text-align:left}.handoff-head{display:flex;align-items:center;justify-content:space-between;gap:12px;height:88px}.handoff-head .brand{justify-content:flex-start;margin:0;font-size:25px}.handoff .auth-card{display:block;max-width:none;min-height:0;text-align:left;border:1px solid var(--edge);border-radius:32px;background:var(--surface);box-shadow:var(--shadow);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);padding:27px 23px;margin:12px 0 0}.handoff-kicker{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1.1px;color:#7086a8;font-weight:750}.handoff-kicker:before{content:"";width:6px;height:6px;border-radius:50%;background:#6b8bdf}.handoff-emblem{display:grid;place-items:center;width:76px;height:76px;margin:23px 0;background:linear-gradient(145deg,#ffffffda,#dae6ff8c);border:1px solid #ffffffdf;box-shadow:0 8px 23px #5275b51c,inset 0 2px 0 #fff;border-radius:24px;position:relative}.handoff-emblem img{width:49px;height:49px}.handoff-emblem:after{content:"✓";position:absolute;right:-4px;bottom:-3px;display:none;place-items:center;width:25px;height:25px;border:3px solid #eff7ff;border-radius:50%;background:#2aa585;color:white;font-size:12px;font-weight:800}.handoff:has(#installLink:not([hidden])) .handoff-emblem:after{display:grid}.handoff .auth-card h1{font-size:29px;letter-spacing:-1px;line-height:1.22;margin:0 0 13px;overflow-wrap:anywhere}.handoff .auth-card .muted{font-size:13px;line-height:1.85;color:#647c9d;margin:0;min-height:48px}.handoff .progress-lines{gap:6px;display:flex;margin:23px 0 8px}.handoff .progress-lines i{height:5px;border-radius:6px;background:#dce7f6;width:33.333%}.handoff .progress-lines i.on{background:#5a7fe8}.progress-captions{display:flex;justify-content:space-between;gap:8px;color:#8191aa;font-size:9px;line-height:1.5;margin-bottom:23px}.handoff .primary{margin:0;min-height:54px;width:100%;font-size:13px;line-height:1.5}.handoff .handoff-back{display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px;margin-top:11px;background:#ffffff65;border-color:#d6e2f2;font-size:12px;color:#627ca3}.handoff .auth-card>.tiny{font-size:11px;line-height:1.8;color:#7487a5;padding-top:18px;border-top:1px solid #dce5f1;margin:20px 0 0}.handoff .handoff-tip{display:flex;align-items:flex-start;gap:9px;padding:19px 9px;font-size:11px;line-height:1.8;color:#7589a6;text-align:left;margin:0}.handoff-tip svg{width:17px;height:17px;stroke:#6c87b2;flex:none;margin-top:2px}.handoff .loading-orbit{height:28px;width:28px;min-height:28px;position:absolute;right:26px;top:26px;margin:0;background:none}.handoff .loading-orbit:before{inset:0;width:28px;height:28px;border:3px solid #dce6f6;border-top-color:#6387e9}.handoff .loading-orbit>img{display:none}.handoff .error{font-size:12px;line-height:1.8}.handoff #retryStatus{width:100%;margin-top:15px}
@media(min-width:761px){.shell,.is-start .shell{padding-inline:40px}.top,.is-start .top{height:88px}.office-wallet{margin-top:12px}.catalog-heading{margin-top:32px}.catalog-toolbar{max-width:none}.app-grid{grid-template-columns:1fr 1fr}.app-card:nth-child(odd){border-right:1px solid #dce6f28a}.app-card:nth-last-child(2):nth-child(odd){border-bottom:0}.app-card{padding-inline:20px}.bottom-nav{max-width:420px}.install-tray{max-width:420px}.intro{text-align:center;max-width:950px}.intro>.cta{display:inline-flex;min-width:280px}.intro-copy{font-size:17px}.preview-window{max-width:640px;padding:28px}.preview-app img{width:44px;height:44px}.preview-app strong{font-size:13px}.steps li{flex-direction:column}.appearance-dialog{padding:28px}.handoff{padding-top:20px}.handoff-head{height:90px}.handoff .auth-card{margin-top:18px}}
@media(max-width:350px){.shell,.is-start .shell{padding-inline:12px}.top,.is-start .top{gap:6px;height:70px}.brand,.is-start .brand{font-size:22px;gap:5px}.brand-symbol,.is-start .brand-symbol{width:30px;height:30px}.access-back,.is-start .access-back{font-size:10px;gap:3px}.office-wallet,.is-start .office-wallet{padding:14px}.office-wallet strong{font-size:23px}.office-wallet span{max-width:145px}.office-wallet .primary{font-size:10px;max-width:105px;padding-inline:9px}.catalog-heading h1,.subview h1{font-size:27px}.app-main{gap:9px}.app-main .app-icon,.app-icon,.app-icon img{width:46px;height:46px;border-radius:13px}.app-card{padding-inline:10px;gap:4px}.app-card .app-info strong{font-size:12px}.card-actions{width:71px}.get,.card-actions .get{width:71px;min-width:71px;font-size:10px}.catalog-check{padding:9px 10px;gap:7px}.catalog-check strong{font-size:11px}.catalog-check p{font-size:10px}.page-head .head-link{font-size:9px;padding-inline:9px;gap:4px}.page-head .logo{font-size:21px;gap:4px}.page-head .logo img{width:27px;height:27px}.page-head{gap:6px}.preview-app{gap:6px;padding-inline:7px}.preview-app strong{font-size:10px}.preview-app img{width:30px;height:30px}.appearance-options{gap:8px}.appearance-dialog{padding-inline:16px}.appearance-sample{height:104px}.handoff .auth-card{padding:24px 19px}.handoff .auth-card h1{font-size:27px}}
@media(prefers-reduced-transparency:reduce){:root{--surface:#fff;--surface-strong:#fff;--blur:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--surface:#fdfdff;--surface-strong:#fff}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Compact mobile catalogue: leave room for applications above the fold. */
.catalog-heading{padding:0;margin:22px 0 17px}
.office-wallet,.is-start .office-wallet{padding:14px 17px}
.office-wallet small,.is-start .office-wallet small{line-height:1.4;margin:0}
.office-wallet strong,.is-start .office-wallet strong{font-size:23px;line-height:1.3;margin:0}
.office-wallet #officeIdentity,.is-start #officeIdentity{display:none}
.catalog-check[data-status=idle]{min-height:60px;padding:7px 13px}
.catalog-check[data-status=idle] p{display:none}
.license-filters{margin-bottom:8px}
.section-title{flex-wrap:wrap;gap:6px 9px}
.section-title>.custom-app{margin:0 0 0 auto;min-width:0}
.section-title .custom-app-summary{padding:0;min-height:44px;justify-content:flex-end;gap:0}
.section-title .custom-app-summary>span:first-child{display:none}
.section-title .custom-app-summary>span:last-child{font-size:11px}
.section-title>.custom-app:has(details[open]){flex-basis:100%;margin:0}
.section-title .custom-app-content{margin-bottom:8px}
@media(max-width:760px){.top,.is-start .top{height:70px}.catalog-heading{margin-top:20px}}
@media(max-width:350px){.office-wallet,.is-start .office-wallet{padding:13px 14px}.office-wallet strong,.is-start .office-wallet strong{font-size:22px}.section-title h2{font-size:16px}.section-title .custom-app-summary>span:last-child{font-size:10px}}

.top>.round{width:44px;min-width:44px;height:44px;min-height:44px}
.top>#accountButton{margin-left:auto}

/* Catalogue discovery: visible primary tabs, extra filters on demand. */
.brand-symbol,.logo>img,.handoff-emblem>img,.connection-tile>img{background:transparent!important}
.catalog-discovery{position:relative;z-index:4;padding:9px;border:1px solid var(--edge);border-radius:23px;background:var(--surface);box-shadow:0 6px 22px #4a6ca40c;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);margin:0 0 5px}
.catalog-discovery .catalog-toolbar{margin:0 0 8px;gap:0}
.catalog-discovery .search{min-height:49px;border-radius:16px;background:#ffffff86;border:1px solid #ffffffad;box-shadow:inset 0 1px 1px white;gap:10px;padding:0 13px}
.catalog-discovery .search input{min-height:47px;height:47px;padding:10px 0;font-size:16px}
.catalog-discovery .search input::placeholder{font-size:14px;color:#7b8da6}
.search input::-webkit-search-cancel-button{display:none}
#clearSearch{display:grid;place-items:center;flex:none;width:44px;min-width:44px;height:44px;border:0;background:transparent;padding:11px;color:#8a9ab2}
#clearSearch svg{width:19px;height:19px}
.discovery-controls{display:flex;align-items:stretch;gap:6px;min-width:0}
.catalog-segments{display:flex;align-items:center;gap:3px;flex:1;min-width:0;border-radius:14px;padding:3px;background:#e3ebf48a}
.catalog-segments button{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:0;min-height:44px;padding:9px 8px;border:1px solid transparent;border-radius:12px;background:transparent;color:#7b8ca6;font-size:12px;font-weight:700;line-height:1.4;white-space:nowrap}
.catalog-segments svg{width:16px;height:16px;stroke-width:1.8}
.catalog-segments button.active{background:#ffffffeb;border-color:#ffffffeb;box-shadow:0 2px 8px #45699b10;color:#2f61d1}
.catalog-segments [data-license=favorites].active svg{fill:#3a6cd216}
.catalog-filter{flex:none;min-width:0}
.catalog-filter>summary{display:flex;align-items:center;justify-content:center;gap:6px;min-height:50px;padding:10px 10px;list-style:none;border:1px solid #dce6f1bd;border-radius:14px;background:#ffffff65;color:#7386a5;cursor:pointer;font-size:11px;font-weight:650;white-space:nowrap}
.catalog-filter>summary::-webkit-details-marker{display:none}.catalog-filter>summary svg{width:18px;height:18px;stroke-width:1.6}
.catalog-filter[open]>summary,.catalog-filter.is-filtered>summary{color:#3564c4;background:#e6eeff;border-color:#d4e0fa}
.filter-options{position:absolute;top:calc(100% + 7px);right:0;width:min(290px,100%);z-index:12;padding:9px;border:1px solid #ffffffd9;border-radius:20px;background:#f9fbfff5;box-shadow:0 14px 36px #31517e26;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.filter-options>p{font-size:10px;color:#8b9bb1;padding:4px 9px;margin:0 0 5px;line-height:1.5}
.filter-options>button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:11px 12px;border:0;border-radius:12px;background:transparent;text-align:left;color:#5c7395;font-size:12px;line-height:1.5}
.filter-options>button svg{width:17px;height:17px;visibility:hidden;color:#3d6ed5}.filter-options>button.active{background:#e8efff;color:#3564c4}.filter-options>button.active svg{visibility:visible}
.filter-options .filter-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;padding-top:7px;border-top:1px solid #e3eaf4;overflow:visible}
.filter-options .filter-row[hidden]{display:none!important}.filter-options .filter-row button{font-size:11px;min-height:44px}
.catalog-check[data-status=idle]{min-height:44px;margin:3px 3px 9px;padding:0 3px;background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.catalog-check[data-status=idle] strong{font-size:11px;font-weight:550;color:#8294ae}
.catalog-check[data-status=idle] button{background:transparent;color:#5e7eae;font-size:11px;padding:7px 9px;min-height:44px}
/* Artwork always fills its container, including larger detail and history icons. */
.app-icon>img{width:100%!important;height:100%!important;max-width:none;border-radius:inherit!important;object-fit:cover;display:block}
/* Compact accessible detail sheet; empty metadata blocks are not rendered. */
#appDialog{max-height:calc(100svh - 24px);padding:18px 20px calc(20px + env(safe-area-inset-bottom,0px));border-radius:28px;background:var(--surface-strong);scroll-padding-block:18px}
#appDialog .sheet-grab{width:34px;height:4px;border-radius:4px;background:#cfd9e8;margin:0 auto 25px}
#appDialog .close-dialog{top:10px;right:10px;width:44px;height:44px;min-width:44px;min-height:44px;border:0;box-shadow:none;background:transparent;color:#7f94b2;z-index:2}
#appDialog .close-dialog:focus-visible{outline:2px solid #6f95e1;outline-offset:0}
#appDialog .detail-top{display:flex;align-items:center;gap:15px;padding:0;margin:0 0 18px;min-width:0}
#appDialog .detail-top .app-icon{width:68px;height:68px;min-width:68px;border-radius:19px;margin:0;box-shadow:0 5px 14px #365c9614}
#appDialog .detail-heading{min-width:0;flex:1}
#appDialog .detail-kicker{margin:0 0 6px;font-size:8px;font-weight:700;line-height:1.5;letter-spacing:1px;color:#92a1b7}
#appDialog .detail-top h2{font-size:23px;line-height:1.2;letter-spacing:-.7px;margin:0 0 7px;overflow-wrap:anywhere}
#appDialog .detail-top .muted{font-size:11px;line-height:1.6;color:#7b8eaa;margin:0}
#appDialog .detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 17px}
#appDialog .detail-facts>div{display:block;border:0;background:#edf2faad;border-radius:13px;padding:10px 12px;font-size:11px;line-height:1.6;min-width:0}
#appDialog .detail-facts dt{color:#8a9ab2;font-size:10px}#appDialog .detail-facts dd{max-width:none;text-align:left;margin:3px 0 0;color:#526e96;font-weight:650}
#appDialog .detail-variants{margin:0 0 17px;border:1px solid #e2eaf5;border-radius:16px;overflow:hidden}
#appDialog .detail-variants>summary{display:flex;align-items:center;gap:8px;min-height:46px;padding:11px 13px;list-style:none;font-size:12px;color:#6682a9;cursor:pointer}
#appDialog .detail-variants>summary::-webkit-details-marker{display:none}#appDialog .detail-variants>summary:after{content:'⌄';margin-left:auto;font-size:17px;color:#9cacc1}
#appDialog .detail-variants[open]>summary:after{content:'⌃'}.variant-count{font-size:10px;background:#e8eef8;border-radius:7px;padding:2px 6px;color:#8b9fba}
#appDialog .variants{padding:0 8px 8px;margin:0;max-height:240px;overflow-y:auto}
#appDialog .variants li{margin:5px 0;padding:11px;background:#edf2f9;border-radius:11px;gap:4px}
#appDialog .variants strong{font-size:12px;line-height:1.5;font-weight:650;color:#5b7599}#appDialog .variants span,#appDialog .variants small{font-size:10px;line-height:1.6;color:#8a9db7}
#appDialog .detail-note{display:flex;align-items:flex-start;gap:9px;padding:14px;margin:0 0 19px;background:#edf3fcba;border-radius:16px;color:#7c90ad;font-size:12px;line-height:1.75}
#appDialog .detail-note svg{width:18px;height:18px;flex:none;margin-top:2px;color:#86a0c7}
#appDialog #downloadButton{min-height:54px;margin:0;font-size:13px;line-height:1.5;border-radius:16px}
#appDialog>p.tiny{font-size:10px;line-height:1.7;text-align:center;margin:12px 0 0;color:#94a3b9}
@media(max-width:760px){#appDialog{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));top:auto;margin:0;width:calc(100% - 20px);max-width:none}}
@media(max-width:350px){.catalog-discovery{padding:7px;border-radius:20px}.catalog-segments button{font-size:11px;gap:5px;padding-inline:6px}.catalog-segments svg{width:14px;height:14px}.catalog-filter>summary{padding-inline:8px;font-size:10px;gap:5px}.catalog-filter>summary svg{width:16px;height:16px}.catalog-discovery .search{padding-inline:11px}#appDialog{padding-inline:17px}#appDialog .detail-top{gap:12px}#appDialog .detail-top .app-icon{width:60px;height:60px;min-width:60px;border-radius:17px}#appDialog .detail-top h2{font-size:21px}}

/* Reachable support and documents on public, account and installer pages. */
.support-contact{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 9px;min-height:48px;padding:11px 14px;border:1px solid var(--edge);border-radius:16px;background:var(--surface);box-shadow:0 3px 14px #4d72a00a;color:#6680a4;text-decoration:none;line-height:1.6}
.support-contact>span{font-size:10px}.support-contact>strong{font-size:12px;font-weight:650;color:#466da9;overflow-wrap:anywhere}.support-contact>b{font-size:15px;font-weight:400;color:#91a6c5}
.site-legal>.support-contact{width:100%;max-width:420px;min-height:48px;margin-top:8px;gap:5px 9px}
.page-footer>.support-contact{width:fit-content;max-width:100%;margin:18px auto 0}
.page-footer nav{flex-wrap:wrap}.page-footer nav a,.site-legal>a{overflow-wrap:anywhere}
.handoff-support{max-width:430px;margin:0 auto;padding:0 0 14px}.handoff-support nav{display:flex;justify-content:center;flex-wrap:wrap;gap:5px 18px;margin:10px 0 0;font-size:10px;line-height:1.7;color:#7c90ab}.handoff-support nav a{display:inline-flex;align-items:center;min-height:44px}
.legal>.support-contact{justify-content:flex-start;max-width:100%;margin:22px 0}
.legal .document-notice a{color:#466dac}
