.fl-page{max-width:1500px;margin:0 auto}.fl-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:8px 0 22px;border-bottom:1px solid var(--line)}.fl-heading h1{margin:6px 0 6px;font-size:clamp(1.9rem,3vw,2.75rem)}.fl-heading p{max-width:820px;margin:0;color:var(--muted);line-height:1.65}.fl-privacy-pill{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:9px 13px;color:var(--muted);font-size:.78rem}.fl-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;padding-top:22px}.fl-workspace{min-width:0}.fl-input-tabs,.fl-toolbar,.fl-camera-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.fl-input-tabs{margin-bottom:12px}.fl-button{min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:9px 14px;font:inherit;font-weight:700;cursor:pointer}.fl-button:hover{border-color:var(--accent)}.fl-button:disabled{opacity:.45;cursor:not-allowed}.fl-button-primary{background:var(--accent);border-color:var(--accent);color:#fff}.fl-camera-panel{border:1px solid var(--line);border-radius:14px;background:#0c0d0f;padding:12px;margin-bottom:12px}.fl-camera-panel video{display:block;width:100%;max-height:520px;object-fit:contain;border-radius:8px;background:#000}.fl-camera-actions{padding-top:10px}.fl-stage-shell{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.fl-stage-bar{min-height:40px;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);font-size:.75rem;color:var(--muted);letter-spacing:.04em}.fl-view-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:8px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel),var(--page) 28%)}.fl-control-group{display:flex;align-items:center;gap:7px;min-height:34px}.fl-control-label{font-size:.73rem;font-weight:800;color:var(--muted);white-space:nowrap}.fl-control-group input[type=range]{width:120px;accent-color:var(--accent)}.fl-zoom-controls input[type=range]{width:110px}.fl-tool-button,.fl-zoom-value{min-width:32px;height:32px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);font:inherit;font-weight:800;cursor:pointer}.fl-tool-button:hover,.fl-zoom-value:hover{border-color:var(--accent)}.fl-zoom-value{min-width:54px;padding:0 8px;font-size:.72rem}.fl-mini-value{min-width:34px;font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums}.fl-color-controls{margin-left:auto}.fl-color-control,.fl-background-toggle{display:flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;color:var(--muted);white-space:nowrap}.fl-color-control input[type=color]{width:31px;height:31px;padding:2px;border:1px solid var(--line);border-radius:7px;background:var(--panel);cursor:pointer}.fl-background-toggle input{accent-color:var(--accent)}.fl-stage{position:relative;min-height:460px;display:block;overflow:auto;background:linear-gradient(135deg,#e8e2d8,#f6f1e8);padding:18px}.fl-stage:has(.fl-empty:not([hidden])){display:grid;place-items:center}.fl-image-layer{position:relative;flex:0 0 auto;margin:0 auto;transform-origin:top center}.fl-image-layer[hidden],.fl-stage img[hidden]{display:none!important}.fl-stage img{display:block;width:100%;height:100%;object-fit:contain;box-shadow:0 5px 20px rgba(0,0,0,.15)}.fl-empty{text-align:center;color:#5c554d;padding:40px}.fl-empty>span{font-size:3rem}.fl-empty h2{margin:8px 0 5px}.fl-empty p{margin:0;max-width:420px}.fl-overlay{position:absolute;inset:0;pointer-events:none}.fl-ruby{position:absolute;display:flex;justify-content:center;align-items:flex-end;white-space:nowrap;font-family:"Yu Gothic","Hiragino Sans","Noto Sans JP",sans-serif;font-weight:700;line-height:1;color:var(--fl-ruby-color,#a9321b);text-shadow:0 1px 0 rgba(255,255,255,.95),0 0 3px rgba(255,255,255,.95);transform:translateY(-100%);padding:1px 2px;border-radius:3px}.fl-ruby.fl-ruby-bg{background:var(--fl-ruby-bg,#fff3c4);box-shadow:0 0 0 1px color-mix(in srgb,var(--fl-ruby-bg,#fff3c4),#000 10%);text-shadow:none}.fl-region{position:absolute;border:1px dashed rgba(169,50,27,.62);background:rgba(169,50,27,.04)}.fl-toolbar{justify-content:space-between;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.fl-toolbar label{display:flex;align-items:center;gap:7px}.fl-sidebar{display:flex;flex-direction:column;gap:14px}.fl-card{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:16px}.fl-card h2{font-size:1rem;margin:0 0 10px}.fl-card p{font-size:.87rem;line-height:1.6;color:var(--muted);margin:0}.fl-card .fl-card-hint{margin-top:11px;font-size:.76rem;line-height:1.45}.fl-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.fl-card>label{display:block;font-size:.82rem;font-weight:700;margin:11px 0 5px}.fl-card input[type=range]{width:100%}.fl-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fl-stats span{display:block;color:var(--muted);font-size:.72rem;margin-bottom:2px}.fl-stats strong{font-size:.88rem}.fl-runtime[data-ready="false"]{border-color:color-mix(in srgb,var(--accent),var(--line) 70%)}html[data-theme="night"] .fl-stage{background:linear-gradient(135deg,#171a1e,#20252b)}html[data-theme="night"] .fl-empty{color:#c9c4bb}.fl-page.is-scanning .fl-stage-bar [data-status]::before{content:"◌ ";display:inline-block;animation:fl-spin .8s linear infinite}@keyframes fl-spin{to{transform:rotate(360deg)}}@media (max-width:1100px){.fl-color-controls{margin-left:0}}@media (max-width:980px){.fl-layout{grid-template-columns:1fr}.fl-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.fl-heading{align-items:flex-start;flex-direction:column}.fl-privacy-pill{flex:none}.fl-stage{min-height:380px}}@media (max-width:700px){.fl-view-controls{align-items:flex-start}.fl-control-group{flex:1 1 250px}.fl-control-group input[type=range]{flex:1;min-width:80px}.fl-color-controls{flex-basis:100%}}@media (max-width:620px){.fl-sidebar{grid-template-columns:1fr}.fl-stage{min-height:310px;padding:8px}.fl-stage-bar{align-items:flex-start;flex-direction:column}.fl-button,.fl-input-tabs label{flex:1 1 auto;text-align:center}.fl-toolbar{align-items:flex-start;flex-direction:column}.fl-toolbar .fl-button{width:100%}.fl-control-group{flex-basis:100%}.fl-color-controls{flex-wrap:wrap}}
