.fl-story-editor { border-top:1px solid #3a465b; margin:64px 0 0; padding:36px 0; }
.fl-story-editor fieldset { border:0; padding:0; margin:0; min-width:0; }
.fl-story-form-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; gap:44px; margin-top:30px !important; }
.fl-story-quote { position:sticky; top:24px; padding:24px; border:1px solid #3a465b; border-radius:6px; background:#0d1626; }
.fl-story-step { color:#dfc8a8; font-size:16px; letter-spacing:.04em; margin:0 0 18px; }
.fl-story-section-heading { display:flex; gap:16px; justify-content:space-between; align-items:flex-start; }
.fl-story-section-heading .fl-story-step { margin-bottom:8px; }
.fl-story-count { flex-shrink:0; color:#c8aa7e; font-size:13px; padding-top:2px; }
.fl-story-moments-section { min-width:0; }
.fl-story-quote-example { margin:18px 0 24px; padding-left:14px; border-left:2px solid #7a6550; }
.fl-story-quote-example span { color:#a7b1c6; font-size:12px; }
.fl-story-quote-example p { color:#d9c7ab; font-size:15px; line-height:1.9; margin:6px 0 0; }
.fl-story-example { border:1px dashed #48546b; border-radius:6px; padding:16px 18px; margin-bottom:24px; background:#0c1423; }
.fl-story-example summary { cursor:pointer; color:#d6c2a4; font-size:14px; min-height:28px; }
.fl-story-example-content { display:grid; grid-template-columns:110px minmax(0,1fr); gap:20px; align-items:center; padding-top:20px; }
.fl-story-example-photo { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; aspect-ratio:1; border-radius:4px; background:#17273a; border:1px solid #354c64; color:#a5bcd2; }
.fl-story-example-photo>span { font-size:32px; line-height:1; }
.fl-story-example-photo small { font-size:11px; text-align:center; padding:0 8px; }
.fl-story-example-date { color:#a7b1c6; font-size:12px; margin:0; }
.fl-story-example h3 { font-size:18px; font-weight:400; margin:8px 0; color:#e5d2b3; }
.fl-story-example-content p:last-child { font-size:14px; line-height:1.9; margin:0; color:#b7c2d3; }
.fl-story-example>.fl-create-help { margin-bottom:0; }
.fl-story-editor label { display:block; color:#e2d9ca; font-size:15px; margin:16px 0; }
.fl-story-editor textarea { display:block; box-sizing:border-box; width:100%; background:#0c1424; border:1px solid #596173; border-radius:4px; color:#f6f3ed; padding:12px; margin-top:8px; font:inherit; line-height:1.8; resize:vertical; }
.fl-story-editor button { border:1px solid #a69072; border-radius:3px; background:transparent; color:#ead5b5; padding:10px 16px; min-height:44px; font:inherit; cursor:pointer; }
.fl-story-editor button:disabled { opacity:.45; cursor:default; }
.fl-story-editor [data-story-save] { background:#e4c9a2; color:#131a29; }
.fl-story-edit-list { position:relative; padding-left:26px; }
.fl-story-edit-list:not(:empty)::before { content:''; position:absolute; top:28px; bottom:28px; left:5px; width:1px; background:#6b604f; }
.fl-story-edit-card { position:relative; margin:0 0 24px; padding:20px 22px 24px; border:1px solid #3a465b; border-radius:6px; min-width:0; background:#0d1626; }
.fl-story-edit-card::before { content:''; position:absolute; left:-27px; top:26px; width:10px; height:10px; border-radius:50%; background:#d4b687; box-shadow:0 0 0 5px #080e1d; }
.fl-story-edit-card h3 { font-size:21px; font-weight:400; margin:0; }
.fl-story-badge { color:#c8aa7e; font-size:13px; margin:4px 0 16px; }
.fl-story-check { display:flex !important; align-items:flex-start; gap:12px; min-height:44px; padding:8px 0; line-height:1.8; }
.fl-story-check span { flex:1; min-width:0; }
.fl-story-save-note { padding:16px 18px; margin:24px 0 12px; border-left:2px solid #c8aa7e; background:#111d30; color:#d4dceb; font-size:14px; line-height:1.9; }
.fl-story-check input { flex-shrink:0; margin-top:6px; width:17px; height:17px; accent-color:#e4c9a2; }
.fl-story-edit-photo { display:block; max-width:100%; width:360px; height:auto; max-height:300px; object-fit:contain; margin:20px 0; border-radius:3px; }
.fl-story-actions { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 0; }
.fl-story-card-actions>button { width:36px; min-height:36px; padding:0; font-size:18px; border-color:#46546b; color:#c7d0df; }
.fl-story-card-actions>.fl-story-delete { width:auto; padding:4px 6px; margin-left:auto; border-color:transparent; color:#d1a5a5; font-size:13px; }
.fl-story-save-panel { border-top:1px solid #3a465b; margin-top:32px; padding-top:14px; }
.fl-story-save-panel .fl-story-actions { align-items:center; }
.fl-story-save-panel [data-story-save] { white-space:normal; text-align:center; max-width:100%; line-height:1.7; }
.fl-story-save-panel [data-story-reload] { border-color:transparent; color:#a7b1c6; font-size:13px; }
.fl-story-editor input::file-selector-button { border:1px solid #596173; border-radius:3px; background:#17273a; color:#e2d9ca; padding:8px 10px; margin-right:10px; cursor:pointer; }
[data-story-status] { color:#f2d4af; overflow-wrap:anywhere; }
.fl-story-public[hidden] { display:none !important; }
.fl-story-public { position:relative; z-index:9998; width:min(1100px,100%); box-sizing:border-box; margin:0 auto; padding:36px 28px 120px; color:#f2eee7; font-family:'Montserrat','PingFang TC',sans-serif; line-height:1.8; }
.fl-story-public h2 { color:#e4c9a2; text-align:center; font-size:clamp(24px,3vw,32px); font-weight:400; margin:0 0 32px; }
.fl-story-public blockquote { max-width:720px; margin:0 auto 44px; padding:0; border:0; text-align:center; font-size:clamp(22px,3vw,30px); white-space:pre-line; overflow-wrap:anywhere; }
.fl-story-cards { position:relative; display:grid; grid-template-columns:1fr; gap:48px; padding-left:34px; }
.fl-story-cards:not(:empty)::before { content:''; position:absolute; top:24px; bottom:24px; left:6px; width:1px; background:linear-gradient(#c4a779,#74644f 85%,transparent); }
.fl-story-card { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:36px; align-items:center; min-width:0; }
.fl-story-card::before { content:''; position:absolute; left:-33px; top:24px; width:12px; height:12px; border:1px solid #f0d5a7; border-radius:50%; background:#b99460; box-shadow:0 0 0 6px #0c1020; }
.fl-story-card-copy { min-width:0; }
.fl-story-card img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:3px; }
.fl-story-card h3 { font-size:clamp(23px,2.5vw,30px); font-weight:400; margin:10px 0 12px; line-height:1.6; overflow-wrap:anywhere; }
.fl-story-card time { color:#cab697; font-size:14px; letter-spacing:.08em; }
.fl-story-card p { font-size:18px; white-space:pre-line; overflow-wrap:anywhere; margin-top:12px; }
html.fl-has-story, html.fl-has-story body { position:relative; height:auto; min-height:100%; overflow-x:hidden; }
html.fl-has-story body { display:block; filter:none; }
html.fl-has-story body>.container2 { position:fixed; inset:0; height:100vh; pointer-events:none; }
html.fl-has-story .fl-couple-visit-stage { min-height:100svh; }
html.fl-has-story .fl-couple-visit-stage:has(.fl-visitor-actions) { position:relative; inset:auto; display:flex; min-height:100svh; overflow:visible; padding:100px 0 80px; }
html.fl-has-story .fl-couple-visit-stage>.title, html.fl-has-story body>.title { position:relative; top:auto; left:auto; transform:none; margin:0 auto; box-sizing:border-box; }
html.fl-has-story body>.title { min-height:100svh; padding:100px 12px 80px; }
@media(max-width:900px) { .fl-story-form-grid { gap:28px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }.fl-story-quote { padding:20px; }.fl-story-example-content { grid-template-columns:1fr; }.fl-story-example-photo { width:100%; aspect-ratio:2; } }
@media(max-width:760px) {
    .fl-story-public { padding:24px 22px 110px; }
    .fl-story-cards { gap:38px; padding-left:25px; }
    .fl-story-cards:not(:empty)::before { left:4px; }
    .fl-story-card { grid-template-columns:1fr; gap:16px; }
    .fl-story-card::before { left:-26px; width:10px; height:10px; }
    .fl-story-card img { max-height:420px; }
    .fl-story-card h3 { margin-top:8px; }
    .fl-story-public blockquote { font-size:22px; }
    .fl-story-form-grid { grid-template-columns:1fr; gap:32px; }
    .fl-story-quote { position:relative; top:auto; }
    .fl-story-edit-card { padding:16px 14px 22px; }
    .fl-story-edit-list { padding-left:22px; }
    .fl-story-edit-card::before { left:-23px; }
    .fl-story-example-content { grid-template-columns:90px minmax(0,1fr); gap:14px; }
    .fl-story-example-photo { aspect-ratio:1; }
    .fl-story-save-panel [data-story-save] { width:100%; padding:13px 16px; }
    .fl-story-card-actions>button { min-width:44px; min-height:44px; }
}
