*{
box-sizing:border-box;
font-family:system-ui, Arial, sans-serif;
}

body{
margin:0;
min-height:100vh;
background:url("/static/field.jpg") center/cover fixed no-repeat;
color:#1b1b1b;
}

/* ===== blur overlay ===== */
body::before{
content:"";
position:fixed;
inset:0;
background:linear-gradient(
  rgba(0,0,0,.35),
  rgba(0,0,0,.45)
);
backdrop-filter:blur(8px);
z-index:-1;
}


/* ===== top bar ===== */
.topbar{
color:white;
padding:16px 22px;
display:flex;
justify-content:space-between;
align-items:center;
font-weight:700;
font-size:18px;
letter-spacing:.3px;
text-shadow:0 2px 8px rgba(0,0,0,.4);
}


/* ===== layout ===== */
.container{
max-width:920px;
margin:auto;
padding:18px;
}


/* ===== glass cards ===== */
.card{
background:rgba(255,255,255,.88);
border-radius:18px;
padding:18px;
margin-bottom:18px;
box-shadow:
  0 18px 40px rgba(0,0,0,.28),
  inset 0 1px 0 rgba(255,255,255,.6);
backdrop-filter:blur(14px);
transition:.25s;
}

.card:hover{
transform:translateY(-2px);
box-shadow:
  0 22px 46px rgba(0,0,0,.32);
}


/* ===== grid ===== */
.grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px;
}


/* ===== inputs ===== */
input, select{
width:100%;
padding:12px 14px;
margin:8px 0;
border-radius:12px;
border:1px solid #d0d7de;
font-size:14px;
background:#f9fafb;
transition:.2s;
}

input:focus, select:focus{
outline:none;
border-color:#2e7d32;
background:white;
box-shadow:0 0 0 3px rgba(46,125,50,.15);
}


/* ===== buttons ===== */
.btn{
padding:10px 16px;
border:none;
border-radius:12px;
cursor:pointer;
font-weight:700;
font-size:14px;
color:white;
transition:.2s;
box-shadow:0 6px 16px rgba(0,0,0,.25);
}

.btn:hover{
transform:translateY(-1px);
filter:brightness(1.08);
}

.btn:active{
transform:translateY(1px);
box-shadow:0 3px 8px rgba(0,0,0,.25);
}

.green{background:#2e7d32;}
.blue{background:#1565c0;}
.orange{background:#ef6c00;}
.red{background:#c62828;}


/* ===== chat box ===== */
.chat{
max-height:440px;
overflow-y:auto;
padding-right:6px;
}

/* custom scroll */
.chat::-webkit-scrollbar{
width:8px;
}
.chat::-webkit-scrollbar-thumb{
background:#cfd8dc;
border-radius:10px;
}


/* ===== chat bubbles ===== */
.msg{
padding:14px;
border-radius:16px;
margin-bottom:10px;
white-space:pre-wrap;
line-height:1.4;
font-size:14px;
box-shadow:0 6px 16px rgba(0,0,0,.12);
}

.user{
background:linear-gradient(#e3f2fd,#d9ecfb);
border-left:5px solid #1e88e5;
}

.ai{
background:linear-gradient(#e8f5e9,#dcf1df);
border-left:5px solid #43a047;
}


/* ===== farmer character ===== */
.farmer{
position:fixed;
bottom:0;
right:14px;
height:240px;
z-index:5;
pointer-events:none;
filter:drop-shadow(0 12px 22px rgba(0,0,0,.45));
animation:floaty 4s ease-in-out infinite;
}

@keyframes floaty{
0%{transform:translateY(0)}
50%{transform:translateY(-6px)}
100%{transform:translateY(0)}
}


/* ===== mobile ===== */
@media(max-width:720px){

.grid{
grid-template-columns:1fr;
}

.topbar{
font-size:15px;
padding:12px;
}

.card{
padding:14px;
border-radius:14px;
}

.farmer{
height:250px;
right:6px;
}

.btn{
width:100%;
margin-top:6px;
}

}
