/* ==========================================================================
   Proof-desk design system.
   Type: Gloock (display serif, high contrast) · Schibsted Grotesk (text) · Martian Mono (figures, labels)
   Palette: ink-teal / chalk / signal tomato / mustard highlighter / carbon
   ========================================================================== */
@font-face{font-family:"Gloock";src:url(../fonts/gloock-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Schibsted";src:url(../fonts/schibsted-grotesk-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Schibsted";src:url(../fonts/schibsted-grotesk-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Schibsted";src:url(../fonts/schibsted-grotesk-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Schibsted";src:url(../fonts/schibsted-grotesk-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Martian";src:url(../fonts/martian-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}
:root{
  --ink:#0F3D3E; --ink-deep:#082A2B; --teal-2:#3E7C78; --chalk:#F3EEE3; --paper:#FBF8F1; --carbon:#1B1A17;
  --tomato:#E5462E; --tomato-soft:#F6C6B8; --mustard:#E2B13C; --mustard-soft:#F5E2A8; --rule:#D6CDB9; --muted:#6B6558;
  --serif:"Gloock",Georgia,"Times New Roman",serif; --sans:"Schibsted",system-ui,-apple-system,"Segoe UI",sans-serif; --mono:"Martian",ui-monospace,Menlo,monospace;
  --r:3px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--chalk);color:var(--carbon);font:16px/1.6 var(--sans);
  background-image:linear-gradient(transparent 31px,rgba(15,61,62,.045) 32px);background-size:100% 32px}
a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--tomato)}
img,svg{max-width:100%}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.05;margin:0 0 .4em;color:var(--ink-deep)}
h1{font-size:clamp(2.6rem,6vw,5.6rem)} h2{font-size:clamp(1.8rem,3.2vw,2.8rem)} h3{font-size:1.45rem}
p{margin:0 0 1em} .muted{color:var(--muted)} small,.small{font-size:.84rem}
.mono,.label{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
hr.rule{border:0;border-top:1px solid var(--carbon);margin:0}
:focus-visible{outline:3px solid var(--mustard);outline-offset:2px}
/* ---------- masthead ---------- */
.mast-sticky{position:sticky;top:0;z-index:60;background:var(--chalk);box-shadow:0 1px 0 rgba(0,0,0,.04)}
.mast-sticky .mast{padding:12px 0}
@media(max-width:760px){.mast-sticky .mast{padding:8px 0}}
.mast-top{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--carbon);font-family:var(--mono);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}
.mast-top select{font:inherit;background:transparent;border:0;color:inherit;cursor:pointer}
.mast{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:18px 0;border-bottom:3px double var(--carbon)}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink-deep);font-family:var(--serif);font-size:1.75rem;line-height:1}
.logo-mark{width:34px;height:34px;color:var(--ink)} .logo:hover .logo-mark path{stroke-dasharray:80;animation:draw .9s ease}
.nav{display:flex;gap:22px;flex-wrap:wrap;justify-content:center}
.nav a{text-decoration:none;font-weight:500;position:relative;padding:4px 0}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--tomato);transition:right .25s ease}
.nav a:hover::after,.nav a.on::after{right:0}
.mast-cta{display:flex;gap:10px;align-items:center}
/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font:500 .95rem var(--sans);padding:11px 18px;border:1.5px solid var(--carbon);background:var(--paper);color:var(--carbon);text-decoration:none;cursor:pointer;border-radius:var(--r);box-shadow:3px 3px 0 var(--carbon);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--carbon);color:var(--carbon)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--carbon)}
.btn.ink{background:var(--ink);color:var(--chalk)} .btn.ink:hover{color:#fff}
.btn.tomato{background:var(--tomato);color:#fff;border-color:var(--carbon)}
.btn.mustard{background:var(--mustard)}
.btn.ghost{box-shadow:none;background:transparent} .btn.sm{padding:6px 11px;font-size:.84rem;box-shadow:2px 2px 0 var(--carbon)}
.linkarrow{font-weight:500;text-decoration:none;border-bottom:1.5px solid var(--tomato)} .linkarrow::after{content:" →";transition:margin .2s} .linkarrow:hover::after{margin-left:5px}
/* ---------- hand-drawn marks ---------- */
.marked{position:relative;display:inline-block;white-space:nowrap}
.mk-circle{position:absolute;left:-12%;top:-18%;width:124%;height:140%;color:var(--tomato);pointer-events:none}
.mk-circle path,.mk-under path{stroke-dasharray:700;stroke-dashoffset:700;animation:draw 1.3s .35s cubic-bezier(.6,.1,.3,1) forwards}
.mk-under{position:absolute;left:0;bottom:-.14em;width:100%;height:.32em;color:var(--mustard)}
.mk-caret{width:.6em;height:.6em;color:var(--tomato);vertical-align:super}
.mk-tick{width:18px;height:18px;color:var(--ink);flex:none}
@keyframes draw{to{stroke-dashoffset:0}}
.hl{background:linear-gradient(transparent 55%,var(--mustard-soft) 55%,var(--mustard-soft) 92%,transparent 92%);padding:0 .1em}
/* ---------- hero (front page) ---------- */
.front{display:grid;grid-template-columns:7fr 5fr;gap:0;border-bottom:1px solid var(--carbon)}
.front-main{padding:56px 48px 56px 0;border-right:1px solid var(--carbon)}
.front-main .kicker{color:var(--tomato)}
.front-main h1{margin:.25em 0 .35em}
.front-main .dek{font-size:1.25rem;max-width:36em}
.front-side{padding:40px 0 40px 36px;display:flex;flex-direction:column;gap:18px}
.galley{background:var(--paper);border:1px solid var(--carbon);padding:22px 22px 18px 22px;position:relative;box-shadow:8px 8px 0 var(--ink);transform:rotate(-.6deg)}
.galley .gh{display:flex;justify-content:space-between;border-bottom:1px dashed var(--rule);padding-bottom:8px;margin-bottom:12px}
.galley p{font-family:Georgia,serif;font-size:.98rem;line-height:1.7;margin:0}
.g-sim{background:var(--tomato-soft);border-bottom:2px solid var(--tomato)}
.g-ok{border-bottom:2px solid var(--ink)}
.g-note{position:absolute;right:-14px;font:400 .66rem/1.3 var(--mono);text-transform:uppercase;background:var(--carbon);color:var(--chalk);padding:4px 7px;transform:rotate(2deg)}
.g-note.n1{top:58px}.g-note.n2{top:132px;background:var(--ink)}.g-note.n3{bottom:56px;background:var(--mustard);color:var(--carbon)}
.galley .gf{margin-top:14px;display:flex;gap:14px;font:400 .68rem var(--mono);text-transform:uppercase}
.stamp{display:inline-block;border:2px solid var(--tomato);color:var(--tomato);font:400 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;transform:rotate(-4deg);border-radius:2px;transition:transform .2s}
.stamp:hover{transform:rotate(0) scale(1.04)}
/* ---------- table-of-contents pipeline ---------- */
.toc{display:grid;grid-template-columns:3fr 9fr;border-bottom:1px solid var(--carbon)}
.toc-h{padding:36px 28px 36px 0;border-right:1px solid var(--carbon)}
.toc ol{list-style:none;margin:0;padding:22px 0 22px 36px;counter-reset:s}
.toc li{counter-increment:s;display:grid;grid-template-columns:52px 1fr auto;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px dotted var(--rule);transition:background .2s,padding .2s}
.toc li:hover{background:var(--paper);padding-left:10px}
.toc li::before{content:counter(s,decimal-leading-zero);font:400 .8rem var(--mono);color:var(--tomato)}
.toc li b{font-family:var(--serif);font-weight:400;font-size:1.55rem;color:var(--ink-deep)}
.toc li span{color:var(--muted)}
.toc li em{font:normal .7rem var(--mono);text-transform:uppercase;letter-spacing:.06em}
/* ---------- editorial sections ---------- */
.sec{padding:64px 0;border-bottom:1px solid var(--carbon)}
.grid-a{display:grid;grid-template-columns:4fr 8fr;gap:48px}
.grid-b{display:grid;grid-template-columns:8fr 4fr;gap:48px}
.cols3{columns:3 260px;column-gap:36px;column-rule:1px solid var(--rule)}
.cols3>*{break-inside:avoid}
.dropcap::first-letter{font-family:var(--serif);float:left;font-size:4.6rem;line-height:.82;padding:6px 10px 0 0;color:var(--tomato)}
.levels{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));border-top:1px solid var(--carbon);border-left:1px solid var(--carbon)}
.levels a{display:block;padding:18px 18px 22px;border-right:1px solid var(--carbon);border-bottom:1px solid var(--carbon);text-decoration:none;color:inherit;position:relative;transition:background .2s}
.levels a:hover{background:var(--ink);color:var(--chalk)} .levels a:hover h3{color:var(--mustard)}
.levels .no{font:400 .7rem var(--mono);color:var(--tomato)}
.levels h3{font-size:1.35rem;margin:.3em 0}
.quote{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2;color:var(--ink-deep);border-left:6px solid var(--tomato);padding-left:24px;margin:0}
.ticker{overflow:hidden;background:var(--ink);color:var(--chalk);border-bottom:1px solid var(--carbon);white-space:nowrap}
.ticker div{display:inline-block;padding:10px 0;animation:tick 40s linear infinite;font:400 .74rem var(--mono);letter-spacing:.08em;text-transform:uppercase}
.ticker span{margin:0 26px}.ticker span::before{content:"✳ ";color:var(--mustard)}
@keyframes tick{to{transform:translateX(-50%)}}
.boundary{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--carbon)}
.boundary>div{padding:26px}.boundary>div+div{border-left:1px solid var(--carbon);background:repeating-linear-gradient(-45deg,transparent 0 9px,rgba(229,70,46,.06) 9px 10px)}
.boundary li{margin:.35em 0}
/* ---------- pricing ---------- */
.price-tbl{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--carbon)}
.price-tbl th,.price-tbl td{padding:14px 16px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.price-tbl th{font:400 .7rem var(--mono);text-transform:uppercase;letter-spacing:.07em;background:var(--chalk);border-bottom:1px solid var(--carbon)}
.price-tbl td.n{font-family:var(--mono);font-size:.95rem;white-space:nowrap}
.price-tbl tr:hover td{background:#fff}
.price-tbl td b{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--ink-deep)}
.price-tbl tr.feat td{background:var(--mustard-soft)}
.toggle{display:inline-flex;border:1.5px solid var(--carbon);border-radius:999px;overflow:hidden}
.toggle button{font:500 .85rem var(--sans);border:0;background:transparent;padding:7px 16px;cursor:pointer}
.toggle button.on{background:var(--carbon);color:var(--chalk)}
/* ---------- forms ---------- */
label{display:block;font-weight:500;font-size:.9rem;margin:0 0 4px}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=url],select,textarea{width:100%;font:inherit;padding:10px 12px;border:1.5px solid var(--carbon);background:var(--paper);border-radius:var(--r);color:var(--carbon)}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--mustard-soft)}
.field{margin-bottom:14px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.check input{margin-top:5px}
.wizard{display:grid;grid-template-columns:240px 1fr;border:1px solid var(--carbon);background:var(--paper)}
.wizard aside{border-right:1px solid var(--carbon);padding:22px;background:var(--chalk)}
.wizard aside ol{padding-left:18px;margin:0}.wizard aside li{margin:10px 0;color:var(--muted)}.wizard aside li.on{color:var(--carbon);font-weight:700}
.wizard .step{display:none;padding:28px}.wizard .step.on{display:block;animation:rise .3s ease}
@keyframes rise{from{opacity:0;transform:translateY(6px)}}
.choice{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.choice label{border:1.5px solid var(--carbon);padding:12px;border-radius:var(--r);cursor:pointer;background:#fff;font-weight:400;transition:background .15s}
.choice input{position:absolute;opacity:0}.choice label:has(input:checked){background:var(--ink);color:var(--chalk)}
/* ---------- footer ---------- */
.foot{background:var(--ink-deep);color:#CFD9D4;padding:48px 0 28px;margin-top:0}
.foot a{color:#fff}.foot h4{font:400 .72rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mustard);margin:0 0 10px}
.foot-grid{display:grid;grid-template-columns:5fr 2fr 2fr 3fr;gap:32px}
.foot ul{list-style:none;padding:0;margin:0}.foot li{margin:5px 0}
.foot .logo{color:#fff}.foot .logo-mark{color:var(--mustard)}
.flash{background:var(--mustard);border-bottom:1px solid var(--carbon);padding:10px 0;font-weight:500}
/* ---------- tool pages ---------- */
.tool{display:grid;grid-template-columns:5fr 7fr;gap:0;border:1px solid var(--carbon);background:var(--paper)}
.tool>div{padding:26px}.tool>div+div{border-left:1px solid var(--carbon)}
.result-big{font-family:var(--serif);font-size:4.2rem;line-height:1;color:var(--ink-deep)}
.match{border-left:4px solid var(--tomato);padding:6px 12px;margin:10px 0;background:#fff}
.ref-row{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px 0;border-bottom:1px dotted var(--rule)}
/* ---------- mentor cards (anonymous) ---------- */
.mcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px}
.mcard{background:var(--paper);border:1px solid var(--carbon);padding:0;position:relative;transition:transform .2s,box-shadow .2s}
.mcard:hover{transform:translateY(-3px) rotate(-.4deg);box-shadow:6px 6px 0 var(--ink)}
.mcard .mc-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--carbon);background:var(--chalk)}
.mcard .mc-code{font:400 .8rem var(--mono)}
.mcard .mc-body{padding:16px}
.mcard .mc-sig{width:48px;height:48px}
.mcard h3{font-size:1.25rem;margin:.1em 0 .4em}
.mcard dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:12px 0 0;font-size:.86rem}
.mcard dt{font:400 .64rem var(--mono);text-transform:uppercase;color:var(--muted);padding-top:3px}
.mcard dd{margin:0}
.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{font-size:.78rem;border:1px solid var(--rule);padding:2px 8px;border-radius:999px;background:#fff}
/* ---------- pills / tables / meters ---------- */
.pill{display:inline-block;font:400 .62rem var(--mono);text-transform:uppercase;letter-spacing:.05em;padding:3px 7px;border:1px solid currentColor;border-radius:2px;white-space:nowrap}
.p-pending_owner_approval,.p-retrying,.p-check,.p-moderate,.p-mid,.p-work,.p-probable{color:#8a6300;background:var(--mustard-soft)}
.p-approved,.p-approved_sent,.p-done,.p-verified,.p-low,.p-idle,.p-active,.p-sent,.p-ready,.p-paid_test,.p-clean,.p-test_doi_minted,.p-approved_queued,.p-approved_for_transfer{color:var(--ink);background:#DCE9E4}
.p-rejected,.p-dead,.p-error,.p-blocked,.p-high,.p-elevated,.p-mismatch,.p-flags,.p-unresolved{color:#9b2511;background:var(--tomato-soft)}
.p-working,.p-running,.p-queued{color:#fff;background:var(--ink);border-color:var(--ink)}
.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--paper)}
.tbl th{font:400 .64rem var(--mono);text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:9px 10px;border-bottom:1.5px solid var(--carbon);background:var(--chalk);position:sticky;top:0}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--rule);vertical-align:top}.tbl tr:hover td{background:#fff}
.meter{height:8px;background:var(--rule);border-radius:9px;overflow:hidden}.meter span{display:block;height:100%;background:var(--ink);transition:width .8s ease}
/* charts */
.chart{width:100%;height:auto;display:block}.chart .bar rect{fill:var(--ink);transition:fill .15s}.chart .bar:hover rect{fill:var(--tomato)}
.chart text{font:400 9px var(--mono);fill:var(--muted)}
.chart.line .ln{fill:none;stroke:var(--tomato);stroke-width:2.5;stroke-linejoin:round}.chart.line .area{fill:rgba(15,61,62,.09)}
.donut{display:flex;gap:18px;align-items:center}.donut svg{width:130px;flex:none}.donut ul{list-style:none;padding:0;margin:0;font-size:.86rem}.donut li{margin:4px 0}.donut i{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px}
/* =================== PANEL SHELL =================== */
.panel{display:grid;grid-template-columns:248px 1fr;min-height:100vh;background:var(--chalk)}
.rail{background:var(--ink-deep);color:#C9D6D1;padding:20px 0;position:sticky;top:0;height:100vh;overflow:auto}
.rail .logo{color:#fff;font-size:1.4rem;padding:0 20px 14px}.rail .logo-mark{color:var(--mustard);width:28px;height:28px}
.rail .who{margin:0 20px 16px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);font-size:.84rem}
.rail .who b{display:block;color:#fff}.rail .who .label{color:var(--mustard)}
.rail h5{font:400 .62rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#7FA39C;margin:18px 20px 6px}
.rail a{display:flex;justify-content:space-between;color:#E3ECE8;text-decoration:none;padding:7px 20px;font-size:.92rem;border-left:3px solid transparent}
.rail a:hover{background:rgba(255,255,255,.06);color:#fff}.rail a.on{border-left-color:var(--tomato);background:rgba(255,255,255,.08);color:#fff}
.rail a .n{font:400 .66rem var(--mono);background:var(--tomato);color:#fff;padding:1px 6px;border-radius:9px}
.pmain{padding:26px 34px 60px;min-width:0}
.phead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;border-bottom:3px double var(--carbon);padding-bottom:14px;margin-bottom:22px}
.phead h1{font-size:clamp(2rem,3.4vw,3rem);margin:0}.phead .label{color:var(--tomato)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));border:1px solid var(--carbon);background:var(--paper);margin-bottom:24px}
.stat{padding:14px 16px;border-right:1px solid var(--rule)}.stat:last-child{border-right:0}
.stat-l{font:400 .62rem var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.stat-v{font:400 1.75rem/1.2 var(--serif);color:var(--ink-deep);margin-top:4px}.stat-n{font-size:.78rem;color:var(--muted)}
.stat.warn .stat-v{color:var(--tomato)}.stat.good .stat-v{color:var(--teal-2)}
.box{background:var(--paper);border:1px solid var(--carbon);padding:18px 20px;margin-bottom:22px}
.box>h3:first-child,.box>h2:first-child{margin-top:0}
.box-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--rule);padding-bottom:8px;margin-bottom:12px}
.box-h h3{margin:0;font-size:1.3rem}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.g21{display:grid;grid-template-columns:2fr 1fr;gap:22px}.g12{display:grid;grid-template-columns:1fr 2fr;gap:22px}
/* writing workspace */
.ws{display:grid;grid-template-columns:230px 1fr 340px;gap:0;border:1px solid var(--carbon);background:var(--paper);min-height:72vh}
.ws-outline{border-right:1px solid var(--carbon);padding:14px;background:var(--chalk)}
.ws-outline a{display:block;padding:8px 8px;text-decoration:none;border-bottom:1px dotted var(--rule);font-size:.9rem}
.ws-outline a.on{background:var(--ink);color:var(--chalk)}.ws-outline a small{display:block;font:400 .6rem var(--mono);opacity:.75;text-transform:uppercase}
.ws-editor{padding:22px 28px;min-width:0}
.ws-editor textarea{min-height:420px;font:17px/1.85 Georgia,"Times New Roman",serif;background:#fff;background-image:linear-gradient(transparent 30px,rgba(15,61,62,.07) 31px);background-size:100% 31.45px;border-color:var(--rule)}
.ws-checks{border-left:1px solid var(--carbon);padding:14px;background:var(--chalk);overflow:auto}
.chk{border:1px solid var(--carbon);background:#fff;padding:10px 12px;margin-bottom:10px}
.chk .label{display:flex;justify-content:space-between}
.chk .v{font:400 1.6rem var(--serif);color:var(--ink-deep)}
.coach{border:1.5px dashed var(--ink);background:#fff;padding:12px;margin-top:12px;white-space:pre-wrap;font-size:.9rem}
.coach .label{color:var(--tomato)}
/* virtual office */
.office{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.room{background:var(--paper);border:1px solid var(--carbon);position:relative}
.room-h{display:flex;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--carbon);background:var(--ink);color:var(--chalk)}
.room-h b{font-family:var(--serif);font-weight:400;font-size:1.1rem}.room-h .mono{color:var(--mustard)}
.desks{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:12px;background-image:radial-gradient(var(--rule) 1px,transparent 1px);background-size:12px 12px}
.desk{aspect-ratio:1;border:1.5px solid var(--carbon);background:#fff;position:relative;display:flex;align-items:center;justify-content:center;font:400 .56rem var(--mono);cursor:pointer;text-decoration:none;color:var(--carbon);transition:transform .15s}
.desk:hover{transform:scale(1.12);z-index:2}
.desk::after{content:"";position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--teal-2)}
.desk.working{background:var(--mustard-soft)}.desk.working::after{background:var(--mustard);animation:pulse 1.1s infinite}
.desk.error{background:var(--tomato-soft)}.desk.error::after{background:var(--tomato);animation:pulse .6s infinite}
.desk.retrying::after{background:#c88a00}.desk.stale{opacity:.55}
@keyframes pulse{50%{transform:scale(1.7);opacity:.4}}
.legend{display:flex;gap:16px;font-size:.8rem;align-items:center}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}
/* approvals */
.appr{display:grid;grid-template-columns:1fr auto;gap:16px;border:1px solid var(--carbon);background:var(--paper);padding:14px 16px;margin-bottom:12px}
.appr pre{white-space:pre-wrap;font:13px/1.5 var(--sans);background:#fff;border:1px dashed var(--rule);padding:10px;max-height:160px;overflow:auto;margin:8px 0 0}
.appr .acts{display:flex;flex-direction:column;gap:8px}
.tree{list-style:none;padding-left:0}.tree ul{list-style:none;padding-left:26px;border-left:1.5px dashed var(--rule);margin-left:8px}
.tree li{padding:6px 0}.tree .node{display:inline-flex;gap:10px;align-items:center;border:1px solid var(--carbon);background:#fff;padding:6px 10px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:.92rem}.kv dt{font:400 .66rem var(--mono);text-transform:uppercase;color:var(--muted);padding-top:3px}.kv dd{margin:0}
.passport{border:2px solid var(--ink);background:var(--paper);padding:22px;position:relative;background-image:repeating-linear-gradient(90deg,transparent 0 22px,rgba(15,61,62,.04) 22px 23px)}
.passport .code{font:400 1rem var(--mono);color:var(--tomato)}
.split{display:flex;height:22px;border:1px solid var(--carbon);margin:10px 0}.split span{display:block}
.err-page{padding:90px 0;text-align:left}
/* RTL */
[dir=rtl] .front-main{padding:56px 0 56px 48px;border-right:0;border-left:1px solid var(--carbon)}
[dir=rtl] .front-side{padding:40px 36px 40px 0}
[dir=rtl] .quote{border-left:0;border-right:6px solid var(--tomato);padding:0 24px 0 0}
[dir=rtl] .rail a{border-left:0;border-right:3px solid transparent}
/* responsive */
@media(max-width:980px){
 .front,.toc,.grid-a,.grid-b,.tool,.boundary,.g2,.g3,.g21,.g12,.foot-grid,.wizard,.ws{grid-template-columns:1fr}
 .front-main{padding:36px 0;border-right:0;border-bottom:1px solid var(--carbon)}.front-side{padding:28px 0}.toc-h{border-right:0}.toc ol{padding-left:0}
 .mast{grid-template-columns:1fr auto}.nav{grid-column:1/-1;justify-content:flex-start;order:3}
 .panel{grid-template-columns:1fr}.rail{position:static;height:auto}.pmain{padding:20px}
 .ws-outline,.ws-checks{border:0}.tool>div+div,.boundary>div+div{border-left:0;border-top:1px solid var(--carbon)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.mk-circle path,.mk-under path{stroke-dashoffset:0}}

/* ---- chat widget: a paper note pinned to the corner ---- */
.chatw{position:fixed;inset-inline-end:22px;bottom:22px;z-index:60;font-family:var(--sans)}
.chat-fab{display:flex;align-items:center;gap:8px;background:var(--ink);color:var(--chalk);border:2px solid var(--carbon);padding:10px 16px 10px 12px;border-radius:999px 999px 999px 6px;box-shadow:4px 4px 0 var(--tomato);cursor:pointer;font:600 .95rem var(--sans);transition:transform .15s,box-shadow .15s}
.chat-fab:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--tomato)}
.chat-panel{position:absolute;inset-inline-end:0;bottom:62px;width:min(360px,92vw);background:var(--paper);border:2px solid var(--carbon);box-shadow:6px 6px 0 var(--ink);display:flex;flex-direction:column;max-height:70vh;transform-origin:bottom right;animation:chatin .18s ease-out}
@keyframes chatin{from{opacity:0;transform:scale(.94) rotate(-1deg)}}
.chat-panel header{display:flex;gap:8px;align-items:baseline;padding:10px 12px;border-bottom:1px dashed var(--rule);background:var(--mustard-soft)}
.chat-panel header b{font-family:var(--serif);font-weight:400;font-size:1.2rem}
.chat-x{margin-inline-start:auto;background:none;border:0;font-size:1.4rem;cursor:pointer;color:var(--carbon)}
.chat-log{padding:12px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:8px;min-height:180px}
.msg{max-width:85%;padding:8px 11px;line-height:1.4;font-size:.93rem;white-space:pre-wrap}
.msg.bot{background:var(--chalk);border-inline-start:3px solid var(--teal-2)}
.msg.me{align-self:flex-end;background:var(--ink);color:var(--chalk)}
.msg.typing{opacity:.6;font-family:var(--mono)}
.chat-in{display:flex;gap:6px;padding:10px;border-top:1px solid var(--rule)}
.chat-in input,.chat-lead input{flex:1;padding:8px 10px;border:1.5px solid var(--carbon);background:#fff;font:inherit;width:100%}
.chat-lead{display:grid;gap:6px;padding:10px;border-top:1px dashed var(--rule);background:var(--chalk)}
.chat-panel footer{padding:6px 12px 10px;color:var(--muted)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;margin:8px 0;line-height:1.4}
.consent input{margin-top:3px}
.stars{display:inline-flex;flex-direction:row-reverse;gap:2px}
.stars input{position:absolute;opacity:0}
.stars label{font-size:2rem;color:var(--rule);cursor:pointer;transition:color .1s,transform .1s}
.stars label:hover,.stars label:hover~label,.stars input:checked~label{color:var(--mustard)}
.stars label:hover{transform:rotate(-8deg) scale(1.1)}
.nps{display:flex;flex-wrap:wrap;gap:4px}
.nps label{position:relative}
.nps input{position:absolute;opacity:0}
.nps span{display:inline-block;width:2.3em;text-align:center;padding:6px 0;border:1.5px solid var(--carbon);font-family:var(--mono);cursor:pointer;background:#fff}
.nps input:checked+span{background:var(--ink);color:var(--chalk);box-shadow:2px 2px 0 var(--tomato)}
.nps input:focus-visible+span,.stars input:focus-visible+label{outline:2px solid var(--tomato)}
.drop input[type=file]{border:2px dashed var(--teal-2);padding:18px;width:100%;background:var(--chalk)}
@media (max-width:600px){.chat-fab span{display:none}}
/* ---- DOI ---- */
.doi-strip{display:grid;grid-template-columns:2fr 1fr;gap:0;border:2px solid var(--carbon);margin:8px 0 28px;background:var(--paper)}
.doi-strip>div{padding:22px 26px}
.doi-strip h2{margin:.2em 0}
.doi-addon{background:var(--mustard-soft);border-inline-start:2px dashed var(--carbon)}
.doi-badge{display:inline-flex;font-family:var(--mono);font-size:.82rem;text-decoration:none;border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--tomato)}
.doi-badge span{background:var(--ink);color:var(--chalk);padding:3px 8px}
.doi-badge b{padding:3px 8px;font-weight:400;color:var(--ink);background:#fff}
pre.cite{white-space:pre-wrap;font-family:var(--mono);font-size:.78rem;background:var(--chalk);padding:10px;border-inline-start:3px solid var(--mustard);margin:6px 0}
.doi-note{font-size:.95rem;margin-top:10px;margin-bottom:10px}
.doi-step{border-top:4px solid var(--teal-2)}
@media (max-width:760px){.doi-strip{grid-template-columns:1fr}.doi-addon{border-inline-start:0;border-top:2px dashed var(--carbon)}}
/* ---- HQ extras ---- */
.bulk{position:sticky;top:0;background:var(--paper);padding:8px 0;z-index:2;border-bottom:1px solid var(--rule);margin-bottom:12px}
.appr{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}
.dl{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;margin:0}.dl dt{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;color:var(--muted)}.dl dd{margin:0}
form.inline{display:inline-flex;gap:6px;align-items:center}
.chatlog .cm{padding:8px 12px;border-inline-start:3px solid var(--rule);margin:6px 0;background:#fff}
.chatlog .cm.bot{border-color:var(--teal-2)}.chatlog .cm.user{border-color:var(--tomato);background:var(--chalk)}
.chatlog .label{display:block}
ul.tree{list-style:none;padding:0}ul.tree li{padding:6px 0;border-bottom:1px dotted var(--rule)}
.chat-panel[hidden],.chatw [hidden]{display:none!important}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] p,[dir=rtl] li{unicode-bidi:plaintext}
.room>h3{padding:10px 14px 0;margin:0 0 6px}

/* ---------- floating chat buttons (AI chat + WhatsApp) ---------- */
.chatw{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.wa-fab{display:flex;align-items:center;gap:8px;background:#1FA855;color:#fff!important;text-decoration:none!important;border:2px solid var(--carbon);padding:10px 16px 10px 12px;border-radius:999px 999px 6px 999px;box-shadow:4px 4px 0 var(--carbon);font:600 .95rem var(--sans);transition:transform .15s,box-shadow .15s}
.wa-fab:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--carbon)}
.chat-panel{bottom:116px}
@media (max-width:600px){.wa-fab span{display:none}.chat-panel{bottom:110px}}
/* ---------- footer: services hub ---------- */
.foot{padding:56px 0 110px;background:linear-gradient(180deg,#0B3032 0,var(--ink-deep) 100%)}
.foot a{text-decoration:none}
.foot-cta{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding:30px 34px;background:var(--tomato);color:#fff;border:2px solid #fff2;border-radius:14px;box-shadow:6px 6px 0 var(--mustard)}
.foot-cta .label{color:#FFE3A0}.foot-cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.15;margin:6px 0 0;max-width:22em;color:#fff}
.foot-cta-btns{display:flex;gap:10px;flex-wrap:wrap}
.fbtn{display:inline-flex;align-items:center;gap:8px;font:600 .95rem var(--sans);padding:12px 20px;border-radius:999px;border:2px solid #fff;color:#fff!important;background:transparent;transition:transform .15s,background .15s,color .15s;text-decoration:none!important}
.fbtn:hover{transform:translateY(-2px)}
.fbtn.coral{background:#fff;color:var(--tomato)!important;border-color:#fff}
.fbtn.wa{background:#1FA855;border-color:#1FA855;color:#fff!important}
.fbtn.ghost:hover{background:#fff;color:var(--ink-deep)!important}
.fbtn.sm{padding:8px 14px;font-size:.86rem;font-weight:500}
.fbtn.static{border-color:#ffffff40;color:#CFD9D4!important;cursor:default}
.foot-badges{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 8px}
.foot-badges span{font:400 .72rem var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:7px 12px;border:1px dashed #ffffff55;border-radius:999px;color:#F6D58A}
.foot-main{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 40px;margin-top:34px}
.foot-brand{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:start;padding-bottom:26px;border-bottom:1px solid #ffffff22}
.foot-brand p{max-width:34em;margin:12px 0 0}
.foot-contact{display:flex;flex-wrap:wrap;gap:10px;align-self:center}
.foot-col h4{margin-bottom:14px}
.fchips{display:flex;flex-wrap:wrap;gap:8px}
.fchips a{display:inline-block;padding:8px 14px;border:1.5px solid #ffffff3d;border-radius:999px;color:#fff;background:#ffffff0d;font-size:.9rem;transition:background .15s,color .15s,border-color .15s,transform .15s}
.fchips a:hover{background:var(--mustard);border-color:var(--mustard);color:var(--ink-deep);transform:translateY(-2px)}
.foot-bar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:34px;padding-top:16px;border-top:1px solid #ffffff22;color:#9FB3AD}
@media(max-width:900px){.foot-main{grid-template-columns:1fr 1fr}.foot-brand{grid-template-columns:1fr}.foot-cta{padding:24px}}
@media(max-width:600px){.foot-main{grid-template-columns:1fr}}
.foot-brand>.logo{grid-column:1}.foot-brand>p{grid-column:1;margin-top:0}.foot-contact{grid-column:2;grid-row:1/span 3}
@media(max-width:900px){.foot-contact{grid-column:1;grid-row:auto}}
/* ---------- join hub ---------- */
.join-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.join-card{display:block;padding:24px;border:1.5px solid var(--carbon);background:var(--paper);border-radius:12px;box-shadow:5px 5px 0 var(--carbon);text-decoration:none;color:var(--carbon);transition:transform .15s,box-shadow .15s}
.join-card:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--tomato)}
.join-card .no{font:400 .75rem var(--mono);color:var(--tomato)}.join-card h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;margin:8px 0}
.join-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:22px 0 0}
.join-tabs a{padding:8px 16px;border:1.5px solid var(--carbon);border-radius:999px;text-decoration:none;color:var(--carbon);font-weight:500;background:var(--paper)}
.join-tabs a.on,.join-tabs a:hover{background:var(--ink);color:#fff}
.ticks{padding-left:18px}.ticks li{margin:6px 0}
/* top strip: single line */
.mast-top{align-items:center;flex-wrap:nowrap;white-space:nowrap}
.mast-top form{margin:0;display:flex;align-items:center}
.mast-top label{margin:0!important;display:flex!important;align-items:center}
.mast-top select{padding:0 2px;max-width:140px}
@media(max-width:700px){.mast-top .hide-sm{display:none}}

/* Google Website Translator: hide its own toolbar, keep our header sticky */
body{top:0!important;position:static!important}
.skiptranslate iframe,.goog-te-banner-frame,#goog-gt-tt,.goog-te-balloon-frame{display:none!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
font{background:transparent!important}
.lang-wrap select{font:inherit;background:transparent;border:0;color:inherit;cursor:pointer}
/* Journal finder: index badges + filters */
.jb{display:inline-block;font:400 .6rem var(--mono);letter-spacing:.03em;padding:2px 6px;margin:0 4px 4px 0;border:1px solid var(--ink);color:var(--ink);background:var(--paper);border-radius:2px;white-space:nowrap}
.jb-scopus,.jb-wos_scie,.jb-wos_ssci,.jb-wos_ahci,.jb-wos_esci{background:var(--ink);color:var(--chalk)}
.jb-abdc,.jb-naas{background:var(--mustard-soft);border-color:#9a7618;color:var(--carbon)}
.jb-doaj,.jb-erih{border-color:var(--teal-2);color:var(--teal-2)}
.jb-none{border-style:dashed;border-color:var(--muted);color:var(--muted)}
.jf{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:22px}
.jf-top{display:grid;grid-template-columns:4fr auto;gap:12px;align-items:end}
.jf-filters{border:1px solid var(--rule);background:var(--paper);padding:14px 16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px 18px}
.jf-filters fieldset{border:0;margin:0;padding:0;grid-column:1/-1}
.jf-filters legend{font:400 .64rem var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.jf-chk{display:inline-flex;align-items:center;gap:5px;margin:0 14px 6px 0;font-size:.85rem;white-space:nowrap}
.jf-chk input{width:auto;margin:0}
.jf-chk.off{color:var(--muted)}
.jf-browse{columns:3 220px;column-gap:28px;font-size:.9rem}
.jf-browse a{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid var(--rule);break-inside:avoid;text-decoration:none}
.jf-browse a span{font:400 .7rem var(--mono);color:var(--muted)}
@media (max-width:700px){.jf-top{grid-template-columns:1fr}}

.write-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:22px}
.fchips.light span{display:inline-block;padding:7px 13px;border:1.5px solid var(--carbon);border-radius:999px;background:var(--chalk);font-size:.9rem}
.foot-wide{grid-column:1/-1}

/* ---------- footer: teal colour ---------- */
.foot{background:#008F7E;color:#fff}
.foot h4{color:#FFF3C4}
.foot-badges span{color:#FFF3C4;border-color:#ffffff88}
.foot-brand,.foot-bar{border-color:#ffffff44}
.foot-bar,.fbtn.static{color:#E6FFFB!important}
.foot-bar{color:#E6FFFB}
.fchips a{background:#ffffff1f;border-color:#ffffff66}
.foot .logo-mark{color:#FFF3C4}
.foot-cta{background:var(--ink-deep);border-color:#ffffff33;box-shadow:6px 6px 0 var(--mustard)}
.fbtn.coral{color:var(--ink-deep)!important}
.fbtn.ghost:hover{color:#008F7E!important}
.foot,.foot p,.foot span,.foot small,.foot li,.foot h2,.foot .logo,.foot .logo *,.foot-bar,.foot-bar *,.foot-brand *,.foot a,.foot .fchips a,.foot .fbtn.static{color:#fff!important}
.foot h4,.foot-badges span{color:#FFF3C4!important}
.foot .fbtn.coral{color:#0F3D3E!important}
.foot .fchips a:hover{color:#0F3D3E!important}
.foot .fbtn.ghost:hover{color:#008F7E!important}
.foot .foot-cta{background:#00574D!important;border-color:#ffffff44}
.foot *{color:#fff}
.foot h4,.foot-badges span,.foot-cta .label{color:#FFF3C4!important}
.foot .fbtn.coral,.foot .fchips a:hover{color:#00574D!important}
.foot .fbtn.wa{color:#fff!important}
.chat-fab{background:#00574D!important;color:#fff!important;border-color:#fff!important}
.wa-fab{border-color:#fff!important}
.foot .foot-cta,.foot .foot-cta *{color:#fff!important}
.foot .foot-cta{background:#00574D!important}
.foot .foot-cta .fbtn.coral{color:#00574D!important;background:#fff!important}
