/* ===========================================================
   Ookii Drop — Evidence Board direction
   Visual-only redesign. Existing app.js hooks are preserved.
   =========================================================== */

:root{
  --board:#b89b72;
  --board-dark:#987b56;
  --paper:#f4ead6;
  --paper-2:#fff8e9;
  --paper-3:#e9dcc1;
  --ink:#211f1a;
  --dim:#625c51;
  --faint:#8b8172;
  --rule:#b9aa91;
  --rule-dark:#82735f;
  --red:#bf2f20;
  --red-dark:#8f2017;
  --red-soft:#f1c1b8;
  --green:#4d7655;
  --amber:#bd7d20;
  --black:#171512;
  --shadow:rgba(59,42,23,.22);
  --shadow-deep:rgba(44,29,14,.32);
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:Georgia,"Times New Roman",serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --pages:118px;
  --rail:320px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{min-height:100%;scroll-behavior:smooth}
body{
  min-height:100vh;
  font-family:var(--sans);
  font-size:16px;
  line-height:1.55;
  color:var(--ink);
  background:
    radial-gradient(circle at 18% 14%,rgba(255,255,255,.14) 0 1px,transparent 1.4px) 0 0/23px 23px,
    radial-gradient(circle at 74% 63%,rgba(70,41,15,.08) 0 1px,transparent 1.5px) 0 0/29px 29px,
    linear-gradient(96deg,rgba(255,255,255,.05),transparent 22%,rgba(75,48,21,.045) 63%,transparent),
    var(--board);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}
body::before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:
    repeating-linear-gradient(6deg,transparent 0 54px,rgba(74,43,16,.025) 55px,transparent 56px),
    repeating-linear-gradient(94deg,transparent 0 71px,rgba(255,255,255,.026) 72px,transparent 73px);
  mix-blend-mode:multiply;
}
button,select,input{font:inherit;color:inherit}
main{position:relative;z-index:1}
[hidden]{display:none!important}

.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--red);color:#fff;padding:11px 15px}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}

/* ---------- ambient board movement ---------- */
.board-thread{
  position:fixed;z-index:0;pointer-events:none;height:3px;background:var(--red-dark);
  box-shadow:0 1px 0 rgba(255,255,255,.12),0 2px 4px rgba(63,26,15,.18);
  transform-origin:left center;opacity:.72;
}
.board-thread::before,.board-thread::after{
  content:"";position:absolute;top:50%;width:11px;height:11px;margin-top:-5.5px;border-radius:50%;
  background:radial-gradient(circle at 35% 32%,#f1a38d 0 12%,#a82218 14% 54%,#5e160f 56% 100%);
  box-shadow:0 3px 5px rgba(33,19,8,.32);
}
.board-thread::before{left:-4px}.board-thread::after{right:-4px}
.board-thread--one{left:-5vw;top:76vh;width:64vw;transform:rotate(4deg);animation:threadBreath 9s ease-in-out infinite}
.board-thread--two{right:-9vw;top:28vh;width:44vw;transform:rotate(-7deg);animation:threadBreath2 11s ease-in-out infinite}
@keyframes threadBreath{0%,100%{transform:rotate(4deg) scaleX(1)}50%{transform:rotate(4.6deg) scaleX(1.018)}}
@keyframes threadBreath2{0%,100%{transform:rotate(-7deg) scaleX(1)}50%{transform:rotate(-6.4deg) scaleX(.985)}}

/* ---------- paper primitives ---------- */
.paper-strip,.paper-note{
  position:relative;
  background:
    linear-gradient(88deg,rgba(88,59,22,.035),transparent 22%,rgba(255,255,255,.15) 62%,rgba(90,55,17,.035)),
    var(--paper);
  color:var(--ink);
  box-shadow:0 8px 22px var(--shadow);
}
.paper-strip::after,.paper-note::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.34;
  background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(62,49,34,.035) 32px,transparent 33px);
}
.paper-note{border:1px solid rgba(117,91,57,.28)}
.paper-note>*{position:relative;z-index:1}
.pin{position:absolute!important;z-index:5!important;width:14px;height:14px;border-radius:50%;top:-7px;right:11%;background:radial-gradient(circle at 35% 28%,#f8baa8 0 12%,#c12e20 14% 50%,#6b150f 52% 100%);box-shadow:0 4px 6px rgba(59,34,17,.35)}
.pin::after{content:"";position:absolute;width:2px;height:12px;background:#574534;left:6px;top:10px;transform:rotate(13deg);transform-origin:top}
.pin--dark{background:radial-gradient(circle at 35% 28%,#eee4cd 0 10%,#37312a 12% 50%,#111 52% 100%)}
.pin--stage{right:5%}
.tape{position:absolute!important;z-index:4!important;width:92px;height:28px;background:rgba(214,189,141,.72);top:-15px;left:50%;transform:translateX(-50%) rotate(-1.7deg);box-shadow:inset 0 0 0 1px rgba(114,91,53,.09);filter:drop-shadow(0 2px 2px rgba(69,48,25,.1));animation:tapeFlutter 8s ease-in-out infinite}
.tape--rail{width:66px;left:52%;transform:translateX(-50%) rotate(4deg)}
.tape--small{width:58px;height:21px;left:22%;top:-11px;transform:rotate(-5deg)}
@keyframes tapeFlutter{0%,100%{filter:drop-shadow(0 2px 2px rgba(69,48,25,.1));opacity:.84}50%{filter:drop-shadow(0 4px 3px rgba(69,48,25,.16));opacity:.94}}
.clip{position:absolute;z-index:5;width:21px;height:74px;border:3px solid #625b4d;border-bottom-color:#968d7d;border-radius:12px;right:22px;top:-23px;transform:rotate(7deg);box-shadow:0 2px 4px rgba(0,0,0,.15)}

/* ---------- header ---------- */
.top{
  display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(360px,1fr);align-items:center;gap:24px;
  padding:20px clamp(18px,4vw,56px);border-bottom:1px solid rgba(90,66,38,.28);z-index:8;
  box-shadow:0 5px 18px rgba(54,36,16,.17);
}
.top::before{content:"";position:absolute;left:0;right:0;bottom:-5px;height:8px;background:linear-gradient(135deg,transparent 0 8px,var(--paper) 9px 16px,transparent 17px) 0 0/34px 8px;opacity:.48}
.top__id{display:flex;align-items:center;gap:15px;z-index:1}
.bar{width:42px;height:39px;position:relative;background:repeating-linear-gradient(90deg,var(--red) 0 5px,transparent 5px 9px);flex:0 0 auto}
.bar::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:2px;background:var(--red)}
.top h1{font-family:var(--serif);font-size:clamp(1.65rem,2.4vw,2.3rem);font-weight:700;line-height:1;letter-spacing:-.025em}
.top__tag{font-size:.94rem;color:var(--dim);margin-top:5px}
.top__file{display:flex;align-items:center;gap:10px;border:1px solid var(--rule);background:var(--paper-2);padding:8px 9px 8px 12px;box-shadow:0 4px 10px rgba(73,50,24,.11);z-index:2}
.fchip__name{font-weight:700;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fchip__meta{font-family:var(--mono);font-size:.78rem;color:var(--faint)}
.top__steps{display:flex;align-items:center;justify-content:flex-end;gap:0;z-index:1}
.step{position:relative;display:inline-flex;align-items:center;gap:9px;padding:11px 20px 12px;background:var(--paper-3);border:1px solid rgba(103,80,48,.23);font-family:var(--serif);font-size:1.05rem;min-width:126px;justify-content:center;box-shadow:0 4px 8px rgba(72,50,26,.09);transform:rotate(var(--step-rot,0deg));transition:transform .28s ease,background .28s,color .28s}
.step:nth-child(1){--step-rot:-1deg}.step:nth-child(2){--step-rot:.6deg}.step:nth-child(3){--step-rot:-.4deg}
.step b{font-family:var(--mono);font-size:1.15rem;color:var(--faint)}
.step.is-on{background:#efe0c4;color:var(--red-dark);transform:translateY(-2px) rotate(var(--step-rot));box-shadow:0 8px 13px rgba(77,47,18,.17)}
.step.is-on b{color:var(--red)}
.step.is-done{color:var(--green)}
.step.is-on::after{content:"";position:absolute;left:18%;right:18%;bottom:6px;height:3px;background:var(--red);transform:scaleX(.35);animation:stepUnderline 1.8s ease-in-out infinite}
@keyframes stepUnderline{0%,100%{transform:scaleX(.35)}50%{transform:scaleX(1)}}

.ghost{background:transparent;border:1px solid var(--rule);padding:6px 10px;cursor:pointer;color:var(--dim)}
.ghost:hover{border-color:var(--red);color:var(--red-dark);background:#fff7e9}
.vendor{padding:12px clamp(18px,4vw,56px);background:#f5dfb9;border-bottom:1px solid #c69b4d;color:#6d4b12;position:relative;z-index:7}
.vendor code{font-family:var(--mono)}

/* ---------- intake / landing board ---------- */
.board{position:relative}
.intake{
  min-height:calc(100vh - 112px);display:grid;
  grid-template-columns:minmax(270px,.9fr) minmax(350px,1.25fr) minmax(270px,.85fr);
  grid-template-areas:"hero drop facts" "warn drop facts";
  gap:26px 30px;align-items:start;
  max-width:1480px;margin:0 auto;padding:54px clamp(22px,4vw,62px) 62px;
}
.intake::before{content:"";position:absolute;inset:28px 20px 30px;border:2px solid rgba(113,67,35,.17);border-radius:12px;pointer-events:none;box-shadow:inset 0 0 0 8px rgba(255,255,255,.025)}
.intake__copy{grid-area:hero;padding:34px 30px 36px;min-width:0;transform:rotate(-.75deg);animation:paperFloatA 8s ease-in-out infinite}
.paper-note--hero::before{content:"";position:absolute;left:0;right:0;bottom:-6px;height:7px;background:linear-gradient(135deg,transparent 0 7px,var(--paper) 8px 14px,transparent 15px) 0 0/30px 7px;opacity:.65}
.eyebrow{font-family:var(--mono);font-size:.79rem;letter-spacing:.13em;text-transform:uppercase;color:var(--red-dark);margin-bottom:14px;font-weight:800}
.intake h2{font-family:var(--serif);font-size:clamp(2.5rem,4vw,4.35rem);line-height:.98;letter-spacing:-.04em;font-weight:700;margin-bottom:22px;max-width:100%;text-wrap:balance}
.intake h2::after{content:"";display:block;width:34%;height:6px;background:var(--red);margin:13px 0 0 45%;transform:rotate(-1deg);box-shadow:0 2px 0 rgba(131,27,17,.15)}
.lede{font-size:1rem;color:#3f3a32;max-width:58ch;line-height:1.68}
.paper-note--facts{grid-area:facts;list-style:none;padding:30px 28px;transform:rotate(.65deg);animation:paperFloatB 9.5s ease-in-out infinite}
.facts li{padding:16px 0;border-bottom:1px solid rgba(117,91,57,.24);font-size:.98rem;color:#403b34}
.facts li:last-child{border-bottom:0}
.facts li span{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--red-dark);font-weight:800;margin-bottom:4px}
.paper-note--drop{grid-area:drop;padding:16px;align-self:stretch;min-height:520px;transform:rotate(.35deg);animation:paperFloatC 10.5s ease-in-out infinite}
.drop{cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}
.drop:hover{transform:rotate(.35deg) translateY(-4px);box-shadow:0 17px 30px var(--shadow-deep)}
.drop.is-over{transform:rotate(0) scale(1.01);box-shadow:0 0 0 5px rgba(191,47,32,.16),0 18px 34px var(--shadow-deep)}
.drop__frame{position:relative;min-height:486px;border:2px dashed var(--red);display:grid;place-items:center;text-align:center;padding:34px;background:rgba(255,255,255,.2);overflow:hidden}
.drop__frame::before{content:"";position:absolute;inset:-2px;background:repeating-linear-gradient(90deg,var(--red) 0 18px,transparent 18px 33px) top left/100% 2px no-repeat,repeating-linear-gradient(0deg,var(--red) 0 18px,transparent 18px 33px) top right/2px 100% no-repeat;opacity:.22;animation:dashes 9s linear infinite}
@keyframes dashes{to{background-position:33px 0,0 33px}}
.drop__inner{position:relative;z-index:1}
.drop__icon{display:block;width:54px;height:66px;margin:0 auto 18px;border:3px solid var(--ink);border-radius:3px;position:relative;background:#fff8ea;animation:fileBob 4.4s ease-in-out infinite}
.drop__icon::before{content:"";position:absolute;width:18px;height:18px;right:-3px;top:-3px;background:linear-gradient(45deg,transparent 47%,var(--ink) 48% 54%,#fff8ea 55%);border-left:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.drop__icon::after{content:"↓";position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);font-size:2rem;font-weight:900;color:var(--red)}
.drop__lead{font-family:var(--serif);font-size:1.75rem;font-weight:700}
.drop__sub{font-size:1rem;margin-top:5px;color:var(--dim)}
.drop__fmt{font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-top:22px}
.reg{position:absolute;width:19px;height:19px;border:2px solid var(--red)}
.reg--tl{top:10px;left:10px;border-right:0;border-bottom:0}.reg--tr{top:10px;right:10px;border-left:0;border-bottom:0}.reg--bl{bottom:10px;left:10px;border-right:0;border-top:0}.reg--br{bottom:10px;right:10px;border-left:0;border-top:0}
.paper-note--warning{grid-area:warn;padding:22px 24px 22px 58px;color:#4c4136;font-size:.93rem;transform:rotate(-1.1deg);animation:paperFloatD 11s ease-in-out infinite}
.paper-note--warning::before{content:"×";position:absolute;left:18px;top:18px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:1.45rem;line-height:1;font-family:var(--sans);font-weight:500}
@keyframes paperFloatA{0%,100%{transform:rotate(-.75deg) translateY(0)}50%{transform:rotate(-.45deg) translateY(-4px)}}
@keyframes paperFloatB{0%,100%{transform:rotate(.65deg) translateY(0)}50%{transform:rotate(.35deg) translateY(4px)}}
@keyframes paperFloatC{0%,100%{transform:rotate(.35deg) translateY(0)}50%{transform:rotate(.15deg) translateY(-3px)}}
@keyframes paperFloatD{0%,100%{transform:rotate(-1.1deg) translateY(0)}50%{transform:rotate(-.7deg) translateY(3px)}}
@keyframes fileBob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}

/* ---------- workspace evidence board ---------- */
.work{
  min-height:calc(100vh - 96px);display:grid;
  grid-template-columns:var(--pages) minmax(0,1fr) var(--rail);
  gap:22px;max-width:1580px;margin:0 auto;padding:34px clamp(18px,3vw,46px) 48px;align-items:start;
}
.work::before{content:"";position:absolute;left:2.2%;right:2.2%;bottom:16px;height:3px;background:var(--red-dark);transform:rotate(1.25deg);opacity:.65;box-shadow:0 2px 3px rgba(55,29,11,.2)}
.rail{background:transparent;overflow:visible;padding:0;min-width:0}
.rail--pages{padding:22px 14px 24px;min-height:620px;transform:rotate(-.45deg)}
.rail__title{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;background:var(--black);color:#fff;width:max-content;padding:5px 9px;margin:-9px 0 15px -2px;box-shadow:2px 3px 0 rgba(0,0,0,.12)}
.tally{background:var(--red);color:#fff;padding:1px 7px;border-radius:50%;min-width:22px;text-align:center;font-family:var(--mono)}
.thumbs{list-style:none;display:flex;flex-direction:column;gap:10px}
.thumb{position:relative;width:100%;aspect-ratio:1/1.3;background:#efe8dc;border:1px solid #9d8f7b;padding:0;cursor:pointer;overflow:hidden;box-shadow:0 3px 6px rgba(65,45,23,.16);transition:transform .18s,border-color .18s}
.thumb:hover{transform:translateX(4px) rotate(.5deg)}
.thumb canvas{display:block;width:100%;height:100%;object-fit:contain}.thumb.is-on{border:3px solid var(--red);transform:translateX(4px)}
.thumb__n{position:absolute;left:3px;top:3px;background:#171512;color:#fff;font-family:var(--mono);font-size:.72rem;padding:2px 5px}.thumb__c{position:absolute;right:4px;top:4px;background:var(--red);color:#fff;font-family:var(--mono);font-size:.68rem;padding:2px 5px;border-radius:50%}
.stagewrap{display:flex;flex-direction:column;min-width:0;min-height:640px;padding:16px 16px 18px;transform:rotate(.18deg)}
.stagebar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 6px 13px;border-bottom:1px solid var(--rule);background:transparent}
.pager,.zoom{display:flex;align-items:center;gap:6px}.pager__num{font-family:var(--mono);font-size:.8rem;min-width:54px;text-align:center;color:var(--dim)}.hint{margin-left:auto;font-family:var(--mono);font-size:.78rem;color:var(--red-dark);font-weight:700;transform:rotate(-1deg)}
.stage{position:relative;flex:1;overflow:auto;padding:24px 18px 56px;background:rgba(255,255,255,.22);display:flex;align-items:flex-start;justify-content:center;border:1px solid rgba(117,91,57,.16)}
.stage::after{content:"";position:absolute;left:10%;right:10%;bottom:20px;height:2px;background:var(--red);transform:rotate(-1deg);opacity:.38}
.sheet{position:relative;background:#fff;flex:0 0 auto;line-height:0;box-shadow:0 14px 28px rgba(56,38,18,.24),0 0 0 1px rgba(87,68,46,.23)}
.sheet canvas{display:block;max-width:none}.marks{position:absolute;inset:0;cursor:crosshair;touch-action:none}
.mk{position:absolute;background:#000;box-shadow:0 0 0 2px var(--red);cursor:move}.mk::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(191,47,32,.34) 5px 6px)}.mk[data-fill="#FFFFFF"]{background:#fff}.mk[data-src="scan"]{box-shadow:0 0 0 2px var(--amber)}.mk[data-src="scan"]::after{background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(189,125,32,.34) 5px 6px)}.mk.is-sel{box-shadow:0 0 0 3px var(--red),0 0 0 8px rgba(191,47,32,.16);animation:markPulse 1.5s ease-in-out infinite}.mk__h{position:absolute;right:-6px;bottom:-6px;width:13px;height:13px;background:var(--red);cursor:nwse-resize}.mk__x{position:absolute;right:-10px;top:-10px;width:20px;height:20px;border:0;background:var(--red);color:#fff;cursor:pointer}.mk__dim{position:absolute;left:0;top:-24px;background:var(--red);color:#fff;font-family:var(--mono);font-size:.7rem;padding:2px 5px;white-space:nowrap}.mk__h,.mk__x,.mk__dim{display:none}.mk.is-sel .mk__h,.mk.is-sel .mk__x{display:block}.mk.is-live .mk__dim{display:block}
@keyframes markPulse{0%,100%{filter:drop-shadow(0 0 0 rgba(191,47,32,0))}50%{filter:drop-shadow(0 0 7px rgba(191,47,32,.46))}}
.sweep{position:absolute;left:0;right:0;height:4px;top:0;pointer-events:none;background:linear-gradient(90deg,transparent,var(--green),transparent);box-shadow:0 0 18px 5px rgba(77,118,85,.32);animation:sweep 1.5s ease-in-out infinite}@keyframes sweep{0%{top:0}100%{top:100%}}
.stage__load{position:absolute;inset:0;display:grid;place-items:center;background:rgba(239,226,199,.72)}.stage__load span{width:31px;height:31px;border:3px solid #bfae92;border-top-color:var(--red);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

.rail--tools{display:flex;flex-direction:column;gap:18px}
.tool{padding:21px 19px 20px;margin:0;transform:rotate(var(--tool-rot,0deg));transition:transform .2s ease,box-shadow .2s ease}
.tool:nth-child(1){--tool-rot:-.4deg}.tool:nth-child(2){--tool-rot:.55deg}.tool:nth-child(3){--tool-rot:-.25deg}.tool:hover{transform:rotate(0deg) translateY(-2px);box-shadow:0 12px 22px var(--shadow-deep)}
.rail__note{font-size:.89rem;color:var(--dim);line-height:1.55;margin-bottom:13px}.rail__note--tight{margin:10px 0 12px}
.marklist,.findings{list-style:none;display:flex;flex-direction:column;gap:7px;margin:10px 0 13px}
.marklist li,.finding{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--rule);background:rgba(255,255,255,.34);padding:8px 9px;font-size:.84rem}.marklist li.is-sel{border-color:var(--red);background:#f8e1d8}.marklist b{font-family:var(--mono);font-size:.7rem;color:var(--red)}.marklist span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marklist button{border:0;background:none;color:var(--faint);cursor:pointer}.finding{cursor:pointer;transition:transform .15s,border-color .15s}.finding:hover{transform:translateX(3px);border-color:var(--amber)}.finding.is-used{opacity:.46}.finding__t{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);font-weight:800;flex:0 0 auto}.finding__b{min-width:0;flex:1}.finding__v{display:block;font-family:var(--mono);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finding__p{display:block;font-size:.72rem;color:var(--faint)}
.field{display:block;margin-bottom:13px}.field span{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:5px}.field select{width:100%;border:1px solid var(--rule);background:#fff9ec;padding:9px;font-size:.88rem}
.btn{display:inline-block;width:100%;text-align:center;border:1px solid #7d6f5b;background:#fff8e9;padding:10px 12px;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:0 2px 0 rgba(61,43,24,.08);transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}.btn:hover{transform:translateY(-2px);box-shadow:0 5px 0 rgba(61,43,24,.1);border-color:var(--red-dark)}.btn:disabled{opacity:.43;cursor:not-allowed;transform:none}.btn--quiet{background:transparent;color:var(--dim)}.btn--go{border-color:var(--green);color:#24492d;background:#e8f0e4}.btn--go:hover{border-color:#2f6540;background:#dcebd9}.btn--fire{background:var(--red);border-color:var(--red-dark);color:#fff;font-family:var(--serif);font-size:1.1rem;padding:14px;box-shadow:0 5px 0 var(--red-dark)}.btn--fire:hover:not(:disabled){background:#d43b2a;box-shadow:0 7px 0 var(--red-dark)}.btn--fire:disabled{background:#b7a993;border-color:#9d8e79;color:#eee7dc;box-shadow:none}.btnrow{display:flex;gap:8px}.act{padding:18px 17px 16px;transform:rotate(.65deg)}.act__note{font-size:.8rem;color:#5c463b;margin-top:10px;text-align:center}

/* ---------- result evidence packet ---------- */
.result{max-width:1220px;margin:0 auto;padding:54px clamp(22px,4vw,60px) 70px;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:26px 30px;align-items:start}
.result__head{padding:30px;transform:rotate(-.6deg)}.result__head h2{font-family:var(--serif);font-size:clamp(2.4rem,4vw,4.4rem);line-height:.98;letter-spacing:-.035em;margin-bottom:13px}.paper-note--readout{padding:10px 0;transform:rotate(.25deg);overflow:hidden}.readout{margin:0}.row{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);border-bottom:1px solid var(--rule)}.row:last-child{border-bottom:0}.row dt{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red-dark);padding:15px 17px;background:rgba(226,210,179,.35)}.row dd{padding:15px 17px;font-size:.92rem}.row dd b{font-family:var(--mono)}.ok{color:var(--green)}.bad{color:var(--red)}.warn{color:var(--amber)}.paper-note--actions{grid-column:2;max-width:none;margin:0;padding:18px;transform:rotate(-.3deg)}.btnrow--wide{display:grid;grid-template-columns:1.3fr 1fr 1fr}.paper-note--caveat{grid-column:1 / -1;padding:24px 28px 24px 54px;font-size:.88rem;color:#51483d;max-width:none;transform:rotate(.35deg)}

/* ---------- progress / toast ---------- */
.progress{position:fixed;inset:0;background:rgba(78,55,28,.66);display:grid;place-items:center;z-index:80;padding:20px;backdrop-filter:blur(2px)}.progress__card{width:min(470px,100%);padding:28px 26px;transform:rotate(-.5deg)}.progress__label{font-family:var(--serif);font-size:1.3rem;font-weight:700;margin-bottom:15px}.progress__track{height:11px;border:1px solid var(--rule-dark);background:#ddcfb3;overflow:hidden}.progress__fill{height:100%;width:0;background:var(--red);transition:width .18s ease;position:relative}.progress__fill::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 15px,rgba(255,255,255,.18) 15px 18px);animation:progressMove 1.2s linear infinite}@keyframes progressMove{to{transform:translateX(18px)}}.progress__sub{font-size:.85rem;color:var(--dim);margin-top:12px}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) rotate(-.4deg);background:var(--paper-2);border:1px solid var(--rule-dark);padding:12px 17px;font-size:.88rem;z-index:90;max-width:min(620px,92vw);box-shadow:0 10px 26px var(--shadow-deep)}.toast[data-kind="bad"]{border-color:var(--red);color:var(--red-dark)}.toast[data-kind="good"]{border-color:var(--green);color:#285232}

/* ---------- footer: content preserved verbatim ---------- */
.foot{position:relative;z-index:3;padding:28px clamp(22px,4vw,58px) 34px;border-top:1px solid rgba(96,70,37,.25);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 26px;box-shadow:0 -5px 18px rgba(67,46,22,.12)}
.foot__line{font-size:.86rem;color:#4d463d;max-width:98ch}.foot__line--dim{color:#6b6257}.foot__nav{grid-column:2;grid-row:1 / span 2;align-self:center;display:flex;gap:26px}.foot__nav a{color:var(--ink);text-decoration:none;border-bottom:2px solid transparent;font-family:var(--serif);font-size:1rem}.foot__nav a:hover{color:var(--red-dark);border-bottom-color:var(--red)}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .top{grid-template-columns:1fr auto}.top__file{grid-column:1 / -1;grid-row:2}.top__steps{grid-column:2;grid-row:1}
  .intake{grid-template-columns:1fr 1fr;grid-template-areas:"hero facts" "drop drop" "warn warn"}.paper-note--drop{min-height:430px}.drop__frame{min-height:390px}
  .work{grid-template-columns:105px minmax(0,1fr);grid-template-rows:auto auto}.rail--tools{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.act{grid-column:1 / -1}.tool{height:100%}
}
@media (max-width:760px){
  body{font-size:16px}.board-thread{display:none}.top{grid-template-columns:1fr;padding:16px 17px}.top__steps{grid-column:1;grid-row:auto;justify-content:stretch}.support{grid-column:1;grid-row:auto;justify-self:stretch}.step{flex:1;min-width:0;padding:9px 7px;font-size:.92rem}.top__file{grid-column:1;grid-row:auto;width:100%;flex-wrap:wrap}.intake{grid-template-columns:1fr;grid-template-areas:"hero" "drop" "facts" "warn";padding:30px 17px 42px;gap:20px}.intake::before{display:none}.paper-note--drop{min-height:350px}.drop__frame{min-height:320px;padding:24px}.work{grid-template-columns:1fr;padding:24px 14px 40px;gap:16px}.rail--pages{min-height:auto;transform:none}.rail--pages .rail__title{margin-bottom:10px}.thumbs{flex-direction:row;overflow-x:auto;gap:9px;padding-bottom:3px}.thumb{width:84px;flex:0 0 84px}.stagewrap{min-height:520px;transform:none}.stage{padding:15px 9px 42px}.hint{width:100%;margin:0;font-size:.73rem}.rail--tools{grid-column:1;display:flex}.tool,.act{transform:none}.result{grid-template-columns:1fr;padding:32px 17px 48px}.paper-note--actions,.paper-note--caveat{grid-column:1}.btnrow--wide{grid-template-columns:1fr}.row{grid-template-columns:1fr}.row dt{padding-bottom:5px}.foot{grid-template-columns:1fr}.foot__nav{grid-column:1;grid-row:auto;flex-wrap:wrap;margin-top:12px;gap:18px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .board-thread{display:none}
}


/* ======================================================================
   OOKII DROP — APPROVED BLACK / GOLD MOCKUP VISUAL SYSTEM
   The rules above retain functional workspace geometry. This final layer
   replaces the Evidence Board skin with the approved scanner/light-table
   direction and PNG artwork supplied in /assets.
   ====================================================================== */
:root{
  --board:#05090d;
  --board-dark:#020508;
  --paper:#0b1117;
  --paper-2:#0f161d;
  --paper-3:#111922;
  --ink:#f3efe7;
  --dim:#c1b9ae;
  --faint:#8f887e;
  --rule:rgba(246,181,45,.22);
  --rule-dark:rgba(246,181,45,.42);
  --red:#f5b62d;
  --red-dark:#d08e0c;
  --red-soft:rgba(245,182,45,.13);
  --green:#f5c85d;
  --amber:#f5b62d;
  --black:#020406;
  --shadow:rgba(0,0,0,.34);
  --shadow-deep:rgba(0,0,0,.58);
  --gold:#f5b62d;
  --gold-soft:rgba(245,182,45,.14);
  --cream:#f4f0e9;
  --panel:#081016;
  --panel-2:#0b141c;
  --pages:118px;
  --rail:330px;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --display:"Arial Black","Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
}

html{background:#05090d;color-scheme:dark}
body{
  min-height:100vh;
  color:var(--cream);
  background:
    radial-gradient(circle at 73% 29%,rgba(245,182,45,.07),transparent 27%),
    linear-gradient(rgba(245,182,45,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(245,182,45,.032) 1px,transparent 1px),
    #05090d;
  background-size:auto,56px 56px,56px 56px,auto;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(110deg,transparent 0 48%,rgba(255,255,255,.012) 49%,transparent 50%),
    radial-gradient(circle at 50% 115%,rgba(7,41,66,.24),transparent 48%);
  mix-blend-mode:screen;
}
main,.top,.vendor,.foot{position:relative;z-index:1}
.board-thread,.pin,.tape,.clip{display:none!important}
.paper-strip,.paper-note{
  background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.004)),var(--panel)!important;
  color:var(--cream)!important;
  border:1px solid var(--rule)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.28)!important;
}
.paper-strip::after,.paper-note::after{display:none!important}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.skip{background:var(--gold);color:#080a0c;font-weight:800}

/* Header */
.top{
  min-height:96px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto auto;
  align-items:center;
  gap:24px;
  padding:12px clamp(24px,3.7vw,60px);
  background:rgba(2,5,8,.94);
  border-bottom:1px solid rgba(245,182,45,.28);
  backdrop-filter:blur(16px);
}
.top__id{
  min-width:0;display:flex;align-items:center;gap:20px;color:inherit;text-decoration:none;width:max-content;max-width:100%;
}
.brand-mark{width:48px;height:48px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 0 12px rgba(245,182,45,.18))}
.brand-divider{width:1px;height:52px;background:rgba(245,182,45,.28);flex:0 0 auto}
.brand-copy{display:block;line-height:1}
.brand-copy strong{display:block;font-family:var(--sans);font-size:clamp(1.45rem,2.1vw,2rem);font-weight:800;letter-spacing:-.045em;color:var(--cream)}
.brand-copy small{display:block;margin-top:10px;color:#bbb3aa;font-size:.92rem;letter-spacing:.002em}
.top__file{display:flex;align-items:center;gap:10px;padding:8px 9px 8px 13px;background:rgba(255,255,255,.025);border:1px solid var(--rule);border-radius:999px;color:var(--cream)}
.fchip__name{font-weight:750;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fchip__meta{color:var(--faint);font-size:.76rem;font-family:var(--mono)}
.top__steps{display:grid;grid-template-columns:repeat(3,100px);align-items:stretch;margin-left:auto}
.step{min-width:0!important;padding:5px 15px 6px!important;border:0!important;border-left:1px solid rgba(255,255,255,.14)!important;border-radius:0!important;background:transparent!important;color:#b9b1a8!important;text-align:center;font-size:.97rem;line-height:1.08;box-shadow:none!important}
.step:first-child{border-left:0!important}
.step b{display:block;margin:0 0 5px!important;width:auto!important;height:auto!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--gold)!important;font-family:var(--mono);font-size:1.48rem;line-height:1;font-weight:800}
.step span{display:block}
.step.is-on{color:var(--cream)!important}.step.is-on b{text-shadow:0 0 14px rgba(245,182,45,.42)}
.step.is-done{color:#d4c9b7!important}.step.is-done b{color:#b98821!important}
.ghost{border:1px solid var(--rule)!important;background:rgba(255,255,255,.025)!important;color:var(--cream)!important;border-radius:8px!important}.ghost:hover{background:var(--gold-soft)!important;border-color:var(--gold)!important}
.vendor{max-width:1260px;margin:14px auto 0;padding:11px 15px;border:1px solid rgba(245,182,45,.36);border-radius:12px;background:rgba(79,52,0,.18);color:#e8d8b2;font-size:.83rem}
.vendor strong{color:var(--gold)}.vendor code{color:#fff0c8}

/* Landing / intake */
.intake{
  min-height:calc(100vh - 96px);
  max-width:1480px;
  margin:0 auto;
  padding:44px clamp(24px,3.7vw,58px) 34px;
  display:block;
}
.intake::before{display:none!important}
.hero-grid{display:grid;grid-template-columns:minmax(440px,.9fr) minmax(520px,1.18fr);gap:48px;align-items:start}
.hero-copy{min-width:0;padding:28px 0 0}
.eyebrow{margin:0 0 19px;font-family:var(--mono);font-size:.72rem;line-height:1;letter-spacing:.19em;text-transform:uppercase;color:var(--gold);font-weight:800}
.hero-title{margin:0;color:var(--cream);font-family:var(--display);font-size:clamp(2.5rem,4vw,4.35rem);font-weight:900;line-height:.94;letter-spacing:-.058em;text-wrap:balance}
.hero-title__line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.16em;min-width:0}
.hero-title__line:first-child{display:block}
.hero-title__line--mixed{margin-top:.08em}
/* Redaction reveal.
   The word is always present and always its final colour. The bar sits ON TOP
   and wipes off to the right, so the text is uncovered edge to edge instead of
   appearing behind a block that fades. Width comes from the word itself, so no
   min-width guesses are needed and nothing shifts when it opens.
   :focus is included on purpose. Tapping a tabindex element on iOS and Android
   fires focus but not focus-visible, so hover-only rules never reveal on touch. */
.redact-word{
  position:relative;display:inline-block;flex:0 0 auto;padding:0 .1em .02em;
  color:var(--cream);cursor:pointer;outline-offset:4px;
  -webkit-tap-highlight-color:transparent;
}
.redact-word::before{
  content:"";position:absolute;left:0;right:0;top:.1em;bottom:.02em;background:#000;
  box-shadow:inset 0 0 0 1px rgba(245,182,45,.14),0 0 18px rgba(245,182,45,.05);
  transform:scaleX(1);transform-origin:100% 50%;
  transition:transform .52s cubic-bezier(.19,.72,.24,1);
  pointer-events:none;
}
.redact-word::after{
  content:"";position:absolute;left:.08em;right:.08em;bottom:0;height:.075em;
  background:var(--gold);transform:scaleX(0);transform-origin:0 50%;
  transition:transform .42s cubic-bezier(.19,.72,.24,1) .12s;
  box-shadow:0 0 12px rgba(245,182,45,.35);
}
.redact-word:hover::before,
.redact-word:focus::before,
.redact-word:focus-visible::before,
.redact-word.is-open::before{transform:scaleX(0)}
.redact-word:hover::after,
.redact-word:focus::after,
.redact-word:focus-visible::after,
.redact-word.is-open::after{transform:scaleX(1)}
.hero-lede{margin:22px 0 14px;max-width:52ch;color:#c7bfb6;font-size:1.05rem;line-height:1.6}
.hero-lede--priv{margin:0 0 22px;padding-left:14px;border-left:2px solid rgba(245,182,45,.42);color:#9c948a;font-size:.9rem;line-height:1.55}

.drop{cursor:pointer;max-width:560px;background:rgba(5,10,14,.64);border:1px solid rgba(245,182,45,.22);border-radius:17px;padding:13px;box-shadow:inset 0 0 46px rgba(0,0,0,.22);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.drop:hover{transform:translateY(-2px)!important;border-color:rgba(245,182,45,.52);box-shadow:0 18px 38px rgba(0,0,0,.3),inset 0 0 50px rgba(245,182,45,.025)!important}
.drop.is-over{transform:translateY(-2px) scale(1.005)!important;border-color:var(--gold);box-shadow:0 0 0 4px rgba(245,182,45,.09),0 18px 38px rgba(0,0,0,.3)!important}
.drop__frame{min-height:218px!important;display:grid;place-items:center;padding:24px!important;border:1.5px dashed rgba(245,182,45,.76)!important;border-radius:13px!important;background:linear-gradient(180deg,rgba(255,255,255,.012),transparent)!important;overflow:hidden}
.drop__frame::before{display:none!important}.drop__inner{text-align:center}.drop__icon{display:block!important;width:54px!important;height:54px!important;object-fit:contain;margin:0 auto 8px!important;border:0!important;background:none!important;border-radius:0!important;animation:dropBob 3.2s ease-in-out infinite!important;filter:drop-shadow(0 0 8px rgba(245,182,45,.18))}
.drop__lead{margin:0!important;font-family:var(--sans)!important;font-size:1.65rem!important;font-weight:800!important;color:var(--cream)!important}.drop__sub{margin:5px 0 0!important;color:var(--gold)!important;font-size:.96rem!important}.drop__fmt{margin:13px 0 0!important;color:#918a81!important;font-size:.72rem!important;letter-spacing:.035em!important;text-transform:none!important}
@keyframes dropBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

.reveal-demo{max-width:560px;margin-top:21px;padding:15px 16px 14px;border:1px solid rgba(245,182,45,.22);border-radius:13px;background:rgba(8,14,19,.82)}
.reveal-demo__kicker{margin:0 0 10px;color:var(--gold);font:800 .64rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.reveal-demo__grid{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:center;gap:7px}.demo-card{padding:11px 12px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:#060b0f}.demo-card b{display:block;margin-bottom:8px;font-size:.75rem;color:#eee8df}.demo-card p{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:8px;margin:6px 0;color:#bfb6ab;font-size:.72rem}.demo-redaction{display:block;height:11px;background:#000;border:1px solid rgba(245,182,45,.07)}.demo-redaction--name{width:88%}.demo-redaction--remove{width:100%}.demo-card--revealed em{position:relative;width:max-content;font-style:normal;color:#e8e1d8;font-size:.76rem}.demo-card--revealed em::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--gold)}.demo-arrow{color:var(--gold);text-align:center;font-size:1.25rem}.reveal-demo__note{margin:10px 0 0;color:#867f77;font-size:.69rem}

.hero-visual{min-width:0;padding-top:0}
.scanner-stage{
  position:relative;display:grid;align-content:start;justify-items:stretch;isolation:isolate;
  width:100%;padding:0;margin:0;border:0;background:none;font:inherit;color:inherit;
  text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;
  border-radius:22px;transition:transform .28s cubic-bezier(.19,.72,.24,1);
}
.scanner-stage:hover{transform:translateY(-4px)}
.scanner-stage:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.scanner-stage.is-over{transform:translateY(-4px) scale(1.008)}
.scanner-cta{
  position:relative;justify-self:center;margin:20px 0 0;
  display:grid;justify-items:center;gap:3px;width:max-content;max-width:100%;
  padding:12px 24px;border:1.5px solid rgba(245,182,45,.55);border-radius:12px;
  background:rgba(8,14,19,.9);text-align:center;
  transition:border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.scanner-stage:hover .scanner-cta,
.scanner-stage:focus-visible .scanner-cta,
.scanner-stage.is-over .scanner-cta{
  border-color:var(--gold);background:rgba(14,22,29,.96);
  box-shadow:0 0 0 4px rgba(245,182,45,.1),0 14px 30px rgba(0,0,0,.34);
}
.scanner-cta__lead{font-family:var(--sans);font-size:1.05rem;font-weight:800;color:var(--cream);letter-spacing:-.01em}
.scanner-cta__sub{font-size:.76rem;color:var(--gold)}.scanner-stage::before{content:"";position:absolute;z-index:-2;inset:10% 4% 22%;border-radius:34px;background:radial-gradient(ellipse at 50% 42%,rgba(245,182,45,.075),transparent 50%),linear-gradient(180deg,rgba(15,24,31,.5),rgba(2,5,8,.08));filter:blur(4px)}
.hero-scanner-art{display:block;width:112%;max-width:none;height:auto;margin:-15px -8% 0 -3%;object-fit:contain;filter:drop-shadow(0 28px 48px rgba(0,0,0,.38));animation:scannerFloat 8s ease-in-out infinite;transform-origin:50% 48%}
.scanner-glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(50px);pointer-events:none;opacity:.3}.scanner-glow--a{width:42%;height:18%;left:29%;top:20%;background:rgba(245,182,45,.16);animation:glowBreath 5.2s ease-in-out infinite}.scanner-glow--b{width:50%;height:24%;right:0;bottom:10%;background:rgba(14,77,112,.12);animation:glowBreath 7s ease-in-out infinite reverse}
@keyframes scannerFloat{0%,100%{transform:translateY(0) rotate(.08deg)}50%{transform:translateY(-6px) rotate(-.08deg)}}
@keyframes glowBreath{0%,100%{opacity:.22;transform:scale(.95)}50%{opacity:.4;transform:scale(1.07)}}
.trust-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(245,182,45,.16);margin-top:38px}
.trust-item{min-width:0;display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start;padding:22px 20px 10px;border-left:1px solid rgba(255,255,255,.12)}.trust-item:first-child{border-left:0}.trust-icon{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 0 7px rgba(245,182,45,.12))}.trust-item strong{display:block;color:#ece6dd;font-size:.91rem;line-height:1.35}.trust-item p{margin:10px 0 0;color:#968f86;font-size:.82rem;line-height:1.45}
.excl{margin:34px 0 0;padding:12px 16px;border:1px solid rgba(245,182,45,.24);border-radius:11px;background:rgba(79,52,0,.13);color:#c4b99f;font-size:.75rem;line-height:1.55}.excl strong{color:#e4cd92}

/* Workspace / verification — same application, same visual system */
.work{min-height:calc(100vh - 96px);gap:18px;max-width:1600px;padding:28px clamp(18px,2.5vw,40px) 42px;background:transparent}.work::before{display:none}
.rail{background:transparent!important;color:var(--cream)!important}.rail--pages,.stagewrap,.tool,.act,.result__head,.paper-note--readout,.paper-note--actions,.paper-note--caveat,.progress__card{transform:none!important;animation:none!important;background:linear-gradient(180deg,rgba(255,255,255,.016),rgba(255,255,255,.004)),#081016!important;border:1px solid rgba(245,182,45,.19)!important;border-radius:15px!important;color:var(--cream)!important;box-shadow:0 18px 42px rgba(0,0,0,.28)!important}
.rail--pages{padding:18px 11px 20px}.rail__title{margin:0 0 14px!important;padding:0!important;background:transparent!important;color:var(--gold)!important;box-shadow:none!important;font-size:.67rem!important;letter-spacing:.16em!important}.tally{background:var(--gold)!important;color:#080a0c!important;border-radius:999px!important}.thumb{background:#ece8e1;border-color:rgba(245,182,45,.22);box-shadow:0 5px 13px rgba(0,0,0,.3)}.thumb.is-on{border-color:var(--gold)!important;box-shadow:0 0 0 2px rgba(245,182,45,.22)}.thumb__n{background:#05090d;color:#fff}.thumb__c{background:var(--gold);color:#080a0c}
.stagewrap{padding:13px;min-height:650px}.stagebar{border-bottom:1px solid rgba(245,182,45,.14);padding:7px 5px 12px}.pager__num{color:#bdb5aa}.hint{color:var(--gold)!important}.stage{border:1px solid rgba(245,182,45,.12)!important;border-radius:10px;background:radial-gradient(circle at 50% 10%,rgba(245,182,45,.035),transparent 30%),#04090d!important}.stage::after{display:none}.sheet{box-shadow:0 24px 54px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.1)}
.mk{box-shadow:0 0 0 2px var(--gold)!important}.mk::after{background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(245,182,45,.32) 5px 6px)!important}.mk.is-sel{box-shadow:0 0 0 3px var(--gold),0 0 0 8px rgba(245,182,45,.16)!important}.mk__h,.mk__x,.mk__dim{background:var(--gold)!important;color:#080a0c!important}.stage__load{background:rgba(3,8,12,.78)!important}.stage__load span{border-color:#4d4540;border-top-color:var(--gold)}
.rail--tools{gap:14px}.tool{padding:18px}.tool:hover{transform:translateY(-2px)!important}.rail__note{color:#9e968c!important}.marklist li,.finding{border-color:rgba(245,182,45,.14)!important;background:rgba(255,255,255,.022)!important;color:#d6cfc6!important}.marklist li.is-sel{border-color:var(--gold)!important;background:rgba(245,182,45,.08)!important}.marklist b,.finding__t{color:var(--gold)!important}.field span{color:#968f86!important}.field select{background:#0b141c!important;color:var(--cream)!important;border-color:rgba(245,182,45,.22)!important;border-radius:8px}
.btn{border:1px solid rgba(245,182,45,.28)!important;background:#0c151d!important;color:#ece6dd!important;border-radius:9px!important;box-shadow:none!important}.btn:hover{border-color:var(--gold)!important;background:rgba(245,182,45,.08)!important;box-shadow:none!important}.btn--quiet{background:transparent!important}.btn--go{color:#080a0c!important;background:var(--gold)!important;border-color:var(--gold)!important}.btn--go:hover{background:#ffc84d!important}.btn--fire{color:#080a0c!important;background:linear-gradient(180deg,#ffc943,var(--gold))!important;border-color:#d18d0c!important;font-family:var(--sans)!important;font-weight:900!important;box-shadow:0 4px 0 #a96d00!important}.btn--fire:hover:not(:disabled){background:#ffd05d!important;box-shadow:0 5px 0 #a96d00!important}.btn--fire:disabled{background:#37332c!important;border-color:#4a443b!important;color:#827b71!important;box-shadow:none!important}.act__note{color:#8f887e!important}

.result{max-width:1220px}.result__head h2{font-family:var(--display)!important;color:var(--cream)!important}.result__head .lede{color:#aaa198!important}.row{border-color:rgba(245,182,45,.13)!important}.row dt{background:rgba(245,182,45,.035)!important;color:var(--gold)!important}.row dd{color:#d9d2c9!important}.ok{color:#f2ce6c!important}.bad{color:#ff8a71!important}.warn{color:#f5b62d!important}.paper-note--caveat{color:#9c948a!important}.progress{background:rgba(0,0,0,.78)!important;backdrop-filter:blur(9px)}.progress__track{border-color:rgba(245,182,45,.28)!important;background:#17130d!important}.progress__fill{background:var(--gold)!important}.progress__sub{color:#9b9389!important}.toast{background:#0b141c!important;border-color:rgba(245,182,45,.35)!important;color:#ece6dd!important;border-radius:10px!important;box-shadow:0 16px 40px rgba(0,0,0,.5)!important}.toast[data-kind="bad"]{border-color:#ff745c!important;color:#ffb09f!important}.toast[data-kind="good"]{border-color:var(--gold)!important;color:#f7d986!important}

/* Footer */
.foot{position:relative;z-index:2;display:grid;grid-template-columns:minmax(260px,.85fr) minmax(340px,1.3fr) auto;align-items:start;gap:36px;align-items:center;padding:30px clamp(24px,3.7vw,58px);background:rgba(2,5,8,.96)!important;border-top:1px solid rgba(245,182,45,.22)!important;color:#c7bfb6!important;box-shadow:none!important}
.foot__brand{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:center}.foot__brand img{width:44px;height:44px;object-fit:contain}.foot__brand p{margin:0;font-size:.84rem;line-height:1.55;color:#d8d1c8}.foot__brand span{color:var(--gold)}.foot__line{margin:0!important;max-width:70ch!important;color:#928b83!important;font-size:.78rem!important;line-height:1.65!important}.foot__nav{grid-column:auto!important;grid-row:auto!important;display:flex;gap:22px!important;align-items:center!important;flex-wrap:wrap;justify-content:flex-end}.foot__nav a{font-family:var(--sans)!important;color:#d4cdc5!important;font-size:.82rem!important;text-decoration:none;border:0!important}.foot__nav a:hover{color:var(--gold)!important}

/* Responsive */
@media (max-width:1180px){
  .top{grid-template-columns:1fr auto auto}.top__file{grid-column:1/-1;grid-row:2}.top__steps{grid-column:2;grid-row:1}.support{grid-column:3;grid-row:1}
  .hero-grid{grid-template-columns:1fr}.hero-copy{max-width:760px}.drop,.reveal-demo{max-width:640px}.hero-visual{margin-top:-10px}.hero-scanner-art{width:min(900px,110%);margin:-10px auto 0}.trust-row{max-width:900px;margin:34px auto 0}
  .work{grid-template-columns:105px minmax(0,1fr);grid-template-rows:auto auto}.rail--tools{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.act{grid-column:1/-1}.tool{height:100%}
  .foot{grid-template-columns:1fr 1.2fr}.foot__nav{grid-column:1/-1;justify-content:flex-end}
}
@media (max-width:760px){
  .top{grid-template-columns:1fr;padding:14px 17px;gap:12px}.top__id{gap:12px}.brand-mark{width:39px;height:39px}.brand-divider{height:40px}.brand-copy strong{font-size:1.35rem}.brand-copy small{font-size:.73rem;margin-top:6px}.top__steps{grid-column:1;grid-row:auto;width:100%;grid-template-columns:repeat(3,1fr)}.step{padding:6px 5px!important}.step b{font-size:1.15rem}.step span{font-size:.8rem}.top__file{grid-column:1;grid-row:auto;width:100%;border-radius:10px;flex-wrap:wrap}
  .intake{padding:26px 17px 28px}.hero-grid{gap:30px}.hero-copy{padding-top:10px}.hero-title{font-size:clamp(2.4rem,10.5vw,3.9rem);letter-spacing:-.05em}.hero-lede{font-size:.97rem;margin-top:22px}.drop{max-width:none}.drop__frame{min-height:190px!important}.drop__lead{font-size:1.4rem!important}.reveal-demo__grid{grid-template-columns:1fr}.demo-arrow{transform:rotate(90deg)}
  .scanner-stage:hover{transform:none}.scanner-stage::before{inset:8% 2% 26%}.scanner-cta{margin-top:16px;padding:11px 16px;width:min(100%,430px)}.scanner-cta__lead{font-size:.98rem}.scanner-cta__sub{font-size:.72rem}.hero-scanner-art{width:115%;margin:0 -8% 0 -4%}.trust-row{grid-template-columns:1fr;margin-top:28px}.trust-item{border-left:0;border-top:1px solid rgba(255,255,255,.09);grid-template-columns:46px 1fr;padding:15px 9px}.trust-item:first-child{border-top:0}.trust-icon{width:40px;height:40px}.trust-item strong br,.trust-item p br{display:none}.excl{margin-top:25px}
  .work{grid-template-columns:1fr;padding:19px 13px 35px;gap:13px}.rail--pages{min-height:auto}.thumbs{flex-direction:row;overflow-x:auto}.thumb{width:82px;flex:0 0 82px}.stagewrap{min-height:500px}.rail--tools{grid-column:1;display:flex}.tool,.act{height:auto}.result{grid-template-columns:1fr;padding:28px 17px 42px}.paper-note--actions,.paper-note--caveat{grid-column:1}.btnrow--wide{grid-template-columns:1fr}.row{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr;gap:20px;padding:26px 18px}.foot__nav{grid-column:1;justify-content:flex-start;flex-wrap:wrap}
}
@media (max-width:430px){
  .brand-copy small{display:none}.brand-divider{display:none}.hero-title{font-size:clamp(2.1rem,10vw,3.4rem)}.hero-title__line{gap:.11em}.reveal-demo{padding:13px}.scanner-stage{margin-inline:-10px}.hero-scanner-art{width:121%;margin-left:-8%;margin-right:-13%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ============================================================
   Verification lives in the workspace now. One stage, one rail,
   one set of proportions across intake and workspace.
   ============================================================ */

/* --- shared grid: same outer width everywhere --- */
.intake,.work{max-width:1520px}

/* --- original vs redacted --- */
.viewtoggle{display:flex;gap:0;border:1px solid rgba(245,182,45,.28);border-radius:8px;overflow:hidden}
.viewtoggle .ghost{border:0;border-radius:0;padding:5px 13px;font-size:.78rem;letter-spacing:.01em}
.viewtoggle .ghost + .ghost{border-left:1px solid rgba(245,182,45,.28)}
.viewtoggle .ghost.is-on{background:var(--gold);color:#12100a;font-weight:700}
.viewtoggle .ghost:not(.is-on):hover{background:rgba(245,182,45,.1);color:var(--cream)}

/* --- the verification panel, sized for the rail --- */
.toolstack{display:flex;flex-direction:column;gap:14px}
.eyebrow--rail{margin:0 0 9px;font-size:.62rem;letter-spacing:.16em}
.verify__verdict{
  margin:0 0 8px;font-family:var(--display);font-size:1.5rem;font-weight:900;
  line-height:1.08;letter-spacing:-.035em;color:var(--cream);text-wrap:balance;
}
.verify__verdict.is-pass{color:#f2ce6c}
.verify__verdict.is-fail{color:#ff8a71}
.verify .readout{
  margin:16px 0 0;border:1px solid rgba(245,182,45,.16);border-radius:11px;overflow:hidden;
  background:rgba(255,255,255,.018);
}
/* the rail is too narrow for the two column readout, so the label sits above */
.verify .row{display:block;border-bottom:1px solid rgba(245,182,45,.13)}
.verify .row:last-child{border-bottom:0}
.verify .row dt{
  padding:11px 13px 0;background:transparent;font-family:var(--mono);font-size:.62rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
}
.verify .row dd{padding:5px 13px 12px;margin:0;font-size:.82rem;line-height:1.5;color:#cfc8bf}
.verify .row dd b{font-family:var(--mono);font-size:.88rem}
.btnrow--stack{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px}
.verify__caveat{
  margin:16px 0 0;padding-left:12px;border-left:2px solid rgba(245,182,45,.3);
  color:#8d857c;font-size:.72rem;line-height:1.5;
}

@media (max-width:1080px){
  .verify .row{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr);align-items:start}
  .verify .row dt{padding:12px 13px}
  .verify .row dd{padding:12px 13px}
  .btnrow--stack{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .viewtoggle{order:-1}
  .verify .row{display:block}
  .verify .row dt{padding:11px 13px 0}
  .verify .row dd{padding:5px 13px 12px}
  .btnrow--stack{grid-template-columns:1fr}
  .verify__verdict{font-size:1.35rem}
}

/* ============================================================
   Support button and footer contact.
   The button borrows the page's own idea: a black redaction bar
   that wipes away to reveal the word underneath.
   ============================================================ */

.support{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:10px 18px;border:1.5px solid rgba(245,182,45,.5);border-radius:10px;
  background:rgba(8,14,19,.85);text-decoration:none;overflow:hidden;isolation:isolate;
  -webkit-tap-highlight-color:transparent;
  transition:border-color .24s ease,background .24s ease,box-shadow .24s ease,transform .24s cubic-bezier(.19,.72,.24,1);
}
.support__label{
  position:relative;z-index:2;font-family:var(--sans);font-size:.82rem;font-weight:700;
  letter-spacing:.02em;color:var(--cream);white-space:nowrap;
}
/* Redaction bar as a mark beside the word, never over it. Covering the label
   would leave the button unreadable at rest, and on touch there is no hover to
   uncover it. The bar shortens on interaction instead, echoing the page idea
   without hiding the only word on the control. */
.support::before{
  content:"";position:relative;z-index:2;display:block;width:15px;height:9px;
  margin-right:9px;flex:0 0 auto;background:#000;border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(245,182,45,.55);
  transform-origin:0 50%;
  transition:transform .46s cubic-bezier(.19,.72,.24,1),box-shadow .24s ease;
}
.support::after{
  content:"";position:absolute;z-index:2;left:calc(20px + 24px);right:20px;bottom:8px;height:1.5px;
  background:var(--gold);transform:scaleX(0);transform-origin:0 50%;
  transition:transform .42s cubic-bezier(.19,.72,.24,1) .08s;
}
.support__glow{
  position:absolute;z-index:1;inset:0;border-radius:9px;overflow:hidden;pointer-events:none;
  background:radial-gradient(ellipse at 50% 120%,rgba(245,182,45,0),transparent 62%);
  transition:background .28s ease;
}
.support:hover .support__glow,.support:focus-visible .support__glow{
  background:radial-gradient(ellipse at 50% 120%,rgba(245,182,45,.3),transparent 62%);
}
.support:hover,.support:focus-visible{
  border-color:var(--gold);background:rgba(14,22,29,.95);transform:translateY(-2px);
  box-shadow:0 0 0 4px rgba(245,182,45,.12),0 10px 24px rgba(0,0,0,.4);
}
.support:hover::before,.support:focus-visible::before{transform:scaleX(.35)}
.support:hover::after,.support:focus-visible::after{transform:scaleX(1)}
.support:hover .support__glow,.support:focus-visible .support__glow{opacity:1}
.support:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* idle nudge, so the bar reads as removable rather than as a broken button */
/* ---- Attention loop ----
   Three layers on one 5s cycle so it registers immediately and then keeps
   catching the eye without ever becoming noise:
     1. the whole button nudges up and settles, with a short shake on arrival
     2. a gold halo breathes out from the border
     3. a light sweeps across the face
   All three stop on hover and focus, so interaction takes over from the loop.
   Runs on touch as well as pointer devices, since the point is to be seen. */

.support{animation:supportNudge 5s cubic-bezier(.3,.7,.3,1) .6s infinite,supportHalo 5s ease-out .6s infinite}
.support::before{animation:supportBarTug 5s cubic-bezier(.3,.7,.3,1) .6s infinite}

/* sweep */
.support__glow::after{
  content:"";position:absolute;top:0;bottom:0;width:42%;left:-52%;
  background:linear-gradient(100deg,transparent,rgba(245,182,45,.22) 44%,rgba(255,236,190,.42) 52%,rgba(245,182,45,.22) 60%,transparent);
  animation:supportSweep 5s ease-in-out .6s infinite;
}

.support:hover,.support:focus-visible,
.support:hover::before,.support:focus-visible::before,
.support:hover .support__glow::after,.support:focus-visible .support__glow::after{animation:none}

@keyframes supportNudge{
  0%,58%,100%{transform:translateY(0) rotate(0deg)}
  63%{transform:translateY(-5px) rotate(0deg)}
  68%{transform:translateY(-2px) rotate(-1.1deg)}
  72%{transform:translateY(-3px) rotate(1.1deg)}
  76%{transform:translateY(-1px) rotate(-.7deg)}
  80%{transform:translateY(-2px) rotate(.5deg)}
  86%{transform:translateY(0) rotate(0deg)}
}
@keyframes supportBarTug{
  0%,58%,100%{transform:scaleX(1)}
  66%,78%{transform:scaleX(.5)}
  88%{transform:scaleX(1)}
}
@keyframes supportHalo{
  0%,54%{box-shadow:0 0 0 0 rgba(245,182,45,.45)}
  76%,100%{box-shadow:0 0 0 11px rgba(245,182,45,0)}
}
@keyframes supportSweep{
  0%,14%{left:-52%}
  40%,100%{left:118%}
}

/* footer layout with the new right hand column */
.foot__mid{min-width:0}
.foot__right{display:grid;justify-items:end;gap:14px}
.foot__link{
  color:var(--gold);text-decoration:none;
  border-bottom:1px solid rgba(245,182,45,.36);transition:border-color .2s ease,color .2s ease;
}
.foot__link:hover,.foot__link:focus-visible{color:#ffd97a;border-bottom-color:var(--gold)}

.foot__contact{margin-top:14px;display:grid;gap:6px;justify-items:start}
.foot__contact-label{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#8d857c;
}
.foot__mail{
  position:relative;display:inline-block;padding:2px 4px;text-decoration:none;
  font-family:var(--mono);font-size:.92rem;color:var(--cream);
  -webkit-tap-highlight-color:transparent;
}
.foot__mail-bar{
  position:absolute;inset:0;background:#000;border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(245,182,45,.22);
  transform:scaleX(1);transform-origin:100% 50%;
  transition:transform .48s cubic-bezier(.19,.72,.24,1);
}
.foot__mail-text{position:relative;z-index:0}
.foot__mail:hover .foot__mail-bar,
.foot__mail:focus .foot__mail-bar,
.foot__mail:focus-visible .foot__mail-bar{transform:scaleX(0)}
.foot__mail::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--gold);
  transform:scaleX(0);transform-origin:0 50%;
  transition:transform .4s cubic-bezier(.19,.72,.24,1) .1s;
}
.foot__mail:hover::after,.foot__mail:focus::after,.foot__mail:focus-visible::after{transform:scaleX(1)}
.foot__mail:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

@media (max-width:1080px){
  .foot__right{justify-items:start;gap:16px}
}
@media (max-width:760px){
  .support{width:100%;padding:12px 16px}.support__label{font-size:.8rem}
  .foot__right{width:100%;justify-items:stretch}
  .foot__nav{justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .support,.support::before,.support__glow::after{animation:none!important}
}
