/* Public browser shell; the companion's compact calculator stays intact. */
.topbar{min-height:0;margin-bottom:0}.sidebar{overflow-y:auto}.sidebar-bottom{padding-top:24px}
.sidebar-utility{display:flex;align-items:center;justify-content:space-between;gap:4px}.sidebar-utility p{margin:0;min-width:0}.sidebar-bottom small{display:block;margin-top:12px}#sidebar-theme-slot{display:flex;flex-shrink:0}
/* A 36px circle inside a 44px click target keeps the control compact and easy to use. */
.theme-toggle{position:relative;isolation:isolate;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;font-size:18px}.theme-toggle::before{content:"";position:absolute;inset:4px;z-index:-1;border:1px solid var(--line);border-radius:50%;background:var(--card)}
.store-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.store-badges a{display:flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none;border:0;background:transparent;padding:0}.store-badges img{display:block;object-fit:contain;max-width:100%;flex-shrink:0}.app-store-badge{width:120px;height:40px}.google-play-badge{width:135px;height:40px}/* Google PNG artwork includes transparent clear space around its 40px badge. */.google-play-badge.google-play-padded,.google-play-badge[data-badge-retried="true"]{width:155px;height:60px}.badge-fallback{font-size:13px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.browser-note{max-width:850px;font-size:12px;letter-spacing:0;line-height:1.6;margin:0}.site-notice{border:1px solid var(--line);padding:12px 16px;border-radius:12px;background:var(--soft);font-size:13px;margin-bottom:14px}.site-notice p{margin:0}.site-notice button{margin-top:6px}
#offline-status{font-size:11px;letter-spacing:.2px;color:var(--muted)}.site-dialog h2{padding-right:12px;font-size:28px}.site-dialog p{font-size:15px}.site-dialog .secondary{margin-top:8px;width:100%}
/* Allow text zoom and extremely long labels to reflow instead of widening the page. */
main,.card,.default-group,.load-config,.cost-workspace{min-width:0}.store-badges a,.field-reset{overflow-wrap:anywhere}.cost-readout:focus-visible,.metric-value:focus-visible{outline:3px solid var(--focus)}
@media(max-width:620px){.store-badges{gap:8px}.store-badges a{flex:none}.site-dialog h2{font-size:26px}}
.sidebar .store-badges{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0 0 20px}.sidebar .store-badges a{min-height:44px}.sidebar .store-badges .app-store-badge{width:108px;height:36px}.sidebar .store-badges .google-play-badge{width:121.5px;height:36px}.sidebar .store-badges .google-play-padded,.sidebar .store-badges [data-badge-retried="true"]{width:139.5px;height:54px}#mobile-apps-slot:empty{display:none}#mobile-apps-slot{grid-column:1/-1}#mobile-theme-slot{display:flex}
@media(max-width:880px){.topbar{min-height:48px;margin-bottom:12px}.site-footer #mobile-apps-slot{margin-bottom:8px}.site-footer .store-badges{gap:8px 12px}}
.browser-storage-settings{margin-bottom:16px}.browser-storage-settings p{font-size:13px;color:var(--muted);margin:8px 0 0}.browser-storage-settings .information-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px}.information-links a,.legal-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.footer-links{display:flex;gap:20px;flex-wrap:wrap;width:100%;letter-spacing:0}.legal-page{max-width:800px;margin:0 auto;overflow-wrap:anywhere}.legal-page h1{font:400 36px/1.15 Georgia,serif;letter-spacing:-.6px;margin:12px 0}.legal-page h2{font-size:23px;margin:30px 0 10px}.legal-page p{max-width:75ch}.legal-lead{font-size:17px;color:var(--ink);padding:16px;background:var(--soft);border-radius:12px}.legal-date{font-size:12px;color:var(--muted)}.legal-nav{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:8px}.legal-nav:last-child{margin-top:30px;border-top:1px solid var(--line);border-bottom:0;padding-top:12px}.legal-standalone main{margin:0 auto;max-width:900px;padding:24px 20px 40px}.legal-standalone .brand{display:flex;margin-bottom:12px}.legal-standalone .brand-icon{display:block}.legal-standalone .brand-name{font-size:22px}.legal-standalone footer{max-width:800px;margin-inline:auto}
@media(prefers-color-scheme:dark){body.legal-standalone{--paper:#14241e;--card:#1e3027;--ink:#f0efe6;--muted:#b6c5b8;--forest:#b0d0b9;--line:#3a4e40;--soft:#304737;--focus:#dfc08c;color-scheme:dark}}
@media(max-width:620px){.legal-page h1{font-size:30px}.legal-page h2{font-size:22px}}

/* Lower the divider with the footer; align the final text baselines across both blocks. */
.site-footer{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,3fr);align-items:end;align-items:last baseline;gap:8px 24px;margin-top:40px}.footer-left{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.site-footer .footer-brand{font-size:9px;letter-spacing:1.3px}.site-footer .browser-edition{font-size:12px;line-height:1.6}.site-footer .footer-links{font-size:13px;line-height:1.5}.site-footer .browser-note{max-width:none;min-width:0}.contact-card{margin-top:20px}.contact-card h2{margin-top:0}.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.contact-field{display:flex;flex-direction:column;gap:6px;min-width:0}.contact-field label{font-size:13px;white-space:nowrap}.contact-field label>.label-optional{display:inline;margin:0;font-weight:400}.contact-field input,.contact-field select,.contact-field textarea{width:100%;box-sizing:border-box;min-height:44px;font:400 14px/1.5 system-ui,sans-serif;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.contact-field textarea{min-height:140px;resize:vertical}.contact-field-full{grid-column:1/-1}.contact-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.contact-status{font-size:13px;line-height:1.5;margin-top:12px}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form-note{font-size:12px;color:var(--muted)}
@media(max-width:620px){.site-footer,.contact-fields{grid-template-columns:minmax(0,1fr)}.site-footer{gap:12px}.contact-field-full{grid-column:auto}}
