:root{--primary: #1f5c4d;--primary-dark: #163f36;--border: #e3dccd;--surface: #ffffff;--shadow-soft: 0 2px 14px rgba(42,38,34,0.07);--surface-muted: #faf6ee;--text-main: #2a2622;--text-muted: #6b6258;--border-dark: #cbc0aa;--pc-accent: #b84e1f;--pc-t1: #f1dfb0;--pc-t1d: #9a6f0f;--pc-t2: #d3e3c9;--pc-t2d: #3f7d55;--pc-t3: #cfe0e6;--pc-t3d: #2f6f88;--pc-serif: "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;}
.pc-desk{background: var(--surface);border: 1px solid var(--border);border-radius: 1.25rem;box-shadow: var(--shadow-soft);overflow: hidden;margin-bottom: 1.75rem;}
.pc-meta{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 0.3rem 1rem;padding: 0.75rem 1.25rem;border-bottom: 1px solid var(--border);font-size: 0.8rem;color: var(--text-muted);}
.pc-meta .author-link{color: var(--primary);font-weight: 700;text-decoration: none;}
.pc-meta .author-link:hover,.pc-meta .author-link:focus-visible{text-decoration: underline;}
.pc-body{display: grid;grid-template-columns: 1fr;}
.pc-controls{padding: 1.25rem;background: var(--surface-muted);border-bottom: 1px solid var(--border);}
.pc-results{padding: 1.25rem;min-width: 0;}
.pc-legend{font-size: 0.78rem;font-weight: 800;text-transform: uppercase;letter-spacing: 0.06em;color: var(--text-muted);margin: 0 0 0.6rem;padding: 0;float: none;width: auto;}
.pc-methods{border: 0;padding: 0;margin: 0 0 1.1rem;min-width: 0;}
.pc-method{position: relative;display: grid;grid-template-columns: auto 1fr;column-gap: 0.7rem;row-gap: 0.1rem;padding: 0.65rem 0.85rem;margin: 0 0 0.5rem;background: var(--surface);border: 1.5px solid var(--border);border-radius: 0.8rem;cursor: pointer;transition: border-color 0.15s ease, box-shadow 0.15s ease;}
.pc-method:hover{border-color: var(--border-dark);}
.pc-method input{position: absolute;inset: 0;width: 100%;height: 100%;margin: 0;opacity: 0;cursor: pointer;}
.pc-dot{grid-row: 1 / 3;width: 1.1rem;height: 1.1rem;margin-top: 0.15rem;border: 2px solid var(--border-dark);border-radius: 50%;background: var(--surface);transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;}
.pc-method input:checked ~ .pc-dot{border-color: var(--primary);background: var(--primary);box-shadow: inset 0 0 0 3px var(--surface);}
.pc-method:has(input:checked){border-color: var(--primary);box-shadow: 0 0 0 3px rgba(31,92,77,0.12);}
.pc-method input:focus-visible ~ .pc-dot{outline: 2px solid var(--primary);outline-offset: 3px;}
.pc-mname{font-weight: 700;font-size: 0.95rem;color: var(--text-main);line-height: 1.3;}
.pc-mhint{font-size: 0.8rem;color: var(--text-muted);line-height: 1.4;}
.pc-field{display: flex;flex-direction: column;gap: 0.35rem;margin-bottom: 1rem;min-width: 0;}
.pc-label{font-size: 0.85rem;font-weight: 700;color: var(--text-main);margin: 0;}
.pc-hint{font-size: 0.78rem;color: var(--text-muted);margin: 0;line-height: 1.45;}
.pc-input{width: 100%;min-width: 0;padding: 0.65rem 0.8rem;font-size: 1rem;font-weight: 600;color: var(--text-main);background: var(--surface);border: 1.5px solid var(--border-dark);border-radius: 0.65rem;}
.pc-input:focus{outline: none;border-color: var(--primary);box-shadow: 0 0 0 3px rgba(31,92,77,0.15);}
.pc-pair{display: grid;grid-template-columns: 1fr 1fr;gap: 0.6rem;}
.pc-pair label{display: flex;flex-direction: column;gap: 0.3rem;font-size: 0.78rem;font-weight: 700;color: var(--text-muted);}
.pc-stepper{display: grid;grid-template-columns: 2.8rem 1fr 2.8rem;gap: 0.4rem;}
.pc-stepper .pc-input{text-align: center;}
.pc-step{border: 1.5px solid var(--border-dark);border-radius: 0.65rem;background: var(--surface);color: var(--text-main);font-size: 1.25rem;font-weight: 700;line-height: 1;cursor: pointer;}
.pc-step:hover{border-color: var(--primary);color: var(--primary);}
.pc-seg{display: grid;grid-template-columns: repeat(3, 1fr);border: 1.5px solid var(--border-dark);border-radius: 0.65rem;overflow: hidden;background: var(--surface);}
.pc-seg label{position: relative;margin: 0;text-align: center;cursor: pointer;}
.pc-seg input{position: absolute;opacity: 0;inset: 0;width: 100%;height: 100%;margin: 0;cursor: pointer;}
.pc-seg span{display: block;padding: 0.6rem 0.4rem;font-size: 0.9rem;font-weight: 700;color: var(--text-muted);border-left: 1.5px solid var(--border);}
.pc-seg label:first-child span{border-left: 0;}
.pc-seg input:checked + span{background: var(--primary);color: #ffffff;}
.pc-seg input:focus-visible + span{outline: 2px solid var(--primary);outline-offset: -3px;}
.pc-sample{color: var(--pc-accent);font-weight: 700;}
.pc-error{margin: 0 0 1rem;padding: 0.6rem 0.8rem;border-radius: 0.6rem;background: #fbebe4;border: 1px solid #e9b9a3;color: #8a3512;font-size: 0.85rem;font-weight: 600;}
.pc-actions{display: flex;gap: 0.6rem;flex-wrap: wrap;}
.pc-btn{display: inline-flex;align-items: center;justify-content: center;gap: 0.45rem;padding: 0.6rem 1rem;font-size: 0.875rem;font-weight: 700;border-radius: 0.65rem;border: 1.5px solid var(--border-dark);background: var(--surface);color: var(--text-main);cursor: pointer;transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;}
.pc-btn:hover{border-color: var(--primary);color: var(--primary);}
.pc-btn:focus-visible,.pc-cell:focus-visible,.pc-step:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;}
.pc-btn-solid{background: var(--primary);border-color: var(--primary);color: #ffffff;}
.pc-btn-solid:hover{background: var(--primary-dark);border-color: var(--primary-dark);color: #ffffff;}
.pc-empty{padding: 2.5rem 1rem;text-align: center;color: var(--text-muted);font-size: 0.95rem;}
.pc-empty strong{display: block;font-family: var(--pc-serif);font-size: 1.5rem;color: var(--text-main);margin-bottom: 0.4rem;}
.pc-hero{padding: 1.1rem 1.25rem;background: var(--surface-muted);border: 1px solid var(--border);border-left: 6px solid var(--pc-accent);border-radius: 0.9rem;margin-bottom: 1rem;}
.pc-kicker{margin: 0 0 0.25rem;font-size: 0.75rem;font-weight: 800;text-transform: uppercase;letter-spacing: 0.08em;color: var(--pc-accent);}
.pc-date{margin: 0;font-family: var(--pc-serif);font-size: 2.15rem;line-height: 1.12;color: var(--text-main);font-weight: 700;}
.pc-date small{display: block;font-family: inherit;font-size: 1rem;font-weight: 400;font-style: italic;color: var(--text-muted);margin-bottom: 0.15rem;}
.pc-countdown{margin: 0.4rem 0 0;font-size: 0.9rem;font-weight: 600;color: var(--text-muted);}
.pc-now{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.7rem 1.2rem;margin-bottom: 1rem;}
.pc-age{display: flex;align-items: baseline;gap: 0.3rem;}
.pc-age-n{font-family: var(--pc-serif);font-size: 3.4rem;font-weight: 700;line-height: 1;color: var(--primary);font-variant-numeric: tabular-nums;}
.pc-age-u{font-size: 0.85rem;font-weight: 700;color: var(--text-muted);margin-right: 0.7rem;}
.pc-chips{display: flex;flex-wrap: wrap;gap: 0.4rem;}
.pc-chip{padding: 0.3rem 0.7rem;border-radius: 999px;border: 1.5px solid var(--border-dark);font-size: 0.8rem;font-weight: 700;color: var(--text-main);background: var(--surface);}
.pc-chip-t1{background: var(--pc-t1);border-color: var(--pc-t1);}
.pc-chip-t2{background: var(--pc-t2);border-color: var(--pc-t2);}
.pc-chip-t3{background: var(--pc-t3);border-color: var(--pc-t3);}
.pc-stats{display: grid;grid-template-columns: repeat(3, 1fr);margin: 0 0 1.25rem;border: 1px solid var(--border);border-radius: 0.8rem;overflow: hidden;}
.pc-stats div{padding: 0.7rem 0.85rem;border-left: 1px solid var(--border);min-width: 0;}
.pc-stats div:first-child{border-left: 0;}
.pc-stats dt{font-size: 0.7rem;font-weight: 800;text-transform: uppercase;letter-spacing: 0.06em;color: var(--text-muted);margin: 0 0 0.15rem;}
.pc-stats dd{margin: 0;font-size: 1.05rem;font-weight: 700;color: var(--text-main);}
.pc-h{font-size: 1.05rem;font-weight: 800;color: var(--text-main);margin: 0;}
.pc-ribbon-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.4rem 1rem;margin-bottom: 0.7rem;}
.pc-key{display: flex;flex-wrap: wrap;gap: 0.3rem 0.9rem;margin: 0;padding: 0;list-style: none;font-size: 0.75rem;font-weight: 600;color: var(--text-muted);}
.pc-key li{display: inline-flex;align-items: center;gap: 0.35rem;}
.pc-key i{width: 0.8rem;height: 0.8rem;border-radius: 0.25rem;display: inline-block;}
.pc-key .k1{background: var(--pc-t1d);}
.pc-key .k2{background: var(--pc-t2d);}
.pc-key .k3{background: var(--pc-t3d);}
.pc-key .kn{background: var(--pc-accent);}
.pc-ribbon{display: grid;grid-template-columns: 1.7rem repeat(7, 1fr);gap: 0.35rem;}
.pc-rowlab{grid-row: span 2;display: flex;align-items: center;justify-content: center;font-size: 0.72rem;font-weight: 800;letter-spacing: 0.04em;color: var(--text-muted);}
.pc-cell{position: relative;min-height: 2.5rem;padding: 0;border: 0;border-radius: 0.55rem;font-size: 0.95rem;font-weight: 700;font-variant-numeric: tabular-nums;color: var(--text-main);cursor: pointer;transition: transform 0.12s ease;}
.pc-cell:hover{transform: translateY(-2px);}
.pc-cell.t1{background: var(--pc-t1);}
.pc-cell.t2{background: var(--pc-t2);}
.pc-cell.t3{background: var(--pc-t3);}
.pc-cell.t1.pc-done{background: var(--pc-t1d);color: #ffffff;}
.pc-cell.t2.pc-done{background: var(--pc-t2d);color: #ffffff;}
.pc-cell.t3.pc-done{background: var(--pc-t3d);color: #ffffff;}
.pc-cell.pc-cur{background: var(--pc-accent);color: #ffffff;box-shadow: 0 0 0 3px #ffffff, 0 0 0 5px var(--pc-accent);z-index: 1;}
.pc-cell.pc-due{outline: 2px dashed var(--pc-accent);outline-offset: 2px;}
.pc-cell[aria-pressed="true"]{box-shadow: inset 0 0 0 2px var(--text-main);}
.pc-cell.pc-cur[aria-pressed="true"]{box-shadow: 0 0 0 3px #ffffff, 0 0 0 5px var(--pc-accent), inset 0 0 0 2px #ffffff;}
.pc-detail{min-height: 2.7rem;margin: 0.9rem 0 0;padding: 0.6rem 0.8rem;border-radius: 0.65rem;background: var(--surface-muted);border: 1px solid var(--border);font-size: 0.85rem;line-height: 1.5;color: var(--text-main);}
.pc-detail strong{font-family: var(--pc-serif);font-size: 1rem;}
.pc-terms{display: grid;grid-template-columns: repeat(2, 1fr);gap: 0.5rem;margin: 0.7rem 0 1.25rem;padding: 0;list-style: none;}
.pc-terms li{padding: 0.55rem 0.75rem;border: 1.5px solid var(--border);border-radius: 0.7rem;display: flex;flex-direction: column;gap: 0.1rem;}
.pc-terms li.pc-on{border-color: var(--pc-accent);background: #fbf0e9;}
.pc-terms b{font-size: 0.82rem;color: var(--text-main);}
.pc-terms span{font-size: 0.8rem;color: var(--text-muted);}
.pc-note{margin: 0 0 1rem;font-size: 0.85rem;color: var(--text-muted);line-height: 1.5;}
.pc-datewrap{padding: 1.25rem;border-top: 1px solid var(--border);background: var(--surface-muted);}
.pc-datehead{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.7rem 1rem;margin-bottom: 0.9rem;}
.pc-dates{display: grid;grid-template-columns: 1fr;gap: 0.5rem;margin: 0;padding: 0;list-style: none;}
.pc-di{display: grid;grid-template-columns: 3.1rem 1fr auto;align-items: center;gap: 0.75rem;padding: 0.5rem 0.75rem 0.5rem 0.5rem;background: var(--surface);border: 1.5px solid var(--border);border-radius: 0.75rem;}
.pc-dd{display: flex;flex-direction: column;align-items: center;border-radius: 0.5rem;overflow: hidden;border: 1px solid var(--border-dark);background: var(--surface);}
.pc-dd b{width: 100%;text-align: center;background: var(--primary);color: #ffffff;font-size: 0.62rem;letter-spacing: 0.08em;text-transform: uppercase;padding: 0.1rem 0;}
.pc-dd i{font-style: normal;font-family: var(--pc-serif);font-size: 1.2rem;font-weight: 700;line-height: 1.35;color: var(--text-main);}
.pc-dt{display: flex;flex-direction: column;min-width: 0;}
.pc-dt strong{font-size: 0.85rem;color: var(--text-main);}
.pc-dt span{font-size: 0.8rem;color: var(--text-muted);line-height: 1.4;}
.pc-tag{font-size: 0.68rem;font-weight: 800;text-transform: uppercase;letter-spacing: 0.06em;color: var(--text-muted);}
.pc-di.pc-past{opacity: 0.6;}
.pc-di.pc-past .pc-dd b{background: var(--border-dark);}
.pc-di.pc-next{border-color: var(--pc-accent);box-shadow: 0 0 0 3px rgba(184,78,31,0.12);}
.pc-di.pc-next .pc-dd b{background: var(--pc-accent);}
.pc-di.pc-next .pc-tag{color: var(--pc-accent);}
.pc-sr{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0,0,0,0);border: 0;}
.pc-content{margin: 0 auto 2rem;color: var(--text-main);}
.pc-content h2{font-size: 1.55rem;font-weight: 800;margin: 2.2rem 0 0.8rem;line-height: 1.25;}
.pc-content h3{font-size: 1.15rem;font-weight: 700;margin: 1.5rem 0 0.5rem;}
.pc-content p,.pc-content li{font-size: 1rem;line-height: 1.75;}
.pc-content a{color: var(--primary);font-weight: 600;}
.pc-lead{font-family: var(--pc-serif);font-size: 1.2rem !important;line-height: 1.65 !important;padding-left: 1.1rem;border-left: 4px solid var(--pc-accent);}
.pc-tablewrap{overflow-x: auto;margin: 1rem 0 1.25rem;border: 1px solid var(--border);border-radius: 0.8rem;}
.pc-table{width: 100%;min-width: 560px;border-collapse: collapse;font-size: 0.92rem;}
.pc-table th{background: var(--surface-muted);text-align: left;font-size: 0.72rem;font-weight: 800;text-transform: uppercase;letter-spacing: 0.06em;color: var(--text-muted);padding: 0.6rem 0.8rem;border-bottom: 1px solid var(--border);}
.pc-table td{padding: 0.6rem 0.8rem;border-top: 1px solid var(--border);vertical-align: top;line-height: 1.5;}
.pc-table tbody tr:first-child td{border-top: 0;}
.pc-table td:first-child{font-weight: 700;}
.pc-receipt{margin: 1rem 0 1.25rem;padding: 1rem 1.2rem;background: #fffdf8;border: 1px dashed var(--border-dark);border-radius: 0.8rem;font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size: 0.9rem;}
.pc-receipt div{display: flex;align-items: baseline;gap: 0.5rem;padding: 0.2rem 0;}
.pc-receipt dt{display: flex;flex: 1 1 auto;align-items: baseline;gap: 0.5rem;margin: 0;font-weight: 400;color: var(--text-muted);}
.pc-receipt dt::after{content: "";flex: 1 1 auto;min-width: 1rem;border-bottom: 2px dotted var(--border-dark);transform: translateY(-0.2rem);}
.pc-receipt dd{margin: 0;font-weight: 700;color: var(--text-main);text-align: right;}
.pc-receipt .pc-total dt,.pc-receipt .pc-total dd{color: var(--pc-accent);font-weight: 800;}
.pc-callout{margin: 1.75rem 0;padding: 1.1rem 1.3rem;background: var(--surface-muted);border: 1px solid var(--border);border-left: 6px solid var(--primary);border-radius: 0.9rem;}
.pc-callout-title{font-family: var(--pc-serif);font-size: 1.25rem;font-weight: 700;margin: 0 0 0.5rem !important;}
.pc-callout ul{margin: 0.4rem 0 0;padding-left: 1.2rem;}
.pc-callout li{margin-bottom: 0.4rem;}
@media (min-width: 576px){.pc-terms{grid-template-columns: repeat(4, 1fr);}.pc-dates{grid-template-columns: 1fr 1fr;}}
@media (min-width: 992px){.pc-body{grid-template-columns: 370px minmax(0, 1fr);}.pc-controls{border-bottom: 0;border-right: 1px solid var(--border);}.pc-results{padding: 1.5rem;}.pc-date{font-size: 2.5rem;}.pc-cell{min-height: 2.8rem;}}
@media (max-width: 575px){.pc-date{font-size: 1.8rem;}.pc-age-n{font-size: 2.8rem;}.pc-ribbon{grid-template-columns: 1.4rem repeat(7, 1fr);gap: 0.25rem;}.pc-cell{min-height: 2.3rem;font-size: 0.85rem;}.pc-content h2{font-size: 1.35rem;}.pc-stats dd{font-size: 0.95rem;}}
@media (prefers-reduced-motion: reduce){.pc-cell,.pc-method,.pc-dot,.pc-btn{transition: none;}.pc-cell:hover{transform: none;}}
