:root{
  --bg:#f5f2d8;--card:#fff8df;--card2:#eef8d9;--green:#5c9f5e;--dark:#31452f;--muted:#72806d;--accent:#f3b54a;--danger:#b54b4b;--line:#dfd6aa;
}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(circle at top,#e5f6c7,var(--bg));color:var(--dark)}a{color:var(--green);font-weight:700;text-decoration:none}.wrap{max-width:1180px;margin:0 auto;padding:18px}.top{display:flex;gap:14px;justify-content:space-between;align-items:center;margin-bottom:18px;position:sticky;top:0;background:rgba(245,242,216,.92);backdrop-filter:blur(10px);padding:10px;border-bottom:1px solid var(--line);z-index:3}.brand{font-weight:900;font-size:1.1rem}.nav{display:flex;gap:10px;flex-wrap:wrap}.nav a{background:var(--card);border:1px solid var(--line);padding:8px 10px;border-radius:999px;color:var(--dark)}.card,.hero-card{background:linear-gradient(180deg,var(--card),#fffdf2);border:2px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 8px 0 rgba(49,69,47,.09);margin-bottom:16px}.hero-card{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fff8df,#e4f6c3)}.hero{font-size:4rem;text-align:center}.hero-plant{font-size:4rem;filter:drop-shadow(0 6px 0 rgba(49,69,47,.1))}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:900;font-size:.8rem}h1,h2,h3{margin-top:0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.stats .card strong{display:block;font-size:1.8rem;margin-top:6px}.btn,button{display:inline-block;border:0;background:var(--green);color:white;font-weight:900;padding:10px 14px;border-radius:14px;cursor:pointer;box-shadow:0 4px 0 rgba(49,69,47,.18)}.btn.alt{background:var(--accent);color:var(--dark)}button:disabled{opacity:.45;cursor:not-allowed}.danger-btn{background:var(--danger)}.danger{color:var(--danger);font-weight:800}.success{color:var(--green);font-weight:800}.notice{border-color:var(--accent)}input,select{width:100%;padding:10px;border:2px solid var(--line);border-radius:12px;background:#fffdf4;color:var(--dark);margin:6px 0 12px}label{font-weight:800}.bar{height:14px;background:#e8dfb9;border-radius:999px;overflow:hidden;border:1px solid var(--line)}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--accent));border-radius:999px}.resource{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line)}.resource:last-child{border-bottom:0}.action-form{display:grid;grid-template-columns:1fr 90px 80px;gap:8px;align-items:end;border-top:1px dashed var(--line);padding-top:10px;margin-top:10px}.action-form small{display:block;color:var(--muted);font-weight:600;margin-top:3px}@media(max-width:720px){.top{display:block}.nav{margin-top:10px}.hero-card{display:block}.hero-plant{text-align:center}.action-form{grid-template-columns:1fr}.stats .card strong{font-size:1.4rem}}
.notice{background:#fff4c2;border:1px solid #e8c766;color:#5b4112;border-radius:14px;padding:12px 14px;font-weight:700}
.quest-grid,.plant-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:stretch}
.quest-card.ready{box-shadow:0 0 0 2px rgba(226,160,45,.25),0 14px 30px rgba(52,79,46,.12)}
.plant-card{text-align:center;min-height:230px}
.plant-card.locked{filter:saturate(.55);opacity:.78}
.plant-emoji{font-size:54px;line-height:1;margin:8px 0 4px;text-shadow:0 4px 0 rgba(76,61,37,.08)}
.tag{display:inline-block;border-radius:999px;background:#edf7d8;border:1px solid #cfe5a6;padding:4px 10px;font-size:12px;font-weight:800;color:#42612f}
button[disabled]{opacity:.55;cursor:not-allowed}
.garden-card { position: relative; overflow: hidden; }
.locked-card { opacity: .62; filter: grayscale(.25); }
.shop-item { align-items: center; gap: 1rem; }
.shop-item form { margin: 0; }
small { color: #6b705c; }
hr { border: 0; border-top: 1px solid rgba(70, 90, 45, .18); margin: 1rem 0; }
.quest-card.ready h2 { color: var(--green); }
.profile-mini { display:flex; gap:12px; flex-wrap:wrap; }
.profile-mini span { background: var(--card2); border:1px solid var(--line); border-radius:999px; padding:6px 10px; font-weight:800; }

/* v6 navigation + language + skill pages */
.floating-menu{position:fixed;right:16px;bottom:16px;z-index:50;background:#f4a340;color:#2f1d10;text-decoration:none;border:2px solid rgba(80,45,15,.25);box-shadow:0 8px 22px rgba(73,45,12,.22);border-radius:999px;padding:12px 16px;font-weight:900}
.menu-link{font-weight:900;background:rgba(255,255,255,.35)}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.menu-card,.skill-card-link{display:block;text-decoration:none;color:inherit;border:1px solid rgba(77,111,61,.18);background:rgba(255,255,255,.45);border-radius:18px;padding:16px;transition:transform .12s ease, box-shadow .12s ease}
.menu-card:hover,.skill-card-link:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(64,90,42,.15)}
.menu-card span{display:block;font-size:2rem;margin-bottom:8px}.menu-card b{font-size:1.05rem}
.language-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.language-form label{font-weight:800}.language-form select{padding:10px 12px;border-radius:12px;border:1px solid rgba(77,111,61,.3);background:#fffdf5}
.action-form.wide{grid-template-columns:1fr auto auto}.notice{border-left:6px solid #f4a340}.success{color:#326b26}.danger{color:#9d2f1f}
@media(max-width:720px){.action-form.wide{grid-template-columns:1fr}.floating-menu{right:12px;bottom:12px}.nav{display:none}.top{align-items:center}}
.language-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.language-form select{max-width:180px}.resource{color:inherit;text-decoration:none}.top .nav a.menu-link{font-weight:900;border:1px solid rgba(60,90,40,.22)}

.small-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.mini-card { border: 1px solid rgba(91, 64, 42, .16); border-radius: 18px; padding: 14px; background: rgba(255,255,255,.55); }
.pill { display: inline-block; padding: 4px 9px; border-radius: 999px; background: rgba(147, 195, 115, .22); border: 1px solid rgba(91, 64, 42, .12); font-size: .85rem; margin-right: 4px; }
.gear-card h2 { display: flex; gap: 8px; align-items: center; }

/* V13 live chat */
.chat-card { display: flex; flex-direction: column; gap: 14px; }
.chat-toolbar { display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; }
.chat-messages { max-height: 460px; overflow-y: auto; padding: 10px; border-radius: 18px; background: rgba(255,255,255,.55); border: 1px solid rgba(77, 112, 55, .16); }
.chat-message { padding: 10px 12px; border-radius: 16px; background: rgba(255,255,255,.78); margin-bottom: 10px; box-shadow: 0 4px 12px rgba(56, 85, 45, .08); }
.chat-message div { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.chat-message small { color: #7b876c; margin-left:auto; }
.chat-message p { margin: 6px 0 0; line-height: 1.45; overflow-wrap:anywhere; }
.chat-form { display:flex; gap:10px; }
.chat-form input { flex:1; min-width:0; }
.pill { display:inline-flex; align-items:center; border-radius:999px; padding:2px 8px; background:#f7e7a4; color:#634818; font-size:.78rem; font-weight:700; }
.notice.good { background:#e7f8d8; border-color:#aad58a; }
.notice.bad { background:#ffe3df; border-color:#e4a19b; }
@media (max-width: 650px) { .chat-form { flex-direction:column; } .chat-message small { margin-left:0; } }
.notice-item{border:1px solid rgba(65,105,74,.18);border-radius:16px;padding:12px 14px;margin:10px 0;background:rgba(255,255,255,.45)}
.notice-item.unread{box-shadow:0 0 0 3px rgba(255,198,84,.22);background:rgba(255,251,229,.85)}
.inline-form{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}
.inline-form button{margin:0}
.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.inline-form select,.inline-form input{max-width:220px}.danger{background:#b85b52;color:#fff}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid rgba(92,70,43,.14);text-align:left}th{font-size:.85rem;opacity:.75}
