/* Pass 01 measurements are a visual specification, not inherited style code. */
/* Pass 22 — bright/light tokens; Pass 01 geometry and navigation remain unchanged. */
*{box-sizing:border-box}html{scroll-behavior:auto;touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--type-ui-body)/1.6 var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.38;cursor:not-allowed}button,select,input,textarea{outline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--copper)}a{color:inherit}p{margin:0}h1,h2,h3{font-family:var(--head);letter-spacing:-.028em;margin:0;font-weight:700;line-height:1.35}h1{font-size:23px}h2{font-size:20px}h3{font-size:16px}.glyph{flex:0 0 auto;vertical-align:middle}button .glyph{pointer-events:none}.skip-link{position:absolute;left:10px;top:-80px;padding:8px;background:var(--white);z-index:10000}.skip-link:focus{top:calc(10px + var(--safe-top))}.app-shell{max-width:1050px;margin:auto;padding:20px 16px calc(96px + env(safe-area-inset-bottom,0px));min-height:calc(100dvh - 69px)}.app-header{height:calc(69px + var(--safe-top));padding-top:var(--safe-top);background:var(--white);border-bottom:1px solid var(--outline-faint);position:relative;z-index:15}.header-inner{max-width:1050px;margin:auto;padding:0 16px;height:100%;display:grid;grid-template-columns:minmax(0,1fr) clamp(122px,39vw,230px);align-items:center;column-gap:10px}.brand{border:0;background:transparent;padding:0;display:flex;align-items:center;gap:8px;text-align:left;color:var(--ink);text-decoration:none;min-width:0;overflow:hidden}.brand-logo{position:relative;flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;isolation:isolate;border:1px solid #d8b7a5;border-radius:13px;background:#fff9f5;color:var(--copper-strong);box-shadow:inset 0 0 0 3px #fff,0 1px 2px rgba(63,33,20,.045)}.brand-logo:before{content:"";position:absolute;inset:5px;border:1px solid rgba(167,70,36,.18);border-radius:50%}.brand-monogram{position:relative;z-index:1;display:block;font:700 29px/.95 var(--head);transform:translate(-1px,0);letter-spacing:-.06em}.brand-plate{position:absolute;left:10px;right:10px;bottom:8px;height:7px;border-bottom:1.3px solid var(--copper);border-radius:0 0 50% 50%;opacity:.9}.brand-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;line-height:1.15}.brand-title{display:block;font:700 21px/1.2 var(--head);color:var(--ink);letter-spacing:-.035em;white-space:nowrap}.brand-title em{font-style:normal;color:var(--copper-strong);margin-left:2px}.brand-copy small{font:400 9px/1.6 var(--head);color:var(--text-secondary);margin-top:4px;white-space:nowrap}.header-tools{display:flex}.section-line{display:flex;justify-content:space-between;gap:10px;align-items:center}.section-line h2{font-size:var(--type-section-title)}.footer{margin:38px 0 8px;padding:23px 2px 4px;border-top:1px solid var(--outline-faint);font:400 var(--type-small)/1.5 var(--font-ui);color:var(--muted)}.footer-utility{display:flex;flex-direction:column;gap:14px;}
.footer-utility-head{display:flex;flex-direction:column;gap:3px;text-align:left;}
.footer-utility-head h2{font:700 var(--type-section-title)/1.4 var(--head);color:var(--ink);}
.footer-utility-head p{font:400 var(--type-small)/1.5 var(--font-ui);color:var(--text-secondary);}
.footer-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.footer-action{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:54px;padding:9px 6px;text-align:center;color:var(--copper);background:var(--surface-elevated);border:1px solid var(--outline);border-radius:12px;font:500 12px/1.3 var(--font-ui);}
.footer-action .glyph{flex:none;width:16px;height:16px;}
.footer-action span{min-width:0;overflow-wrap:anywhere;}
.footer-action:hover{background:var(--surface-tint);}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:3px 12px;padding-top:12px;border-top:1px solid var(--outline-faint);color:var(--muted);font:400 var(--type-micro)/1.5 var(--font-ui);}
.footer-bottom small{font:inherit;}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;margin:auto;width:min(100%,520px);background:var(--white);border:1px solid var(--outline);border-bottom:0;border-radius:20px 20px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px 9px calc(4px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 28px rgba(84,53,28,.04);z-index:20}.bottom-nav .nav-item{grid-row:1;position:relative;z-index:1}.bottom-nav .nav-item:nth-of-type(1){grid-column:1}.bottom-nav .nav-item:nth-of-type(2){grid-column:2}.bottom-nav .nav-item:nth-of-type(3){grid-column:3}.bottom-nav .nav-item:nth-of-type(4){grid-column:4}.nav-rail-pill{grid-row:1;position:relative;z-index:0;pointer-events:none;background:var(--accent-subtle);border-radius:14px;animation:rb-nav-pill-travel var(--motion-medium) var(--motion-ease) both}.bottom-nav.is-switching .nav-item.active{background:transparent}.bottom-nav.is-switching .nav-item.active .glyph{animation:rb-nav-icon-enter var(--motion-medium) var(--motion-ease) both}.bottom-nav.is-switching .nav-item.active span{animation:rb-nav-label-enter var(--motion-medium) var(--motion-ease) both}.app-shell.is-tab-entering{animation:rb-tab-content-enter var(--motion-medium) var(--motion-ease) both}@keyframes rb-nav-pill-travel{from{transform:translateX(var(--nav-move));opacity:.86}to{transform:translateX(0);opacity:1}}@keyframes rb-nav-icon-enter{from{transform:translateY(3px) scale(.94)}to{transform:translateY(0) scale(1)}}@keyframes rb-nav-label-enter{from{opacity:.65}to{opacity:1}}@keyframes rb-tab-content-enter{from{opacity:.74}to{opacity:1}}.nav-item{transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;min-height:54px;color:var(--text-secondary);border-radius:14px;font:500 var(--type-small)/1.35 var(--font-ui)}.nav-item.active{color:var(--copper);background:var(--accent-subtle);font-weight:700}.nav-item .glyph{width:22px;height:22px}.global-timer{position:fixed;z-index:19;bottom:calc(79px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);border:1px solid var(--outline-strong);background:var(--copper);box-shadow:0 10px 25px #54290e33;color:white;display:flex;align-items:center;justify-content:center;gap:6px;min-width:185px;border-radius:25px;padding:9px 17px;font-size:var(--type-support)}.global-timer[hidden]{display:none!important}body.has-overlay{overflow:hidden}
@media(min-width:700px){.app-shell{padding:26px 24px 115px}.header-inner{padding:0 24px}.bottom-nav{width:480px}.footer{margin-top:48px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Pass 45: intentional reading zoom remains available. Double-tap on controls
   must not magnify the layout, and ordinary app chrome should not select. */
#rbApp, #rbDialogs { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
#rbApp :is(input,textarea,[contenteditable="true"]),
#rbDialogs :is(input,textarea,[contenteditable="true"]) {
  -webkit-user-select: text; user-select: text; -webkit-touch-callout: default;
}
#rbApp img, #rbDialogs img { -webkit-user-drag: none; }
/* iOS Safari zooms the entire viewport when an editing control has <16px type.
   Keep this within the common form/control owner, not screen-by-screen patches. */
@media (max-width: 900px), (pointer: coarse) {
  #rbApp :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
  #rbDialogs :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
    font-size: 16px;
  }
}


/* Shared accessible helper for descriptive form instructions. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* RB08P5: quiet, two-part header — restored monogram + unified search/filter. */
.rb-header-simple .brand-with-logo{justify-self:start;width:100%;min-width:0;}
.rb-header-simple .brand-logo{flex:0 0 40px;width:40px;height:40px;}
.rb-header-simple .brand-monogram{font-size:28px;}
.rb-header-simple .brand-copy{flex:1;min-width:0;overflow:hidden;}
.rb-header-simple .brand-title{font-size:clamp(15px,4.8vw,21px);line-height:1.18;overflow:hidden;}
.rb-header-simple .brand-copy small{font-size:clamp(8px,2.2vw,9px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px;}
.header-search-shell{height:44px;min-width:0;display:flex;align-items:center;border:1px solid var(--outline);border-radius:13px;background:var(--surface-elevated);box-shadow:0 2px 10px rgba(75,42,26,.035);overflow:hidden;}
.header-search-open,.header-filter-open{height:100%;display:flex;align-items:center;justify-content:center;color:var(--copper);background:transparent;border:0;min-width:0;}
.header-search-open{flex:1;justify-content:flex-start;gap:6px;padding:0 4px 0 10px;font:400 12px/1.3 var(--font-ui);}
.header-search-open .glyph,.header-filter-open .glyph{flex:none;}
.header-search-label{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.header-search-divider{background:var(--outline);height:24px;width:1px;flex:0 0 1px;}
.header-filter-open{flex:0 0 40px;color:var(--copper);}
.header-search-open:focus-visible,.header-filter-open:focus-visible{outline:2px solid var(--copper);outline-offset:-3px;}
.header-search-open:hover,.header-filter-open:hover{background:var(--surface-tint);}
@media(max-width:355px){.rb-header-simple{column-gap:7px;padding-left:12px;padding-right:12px;grid-template-columns:minmax(0,1fr) 122px;}.rb-header-simple .brand-with-logo{gap:5px}.rb-header-simple .brand-logo{width:36px;height:36px;flex-basis:36px;}.rb-header-simple .brand-monogram{font-size:25px;}.rb-header-simple .brand-title{font-size:13px;letter-spacing:-.035em;}.rb-header-simple .brand-copy small{font-size:7px}.header-search-open{gap:4px;padding-left:7px}.header-filter-open{flex-basis:38px}.footer-action{padding:7px 4px;font-size:11.5px;gap:3px;min-height:62px;flex-direction:column}.footer-action .glyph{width:18px;height:18px}}
@media(min-width:700px){.rb-header-simple .brand-title{font-size:21px}.header-search-open{font-size:14px}.header-search-shell{height:46px}.header-search-open{padding-left:12px}}
