/* Shared accessible type scale. Viewport fitting never disables zoom or scrolling. See docs/platform-comfort.md. */
:root {
  --ui-title: clamp(1.5rem, 1.375rem + .625vw, 2rem);
  --ui-section: clamp(1.25rem, 1.15rem + .4vw, 1.5rem);
  --ui-subheading: clamp(1.125rem, 1.075rem + .2vw, 1.25rem);
  --ui-body: 1rem;
  --ui-small: .875rem;
  --ui-caption: .8125rem;
  --ui-gutter: clamp(1rem, 2.5vw, 2rem);
  --ui-space: clamp(1.25rem, 2.5vw, 2rem);
}
:is(#root, .corner-comfort) {font-size:var(--ui-body);line-height:1.6}
:is(#root, .corner-comfort) :is(h1,h2,h3,h4,h5,h6) {
  max-inline-size:100%;overflow-wrap:anywhere;letter-spacing:-.025em!important;
  text-wrap:pretty;min-inline-size:0;
}
:is(#root, .corner-comfort) :is(h1,.hero-title) {font-size:var(--ui-title)!important;line-height:1.25!important}
:is(#root, .corner-comfort) h2 {font-size:var(--ui-section)!important;line-height:1.35!important}
:is(#root, .corner-comfort) h3 {font-size:var(--ui-subheading)!important;line-height:1.4!important}
:is(#root, .corner-comfort) :is(h4,h5,h6) {font-size:1rem!important;line-height:1.5!important}
:is(#root, .corner-comfort) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),textarea,select) {
  font-size:var(--ui-body)!important;line-height:1.5;min-inline-size:0;max-inline-size:100%;min-block-size:44px;
}
:is(#root, .corner-comfort) :is(button,input,select,textarea,a,summary) {scroll-margin-block:1rem}
:is(#root, .corner-comfort) :is(button,summary) {overflow-wrap:anywhere}
:is(#root, .corner-comfort) :is(form,fieldset,section,article,aside,main) {min-inline-size:0}
:is(#root, .corner-comfort) :is(p,li,dd,figcaption) {overflow-wrap:anywhere}
:is(#root, .corner-comfort) :is(img,video,iframe) {max-inline-size:100%}


.corner-comfort {--corner-gutter:var(--ui-gutter)}
.corner-comfort :is(.hero-content>p,.post-heading>p,.post-body,.simple-lede,.simple-text,.about-stripe>p) {
  font-size:var(--ui-body);line-height:1.7;max-inline-size:68ch;
}
.corner-comfort .hero-content h1 em {font-size:1em;letter-spacing:inherit}
.corner-comfort :is(.hero-kicker,.eyebrow,.meta,.feed-updated,.post-caps,.read-meta,.story-count,.story-top .category) {
  font-size:var(--ui-caption);line-height:1.5;letter-spacing:.04em;
}
.corner-comfort :is(.story-excerpt,.now-panel>p,.account-intro>p:not(.eyebrow)) {font-size:var(--ui-body);line-height:1.6}
.corner-comfort .hero-intro {min-height:0;padding-block:var(--ui-space);gap:var(--ui-space)}
.corner-comfort .hero-kicker {margin-bottom:.75rem}
.corner-comfort .hero-content>p {margin-top:.75rem}
.corner-comfort .hero-cta {margin-top:1rem}
.corner-comfort .feed-section {padding-block:var(--ui-space)}
.corner-comfort .feed-heading {margin-bottom:1rem;flex-wrap:wrap}
.corner-comfort :is(.simple-page,.category-hero) {padding-block:var(--ui-space);min-height:0}
.corner-comfort .simple-page h1,.corner-comfort .category-hero h1 {margin-block:.5rem .75rem}
.corner-comfort .simple-text {margin-block:1.5rem;padding-top:1rem}
.corner-comfort .post-article {margin-top:var(--ui-space)}
.corner-comfort .post-heading {margin-bottom:1.25rem}
.corner-comfort .post-body {margin-block:1.5rem}
.corner-comfort .crumb {margin-top:1.25rem;flex-wrap:wrap}
.corner-comfort .about-stripe {padding-block:var(--ui-space);gap:var(--ui-space)}
.corner-comfort .about-stripe h2 {margin:0}
.corner-comfort .site-footer {padding-block:1.5rem;margin-top:1.5rem;gap:1rem}
.corner-comfort .end-mark {margin-top:1.5rem}
.corner-comfort .stories {gap:1rem}
.corner-comfort .story {min-height:0;padding:1.25rem}
.corner-comfort .story-featured {min-height:0;padding:1.25rem;gap:1rem}
.corner-comfort .empty-feed {min-height:0;padding:2rem 1rem}
.corner-comfort .now-panel {min-height:0;padding:1.25rem}
.corner-comfort .next-story>a {font-size:var(--ui-section);line-height:1.4;letter-spacing:-.025em;gap:1rem}
.corner-comfort :is(.v3-year strong,.v3a-kpi strong,.admin-kpi strong) {font-size:1.75rem;line-height:1.3;letter-spacing:-.025em}
.corner-comfort :is(.v3m-hero,.v3w-heading) {padding-block:1.25rem;margin-block:0 1rem}
.corner-comfort :is(.v3m-studio,.v3w-page,.v3a-page) {padding-block:var(--ui-space)}
.corner-comfort :is(.v3w-grid,.v3a-layout,.v3m-studio-grid) {gap:1rem}


.corner-comfort .signin-wrap {
  display:flex;flex-direction:column;align-items:center;min-height:100vh;min-height:100dvh;
  padding:max(.75rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));
}
.corner-comfort .signin-box {
  width:min(100%,26rem);max-width:100%;margin-block:auto;flex-shrink:0;padding:1.25rem;
  border-radius:16px;box-shadow:0 8px 32px -24px rgba(0,0,0,.3);
}
.corner-comfort .admin-signin-mark {width:36px;height:36px;font-size:1.35rem;margin-bottom:.5rem;border-radius:11px}
.corner-comfort .signin-box>.eyebrow {margin:0;font-size:.75rem;letter-spacing:.07em}
:is(#root,.corner-comfort) .signin-box h1 {font-size:1.75rem!important;margin:.25rem 0 .5rem}
.corner-comfort .signin-box>p:not(.eyebrow) {max-width:none;font-size:1rem;line-height:1.5;margin:0}
.corner-comfort .signin-box form {gap:.625rem;margin:.875rem 0 .5rem}
.corner-comfort .signin-box label {font-size:.875rem;line-height:1.4;gap:.25rem}
.corner-comfort .signin-box input {padding:.5rem .75rem;min-height:44px;border-radius:9px}
.corner-comfort .signin-box form button {min-height:44px;padding:.625rem .875rem;font-size:1rem;line-height:1.4}
.corner-comfort .signin-box>a {display:inline-flex;align-items:center;min-height:36px;font-size:.875rem;line-height:1.5}
.corner-comfort .signin-box .admin-message:empty {display:none}
.corner-comfort .signin-box .admin-message {min-height:0;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}


.corner-comfort .account-shell {width:min(calc(100% - 2 * var(--ui-gutter)),72rem)}
.corner-comfort .account-top {min-height:64px;gap:.75rem;flex-wrap:wrap;padding-block:.5rem}
.corner-comfort .account-main {gap:var(--ui-space);padding-block:1.25rem;align-items:start}
.corner-comfort .account-intro {min-height:0;justify-content:flex-start}
.corner-comfort .account-intro h1 {margin:.25rem 0 .5rem}
.corner-comfort .account-intro>p {margin-block:.5rem}
.corner-comfort .account-geometry {display:none}
.corner-comfort .account-card {padding:1.25rem;border-radius:16px}
.corner-comfort .account-field {font-size:.875rem;line-height:1.5;gap:.375rem}
.corner-comfort .account-field input {min-height:44px;padding:.5rem .75rem}
.corner-comfort .account-field small {font-size:.8125rem;line-height:1.5}
.corner-comfort .account-pass-wrap {display:flex;gap:.375rem;align-items:stretch}
.corner-comfort .account-pass-wrap input {min-width:0;flex:1;padding-right:.75rem}
.corner-comfort .account-reveal {position:static;flex:none;min-height:44px;font-size:.875rem;padding:.5rem .625rem}
.corner-comfort :is(.account-submit,.account-cta-link) {font-size:1rem;min-height:44px;line-height:1.5;padding:.625rem .875rem}
.corner-comfort .account-bottom {flex-wrap:wrap;gap:.75rem;padding-block:.75rem}
.corner-comfort :is(.account-help,.account-status,.account-response,.account-footer-links a) {font-size:.875rem;line-height:1.6}


.corner-comfort .admin-main {padding:var(--ui-space)}
.corner-comfort .admin-top {margin-bottom:1rem;gap:1rem;flex-wrap:wrap}
.corner-comfort .admin-sidebar {min-height:0;height:100dvh;overflow-y:auto}
.corner-comfort .admin-grid {gap:.75rem}
.corner-comfort .admin-kpi {min-height:0;padding:1rem}
.corner-comfort .admin-kpi p {margin:0 0 .375rem;font-size:.875rem}
.corner-comfort :is(.admin-surface,.admin-comment,.preview-card) {padding:1.125rem}
.corner-comfort .admin-two-col {gap:1rem}
.corner-comfort :is(.editor label,.admin-form label,.admin-hint) {font-size:.875rem;line-height:1.5;white-space:normal}
.corner-comfort :is(.editor-actions button,.admin-form button,.admin-nav button,.admin-secondary,.admin-primary) {min-height:44px;line-height:1.4}
.corner-comfort .admin-table {max-width:100%;overflow:auto}
.corner-comfort :is(.admin-table td,.admin-table td strong) {font-size:.875rem}
.corner-comfort .search-field input {font-size:1rem!important}

@media(max-width:767px) {
  .corner-comfort .signin-box {padding:1rem}
  .corner-comfort .signin-box form {margin-top:.75rem}
  :is(#root,.corner-comfort) .signin-box h1 {font-size:1.5rem!important}
  .corner-comfort .account-main {grid-template-columns:minmax(0,1fr);gap:.75rem;padding-block:1rem}
  .corner-comfort .account-card {width:100%;max-width:none;padding:1rem}
  .corner-comfort .admin-shell .admin-sidebar {height:auto;overflow:visible}
  .corner-comfort .admin-shell .admin-nav :is(button,.admin-v3-link) {height:auto;max-height:none;min-height:44px}
  .corner-comfort .admin-shell .admin-top>div:last-child {max-width:100%;white-space:normal;overflow-wrap:anywhere}
}
@media(max-height:600px) {
  .corner-comfort .signin-box {margin-block:0}
  .corner-comfort .admin-sidebar {position:relative;height:auto}
}
@media(prefers-reduced-motion:reduce) {
  :is(#root,.corner-comfort) :is(h1,h2,h3) {animation:none!important;transition:none!important;filter:none!important}
}
/* Native file controls must shrink with the editor instead of their UA text width. */
.corner-comfort input[type=file] {width:100%;min-width:0}
