/* Stable Yume Phone UI
   One handset, one navigation system, four local apps. No dashboard cards. */

.phone-companion.yume-stable-phone .jamie-phone-screen{
  --yp-bg:#ebe7da;
  --yp-paper:#f8f5eb;
  --yp-ink:#1f211d;
  --yp-muted:#6d6d64;
  --yp-line:#aaa99f;
  --yp-yellow:#ffdd3f;
  --yp-dark:#262823;
  background:var(--yp-bg)!important;
  color:var(--yp-ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
}

/* Keep the physical screen predictable. */
.phone-companion.yume-stable-phone .phone-content{
  position:relative!important;
  min-height:0!important;
  overflow:hidden!important;
  background:var(--yp-bg)!important;
}
.phone-companion.yume-stable-phone .phone-tab{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin!important;
  scrollbar-color:#8d8e86 transparent!important;
}
.phone-companion.yume-stable-phone .phone-contacts-layer[hidden]{display:none!important}

/* Status and header: simple handset chrome, not a web-app hero. */
.phone-companion.yume-stable-phone .phone-status{
  height:18px!important;
  min-height:18px!important;
  padding:0 9px!important;
  border:0!important;
  border-bottom:1px solid #11120f!important;
  background:var(--yp-dark)!important;
  color:#f7f3e7!important;
  font:700 7px/18px Arial,Helvetica,sans-serif!important;
  box-shadow:none!important;
}
.phone-companion.yume-stable-phone .phone-status-right{
  color:#d7d5cc!important;
  font-size:6.5px!important;
}
.phone-companion.yume-stable-phone .phone-contact-bar{
  min-height:46px!important;
  padding:5px 8px!important;
  border:0!important;
  border-bottom:2px solid #22231f!important;
  background:var(--yp-yellow)!important;
  box-shadow:none!important;
}
.phone-companion.yume-stable-phone .phone-contact-avatar{
  border:1px solid #23241f!important;
  border-radius:4px!important;
  background:#f7f0ca!important;
  color:#20211d!important;
  box-shadow:none!important;
}
.phone-companion.yume-stable-phone .phone-contact-name b{
  color:#20211d!important;
  font:800 11px/1 Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .phone-contact-name span{
  margin-top:3px!important;
  color:#62571d!important;
  font:700 7px/1 Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .phone-back,
.phone-companion.yume-stable-phone .phone-icon-button,
.phone-companion.yume-stable-phone .yume-dev-phone-header-button{
  border:1px solid #4e4a2c!important;
  border-radius:3px!important;
  background:#f7e977!important;
  color:#1e1f1b!important;
  box-shadow:none!important;
}

/* Bottom navigation. */
.phone-companion.yume-stable-phone .phone-nav,
.phone-companion.yume-stable-phone .phone-nav:has([data-phone-contacts]),
.phone-companion.yume-stable-phone .phone-nav.phone-primary-contacts{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  height:48px!important;
  flex-basis:48px!important;
  gap:0!important;
  border:0!important;
  border-top:2px solid #272823!important;
  background:#e3dfd3!important;
  box-shadow:none!important;
}
.phone-companion.yume-stable-phone .phone-nav button{
  height:48px!important;
  padding:4px 1px 3px!important;
  gap:3px!important;
  border:0!important;
  border-right:1px solid #b4b2a8!important;
  border-radius:0!important;
  background:transparent!important;
  color:#61625b!important;
  font:800 6.3px/1 Arial,Helvetica,sans-serif!important;
  box-shadow:none!important;
}
.phone-companion.yume-stable-phone .phone-nav button:last-child{border-right:0!important}
.phone-companion.yume-stable-phone .phone-nav button span{
  width:23px!important;
  height:19px!important;
  margin:0!important;
  border:0!important;
  border-radius:2px!important;
  background:transparent!important;
  color:#4a4b45!important;
  font:900 12px/19px Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .phone-nav button.active{
  background:#f5f1e5!important;
  color:#171813!important;
}
.phone-companion.yume-stable-phone .phone-nav button.active span{
  background:var(--yp-yellow)!important;
  color:#171813!important;
}
.phone-companion.yume-stable-phone .phone-nav button.active::after{display:none!important}

/* Shared legacy screens: flatten the card soup. */
.phone-companion.yume-stable-phone .phone-page-title{
  position:sticky!important;
  top:0!important;
  z-index:4!important;
  padding:9px 10px 7px!important;
  border:0!important;
  border-bottom:1px solid var(--yp-line)!important;
  background:#f4f0e5!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.phone-companion.yume-stable-phone .phone-page-title b{
  font:800 12px/1 Arial,Helvetica,sans-serif!important;
  letter-spacing:0!important;
}
.phone-companion.yume-stable-phone .phone-page-title span{
  margin-top:3px!important;
  color:var(--yp-muted)!important;
  font:700 7px/1.2 Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .phone-thread-list article,
.phone-companion.yume-stable-phone .phone-timeline article,
.phone-companion.yume-stable-phone .phone-continuity-card,
.phone-companion.yume-stable-phone .phone-theory,
.phone-companion.yume-stable-phone .phone-note-drawer,
.phone-companion.yume-stable-phone .phone-progress-card,
.phone-companion.yume-stable-phone .phone-progress-grid div,
.phone-companion.yume-stable-phone .phone-setting,
.phone-companion.yume-stable-phone .pc-contact{
  border:0!important;
  border-bottom:1px solid #c0beb4!important;
  border-radius:0!important;
  background:var(--yp-paper)!important;
  box-shadow:none!important;
}
.phone-companion.yume-stable-phone .phone-thread-list,
.phone-companion.yume-stable-phone .phone-timeline,
.phone-companion.yume-stable-phone .pc-directory{
  padding:0!important;
  background:var(--yp-paper)!important;
}
.phone-companion.yume-stable-phone .phone-thread-list article,
.phone-companion.yume-stable-phone .phone-timeline article,
.phone-companion.yume-stable-phone .pc-contact{
  margin:0!important;
  padding:10px!important;
}
.phone-companion.yume-stable-phone .phone-theory,
.phone-companion.yume-stable-phone .phone-note-drawer,
.phone-companion.yume-stable-phone .phone-continuity-card{
  margin:0!important;
  padding:11px!important;
}
.phone-companion.yume-stable-phone .phone-continuity-grid div{
  border:1px solid var(--yp-line)!important;
  border-radius:2px!important;
  background:#ece8dd!important;
  box-shadow:none!important;
}
.phone-companion.yume-stable-phone .phone-continuity-card>a,
.phone-companion.yume-stable-phone .phone-setting button,
.phone-companion.yume-stable-phone .phone-danger-zone button,
.phone-companion.yume-stable-phone .phone-preview{
  border:1px solid #77786f!important;
  border-radius:2px!important;
  background:#ece8dd!important;
  color:#1e1f1b!important;
  box-shadow:none!important;
}
.phone-companion.yume-stable-phone .phone-continuity-card>a:first-of-type,
.phone-companion.yume-stable-phone .phone-setting button{background:var(--yp-yellow)!important}

/* Contacts. */
.phone-companion.yume-stable-phone .phone-contacts-layer{
  z-index:30!important;
  background:var(--yp-paper)!important;
  color:var(--yp-ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .pc-title{
  padding:9px 10px 7px!important;
  border:0!important;
  border-bottom:2px solid #252620!important;
  background:#f4f0e5!important;
  color:#1f201c!important;
}
.phone-companion.yume-stable-phone .pc-title b{font:800 11px/1 Arial,Helvetica,sans-serif!important}
.phone-companion.yume-stable-phone .pc-title span{margin-top:3px!important;color:#696a62!important;font-size:7px!important}
.phone-companion.yume-stable-phone .pc-contact{
  min-height:48px!important;
  grid-template-columns:10px minmax(0,1fr) auto!important;
  gap:8px!important;
}
.phone-companion.yume-stable-phone .pc-contact:hover,
.phone-companion.yume-stable-phone .pc-contact:focus-visible{background:#fff5b4!important}
.phone-companion.yume-stable-phone .pc-contact b{font-size:9px!important}
.phone-companion.yume-stable-phone .pc-contact small,
.phone-companion.yume-stable-phone .pc-state{font-size:6.5px!important}
.phone-companion.yume-stable-phone .pc-chat-head{
  min-height:48px!important;
  padding:6px 8px!important;
  border:0!important;
  border-bottom:2px solid #252620!important;
  background:#f4f0e5!important;
}
.phone-companion.yume-stable-phone .pc-chat-head button{
  border:1px solid #77786f!important;
  border-radius:2px!important;
  background:#e9e4d7!important;
  box-shadow:none!important;
}
.phone-companion.yume-stable-phone .pc-message{
  border-radius:3px!important;
  box-shadow:none!important;
}

/* Apps launcher. */
.phone-companion.yume-stable-phone [data-phone-screen="more"]{
  background:#ddd8cb!important;
}
.phone-companion.yume-stable-phone .yume-apps{
  min-height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  background:#ddd8cb!important;
}
.phone-companion.yume-stable-phone .yume-apps-head{
  padding:15px 14px 11px!important;
  border-bottom:2px solid #292a25!important;
  background:#f3efe3!important;
}
.phone-companion.yume-stable-phone .yume-apps-head b{
  display:block!important;
  color:#1d1e1a!important;
  font:800 17px/1 Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .yume-apps-head span{
  display:block!important;
  margin-top:4px!important;
  color:#66675f!important;
  font:700 7px/1.2 Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .yume-apps-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px 18px!important;
  padding:28px 24px 24px!important;
  align-content:start!important;
}
.phone-companion.yume-stable-phone .yume-app-icon{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#1e1f1b!important;
  box-shadow:none!important;
}
.phone-companion.yume-stable-phone .yume-app-icon>span{
  display:grid!important;
  place-items:center!important;
  width:64px!important;
  height:64px!important;
  border:2px solid #24251f!important;
  border-radius:9px!important;
  background:#f3efe3!important;
  color:#22231f!important;
  box-shadow:3px 3px 0 #95958d!important;
  font:900 27px/1 Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .yume-app-icon>b{
  max-width:88px!important;
  color:#20211d!important;
  font:800 8px/1.1 Arial,Helvetica,sans-serif!important;
  text-align:center!important;
}
.phone-companion.yume-stable-phone .yume-app-blockworld>span{background:var(--yp-yellow)!important}
.phone-companion.yume-stable-phone .yume-app-camera>span{background:#2c2d28!important;color:#f4f0e5!important}
.phone-companion.yume-stable-phone .yume-app-draw>span{background:#d8cfad!important}
.phone-companion.yume-stable-phone .yume-app-scan>span{background:#c6d0c0!important}
.phone-companion.yume-stable-phone .yume-app-icon:hover>span,
.phone-companion.yume-stable-phone .yume-app-icon:focus-visible>span{
  transform:translate(2px,2px)!important;
  box-shadow:1px 1px 0 #74756e!important;
}
.phone-companion.yume-stable-phone .yume-apps-foot{
  margin-top:auto!important;
  padding:8px 10px!important;
  border-top:1px solid #aaa99f!important;
  color:#74756e!important;
  font:800 5.8px/1 Arial,Helvetica,sans-serif!important;
  letter-spacing:.08em!important;
  text-align:center!important;
}

/* Single-app window. */
.phone-companion.yume-stable-phone .yume-app-window{
  position:absolute!important;
  inset:0!important;
  z-index:80!important;
  display:flex!important;
  flex-direction:column!important;
  background:#e6e1d4!important;
  color:#20211d!important;
}
.phone-companion.yume-stable-phone .yume-app-window-head{
  flex:0 0 43px!important;
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) 36px!important;
  align-items:center!important;
  gap:6px!important;
  padding:5px 7px!important;
  border-bottom:2px solid #252620!important;
  background:var(--yp-yellow)!important;
}
.phone-companion.yume-stable-phone .yume-app-window-head button{
  width:32px!important;
  height:31px!important;
  border:1px solid #5e541c!important;
  border-radius:3px!important;
  background:#f7e977!important;
  color:#1c1d19!important;
  font:700 23px/1 Arial!important;
}
.phone-companion.yume-stable-phone .yume-app-window-head b{
  overflow:hidden!important;
  color:#1d1e1a!important;
  font:800 11px/1 Arial,Helvetica,sans-serif!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.phone-companion.yume-stable-phone .yume-app-window-head span{
  color:#62591d!important;
  font:900 6px/1 Arial,Helvetica,sans-serif!important;
  text-align:right!important;
}
.phone-companion.yume-stable-phone .yume-app-window-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding:12px!important;
}

/* Blockworld app. */
.phone-companion.yume-stable-phone .yume-blockworld-app{
  text-align:center!important;
}
.phone-companion.yume-stable-phone .yume-blockworld-logo{
  width:108px!important;
  height:108px!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  margin:12px auto 14px!important;
  border:3px solid #24251f!important;
  background:#22241f!important;
}
.phone-companion.yume-stable-phone .yume-blockworld-logo i:nth-child(3n+1){background:#749452!important}
.phone-companion.yume-stable-phone .yume-blockworld-logo i:nth-child(3n+2){background:#9f7444!important}
.phone-companion.yume-stable-phone .yume-blockworld-logo i:nth-child(3n){background:#596e43!important}
.phone-companion.yume-stable-phone .yume-blockworld-app h2{
  margin:0!important;
  font:900 20px/1 Arial Black,Arial,sans-serif!important;
  letter-spacing:-.04em!important;
}
.phone-companion.yume-stable-phone .yume-blockworld-app p{
  min-height:34px!important;
  margin:10px 0!important;
  font:700 8px/1.4 Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .yume-blockworld-app button,
.phone-companion.yume-stable-phone .yume-draw-app button,
.phone-companion.yume-stable-phone .yume-scan-app button{
  width:100%!important;
  min-height:37px!important;
  border:2px solid #252620!important;
  border-radius:3px!important;
  background:var(--yp-yellow)!important;
  color:#1c1d19!important;
  box-shadow:2px 2px 0 #83847c!important;
  font:900 7px/1 Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .yume-blockworld-app small{
  display:block!important;
  margin-top:9px!important;
  color:#707168!important;
  font:700 6.5px/1.35 Arial,Helvetica,sans-serif!important;
}

/* Camera app. */
.phone-companion.yume-stable-phone .yume-camera-view{
  aspect-ratio:4/3!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border:3px solid #20211d!important;
  background:#11130f!important;
}
.phone-companion.yume-stable-phone .yume-camera-view video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.phone-companion.yume-stable-phone .yume-camera-off{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  color:#dbd8cd!important;
  text-align:center!important;
}
.phone-companion.yume-stable-phone .yume-camera-off b{font:900 9px/1 Arial,Helvetica,sans-serif!important}
.phone-companion.yume-stable-phone .yume-camera-off span{font:700 6.5px/1.2 Arial,Helvetica,sans-serif!important;color:#96988e!important}
.phone-companion.yume-stable-phone .yume-camera-controls{
  display:grid!important;
  grid-template-columns:1fr 58px 1fr!important;
  gap:8px!important;
  align-items:center!important;
  margin-top:10px!important;
}
.phone-companion.yume-stable-phone .yume-camera-controls button{
  min-height:34px!important;
  border:1px solid #696a62!important;
  border-radius:3px!important;
  background:#f4f0e5!important;
  color:#22231f!important;
  font:900 6.5px/1 Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .yume-camera-controls .shutter{
  width:54px!important;
  height:54px!important;
  border:4px solid #292a25!important;
  border-radius:50%!important;
  background:#f4f0e5!important;
}
.phone-companion.yume-stable-phone .yume-camera-controls button:disabled{opacity:.38!important}
.phone-companion.yume-stable-phone .yume-camera-strip{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:5px!important;
  margin-top:10px!important;
}
.phone-companion.yume-stable-phone .yume-camera-strip img{
  width:100%!important;
  aspect-ratio:1!important;
  object-fit:cover!important;
  border:1px solid #77786f!important;
}

/* Lucky Draw. */
.phone-companion.yume-stable-phone .yume-draw-app{text-align:center!important}
.phone-companion.yume-stable-phone .yume-ticket{
  margin:14px 4px 18px!important;
  padding:16px 10px!important;
  border:2px dashed #24251f!important;
  background:#f7e9a2!important;
}
.phone-companion.yume-stable-phone .yume-ticket small,
.phone-companion.yume-stable-phone .yume-ticket span{
  display:block!important;
  font:900 6px/1 Arial,Helvetica,sans-serif!important;
  letter-spacing:.12em!important;
}
.phone-companion.yume-stable-phone .yume-ticket strong{
  display:block!important;
  margin:9px 0!important;
  font:900 40px/.9 "Courier New",monospace!important;
  letter-spacing:.08em!important;
}
.phone-companion.yume-stable-phone .yume-draw-app p{
  min-height:36px!important;
  font:700 8px/1.4 Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .yume-draw-app>small{
  display:block!important;
  margin-top:10px!important;
  color:#707168!important;
  font:700 6.5px/1.3 Arial,Helvetica,sans-serif!important;
}

/* Signal Scan. */
.phone-companion.yume-stable-phone .yume-scan-display{
  margin:10px 0 8px!important;
  padding:18px 10px 14px!important;
  border:3px solid #252620!important;
  background:#bec9ad!important;
  text-align:center!important;
}
.phone-companion.yume-stable-phone .yume-scan-display b{
  font:900 34px/.9 "Courier New",monospace!important;
  letter-spacing:-.05em!important;
}
.phone-companion.yume-stable-phone .yume-scan-display>span{
  margin-left:4px!important;
  font:900 7px/1 Arial,Helvetica,sans-serif!important;
}
.phone-companion.yume-stable-phone .yume-scan-bars{
  height:24px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:3px!important;
  margin-bottom:12px!important;
}
.phone-companion.yume-stable-phone .yume-scan-bars i{
  width:8px!important;
  background:#30382e!important;
}
.phone-companion.yume-stable-phone .yume-scan-bars i:nth-child(1),
.phone-companion.yume-stable-phone .yume-scan-bars i:nth-child(8){height:6px!important}
.phone-companion.yume-stable-phone .yume-scan-bars i:nth-child(2),
.phone-companion.yume-stable-phone .yume-scan-bars i:nth-child(7){height:11px!important}
.phone-companion.yume-stable-phone .yume-scan-bars i:nth-child(3),
.phone-companion.yume-stable-phone .yume-scan-bars i:nth-child(6){height:17px!important}
.phone-companion.yume-stable-phone .yume-scan-bars i:nth-child(4),
.phone-companion.yume-stable-phone .yume-scan-bars i:nth-child(5){height:24px!important}
.phone-companion.yume-stable-phone .yume-scan-readout{
  min-height:47px!important;
  margin:0 0 10px!important;
  padding:10px!important;
  border:1px solid #8c8d84!important;
  background:#f4f0e5!important;
  font:700 8px/1.4 "Courier New",monospace!important;
}

@media(max-width:380px){
  .phone-companion.yume-stable-phone .yume-apps-grid{gap:20px 12px!important;padding:24px 16px!important}
  .phone-companion.yume-stable-phone .yume-app-icon>span{width:58px!important;height:58px!important;font-size:24px!important}
}

@media(prefers-reduced-motion:reduce){
  .phone-companion.yume-stable-phone *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
