/* ============================================================================
   PANOPTICON — Web UI Kit · Component styles (consumes colors_and_type.css)
   ========================================================================== */

*{box-sizing:border-box;}
html,body{margin:0;}
body{background-color:var(--bg);
  background-image:radial-gradient(rgba(255,255,255,.02) .5px, transparent .6px);
  background-size:5px 5px;color:var(--fg);font-family:var(--font-display);}
.pn-app{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1;}

/* randomized minimal background texture (placed by JS) */
.pn-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.pn-bg__mark{position:absolute;font-family:var(--font-mono);text-transform:uppercase;
  color:var(--fg);white-space:nowrap;user-select:none;}
.pn-bg__tick{position:absolute;height:14px;width:64px;
  background:repeating-linear-gradient(90deg,var(--fg) 0 1px,transparent 1px 9px);}
.pn-icon{display:inline-flex;align-items:center;justify-content:center;}
.pn-icon svg{display:block;}

/* ---- shared type helpers ---- */
.pn-label{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;line-height:1.1;}
.mono{font-family:var(--font-mono);}
.tabular{font-variant-numeric:tabular-nums;}

/* ---- MANIFEST BAR ---- */
.pn-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:20px;
  padding:13px 30px;background:var(--bg);border-bottom:var(--bw-rule) solid var(--rule-strong);}
.pn-bar__left{display:flex;align-items:center;gap:12px;}
.pn-bar__logo{color:var(--brand);display:inline-flex;align-items:center;}
.pn-bar__dot{width:8px;height:8px;border-radius:50%;background:var(--brand);}
.pn-bar__word{font-family:var(--font-mono);font-weight:700;letter-spacing:-.01em;
  font-size:17px;cursor:pointer;color:var(--fg);}
.pn-bar__word b{color:var(--brand);}
.pn-bar__nav{display:flex;gap:22px;margin-left:14px;}
.pn-bar__navitem{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;background:none;border:none;color:var(--fg-3);cursor:pointer;
  padding:4px 0;border-bottom:2px solid transparent;transition:color var(--dur-1) var(--ease);}
.pn-bar__navitem:hover{color:var(--fg);}
.pn-bar__navitem.is-active{color:var(--fg);border-bottom-color:var(--brand);}
.pn-bar__readout{margin-left:auto;font-family:var(--font-mono);font-size:11px;
  letter-spacing:.06em;color:var(--fg-3);font-variant-numeric:tabular-nums;}

/* ---- BUTTON ---- */
.pn-btn{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;padding:12px 20px;border:var(--bw) solid var(--rule-strong);background:var(--bg);
  color:var(--fg);cursor:pointer;display:inline-flex;align-items:center;gap:10px;
  transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease),
    transform var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease);}
.pn-btn__arrow{font-family:var(--font-display);font-weight:400;}
.pn-btn--default:hover{background:var(--solid-bg);color:var(--solid-fg);}
.pn-btn--primary{background:var(--solid-bg);color:var(--solid-fg);}
.pn-btn--primary:hover{box-shadow:var(--shadow-hard-accent);transform:translate(-2px,-2px);}
.pn-btn--signal{background:var(--accent);border-color:var(--accent);color:var(--accent-on);}
.pn-btn--signal:hover{box-shadow:var(--shadow-hard);transform:translate(-2px,-2px);}
.pn-btn--ghost{border-color:var(--rule);color:var(--fg-2);}
.pn-btn--ghost:hover{border-color:var(--rule-strong);color:var(--fg);}
.pn-btn:active{transform:translate(0,0);box-shadow:none;}

/* ---- TAG / STATUS / STAMP ---- */
.pn-tag{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 9px;border:1px solid var(--fg);}
.pn-tag--solid{background:var(--solid-bg);color:var(--solid-fg);border-color:var(--solid-bg);}
.pn-tag--signal{background:var(--accent);color:var(--accent-on);border-color:var(--accent);}
.pn-tag--muted{color:var(--fg-3);border-color:var(--rule);}
.pn-status{display:inline-flex;align-items:center;gap:8px;}
.pn-status__dot{width:7px;height:7px;border-radius:50%;display:inline-block;}
.pn-stamp{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--fg-2);}
.pn-stamp b{color:var(--accent);}
.pn-stamp--box{border:1px solid var(--fg);padding:5px 8px;}
.pn-stamp__sub{color:var(--fg-3);}

/* ---- TICKS ---- */
.pn-ticks{height:20px;background:repeating-linear-gradient(90deg,var(--tick) 0 1px,transparent 1px 11px);}
.pn-ticks--tall{height:30px;background:repeating-linear-gradient(90deg,var(--tick) 0 1.5px,transparent 1.5px 23px);}

/* ---- TIME STRIP — activity timeline over a plum→orchid→plum gradient ---- */
.pn-timestrip{position:relative;width:100%;}
.pn-timestrip__bar{position:relative;overflow:hidden;
  background:linear-gradient(90deg,
    #241F26 0%, #3A2738 18%, #6E4264 32%, #B36BA4 42%,
    #E685D5 50%, #B36BA4 58%, #6E4264 68%, #3A2738 82%, #241F26 100%);}
/* each line marks WHEN activity occurred — data, not a divider */
.pn-timestrip__act{position:absolute;top:0;bottom:0;width:1px;background:var(--bone,#D9D9C7);
  opacity:.92;transform:translateX(-.5px);}
.pn-timestrip__labels{position:relative;height:14px;margin-top:7px;}
.pn-timestrip__lab{position:absolute;top:0;font-family:var(--font-mono);font-size:10px;
  letter-spacing:.12em;color:var(--fg-3);font-variant-numeric:tabular-nums;}

/* ---- SPEC BLOCK ---- */
.pn-spec{border:var(--bw) solid var(--fg);}
.pn-spec__tab{background:var(--solid-bg);color:var(--solid-fg);font-family:var(--font-mono);font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;padding:6px 11px;display:flex;justify-content:space-between;}
.pn-spec__row{display:flex;justify-content:space-between;gap:14px;padding:8px 11px;
  border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:12px;}
.pn-spec__k{color:var(--fg-3);letter-spacing:.04em;text-transform:uppercase;font-size:10px;align-self:center;}
.pn-spec__v{font-variant-numeric:tabular-nums;}

/* ---- DATA BARS ---- */
.pn-databars{display:flex;flex-direction:column;gap:9px;}
.pn-databars__row{display:grid;grid-template-columns:96px 1fr 46px;align-items:center;gap:12px;}
.pn-databars__k{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--fg-2);}
.pn-databars__track{height:14px;background:var(--bg-sunken);border:1px solid var(--rule);}
.pn-databars__fill{display:block;height:100%;}
.pn-databars__v{font-family:var(--font-mono);font-size:12px;text-align:right;font-variant-numeric:tabular-nums;}

/* ---- COLUMN CHART ---- */
.pn-colchart{display:flex;align-items:flex-end;gap:10px;}
.pn-colchart__col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  gap:6px;height:100%;}
.pn-colchart__bar{width:100%;border:1px solid var(--rule-strong);}
.pn-colchart__val{font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;}
.pn-colchart__lab{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--fg-3);}

/* ---- HERO NUMBER ---- */
.pn-hero-num{display:flex;flex-direction:column;}
.pn-hero-num__v{font-family:var(--font-display);font-weight:700;font-size:clamp(64px,11vw,140px);
  letter-spacing:-.04em;line-height:.86;}
.pn-hero-num__u{font-size:.32em;color:var(--fg-3);margin-left:.1em;letter-spacing:0;}
.pn-hero-num__sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--fg-3);margin-top:12px;}

/* ---- CARD ---- */
.pn-card{border:var(--bw) solid var(--fg);background:var(--bg-raised);}
.pn-card--link{cursor:pointer;transition:transform var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease);}
.pn-card--link:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-hard);}
.pn-card__top{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;
  border-bottom:1px solid var(--rule);}
.pn-card__idx{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--fg-3);}
.pn-card__body{padding:16px 14px 18px;}

/* ---- INDEX TABLE ---- */
.pn-index{border-top:var(--bw) solid var(--rule-strong);}
.pn-index__head,.pn-irow{display:grid;grid-template-columns:120px 1fr 130px 130px 30px;
  align-items:center;gap:16px;padding:11px 14px;}
.pn-index__head{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--fg-3);border-bottom:1px solid var(--rule);}
.pn-irow{border-bottom:1px solid var(--rule);cursor:pointer;font-family:var(--font-mono);font-size:12px;
  transition:background var(--dur-1) var(--ease);}
.pn-irow:hover{background:var(--bg-sunken);}
.pn-irow__ref{color:var(--accent);font-weight:700;letter-spacing:.06em;}
.pn-irow__title{font-family:var(--font-display);font-size:15px;font-weight:500;}
.pn-irow__date,.pn-irow__status{color:var(--fg-2);letter-spacing:.04em;display:flex;align-items:center;gap:8px;}
.pn-irow__go{color:var(--fg-3);text-align:right;font-family:var(--font-display);}
.pn-irow:hover .pn-irow__go{color:var(--accent);}

/* ---- FOOTER ---- */
.pn-footer{margin-top:auto;border-top:var(--bw-rule) solid var(--rule-strong);padding:22px 30px;
  display:flex;flex-direction:column;gap:12px;}
.pn-footer__row{display:flex;align-items:center;justify-content:space-between;gap:16px;}

/* ---- SEARCH FIELD ---- */
.pn-search{display:flex;align-items:center;gap:10px;border:var(--bw) solid var(--fg);
  padding:10px 14px;background:var(--bg-raised);}
.pn-search input{flex:1;border:none;background:none;outline:none;font-family:var(--font-mono);
  font-size:13px;color:var(--fg);}
.pn-search input::placeholder{color:var(--fg-3);}

/* ---- LAYOUT PRIMITIVES ---- */
.pn-wrap{max-width:1120px;margin:0 auto;padding:0 30px;width:100%;}
.pn-corner-stamps{display:flex;justify-content:space-between;padding:14px 30px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--fg-3);border-bottom:1px solid var(--rule);}
.pn-rule{height:0;border-top:1px solid var(--rule);}
.pn-rule--strong{border-top:var(--bw-rule) solid var(--rule-strong);}
.pn-section-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--fg-3);}

/* dark figure panel */
.pn-figure{background:var(--bg-sunken);color:var(--fg);padding:28px;
  border:var(--bw) solid var(--rule);--bar:#524855;}

/* ============================================================================
   INFOGRAPHIC PRIMITIVES
   ========================================================================== */
.pn-chart{display:block;overflow:visible;}
.pn-chart__lab{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;
  fill:var(--fg-3);text-transform:uppercase;}

/* stacked bar */
.pn-stack{display:flex;flex-direction:column;gap:12px;}
.pn-stack__bar{display:flex;height:26px;border:1px solid var(--rule-strong);overflow:hidden;}
.pn-stack__seg{height:100%;}
.pn-stack__legend{display:flex;flex-wrap:wrap;gap:16px;}
.pn-stack__key{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);
  font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2);}
.pn-stack__key b{color:var(--fg);margin-left:2px;}
.pn-stack__swatch{width:11px;height:11px;display:inline-block;}

/* grid map */
.pn-gridmap{display:grid;gap:3px;}
.pn-gridmap__cell{aspect-ratio:1;background:var(--gm);}

/* timeline */
.pn-timeline{list-style:none;margin:0;padding:0;border-left:var(--bw) solid var(--rule);}
.pn-timeline__item{position:relative;padding:0 0 26px 26px;}
.pn-timeline__item:last-child{padding-bottom:0;}
.pn-timeline__node{position:absolute;left:-7px;top:3px;width:12px;height:12px;
  background:var(--bg);border:var(--bw) solid var(--accent);}
.pn-timeline__body{display:flex;flex-direction:column;gap:4px;}
.pn-timeline__date{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);}
.pn-timeline__title{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.01em;}
.pn-timeline__note{font-family:var(--font-mono);font-size:11.5px;color:var(--fg-2);line-height:1.55;}

/* big stat */
.pn-bigstat{border:var(--bw) solid var(--rule-strong);padding:18px 20px 20px;display:flex;
  flex-direction:column;gap:10px;}
.pn-bigstat__label{color:var(--fg-3);}
.pn-bigstat__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.pn-bigstat__v{font-family:var(--font-display);font-weight:700;font-size:clamp(40px,6vw,68px);
  letter-spacing:-.03em;line-height:.9;}
.pn-bigstat__u{font-size:.32em;color:var(--fg-3);margin-left:.12em;letter-spacing:0;}
.pn-bigstat__delta{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.04em;
  white-space:nowrap;}
.pn-bigstat__spark{margin-top:2px;}

/* ranked table */
.pn-ranked{display:flex;flex-direction:column;}
.pn-ranked__row{display:grid;grid-template-columns:34px 1.1fr 1.4fr 64px;align-items:center;
  gap:14px;padding:10px 0;border-top:1px solid var(--rule);}
.pn-ranked__row:first-child{border-top:none;}
.pn-ranked__rank{font-family:var(--font-mono);font-size:11px;color:var(--accent);font-weight:700;}
.pn-ranked__name{font-family:var(--font-display);font-size:15px;font-weight:500;}
.pn-ranked__track{height:12px;background:var(--bg-sunken);border:1px solid var(--rule);}
.pn-ranked__fill{display:block;height:100%;}
.pn-ranked__v{font-family:var(--font-mono);font-size:12px;text-align:right;font-variant-numeric:tabular-nums;}

/* report layout helpers */
.pn-report-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
  border-bottom:var(--bw-rule) solid var(--rule-strong);padding-bottom:18px;margin-bottom:26px;}
.pn-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.pn-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.pn-panel{border:var(--bw) solid var(--rule);padding:20px;}
.pn-panel__cap{display:flex;justify-content:space-between;margin-bottom:16px;}

/* tabs (report switcher) */
.pn-tabs{display:flex;gap:0;border-bottom:1px solid var(--rule);}
.pn-tab{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  background:none;border:none;border-bottom:2px solid transparent;color:var(--fg-3);cursor:pointer;
  padding:10px 16px 12px;margin-bottom:-1px;transition:color var(--dur-1) var(--ease);}
.pn-tab:hover{color:var(--fg);}
.pn-tab.is-active{color:var(--fg);border-bottom-color:var(--accent);}

/* ============================================================================
   CONSOLE — instrument-panel tiles (modular dashboard)
   ========================================================================== */
.pn-console{display:grid;gap:12px;grid-template-columns:1.15fr 1fr 1fr 1fr;align-items:stretch;}
.pn-console .tile-meta{grid-column:1;grid-row:1;}
.pn-console .tile-big{grid-column:2 / 5;grid-row:1;}
.pn-console .tile-env{grid-column:1;grid-row:2;}
.pn-console .tile-w1{grid-column:2;grid-row:2;}
.pn-console .tile-w2{grid-column:3;grid-row:2;}
.pn-console .tile-dur{grid-column:4;grid-row:2;}
.pn-console .tile-sig{grid-column:1 / 5;grid-row:3;}
@media (max-width:880px){
  .pn-console{grid-template-columns:1fr 1fr;}
  .pn-console > *{grid-column:auto !important;grid-row:auto !important;}
  .pn-console .tile-big,.pn-console .tile-sig{grid-column:1 / 3 !important;}
}

/* tile shell */
.pn-tile{background:var(--void-sunken,#29232B);border:1px solid var(--rule);border-radius:2px;
  display:flex;flex-direction:column;min-width:0;}
.pn-tile__top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 8px;}
.pn-tile__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--fg);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pn-tile__label em{font-style:normal;color:var(--fg-3);margin-left:8px;}
.pn-tile__corner{font-family:var(--font-mono);font-size:12px;color:var(--fg-3);line-height:1;flex:none;}
.pn-tile__corner.is-rec{color:var(--accent);}
.pn-tile__body{padding:2px 12px 14px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;}
.pn-tile__body--flush{padding:0;}

/* big readout */
.pn-console__big{font-family:var(--font-display);font-weight:700;letter-spacing:-.04em;line-height:.86;
  color:#fff;font-size:clamp(54px,7.5vw,108px);padding-top:14px;}
.pn-console__bigu{font-family:var(--font-mono);font-size:.16em;font-weight:400;color:var(--fg-3);
  vertical-align:top;letter-spacing:.04em;margin-left:.18em;}

/* def list (borderless key/value) */
.pn-deflist{display:flex;flex-direction:column;}
.pn-deflist__row{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid var(--rule);
  font-family:var(--font-mono);font-size:12px;}
.pn-deflist__row:first-child{border-top:none;}
.pn-deflist__k{color:var(--fg-2);letter-spacing:.02em;}
.pn-deflist__v{color:var(--fg);font-variant-numeric:tabular-nums;}

/* waveform */
.pn-wave{display:block;width:100%;}

/* waveshape selector */
.pn-shapes{display:flex;gap:6px;margin-top:12px;}
.pn-shape{width:30px;height:22px;border:1px solid var(--rule);background:none;color:var(--fg-3);
  display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;border-radius:2px;
  transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease);}
.pn-shape:hover{color:var(--fg);}
.pn-shape.is-active{border-color:var(--accent);color:var(--accent);}
.pn-shape svg{width:16px;height:10px;}

/* param grid */
.pn-params{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;margin-top:14px;}
.pn-params__k{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--fg-3);margin-bottom:2px;}
.pn-params__v{font-family:var(--font-mono);font-size:12px;color:var(--fg);font-variant-numeric:tabular-nums;}

/* duration clock */
.pn-duration{display:flex;flex-direction:column;padding-top:6px;}
.pn-duration__row{display:flex;align-items:baseline;gap:7px;}
.pn-duration__n{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,3vw,42px);
  letter-spacing:-.02em;line-height:1.04;}
.pn-duration__u{font-family:var(--font-mono);font-size:12px;color:var(--fg-3);}
.pn-duration__row.is-dim .pn-duration__n{color:var(--fg-3);}

/* pan slider */
.pn-pan{display:flex;align-items:center;gap:10px;margin-top:16px;font-family:var(--font-mono);
  font-size:11px;color:var(--fg-3);}
.pn-pan__track{position:relative;flex:1;height:1px;background:var(--rule-strong);}
.pn-pan__thumb{position:absolute;top:50%;width:0;height:0;transform:translate(-50%,-50%);
  border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--fg);}

/* signal strip — capture waveform with selection */
.pn-signal{padding:14px 14px 12px;}
.pn-signal__times{position:relative;height:14px;margin-bottom:8px;}
.pn-signal__times span{position:absolute;transform:translateX(-50%);font-family:var(--font-mono);
  font-size:10px;letter-spacing:.06em;color:var(--accent);font-variant-numeric:tabular-nums;}
.pn-signal__bars{position:relative;display:flex;align-items:center;gap:1px;height:92px;}
.pn-signal__bar{flex:1;min-width:1px;background:var(--fg-3);opacity:.55;}
.pn-signal__bar.is-sel{background:var(--accent);opacity:1;}
.pn-signal__sel{position:absolute;top:-2px;bottom:-2px;border-left:1px solid var(--accent);
  border-right:1px solid var(--accent);background:rgba(155,140,242,.10);pointer-events:none;}
.pn-signal__ticks{display:flex;justify-content:space-between;margin-top:10px;}
.pn-signal__ticks span{width:4px;height:4px;border-radius:50%;background:var(--fg-3);opacity:.5;}

/* ============================================================================
   ACTIVITY CALENDAR — contribution-graph heatmap (orchid intensity)
   ========================================================================== */
.pn-cal{--cell:13px;--gap:3px;display:flex;flex-direction:column;gap:14px;}
.pn-cal__readout{font-family:var(--font-mono);font-size:12px;color:var(--fg-2);letter-spacing:.02em;}
.pn-cal__readout b{color:var(--fg);font-variant-numeric:tabular-nums;}
.pn-cal__scroll{overflow-x:auto;padding-bottom:2px;}
.pn-cal__grid{display:grid;grid-template-rows:auto repeat(7, var(--cell));gap:var(--gap);
  align-items:center;width:max-content;}
.pn-cal__cell{width:var(--cell);height:var(--cell);border-radius:2px;background:var(--bg-sunken);
  transition:outline var(--dur-1) var(--ease);}
.pn-cal__cell:hover{outline:1.5px solid var(--fg);outline-offset:1px;}
.pn-cal__month{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--fg-3);
  align-self:end;white-space:nowrap;}
.pn-cal__daylab{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.04em;color:var(--fg-3);
  text-align:right;padding-right:8px;white-space:nowrap;}
.pn-cal__legend{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;
  letter-spacing:.06em;color:var(--fg-3);}
.pn-cal__legend i{width:var(--cell);height:var(--cell);border-radius:2px;display:inline-block;}
/* iris intensity scale — empty → most active */
.pn-cal .lvl-0{background:var(--bg-sunken);}
.pn-cal .lvl-1{background:rgba(155,140,242,.30);}
.pn-cal .lvl-2{background:rgba(155,140,242,.55);}
.pn-cal .lvl-3{background:rgba(155,140,242,.82);}
.pn-cal .lvl-4{background:var(--peak);}
