:root{--navy:#17365b;--ink:#152f4d;--muted:#5a6677;--line:#d9e1ea;--red:#e42b35;--paper:#f3f6fa;--blue:#eaf1fa;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper)}a{color:inherit}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}:focus-visible{outline:3px solid #e18b00;outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-70px;left:20px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}.masthead{background:var(--navy);color:#fff;display:flex;align-items:center;gap:34px;padding:20px max(5vw,24px);min-height:105px;border-bottom:4px solid var(--red)}.brand{display:flex}.brand img{object-fit:contain;height:59px;width:165px}.cycle{border-left:1px solid #58708c;padding-left:30px;font-size:.75rem;letter-spacing:.13em;line-height:1.8}.cycle span{display:block;font-size:.95rem;letter-spacing:0}.toplink{margin-left:auto;font-size:.9rem;text-decoration:none}.toplink span{padding-left:12px}main{max-width:1450px;margin:auto;padding:48px max(5vw,24px) 55px}.intro{display:flex;justify-content:space-between;align-items:center;gap:50px;margin-bottom:46px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;margin:0 0 14px;color:#536982}h1{font-size:clamp(2rem,3.2vw,3.25rem);line-height:1.1;letter-spacing:-.045em;margin:0 0 22px}h1 span{color:#62758c}.lede{font-size:1rem;line-height:1.65;max-width:650px;margin:0;color:var(--muted)}.period{padding:20px 0 20px 25px;border-left:3px solid #c2d0e0;min-width:245px;font-size:.95rem}.period p{margin:9px 0 14px}.period small{font-size:.8rem;line-height:1.6;color:var(--muted)}.period-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--red);margin-right:9px}.workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:start}.sidebar{position:sticky;top:24px}.field-label{font-size:.9rem;font-weight:700}.searchbox{display:flex;align-items:center;background:white;border:1px solid #b9c8da;border-radius:6px;margin-top:10px;padding:0 10px;height:48px;gap:8px}.searchbox span{font-size:1.8rem}.searchbox input{width:100%;min-width:0;border:0;background:none;font-size:.9rem;outline:none}.searchbox:focus-within{outline:2px solid var(--navy);outline-offset:2px}.searchbox button{border:0;background:none;font-size:1.4rem}.navlabel{font-size:.72rem;font-weight:bold;letter-spacing:.1em;color:var(--muted);margin:30px 0 10px}nav{display:flex;flex-direction:column;gap:4px}.filter{border:0;background:none;border-radius:5px;text-align:left;padding:12px;font-size:.9rem;color:var(--ink);display:flex;justify-content:space-between;gap:8px;align-items:center}.filter:hover{background:#e6edf5}.filter.active{background:var(--navy);color:white}.filter span{font-size:.75rem;opacity:.8}.help{border-top:1px solid var(--line);margin-top:26px;padding-top:24px;font-size:.875rem;line-height:1.6}.help p{color:var(--muted)}.help a{text-underline-offset:4px;font-weight:bold;font-size:.8rem}.results-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px;min-height:60px}.results-head .eyebrow{font-size:.68rem;margin-bottom:8px}h2{font-size:1.5rem;letter-spacing:-.025em;margin:0}#count{white-space:nowrap;font-size:.8rem;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{background:white;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:245px;transition:border-color .15s,box-shadow .15s}.card:hover{border-color:#8fa4bf;box-shadow:0 5px 20px #17365b0a}.card.checked{border:2px solid var(--navy)}.card-body{padding:23px 23px 20px;flex:1}.card-top{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:19px}.card-area{color:#667990;font-size:.67rem;font-weight:bold;letter-spacing:.07em;text-transform:uppercase}.check-label{display:flex;align-items:center;gap:5px;font-size:.73rem;white-space:nowrap;cursor:pointer}.check-label input,input[type=checkbox]{width:18px;height:18px;accent-color:var(--navy);cursor:pointer}.card h3{font-size:1.2rem;line-height:1.27;margin:0 0 12px;letter-spacing:-.015em}.card p{font-size:.9rem;line-height:1.55;color:var(--muted);margin:0}.card-bottom{border-top:1px solid #edf0f5;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 23px;background:#fbfcfe}.tag{font-size:.75rem;color:#65738a}.card-link{font-size:.875rem;font-weight:bold;text-decoration:none;white-space:nowrap}.card-link span{padding-left:8px;color:var(--red)}.empty{background:white;padding:45px;border:1px dashed #b9c8da;border-radius:8px;text-align:center}.empty p{color:var(--muted)}footer{max-width:1450px;margin:auto;padding:25px max(5vw,24px) 140px;border-top:1px solid var(--line);display:flex;gap:25px;align-items:start;font-size:.75rem;line-height:1.6;color:var(--muted)}footer strong{white-space:nowrap;color:var(--ink)}footer span{max-width:650px}footer a{margin-left:auto}.selectionbar{position:fixed;bottom:0;left:0;width:100%;background:#fff;border-top:1px solid #cdd8e5;box-shadow:0 -4px 20px #17365b09;z-index:5;padding:18px max(5vw,24px);display:flex;align-items:center;gap:22px}.selectionbar>div{margin-right:auto}.selectionbar b{display:block;font-size:.9rem}.selectionbar span#selection-hint{display:block;color:var(--muted);font-size:.78rem;margin-top:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:13px 18px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:5px;font-size:.9rem;font-weight:700;text-decoration:none;min-height:46px}.button:hover{background:#254d7b}.button.secondary{background:white;color:var(--navy);border-color:#b9c8da}.button.secondary:hover{background:var(--blue)}.textbutton{border:0;background:none;color:var(--muted);font-size:.8rem;text-decoration:underline;text-underline-offset:4px}dialog{padding:0;border:0;border-radius:10px;width:min(1000px,calc(100% - 32px));max-height:calc(100dvh - 48px);color:var(--ink);box-shadow:0 20px 100px #0004}dialog::backdrop{background:#0c244abb;backdrop-filter:blur(3px)}.dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:15px 28px;background:var(--navy);color:white;font-size:.8rem;font-weight:bold;letter-spacing:.03em}.dialog-head button{background:none;color:white;border:0;font-size:1.8rem;width:35px;height:35px}.dialog-body{padding:30px}.dialog-body h2{font-size:1.8rem;margin:0 0 13px;line-height:1.2}.dialog-body .detail-intro{line-height:1.6;color:var(--muted)}.dialog-body h3{font-size:1.05rem;margin:28px 0 12px}.table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:4px}table{border-collapse:collapse;width:100%;font-size:.85rem;line-height:1.5;text-align:left}th{background:var(--navy);color:white;font-size:.75rem;vertical-align:top}th,td{padding:10px 12px;border-bottom:1px solid var(--line)}tbody tr:nth-child(even){background:#f3f6fa}td{vertical-align:top}td:not(:first-child){min-width:90px}.notes{font-size:.875rem;line-height:1.65;padding-left:22px}.notes li{padding-left:4px;margin-bottom:9px}.notice{background:var(--blue);border-left:3px solid #7291b6;padding:15px 18px;font-size:.8rem;line-height:1.6;margin-top:22px}.source{font-size:.73rem;color:var(--muted);margin-top:20px}.dialog-actions{position:sticky;bottom:0;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 28px;border-top:1px solid var(--line);box-shadow:0 -5px 15px #17365b08}.dialog-actions label{font-size:.875rem;display:flex;align-items:center;gap:8px}.dialog-actions>div{display:flex;gap:9px}#toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);max-width:90%;z-index:20;background:var(--navy);color:white;border-radius:6px;padding:15px 22px;font-size:.9rem}.print-only{display:none}@media(max-width:1050px){.workspace{grid-template-columns:210px minmax(0,1fr);gap:25px}.cards{grid-template-columns:1fr}.period{min-width:210px}.intro{gap:24px}main{padding-top:34px}}@media(max-width:700px){.masthead{padding:14px 20px;gap:18px}.brand img{width:135px;height:49px}.cycle{padding-left:15px;font-size:.55rem}.cycle span{font-size:.75rem}.toplink{display:none}main{padding:28px 20px}.intro{display:block;margin-bottom:27px}h1{font-size:2.15rem}.period{border-left:0;border-top:1px solid var(--line);padding:16px 0 0;margin-top:22px;min-width:0}.period p{display:inline;font-size:.8rem;margin-left:10px}.period small{display:block;margin-top:8px}.period small br{display:none}.workspace{display:block}.sidebar{position:static}.help{display:none}nav{flex-direction:row;overflow-x:auto;padding:4px 0 12px;gap:6px}.filter{white-space:nowrap;background:#e6edf5;padding:10px}.navlabel{margin-top:20px}.results-head{margin-top:20px}h2{font-size:1.3rem}.selectionbar{padding:12px 20px;gap:10px;flex-wrap:wrap}.selectionbar>div{flex:1}.selectionbar span#selection-hint{display:none}.selectionbar .button{font-size:.8rem;padding:12px}.selectionbar b{font-size:.8rem}.textbutton{font-size:.7rem}footer{display:block;padding:20px 20px 120px}footer span{display:block;margin:10px 0}.dialog-body{padding:22px 18px}.dialog-body h2{font-size:1.5rem}.dialog-head{padding:10px 18px}.dialog-actions{padding:12px 18px;align-items:stretch;flex-direction:column}.dialog-actions>div{display:grid;grid-template-columns:1fr 1fr}.dialog-actions .button{font-size:.78rem;padding:10px}.table-wrap{border-radius:0}.card-body{padding:20px}.card-bottom{padding:13px 20px}}@media print{@page{size:letter;margin:12mm}body{background:#fff}body>*{display:none!important}dialog[open]{display:block!important;position:static;width:100%;max-height:none;border:0;box-shadow:none;overflow:visible}.dialog-head,.dialog-actions{display:none!important}.dialog-body{padding:0}.table-wrap{overflow:visible}table{font-size:8pt}th,td{padding:5px}tr{break-inside:avoid}.notes,.notice{font-size:8pt}h3{break-after:avoid}}

/* Readable controls across desktop and mobile. */
.check-label,.tag,#count,.textbutton{font-size:.875rem}.card p{font-size:1rem}.filter{font-size:.9rem}.selectionbar span#selection-hint{font-size:.875rem}
