/* ============================================================================
   FORMAK — Analysis workspace. Built on the "Kinetic Lab" language.
   Tokens from colors_and_type.css; nav/buttons/report/finding/anglechip reused
   from landing.css. This file styles only the two-pane analysis workspace and
   the 3D viewer chrome.
   ========================================================================== */

.fk-ana{padding:26px 0 70px;}
.fk-ana__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:20px;}
.fk-ana__title h1{font-family:var(--font-display);font-weight:600;font-size:clamp(26px,3.2vw,40px);line-height:1.03;letter-spacing:-.035em;margin:8px 0 0;}
.fk-ana__crumbs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:13px;}
.fk-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;color:var(--fg-2);
  background:var(--ink-800);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 12px;}
.fk-chip .fk-ic{width:13px;height:13px;color:var(--accent-2);}
.fk-chip .dim{color:var(--fg-3);}
.fk-ana__actions{display:flex;gap:10px;flex-wrap:wrap;}

/* ---- workspace grid ------------------------------------------------------ */
.fk-ana__grid{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(330px,.9fr);gap:16px;align-items:stretch;}
.fk-ana__side{display:flex;flex-direction:column;gap:16px;height:100%;}

/* ---- 3D viewer ----------------------------------------------------------- */
.fk-v3{background:var(--ink-800);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--elev-2);
  overflow:hidden;display:flex;flex-direction:column;}
.fk-v3__stage{position:relative;flex:1;min-height:480px;max-height:70vh;overflow:hidden;
  background:radial-gradient(135% 130% at 50% 4%, #0f1622 0%, #06080C 78%);}
.fk-v3__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-v3__src{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;
  transition:opacity var(--t-med);z-index:1;transform-origin:center center;}
.fk-v3.is-overlay .fk-v3__src{opacity:.46;}
#fk-src-video{display:none;}
#fk-src-video.has-src{display:block;}
.fk-v3.is-overlay #fk-src-video.has-src ~ #fk-src{display:none;}
.fk-v3.is-overlay .fk-v3__grid{opacity:.25;}
.fk-v3__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;cursor:grab;touch-action:none;transform-origin:center center;}
.fk-v3__canvas.is-grabbing{cursor:grabbing;}

/* floating clusters share a glass treatment */
.fk-glass{background:rgba(6,9,14,.5);border:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-radius:var(--r-sm);}

.fk-v3__stats{position:absolute;top:13px;left:13px;z-index:5;display:flex;align-items:center;gap:9px;flex-wrap:wrap;max-width:calc(100% - 26px);
  padding:6px 11px;font-family:var(--font-mono);font-size:11px;color:#d3dcea;}
.fk-v3__stats .dim{color:var(--fg-3);}
.fk-v3__stats b{font-weight:500;color:#fff;font-variant-numeric:tabular-nums;}

.fk-v3__tools{position:absolute;top:13px;right:13px;z-index:5;display:flex;flex-direction:column;gap:9px;align-items:flex-end;}
.fk-v3__grp{display:flex;gap:5px;padding:5px;}
.fk-v3__btn{width:34px;height:34px;border-radius:var(--r-xs);border:1px solid transparent;background:transparent;
  color:#c2cdde;display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast);}
.fk-v3__btn:hover{background:rgba(255,255,255,.08);color:#fff;}
.fk-v3__btn:active{transform:scale(.94);}
.fk-v3__btn.is-on{background:var(--pulse-tint);border-color:rgba(22,194,243,.5);color:var(--accent-2);
  box-shadow:0 0 16px -4px var(--pulse-glow);}
.fk-v3__btn .fk-ic{width:17px;height:17px;}
.fk-v3__seg{display:flex;gap:2px;padding:4px;}
.fk-v3__seg button{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:#aab6c8;
  background:transparent;border:0;border-radius:var(--r-xs);padding:6px 9px;cursor:pointer;transition:background var(--t-fast),color var(--t-fast);}
.fk-v3__seg button:hover{color:#fff;}
.fk-v3__seg button.is-on{background:var(--pulse-tint);color:var(--accent-2);}

.fk-v3__hint{position:absolute;left:13px;bottom:64px;z-index:4;display:flex;align-items:center;gap:7px;
  font-family:var(--font-mono);font-size:10.5px;color:var(--fg-3);padding:5px 10px;
  opacity:.85;transition:opacity var(--t-med);pointer-events:none;}
.fk-v3__hint .fk-ic{width:13px;height:13px;}
.fk-v3.is-touched .fk-v3__hint{opacity:0;}

/* timeline */
.fk-v3__time{position:absolute;left:13px;right:13px;bottom:13px;z-index:5;display:flex;align-items:center;gap:13px;
  padding:9px 13px;}
.fk-v3__play{width:34px;height:34px;flex:none;border-radius:50%;border:0;cursor:pointer;
  background:var(--accent);color:#04222C;display:flex;align-items:center;justify-content:center;
  transition:background var(--t-fast),transform var(--t-fast);}
.fk-v3__play:hover{background:var(--accent-2);}
.fk-v3__play:active{transform:scale(.93);}
.fk-v3__play .fk-ic{width:16px;height:16px;}
.fk-track{position:relative;flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,.13);cursor:pointer;}
.fk-track__fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--accent);border-radius:3px;}
.fk-track__knob{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:13px;height:13px;border-radius:50%;
  background:#fff;box-shadow:0 0 0 3px rgba(22,194,243,.4);}
.fk-track__ticks{position:absolute;inset:0;pointer-events:none;}
.fk-v3__frame{font-family:var(--font-mono);font-size:11px;color:#cbd5e3;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:62px;text-align:right;}
.fk-v3__speed{font-family:var(--font-mono);font-size:11px;color:#cbd5e3;cursor:pointer;user-select:none;
  padding:5px 9px;border-radius:var(--r-xs);border:1px solid rgba(255,255,255,.12);min-width:38px;text-align:center;
  transition:background var(--t-fast);}
 .fk-v3__speed:hover{background:rgba(255,255,255,.08);}
.fk-v3__ofs{display:flex;align-items:center;gap:2px;font-family:var(--font-mono);font-size:11px;color:rgba(255,255,255,.5);}
.fk-v3__ofsbtn{width:24px;height:24px;border-radius:var(--r-xs);border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.45);font-family:var(--font-mono);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast);}
.fk-v3__ofsbtn:hover{background:rgba(255,255,255,.1);color:rgba(255,255,255,.9);border-color:rgba(255,255,255,.15);}
#fk-ofs-val{min-width:16px;text-align:center;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.45);}

/* ---- analysis panel ------------------------------------------------------ */
.fk-panel{background:var(--ink-800);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--elev-2);
  padding:18px;display:flex;flex-direction:column;gap:14px;overflow:hidden;}
.fk-panel__cap{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.fk-panel__cap h2{font-family:var(--font-display);font-size:23px;font-weight:600;letter-spacing:-.02em;margin:7px 0 0;}
.fk-panel__src{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-3);text-align:right;line-height:1.7;}
.fk-panel__src b{color:var(--accent-2);font-weight:500;}

.fk-panel--report{grid-column:1 / -1;}

/* live joint readout */
.fk-readout{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.fk-readout__cell{background:var(--ink-900);border:1px solid var(--line);border-radius:var(--r-md);padding:9px 11px;}
.fk-readout__k{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);
  display:flex;align-items:center;gap:6px;}
.fk-readout__k i{width:7px;height:7px;border-radius:2px;background:var(--fg-3);}
.fk-readout__v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;
  color:var(--fg-1);letter-spacing:-.02em;margin-top:5px;}
.fk-readout__v .u{font-size:13px;color:var(--fg-3);margin-left:1px;}
.fk-readout__cell.s-opt .fk-readout__k i{background:var(--optimal);}
.fk-readout__cell.s-acc .fk-readout__k i{background:var(--acceptable);}
.fk-readout__cell.s-sub .fk-readout__k i{background:var(--suboptimal);}
.fk-readout__cell.s-risk .fk-readout__k i{background:var(--risk);}

.fk-panel__div{height:1px;background:var(--line);}
.fk-panel__lbl{display:flex;align-items:center;justify-content:space-between;}
.fk-panel__lbl .fk-eyebrow{margin:0;}
.fk-panel__by{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);}
.fk-panel__by b{color:var(--accent-2);font-weight:500;}

.fk-panel__sum{font-size:13.5px;color:var(--fg-2);line-height:1.6;margin:0;}
.fk-panel__sum strong{color:var(--fg-1);font-weight:600;}
.fk-panel__findings{display:flex;flex-direction:column;gap:12px;}
.fk-panel .fk-finding{padding:15px 16px;}
/* finding colour variants (landing.css hardcodes risk-red) */
.fk-finding.is-sub .fk-finding__cls{color:var(--suboptimal);}
.fk-finding.is-sub .fk-finding__cls i{background:var(--suboptimal);}
.fk-finding.is-sub .fk-finding__big{color:var(--suboptimal);}
.fk-finding.is-opt .fk-finding__cls{color:var(--optimal);}
.fk-finding.is-opt .fk-finding__cls i{background:var(--optimal);}

/* source-frame attach prompt (image overlay with no frame yet) */
.fk-v3__srcnote{position:absolute;inset:0;z-index:3;display:none;flex-direction:column;align-items:center;justify-content:center;
  gap:9px;text-align:center;color:var(--fg-3);font-size:13px;line-height:1.6;padding:34px;pointer-events:none;}
.fk-v3.is-overlay.no-src .fk-v3__srcnote{display:flex;}
.fk-v3__srcnote label{color:var(--accent-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer;pointer-events:auto;}
.fk-v3__srcnote label:hover{color:var(--fg-1);}
.fk-v3__srcnote .fk-ic{width:22px;height:22px;color:var(--fg-3);}

/* responsive */
@media(max-width:1080px){
  .fk-ana__grid{grid-template-columns:1fr;min-width:0;}
  .fk-ana__grid > * {min-width:0;}
  .fk-v3__stage{min-height:420px;max-height:none;}
}
@media(max-width:560px){
  .fk-ana__head{flex-direction:column;align-items:flex-start;}
  .fk-ana__actions{width:100%;}
  .fk-ana__actions .fk-btn{flex:1;}
  .fk-readout{grid-template-columns:1fr 1fr;}
  .fk-v3__tools .fk-v3__seg{display:none;}
  .fk-panel{padding:14px;}
  .fk-ana__crumbs{gap:6px;}
  .fk-chip{padding:4px 8px;font-size:10px;}
}

.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;}
