.fk-app{min-height:100vh;background:var(--ink-850);}
.fk-capture{padding:26px 0 70px;}
.fk-capture__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:20px;}
.fk-capture__grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.62fr) minmax(300px,.86fr);gap:16px;align-items:stretch;}
.fk-capture__panel,.fk-inspector,.fk-capture__meta{background:var(--ink-800);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--elev-2);overflow:hidden;}
.fk-capture__panel{display:flex;flex-direction:column;padding:18px;gap:14px;}
.fk-capture__panelHead p{font-size:13.5px;color:var(--fg-2);line-height:1.6;margin:10px 0 0;}
.fk-drop{position:relative;min-height:300px;border:1px dashed rgba(255,255,255,.16);border-radius:var(--r-md);background:var(--ink-900);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;cursor:pointer;transition:border-color var(--t-med),background var(--t-med),transform var(--t-med);}
.fk-drop:hover,.fk-drop.is-drag{border-color:var(--accent);background:#0b111a;transform:translateY(-1px);}
.fk-drop input{position:absolute;opacity:0;pointer-events:none;}
.fk-drop__icon{width:52px;height:52px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:var(--ink-800);border:1px solid var(--line-strong);color:var(--accent-2);margin-bottom:18px;}
.fk-drop__icon .fk-ic{width:24px;height:24px;}
.fk-drop__title{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--fg-1);letter-spacing:-.02em;}
.fk-drop__hint{font-size:13.5px;color:var(--fg-3);line-height:1.55;max-width:30ch;margin-top:10px;}
.fk-capture__error{display:none;color:#ff8a8a;background:rgba(255,107,107,.08);border:1px solid rgba(255,107,107,.2);border-radius:var(--r-sm);padding:10px 12px;font-size:13px;line-height:1.45;}
.fk-capture__error.is-active{display:block;}
.fk-capture__upload{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--ink-900);border:1px solid var(--line);border-radius:var(--r-sm);}
.fk-capture__upload span{font-size:13px;color:var(--fg-2);}
.fk-capture__upload progress{width:100%;height:6px;border-radius:3px;overflow:hidden;appearance:none;-webkit-appearance:none;}
.fk-capture__upload progress::-webkit-progress-bar{background:var(--ink-850);border-radius:3px;}
.fk-capture__upload progress::-webkit-progress-value{background:var(--accent);border-radius:3px;transition:width .15s linear;}
.fk-capture__upload progress::-moz-progress-bar{background:var(--accent);border-radius:3px;}
.fk-capture__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;}
.fk-capture__actions .fk-btn{flex:1;min-width:130px;}
.fk-capture__actions .fk-btn:disabled,.fk-capture__actions .fk-btn.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none;}
.fk-inspector{display:flex;flex-direction:column;}
.fk-inspector__stage{position:relative;flex:1;min-height:480px;max-height:70vh;background:radial-gradient(135% 130% at 50% 4%, #0f1622 0%, #06080C 78%);overflow:hidden;}
.fk-viewer__grid{position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent 4%,#000 46%,#000 86%,transparent 100%);}
.fk-inspector__stage img,.fk-inspector__stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity var(--t-med);z-index:2;}
.fk-inspector__stage video{inset:0;width:auto;height:auto;max-width:100%;max-height:100%;margin:auto;}
.fk-inspector__empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--fg-3);font-size:14px;line-height:1.6;padding:34px;z-index:3;}
.fk-inspector__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:14px 16px;font-family:var(--font-mono);font-size:11px;color:var(--fg-3);}
.fk-inspector__bar span:first-child{color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fk-capture__meta{padding:18px;}
.fk-readiness{display:flex;flex-direction:column;gap:12px;margin-top:18px;}
.fk-readiness div{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;background:var(--ink-900);border:1px solid var(--line);border-radius:var(--r-md);padding:13px;}
.fk-readiness .dot{width:9px;height:9px;border-radius:50%;background:var(--fg-3);box-shadow:none;}
.fk-readiness b{font-size:13px;color:var(--fg-1);font-weight:600;}
.fk-readiness em{grid-column:2;font-family:var(--font-mono);font-style:normal;font-size:11px;color:var(--fg-3);line-height:1.45;}
.fk-readiness div.is-ready .dot{background:var(--optimal);box-shadow:0 0 10px rgba(52,221,146,.45);}
.fk-adapter-note{font-size:13px;line-height:1.6;color:var(--fg-2);background:var(--ink-900);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;margin-top:16px;}
.fk-capture__grid[data-state="ready"] .fk-inspector__stage img,.fk-capture__grid[data-state="ready"] .fk-inspector__stage video{opacity:1;}
.fk-capture__grid[data-state="ready"] .fk-inspector__empty{display:none;}
@media(max-width:1080px){.fk-capture__grid{grid-template-columns:1fr;}.fk-inspector__stage{min-height:420px;max-height:none;}.fk-capture__meta{grid-column:auto;}}
@media(max-width:560px){.fk-capture__actions .fk-btn{flex:1;}.fk-inspector__bar{flex-direction:column;align-items:flex-start;}
  .fk-drop{min-height:100px;padding:16px;}
  .fk-drop__icon{width:36px;height:36px;margin-bottom:10px;}
  .fk-drop__icon .fk-ic{width:18px;height:18px;}
  .fk-drop__title{font-size:16px;}
  .fk-drop__hint{font-size:12px;margin-top:6px;}
  .fk-capture__grid[data-state="ready"] .fk-drop{min-height:auto;padding:10px 14px;flex-direction:row;gap:10px;justify-content:center;border-style:solid;border-color:var(--line);}
  .fk-capture__grid[data-state="ready"] .fk-drop__icon{width:28px;height:28px;margin-bottom:0;}
  .fk-capture__grid[data-state="ready"] .fk-drop__icon .fk-ic{width:16px;height:16px;}
  .fk-capture__grid[data-state="ready"] .fk-drop__title{font-size:14px;}
  .fk-capture__grid[data-state="ready"] .fk-drop__hint{display:none;}
}

.fk-i18n-loading [data-i18n],.fk-i18n-loading [data-i18n-title],.fk-i18n-loading [data-i18n-placeholder],.fk-i18n-loading [data-i18n-aria-label]{visibility:hidden;}

.fk-brand__logo{height:36px;width:auto;display:block;}
