:root{--c-primary:#0f766e;--c-primary-dark:#115e59;--c-primary-light:#ccfbf1;--c-accent:#f97316;--c-accent-light:#ffedd5;--c-text:#0f172a;--c-text-2:#475569;--c-text-3:#94a3b8;--c-bg:#f6f8fa;--c-card:#fff;--c-border:#e6ebf1;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 6px 24px #0f172a14;--shadow-lg:0 16px 48px #0f172a1f;--radius:14px;--radius-lg:22px;--max-width:1240px;--header-height:64px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font-family:inherit}img{max-width:100%;display:block}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 20px}.page{min-height:60vh;padding:24px 0 64px}.card{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.badge{background:var(--c-primary-light);color:var(--c-primary-dark);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge--accent{background:var(--c-accent-light);color:#c2410c}.badge--gray{color:var(--c-text-2);background:#f1f5f9}.btn{cursor:pointer;background:var(--c-primary);color:#fff;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .18s;display:inline-flex}.btn:hover{background:var(--c-primary-dark)}.btn--ghost{border-color:var(--c-border);color:var(--c-text);background:#fff}.btn--ghost:hover{background:#f8fafc;border-color:#cbd5e1}.btn--accent{background:var(--c-accent)}.btn--accent:hover{background:#ea580c}.btn--sm{border-radius:8px;padding:6px 12px;font-size:13px}.btn:disabled{opacity:.55;cursor:not-allowed}.section-title{justify-content:space-between;align-items:center;margin:36px 0 16px;display:flex}.section-title h2{letter-spacing:-.01em;margin:0;font-size:22px}.section-title .sub{color:var(--c-text-3);font-size:13px}.grid{gap:16px;display:grid}.grid--cards,.grid--features{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--cities{grid-template-columns:repeat(6,minmax(0,1fr))}.muted{color:var(--c-text-2)}.tiny{color:var(--c-text-3);font-size:12px}.stars{color:#f59e0b;letter-spacing:1px;gap:1px;font-size:13px;display:inline-flex}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--c-text-2);font-size:13px;font-weight:600}.field input,.field textarea{border:1px solid var(--c-border);background:#fff;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.field input:focus,.field textarea:focus{border-color:var(--c-primary)}.error-text{color:#dc2626;font-size:13px}.skeleton{background:linear-gradient(90deg,#eef2f6 25%,#f8fafc 37%,#eef2f6 63%) 0 0/400% 100%;border-radius:8px;animation:1.4s infinite skeleton}@keyframes skeleton{0%{background-position:100%}to{background-position:0}}@media (width<=1024px){.grid--cards,.grid--features{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--cities{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=640px){.container{padding:0 14px}.grid--cards,.grid--features{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid--cities{grid-template-columns:repeat(3,minmax(0,1fr))}.section-title h2{font-size:18px}}
