/* v1.6 布局管理：桌面固定槽位 + 可配置组件 */
.app .tiles.layout-grid{grid-auto-rows:108px;grid-auto-flow:row;align-items:start}
.app .tiles.layout-grid>.tile{min-height:108px;height:108px;align-self:start}
.app .tiles.layout-grid .tile-slot{
  display:none;min-height:108px;height:108px;width:100%;border:1px dashed rgba(255,255,255,.35);
  border-radius:18px;background:rgba(255,255,255,.075);color:rgba(255,255,255,.66);
  cursor:pointer;align-self:start;outline-offset:3px;transition:background .16s,border-color .16s;
}
.app.layout-editing .tiles.layout-grid .tile-slot{display:grid;place-items:center}
.app.layout-editing .tiles.layout-grid .tile-slot::before{content:"+";font-size:24px;line-height:1;opacity:.34}
.app.layout-editing .tiles.layout-grid .tile-slot:hover,
.app.layout-editing .tiles.layout-grid .tile-slot.layout-drop-target{
  background:rgba(152,190,255,.25);border-color:rgba(255,255,255,.75)
}
.app.layout-editing .tiles.layout-grid .tile{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.app.layout-editing .tiles.layout-grid .tile-link{cursor:grab;touch-action:none}
.app.layout-editing .tiles.layout-grid .tile.tile-layout-selected{
  background:rgba(141,189,255,.27);border:2px solid rgba(227,240,255,.85);
  box-shadow:0 0 0 3px rgba(88,134,240,.24)
}
.app.layout-editing .tiles.layout-grid .tile.layout-drop-target{
  background:rgba(141,189,255,.3);border:1px dashed #fff
}
.app.layout-editing .tiles.layout-grid .tile-add{display:none}
.layout-toolbar{
  position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));
  z-index:85;transform:translateX(-50%);width:min(730px,calc(100vw - 25px));
  background:rgba(18,35,61,.94);color:#fff;border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(25px);box-shadow:0 15px 45px rgba(0,0,0,.35);
  border-radius:18px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:15px
}
.layout-toolbar[hidden]{display:none!important}
.layout-toolbar span{font-size:12px;line-height:1.5}
.layout-toolbar button{flex:none;padding:10px 20px;border:0;border-radius:11px;background:#89a5fd;color:#14243d;font-weight:650}
.layout-setting-actions{margin:12px 0}
.layout-hint{font-size:11px!important;color:#a8c2f4!important}
.widget-settings-title{margin-top:24px!important}
.widget-position-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#e1eaff;font-size:12px;margin:15px 0}
.widget-position-label select{
  max-width:190px;background:#34435b;border:1px solid #ffffff38;border-radius:10px;color:white;padding:8px 10px
}
.widget-manager{display:flex;flex-direction:column;gap:8px}
.widget-manager-row{display:flex;align-items:center;gap:9px;padding:8px 4px;border-bottom:1px solid rgba(255,255,255,.13)}
.widget-manager-name{flex:1;font-size:12px;color:#ecf2ff}
.widget-manager-row input[type=checkbox]{accent-color:#8fa8ff;width:16px;height:16px;flex:none}
.widget-manager-row select{background:#34435b;color:#f8fbff;border:1px solid #ffffff30;border-radius:8px;padding:7px 5px;font-size:11px}
.widget-manager-row button{color:#fff;background:#ffffff1d;border:0;border-radius:8px;width:30px;height:31px}
.widget-manager-row button:disabled{opacity:.35;cursor:default}
.app .widgets{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense}
.app .widgets .widget{min-width:0;height:188px;min-height:188px;grid-column:auto;overflow:hidden}
.app .widgets .widget.widget-size-wide{grid-column:span 2}
.app .widgets .widget.widget-size-compact{height:163px;min-height:163px;padding:13px 16px}
.app .widgets .widget.widget-size-compact .quote-widget h2,
.app .widgets .quote-widget.widget-size-compact h2{font-size:17px;margin-top:9px}
.app .widgets .widget.widget-size-compact .quote-foot{display:none}
.app .widgets .widget.widget-size-compact .calendar span{height:14px}
.app .widgets .widget.widget-size-compact .month-heading{margin:7px 0 4px}
.app .widgets .widget.widget-size-compact textarea{min-height:72px}
.app.widgets-above .widgets{order:1}
.app.widgets-above .links-section{order:2}
@media(max-width:1060px){
  .app .widgets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app .widgets .widget.widget-size-wide{grid-column:span 2}
}
@media(max-width:850px){
  /* 手机和平板使用流动网格，避免桌面空格位影响阅读 */
  .app .tiles.layout-grid{grid-auto-rows:auto}
  .app .tiles.layout-grid .tile-slot{display:none!important}
  .app .widgets .widget{grid-column:auto}
}
@media(max-width:620px){
  .app .widgets{grid-template-columns:1fr}
  .app .widgets .widget,.app .widgets .widget.widget-size-wide{grid-column:auto}
  .layout-toolbar{display:none}
  .widget-manager-row{gap:6px}
  .widget-manager-name{font-size:11px}
  .widget-manager-row button{width:27px}
}
@media(prefers-reduced-motion:reduce){
  .app .tiles.layout-grid .tile-slot{transition:none}
}
