:root{--paper:#f7f4ef;--card:#fff;--ink:#23272e;--ink-soft:#5c6470;--blue:#1e4fbf;--blue-deep:#163a8f;--blue-wash:#e8eefb;--line:#e6e1d8;--radius:16px;--shadow:0 2px 12px #23272e12;--font-display:"Fraunces", Georgia, serif;--font-body:"Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55}.screen{max-width:480px;min-height:100dvh;padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}@media (width>=720px){.screen{max-width:560px;padding-top:3rem}}.screen-body{flex:1}.screen-actions{flex-direction:column;gap:.75rem;padding-top:1.5rem;display:flex}.display{font-family:var(--font-display);margin:0 0 .5rem;font-size:2rem;font-weight:600;line-height:1.15}.display .accent{color:var(--blue);font-style:italic}.lede{color:var(--ink-soft);margin:0 0 1rem;font-size:1.02rem}.wordmark{font-family:var(--font-display);color:var(--blue);letter-spacing:.01em;font-size:1.05rem;font-weight:600}.btn{border-radius:var(--radius);width:100%;font-family:var(--font-body);cursor:pointer;text-align:center;border:none;padding:1.05rem 1.25rem;font-size:1.05rem;font-weight:600;transition:transform 50ms,background .15s;display:block}.btn:active{transform:scale(.985)}.btn-primary{background:var(--blue);color:#fff;box-shadow:var(--shadow)}.btn-primary:hover{background:var(--blue-deep)}.btn-secondary{background:var(--card);color:var(--blue);border:1.5px solid var(--blue)}.btn-secondary:hover{background:var(--blue-wash)}.btn-quiet{color:var(--ink-soft);background:0 0;padding:.6rem;font-weight:500}.btn-quiet:hover{color:var(--blue)}.quiet-links{justify-content:center;gap:1.75rem;padding-top:1.25rem;display:flex}.quiet-links button{color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:.4rem 0;font-size:.9rem;font-weight:500}.quiet-links button:hover{color:var(--blue)}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.25rem}.muted{color:var(--ink-soft);font-size:.9rem}.input{border:1.5px solid var(--line);width:100%;font-family:var(--font-body);background:var(--card);color:var(--ink);border-radius:12px;padding:.85rem 1rem;font-size:1.05rem}.input:focus{outline:2.5px solid var(--blue-wash);border-color:var(--blue)}.textarea{resize:vertical;line-height:1.5}.msg-error{color:#a32222;margin:.6rem 0 0;font-size:.92rem}.msg-float{max-width:480px;margin:0 auto;padding:0 1.25rem 1rem}.field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:1rem 0 .4rem;font-size:.8rem;font-weight:600}.progress-bar{z-index:5;background:var(--line);height:4px;position:sticky;top:0}.progress-bar>div{background:var(--blue);height:100%;transition:width .25s}.progress-line{color:var(--ink-soft);margin:0 0 .6rem;font-size:.85rem}.handle-row{align-items:center;gap:.5rem;display:flex}.handle-at{color:var(--ink-soft);font-size:1.3rem;font-weight:600}.collection-grid{flex-direction:column;gap:.6rem;display:flex}.collection-card{text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);cursor:pointer;width:100%;font-family:var(--font-body);align-items:center;gap:.9rem;padding:.85rem 1rem;display:flex}.collection-card.selected{border-color:var(--blue);outline:2px solid var(--blue-wash)}.collection-aa{color:var(--ink);min-width:2.6rem;font-size:2rem;line-height:1}.collection-meta{flex-direction:column;gap:.15rem;display:flex}.collection-meta strong{font-size:1rem}.collection-meta small{color:var(--ink-soft);font-size:.82rem}.palette-dots{gap:.3rem;margin-top:.3rem;display:flex}.palette-dots i{border-radius:50%;width:14px;height:14px;display:inline-block}.swatch-row{flex-wrap:wrap;gap:.6rem;margin-bottom:.5rem;display:flex}.swatch{cursor:pointer;width:46px;height:46px;box-shadow:var(--shadow);border:2.5px solid #0000;border-radius:50%}.swatch.selected{border-color:var(--ink);outline:2.5px solid var(--card);outline-offset:-5px}.hex-row{gap:.5rem;display:flex}.hex-row .input{flex:1}.color-preview{border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.25rem;margin-top:1.1rem;padding:1.1rem 1.2rem;display:flex}.btn-compact{width:auto;padding:.6rem 1rem;font-size:.92rem}.logo-preview{flex-direction:column;align-items:center;gap:.5rem;display:flex}.logo-preview img{object-fit:contain;max-width:180px;max-height:180px}.font-list{flex-direction:column;gap:.6rem;display:flex}.font-option{text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:.15rem;width:100%;padding:.85rem 1rem;display:flex}.font-option.selected{border-color:var(--blue);outline:2px solid var(--blue-wash)}.font-serif{color:var(--ink);font-size:1.35rem}.font-sans{color:var(--ink-soft);font-size:.85rem}.reassure{font-family:var(--font-display);color:var(--ink);border-left:3px solid var(--blue);font-size:1.08rem;font-style:italic}.tap-options{flex-direction:column;gap:.6rem;display:flex}.tap-option{text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);cursor:pointer;width:100%;font-family:var(--font-body);color:var(--ink);padding:1rem 1.1rem;font-size:1.02rem;font-weight:500}.tap-option.selected{border-color:var(--blue);background:var(--blue-wash)}.setup-card{padding:.25rem .5rem}.setup-row{cursor:pointer;width:100%;font-family:var(--font-body);color:var(--ink);border:none;border-bottom:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem .75rem;font-size:.98rem;display:flex}.setup-card .setup-row:last-child{border-bottom:none}.setup-value{color:var(--ink-soft);align-items:center;gap:.4rem;font-size:.88rem;display:flex}.mini-swatch{border-radius:50%;width:16px;height:16px;display:inline-block}.back-to-setup{z-index:6;width:auto;position:fixed;top:.4rem;right:.75rem}.card-title{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.15rem}.char-count{color:var(--ink-soft);margin:.3rem 0 .6rem;font-size:.85rem}.char-count.over{color:#a32222;font-weight:600}.btn-row{gap:.5rem;display:flex}.a2hs{flex-direction:column;gap:.6rem;display:flex}.a2hs-card{margin-bottom:0;padding:.85rem 1rem}.a2hs-toggle{text-align:left;width:100%;font-family:var(--font-body);color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;font-weight:600}.a2hs-card ol{color:var(--ink-soft);margin:.6rem 0 0;padding-left:1.2rem}.a2hs-card li{margin-bottom:.3rem}.btn:disabled{opacity:.55;cursor:default}.btn-blocked{opacity:.55}.btn-hint{color:#a32222;text-align:center;margin:0 0 .1rem;font-size:.92rem;font-weight:500;animation:.18s hint-in}@keyframes hint-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.error-toast{left:50%;bottom:calc(8rem + env(safe-area-inset-bottom));z-index:30;color:#a32222;cursor:pointer;background:#fbeded;border:1.5px solid #e8b9b9;border-radius:12px;max-width:min(440px,92vw);padding:.75rem 1rem;font-size:.95rem;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #23272e2e}.auth-fields{flex-direction:column;gap:.7rem;display:flex}.quiet-links{flex-wrap:wrap}.back-btn{z-index:6;width:auto;padding:.45rem .7rem;font-size:.95rem;position:fixed;top:.45rem;left:.5rem}.mic-btn{margin-top:.6rem}.mic-btn.listening{background:var(--blue-wash);border-color:var(--blue);animation:1.2s infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 #1e4fbf40}50%{box-shadow:0 0 0 7px #1e4fbf00}}.tap-option strong{font-weight:600;display:block}.format-desc{color:var(--ink-soft);margin-top:.1rem;font-size:.85rem;display:block}.caption-editor{font-size:1rem;line-height:1.6}.prompt-card{line-height:1.4}.prompt-cat{text-transform:uppercase;letter-spacing:.07em;color:var(--blue);margin-bottom:.25rem;font-size:.7rem;font-weight:600;display:block}.home-welcome{margin-top:1.25rem}.home-welcome-line{color:var(--ink);margin:0;font-size:.98rem;line-height:1.6}.tip-card{border-left:3px solid var(--blue)}.tip-title{font-family:var(--font-display);margin:.15rem 0 .35rem;font-size:1.15rem;font-weight:600}.tip-body{color:var(--ink-soft);margin:0;font-size:.92rem;line-height:1.55}.post-preview{border-radius:var(--radius);width:100%;box-shadow:var(--shadow);display:block}.slide-strip{scroll-snap-type:x mandatory;gap:.6rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.slide-thumb{width:78%;max-width:340px;box-shadow:var(--shadow);scroll-snap-align:center;border-radius:12px;flex:none}video.post-preview{background:#000;max-height:60vh}.crop-wrap{margin:.25rem 0 .5rem}.crop-stage{aspect-ratio:1080/1350;border-radius:var(--radius);width:100%;max-width:340px;box-shadow:var(--shadow);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#e8e5df;margin:0 auto;position:relative;overflow:hidden}.crop-stage:active{cursor:grabbing}.crop-img{will-change:transform;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.crop-loading{text-align:center;justify-content:center;align-items:center;margin:0;padding:1rem;display:flex;position:absolute;inset:0}.crop-frame{pointer-events:none;border-style:solid;position:absolute}.crop-chip{color:var(--ink);font-family:var(--font-body);pointer-events:none;white-space:nowrap;background:#fbfaf7e6;position:absolute}.crop-zoom-row{align-items:center;gap:.6rem;max-width:340px;margin:.7rem auto 0;display:flex}.crop-zoom{accent-color:var(--blue);flex:1;min-height:28px}.crop-zoom-label{color:var(--ink-soft);font-size:1.15rem;line-height:1}.screen-wide{max-width:560px}.msg-ok{color:#2e7d4f;margin:.4rem 0;font-size:.92rem}.post-row{gap:.9rem;padding:.9rem;display:flex}.post-thumb-wrap{flex:none}.post-thumb{object-fit:cover;border-radius:10px;width:84px;height:105px;display:block}.video-thumb{background:var(--ink);color:#fff;justify-content:center;align-items:center;font-size:.8rem;display:flex}.post-meta{flex:1;min-width:0}.post-chips{align-items:center;gap:.6rem;font-size:.8rem;display:flex}.chip{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.15rem .6rem;font-size:.72rem;font-weight:600}.chip-draft{background:var(--line);color:var(--ink-soft)}.chip-scheduled{color:#8a6d1f;background:#f3e8cf}.chip-posted{background:var(--blue-wash);color:var(--blue)}.post-caption{white-space:nowrap;text-overflow:ellipsis;margin:.35rem 0;font-size:.92rem;overflow:hidden}.post-actions{flex-wrap:wrap;gap:.4rem;display:flex}.mini-btn{background:var(--card);border:1px solid var(--line);color:var(--ink);cursor:pointer;font-size:.78rem;font-weight:600;font-family:var(--font-body);border-radius:8px;padding:.3rem .65rem}.mini-btn:hover{border-color:var(--blue);color:var(--blue)}.mini-btn.danger:hover{color:#a32222;border-color:#a32222}.schedule-row{gap:.5rem;margin-top:.5rem;display:flex}.cal-header{justify-content:space-between;align-items:center;margin:.5rem 0 .75rem;display:flex}.cal-month{font-family:var(--font-display);font-size:1.2rem;font-weight:600}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-dow{text-align:center;color:var(--ink-soft);padding:.3rem 0;font-size:.7rem;font-weight:700}.cal-cell{aspect-ratio:1;background:var(--card);border:1px solid var(--line);cursor:pointer;font-family:var(--font-body);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.cal-cell.empty{cursor:default;background:0 0;border:none}.cal-cell.today{border-color:var(--blue);border-width:2px}.cal-cell.selected{background:var(--blue-wash)}.cal-daynum{color:var(--ink);font-size:.85rem}.cal-dots{gap:3px;min-height:7px;display:flex}.cal-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot-posted{background:var(--blue)}.dot-scheduled{background:#c9a227}.dot-draft{background:var(--ink-soft)}.cal-legend{align-items:center;gap:1.2rem;margin:.6rem 0 1rem;font-size:.8rem;display:flex}.cal-legend span{align-items:center;gap:.35rem;display:flex}.chip-row{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.chip-filter{background:var(--card);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;font-size:.82rem;font-weight:600;font-family:var(--font-body);border-radius:999px;padding:.35rem .85rem}.chip-filter.active{background:var(--blue);border-color:var(--blue);color:#fff}.nudge-card{border-left-color:#c9a227}
