/* Same house palette. Tool UX only; the homepage hero is unchanged. */
.suite-nav{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0 22px;border-top:1px solid var(--line);margin-top:6px}.suite-nav a{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-size:14px;background:var(--card)}.suite-nav a[aria-current]{background:var(--ink);color:var(--bg)}
.app-head{margin:14px 0 28px}.app-head h1{line-height:1.3}.eyebrow{font:700 12px Plex;letter-spacing:.13em;color:var(--accent-ink);margin-bottom:12px}.app-head .lead{font-size:17px;line-height:1.9;max-width:64ch}.banner,.hint,.foot{font-size:14px}.banner{line-height:1.9}.app input:not([type=checkbox]):not([type=radio]):not([type=file]),.app select,.app textarea{font-size:16px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);line-height:1.7}.app textarea{min-height:190px}.app textarea[dir=auto]{font-family:Readex,sans-serif}.app-head+.banner{margin-bottom:24px}.btn{white-space:normal;text-align:center;line-height:1.6;padding:10px 18px;user-select:none;-webkit-user-select:none}.btn.primary{background:#b23a12;box-shadow:none}.btn.small{min-height:44px;font-size:14px}.btn:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}.app button:not(:disabled):active{transform:scale(.98)}
.workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:20px;align-items:start}.workspace>*{min-width:0}.stack{display:grid;gap:18px}.section-label{display:flex;gap:12px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;margin:28px 0 14px}.section-label h2{font-size:22px}.mini{font:700 12px Plex;color:var(--muted)}.results{margin-top:24px;display:grid;gap:16px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.stat b{display:block;font:700 30px Plex;line-height:1.3;color:var(--accent-ink)}.stat span{font-size:14px;color:var(--muted)}.result-card{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--card);display:grid;gap:12px;min-width:0}.result-card h3{font-size:18px;overflow-wrap:anywhere}.result-card p{font-size:14px;line-height:1.9}.result-card code,.hash,.break{overflow-wrap:anywhere;word-break:break-word;min-width:0}.hash{font:400 15px/1.8 Plex,monospace;display:block;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;direction:ltr;text-align:left;user-select:all}.file-pick{display:grid;gap:12px;border:1px dashed var(--line-2);border-radius:12px;padding:18px;background:rgba(255,255,255,.4);font-size:14px;line-height:1.8}.file-pick input[type=file]{max-width:100%;font-size:14px}.file-pick.over{border-color:var(--accent2);background:var(--info-bg)}.list{display:grid;gap:8px}.list li{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow-wrap:anywhere}.filters{display:flex;flex-wrap:wrap;gap:12px}.filters>*{flex:1;min-width:120px}.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.8}.check input{width:20px;height:20px;flex:none;margin-top:3px;accent-color:var(--accent2)}.error,.clean,.note,.empty{line-height:1.9;overflow-wrap:anywhere}.status{line-height:1.9}.seg{display:flex}.seg label{white-space:normal;min-height:44px;font-size:14px}.seg label:has(input:focus-visible){outline:2px solid var(--accent2);outline-offset:2px}.modes{border:0;padding:0;margin:0}.modes legend{font-size:14px;font-weight:600;margin-bottom:10px}.preview dl{display:grid;gap:10px}.preview dt{font-size:13px;color:var(--muted)}.preview dd{margin:0;white-space:pre-wrap;font-size:15px;line-height:1.9;overflow-wrap:anywhere}.preview dl>div{padding-bottom:12px;border-bottom:1px solid var(--line)}.preview h2{font-size:23px}.preview .stamp{font:700 11px Plex;color:var(--accent-ink);letter-spacing:.12em}.method{font-size:14px;line-height:1.9;color:var(--muted)}.bracket{display:grid;gap:20px}.round{display:grid;gap:10px}.match{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;background:var(--surface)}.match .btn{justify-content:space-between;overflow-wrap:anywhere;word-break:break-word;text-align:start}.match .winner{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.step-no{color:var(--accent-ink);font:700 12px Plex}.muted{color:var(--muted)}.file-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;font-size:14px}.f-head{gap:10px}.f-loc{font-size:14px;overflow-wrap:anywhere;flex:auto}.f-title{font-size:16px}.chip,.badge{font-size:13px}.h-captcha{min-height:144px}.offline{padding:12px;border:1px solid var(--warn-border);border-radius:10px;background:var(--warn-bg);font-size:14px}.skip{position:absolute;top:-100px;right:16px;z-index:100;padding:12px;background:var(--ink);color:var(--bg)}.skip:focus{top:12px}.toast{border-radius:12px;max-width:calc(100vw - 32px);overflow-wrap:anywhere}.honeypot{position:absolute;left:-9999px;opacity:0;width:1px;height:1px}.success-icon{font:700 44px Plex;color:var(--ok)}
@media(hover:hover) and (pointer:fine){.suite-nav a:hover{border-color:var(--accent2)}.btn.primary:hover{background:#94300f;box-shadow:none}}
@media(max-width:760px){.workspace{grid-template-columns:1fr}.app-head .lead{font-size:16px}.preview{order:2}.stats .stat{padding:12px}.stats .stat b{font-size:26px}.stats .stat span{font-size:13px}.app-top .kicker{font-size:10px}}
@media(prefers-reduced-motion:reduce){.app *{animation:none!important;scroll-behavior:auto!important;transition-duration:0ms!important}.app button:active,.app .btn:active{transform:none!important}}
@media print{.app-top,.suite-nav,.app-head,.banner,form,.actions,.foot,.filters,.btn,.file-pick{display:none!important}body{background:white}.app{max-width:none;padding:0}.result-card,.match{break-inside:avoid}.results{margin:0}}
/* Intrinsic file-picker width must not set the grid track width at 320px. */
.app .panel{grid-template-columns:minmax(0,1fr)}
.app .panel>*{min-width:0}
.app .file-pick{min-width:0;max-width:100%}
.app .file-pick input[type=file]{width:100%;min-width:0}
/* Off-canvas negative offsets create huge RTL overflow; clip the bot field in place. */
.app .honeypot{position:fixed;inset:0 auto auto 0;width:1px!important;height:1px;padding:0!important;opacity:0;pointer-events:none;clip-path:inset(50%)}
/* Keep the native accessible file control, give its visible label a clear Arabic action. */
.file-pick{position:relative;cursor:pointer}
.app .file-pick input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.file-pick:focus-within{outline:2px solid var(--accent2);outline-offset:3px}
.file-pick-action{display:inline-flex;align-items:center;min-height:44px;width:fit-content;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:600;color:var(--accent-ink)}
summary{cursor:pointer;min-height:44px;padding:10px 0;line-height:1.8;font-size:14px}
.captcha-slot{position:relative;min-height:144px}
.captcha-placeholder{position:absolute;inset:0;display:grid;place-items:center;border:1px dashed var(--line-2);border-radius:12px;background:rgba(255,255,255,.35);padding:16px;font-size:14px;color:var(--muted);pointer-events:none;text-align:center}
.captcha-slot:has(iframe) .captcha-placeholder{display:none}


/* v4.2 mobile suite-nav */
@view-transition { navigation: auto; }
html, body { overflow-x: clip; }
@media (max-width: 480px) {
  .suite-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .suite-nav a { justify-content: center; text-align: center; padding: 8px 10px; font-size: 13px; }
}
