.policy-entry{margin-top:16px}.policy-wrap{padding-top:28px;padding-bottom:60px}
.policy-heading{max-width:760px;margin:26px 0}.policy-heading h1{font-size:38px;margin:10px 0}.policy-heading p{color:var(--ink-2);line-height:1.65}
.policy-layout{display:grid;grid-template-columns:minmax(280px, .8fr) minmax(0, 1.2fr);gap:24px;align-items:start}
.policy-compose label{display:block;font-weight:600;margin-bottom:9px}.policy-compose textarea,.policy-compose select{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;color:var(--ink);background:white;box-sizing:border-box}
.policy-compose textarea{resize:vertical;min-height:150px;line-height:1.6}.policy-compose .live-note{margin:10px 0 22px;line-height:1.6}
.policy-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.policy-wrap .btn{min-height:44px}.policy-controls [hidden]{display:none}
.policy-wrap :focus-visible{outline:3px solid var(--blue);outline-offset:3px}.policy-controls button:disabled{opacity:.65;cursor:wait}
.policy-disclaimer{font-size:12px;color:var(--muted);line-height:1.6;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}
.policy-result{min-width:0;min-height:240px;overflow-wrap:anywhere}.policy-result p{line-height:1.65}.policy-result h2{font-size:22px;margin:10px 0}.policy-result h3{font-size:17px;margin:0 0 12px}.policy-result section{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
.policy-result ul{padding-left:22px;margin:0}.policy-result li{margin:12px 0;line-height:1.65;white-space:pre-wrap}.policy-citations{display:flex;flex-direction:column;gap:6px;margin-top:9px;white-space:normal;font-size:13px}.policy-citations a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.policy-state{display:inline-block;padding:6px 10px;border-radius:7px;background:var(--blue-tint);color:var(--blue-deep);font-weight:600;font-size:13px}.policy-state.partial{background:#fff2d8;color:#755013}.policy-error{color:#96351f}.policy-retry{margin-top:15px}
@media(max-width:1100px){#nav button[data-go=policy]{padding-left:8px;padding-right:8px}}
@media(max-width:800px){.policy-layout{grid-template-columns:1fr}.policy-heading h1{font-size:30px}.policy-wrap{padding-left:18px;padding-right:18px}.policy-result{min-height:180px}.policy-compose,.policy-result{padding:20px}.policy-controls .btn{flex:1}}
