
/* ============ Device shell: every page lives inside a tablet (desktop) / phone (mobile) ============ */
:root{--sb:30px}
html,body{height:100%;overflow:hidden}
body{background:#DCEEFF}
.stage{
  position:fixed;inset:0;display:grid;place-items:center;padding:22px;
  background:
    radial-gradient(circle at 12% 15%,#BDE7FF 0,transparent 42%),
    radial-gradient(circle at 88% 85%,#B5D2FF 0,transparent 45%),
    radial-gradient(circle at 80% 10%,#C9F3EE 0,transparent 35%),
    linear-gradient(160deg,#EEF7FF,#D9EBFF)
}
.device{
  position:relative;display:flex;flex-direction:column;
  width:min(1180px,100%);height:min(820px,100%);
  background:var(--cream-0);
  border:13px solid #0E0E12;border-radius:52px;overflow:hidden;
  box-shadow:0 0 0 2px #3B3B44,0 0 0 3px #16161A,0 50px 120px rgba(20,70,140,.35),0 20px 40px rgba(20,70,140,.2)
}
.device::after{ /* front camera */
  content:"";position:absolute;top:9px;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;
  background:#1B1B22;box-shadow:inset 0 0 0 1.5px #2C2C36;z-index:400;pointer-events:none
}
.status-bar{
  height:var(--sb);flex:none;display:flex;align-items:center;justify-content:space-between;
  padding:0 22px;font-size:12.5px;font-weight:600;color:var(--ink);
  background:rgba(249,249,252,.86);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  position:relative;z-index:300;letter-spacing:0
}
.status-bar .sb-left,.status-bar .sb-right{display:flex;align-items:center;gap:8px;min-width:120px}
.status-bar .sb-right{justify-content:flex-end}
.status-bar .sb-mid{font-weight:700;opacity:.9}
.status-bar svg{height:12px;width:auto;fill:currentColor}
.status-bar .lang-select{padding:2px 6px;font-size:11px;border-radius:7px}
.screen{
  flex:1;position:relative;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  scroll-behavior:smooth;padding-bottom:26px
}
.screen::-webkit-scrollbar{width:0}
.home-bar{
  position:absolute;left:50%;bottom:0;width:170px;height:24px;margin-left:-85px;z-index:350;
  border:0;background:transparent;display:grid;place-items:end center;padding-bottom:7px
}
.home-bar::after{content:"";width:132px;height:5px;border-radius:99px;background:rgba(28,28,30,.55);transition:.2s}
.home-bar:hover::after{background:rgba(28,28,30,.85);width:150px}

/* fixed → contained in the device */
.device .floating-stack{position:absolute;left:16px;bottom:34px;z-index:340}
.device .toast{position:absolute;left:70px;bottom:40px}
.device .modal{position:absolute;z-index:500}
.device .scroll-progress{position:absolute;top:var(--sb)}
.device .os-window{position:absolute;top:var(--sb);left:0;right:0;bottom:0;z-index:250}

@media(max-width:820px){
  .stage{padding:0}
  .device{width:100%;height:100%;border:0;border-radius:0;box-shadow:none}
  .device::after{display:none}
  .status-bar{padding:0 14px}
  .status-bar .sb-mid{display:none}
  .status-bar .sb-left,.status-bar .sb-right{min-width:0}
}
@media(max-height:560px){.stage{padding:8px}}
