/* Hide the end of text icon for this page */
.post-body .post-primary .icon-end-post { display: none; }


/* **** LOADING STATE **** */
.loading-screen{
   display:flex;flex-direction:column;align-items:center;justify-content:center;
   padding:6rem 2rem;gap:1.2rem;
}
.loading-spinner{
   width:36px;height:36px;border:3px solid var(--js-platinum);
   border-top-color:var(--js-teal);border-radius:50%;
   animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-screen p{font-size:15px;color:var(--js-iron)}
.loading-error{color:var(--js-crimson);text-align:center;padding:3rem 1rem;font-size:15px}

/* **** HERO **** */
.hero{
   background:var(--js-space);color:#fff;padding:2.8rem 1.5rem 2rem;
   text-align:center;position:relative;overflow:hidden;
}
.hero::after{
   content:'';position:absolute;bottom:0;left:0;right:0;height:4px;
   background:linear-gradient(90deg,var(--topic-enforcement),var(--topic-workforce),var(--topic-agencies),var(--topic-oversight),var(--topic-transparency));
}
.hero h1{
   font-family:'Noto Serif',serif;font-size:clamp(24px,4vw,36px);font-weight:700;
   line-height:1.2;letter-spacing:.01em;margin-bottom:.5rem;color:#fff;
}
.hero p{
   font-family:'Roboto',sans-serif;font-size:15px;font-weight:300;
   line-height:1.6;opacity:.7;max-width:640px;margin:0 auto;color:#fff;
}

/* **** STICKY CONTROLS **** */
.controls{
   position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);
   backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
   border-bottom:1px solid var(--js-platinum);padding:.85rem 1.5rem;
   box-shadow:0 1px 6px rgba(0,0,0,.05);
}
.controls-inner{max-width:1060px;margin:0 auto;display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}

/* Search */
.search-wrap{flex:1 1 240px;position:relative}
.search-wrap svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--js-french-gray);pointer-events:none}
.search-wrap input{
   width:100%;padding:.55rem .75rem .55rem 2.2rem;
   border:1px solid #d2d5d8;border-radius:var(--border-radius);
   font-family:'Roboto',sans-serif;font-size:14px;background:#fff;
   color:var(--js-space);transition:border-color .2s;
}
.search-wrap input::placeholder{color:var(--js-french-gray)}
.search-wrap input:focus{outline:none;border-color:var(--js-teal);box-shadow:0 0 0 3px rgba(17,93,114,.1)}

/* Selects */
select{
   padding:.55rem 2rem .55rem .75rem;border:1px solid #d2d5d8;
   border-radius:var(--border-radius);font-family:'Roboto',sans-serif;font-size:14px;
   background:#fff;color:var(--js-space);cursor:pointer;
   appearance:none;-webkit-appearance:none;
   background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M11.7297 18L2 8.27027L4.27027 6L11.7297 13.4595L19.1892 6L21.4595 8.27027L11.7297 18Z' style='fill:%2304151F;'/%3E%3C/svg%3E");
   background-repeat:no-repeat;background-position:right 8px center;background-size:12px;
   transition:border-color .2s;
}
select:focus{outline:none;border-color:var(--js-teal);box-shadow:0 0 0 3px rgba(17,93,114,.1)}

/* Multi-select dropdown */
.multiselect{position:relative;flex-shrink:0}
.multiselect-btn{
   display:inline-flex;align-items:center;gap:.4rem;
   padding:.55rem .75rem;border:1px solid #d2d5d8;border-radius:var(--border-radius);
   font-family:'Roboto',sans-serif;font-size:14px;background:#fff;
   color:var(--js-space);cursor:pointer;transition:border-color .2s;
   white-space:nowrap;min-width:140px;
}
.multiselect-btn:hover{border-color:#aaa}
.multiselect-btn:focus,.multiselect.open .multiselect-btn{
   outline:none;border-color:var(--js-teal);box-shadow:0 0 0 3px rgba(17,93,114,.1);
}
.multiselect-label{flex:1;text-align:left}
.multiselect-badge{
   display:inline-flex;align-items:center;justify-content:center;
   min-width:20px;height:20px;padding:0 5px;border-radius:10px;
   background:var(--js-teal);color:#fff;font-size:11px;font-weight:700;
}
.multiselect-arrow{flex-shrink:0;transition:transform .2s}
.multiselect.open .multiselect-arrow{transform:rotate(180deg)}
.multiselect-dropdown{
   display:none;position:absolute;top:calc(100% + 4px);left:0;
   min-width:280px;max-width:360px;background:#fff;
   border:1px solid #d2d5d8;border-radius:var(--border-radius);
   box-shadow:0 6px 24px rgba(0,0,0,.12);z-index:200;
   overflow:hidden;
}
.multiselect.open .multiselect-dropdown{display:block}
.multiselect-search-wrap{padding:.5rem .5rem .25rem}
.multiselect-search{
   width:100%;padding:.4rem .6rem;border:1px solid #d2d5d8;
   border-radius:4px;font-family:'Roboto',sans-serif;font-size:13px;
   color:var(--js-space);
}
.multiselect-search::placeholder{color:var(--js-french-gray)}
.multiselect-search:focus{outline:none;border-color:var(--js-teal)}
.multiselect-actions{
   display:flex;gap:.5rem;padding:.15rem .6rem .35rem;
   border-bottom:1px solid var(--js-platinum);
}
.multiselect-actions button{
   background:none;border:none;font-family:'Roboto',sans-serif;
   font-size:12px;font-weight:500;color:var(--js-teal);cursor:pointer;
   padding:.15rem .2rem;
}
.multiselect-actions button:hover{text-decoration:underline}
.multiselect-options{
   max-height:240px;overflow-y:auto;padding:.3rem 0;
   overscroll-behavior:contain;
}
.multiselect-option{
   display:flex;align-items:center;gap:.5rem;padding:.35rem .65rem;
   cursor:pointer;font-size:13px;color:var(--js-space);transition:background .1s;
   line-height:1.3;
}
.multiselect-option:hover{background:var(--js-platinum)}
.multiselect-option input[type="checkbox"]{
   width:15px;height:15px;accent-color:var(--js-teal);
   cursor:pointer;flex-shrink:0;margin:0;
}
.multiselect-option.hidden{display:none}
.multiselect-no-match{
   padding:.6rem .65rem;font-size:13px;color:var(--js-french-gray);
   font-style:italic;
}
/* Right-align dropdown on small screens */
@media(max-width:768px){
   .multiselect-dropdown{left:auto;right:0;min-width:260px}
}

/* Chips */
.chip-bar{display:flex;gap:.35rem;flex-wrap:wrap;width:100%;margin-top:.15rem}
.chip{
   display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;
   border-radius:99px;font-family:'Roboto',sans-serif;font-size:12px;font-weight:500;
   letter-spacing:.03em;cursor:pointer;border:2px solid transparent;
   transition:all .2s;user-select:none;opacity:.45;
}
.chip:hover{opacity:.75}
.chip.active{opacity:1;border-color:currentColor}
.chip-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}

/* Result count */
.result-count{
   font-size:13px;color:var(--js-iron);width:100%;text-align:right;
   margin-top:-.05rem;font-variant-numeric:tabular-nums;
}

/* **** TIMELINE LAYOUT **** */
.timeline-wrap{max-width:1060px;margin:0 auto;padding:1.5rem 1.5rem 4rem;position:relative}

/* Month headers */
.month-header{
   text-align:center;margin:2rem 0 1rem;position:relative;z-index:2;
}
.month-header:first-child{margin-top:.5rem}
.month-label{
   display:inline-block;font-family:'Noto Serif',serif;font-size:15px;font-weight:600;
   background:#fff;padding:.15rem 1rem;color:var(--js-onyx);
   border:1px solid var(--js-platinum);border-radius:99px;letter-spacing:.02em;
}

/* Spine */
.timeline{position:relative}
@media(min-width:769px){
   .timeline::before{
      content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;
      background:var(--spine-color);transform:translateX(-50%);
   }
}

/* **** CARD **** */
.card{
   position:relative;margin-bottom:1.3rem;
   opacity:0;transform:translateY(14px);
   animation:cardIn .35s ease forwards;
}
@keyframes cardIn{to{opacity:1;transform:translateY(0)}}

/* Highlight when targeted via anchor */
.card:target .card-inner,
.card.highlighted .card-inner{
   box-shadow:0 0 0 3px var(--js-teal),0 4px 20px rgba(17,93,114,.15);
}

.card-inner{
   background:#fff;border-radius:var(--border-radius);overflow:hidden;
   box-shadow:0 1px 3px rgba(0,0,0,.05),0 3px 12px rgba(0,0,0,.03);
   border-left:4px solid var(--accent);transition:box-shadow .25s,transform .25s;
}
.card-inner:hover{box-shadow:0 3px 16px rgba(0,0,0,.08);transform:translateY(-1px)}

.card-head{
   display:flex;align-items:center;justify-content:space-between;gap:.5rem;
   padding:.65rem .9rem;border-bottom:1px solid var(--js-platinum);
   background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent);
}
.card-date{
   font-family:'Noto Serif',serif;font-weight:600;font-size:14px;
   color:var(--js-space);white-space:nowrap;
}
.card-topic{
   font-family:'Roboto',sans-serif;font-size:11px;font-weight:700;
   text-transform:uppercase;letter-spacing:.06em;color:var(--accent);
   background:color-mix(in srgb,var(--accent) 8%,transparent);
   padding:.15rem .55rem;border-radius:99px;white-space:nowrap;
}

.card-body{padding:.85rem .9rem}
.card-action{font-size:15px;line-height:1.65;color:var(--js-space)}
.card-action a{color:var(--js-sapphire)}
.card-action a:hover{color:var(--js-space)}
.card-action strong{font-weight:700}

.card-context{
   margin-top:.65rem;padding-top:.65rem;border-top:1px dashed rgba(0,0,0,.07);
   font-size:14px;color:var(--js-iron);line-height:1.65;display:none;
}
.card-context a{color:var(--js-sapphire)}
.card-context.open{display:block}

.card-toggle{
   display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;
   padding:.25rem .6rem;border:1px solid #d2d5d8;border-radius:var(--border-radius);
   background:transparent;font-family:'Roboto',sans-serif;font-size:12px;
   font-weight:500;color:var(--js-iron);cursor:pointer;transition:all .2s;
}
.card-toggle:hover{background:var(--js-platinum);color:var(--js-space)}
.card-toggle svg{transition:transform .2s}
.card-toggle.open svg{transform:rotate(180deg)}

/* Entity tags */
.card-entities{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}
.entity-tag{
   font-family:'Roboto',sans-serif;font-size:11px;font-weight:500;
   padding:.1rem .45rem;border-radius:3px;
   background:var(--js-platinum);color:var(--js-onyx);white-space:nowrap;
}

/* Permalink (anchor link icon) */
.card-permalink{
   display:inline-flex;align-items:center;margin-left:.4rem;
   opacity:0;transition:opacity .2s;vertical-align:middle;
}
.card-head:hover .card-permalink{opacity:.5}
.card-permalink:hover{opacity:1!important}
.card-permalink svg{width:14px;height:14px}

/* Dot on spine */
.card .dot{display:none}
@media(min-width:769px){
   .card{width:47%}
   .card:nth-child(odd){margin-left:3%}
   .card:nth-child(even){margin-left:50%}
   .card .dot{
      display:block;position:absolute;top:1rem;width:12px;height:12px;
      border-radius:50%;background:var(--accent);border:3px solid #fff;
      box-shadow:0 0 0 2px var(--accent);z-index:2;
   }
   .card:nth-child(odd) .dot{right:-22px}
   .card:nth-child(even) .dot{left:-22px}
}
@media(max-width:768px){
   .card{width:100%}
   .card-inner{border-left-width:5px}
}

/* **** EMPTY STATE **** */
.empty{text-align:center;padding:4rem 1rem;color:var(--js-iron)}
.empty svg{margin-bottom:.8rem;opacity:.25}
.empty p{font-size:15px}

/* **** SCROLL TO TOP **** */
.scroll-top{
   position:fixed;bottom:1.5rem;right:1.5rem;width:42px;height:42px;border-radius:50%;
   background:var(--js-space);color:#fff;border:none;cursor:pointer;display:flex;
   align-items:center;justify-content:center;
   box-shadow:0 3px 12px rgba(0,0,0,.2);
   opacity:0;transform:translateY(10px);transition:all .3s;z-index:99;
}
.scroll-top.visible{opacity:1;transform:translateY(0)}
.scroll-top:hover{background:var(--js-teal);transform:translateY(-2px)}

/* **** PRINT **** */
@media print{
   .controls,.hero,.scroll-top{display:none!important}
   .card{break-inside:avoid;opacity:1!important;transform:none!important;width:100%!important;margin-left:0!important}
   .timeline::before{display:none}
}
