.stage-root[data-stage=finale] { height:100%; min-height:470px; }
@media(min-width:901px) { body:has(.workspace[data-stage=finale]) .app-layout { min-height:0; } }
.fb-studio { --fb-ink:#344056; --fb-muted:#8190a8; --fb-line:#c4cedd; --fb-accent:#7065a5; display:flex; flex:1; flex-direction:column; min-height:0; overflow:hidden; border:1px solid #77859d; border-radius:0 5px 5px 5px; background:#e5eaf2; color:var(--fb-ink); font:13px var(--font); }
.fb-studio button,.fb-source-dialog button { font:inherit; cursor:pointer; }.fb-studio button:focus-visible { outline:2px solid #9b87ce; outline-offset:-2px; }.fb-studio button:disabled { cursor:default; }
.fb-title { display:flex; align-items:center; gap:10px; min-height:41px; flex:none; padding:7px 13px; border-bottom:2px solid #a597c6; background:#38435c; color:#f2f0f8; }.fb-title>span { color:#ccbded; font-size:22px; }.fb-title strong { font-size:12px; font-weight:500; }.fb-title button { margin-left:auto; min-height:28px; padding:4px 9px; border:1px solid #6a728a; border-radius:3px; background:#4a546e; color:#e5deef; font-size:11px; }
.fb-main { display:flex; flex:1; min-height:0; }.fb-files { display:flex; flex-direction:column; width:170px; flex:none; padding:12px 8px; border-right:1px solid var(--fb-line); background:#dce3ee; overflow:auto; }.fb-files button { display:flex; align-items:center; gap:8px; flex:none; min-height:46px; padding:9px 7px; border:1px solid transparent; border-radius:3px; background:transparent; color:#687990; text-align:left; font-size:11px; }.fb-files button>span { display:grid; place-items:center; width:23px; flex:none; color:#8b88aa; font:16px Georgia,serif; }.fb-files button[aria-pressed=true] { border-color:#aca4c9; background:#f3f0fa; color:#5e4f88; }.fb-files i { width:5px; height:5px; margin-left:auto; border-radius:50%; background:#9682b9; }.fb-files i[hidden] { display:none; }
.fb-center { display:flex; flex-direction:column; flex:1; min-width:0; min-height:0; }.fb-preview-area { display:flex; flex-direction:column; flex:1; min-height:0; }.fb-tools { display:flex; align-items:center; gap:9px; min-height:42px; flex:none; padding:6px 11px; border-bottom:1px solid var(--fb-line); background:#edf0f6; }.fb-tools>div { display:flex; gap:3px; }.fb-tools button { min-height:28px; padding:4px 11px; border:1px solid #b8c3d4; border-radius:3px; background:#f8f9fc; color:#65778e; font-size:10px; }.fb-tools button[aria-pressed=true] { border-color:#7c719e; background:#8c80ae; color:#fff; }.fb-tools>button { margin-left:auto; }.fb-tools label { display:flex; align-items:center; gap:6px; margin-left:auto; font-size:10px; color:#79889c; white-space:nowrap; }.fb-tools input { width:75px; accent-color:#9380b6; }.fb-tools output { width:18px; color:#675780; font:11px monospace; }
.fb-scenes { display:flex; flex:none; min-height:31px; padding:0 10px; gap:4px; border-bottom:1px solid #c3cddb; background:#e3e8f1; }.fb-scenes button { min-width:55px; padding:7px 9px; border:0; border-bottom:2px solid transparent; background:transparent; color:#8895a8; font-size:10px; }.fb-scenes button[aria-pressed=true] { color:#65528c; border-bottom-color:#8973b1; }
.fb-preview-well { display:flex; justify-content:center; align-items:stretch; flex:1; min-height:170px; padding:14px; overflow:hidden; background:radial-gradient(#a7b2c235 .7px,transparent .7px) 0 0/12px 12px,#d2dbe7; }.fb-preview-frame { --mini-ink:#415469; --mini-chat:#fffaf4; --mini-work:#dce5ef; --mini-line:#b3c1d1; position:relative; width:100%; height:100%; min-height:0; overflow:hidden; border:1px solid #a8b3c4; border-radius:5px; background:#fbfaf7; color:var(--mini-ink); box-shadow:0 7px 18px #3b4b6320; font:11px var(--font); }.fb-preview-frame[data-device=phone] { width:235px; border-radius:12px; border-width:4px; }.fb-preview-frame[data-theme=terminal] { --mini-chat:#172721; --mini-work:#0f1b18; --mini-ink:#a7dfb9; --mini-line:#50725e; background:#101b16; }.fb-preview-frame[data-theme=cream] { --mini-work:#fff4e4; --mini-chat:#fff4e4; --mini-line:#deceb6; background:#fff4e4; }
.fb-mini-header { display:flex; align-items:center; justify-content:space-between; gap:6px; height:34px; padding:7px 11px; border-bottom:1px solid var(--mini-line); font-size:12px; }.fb-mini-header>span { color:#91a0b0; font:9px monospace; }.fb-mini-body { position:relative; display:flex; height:calc(100% - 34px); min-height:0; overflow:hidden; }.fb-mini-chat { display:flex; flex-direction:column; position:relative; width:39%; min-width:0; flex:none; background:var(--mini-chat); border-right:1px solid var(--mini-line); z-index:3; }.fb-mini-handle { display:flex; align-items:center; gap:6px; width:100%; min-height:31px; flex:none; padding:5px 8px; border:0; border-bottom:1px solid var(--mini-line); background:transparent; color:inherit; font-size:10px!important; touch-action:none; text-align:left; }.fb-mini-handle b { font-weight:400; opacity:.6; }.fb-mini-handle>span:last-child { margin-left:auto; }.fb-mini-chat-body { display:flex; flex-direction:column; flex:1; min-height:0; overflow:auto; padding:9px; font-size:10px; }.fb-mini-chat-body p { margin:9px 0; font-size:10px; line-height:1.7; }.fb-mini-chat-body p>b { display:block; margin-bottom:3px; font-size:8px; font-weight:400; opacity:.65; }.fb-mini-anger { position:relative; padding:8px 7px 13px; border:1px solid #c3a99c55; border-radius:4px; color:#aa7f6b; font-size:8px; }.fb-mini-anger b { float:right; font-size:11px; font-weight:400; }.fb-mini-anger i { position:absolute; height:3px; width:var(--test-anger); max-width:calc(100% - 14px); left:7px; bottom:5px; background:#b67e68; }.fb-mini-composer { display:flex; flex-direction:column; gap:7px; margin-top:auto; padding-top:8px; border-top:1px solid var(--mini-line); font-size:8px; }.fb-mini-composer>button { min-height:25px; padding:5px; border:1px solid #a17a6b; border-radius:3px; background:#b88b77; color:#fff; font-size:9px; }.fb-mini-composer input { width:100%; padding:5px; border:1px solid var(--mini-line); background:transparent; color:inherit; font:10px var(--font); }
.fb-mini-work { display:flex; flex-direction:column; flex:1; min-width:0; background:var(--mini-work); }.fb-mini-browserbar { height:27px; padding:7px 9px; border-bottom:1px solid var(--mini-line); font-size:8px; color:#8395aa; }.fb-mini-builder { display:flex; flex-direction:column; flex:1; min-height:0; margin:10px; border:1px solid var(--mini-line); border-radius:3px; background:#eef2f8; color:#6c7d97; }.fb-mini-builder>header { padding:8px; border-bottom:1px solid #a4aec2; background:#59627f; color:#e7e2f1; font-size:10px; }.fb-mini-builder>div { display:flex; flex:1; min-height:0; }.fb-mini-builder aside { width:30px; padding:11px 8px; border-right:1px solid #c3cddd; background:#dce2ef; line-height:2.3; color:#9385ad; }.fb-mini-builder section { display:flex; flex-direction:column; flex:1; min-width:0; padding:10px; gap:9px; }.fb-mini-builder section>span { font-size:8px; color:#97a4b8; }.fb-recursion { display:flex; gap:8px; align-items:center; justify-content:center; flex:1; min-height:32px; border:1px dashed #b4bbd1; background:#e1e6f1; color:#8271a5; }.fb-recursion>i { font-size:25px; font-style:normal; }.fb-recursion>div { display:flex; flex-direction:column; gap:5px; }.fb-recursion b { font:12px 'Noto Serif JP',serif; }.fb-recursion span { font-size:8px; }.fb-mini-builder button { min-height:25px; padding:4px 5px; border:1px solid #b0a5c7; border-radius:3px; background:#f7f4fb; color:#7d6a9b; font-size:8px; }
.fb-mini-cafe { display:flex; flex:1; flex-direction:column; justify-content:center; align-items:center; gap:10px; background:#f9f2e7; color:#725b45; }.fb-mini-cafe>span { font:12px serif; }.fb-mini-cafe>strong { font:19px/1.6 'Noto Serif JP',serif; }.fb-mini-cafe>i { font:35px serif; }.fb-mini-cafe>button { min-height:28px; padding:6px 13px; border:0; background:#b65c3d; color:white; font-size:9px; }.fb-mini-maze { display:grid; place-content:center; gap:8px; flex:1; background:#192e36; color:#d2dc91; font:12px monospace; }.fb-mini-maze button { border:1px solid #8ba6a5; background:#35535c; color:#e2e6b4; }
.fb-preview-frame[data-layout=right] .fb-mini-chat { order:2; border-right:0; border-left:1px solid var(--mini-line); }.fb-preview-frame[data-layout=floating][data-device=pc] .fb-mini-chat { position:absolute; left:8px; top:7px; bottom:7px; width:40%; max-width:225px; height:calc(100% - 14px); border:1px solid var(--mini-line); border-radius:5px; box-shadow:0 4px 12px #52627228; }.fb-preview-frame[data-layout=floating][data-device=pc] .fb-mini-handle { cursor:grab; }.fb-preview-frame[data-layout=floating][data-device=pc] .fb-mini-work { padding-left:43%; }
.fb-preview-frame[data-device=phone] .fb-mini-header { padding-inline:7px; font-size:10px; }.fb-preview-frame[data-device=phone] .fb-mini-body { flex-direction:column; }.fb-preview-frame[data-device=phone] .fb-mini-chat { width:100%; height:60%; border-right:0; border-bottom:1px solid var(--mini-line); order:0; }.fb-preview-frame[data-device=phone] .fb-mini-work { min-height:0; flex:1; }.fb-preview-frame[data-layout=floating][data-device=phone] .fb-mini-chat { position:absolute; bottom:0; height:82%; border:1px solid var(--mini-line); border-radius:10px 10px 0 0; box-shadow:0 -4px 15px #52627228; }.fb-preview-frame[data-layout=floating][data-device=phone] .fb-mini-handle { min-height:36px; cursor:ns-resize; }.fb-preview-frame[data-device=phone] .fb-mini-builder { margin:6px; }.fb-preview-frame[data-device=phone] .fb-recursion b { font-size:10px; }.fb-preview-frame[data-device=phone] .fb-mini-cafe { gap:4px; }.fb-preview-frame[data-device=phone] .fb-mini-cafe>strong { font-size:12px; }.fb-preview-frame[data-device=phone] .fb-mini-cafe>i { font-size:20px; }
.fb-mini-result { display:flex; justify-content:center; align-items:center; flex-direction:column; gap:27px; height:100%; padding:20px; color:#e287a5; background:#f9f6fa; overflow:hidden; }.fb-mini-result>span { font-size:11px; color:#a59bb0; }.fb-mini-result>strong { font:1000 clamp(24px,3.1vw,48px)/1.15 var(--font); white-space:nowrap; letter-spacing:-.05em; color:#efb1cb; -webkit-text-stroke:1px #71306a; paint-order:stroke fill; text-shadow:2px 2px 0 #fff,3px 3px 0 #783e8b; }.fb-mini-result.fb-cold>strong { color:#d7f3ff; -webkit-text-stroke-color:#2557a1; text-shadow:2px 2px 0 #fff,3px 3px 0 #2d5493; font-style:oblique; }.fb-mini-result.fb-slanted>strong { transform:rotate(-14deg); }.fb-mini-result>div { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }.fb-mini-result button { min-width:65px; min-height:35px; padding:8px 11px; border:1px solid #bcb3ca; border-radius:0; background:#fff; color:#80688e; font-size:10px; }.fb-preview-frame[data-device=phone] .fb-mini-result { gap:22px; padding:10px; }.fb-preview-frame[data-device=phone] .fb-mini-result>strong { font-size:25px; }
.fb-mini-intro { position:absolute; inset:34px 0 0; display:grid; place-items:center; background:#e7e6f1e8; z-index:4; pointer-events:none; }.fb-mini-intro[hidden] { display:none; }.fb-envelope { position:relative; width:205px; max-width:85%; padding:16px; border:1px solid #c8bba6; background:#f5ead8; border-radius:3px; box-shadow:0 10px 25px #62565728; }.fb-envelope>span { display:block; text-align:center; font-size:36px; color:#b68e6d; }.fb-envelope>div { padding:11px; border:1px solid #e0d4c0; background:#fffaf2; }.fb-envelope small { display:block; color:#b9a48d; font-size:8px; }.fb-envelope strong { display:block; margin-top:8px; font:14px/1.7 'Noto Serif JP',serif; color:#766352; }.fb-envelope p { margin:8px 0 0; color:#a29080; font-size:9px; line-height:1.8; }
.fb-editor { flex:none; border-top:1px solid #aeb9cd; background:#f2f4f8; }.fb-editor>header { display:flex; align-items:center; gap:7px; min-height:41px; padding:7px 12px; border-bottom:1px solid #d4dbe6; }.fb-editor>header strong { font-size:12px; font-weight:500; }.fb-editor>header button { min-height:27px; padding:4px 7px; border:1px solid #c1c9d9; border-radius:3px; background:#fafbfd; color:#827197; font-size:10px; }.fb-editor>header button:first-of-type { margin-left:auto; }.fb-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:11px; }.fb-choices>button { display:flex; align-items:flex-start; gap:8px; min-height:93px; padding:12px 9px; border:1px solid #c7ccda; border-radius:4px; background:#fff; color:#77879a; text-align:left; }.fb-choices>button[aria-pressed=true] { border-color:#9987ba; background:#efebf7; color:#665081; box-shadow:0 0 0 1px #9987ba55; }.fb-choice-radio { width:12px; height:12px; flex:none; margin-top:3px; border:1px solid #bbc3d3; border-radius:50%; background:#f0f2f7; }.fb-choices>button[aria-pressed=true] .fb-choice-radio { background:#8f7aaa; border-color:#e7e1f0; box-shadow:0 0 0 1px #9e8dbb; }.fb-choices strong { display:block; font-size:12px; font-weight:500; line-height:1.65; }.fb-choices small { display:block; padding-top:6px; font-size:10px; line-height:1.75; color:#9aa2b2; }.fb-status { flex:none; min-height:24px; padding:5px 12px; border-top:1px solid #bdc7d7; background:#dce3ed; color:#7d8ca0; font-size:10px; }.fb-mobile-tabs,.fb-see-preview { display:none; }
.fb-source-dialog { width:610px; max-width:calc(100vw - 22px); max-height:83dvh; padding:0; overflow:hidden; border:1px solid #8b83a0; border-radius:5px; background:#eae7f0; color:#5c536d; box-shadow:0 20px 80px #29304e44; }.fb-source-dialog[open] { display:flex; flex-direction:column; }.fb-source-dialog::backdrop { background:#26304877; }.fb-source-dialog>header { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; padding-left:17px; border-bottom:1px solid #b9b0cb; background:#4e4565; color:#efeaf7; font-size:13px; }.fb-source-dialog>header button { width:44px; height:44px; border:0; background:#605475; color:#fff; font-size:22px; }.fb-source-body { overflow:auto; padding:15px; min-height:0; overscroll-behavior:contain; }.fb-source { border:1px solid #c6bdd4; border-radius:4px; background:#f7f4fb; color:#60566e; overflow:hidden; }.fb-source>header { display:flex; flex-direction:column; gap:7px; padding:15px 17px; border-bottom:1px solid #d1c9dc; background:#e6e0ee; }.fb-source>header>strong { font-size:14px; font-weight:500; }.fb-source>header>span { font-size:10px; color:#9487a4; }.fb-source article { padding:16px 17px; border-bottom:1px solid #e0d9e7; }.fb-source article:last-child { border:0; }.fb-source article>div { display:flex; justify-content:space-between; gap:10px; color:#9a8baa; font-size:10px; }.fb-source time { font:10px monospace; }.fb-source p { margin:8px 0 0; white-space:pre-line; font-size:14px; line-height:1.95; color:#675971; }
@media(max-width:1200px) and (min-width:901px) { .fb-files { width:136px; padding-inline:5px; }.fb-files button { font-size:10px; padding-inline:4px; }.fb-files button>span { width:19px; }.fb-choices { gap:6px; padding:8px; }.fb-choices>button { padding:9px 7px; min-height:103px; }.fb-choices strong { font-size:11px; }.fb-choices small { font-size:9px; }.fb-tools { gap:5px; }.fb-tools input { width:55px; } }
@media(max-width:900px) {
 .stage-root[data-stage=finale] { min-height:440px; }.fb-title { min-height:36px; padding:5px 10px; }.fb-title strong { font-size:11px; }.fb-title>span { font-size:18px; }.fb-title button { font-size:10px; }.fb-mobile-tabs { display:flex; flex:none; gap:5px; padding:5px 8px; border-bottom:1px solid #bac5d7; background:#dce2ee; }.fb-mobile-tabs button { flex:1; min-height:34px; padding:6px; border:1px solid #b4bdd0; border-radius:3px; background:#f3f4f9; color:#8a7d9e; font-size:12px; }.fb-mobile-tabs button[aria-pressed=true] { color:#fff; border-color:#82709e; background:#8e7cac; }.fb-main { flex-direction:column; }.fb-files { flex-direction:row; width:auto; padding:5px 7px; gap:4px; border-right:0; border-bottom:1px solid #bac4d5; overflow:auto hidden; scrollbar-width:none; }.fb-files button { min-height:35px; padding:5px 9px; gap:5px; font-size:11px; white-space:nowrap; }.fb-files button>span { width:16px; font-size:13px; }.fb-files i { width:4px; height:4px; margin-left:2px; }.fb-tools { min-height:40px; padding:5px 7px; gap:5px; }.fb-tools button { min-height:30px; padding:4px 8px; font-size:10px; }.fb-tools label { gap:3px; font-size:9px; }.fb-tools input { width:61px; }.fb-tools>button { margin-left:0; }.fb-scenes { min-height:32px; }.fb-scenes button { flex:1; min-width:0; padding:6px; font-size:10px; }.fb-preview-well { padding:8px; min-height:150px; }.fb-preview-frame[data-device=phone] { width:240px; }.fb-status { min-height:22px; padding:4px 9px; font-size:9px; }
 .stage-root[data-fb-view=preview] .fb-editor { display:none; }.stage-root[data-fb-view=edit] .fb-preview-area { display:none; }.fb-editor { display:flex; flex-direction:column; flex:1; min-height:0; border-top:0; }.fb-editor>header { padding:8px 10px; min-height:44px; }.fb-editor>header strong { font-size:13px; }.fb-editor>header button { font-size:10px; min-height:31px; }.fb-choices { display:flex; flex-direction:column; flex:1; min-height:0; padding:12px 10px; gap:10px; overflow:auto; }.fb-choices>button { flex:1; min-height:76px; padding:13px; gap:10px; align-items:center; }.fb-choices strong { font-size:14px; }.fb-choices small { font-size:11px; padding-top:4px; }.fb-see-preview { display:block; flex:none; min-height:42px; margin:0 10px 10px; border:1px solid #9b89b8; border-radius:3px; background:#e5deee; color:#73608d; font-size:12px; }.fb-mini-result>strong { font-size:29px; }.fb-mini-composer input { font-size:16px; }.fb-preview-frame[data-device=pc] .fb-mini-chat { width:44%; }.fb-preview-frame[data-device=pc] .fb-mini-work { min-width:0; }.fb-preview-frame[data-device=pc][data-layout=floating] .fb-mini-work { padding-left:45%; }.fb-preview-frame[data-device=pc] .fb-mini-builder { margin:5px; }.fb-preview-frame[data-device=pc] .fb-mini-builder aside { display:none; }.fb-preview-frame[data-device=pc] .fb-mini-builder section { padding:5px; }.fb-preview-frame[data-device=pc] .fb-recursion>i { display:none; }.fb-preview-frame[data-device=pc] .fb-recursion b { font-size:9px; }.fb-preview-frame[data-device=pc] .fb-recursion span { font-size:7px; }
 .fb-source-body { padding:9px; }.fb-source article { padding:14px; }
}
@media(max-width:900px) and (max-height:760px) { .fb-choices { padding:8px; gap:6px; }.fb-choices>button { min-height:62px; padding:8px; }.fb-choices strong { font-size:13px; }.fb-choices small { font-size:10px; }.fb-editor>header { min-height:39px; }.fb-see-preview { min-height:36px; margin-bottom:6px; } }
@media(prefers-reduced-motion:reduce) { .fb-studio * { transition:none!important; } }
.fb-mini-handle:disabled { opacity:1; cursor:default; }
