/* ════════════════════════════════════════════════════════════════════
   weightconverter.org · COMIC THEME
   Hard edges, flat fills, black keylines, offset shadows, no radius.
   Both themes are token-driven; nothing is coloured inside a media
   query except the tokens themselves.
   ════════════════════════════════════════════════════════════════════ */
:root{
  --paper:#FFF6EA; --paper-2:#FFEAD4; --panel:#FFFFFF; --panel-2:#FDF0FF;
  --ink:#14101F; --ink-2:#4A4159; --ink-3:#6E6280; --line:#14101F; --shadow:#14101F;
  --hot:#E5005A; --volt:#00707F; --volt-hi:#00D9F5; --cel:#FFD166; --ok:#12735C; --warn:#A34700;
  --slab:#14101F; --slab-fg:#FFF6EA; --on-hot:#FFF6EA;
  --f-disp:Anton,Impact,"Haettenschweiler",sans-serif;
  --f-ui:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --f-jp:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --wrap:1160px; --pad:clamp(16px,4vw,44px);
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#0B0A16; --paper-2:#141026; --panel:#1B1533; --panel-2:#241A44;
  --ink:#F6EFE3; --ink-2:#B6A9CC; --ink-3:#9A8CBC; --line:#F6EFE3; --shadow:#000000;
  --hot:#FF3D7F; --volt:#38E8FF; --volt-hi:#38E8FF; --cel:#FFE08A; --ok:#3FE0AE; --warn:#FFB03A;
  --slab:#241A44; --slab-fg:#F6EFE3; --on-hot:#14101F;
}}
:root[data-theme="dark"]{
  --paper:#0B0A16; --paper-2:#141026; --panel:#1B1533; --panel-2:#241A44;
  --ink:#F6EFE3; --ink-2:#B6A9CC; --ink-3:#9A8CBC; --line:#F6EFE3; --shadow:#000000;
  --hot:#FF3D7F; --volt:#38E8FF; --volt-hi:#38E8FF; --cel:#FFE08A; --ok:#3FE0AE; --warn:#FFB03A;
  --slab:#241A44; --slab-fg:#F6EFE3; --on-hot:#14101F;
}
*,*::before,*::after{box-sizing:border-box;border-radius:0}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-ui);
  font-size:clamp(1rem,.96rem + .16vw,1.06rem);line-height:1.62;-webkit-font-smoothing:antialiased;
  overflow-x:hidden}
a{color:var(--ink);text-decoration-color:var(--hot);text-underline-offset:3px}
a:hover{color:var(--hot)}
:focus-visible{outline:3px solid var(--volt-hi);outline-offset:3px;box-shadow:0 0 0 6px var(--ink)}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
h1,h2{font-family:var(--f-disp);font-weight:400;text-transform:uppercase;line-height:.86;
  letter-spacing:-.008em;margin:0;text-wrap:balance}
h1{font-size:clamp(2.2rem,1.3rem + 3.6vw,4.1rem)}
h2{font-size:clamp(1.5rem,1.15rem + 1.5vw,2.3rem);margin-top:0}
h3{font-family:var(--f-ui);font-weight:800;font-size:1.05rem;margin:0}
.jp{font-family:var(--f-jp);font-weight:700;letter-spacing:.05em}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}

/* header */
.top{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:3px solid var(--line)}
.top__in{display:flex;align-items:center;gap:12px;height:62px;max-width:var(--wrap);
  margin-inline:auto;padding-inline:var(--pad)}
.brand{display:flex;align-items:baseline;gap:8px;font-family:var(--f-disp);font-size:1.3rem;
  text-transform:uppercase;text-decoration:none}
.brand b{font-weight:400}.brand .x{color:var(--hot)}
.brand .jp{font-size:.66em;color:var(--hot)}
.top nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
.top nav a{font-family:var(--f-ui);font-weight:800;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;padding:7px 9px;border-bottom:5px solid transparent;text-decoration:none}
.top nav a:hover{border-bottom-color:var(--hot)}
.tbtn{border:3px solid var(--line);background:var(--panel);padding:5px 10px;font-family:var(--f-mono);
  font-size:.7rem;font-weight:700;box-shadow:4px 4px 0 0 var(--shadow);cursor:pointer;color:inherit}
.tbtn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 0 var(--shadow)}
@media(max-width:760px){.top nav{display:none}}

/* hero + crumbs */
.hero{position:relative;overflow:hidden;padding:clamp(26px,4.5vw,58px) 0 clamp(20px,3vw,34px)}
.hero .lines{position:absolute;inset:-40%;z-index:0;opacity:.13;pointer-events:none;
  background:repeating-conic-gradient(from 0deg at 50% 50%,var(--ink) 0deg .5deg,
    transparent .5deg 2.5deg,var(--ink) 2.5deg 2.8deg,transparent 2.8deg 6deg);
  -webkit-mask-image:radial-gradient(circle at 82% 26%,#000 0%,transparent 58%);
  mask-image:radial-gradient(circle at 82% 26%,#000 0%,transparent 58%)}
.hero>*{position:relative;z-index:1}
.eyebrow{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--volt)}
.crumbs{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;color:var(--ink-3);margin:0 0 6px}
.crumbs a{text-decoration:none}
.lede{font-size:clamp(1.05rem,1rem + .35vw,1.25rem);line-height:1.5;max-width:60ch;
  margin:16px 0 0;color:var(--ink-2)}
.rule{display:flex;gap:7px;margin:18px 0 0}
.rule i{display:block;height:6px;width:84px;background:var(--ink)}
.rule i+i{width:26px;background:var(--hot)}

/* the panel language */
.panel{position:relative;border:3px solid var(--line);background:var(--panel);
  box-shadow:9px 9px 0 0 var(--shadow);padding:20px;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}
.band{display:inline-flex;align-items:center;gap:9px;transform:skewX(-12deg);background:var(--slab);
  color:var(--slab-fg);padding:5px 15px;margin-bottom:14px;box-shadow:4px 4px 0 0 var(--shadow)}
.band>*{transform:skewX(12deg)}
.band .jp{color:var(--cel);font-size:.95rem}
.band .en{font-weight:900;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}

/* converter */
.conv{display:grid;gap:14px;margin-top:24px}
.conv__row{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:end}
@media(max-width:700px){.conv__row{grid-template-columns:1fr;}.swap{justify-self:start}}
label{display:block;font-family:var(--f-ui);font-weight:800;font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
input[type=text],select{width:100%;border:3px solid var(--line);background:var(--panel);
  color:var(--ink);padding:12px 13px;font-family:var(--f-mono);font-size:1.05rem;
  box-shadow:5px 5px 0 0 var(--shadow)}
input[type=text]{font-weight:700}
.swap{border:3px solid var(--line);background:var(--hot);color:var(--on-hot);padding:12px 15px;
  font-family:var(--f-mono);font-weight:700;cursor:pointer;box-shadow:5px 5px 0 0 var(--shadow);
  align-self:end;height:52px}
.swap:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 0 var(--shadow)}
.out{border:3px solid var(--hot);background:var(--panel-2);padding:18px 20px;
  box-shadow:9px 9px 0 0 var(--shadow)}
.out .big{font-family:var(--f-mono);font-weight:700;font-size:clamp(1.6rem,1.1rem + 2.4vw,3rem);
  line-height:1.05;letter-spacing:-.03em;word-break:break-all}
.out .unit{font-size:.5em;color:var(--ink-2)}
.out .how{font-family:var(--f-mono);font-size:.78rem;color:var(--ink-2);margin-top:10px}
.out.bad{border-color:var(--warn)}
.cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.cats a,.cats button{border:3px solid var(--line);background:var(--panel);padding:7px 12px;
  font-family:var(--f-ui);font-weight:800;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  box-shadow:4px 4px 0 0 var(--shadow);text-decoration:none;cursor:pointer;color:inherit}
.cats a:hover,.cats button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 0 var(--shadow)}
.cats [aria-current=true],.cats .on{background:var(--hot);color:var(--on-hot)}

/* tables */
.tw{overflow-x:auto;border:3px solid var(--line);background:var(--panel);
  box-shadow:9px 9px 0 0 var(--shadow);margin-top:18px}
table{border-collapse:collapse;width:100%;min-width:420px}
th{text-align:left;background:var(--slab);color:var(--slab-fg);font-family:var(--f-mono);
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;padding:10px 12px;white-space:nowrap}
td{padding:10px 12px;border-top:2px solid color-mix(in srgb,var(--line) 20%,transparent);
  font-family:var(--f-mono);font-size:.88rem;font-variant-numeric:tabular-nums}
td:first-child{font-family:var(--f-ui);font-weight:600}
td.num{text-align:right}
tbody tr:hover{background:var(--paper-2)}

/* notes */
.note{border:3px solid var(--line);background:var(--panel);padding:15px 18px;margin-top:20px;
  box-shadow:7px 7px 0 0 var(--shadow)}
.note h3{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:7px}
.note p{margin:0;color:var(--ink-2);font-size:.92rem;max-width:72ch}
.note.info{border-color:var(--volt)} .note.info h3{color:var(--volt)}
.note.warn{border-color:var(--warn)} .note.warn h3{color:var(--warn)}
.note.bad{border-color:var(--hot)}   .note.bad h3{color:var(--hot)}
.note.mut h3{color:var(--ink-3)}

/* link grids */
.sec{padding:clamp(30px,5vw,60px) 0}
.sec--band{background:color-mix(in srgb,var(--paper-2) 92%,transparent);border-block:3px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:14px;margin-top:20px}
.tile{display:block;border:3px solid var(--line);background:var(--panel);padding:14px 16px;
  box-shadow:7px 7px 0 0 var(--shadow);text-decoration:none;transition:transform .14s cubic-bezier(.16,1,.3,1),
  box-shadow .14s cubic-bezier(.16,1,.3,1)}
.tile:hover{transform:translate(-4px,-4px);box-shadow:11px 11px 0 0 var(--shadow);border-color:var(--hot)}
.tile .jp{color:var(--hot);font-size:1.1rem;display:block;line-height:1}
.tile b{display:block;font-family:var(--f-ui);font-weight:800;margin-top:5px}
.tile span{display:block;font-size:.82rem;color:var(--ink-3);margin-top:3px}
.pairs{display:grid;grid-template-columns:repeat(auto-fill,minmax(186px,1fr));gap:5px;margin-top:16px}
.pairs a{font-family:var(--f-mono);font-size:.8rem;padding:5px 8px;border:2px solid transparent;
  text-decoration:none}
.pairs a:hover{border-color:var(--line);background:var(--paper-2)}

.foot{background:var(--slab);color:var(--slab-fg);margin-top:0;padding:34px 0 26px;
  border-top:3px solid var(--line)}
.foot a{color:var(--slab-fg)}
.foot .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:22px}
.foot h4{margin:0 0 8px;font-family:var(--f-ui);font-weight:900;font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--cel)}
.foot ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px;font-size:.86rem}
.foot .bar{margin-top:26px;padding-top:14px;border-top:2px solid color-mix(in srgb,var(--slab-fg) 30%,transparent);
  font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;display:flex;flex-wrap:wrap;gap:10px;
  justify-content:space-between}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
