html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{--app-bg: #f3f5f9;--sidebar-bg: #ffffff;--panel-shadow: 0 8px 24px rgba(15, 23, 42, .08);--border-soft: #e7ecf3;--text-secondary: #6b7280}html,body,#root{height:100%;margin:0;background:var(--app-bg)}.dashboard-layout{min-height:100vh;background:var(--app-bg)!important}.dashboard-sider.ant-layout-sider{background:var(--sidebar-bg);border-right:1px solid var(--border-soft);box-shadow:var(--panel-shadow)}.sidebar-shell{height:100vh;overflow-y:auto;padding:10px}.sidebar-top-card,.sidebar-list-card,.dashboard-header-card,.feature-toolbar-card,.friend-card,.stat-compact-card{border-radius:10px!important;box-shadow:var(--panel-shadow)}.sidebar-title{font-size:15px;font-weight:600}.session-card{width:100%;border:1px solid var(--border-soft)!important;transition:all .2s ease}.session-card:hover{border-color:#91caff!important}.session-card.selected{border:1px solid #52c41a!important;box-shadow:0 0 0 2px #52c41a24}.session-card-head{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.session-card-head-main{min-width:0;flex:1}.session-card-more-btn{flex:0 0 auto}.session-status-tags{white-space:nowrap}.session-status-tags.ant-space{flex-wrap:nowrap!important}.session-meta-row{display:flex;align-items:center;gap:6px;margin-top:6px;color:var(--text-secondary)}.session-menu-tip{display:block;margin-top:8px;font-size:12px}.dashboard-content{padding:12px 14px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.dashboard-mobile-header-card .ant-card-body{padding:12px!important}.dashboard-mobile-header-top{display:flex;align-items:flex-start;gap:10px}.dashboard-mobile-title-block{min-width:0;flex:1;display:flex;flex-direction:column;line-height:1.3}.dashboard-mobile-header-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.dashboard-mobile-toolbar{width:100%}.dashboard-mobile-toolbar .ant-space-item{margin-inline-end:6px!important;margin-bottom:6px!important}.mobile-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-feature-item{display:flex;align-items:center;gap:8px;min-width:0;border:1px solid #e7ecf3;border-radius:8px;background:#fafcff;padding:8px 10px}.mobile-feature-item .ant-typography{margin:0}.feature-toolbar-card{margin:10px 0}.stat-compact-card .ant-card-body{padding:12px!important;min-height:72px}.stat-compact-card .ant-statistic-title{font-size:12px;margin-bottom:2px}.stat-compact-card .ant-statistic-content{font-size:24px}.compact-land-grid{display:grid;grid-template-columns:repeat(5,minmax(56px,1fr));gap:8px}.compact-land-cell{border:1px solid #dce6f5;border-radius:8px;padding:6px;min-height:80px;background:#fff;cursor:pointer;transition:all .2s}.compact-land-cell:hover{border-color:#69b1ff;box-shadow:0 3px 10px #1677ff26}.compact-land-cell .compact-land-id{color:#667085;font-size:11px}.compact-land-cell .compact-land-meta{margin-top:2px;color:#6b7280;font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-land-cell.mature{border-color:#52c41a;background:#f6ffed}.compact-land-cell.growing{border-color:#1677ff;background:#f0f7ff}.compact-land-cell.dead{border-color:#ff7875;background:#fff2f0}.compact-land-cell.empty{border-style:dashed}.compact-land-cell.locked{border-style:dashed;opacity:.72}.strategy-info-row,.today-task-headline{display:flex;gap:6px;flex-wrap:wrap}.today-task-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;border:1px solid #e7ecf3;border-radius:8px;padding:8px 10px;background:#fafcff}.today-task-main{min-width:0;flex:1}.today-task-title{display:flex;gap:4px;flex-wrap:wrap}.today-task-reward{display:block;margin-top:2px}.friend-pagination{margin-top:12px;display:flex;justify-content:flex-end}.logs-viewport{background:#0f172a;border-radius:10px;border:1px solid #1f2b44;padding:8px;max-height:520px;overflow-y:auto}.log-row{display:grid;grid-template-columns:84px 72px 88px 90px 1fr;gap:8px;align-items:start;padding:6px;border-bottom:1px dashed rgba(148,163,184,.25);color:#e2e8f0}.log-time{color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.log-message{word-break:break-word}.dashboard-layout .ant-layout,.dashboard-content{min-width:0}.dashboard-content>.ant-card{max-width:100%}.dashboard-layout .ant-typography,.dashboard-layout .ant-card-head-title,.dashboard-layout .ant-card-extra,.dashboard-layout .ant-tabs-tab-btn,.dashboard-layout .ant-alert-message,.dashboard-layout .ant-alert-description,.dashboard-layout .ant-statistic-title,.dashboard-layout .ant-statistic-content{writing-mode:horizontal-tb!important;text-orientation:mixed!important;word-break:keep-all!important;overflow-wrap:normal!important;line-break:auto!important}.dashboard-layout .ant-btn,.dashboard-layout .ant-tag{writing-mode:horizontal-tb!important;text-orientation:mixed!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important}.dashboard-header>.ant-space{display:flex;flex-wrap:wrap;justify-content:flex-end}.session-tabs .ant-tabs-content-holder{min-width:0}.session-tabs .ant-tabs-nav-wrap{overflow-x:auto}@media (max-width: 1200px){.compact-land-grid{grid-template-columns:repeat(4,minmax(52px,1fr))}}@media (max-width: 992px){.dashboard-layout{display:block}.dashboard-sider.ant-layout-sider{display:none!important}.dashboard-mobile-drawer .ant-drawer-body{padding:8px}.dashboard-mobile-drawer .sidebar-shell{height:auto;max-height:none;padding:0}.dashboard-content{padding:10px}.dashboard-header{align-items:flex-start}.dashboard-header>.ant-space{width:100%;justify-content:flex-start}.logs-viewport{max-height:440px}.log-row{grid-template-columns:72px 64px 1fr}.log-message{grid-column:1 / -1}}@media (max-width: 768px){.dashboard-content{padding:8px}.sidebar-shell{max-height:none;padding:8px}.sidebar-top-card .ant-card-body,.sidebar-list-card .ant-card-body{padding:10px!important}.session-status-tags{white-space:normal}.session-status-tags.ant-space{flex-wrap:wrap!important}.stat-compact-card .ant-card-body{min-height:auto}.stat-compact-card .ant-statistic-content{font-size:20px}.compact-land-grid{grid-template-columns:repeat(3,minmax(48px,1fr));gap:6px}.compact-land-cell{min-height:70px;padding:5px}.farm-card-extra-actions,.farm-action-toolbar,.strategy-info-row,.today-task-headline,.farm-card-extra-actions .ant-space-item,.farm-action-toolbar .ant-space-item,.logs-toolbar .ant-space-item{width:100%}.farm-card-extra-actions .ant-btn,.farm-action-toolbar .ant-btn,.farm-seed-select,.farm-fixed-seed-select,.friend-search-input,.logs-level-select,.logs-module-select,.logs-search-input,.logs-scope-segmented{width:100%!important}.today-task-row{flex-direction:column;gap:6px}.today-task-row .ant-tag{align-self:flex-start}.friend-pagination{justify-content:center}.logs-toolbar{gap:8px!important}.dashboard-mobile-header-top .ant-badge{max-width:100%}.dashboard-mobile-toolbar .ant-btn{width:auto!important;min-height:30px}.logs-viewport{max-height:380px;padding:6px}.log-row{grid-template-columns:1fr 1fr;gap:6px;padding:6px 4px}.log-time{grid-column:1 / -1}.log-module-tag,.log-owner-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;justify-self:start}.log-message{grid-column:1 / -1}}.dashboard-mobile-title-block .ant-typography{font-size:13px}/* 登录页农场背景（全平台） */
.login-layout.dashboard-layout {
  min-height: 100vh !important;
  background: 
    linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)),
    url('https://www.wcnmsb.cn/images/qqnc.png') center / cover no-repeat !important;
}

/* 移除可能干扰的伪元素 */
.login-layout::before,
.login-layout::after {
  display: none !important;
}

/* 登录卡片居中容器 */
.login-layout .dashboard-content {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 16px;
  box-sizing: border-box;
}

/* 卡片样式 */
.login-layout .ant-card {
  width: 100%;
  max-width: 420px;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  margin: 0 auto;
  transform: translateY(50px);
}

.login-layout .ant-card .ant-card-head-title {
  text-align: center !important;
}
/* 移动端适配 */
@media (max-width: 768px) {
  .login-layout .ant-card {
    max-width: 90%;
  }
}}
/* ===== 地块卡片重设计 ===== */
.compact-land-grid{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:10px}
.compact-land-cell{
  border:1.5px solid #dce6f5;
  border-radius:12px;
  padding:10px 8px 8px;
  min-height:120px;
  background:#fff;
  cursor:pointer;
  transition:all .25s ease;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  position:relative;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.compact-land-cell:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(22,119,255,.18);
  border-color:#69b1ff;
}
.compact-land-cell .compact-land-id{
  position:absolute;
  top:6px;left:7px;
  color:#8c9ab0;
  font-size:10px;
  font-weight:600;
  line-height:1;
}
.compact-land-cell .compact-land-meta{
  font-size:11px;
  color:#6b7280;
  line-height:1.3;
  text-align:center;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:100%;
}
.compact-land-cell .compact-land-crop{
  font-size:12px;
  font-weight:600;
  color:#1f2937;
  text-align:center;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:100%;
  margin-top:2px;
}
.compact-land-cell .compact-land-img-wrap{
  width:48px;height:48px;
  border-radius:10px;
  background:linear-gradient(145deg,rgba(255,255,255,.6),rgba(255,255,255,.2));
  border:1px solid rgba(255,255,255,.5);
  display:flex;align-items:center;justify-content:center;
  margin:14px auto 2px;
  box-shadow:inset 0 1px rgba(255,255,255,.5);
}
.compact-land-cell .compact-land-status-icons{
  display:flex;gap:3px;font-size:13px;margin-top:1px;
}

/* 状态颜色 */
.compact-land-cell.mature{border-color:#52c41a;background:linear-gradient(160deg,#f6ffed,#f0fce8)}
.compact-land-cell.growing{border-color:#1677ff;background:linear-gradient(160deg,#f0f7ff,#e8f3ff)}
.compact-land-cell.dead{border-color:#ff7875;background:linear-gradient(160deg,#fff2f0,#ffe8e6)}
.compact-land-cell.empty{border-style:dashed;background:#fafafa;opacity:.85}
.compact-land-cell.locked{border-style:dashed;opacity:.5;background:#f5f5f5}

/* 土地等级 — tier-0 棕土地 */
.compact-land-cell.tier-0{
  border-color:#7a5230;
  background:linear-gradient(160deg,#e8d5be,#d9c4a8);
  box-shadow:0 2px 8px rgba(122,82,48,.22);
}
.compact-land-cell.tier-0 .compact-land-id{color:#5c3d1e}
.compact-land-cell.tier-0 .compact-land-id::after{
  content:"棕土";display:block;
  font-size:9px;color:#5c3d1e;font-weight:700;margin-top:1px;
}

/* tier-1 红土地 */
.compact-land-cell.tier-1{
  border-color:#c0392b;
  background:linear-gradient(160deg,#8b2020,#6e1515);
  box-shadow:0 2px 12px rgba(192,57,43,.35);
}
.compact-land-cell.tier-1 .compact-land-id{color:#ffaaaa;}
.compact-land-cell.tier-1 .compact-land-id::after{
  content:"红土";display:block;
  font-size:9px;color:#ffcccc;font-weight:700;margin-top:1px;
}
.compact-land-cell.tier-1 .compact-land-crop{color:#ffe8e8}
.compact-land-cell.tier-1 .compact-land-meta{color:#e8b0b0}
.compact-land-cell.tier-1 .compact-land-img-wrap{
  background:linear-gradient(145deg,rgba(255,140,140,.22),rgba(255,100,100,.1));
  border-color:rgba(255,180,180,.28);
}

/* tier-2 黑土地 */
.compact-land-cell.tier-2{
  border-color:#555;
  background:linear-gradient(160deg,#404040,#303030);
  box-shadow:0 2px 12px rgba(0,0,0,.38);
}
.compact-land-cell.tier-2 .compact-land-id{color:#c8c8c8}
.compact-land-cell.tier-2 .compact-land-id::after{
  content:"黑土";display:block;
  font-size:9px;color:#e0e0e0;font-weight:700;margin-top:1px;
}
.compact-land-cell.tier-2 .compact-land-crop{color:#ececec}
.compact-land-cell.tier-2 .compact-land-meta{color:#b8b8b8}
.compact-land-cell.tier-2 .compact-land-img-wrap{
  background:linear-gradient(145deg,rgba(220,220,220,.15),rgba(200,200,200,.06));
  border-color:rgba(220,220,220,.2);
}

/* tier-3 金土地 */
.compact-land-cell.tier-3{
  border-color:#c8860a;
  background:linear-gradient(160deg,#fff3c0,#ffe88a);
  box-shadow:0 2px 12px rgba(200,134,10,.3);
}
.compact-land-cell.tier-3 .compact-land-id{color:#7a4e00}
.compact-land-cell.tier-3 .compact-land-id::after{
  content:"金土";display:block;
  font-size:9px;color:#7a4e00;font-weight:700;margin-top:1px;
}
.compact-land-cell.tier-3 .compact-land-crop{color:#4a3000}
.compact-land-cell.tier-3 .compact-land-meta{color:#6b4400}

/* 成熟时 tier 颜色保持土地特色 */
.compact-land-cell.mature.tier-0{background:linear-gradient(160deg,#e8d5be,#d9c4a8);border-color:#7a5230}
.compact-land-cell.mature.tier-1{background:linear-gradient(160deg,#5c1a1a,#4a1010);border-color:#52c41a}
.compact-land-cell.mature.tier-2{background:linear-gradient(160deg,#404040,#303030);border-color:#52c41a}
.compact-land-cell.mature.tier-3{background:linear-gradient(160deg,#fff3c0,#ffe88a);border-color:#c8860a}
.compact-land-cell.growing.tier-0{background:linear-gradient(160deg,#e8d5be,#d9c4a8);border-color:#7a5230}
.compact-land-cell.dead.tier-0{background:linear-gradient(160deg,#e8d5be,#d9c4a8);border-color:#7a5230}

@media (max-width:1200px){.compact-land-grid{grid-template-columns:repeat(4,minmax(90px,1fr))}}
@media (max-width:768px){.compact-land-grid{grid-template-columns:repeat(3,minmax(80px,1fr));gap:7px}.compact-land-cell{min-height:100px;padding:8px 6px 6px}}
