:root{color-scheme:light;--ink:#17263b;--muted:#66758a;--line:#e2e8ee;--paper:#fff;--wash:#f4f7fa;--green:#c3f278;--blue:#235c4a;--dark:#1d2837;--shadow:0 14px 36px #20334b0c}*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:15px}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(26px,calc((100vw - 1180px)/2));}.brand{color:var(--ink);text-decoration:none;display:inline-flex;gap:11px;align-items:center;font-weight:700}.brand-icon{width:30px;height:30px;background:var(--green);color:#193b30;border-radius:9px;display:inline-grid;place-items:center;font-family:Manrope,sans-serif;font-weight:800}.eyebrow{font:500 10px "DM Mono",monospace;letter-spacing:.13em;color:#52705e;margin:0 0 12px}.topbar .eyebrow{margin:0}.shell{max-width:1180px;margin:auto;padding:52px 24px 24px}.hero{display:grid;grid-template-columns:1fr 290px;gap:60px;align-items:center;padding:12px 2px 52px}.hero h1{font:700 clamp(42px,5vw,67px)/1.05 Manrope,sans-serif;letter-spacing:-.055em;margin:0 0 21px}.hero h1 span{color:#63846e}.lede{font-size:17px;line-height:1.65;color:var(--muted);max-width:650px;margin:0}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:25px}.button{border:0;border-radius:8px;padding:11px 15px;cursor:pointer;font:600 13px "DM Sans",sans-serif;display:inline-flex;gap:10px;align-items:center;text-decoration:none;justify-content:center}.primary{background:var(--dark);color:#fff}.primary:hover{background:#344b60}.light{background:#f0f4f7;color:#213345;border:1px solid var(--line)}.light:hover{background:#e8eff3}.text-link{font-size:13px;color:#4e6958;text-decoration:none;font-weight:600}.hero-note{padding:22px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.note-dot{width:9px;height:9px;background:#71be8e;border-radius:100%;display:inline-block;margin-right:8px}.hero-note strong{font-size:14px}.hero-note p{color:var(--muted);font-size:13px;line-height:1.6;margin:12px 0 0}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);overflow:auto}.tab{background:none;border:0;padding:14px 0;color:#788598;font:600 13px "DM Sans",sans-serif;white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--ink);border-bottom-color:#63846e}.panel{background:var(--paper);border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;padding:29px 30px 24px;box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.panel-heading h2,.references h2{font:700 23px Manrope,sans-serif;letter-spacing:-.035em;margin:0}.panel-heading .eyebrow{margin-bottom:8px}.subtle{font-size:13px;color:var(--muted);line-height:1.6;max-width:700px}.panel-heading .subtle{margin:8px 0 0}.view-toggle,.seg{display:flex}.view-toggle{padding:3px;border-radius:8px;background:#f0f3f5}.seg{border:0;background:none;border-radius:6px;padding:7px 13px;color:#6c7a8a;font:600 12px "DM Sans",sans-serif;cursor:pointer}.seg.active{background:#fff;box-shadow:0 1px 4px #27394a1c;color:var(--ink)}.controls,.api-form{display:flex;align-items:end;gap:11px;flex-wrap:wrap;padding:15px;background:#f7f9fb;border:1px solid #edf0f3;border-radius:9px}.controls label,.api-form label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#637183}.controls select,.api-form select,.api-form input,.controls input{min-width:115px;border:1px solid #dce3e9;border-radius:6px;background:white;color:var(--ink);height:38px;padding:0 10px;font:500 12px "DM Sans",sans-serif}.controls .primary{height:38px;margin-left:auto}.export-row{display:flex;align-items:center;gap:8px;padding:12px 0 17px}.export-row .button{font-size:11px;padding:8px 10px}.export-row #status{font-size:11px;color:var(--muted);margin-left:auto}.calendar-output{min-height:345px}.month-view{border:1px solid var(--line);border-radius:9px;overflow:hidden}.month-title{padding:18px 20px;display:flex;align-items:baseline;justify-content:space-between}.month-title h3{font:700 19px Manrope,sans-serif;margin:0}.month-title span{font:11px "DM Mono",monospace;color:var(--muted)}.calendar-table{border-collapse:collapse;width:100%;table-layout:fixed}.calendar-table th{font:500 10px "DM Mono",monospace;letter-spacing:.04em;text-align:left;padding:11px 12px;background:#f6f8fa;color:#738195;border-block:1px solid var(--line)}.calendar-table td{height:55px;vertical-align:top;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 11px;font-size:12px}.calendar-table td:last-child,.calendar-table th:last-child{border-right:0}.calendar-table tr:last-child td{border-bottom:0}.calendar-table .empty{background:#fbfcfd}.week-number{font:10px "DM Mono",monospace;color:#96a1af;margin-right:7px}.year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mini-month{border:1px solid var(--line);border-radius:8px;padding:11px}.mini-month h4{font:700 12px Manrope,sans-serif;margin:0 0 8px}.mini-month table{border-collapse:collapse;width:100%;text-align:center}.mini-month th{font:9px "DM Mono",monospace;color:#8491a1;padding:3px}.mini-month td{font-size:9px;color:#314153;padding:4px 1px}.mini-month .blank{color:transparent}.studio-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;margin-top:18px;font-size:10px;color:#8995a3}.pane.hidden,.hidden{display:none!important}.assertion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.assertion{border:1px solid var(--line);border-radius:8px;padding:14px}.assertion .pass{color:#2d8056;font:500 10px "DM Mono",monospace}.assertion strong{display:block;margin:7px 0 3px;font-size:13px}.assertion p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.fixture-actions{display:flex;align-items:center;gap:15px;margin-top:17px;font-size:12px;color:var(--muted)}.conversion{margin-bottom:14px}.conversion .button{height:38px}.result-box{margin:14px 0 0;background:#17263b;color:#d9e4ec;border-radius:8px;padding:16px;white-space:pre-wrap;overflow:auto;font:11px/1.6 "DM Mono",monospace;max-height:370px}.notice{margin-top:13px;padding:13px;background:#f5f8ef;border-left:3px solid #9dcc68;font-size:12px;line-height:1.6;color:#53634b}.api-form{align-items:end}.api-form label:first-child{min-width:175px}.api-form .button{height:38px}.references{margin:55px 0 44px;display:grid;grid-template-columns:1fr 1.2fr;column-gap:50px;row-gap:15px}.references h2{font-size:20px}.references .subtle{margin:8px 0 0}.reference-links{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.reference-links a{display:flex;justify-content:space-between;padding:11px 0;text-decoration:none;color:#33495a;font-size:12px;border-bottom:1px solid var(--line)}.reference-links a:hover{color:#527456}.small-note{grid-column:1/-1;font-size:10px;color:#8b96a2;margin:2px 0}.footer{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;justify-content:space-between}.footer p{font-size:11px;color:#8995a3;margin:10px 0 0}.footer-links{display:flex;gap:20px}.footer-links a{font-size:11px;color:#5f7180;text-decoration:none}
@media(max-width:800px){.shell{padding:34px 17px 20px}.hero{grid-template-columns:1fr;gap:22px;padding-bottom:36px}.hero-note{max-width:400px}.panel{padding:23px 16px}.controls .primary{margin-left:0}.year-grid{grid-template-columns:repeat(3,1fr)}.assertion-grid{grid-template-columns:repeat(2,1fr)}.references{grid-template-columns:1fr;gap:17px}.small-note{grid-column:auto}.studio-footer{gap:15px;flex-direction:column}.footer{align-items:flex-start;gap:18px;flex-direction:column}}
@media(max-width:500px){.topbar{padding:0 16px}.topbar .eyebrow{font-size:8px}.hero h1{font-size:44px}.panel-heading{align-items:flex-start;flex-direction:column}.year-grid{grid-template-columns:repeat(2,1fr)}.assertion-grid{grid-template-columns:1fr}.controls label{flex:1}.controls select{width:100%}.calendar-table td{height:43px;padding:6px 4px}.calendar-table th{padding:8px 4px;font-size:9px}.reference-links{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.export-row{flex-wrap:wrap}.export-row #status{width:100%;margin-left:0}}
@media print{body{background:white}.topbar,.hero,.tabs,.controls,.export-row,.references,.footer,.studio-footer,.view-toggle{display:none!important}.shell{max-width:none;padding:0}.panel{box-shadow:none;border:0;padding:0}.month-view{border:0}.calendar-table td{height:85px}}
