@media(max-width:1280px){
  #dp-root{--dp-main:minmax(0,1fr);--dp-right:320px;--dp-gap:20px;}
  #dp-root .dp-top,#dp-root .dp-layout,#dp-root .dp-foot{width:calc(100% - 32px);}
}

@media(max-width:900px){
  #dp-root{--dp-mobile-drawer:min(84vw,300px);}

  #dp-root .dp-shell{margin-left:0 !important;width:100% !important;}
  #dp-root .dp-head{position:fixed;left:0;right:0;top:0;min-height:64px;grid-template-columns:minmax(0,1fr) auto;padding:0 12px 0 64px;z-index:40;}
  #dp-root .dp-head-left{display:none;}
  #dp-root .dp-top{padding-top:88px;}
  #dp-root .dp-top,#dp-root .dp-layout,#dp-root .dp-foot{width:100% !important;max-width:none !important;margin-left:0 !important;margin-right:0 !important;}
  #dp-root .dp-layout{display:block;}
  #dp-root .dp-main,#dp-root .dp-right{min-height:auto;margin-bottom:24px;width:100% !important;}

  #dp-root .dp-side{width:var(--dp-mobile-drawer) !important;max-width:300px;height:100vh;transform:translateX(-100%);transition:transform .28s ease;z-index:70;background:var(--dp-panel);box-shadow:none;border-right:1px solid var(--dp-line);overflow:hidden;}
  body.dp-sidebar-open #dp-root .dp-side{transform:translateX(0);box-shadow:18px 0 36px rgba(0,0,0,.22);}

  #dp-root .dp-side-top{position:sticky;top:0;right:auto;width:100%;height:64px;padding:0 14px !important;display:flex;align-items:center;justify-content:flex-start;gap:10px;background:var(--dp-panel);border-right:0;border-bottom:1px solid var(--dp-line);z-index:2;}
  #dp-root .dp-side-title{display:inline-flex;font-size:15px;font-weight:700;letter-spacing:.12em;color:var(--dp-text);}
  #dp-root .dp-side-toggle{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--dp-line);border-radius:999px;background:transparent;box-shadow:none;color:var(--dp-text);padding:0;}
  #dp-root .dp-side-toggle svg{width:26px;height:26px;display:block;}

  #dp-root .dp-side-body{height:calc(100vh - 64px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px;}
  #dp-root .dp-side-body:empty::before{content:'尚未設定選單';display:block;padding:18px;color:var(--dp-muted);font-size:14px;border:1px dashed var(--dp-line);}
  #dp-root .dp-nav ul{list-style:none;margin:0;padding:0;}
  #dp-root .dp-nav li{margin:0;padding:0;}
  #dp-root .dp-nav a{display:flex;align-items:center;min-height:44px;padding:12px 10px;color:var(--dp-text);text-decoration:none;border-bottom:1px solid var(--dp-line);font-size:15px;}
  #dp-root .dp-nav .sub-menu{padding-left:14px;border-left:1px solid var(--dp-line);}

  #dp-root .dp-mask{display:block;position:fixed;inset:0;background:rgba(0,0,0,.28);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;z-index:60;}
  body.dp-sidebar-open #dp-root .dp-mask{opacity:1;visibility:visible;pointer-events:auto;}
  body.dp-sidebar-open{overflow:hidden;}
}

@media(max-width:520px){
  #dp-root .dp-top,#dp-root .dp-layout,#dp-root .dp-foot{margin-left:0 !important;margin-right:0 !important;}
  #dp-root .dp-head-right{gap:8px;}
  #dp-root .dp-pill{padding:8px 10px;}
}


/* v0.6.6 Mobile floating hamburger */
@media(max-width:900px){
  #dp-root .dp-mobile-menu-float{
    position:fixed;
    left:14px;
    top:76px;
    width:46px;
    height:46px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    padding:0 !important;
    border:1px solid var(--dp-line);
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:#111;
    box-shadow:0 8px 24px rgba(0,0,0,.16);
    z-index:55;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  #dp-root.dp-mode-dark .dp-mobile-menu-float{
    background:rgba(20,20,20,.88);
    color:#fff;
  }
  #dp-root .dp-mobile-menu-float svg{
    width:28px;
    height:28px;
    display:block;
  }
  body.dp-sidebar-open #dp-root .dp-mobile-menu-float{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }

  #dp-root .dp-head{
    padding-left:12px !important;
  }
}

@media(min-width:901px){
  #dp-root .dp-mobile-menu-float{
    display:none !important;
  }
}
