/* Lillime Brand System v1.0 → LilliTravel web */
:root{--green:#07883B;--deep:#056E31;--mint:#EEF8EF;--line:#CFE6D1;--ink:#183126;--bg:#F7FAF7;--sea:#0E7C86;--seasoft:#E3F3F4;--amber:#9A6200;--ambersoft:#FFF3DD;--red:#B3261E}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}
header.top{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#fff;border-bottom:1px solid var(--line)}
.lockup{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:22px}.lockup img{width:44px;height:44px}
.g{color:var(--green)}.s{color:var(--sea)}nav a{margin-left:18px;color:var(--ink);text-decoration:none;font-weight:600}
main{max-width:920px;margin:0 auto;padding:24px}h1{font-weight:800;font-size:26px;margin:.2em 0 .6em}h2{font-weight:700;font-size:18px;margin:1.2em 0 .5em}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:14px}
.card.primary{background:var(--mint);border-color:transparent}.card.info{background:var(--seasoft);border-color:transparent}.card.attention{background:var(--ambersoft);border-color:transparent}
.muted{color:#5b6f66;font-size:14px}label{display:block;font-weight:600;font-size:14px;margin-top:10px}
input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:10px;font:inherit;margin-top:4px}
button,.btn{background:var(--green);color:#fff;border:0;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer;margin-top:12px}
button.secondary{background:#fff;color:var(--green);border:1px solid var(--green)}button.danger{background:var(--red)}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:700px){.grid{grid-template-columns:1fr}}
code{background:var(--mint);padding:2px 6px;border-radius:6px}.big{font-size:32px;font-weight:800}
footer{text-align:center;color:#5b6f66;font-size:13px;padding:30px}

.working[hidden]{display:none}
.working{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:center;gap:14px;padding:14px 24px;background:var(--mint);border-top:1px solid var(--line);font-weight:600;z-index:50}
.spinner{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .9s linear infinite;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row form{margin:0}.row button{margin:0;padding:6px 12px}
.turn{scroll-margin-top:80px}

/* Mood backgrounds: calm, slow drift (brand: no visual noise) */
body{background-attachment:fixed;background-size:200% 200%;animation:drift 90s ease-in-out infinite alternate}
@keyframes drift{from{background-position:0% 0%}to{background-position:100% 100%}}
body.theme-default{background-image:linear-gradient(160deg,#F7FAF7 0%,#EEF8EF 60%,#E3F3F4 100%)}
body.theme-beach{background-image:linear-gradient(170deg,#FFF8E8 0%,#E3F3F4 45%,#CFE9EE 100%)}
body.theme-mountain{background-image:linear-gradient(170deg,#F4F7F4 0%,#DCE9E0 55%,#C9D8CF 100%)}
body.theme-city{background-image:linear-gradient(170deg,#F7F7F9 0%,#E6E9F0 55%,#DADFEA 100%)}
body.theme-winter{background-image:linear-gradient(170deg,#FBFCFF 0%,#E8F0F8 55%,#D6E4F2 100%)}
body.theme-jungle{background-image:linear-gradient(170deg,#F5FAF3 0%,#DDEEDB 55%,#C8E2C6 100%)}
@media (prefers-reduced-motion: reduce){body{animation:none}}
@media print{.working{display:none}}
footer a{color:#5b6f66}footer .v{opacity:.8}

/* Photo background with slow crossfade + Ken Burns */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--bg)}
.bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 3s ease-in-out;transform:scale(1.05)}
.bg img.on,.bg img.out{animation:kenburns 20s ease-in-out forwards}
.bg img.on{opacity:1}
.bg img.out{opacity:0}
@keyframes kenburns{from{transform:scale(1.05)}to{transform:scale(1.14)}}
.bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,250,247,.55),rgba(247,250,247,.35) 40%,rgba(247,250,247,.75))}
.bg-credit{position:fixed;right:10px;bottom:6px;font-size:11px;z-index:2}.bg-credit a{color:#3d5449;background:rgba(255,255,255,.7);padding:2px 8px;border-radius:999px;text-decoration:none}
body:has(.bg) .card{background:rgba(255,255,255,.92)}body:has(.bg) .card.primary{background:rgba(238,248,239,.94)}body:has(.bg) .card.info{background:rgba(227,243,244,.94)}body:has(.bg) .card.attention{background:rgba(255,243,221,.95)}
body:has(.bg) header.top{background:rgba(255,255,255,.9)}
@media (prefers-reduced-motion: reduce){.bg img.on{animation:none}}
