@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--green:#a6ce39;--green-dark:#527516;--ink:#16201b;--muted:#6d776f;--line:#dfe5df;--paper:#f5f6f2;--white:#fff;--shadow:0 18px 50px rgba(22,32,27,.11)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 Inter,Arial,sans-serif}.topbar{height:62px;background:#fff;border-bottom:3px solid var(--green);display:flex;align-items:center;padding:0 32px;gap:14px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:11px;font-weight:900;letter-spacing:.1em;text-decoration:none}.brand-mark{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--ink);color:var(--green);font-size:9px}.divider{width:1px;height:22px;background:var(--line)}.tool-name{color:var(--muted);font-size:12px;font-weight:600}.beta{color:var(--green-dark);background:#eaf3de;border:1px solid #d0e7aa;border-radius:20px;padding:4px 9px;font-size:10px;font-weight:800;letter-spacing:.06em}.back{margin-left:auto;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:6px 12px;text-decoration:none;font-size:11px;font-weight:700}.back:hover{border-color:var(--green);color:var(--green-dark)}.shell{max-width:1440px;margin:0 auto;padding:48px 40px 60px}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.eyebrow{margin:0 0 8px;color:var(--green-dark);font-size:10px;font-weight:900;letter-spacing:.16em}.hero h1{margin:0;font-size:clamp(34px,4vw,58px);line-height:.98;letter-spacing:-.055em}.hero h1 em{font-family:'DM Serif Display',Georgia,serif;font-weight:400;color:#6d786f}.lead{max-width:570px;color:var(--muted);font-size:15px;margin:18px 0 0}.hero-note{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;white-space:nowrap;padding-bottom:5px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}.workspace{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:28px;align-items:start}.panel,.preview-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.panel{padding:24px}.step{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:18px}.step>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--ink);color:var(--green);font-size:10px;font-weight:900;flex:0 0 auto}.step strong{display:block;font-size:13px}.step small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.url-form label,.control-block>label,.field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--muted);margin-bottom:7px}.url-row{display:flex;gap:7px}.url-row input,.field textarea{width:100%;border:1px solid var(--line);background:#fbfcfa;border-radius:9px;padding:11px 12px;color:var(--ink);font:12px Inter,Arial,sans-serif;outline:none}.url-row input:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #eaf3de}.icon-button{border:0;border-radius:9px;background:var(--green);color:var(--ink);width:45px;font-size:22px;font-weight:700;cursor:pointer}.icon-button:hover{background:#8fb62e}.hint{margin:8px 0 0;color:#98a19a;font-size:11px}.controls{margin-top:26px}.variants{display:grid;gap:8px}.variant{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer;background:#fff;transition:.15s}.variant:hover{border-color:var(--green)}.variant.active{border-color:var(--green-dark);background:#f7faef;box-shadow:inset 3px 0 var(--green)}.variant-dot{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:900;flex:0 0 auto}.variant strong{display:block;font-size:11px}.variant small{display:block;color:var(--muted);font-size:10px}.recommended{margin-left:auto;color:var(--green-dark);font-size:9px;font-weight:900;text-transform:uppercase}.control-block{margin-top:22px}.format-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.format{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);padding:8px 7px;font-size:10px;text-align:left;cursor:pointer}.format.active{border-color:var(--green-dark);color:var(--green-dark);background:#f7faef;font-weight:800}.image-list{display:flex;gap:7px;overflow:auto;padding-bottom:3px}.image-option{width:55px;height:55px;border:2px solid transparent;border-radius:8px;background:#e9ede7;overflow:hidden;flex:0 0 auto;cursor:pointer}.image-option.active{border-color:var(--green-dark)}.image-option img{width:100%;height:100%;object-fit:cover}.image-empty{font-size:11px;color:var(--muted);padding:10px 0}.edit-step{margin-top:24px}.field{margin-top:13px}.field textarea{resize:vertical;min-height:65px}.warning{margin-top:14px;background:#fff7df;border:1px solid #f1d68b;color:#896c24;border-radius:8px;padding:9px 10px;font-size:10px}.preview-panel{padding:22px 24px 17px;min-height:650px}.preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.preview-head h2{margin:0;font-size:18px;letter-spacing:-.03em}.family-badge{background:#eef2ed;color:var(--muted);font-size:10px;font-weight:800;border-radius:20px;padding:6px 10px}.canvas-stage{position:relative;min-height:550px;border-radius:13px;background:radial-gradient(circle at 50% 25%,#ffffff 0,#eef2ed 50%,#e2e8e0 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:24px}.canvas-stage canvas{display:block;max-width:100%;max-height:610px;width:auto;height:auto;box-shadow:0 14px 30px rgba(22,32,27,.2);border-radius:2px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--muted);gap:5px}.empty-state strong{font-size:14px;color:var(--ink)}.empty-state span{font-size:11px}.empty-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--ink);color:var(--green);font-size:27px;margin-bottom:8px}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(245,246,242,.84);color:var(--ink);font-size:12px;font-weight:700}.spinner{width:18px;height:18px;border:2px solid #d2dccd;border-top-color:var(--green-dark);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.preview-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;color:#9aa39c;font-size:10px}.actions{display:flex;gap:8px}.actions button{border-radius:8px;padding:9px 12px;font:700 10px Inter,Arial,sans-serif;cursor:pointer}.actions button:disabled{opacity:.45;cursor:not-allowed}.secondary{border:1px solid var(--line);background:#fff;color:var(--muted)}.primary{border:1px solid var(--green);background:var(--green);color:var(--ink)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,10px);background:var(--ink);color:#fff;border-radius:22px;padding:10px 16px;font-size:11px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.is-hidden{display:none!important}@media(max-width:900px){.shell{padding:32px 18px 44px}.topbar{padding:0 16px}.tool-name,.divider,.back{display:none}.hero{display:block}.hero-note{margin-top:18px}.workspace{grid-template-columns:1fr}.preview-panel{order:-1}.canvas-stage{min-height:430px}.preview-panel{min-height:0}}@media(max-width:520px){.hero h1{font-size:38px}.panel,.preview-panel{border-radius:13px;padding:17px}.preview-foot{display:block}.actions{margin-top:12px}.actions button{width:49%}}
.template-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.template-option{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);padding:8px 7px;font-size:10px;text-align:left;cursor:pointer}.template-option.active{border-color:var(--green-dark);background:#f7faef;color:var(--green-dark);font-weight:800}.special-controls{margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field input{width:100%;border:1px solid var(--line);background:#fbfcfa;border-radius:9px;padding:10px;color:var(--ink);font:12px Inter,Arial,sans-serif;outline:none}.field input:focus{border-color:var(--green);box-shadow:0 0 0 3px #eaf3de}.people-editor{margin-top:16px}.people-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:8px}.people-head label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--muted)}.people-head small,.person-row small{color:var(--muted);font-size:9px}.person-row{display:flex;gap:8px;align-items:flex-start;padding:7px 0;border-bottom:1px solid var(--line)}.person-dot{width:16px;height:16px;border-radius:50%;flex:0 0 auto;margin-top:4px}.person-row input{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:2px 0;color:var(--ink);font:700 10px Inter,Arial,sans-serif;outline:none}.person-row .person-role{font-weight:500;color:var(--muted);margin-top:3px}.people-actions{display:flex;gap:7px;align-items:center;margin-top:9px}.people-actions button{font-size:10px;padding:7px 9px;cursor:pointer}.upload-people{display:inline-block;border:1px solid var(--line);border-radius:8px;color:var(--green-dark);font-size:10px;font-weight:800;padding:7px 9px;cursor:pointer}.upload-people input{display:none}
.support-editor{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.support-image-list{display:flex;gap:7px;overflow:auto;padding-bottom:3px}.support-image-option{width:58px;height:58px;border:2px solid transparent;border-radius:8px;background:#e9ede7;overflow:hidden;flex:0 0 auto;cursor:pointer}.support-image-option.active{border-color:var(--green-dark)}.support-image-option img{width:100%;height:100%;object-fit:cover}
.format:disabled {
  cursor: not-allowed;
  opacity: 0.46;
}

.control-note {
  display: block;
  margin-top: 0.45rem;
  color: var(--muted, #68756d);
  font-size: 0.78rem;
  line-height: 1.35;
}
.mode-switch { display: flex; gap: 8px; margin: 14px 0 16px; }
.mode-button { border: 1px solid #d6ddd0; border-radius: 999px; background: #fff; color: #526058; cursor: pointer; padding: 8px 14px; font-weight: 800; }
.mode-button.active { background: #16201b; border-color: #16201b; color: #fff; }
.efemerides-form { padding: 12px 0 4px; }
.alerta-form { padding: 12px 0 4px; display: grid; gap: 10px; }
.alerta-form textarea { min-height: 120px; resize: vertical; }
.alerta-row { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
.alerta-field { display: grid; gap: 5px; }
.alerta-field--grow { flex: 1 1 220px; }
.alerta-field select, .alerta-field input { border: 1px solid #d6ddd0; border-radius: 8px; padding: 9px; font: inherit; background: #fff; color: #16201b; }
.efemeride-edit { border: 1px solid #dfe5da; border-radius: 12px; display: grid; gap: 7px; margin-top: 10px; padding: 12px; }
.efemeride-edit input { border: 1px solid #d6ddd0; border-radius: 8px; padding: 9px; font: inherit; }
.efemeride-edit small { color: #68736d; }
