.prof-head{gap:var(--s-6);padding-block:var(--s-7) var(--s-6);border-bottom:1px solid var(--rule);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.hex-big{width:6.5rem;height:6.5rem}.hex-big .g{stroke-width:1.4px}.prof-head .lvl{color:var(--level);font-weight:650;font-size:var(--text-sm);letter-spacing:.01em;margin-top:var(--s-2)}.prof-head .sub{color:var(--ink-2);margin-top:var(--s-3);max-width:56ch;font-size:var(--text-sm);text-wrap:pretty}.xp-block{text-align:right;min-width:16rem}.xp-block .big{font-size:var(--text-3xl);font-variation-settings:"wdth" 88;letter-spacing:var(--tracking-display);font-weight:700;line-height:1}.xp-block .big small{font-size:var(--text-lg);color:var(--ink-3);margin-left:.25rem;font-weight:600}.xp-block .meter{margin-top:var(--s-4)}.xp-block .to{margin-top:var(--s-2);font-size:var(--text-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}.grid2{gap:var(--s-8);padding-top:var(--s-7);grid-template-columns:1.1fr 1fr;align-items:start;display:grid}.block h2{margin-bottom:var(--s-4)}.block .note{color:var(--ink-2);font-size:var(--text-sm);margin-bottom:var(--s-4);text-wrap:pretty;max-width:56ch}.block-map,.block-code{padding-top:var(--s-8)}.prof-head .hex,.level .hex,.badge .hex{color:var(--badge-fill)}.prof-head .hex.is-off,.level .hex.is-off,.badge .hex.is-off{color:var(--badge-off)}.levels{border-top:1px solid var(--rule)}.level{gap:var(--s-4);padding:var(--s-4) 0;border-bottom:1px solid var(--line);grid-template-columns:2.5rem 1fr auto;align-items:center;display:grid}.level .hex{width:2.5rem;height:2.5rem}.level b{font-weight:650;display:block}.level small{color:var(--ink-2);margin-top:2px;display:block}.level .num{color:var(--ink-3);font-size:var(--text-sm);white-space:nowrap}.level[data-now]{background:var(--bg-sunken);box-shadow:0 0 0 var(--s-4) var(--bg-sunken)}.level[data-now] b{color:var(--level)}.badges{gap:var(--s-4);grid-template-columns:repeat(2,1fr);display:grid}.badge{gap:var(--s-3);padding:var(--s-4);grid-template-columns:auto 1fr;align-items:start;display:grid}.badge .hex{width:3rem;height:3rem}.badge b{font-size:var(--text-sm);font-weight:650;line-height:1.3;display:block}.badge small{color:var(--ink-2);font-size:var(--text-xs);margin-top:2px;line-height:1.4;display:block}.badge .when{color:var(--ink-3);font-size:var(--text-xs);margin-top:var(--s-2);font-variant-numeric:tabular-nums;display:block}.badge.is-off{box-shadow:none;border-style:dashed}.badge.is-off b{color:var(--ink-2)}.map-wrap{overflow-x:auto}.map{border-top:1px solid var(--rule);min-width:44rem;font-size:var(--text-sm);grid-template-columns:15rem repeat(4,1fr);gap:0;display:grid}.map-module,.map-row{grid-template-columns:subgrid;grid-column:1/-1;display:grid}.map .head,.map .t,.map .c,.map .mod{padding:.55rem var(--s-2);border-bottom:1px solid var(--line);align-items:center;display:flex}.map .head{font-size:var(--text-xs);color:var(--ink-2);background:var(--bg-sunken);text-align:center;justify-content:center;font-weight:650}.map .head:first-child{justify-content:flex-start}.map .t{gap:.35rem;padding-left:0}.map .t .n{color:var(--ink-3);font-variant-numeric:tabular-nums}.map .t a{color:inherit;text-decoration:none}.map .t a:hover{text-decoration:underline}.map .c{justify-content:center;gap:.35rem}.map .mod{padding:var(--s-3) 0 var(--s-1);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3);border-bottom:0;grid-column:1/-1;font-weight:650}.map .c .num{color:var(--ink-3);font-size:var(--text-xs)}.code{gap:var(--s-5);grid-template-columns:1fr 1fr;display:grid}.code .card-pad{gap:var(--s-3);align-content:start;display:grid}.code h3{font-size:var(--text-md)}.code p{font-size:var(--text-sm);color:var(--ink-2)}.code .btns{gap:var(--s-2);flex-wrap:wrap;display:flex}.code-area{font-family:var(--font-mono);font-size:var(--text-xs);resize:vertical;word-break:break-all;min-height:5.5rem;line-height:1.4}.code-error{color:var(--err-ink);font-weight:600}.code-notice{color:var(--ok-ink);font-weight:600}.confirm{width:min(28rem,100vw - 2rem);padding:var(--s-5) var(--s-6);border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-3)}.confirm::backdrop{background:color-mix(in srgb, var(--brand-blue-deep) 45%, transparent)}.confirm p{margin-top:var(--s-3)}.confirm-actions{gap:var(--s-3);margin-top:var(--s-5);flex-wrap:wrap;justify-content:flex-end;display:flex}.btn-danger{background:var(--err);color:#fff}.btn-danger:hover{background:var(--err-ink);color:#fff}@media (width<=1024px){.grid2{gap:var(--s-7);grid-template-columns:1fr}}@media (width<=760px){.prof-head{grid-template-columns:auto 1fr}.xp-block{text-align:left;grid-column:1/-1;min-width:0}.badges,.code{grid-template-columns:1fr}.hex-big{width:4.5rem;height:4.5rem}}
