:root{--green:#0f7a33;--green-dark:#0b5c26;--ink:#424141;--ink-soft:#6f6d6d;--line:#e4e4e4;--bg:#fff;--bg-soft:#f7f7f6;--danger:#a8261f;--radius:10px;--bar-height:76px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.55}h1,h2{margin:0 0 .4em;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.15rem}p{margin:0 0 1rem}a{color:var(--green)}.wordmark{letter-spacing:-.02em;margin-bottom:.6rem;font-size:1.6rem;font-weight:800}.wordmark.small{margin-bottom:.1rem;font-size:1rem;display:block}.logo{width:auto;height:1.25em;display:block}.logo-ink{fill:var(--ink)}.logo-accent{fill:var(--green)}.accent{color:var(--green)}.muted{color:var(--ink-soft);font-size:.9rem}.error{color:var(--danger);font-size:.92rem}.hint{background:var(--bg-soft);border-left:3px solid var(--green);border-radius:0 var(--radius) var(--radius) 0;padding:.9rem 1rem;font-size:.95rem}button,.button-quiet{font:inherit;cursor:pointer}.button-primary{background:var(--green);color:#fff;border-radius:var(--radius);border:none;min-height:48px;padding:.85rem 1.4rem;font-weight:600}.button-primary:hover:not(:disabled){background:var(--green-dark)}.button-secondary{color:var(--ink);border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;min-height:44px;padding:.7rem 1.1rem;font-weight:600}.button-secondary:hover:not(:disabled){border-color:var(--green);color:var(--green)}.button-quiet{color:var(--ink-soft);background:0 0;border:none;border-radius:8px;min-height:40px;padding:.5rem .6rem;font-size:.92rem;text-decoration:none}.button-quiet:hover:not(:disabled){background:var(--bg-soft);color:var(--ink)}.button-quiet.danger:hover:not(:disabled){color:var(--danger)}button:disabled{opacity:.45;cursor:not-allowed}.centered{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.card{border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:.35rem;width:100%;max-width:26rem;padding:1.75rem;display:flex}.centered.wide .card{max-width:40rem}.card label{margin-top:.6rem;font-size:.92rem;font-weight:600}input[type=email],input[type=text],input[type=url],textarea{width:100%;font:inherit;color:var(--ink);border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;min-height:48px;padding:.75rem .85rem}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #0f7a3324}.site-list{margin:0 0 1rem;padding:0;list-style:none}.site-list a{border-bottom:1px solid var(--line);color:var(--ink);flex-direction:column;padding:.9rem 0;text-decoration:none;display:flex}.site-list a:hover strong{color:var(--green)}.editor{min-height:100dvh;padding-bottom:calc(var(--bar-height) + 1rem)}.editor-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.25rem;display:flex}.editor-head h1{margin:0;font-size:1.2rem}.editor-body{display:block}.editor-form{max-width:42rem;margin:0 auto;padding:1.25rem}.group{border:1px solid var(--line);border-radius:14px;margin:1.25rem 0;padding:1.1rem 1.15rem}.group-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.group-head h2{margin:0}.field{flex-direction:column;gap:.35rem;margin:1rem 0;display:flex}.field-label{font-size:.92rem;font-weight:600}.field-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.image-slot{border:1.5px dashed var(--line);border-radius:var(--radius);background:var(--bg-soft);aspect-ratio:4/3;place-items:center;display:grid;overflow:hidden}.image-slot img{object-fit:cover;width:100%;height:100%;display:block}.image-placeholder{opacity:.5;place-items:center;width:100%;height:100%;display:grid}.image-placeholder svg{max-width:100%;max-height:100%}.item{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft);margin:.75rem 0;padding:.75rem .9rem}.item-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.item-number{color:var(--ink-soft);font-weight:700}.item-tools{flex-wrap:wrap;align-items:center;gap:.15rem;display:flex}.item-tools form{display:inline}.item .field input,.item .field textarea{background:#fff}.version-list{margin:0;padding:0;list-style:none}.version-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.92rem;display:flex}.publish-bar{min-height:var(--bar-height);padding:.85rem 1.25rem;padding-bottom:max(.85rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.publish-status{flex-direction:column;gap:.15rem;min-width:0;display:flex}.publish-message{color:var(--ink-soft);font-size:.85rem}.badge{color:var(--ink-soft);font-size:.85rem;font-weight:600}.badge.dirty,.badge.saving{color:#8a6d00}.badge.error{color:var(--danger)}.preview{border-top:1px solid var(--line);padding:1rem 1.25rem}.preview-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.preview iframe{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;height:60vh}@media (min-width:62rem){.editor.with-preview .editor-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.editor.with-preview .editor-form{margin:0}.preview{border-top:none;border-left:1px solid var(--line);height:100dvh;position:sticky;top:0}.preview iframe{height:calc(100dvh - 9rem)}}.visual{background:#e8e8e6;flex-direction:column;height:100dvh;display:flex}.visual-bar{background:var(--green);color:#fff;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.5rem .9rem;display:flex}.visual-bar .wordmark{color:#fff;margin:0 .35rem 0 0;font-size:1.05rem}.visual-bar .logo-ink{fill:#fff}.visual-bar .logo-accent{fill:#bfe8cb}.visual-site{white-space:nowrap;text-overflow:ellipsis;max-width:40vw;margin-right:auto;font-size:.95rem;font-weight:600;overflow:hidden}.visual-bar form{display:inline}.bar-button{color:#fff;font:inherit;cursor:pointer;background:#ffffff24;border:none;border-radius:8px;min-height:38px;padding:.45rem .75rem;font-size:.88rem}.bar-button:hover{background:#ffffff42}.bar-button[aria-pressed=true]{color:var(--green);background:#fff}.bar-status{opacity:.92;padding:0 .25rem;font-size:.82rem}.bar-status.error{color:var(--danger);opacity:1;background:#fff;border-radius:6px;padding:.2rem .45rem}.bar-publish{color:var(--green);font:inherit;cursor:pointer;background:#fff;border:none;border-radius:8px;min-height:40px;padding:.5rem 1rem;font-weight:700}.bar-publish:disabled{opacity:.55;cursor:not-allowed}.visual-message{color:#5c4b00;background:#fff8e1;margin:0;padding:.45rem .9rem;font-size:.9rem}.visual-body{flex:1;min-height:0;display:flex}.visual-stage{flex:1;justify-content:center;min-width:0;padding:.75rem;display:flex}.visual-frame{background:#fff;border:0;border-radius:10px;width:100%;height:100%;box-shadow:0 1px 10px #0000001f}.visual-stage.mobile .visual-frame{max-width:390px}.side-panel{border-left:1px solid var(--line);background:#fff;flex-shrink:0;width:360px;padding:1rem 1.1rem 2rem;overflow-y:auto}.panel-head{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.4rem;display:flex}.panel-head h2{margin:.1rem 0 0;font-size:1.08rem}.panel-kicker{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-size:.74rem}.panel-tools{flex-wrap:wrap;gap:.2rem;margin:.4rem 0 .2rem;display:flex}.panel-field{border-radius:10px}.panel-field.active{background:#eef7f1;box-shadow:0 0 0 8px #eef7f1}.panel-empty h2{font-size:1.08rem}.panel-empty p{font-size:.95rem}.mobile-hint{display:none}@media (max-width:52rem){.visual-body{flex-direction:column}.visual-stage{padding:0}.visual-frame{box-shadow:none;border-radius:0}.side-panel{border-left:none;border-top:1px solid var(--line);width:auto;max-height:50dvh;box-shadow:0 -6px 18px #0000001a}.side-panel.idle{display:none}.mobile-hint{background:var(--green);color:#fff;text-align:center;margin:0;padding:.55rem .9rem;font-size:.9rem;display:block}.visual-site{max-width:28vw}}.bar-plan{color:#fff;white-space:nowrap;border:1px solid #ffffff80;border-radius:999px;padding:.25rem .65rem;font-size:.8rem;font-weight:600;text-decoration:none}.bar-plan:hover{background:#ffffff29}.plan-current{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1.4rem;padding:1rem 1.1rem}.plan-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem 1rem;display:flex}.plan-label{color:var(--ink-soft);font-size:.8rem;display:block}.plan-name,.plan-price strong{font-size:1.3rem}.plan-list{margin:.7rem 0 .8rem;padding-left:1.1rem}.plan-list li{margin-bottom:.25rem}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.8rem;margin:.6rem 0 1.2rem;padding:0;list-style:none;display:grid}.plan-card{border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.plan-card.is-current{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green)}.plan-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.plan-badge{color:var(--green);background:var(--bg-soft);border-radius:6px;padding:.15rem .45rem;font-size:.72rem;font-weight:600}.page-list{gap:.5rem;margin:.8rem 0 1.2rem;padding:0;list-style:none;display:grid}.page-row{border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .8rem;padding:.7rem .9rem;display:flex}.page-row.is-hidden{background:var(--bg-soft)}.page-main{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.page-path{color:var(--ink-soft);font-size:.85rem}.page-rename{flex-wrap:wrap;gap:.4rem;display:flex}.page-add{margin-top:.4rem}.page-add-row{flex-wrap:wrap;gap:.5rem;margin:.35rem 0 .3rem;display:flex}.page-add-row input{flex:14rem}.bar-pages select{color:#fff;background:0 0;border:1px solid #ffffff80;border-radius:999px;padding:.25rem .5rem;font-size:.8rem;font-weight:600}.bar-pages select option{color:var(--ink)}.visually-hidden{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.plan-choice{border:0;margin:1.2rem 0 0;padding:0}.plan-choice legend{padding:0;font-weight:600}.plan-card label{cursor:pointer;display:block}.plan-card input[type=radio]{margin:0 0 .4rem}.check{cursor:pointer;align-items:baseline;gap:.5rem;margin:.5rem 0;display:flex}.check input{width:1.15rem;height:1.15rem}.plan-total{margin:1.1rem 0 .8rem;font-size:1.05rem}
