/* Ray+ brand system v1.0 — shared tokens and application surfaces. */
:root{
  --pine:#143F37;
  --green:#1C6955;
  --mint:#E9F2EC;
  --gold:#E6C879;
  --gold-ink:#76571F;
  --jade:#8FB3A0;
  --ink:#203A34;
  --muted:#62756B;
  --paper:#F7F8F4;
  --cream:#F4F0E5;
  --line:#DEE7DE;
  --focus:#8D671F;
}
body{background:#E5EBE4;background-image:radial-gradient(circle at 20% 15%,#F4F0E5 0,transparent 52%)}
.app-frame{background:var(--paper)}
.app-header{background:#FFFFFFF5;border-bottom-color:var(--line);box-shadow:0 3px 16px #143F3708}
.app-header:after{content:"";position:absolute;top:0;right:0;left:0;height:2px;background:linear-gradient(90deg,transparent 4%,var(--gold) 50%,transparent 96%);opacity:.72;pointer-events:none}
.brand{gap:10px}.brand-mark{width:39px;height:39px}.brand-name{color:var(--pine);font-size:20px;letter-spacing:-.7px}.brand-caption{color:var(--muted);font-size:10px}
.icon-btn{background:var(--cream);color:var(--pine)}.icon-btn:active{background:#E9E7D9}
.header-title strong{color:var(--pine)}.header-title small{color:var(--muted)}
.greeting .eyebrow{color:var(--muted);font-size:12px}.greeting strong{color:var(--pine)}
.location-pill{background:#EAF1E9;color:var(--green);font-size:11px}
.hero{background:var(--pine);box-shadow:0 14px 30px #143F3726;border:1px solid #426B59;isolation:isolate}
.hero:before{background:radial-gradient(ellipse at 16% 35%,#8FB3A032,transparent 63%)}
.hero:after{content:"";position:absolute;inset:13px auto auto 13px;width:114px;height:145px;border:1px solid #E6C87931;border-radius:58px 58px 0 0;transform:rotate(-10deg);pointer-events:none}
.hero-tag{color:#F4E4B5;font-size:11px}.hero-tag span{background:var(--gold)}
.hero p{color:#DBE8DE;font-size:11px;line-height:2.05}
.hero .hero-button{background:var(--gold);color:var(--pine);min-height:44px;padding:9px 14px;font-size:12px;box-shadow:0 4px 12px #0D302921}
.hero .hero-button:active{background:#D7B95F}
.hero-footnote{color:var(--muted);font-size:10px}
.quick-action{color:var(--ink);font-size:11px}.quick-action .icon-box{background:#fff;border-color:var(--line);box-shadow:0 3px 10px #143F3708}.quick-action .icon-box svg{color:var(--green)}.quick-action:active .icon-box{background:var(--mint)}
.quick-section{margin-bottom:23px}.quick-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.quick-heading h2{font-size:15px;color:var(--pine)}.quick-heading .text-button{min-height:40px;padding:0 5px}
.quick-section .quick-row{margin-bottom:3px}.quick-action{position:relative;touch-action:pan-y;user-select:none;-webkit-user-select:none;transition:transform .16s ease}.quick-action .icon-box{transition:border-color .16s,background .16s,box-shadow .16s}.quick-action.is-dragging{z-index:12;transition:none;pointer-events:none}.quick-action.is-dragging .icon-box{background:var(--cream);border-color:var(--gold-ink);box-shadow:0 9px 22px #143F373D}.quick-action.is-drop-target .icon-box{border:2px dashed var(--green);background:var(--mint)}
.quick-hint{text-align:center;font-size:10px;color:var(--muted);line-height:1.8;margin-top:3px}.quick-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.quick-pick{background:#fff;border:1px solid var(--line);border-radius:14px;min-height:94px;padding:9px 5px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-size:11px;text-align:center}.quick-pick .app-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--tint);color:var(--tone)}.quick-pick .app-icon svg{width:20px;height:20px}.quick-pick small{font-size:9px;color:var(--green)}
.quick-slot-list{margin-top:16px}.quick-edit-list{margin-top:16px}.quick-edit-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff}.quick-edit-name{display:flex;align-items:center;gap:7px;min-width:0;font-size:11px}.quick-edit-name .app-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;background:var(--mint);color:var(--green);border-radius:9px}.quick-edit-name .app-icon svg{width:18px;height:18px}.quick-edit-actions{display:flex;gap:4px}.quick-edit-actions button{min-width:34px;min-height:36px;padding:3px 6px;border:1px solid var(--line);border-radius:9px;background:var(--paper);font-size:11px}.quick-edit-actions button:last-child{color:var(--green);font-weight:700}.quick-edit-actions button:disabled{opacity:.35}
.quick-reset{width:100%;margin-top:18px}
.section-title h2{color:var(--pine);font-size:16px}.section-dot{background:var(--gold);width:4px;height:17px}
.trip-teaser,.mini-card,.action-card,.content-card,.place-card,.trip-item,.prayer-section{border-color:var(--line);box-shadow:0 3px 14px #143F3708}
.trip-teaser{background:linear-gradient(110deg,#fff 58%,#F4F0E5);border-radius:20px}
.trip-teaser .icon-box{background:var(--mint);color:var(--green)}
.mini-card{min-height:118px;border-radius:18px;padding:14px 7px 11px;gap:7px}.mini-card .app-icon{width:43px;height:43px;border-radius:14px}.mini-card strong{font-size:12px;line-height:1.65;color:var(--pine)}.mini-card small{font-size:10px;line-height:1.55;color:var(--muted)}
.mini-card:hover,.action-card:hover{border-color:#B8CCBB;box-shadow:0 7px 18px #143F3712}
.mini-card:active,.action-card:active,.trip-teaser:active{transform:scale(.985)}
.bottom-nav{background:#FFFFFFFA;border-top-color:var(--line);box-shadow:0 -9px 20px #143F3709}
.nav-item{color:#65786E;font-size:10px}.nav-icon{height:32px;width:43px}.nav-item[aria-current=page]{color:var(--pine)}.nav-item[aria-current=page] .nav-icon{background:var(--pine);color:white;border-radius:12px;box-shadow:0 4px 10px #143F3728}.nav-badge{background:var(--gold);color:var(--pine)}
.page-heading h1{color:var(--pine);font-size:24px}.page-heading p{color:var(--muted);font-size:12px}
.mini-hero{background:var(--tint,var(--mint));border:1px solid #DDE8DC;min-height:150px;border-radius:23px;isolation:isolate}
.mini-hero:after{width:145px;height:172px;top:auto;bottom:-70px;left:-25px;opacity:.17;border:2px solid var(--tone,var(--green));border-radius:75px 75px 0 0;box-shadow:0 0 0 17px #FFFFFF42,0 0 0 33px #FFFFFF24}
.mini-hero .app-icon{color:var(--tone,var(--green));background:#FFFFFFC9;box-shadow:0 2px 10px #143F370A}.mini-hero h1{color:var(--pine)}.mini-hero p{color:#455F51;font-size:12px}.mini-badge{color:var(--gold-ink);background:#FFFFFFB8;font-size:10px}
.primary-button{background:var(--pine);color:white;border-radius:13px;min-height:46px;font-size:12px}.primary-button:active{background:var(--green)}
.secondary-button{color:var(--green);border-color:#BDCEC0;background:#fff;min-height:44px;font-size:12px}.secondary-button:active{background:var(--mint)}
.text-button,.source-link{color:var(--green)}.text-button{font-size:11px}
.chip{font-size:11px;min-height:40px}.chip.selected{background:var(--pine);color:#fff;border-color:var(--pine)}
.search-box{border-color:#C9D8CD}.search-box:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #1C69551A}
.search-box input{font-size:13px}
.action-card{border-radius:17px}.action-card>.app-icon{background:var(--mint);color:var(--green)}.action-copy strong{color:var(--pine)}.action-copy p{color:var(--muted)}
.content-card h2,.place-card h2{font-size:14px;color:var(--pine)}.content-card p,.place-card p{font-size:12px;line-height:1.95;color:var(--muted)}
.tag{background:var(--cream);color:var(--gold-ink);font-size:10px}
.app-message,.note{background:#EAF1E9;color:#455F51;font-size:11px}
.empty-state{background:#EEF4ED;border-color:#BFD1C2}.empty-state h2{color:var(--pine)}.empty-state p{font-size:12px}
.profile-card,.balance{background:var(--pine);position:relative;overflow:hidden;isolation:isolate}
.profile-card:before,.balance:before{content:"";position:absolute;width:120px;height:150px;left:-20px;bottom:-72px;border:1px solid #E6C87950;border-radius:70px 70px 0 0;box-shadow:0 0 0 18px #E6C8790A;z-index:-1}
.profile-card .avatar{background:var(--gold);color:var(--pine)}.profile-card p,.balance p{color:#D5E4D8}
.trip-stat>div{background:var(--mint);color:#486457}.trip-stat strong{color:var(--pine)}
.tabs button.active{color:var(--pine);border-bottom-color:var(--gold)}
.assistant-prompt{border-color:var(--line)}.assistant-prompt svg{color:var(--gold-ink)}.chat-reply{background:var(--mint);border-color:#D8E5D9}.chat-reply strong{color:var(--pine)}
.map-destination.selected{background:#EDF5ED;border-color:var(--green)}.map-destination.shrine{border-color:#D8C487}.map-destination.shrine.selected{background:#FBF6E7;border-color:#A78339}.map-destination-icon{background:var(--mint);color:var(--green)}.map-destination.shrine .map-destination-icon{background:#F4E7BE;color:var(--gold-ink)}
.map-route-summary{background:var(--mint)}.ray-map-pin.shrine{background:var(--gold);border-color:var(--gold-ink);color:var(--pine)}
.prayer-number{background:var(--mint);color:var(--green)}.prayer-arabic{color:var(--pine)}
.toast{background:#143F37F2}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media(max-width:359px){.mini-card{min-height:114px;padding:11px 4px}.mini-card strong{font-size:11px}.mini-card small{font-size:9px}.hero .hero-button{font-size:11px}.nav-item{font-size:9px}.quick-hint{font-size:9px}.quick-edit-name strong{font-size:10px}.quick-edit-actions button{min-width:30px;padding:3px 4px}}
@media(prefers-reduced-motion:reduce){.mini-card,.action-card,.trip-teaser{transition:none}}

/* Readable mobile defaults; keep the fixed application shell in styles.css. */
.brand-caption{font-size:12px;white-space:nowrap}
.brand-name{white-space:nowrap}
.header-title strong{line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-title small{font-size:12px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.greeting{gap:8px}.greeting>div,.section-title h2{min-width:0}.location-pill{flex:none;font-size:12px}
.hero-tag,.hero p,.hero-footnote,.quick-action,.quick-hint,.section-title p,.text-button,.mini-card small,.action-copy p,.teaser-copy p,.note,.app-message,.profile-card p,.balance p,.switch-row small,.trip-stat>div,.page-heading p,.mini-hero p,.map-privacy,.map-credit,.map-origin-status,.map-route-summary span,.source-meta,.source-link,.source-warning{font-size:12px}
.mini-card strong,.action-copy strong,.teaser-copy strong,.quick-edit-name,.quick-edit-name strong{font-size:14px}
.content-card h2,.place-card h2{font-size:16px}
.content-card p,.place-card p,.empty-state p,dialog p{font-size:14px;line-height:1.95}
.nav-item{font-size:12px}.nav-icon{height:30px}
.search-box input,.form-field input,.form-field textarea,.form-field select{font-size:16px}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.source-meta{color:var(--muted)}.source-warning{color:#89552F}
.quick-pick{font-size:12px}.quick-pick small{font-size:12px}
.map-destination .action-copy strong{font-size:14px}
.map-tools .secondary-button{font-size:12px;line-height:1.8;white-space:normal}
.map-panel .leaflet-control-attribution{font-size:11px;line-height:1.7}
.quick-action{min-width:0;text-align:center}.quick-action>span:last-child{max-width:100%;white-space:normal;overflow-wrap:break-word}

/* The visible switch track stays compact; its button owns a full touch area. */
.icon-btn{width:44px;min-width:44px;height:44px;min-height:44px}
.remove,dialog .close-sheet{width:44px;min-width:44px;height:44px;min-height:44px;flex:none}
dialog .close-sheet{left:12px;top:11px}
dialog h2{padding-inline-end:44px}
.chip,.quick-heading .text-button,.quick-edit-actions button{min-width:44px;min-height:44px}
.quick-edit-actions button{min-width:44px;padding:5px 7px;font-size:12px}
.source-link,.map-credit a{display:inline-flex;align-items:center;min-width:44px;min-height:44px}
.toggle{position:relative;width:48px;min-width:48px;height:44px;min-height:44px;padding:0;background:transparent;display:inline-flex;align-items:center;justify-content:flex-start;flex:none}
.toggle:before{content:"";position:absolute;inset:9.5px 0;background:#BBC8BD;border-radius:20px}
.toggle:after{position:relative;width:19px;height:19px;margin:0 4px;z-index:1}
.toggle[aria-checked=true]{background:transparent;justify-content:flex-end}
.toggle[aria-checked=true]:before{background:var(--green)}
.map-panel .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}
.ray-map-pin{width:max-content;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;font-size:12px;line-height:1.7;max-width:160px;white-space:normal}

/* Selected state must survive the shrine colour override and remain identifiable. */
.ray-map-pin.shrine.selected{background:var(--pine);border-color:var(--gold);color:#fff}
.ray-map-pin.selected:after,.chip.selected:after,.map-tools .secondary-button.selected:after{content:"✓";display:inline-block;margin-inline-start:6px;font-weight:700}
.map-destination.selected:after{content:"✓";display:grid;place-items:center;width:22px;min-width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font-size:14px;font-weight:700}

button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 2px #fff}
.quick-edit-actions button:disabled{opacity:1;color:#6D7D70;background:#EDF1EB;border-color:#D8E1D6;box-shadow:none;cursor:default}
.quick-edit-actions button:disabled:active{transform:none}
.sheet-feedback{background:var(--mint);border-color:#BDCEC0;color:var(--pine)!important;font-size:12px!important}

/* Explicit sizes also cover components added after the original text-size rules. */
.large-text .brand-caption,.large-text .header-title small{font-size:12px}
.large-text .hero-tag,.large-text .hero-footnote,.large-text .quick-hint,.large-text .quick-pick small,.large-text .source-meta,.large-text .source-link,.large-text .source-warning,.large-text .mini-card small,.large-text .action-copy p,.large-text .teaser-copy p,.large-text .note,.large-text .app-message,.large-text .profile-card p,.large-text .balance p,.large-text .switch-row small,.large-text .trip-stat>div,.large-text .map-privacy,.large-text .map-credit,.large-text .map-origin-status,.large-text .map-destination .action-copy p,.large-text .map-route-summary span{font-size:14px}
.large-text .mini-card strong,.large-text .action-copy strong,.large-text .teaser-copy strong,.large-text .quick-edit-name,.large-text .quick-edit-name strong,.large-text .map-destination .action-copy strong,.large-text .content-card p,.large-text .place-card p,.large-text .empty-state p,.large-text .assistant-prompt,.large-text .chat-reply,.large-text .primary-button,.large-text .secondary-button,.large-text .text-button,.large-text .chip,.large-text .tabs button,.large-text .page-heading p,.large-text .mini-hero p,.large-text .hero p,.large-text .form-field span{font-size:16px}
.large-text .content-card h2,.large-text .place-card h2,.large-text .section-title h2{font-size:18px}
.large-text .quick-action,.large-text .quick-pick,.large-text .quick-edit-actions button,.large-text .hero .hero-button,.large-text .toast{font-size:14px}
.large-text .nav-item{font-size:12px}
.large-text dialog p,.large-text dialog .primary-button,.large-text dialog .secondary-button{font-size:16px}
.large-text .sheet-feedback{font-size:14px!important}
.large-text .prayer-arabic{font-size:22px;line-height:2.4}
.large-text .prayer-translation{font-size:18px;line-height:2.2}
.large-text .search-box input,.large-text .form-field input,.large-text .form-field textarea,.large-text .form-field select{font-size:18px}
.large-text .ray-map-pin{font-size:14px}
.large-text .map-tools .secondary-button{font-size:16px}

@media(max-width:359px){
  .mini-card strong{font-size:14px}.mini-card small,.nav-item,.quick-hint,.hero .hero-button{font-size:12px}
  .quick-edit-row{flex-wrap:wrap}.quick-edit-name{width:100%;font-size:14px}.quick-edit-name strong{font-size:14px}
  .quick-edit-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(44px,1fr))}.quick-edit-actions button{min-width:44px;padding:5px 7px}
  .card-footer{flex-wrap:wrap}.section-title{align-items:flex-start}
  .large-text .app-grid,.large-text .quick-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .large-text .hero-copy{width:100%}.large-text .shrine-art{opacity:.18}
}
@media(prefers-reduced-motion:reduce){
  .quick-action,.quick-action .icon-box{transition:none}
  .mini-card:active,.action-card:active,.trip-teaser:active{transform:none}
}

/* Compact service launchers: the name may wrap, but is never clipped. */
.app-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.mini-card{min-height:88px;height:auto;padding:8px 5px;gap:5px;justify-content:center;border-radius:16px}
.mini-card .app-icon{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:12px}
.mini-card .app-icon svg{width:20px;height:20px}
.mini-card strong{max-width:100%;font-size:13px;line-height:1.45;letter-spacing:0;overflow-wrap:anywhere}
.mini-card small{display:none}
.large-text .mini-card{min-height:104px}
.large-text .mini-card strong{font-size:16px}
.brand>div{min-width:0}.brand-caption{overflow:hidden;text-overflow:ellipsis}
.action-copy,.teaser-copy,.page-heading,.mini-hero,.content-card,.place-card{min-width:0;overflow-wrap:anywhere}
.app-header,.bottom-nav,main{min-width:0;width:100%;max-width:100%}
.header-title{overflow:hidden}.header-actions>.icon-btn{flex-shrink:0}
.mini-badge,.tag,.place-card .label,.map-label,.balance small,.form-field span{font-size:12px}
.nav-badge{min-width:20px;height:20px;font-size:12px}
.prayer-number{font-size:12px;line-height:1.5}
.switch-row strong{font-size:14px}
.large-text .mini-badge,.large-text .tag,.large-text .place-card .label,.large-text .map-label,.large-text .balance small,.large-text .prayer-number{font-size:14px}
.large-text .switch-row strong{font-size:16px}
.large-text .trip-stat strong,.large-text .quick-heading h2{font-size:18px}
.trip-item .action-copy p{font-size:12px}.large-text .trip-item .action-copy p{font-size:14px}

/* UI language is inherited; the Arabic reading face remains independent. */
html[lang=fa] body{font-family:Yekan,Tahoma,sans-serif}
html[lang=ar] body{font-family:Yekan,"Geeza Pro","Noto Naskh Arabic",Tahoma,sans-serif}
html[lang=en] body{font-family:"SF Pro Display",system-ui,-apple-system,sans-serif;line-height:1.65}
button,input,textarea,select,.map-panel .leaflet-container,.ray-map-pin{font-family:inherit}
html[lang=en] .brand-name,html[lang=en] .greeting strong,html[lang=en] .hero h1,html[lang=en] .page-heading h1,html[lang=en] .mini-hero h1,html[lang=en] .section-title h2{letter-spacing:0}
.prayer-arabic{direction:rtl}

/* Logical placement follows dir without reflecting geographic map content. */
.app-header,.bottom-nav,.page,dialog{direction:inherit}
.action-card,.assistant-prompt,.map-destination,.header-title,.teaser-copy{text-align:start}
.notification-dot{left:auto;right:auto;inset-inline-start:12px}
.nav-badge{left:auto;right:auto;inset-inline-end:calc(50% + 5px)}
dialog .close-sheet{left:auto;right:auto;inset-inline-end:12px}
.shrine-art{left:auto;right:auto;inset-inline-end:-12px}
.hero:after{inset:auto;inset-block-start:13px;inset-inline-end:13px}
.mini-hero:after{left:auto;right:auto;inset-inline-end:-25px}
.mini-badge{left:auto;right:auto;inset-inline-end:17px}
.profile-card:before,.balance:before{left:auto;right:auto;inset-inline-end:-20px}
.chat-reply{border-radius:18px;border-start-start-radius:4px}
.map-label{left:auto;right:auto;inset-inline-end:10px}
.ray-map-pin{left:auto;right:auto;inset-inline-start:0;text-align:start;border-radius:14px;border-end-start-radius:2px}
html[dir=ltr] .hero:after{transform:rotate(10deg)}
html[dir=ltr] .map-panel .leaflet-container{direction:ltr}
html[dir=ltr] .ray-map-pin.place-bazaar{transform:translate(45px,-13px)}
html[dir=ltr] .chat-reply,html[dir=ltr] .prayer-translation{direction:ltr}
html[dir=ltr] svg[data-icon=arrow],html[dir=ltr] svg[data-icon=back]{transform:scaleX(-1)}

/* Native labels retain their own script and direction in either UI language. */
.language-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:none;min-height:44px;padding:0 8px;border:1px solid #C6D8CD;border-radius:14px;background:var(--mint);color:var(--pine);font-size:12px;font-weight:700;white-space:nowrap}
.language-button>svg{width:17px;height:17px}.language-button>svg[data-icon=chevron-down]{width:12px;height:12px}
.language-button:active{background:#DCE9DF}.header-actions{flex:none}
.language-picker{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;max-width:100%;margin-block-start:16px}
.language-picker button{display:flex;align-items:center;gap:14px;width:100%;min-width:0;min-height:68px;padding:12px 16px;border:1px solid #BDCEC0;border-radius:15px;background:#fff;color:var(--pine);text-align:start;line-height:1.5}
.language-option-copy{flex:1;min-width:0}.language-option-copy strong{display:block;font-size:17px;font-weight:700}.language-option-copy small{display:block;font-size:12px;color:var(--muted);margin-block-start:3px}
.language-picker button[aria-pressed=true]{border-color:var(--green);background:var(--mint);box-shadow:inset 0 0 0 1px var(--green)}
.language-option-check{display:grid;place-items:center;flex:none;width:25px;height:25px;border:1.5px solid #BDCEC0;border-radius:50%}
.language-option-check svg{width:17px;height:17px;stroke-width:2.2}
.language-picker button[aria-pressed=true] .language-option-check{border-color:var(--green);background:var(--green);color:#fff}
.language-picker bdi[lang=fa],.language-button bdi[lang=fa]{font-family:Yekan,Tahoma,sans-serif}
.language-picker bdi[lang=ar],.language-button bdi[lang=ar]{font-family:Yekan,"Geeza Pro","Noto Naskh Arabic",Tahoma,sans-serif}
.language-picker bdi[lang=en],.language-button bdi[lang=en]{font-family:"SF Pro Display",system-ui,-apple-system,sans-serif}
.large-text .language-option-copy strong{font-size:19px}.large-text .language-option-copy small{font-size:14px}
.source-link{max-width:100%;flex-wrap:wrap}.source-link bdi{min-width:0;max-width:100%;overflow-wrap:anywhere}

@media(max-width:359px){
  .app-header{gap:8px}.app-header .brand-caption{display:none}.brand{gap:7px}.brand-mark{width:34px;height:34px;flex:none}
  .language-button{padding-inline:6px;gap:4px}
  .shrine-art{inset-inline-end:-24px}
  .large-text .app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Keep the fixed navigation labels aligned in the narrowest mobile frame. */
.nav-item{padding:0;line-height:1.6}
.nav-item .nav-icon{flex-shrink:0}
.nav-item>span:not(.nav-icon):not(.nav-badge){white-space:nowrap}
