.fl-create { margin:0; min-height:100vh; color:#f2eee7; background:#080e1d; font-family: "Noto Sans", "PingFang TC", sans-serif; line-height:1.7; }
.fl-create * { box-sizing:border-box; }
.fl-create [hidden] { display:none !important; }
.fl-create a { color:#e3cca7; text-decoration:none; }
.fl-create a:hover { text-decoration:underline; }
.fl-create-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:28px clamp(20px,5vw,80px); font-size:13px; letter-spacing:.06em; }
.fl-create-header a:last-child { letter-spacing:.2em; color:#f2eee7; }
.fl-create-main { max-width:1200px; margin:30px auto 70px; padding:0 32px; }
.fl-create-heading { margin-bottom:40px; }
.fl-create-eyebrow { color:#c8aa7e; font-size:11px; letter-spacing:.3em; }
.fl-create-heading h1 { font-size:clamp(28px,3.6vw,42px); line-height:1.5; font-weight:400; letter-spacing:.06em; margin:12px 0; }
.fl-create-heading>p:last-child { color:#afb7c9; font-size:16px; }
.fl-create-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:70px; align-items:start; }
.fl-create-editor label { display:block; font-size:15px; color:#e2d9ca; }
.fl-create-fields { border:0; padding:0; margin:0; min-width:0; }
.fl-create-reveal { position:relative; padding:24px 0; border-top:1px solid #4a4351; border-bottom:1px solid #4a4351; }
.fl-create-reveal h2 { margin:14px 0 10px; font-size:25px; }
.fl-create-reveal p { color:#b8c2d3; font-size:15px; }
.fl-create-reveal-star { display:block; color:#e9c992; font-size:48px; width:max-content; transform-origin:center; text-shadow:0 0 25px #ddb16c66; }
.fl-create-reveal.is-revealing .fl-create-reveal-star { animation:fl-create-star-reveal 2.4s ease-out both; }
.fl-create-reveal .fl-create-text-button { color:#dfc8a8; padding:8px 0; border:0; background:none; font-size:13px; min-height:44px; }
@keyframes fl-create-star-reveal { 0% { opacity:0; transform:scale(.25) rotate(-35deg); filter:blur(5px); } 45% { opacity:1; transform:scale(1.16) rotate(4deg); filter:blur(0); text-shadow:0 0 48px #ffe4ae; } 100% { opacity:1; transform:scale(1) rotate(0); } }
.fl-create-names { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:26px; }
.fl-create input:not([type=checkbox]):not([type=file]):not([type=range]) { display:block; width:100%; min-width:0; border:0; border-bottom:1px solid #596173; border-radius:0; padding:12px 0; margin-top:5px; background:transparent; color:#f6f3ed; font:inherit; font-size:18px; }
.fl-create input::placeholder { color:#798398; }
.fl-create input { color-scheme:dark; }
.fl-create input[type=file] { display:block; max-width:100%; margin-top:14px; color:#c2c9d7; }
.fl-create :focus-visible { outline:2px solid #f1d3a3; outline-offset:5px; }
.fl-create-address { display:flex; align-items:baseline; gap:3px; font-size:14px; }
.fl-create-address>span { color:#a5b1c7; flex-shrink:0; }
.fl-create-address input { flex:1; }
.fl-create-help { color:#a7b1c6; font-size:13px; line-height:1.8; margin:9px 0 22px; }
.fl-create-suggestions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.fl-create-suggestions button { padding:5px 12px; font-size:13px; background:transparent; color:#e9cfab; border:1px solid #697084; border-radius:20px; }
.fl-create-status { color:#f2d4af; font-size:15px; overflow-wrap:anywhere; }
.fl-create-buttons { display:flex; flex-wrap:wrap; gap:20px; align-items:center; }
.fl-create button { font:inherit; cursor:pointer; }
.fl-create-buttons>button { border:1px solid #e4c9a2; border-radius:3px; padding:12px 26px; color:#131a29; background:#e4c9a2; min-height:48px; }
.fl-create-buttons>button:disabled { opacity:.55; cursor:wait; }
.fl-create-buttons>.fl-create-text-button { color:#dfc8a8; background:none; border:0; padding:10px 0; }
.fl-create-consent { display:flex !important; align-items:flex-start; gap:10px; margin:24px 0; }
.fl-create-consent input { margin-top:7px; flex-shrink:0; width:17px; height:17px; accent-color:#e4c9a2; }
.fl-create h2 { font-size:23px; font-weight:400; margin-top:30px; }
.fl-create [data-confirm-section]>p { font-size:15px; color:#b6c0d1; }
.fl-create-link { display:inline-block; margin:20px 20px 0 0; }
.fl-owner-nav { position:sticky; top:0; z-index:20; display:flex; gap:10px; padding:16px 0; margin:0 0 32px; background:#080e1d; border-bottom:1px solid #334157; }
.fl-owner-nav a { display:flex; align-items:center; justify-content:center; padding:10px 20px; border:1px solid #48536a; border-radius:4px; min-height:44px; font-size:14px; text-decoration:none; }
.fl-owner-nav a[aria-current] { color:#0d1626; background:#e4c9a2; border-color:#e4c9a2; }
.fl-owner-section-heading h2 { margin:6px 0 12px; font-size:25px; }
.fl-owner-section-heading .fl-create-eyebrow { margin-top:0; }
.fl-owner-savebar { position:fixed; z-index:30; inset:auto 0 0; background:#0c1525; border-top:1px solid #586176; padding:16px max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)); }
.fl-owner-savebar-inner { max-width:1136px; margin:auto; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.fl-owner-savebar-inner>div { min-width:0; }
.fl-owner-save-summary { flex:1; padding-top:12px; }
.fl-owner-save-summary p { font-size:13px; line-height:1.7; margin:6px 0 0; color:#bbc8dc; }
.fl-owner-actions { display:flex; align-items:flex-start; gap:14px; }
.fl-owner-save-control { width:clamp(200px,25vw,320px); min-width:0; }
.fl-owner-savebar strong { font-size:14px; color:#e6d4b7; font-weight:400; }
.fl-owner-savebar [role=status] { font-size:13px; line-height:1.7; min-height:1.7em; margin:7px 0 0; color:#bbc8dc; overflow-wrap:anywhere; text-align:center; }
.fl-owner-savebar [role=status][data-tone=success] { color:#b8dfc9; }
.fl-owner-savebar [role=status][data-tone=error] { color:#f1bdb6; }
.fl-owner-savebar button { width:100%; border:1px solid #e4c9a2; background:#e4c9a2; color:#101a2a; border-radius:4px; padding:12px 28px; min-height:48px; font:inherit; font-size:16px; line-height:1.5; cursor:pointer; }
.fl-owner-savebar button:disabled { opacity:.6; cursor:wait; }
.fl-owner-savebar .fl-owner-public-link { display:flex; justify-content:center; align-items:center; gap:12px; border:1px solid #647187; border-radius:4px; padding:12px 18px; min-height:50px; color:#e3cca7; font-size:15px; line-height:1.5; text-align:center; }
.fl-owner-public-link[aria-disabled=true] { opacity:.55; cursor:wait; }
.fl-owner-savebar :is(a,button):focus-visible, .fl-owner-toast button:focus-visible { outline:2px solid #f1d5ae; outline-offset:4px; }
.fl-owner-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.fl-owner-toast { position:fixed; z-index:31; bottom:calc(var(--fl-owner-savebar-height,140px) + 14px); right:max(20px,env(safe-area-inset-right)); display:flex; align-items:center; gap:12px; width:min(420px,calc(100% - 40px)); padding:10px 12px 10px 18px; border:1px solid #5b927d; border-radius:6px; background:#15332b; color:#e0f3e8; box-shadow:0 8px 30px #0004; }
.fl-owner-toast>span { font-size:22px; }
.fl-owner-toast p { flex:1; margin:0; font-size:14px; line-height:1.8; }
.fl-owner-toast button { flex-shrink:0; background:transparent; border:0; color:inherit; min-width:44px; min-height:44px; font-size:24px; cursor:pointer; }
.fl-create-main[data-editor-mode=edit] { padding-bottom:calc(var(--fl-owner-savebar-height,140px) + 32px); }
.fl-create-main[data-editor-mode=edit] [data-update], .fl-create-main[data-editor-mode=edit] [data-story-save] { display:none !important; }
.fl-create-main[data-editor-mode=edit] #fl-page-details, .fl-create-main[data-editor-mode=edit] #fl-story-editor { scroll-margin-top:100px; }
.fl-create-main[data-editor-mode=edit] .fl-create-preview { top:100px; }
@media(min-width:761px) { .fl-create-main[data-editor-mode=edit] .fl-story-quote { top:100px; } }
.fl-create-main[data-editor-mode=edit] input, .fl-create-main[data-editor-mode=edit] textarea, .fl-create-main[data-editor-mode=edit] button { scroll-margin-block:110px calc(var(--fl-owner-savebar-height,140px) + 24px); }
.fl-create-session { margin-top:28px; max-width:380px; }
.fl-create-preview { position:sticky; top:35px; min-height:550px; background:radial-gradient(ellipse at 50% 65%,#16263c 0%,#0a1020 68%); border-top:1px solid #3a465b; border-bottom:1px solid #3a465b; padding:20px 10px; overflow:hidden; }
.fl-create-preview-label { text-align:center; font-size:11px; letter-spacing:.2em; color:#b3bacb; }
.fl-create .title { text-align:center; padding-top:40px; }
.fl-create .title h1 { color:white; font-size:clamp(24px,3vw,40px); font-weight:300; text-shadow:0 0 15px #0abab5; line-height:1.5; margin:0; padding:0 12px; overflow-wrap:anywhere; }
.fl-create .title h3 { font-size:15px; font-weight:300; letter-spacing:.16em; margin:12px 0 0; }
.fl-create .fl-couple-portrait { position:relative; width:100%; height:290px; }
.fl-create #pinkboard { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.fl-create .img { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:125px; height:125px; object-fit:cover; border-radius:50%; }
.fl-couple-placeholder { display:flex; flex-direction:column; justify-content:center; align-items:center; color:#c2cfdf; border:1px solid #53697b; background:#121f32; text-align:center; width:150px; }
.fl-couple-placeholder span { font-size:36px; line-height:1; }
.fl-couple-placeholder small { font:12px/1.6 sans-serif; max-width:115px; margin-top:8px; }
.fl-create-timer { color:aquamarine; font-size:14px; max-width:350px; margin:0 auto 12px; }
.fl-create-preview-url { color:#cfbd9f; font-size:13px; overflow-wrap:anywhere; padding:0 16px; }
.fl-create-preview-note { text-align:center; color:#abb8cb; font-size:12px; margin:26px 0 5px; }
@media(max-width:760px) { .fl-create-header { padding:22px 20px; font-size:11px; }.fl-create-main { margin:12px auto 40px; padding:0 22px; }.fl-create-heading { margin-bottom:28px; }.fl-create-grid { grid-template-columns:1fr; gap:36px; }.fl-create-preview { position:relative; top:auto; grid-row:1; min-height:420px; }.fl-create .title { padding-top:18px; }.fl-create .fl-couple-portrait { height:230px; }.fl-create .title h1 { font-size:30px; }.fl-create-preview-note { margin-top:18px; }.fl-create-names { gap:16px; }.fl-create-header a:last-child { font-size:10px; }.fl-create .img { width:106px; height:106px; }.fl-create-address>span { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .fl-create * { scroll-behavior:auto; } }
@media(prefers-reduced-motion:reduce) { .fl-create-reveal-star { animation:none !important; } }
@media(max-width:760px) {
    .fl-owner-nav { margin:0 -4px 28px; gap:8px; }
    .fl-owner-nav a { flex:1; padding:10px 8px; font-size:13px; text-align:center; }
    .fl-create-main[data-editor-mode=edit] .fl-create-preview { grid-row:auto; top:auto; min-height:390px; }
    .fl-owner-savebar { padding:12px 20px max(12px,env(safe-area-inset-bottom)); }
    .fl-owner-savebar-inner { flex-direction:column; gap:10px; }
    .fl-owner-save-summary { padding:0; }
    .fl-owner-save-summary p { font-size:12px; margin:3px 0 0; }
    .fl-owner-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:12px; width:100%; }
    .fl-owner-actions[data-public=false] { grid-template-columns:minmax(0,1fr); }
    .fl-owner-save-control { width:auto; }
    .fl-owner-savebar strong { font-size:12px; }
    .fl-owner-savebar button { padding:12px 10px; font-size:15px; white-space:normal; }
    .fl-owner-savebar .fl-owner-public-link { padding:12px 8px; gap:6px; font-size:14px; }
    .fl-owner-savebar [role=status] { font-size:12px; max-height:84px; overflow:auto; }
}
