/* Uros Roleplay Policy Library v1.3 — open application-inspired layout */
:root{
    --policy-gold:#e6c15c;
    --policy-gold-bright:#f2d779;
    --policy-text:#d8d3ca;
    --policy-muted:#aaa49b;
    --policy-line:#3b3b3b;
    --policy-line-soft:rgba(255,255,255,.10);
    --policy-surface:rgba(0,0,0,.28);
    --policy-surface-strong:rgba(10,10,10,.72);
    --policy-success:#7bd89e;
    --policy-staff:#86bdf1;
    --policy-admin:#d6a7ef;
}
.uros-policy-page #content{background:transparent}
.policy-library-shell,.policy-doc-shell{width:100%;max-width:100%;margin:24px auto 46px;color:var(--policy-text)}
.policy-eyebrow{display:block;margin-bottom:5px;color:#b99c4d;font-size:.7rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.policy-library-head,.policy-doc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:8px 0 24px;border-bottom:1px solid #414141}
.policy-library-head h1,.policy-doc-head h1{margin:3px 0 8px;color:var(--policy-gold);font:700 clamp(2rem,4vw,2.8rem)/1.08 'Cinzel',Georgia,serif;letter-spacing:.035em;text-transform:uppercase}
.policy-library-head p,.policy-doc-head p{max-width:940px;margin:0;color:#c0bbb2;font-size:.96rem;line-height:1.68}
.policy-doc-icon{display:inline-flex;width:64px;height:64px;flex:0 0 64px;align-items:center;justify-content:center;border:1px solid rgba(230,193,92,.35);border-radius:6px;background:rgba(230,193,92,.07);color:var(--policy-gold);font-size:1.55rem}
.policy-back-link{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;color:#b7b0a5!important;font-size:.78rem;font-weight:800;text-transform:uppercase}.policy-back-link:hover{color:var(--policy-gold)!important}

.policy-search{margin:28px 0 18px}.policy-search>label{display:block;margin-bottom:9px;color:#e6ddc6;font:700 .85rem/1.2 'Cinzel',Georgia,serif;text-transform:uppercase}.policy-search>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;max-width:820px;border:1px solid #444;border-radius:6px;background:rgba(0,0,0,.34);overflow:hidden}.policy-search i{padding-left:16px;color:#b89a47}.policy-search input{width:100%;min-height:48px;padding:0 14px;border:0!important;background:transparent!important;color:#f2eee7!important;outline:none!important;font-size:.95rem}.policy-search input::placeholder{color:#777}.policy-search button{align-self:stretch;padding:0 20px;border:0;border-left:1px solid #444;background:#202020;color:#d0c8b8;font-size:.74rem;font-weight:900;text-transform:uppercase;cursor:pointer}.policy-search button:hover{background:var(--policy-gold);color:#111}
.policy-staff-note{display:flex;align-items:center;gap:11px;max-width:1000px;margin:10px 0 24px;padding:10px 0 10px 14px;border-left:3px solid #6ea7de;color:#aaa;font-size:.82rem;line-height:1.5}.policy-staff-note i{color:#8ec5f2}.policy-staff-note span{flex:1}.policy-staff-note a{color:#b9d9f4!important;font-weight:800;white-space:nowrap}
.policy-filters{display:flex;gap:8px;margin:20px 0 34px;padding:0 0 14px;overflow-x:auto;border-bottom:2px solid #333}.policy-filter{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;min-height:39px;padding:8px 13px;border:1px solid #353535;border-radius:4px;background:#202020;color:#aaa!important;font-size:.72rem;font-weight:900;text-transform:uppercase}.policy-filter span{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.06);color:#ccc;font-size:.65rem}.policy-filter:hover,.policy-filter.active{border-color:var(--policy-gold);background:var(--policy-gold);color:#111!important}.policy-filter:hover span,.policy-filter.active span{background:rgba(0,0,0,.12);color:#111}.policy-filter:hover i,.policy-filter.active i{color:#111}

/* v1.2 library landing: deliberately sparse. The landing page shows subjects, not the entire catalogue. */
.policy-search-row{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin:28px 0 34px;padding-bottom:24px;border-bottom:1px solid #3b3b3b}
.policy-search-row .policy-search{flex:1;margin:0}
.policy-staff-switch{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 2px;color:#85817a;font-size:.72rem;white-space:nowrap}.policy-staff-switch i{color:#6f99bd}.policy-staff-switch a{color:#a9c7e0!important;font-weight:800}.policy-staff-switch a:hover{color:#d4e9fa!important}
.policy-section-heading{margin:0 0 15px}.policy-section-heading h2{margin:3px 0 4px;color:var(--policy-gold);font:700 1.45rem/1.2 'Cinzel',Georgia,serif}.policy-section-heading p{max-width:760px;margin:0;color:#99938a;font-size:.84rem;line-height:1.55}
.policy-subjects{max-width:1040px}.policy-subject-list{display:flex;flex-direction:column;border-top:1px solid #393939}
.policy-subject-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto 18px;align-items:center;gap:15px;min-height:74px;padding:13px 4px;border-bottom:1px solid #393939;color:inherit!important;text-decoration:none!important;transition:background .15s ease,padding-left .15s ease}.policy-subject-row:hover{padding-left:10px;background:linear-gradient(90deg,rgba(230,193,92,.045),transparent)}
.policy-subject-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;color:#b79a4a;font-size:.92rem}.policy-subject-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.policy-subject-copy strong{color:#e6ded1;font:700 .98rem/1.3 'Cinzel',Georgia,serif}.policy-subject-copy small{color:#8f8980;font-size:.78rem;line-height:1.45}.policy-subject-count{color:#6f6a63;font-size:.68rem;font-weight:800;text-transform:uppercase;white-space:nowrap}.policy-subject-arrow{color:#8b753b;font-size:.72rem}
.policy-results{max-width:1040px}.policy-back-subjects{display:inline-flex;align-items:center;gap:7px;margin:0 0 18px;color:#aaa39a!important;font-size:.72rem;font-weight:800;text-transform:uppercase}.policy-back-subjects:hover{color:var(--policy-gold)!important}
.policy-result-list{display:flex;flex-direction:column;border-top:1px solid #393939}.policy-result-row{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:15px;padding:15px 4px;border-bottom:1px solid #393939;color:inherit!important;text-decoration:none!important;transition:background .15s ease,padding-left .15s ease}.policy-result-row:hover{padding-left:10px;background:linear-gradient(90deg,rgba(230,193,92,.04),transparent)}.policy-result-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;color:#b99b49;font-size:.9rem}.policy-result-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.policy-result-copy>strong{color:#e9e1d5;font:700 .92rem/1.3 'Cinzel',Georgia,serif}.policy-result-copy>small{max-width:800px;color:#969087;font-size:.78rem;line-height:1.45}.policy-result-meta{display:flex;align-items:center;gap:9px;margin-top:3px;color:#6f6a63;font-size:.63rem;font-weight:700;text-transform:uppercase}.policy-result-arrow{color:#89733a;font-size:.7rem}
.policy-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid #444}.policy-results-head span{color:#a68d47;font-size:.69rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.policy-results-head h2{margin:3px 0 0;color:var(--policy-gold);font:700 1.45rem/1.2 'Cinzel',Georgia,serif}.policy-results-head>a{color:#c1a450!important;font-size:.72rem;font-weight:900;text-transform:uppercase}
.policy-list{display:grid;grid-template-columns:1fr;gap:10px}.policy-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(150px,220px) 20px;align-items:center;gap:15px;padding:16px;border:1px solid #333;border-radius:6px;background:var(--policy-surface);color:inherit!important;text-decoration:none!important;transition:border-color .15s ease,background .15s ease}.policy-row:hover{border-color:rgba(230,193,92,.52);background:rgba(230,193,92,.045)}.policy-row-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid rgba(230,193,92,.27);border-radius:5px;background:rgba(230,193,92,.06);color:var(--policy-gold);font-size:1.05rem}.policy-row-copy{display:flex;min-width:0;flex-direction:column;gap:5px}.policy-row-title{color:#f0e9dc;font:700 1rem/1.25 'Cinzel',Georgia,serif}.policy-row-summary{color:#a8a299;font-size:.83rem;line-height:1.5}.policy-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;margin-top:3px;color:#777;font-size:.68rem;text-transform:uppercase}.policy-badge{display:inline-flex;padding:3px 6px;border:1px solid #444;border-radius:3px;font-weight:900;letter-spacing:.04em}.policy-badge-public{border-color:rgba(123,216,158,.35);color:var(--policy-success)}.policy-badge-staff{border-color:rgba(134,189,241,.35);color:var(--policy-staff)}.policy-badge-admin{border-color:rgba(214,167,239,.35);color:var(--policy-admin)}.policy-row-owner{display:flex;flex-direction:column;gap:4px;padding-left:14px;border-left:1px solid #333}.policy-row-owner small{color:#777;font-size:.63rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.policy-row-owner strong{color:#bdb6aa;font-size:.77rem;line-height:1.35}.policy-row-arrow{color:#a78c43}.policy-empty{padding:54px 20px;text-align:center;border-top:1px solid #333;border-bottom:1px solid #333}.policy-empty i{color:#8f783d;font-size:1.5rem}.policy-empty h2{color:var(--policy-gold);font-family:'Cinzel',Georgia,serif}.policy-empty p{color:#999}
.policy-library-help{margin-top:44px;padding-top:22px;border-top:1px solid #414141}.policy-library-help h2,.policy-related h2,.policy-history h2,.policy-doc-help h2{margin:4px 0 14px;color:var(--policy-gold);font:700 1.4rem/1.25 'Cinzel',Georgia,serif}.policy-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #333;border-bottom:1px solid #333}.policy-help-grid article{padding:17px 20px;border-right:1px solid #333}.policy-help-grid article:last-child{border-right:0}.policy-help-grid strong{color:#eadfbf;font-family:'Cinzel',Georgia,serif}.policy-help-grid p{margin:5px 0 0;color:#9f9990;line-height:1.55}

.policy-doc-meta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:18px 0 30px;border-top:1px solid #333;border-bottom:1px solid #333}.policy-doc-meta>div{display:flex;min-width:0;flex-direction:column;gap:5px;padding:13px 14px;border-right:1px solid #333}.policy-doc-meta>div:last-child{border-right:0}.policy-doc-meta small{color:#887542;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.policy-doc-meta strong{color:#c8c1b5;font-size:.78rem;line-height:1.35}.policy-doc-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 34px;border-top:1px solid #333;border-bottom:1px solid #333}.policy-doc-principles article{padding:18px 20px;border-right:1px solid #333}.policy-doc-principles article:last-child{border-right:0}.policy-doc-principles strong{color:#eadfbf;font-family:'Cinzel',Georgia,serif}.policy-doc-principles p{margin:6px 0 0;color:#9f9a91;line-height:1.55}
.policy-doc-layout{display:grid;grid-template-columns:235px minmax(0,1fr);align-items:start;gap:24px}.policy-doc-toc{position:sticky;top:72px;padding:0 15px 0 0;border-right:1px solid #343434}.policy-doc-toc>span{display:block;margin:0 0 8px;color:#ad9148;font-size:.67rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.policy-doc-toc>a{display:grid;grid-template-columns:25px minmax(0,1fr);gap:7px;padding:8px 7px;border-radius:3px;color:#aaa49b!important;font-size:.75rem;line-height:1.35}.policy-doc-toc>a:hover{background:rgba(230,193,92,.055);color:#eee!important}.policy-doc-toc>a span{color:#806c38;font-weight:900}.policy-doc-toc .policy-doc-toc-library{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #333;color:#c0a34e!important;font-weight:900;text-transform:uppercase}.policy-doc-main{min-width:0}.policy-doc-tools{display:flex;justify-content:flex-end;gap:7px;margin-bottom:10px}.policy-doc-tools button{padding:7px 10px;border:1px solid #3b3b3b;border-radius:4px;background:#1d1d1d;color:#aaa;font-size:.68rem;font-weight:900;text-transform:uppercase;cursor:pointer}.policy-doc-tools button:hover{border-color:#a88b3e;color:#e8c865}
.policy-doc-section{margin:0 0 34px;padding:0 0 30px;border-bottom:1px solid #3b3b3b;scroll-margin-top:78px}.policy-doc-section>header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.policy-doc-section>header>span{color:#8f783c;font-size:.72rem;font-weight:900}.policy-doc-section>header>i{color:#b99b48}.policy-doc-section>header h2{margin:0;color:#e4c96f;font:700 1.3rem/1.25 'Cinzel',Georgia,serif}.policy-doc-section-body{color:#c8c3bb}.policy-doc-section-body>p{max-width:1000px;margin:0 0 13px;line-height:1.75}.policy-doc-section-body strong{color:#eae5dd}.policy-doc-section-body code{padding:2px 5px;border:1px solid #333;border-radius:3px;background:#111;color:#dfc979}.policy-doc-list{max-width:1000px;margin:13px 0 0;padding-left:22px}.policy-doc-list li{margin:0 0 8px;line-height:1.65}.policy-doc-list li::marker{color:#b59648}.policy-doc-note{display:flex;gap:10px;margin:16px 0 0;padding:12px 0 12px 14px;border-left:3px solid var(--policy-gold);background:rgba(230,193,92,.035);color:#bdb5a1;line-height:1.55}.policy-doc-note i{margin-top:3px;color:var(--policy-gold)}
.policy-doc-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:16px 0}.policy-doc-block{padding:12px 14px;border:1px solid #333;border-left:3px solid #7a6b47;border-radius:4px;background:rgba(0,0,0,.20)}.policy-doc-block-required{border-left-color:#d4866c}.policy-doc-block-recommended{border-left-color:#d3b457}.policy-doc-block-optional{border-left-color:#78a6c8}.policy-doc-block strong{display:block;margin-bottom:5px;color:#e7dec9;font-size:.78rem;text-transform:uppercase}.policy-doc-block p{margin:0!important;color:#aaa49b;line-height:1.55}.policy-doc-subsections{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin-top:18px}.policy-doc-subsections>section{padding-left:14px;border-left:2px solid rgba(230,193,92,.27)}.policy-doc-subsections h3{margin:0 0 7px;color:#d5b95f;font:700 .83rem/1.3 'Cinzel',Georgia,serif;text-transform:uppercase}.policy-doc-subsections p{margin:7px 0!important;color:#bcb6ad;line-height:1.6}.policy-doc-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0;padding:12px 0;border-top:1px solid #333;border-bottom:1px solid #333}.policy-doc-flow span{padding:7px 9px;border:1px solid rgba(230,193,92,.28);border-radius:4px;background:rgba(230,193,92,.05);color:#ddc781;font-size:.75rem;font-weight:800}.policy-doc-flow i{color:#735f2d;font-size:.7rem}
.policy-doc-sop-section{margin:0 0 10px;padding:0;border:1px solid #333;border-radius:6px;background:rgba(0,0,0,.24);overflow:hidden}.policy-doc-section-toggle{display:grid;width:100%;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:14px 15px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.policy-doc-section-toggle:hover{background:rgba(230,193,92,.04)}.policy-doc-section-number{color:#8c7539;font-size:.7rem;font-weight:900}.policy-doc-section-heading{display:flex;align-items:center;gap:9px}.policy-doc-section-heading i{color:#b99b49}.policy-doc-section-heading strong{color:#e8e0d1;font:700 .95rem/1.35 'Cinzel',Georgia,serif}.policy-doc-chevron{color:#7e714e;transition:transform .15s ease}.policy-doc-sop-section>.policy-doc-section-body{display:none;padding:5px 20px 20px 59px;border-top:1px solid #303030}.policy-doc-sop-section.is-open>.policy-doc-section-body{display:block}.policy-doc-sop-section.is-open .policy-doc-chevron{transform:rotate(180deg)}
.policy-related,.policy-history,.policy-doc-help{margin-top:44px;padding-top:22px;border-top:1px solid #414141}.policy-related>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px}.policy-related a{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:12px 14px;border:1px solid #333;border-radius:5px;background:rgba(0,0,0,.22);color:inherit!important}.policy-related a:hover{border-color:rgba(230,193,92,.45);background:rgba(230,193,92,.04)}.policy-related a>i:first-child{color:#b79747}.policy-related a span{display:flex;min-width:0;flex-direction:column}.policy-related a small{color:#766a4b;font-size:.62rem;font-weight:900;text-transform:uppercase}.policy-related a strong{color:#d9d2c7;font-size:.8rem;line-height:1.35}.policy-related a>i:last-child{color:#806c37}.policy-history-row{display:grid;grid-template-columns:70px 125px minmax(0,1fr);gap:10px;padding:11px 0;border-bottom:1px solid #303030}.policy-history-row strong{color:#d2b759}.policy-history-row span{color:#8f8980;font-size:.77rem}.policy-history-row p{margin:0;color:#aaa49c;line-height:1.5}.policy-doc-help{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.policy-doc-help p{max-width:730px;margin:0;color:#9f9990;line-height:1.55}.policy-doc-help>div:last-child{display:flex;gap:8px;flex-wrap:wrap}

@media(max-width:980px){.policy-directory-grid{grid-template-columns:1fr}.policy-directory-section:nth-last-child(-n+2){border-bottom:1px solid #343434}.policy-directory-section:last-child{border-bottom:0}.policy-doc-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.policy-doc-meta>div:nth-child(3n){border-right:0}.policy-doc-meta>div:nth-child(-n+3){border-bottom:1px solid #333}.policy-doc-layout{grid-template-columns:1fr}.policy-doc-toc{position:static;display:flex;gap:5px;overflow-x:auto;padding:0 0 12px;border-right:0;border-bottom:1px solid #333}.policy-doc-toc>span{display:none}.policy-doc-toc>a{flex:0 0 auto;grid-template-columns:auto;padding:7px 10px;border:1px solid #333}.policy-doc-toc>a span{display:none}.policy-doc-toc .policy-doc-toc-library{margin:0;padding:7px 10px;border-top:0}.policy-row{grid-template-columns:48px minmax(0,1fr) 18px}.policy-row-owner{display:none}.policy-doc-help{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.policy-common>div{flex-direction:column;align-items:stretch}.policy-common a{justify-content:flex-start}.policy-directory-link{grid-template-columns:minmax(0,1fr) 14px}.policy-directory-meta{display:none}.policy-library-shell,.policy-doc-shell{margin-top:16px}.policy-library-head,.policy-doc-head{align-items:flex-start;flex-direction:column}.policy-doc-icon{width:50px;height:50px;flex-basis:50px}.policy-filters{margin-bottom:24px}.policy-row{grid-template-columns:40px minmax(0,1fr);gap:11px;padding:13px}.policy-row-icon{width:38px;height:38px}.policy-row-arrow{display:none}.policy-help-grid,.policy-doc-principles{grid-template-columns:1fr}.policy-help-grid article,.policy-doc-principles article{border-right:0;border-bottom:1px solid #333}.policy-help-grid article:last-child,.policy-doc-principles article:last-child{border-bottom:0}.policy-doc-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-doc-meta>div{border-right:1px solid #333!important;border-bottom:1px solid #333!important}.policy-doc-meta>div:nth-child(2n){border-right:0!important}.policy-doc-meta>div:nth-last-child(-n+2){border-bottom:0!important}.policy-doc-sop-section>.policy-doc-section-body{padding:4px 14px 18px}.policy-doc-section-toggle{grid-template-columns:28px minmax(0,1fr) 18px;padding:13px 11px}.policy-doc-section-heading i{display:none}.policy-history-row{grid-template-columns:62px minmax(0,1fr)}.policy-history-row p{grid-column:1/-1}.policy-staff-note{align-items:flex-start;flex-wrap:wrap}.policy-staff-note a{margin-left:27px}.policy-search>div{grid-template-columns:auto minmax(0,1fr)}.policy-search button{grid-column:1/-1;min-height:40px;border-left:0;border-top:1px solid #444}.policy-doc-flow i{transform:rotate(90deg)}.policy-doc-flow{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.policy-doc-meta{grid-template-columns:1fr}.policy-doc-meta>div{border-right:0!important}.policy-doc-meta>div:not(:last-child){border-bottom:1px solid #333!important}.policy-doc-meta>div:last-child{border-bottom:0!important}.policy-row-meta span:not(.policy-badge){display:none}.policy-related>div{grid-template-columns:1fr}.policy-doc-help>div:last-child{width:100%;flex-direction:column}.policy-doc-help .button{width:100%}}

/* Legacy v1.1 landing components are no longer rendered. */
.policy-common,.policy-browse,.policy-directory-grid,.policy-directory-section,.policy-library-help{display:none}

@media(max-width:760px){
  .policy-search-row{align-items:stretch;flex-direction:column;gap:10px;margin-bottom:24px}
  .policy-staff-switch{justify-content:flex-start}
  .policy-subject-row{grid-template-columns:36px minmax(0,1fr) 16px;gap:10px}
  .policy-subject-count{display:none}
  .policy-subject-copy small{font-size:.74rem}
  .policy-result-row{grid-template-columns:36px minmax(0,1fr);gap:10px}
  .policy-result-arrow{display:none}
}

/* v1.3 — policy library split layout with restrained fantasy tree illustration. */
.policy-library-shell-tree{
    display:grid;
    grid-template-columns:clamp(190px,20vw,290px) minmax(0,1fr);
    align-items:start;
    gap:clamp(28px,4vw,64px);
}
.policy-library-main{min-width:0;max-width:1040px;width:100%;justify-self:end}
.policy-tree-art{
    position:sticky;
    top:84px;
    align-self:start;
    min-height:620px;
    margin-top:20px;
    pointer-events:none;
    user-select:none;
    opacity:.88;
}
.policy-tree-art svg{display:block;width:100%;max-width:285px;height:auto;margin:0 auto;overflow:visible;filter:drop-shadow(0 18px 28px rgba(0,0,0,.34))}
.policy-tree-shadow path:first-child{fill:rgba(6,8,5,.79);stroke:rgba(230,193,92,.12);stroke-width:1.4}
.policy-tree-branch{fill:none;stroke:rgba(12,13,9,.95);stroke-width:17;stroke-linecap:round}
.policy-tree-leaves{fill:rgba(8,13,8,.78);stroke:rgba(203,175,91,.10);stroke-width:1.2}
.policy-tree-gold-line{fill:none;stroke:rgba(230,193,92,.22);stroke-width:2;stroke-linecap:round}
.policy-tree-root{fill:none;stroke:rgba(230,193,92,.16);stroke-width:1.4;stroke-linecap:round}
.policy-tree-caption{display:block;margin-top:-2px;color:rgba(193,165,86,.48);font:700 .62rem/1.2 'Cinzel',Georgia,serif;letter-spacing:.2em;text-align:center;text-transform:uppercase}

@media(min-width:1180px){
  .policy-library-shell-tree{padding-left:10px;padding-right:10px}
}
@media(max-width:980px){
  .policy-library-shell-tree{grid-template-columns:150px minmax(0,1fr);gap:24px}
  .policy-tree-art{top:72px;min-height:460px;opacity:.67}
  .policy-tree-caption{display:none}
}
@media(max-width:760px){
  .policy-library-shell-tree{display:block}
  .policy-tree-art{display:none}
  .policy-library-main{max-width:none}
}

/* v1.4 — simplified library index and single-column document reading flow. */
.policy-library-shell-tree,.policy-tree-art{display:none!important}
.policy-library-shell-simple{max-width:1180px;margin:28px auto 70px;padding:0 24px}
.policy-library-shell-simple .policy-library-head{display:block;max-width:820px;padding:0 0 24px;border-bottom:1px solid rgba(230,193,92,.18)}
.policy-library-shell-simple .policy-library-head h1{margin:5px 0 6px;color:#e2c45f;font:700 clamp(2rem,3vw,3rem)/1.08 'Cinzel',Georgia,serif}
.policy-library-shell-simple .policy-library-head p{max-width:700px;margin:0;color:#b6b0a8;line-height:1.6}
.policy-library-tools{display:flex;align-items:flex-end;gap:22px;max-width:920px;margin:22px 0 34px}
.policy-library-tools .policy-search{flex:1;margin:0}
.policy-library-tools .policy-staff-switch{flex:0 0 auto;padding:0 0 8px;white-space:nowrap}

.policy-index{max-width:900px}
.policy-index-group{padding:0 0 27px;margin:0 0 27px;border-bottom:1px solid rgba(255,255,255,.13)}
.policy-index-group:last-child{border-bottom:0}
.policy-index-heading{margin-bottom:10px}
.policy-index-heading h2{margin:0 0 3px;color:#dabc5e;font:700 1.03rem/1.35 'Cinzel',Georgia,serif;text-transform:uppercase;letter-spacing:.015em}
.policy-index-heading p{margin:0;color:#8f8a83;font-size:.77rem;line-height:1.5}
.policy-index-list{list-style:none;margin:0;padding:0 0 0 18px;border-left:1px solid rgba(230,193,92,.22)}
.policy-index-list li{margin:0;padding:0}
.policy-index-list a{display:flex;align-items:center;gap:9px;min-height:34px;padding:5px 0 5px 14px;color:#d8d3ca!important;text-decoration:none;border-radius:2px}
.policy-index-list a::before{content:"";width:5px;height:5px;margin-left:-17px;border:1px solid rgba(230,193,92,.55);border-radius:50%;background:#0a0d0e}
.policy-index-list a:hover{color:#efd472!important}
.policy-index-list a span:first-child{font-size:.85rem;font-weight:700}
.policy-index-access{margin-left:auto;padding:2px 6px;border:1px solid rgba(230,193,92,.28);border-radius:3px;color:#bca04e;font-size:.55rem;font-weight:900;letter-spacing:.06em}

.policy-results-simple{max-width:900px}
.policy-results-simple .policy-section-heading{margin:14px 0 12px}
.policy-results-simple .policy-section-heading h2{margin:0 0 4px;color:#ddbf60;font:700 1.35rem/1.3 'Cinzel',Georgia,serif}
.policy-results-simple .policy-section-heading p{margin:0;color:#979189;line-height:1.5}
.policy-search-result-list{border-top:1px solid rgba(255,255,255,.14)}
.policy-search-result{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.12);color:inherit!important;text-decoration:none}
.policy-search-result:hover .policy-search-result-main strong{color:#e5c762}
.policy-search-result-main{display:flex;min-width:0;flex-direction:column;gap:3px}
.policy-search-result-main strong{color:#ddd7cd;font:700 .9rem/1.35 'Cinzel',Georgia,serif}
.policy-search-result-main small{max-width:730px;color:#98928a;font-size:.74rem;line-height:1.45}
.policy-search-result-side{display:flex;align-items:center;gap:12px;color:#a78b42}

/* Documents: one clear reading column, no side navigation or metadata dashboard. */
.policy-doc-shell-simple{max-width:1080px;margin:26px auto 72px;padding:0 28px}
.policy-doc-head-simple{max-width:920px;padding:18px 0 22px;border-bottom:1px solid rgba(230,193,92,.22)}
.policy-doc-head-simple h1{max-width:900px;margin:5px 0 8px;color:#e2c45f;font:700 clamp(2rem,3.3vw,3.2rem)/1.08 'Cinzel',Georgia,serif}
.policy-doc-head-simple>p{max-width:820px;margin:0;color:#bdb7ae;font-size:.94rem;line-height:1.65}
.policy-doc-meta-line{display:flex;flex-wrap:wrap;gap:7px 10px;margin-top:17px;color:#aaa39a;font-size:.7rem}
.policy-doc-meta-line small{margin-right:3px;color:#756b53;font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.policy-doc-meta-sep{color:#5e5647}

.policy-doc-keypoints{max-width:920px;margin:25px 0 0;padding:0 0 22px;border-bottom:1px solid rgba(255,255,255,.13)}
.policy-doc-keypoints h2,.policy-doc-contents h2,.policy-related-simple h2{margin:0 0 10px;color:#c9aa51;font:700 .82rem/1.3 'Cinzel',Georgia,serif;text-transform:uppercase;letter-spacing:.04em}
.policy-doc-keypoints ul{list-style:none;margin:0;padding:0}
.policy-doc-keypoints li{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);gap:14px;padding:7px 0}
.policy-doc-keypoints strong{color:#d9d2c7;font-size:.78rem}
.policy-doc-keypoints span{color:#9e9890;font-size:.78rem;line-height:1.55}

.policy-doc-contents{max-width:920px;margin:22px 0 8px;padding:0 0 20px;border-bottom:1px solid rgba(255,255,255,.13)}
.policy-doc-contents nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;row-gap:3px}
.policy-doc-contents a{display:flex;gap:10px;padding:5px 0;color:#a9a39b!important;font-size:.74rem;text-decoration:none}
.policy-doc-contents a:hover{color:#e1c158!important}
.policy-doc-contents a span{min-width:20px;color:#7d6938;font-size:.65rem;font-weight:900}

.policy-doc-reading{max-width:920px;padding-top:6px}
.policy-doc-reading .policy-doc-section{margin:0;padding:30px 0;border:0;border-bottom:1px solid rgba(255,255,255,.13);background:transparent}
.policy-doc-reading .policy-doc-section>header{display:flex;align-items:center;gap:9px;margin:0 0 15px}
.policy-doc-reading .policy-doc-section>header>span{color:#806c39;font-size:.65rem;font-weight:900}
.policy-doc-reading .policy-doc-section>header>i{display:none}
.policy-doc-reading .policy-doc-section>header>h2{margin:0;color:#ddbf60;font:700 1.25rem/1.35 'Cinzel',Georgia,serif}
.policy-doc-reading .policy-doc-section-body{max-width:840px;color:#c2bdb5}
.policy-doc-reading .policy-doc-section-body p{margin:0 0 15px;line-height:1.75}

/* SOPs remain collapsible, but use the same single-column document flow. */
.policy-doc-reading .policy-doc-sop-section{margin:0;border:0;border-bottom:1px solid rgba(255,255,255,.13);border-radius:0;background:transparent}
.policy-doc-reading .policy-doc-section-toggle{padding:18px 0;grid-template-columns:28px minmax(0,1fr) 18px}
.policy-doc-reading .policy-doc-section-toggle:hover{background:transparent}
.policy-doc-reading .policy-doc-sop-section>.policy-doc-section-body{max-width:840px;padding:0 0 24px 38px;border-top:0}
.policy-doc-reading .policy-doc-section-heading i{display:none}
.policy-doc-reading .policy-doc-section-heading strong{font-size:1rem;color:#d9c276}
.policy-doc-reading .policy-doc-tools{display:flex;justify-content:flex-end;gap:8px;margin:0 0 8px}

.policy-related-simple{max-width:920px;margin-top:34px;padding-top:20px;border-top:1px solid rgba(230,193,92,.20)}
.policy-related-simple>div{display:block}
.policy-related-simple a{display:flex;align-items:center;gap:9px;padding:8px 0;border:0!important;border-bottom:1px solid rgba(255,255,255,.10)!important;border-radius:0!important;background:transparent!important;color:inherit!important}
.policy-related-simple a>i:first-child{width:18px;color:#9f8540;text-align:center}
.policy-related-simple a span{display:flex;min-width:0;flex:1;flex-direction:row;align-items:baseline;gap:8px}
.policy-related-simple a small{color:#746d63;font-size:.58rem;font-weight:900;text-transform:uppercase}
.policy-related-simple a strong{color:#c8c2b9;font-size:.78rem}
.policy-related-simple a>i:last-child{color:#705f36;font-size:.65rem}

.policy-history-simple{max-width:920px;margin-top:26px;padding:14px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.policy-history-simple summary{color:#a89d87;font-size:.74rem;font-weight:800;cursor:pointer}
.policy-history-simple>div{padding-top:10px}
.policy-doc-help-simple{max-width:920px;margin-top:26px}
.policy-doc-help-simple p{margin:0;color:#8f8980;font-size:.75rem;line-height:1.6}
.policy-doc-help-simple a{color:#c4a447!important}

/* Retire the v1.0-v1.3 document chrome when using the simplified renderer. */
.policy-doc-shell-simple .policy-doc-head,.policy-doc-shell-simple .policy-doc-meta,.policy-doc-shell-simple .policy-doc-principles,.policy-doc-shell-simple .policy-doc-layout,.policy-doc-shell-simple>.policy-related,.policy-doc-shell-simple>.policy-history,.policy-doc-shell-simple>.policy-doc-help{display:none!important}

@media(max-width:760px){
  .policy-library-shell-simple,.policy-doc-shell-simple{padding:0 16px}
  .policy-library-tools{align-items:stretch;flex-direction:column;gap:8px}
  .policy-library-tools .policy-staff-switch{padding:0}
  .policy-index-list{padding-left:14px}
  .policy-index-list a{padding-left:11px}
  .policy-index-list a::before{margin-left:-14px}
  .policy-doc-keypoints li{grid-template-columns:1fr;gap:2px;padding:8px 0}
  .policy-doc-contents nav{grid-template-columns:1fr}
  .policy-doc-meta-line{gap:5px 8px}
  .policy-doc-meta-sep{display:none}
  .policy-related-simple a span{align-items:flex-start;flex-direction:column;gap:1px}
}


/* v1.5 — full-width forum-aligned library with clearer clickable document rows. */
.policy-library-shell-simple{
    width:100%;
    max-width:none;
    margin:30px 0 72px;
    padding:0;
    box-sizing:border-box;
    font-size:15px;
}
.policy-library-shell-simple .policy-library-head{
    width:100%;
    max-width:none;
    padding:4px 0 24px;
}
.policy-library-shell-simple .policy-library-head h1{
    font-size:clamp(2.35rem,3.4vw,3.25rem);
}
.policy-library-shell-simple .policy-library-head p{
    max-width:900px;
    font-size:1rem;
}
.policy-library-tools{
    width:100%;
    max-width:none;
    margin:24px 0 36px;
}
.policy-library-tools .policy-search{
    max-width:900px;
}
.policy-library-tools .policy-search>label{
    font-size:.9rem;
}
.policy-library-tools .policy-search>div{
    max-width:none;
}
.policy-library-tools .policy-search input{
    min-height:52px;
    font-size:.96rem;
}
.policy-library-tools .policy-search button{
    min-height:52px;
    padding:0 24px;
    font-size:.8rem;
}
.policy-library-tools .policy-staff-switch{
    padding-bottom:10px;
    font-size:.78rem;
}

.policy-index{
    width:100%;
    max-width:none;
}
.policy-index-group{
    width:100%;
    margin:0 0 34px;
    padding:0 0 34px;
    border-bottom:1px solid rgba(255,255,255,.14);
}
.policy-index-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin:0 0 13px;
}
.policy-index-heading h2{
    margin:0;
    color:#e2c45f;
    font:700 1.35rem/1.25 'Cinzel',Georgia,serif;
    letter-spacing:.02em;
}
.policy-index-heading p{
    max-width:660px;
    margin:0 0 2px;
    color:#aaa49c;
    font-size:.88rem;
    line-height:1.5;
    text-align:right;
}
.policy-index-list{
    display:grid;
    gap:8px;
    margin:0;
    padding:0;
    border-left:0;
    list-style:none;
}
.policy-index-list li{
    margin:0;
    padding:0;
}
.policy-index-list a{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:58px;
    padding:0 18px;
    border:1px solid rgba(255,255,255,.13);
    border-left:3px solid rgba(230,193,92,.55);
    border-radius:5px;
    background:rgba(4,6,7,.38);
    color:#ddd7ce!important;
    text-decoration:none;
    transition:background .16s ease,border-color .16s ease,transform .16s ease,color .16s ease;
}
.policy-index-list a::before{
    display:none;
}
.policy-index-list a:hover{
    transform:translateX(2px);
    border-color:rgba(230,193,92,.42);
    border-left-color:#e2c45f;
    background:rgba(20,20,17,.62);
    color:#f0d777!important;
}
.policy-index-item-title{
    min-width:0;
    flex:1;
    font:700 1.02rem/1.3 'Cinzel',Georgia,serif;
}
.policy-index-access{
    margin-left:auto;
    padding:3px 7px;
    font-size:.61rem;
}
.policy-index-arrow{
    flex:0 0 auto;
    color:#9c8240;
    font-size:.72rem;
    transition:transform .16s ease,color .16s ease;
}
.policy-index-list a:hover .policy-index-arrow{
    transform:translateX(3px);
    color:#e2c45f;
}

.policy-results-simple{
    width:100%;
    max-width:none;
}
.policy-results-simple .policy-section-heading h2{
    font-size:1.6rem;
}
.policy-results-simple .policy-section-heading p{
    max-width:900px;
    font-size:.92rem;
}
.policy-search-result-list{
    display:grid;
    gap:8px;
    border-top:0;
}
.policy-search-result{
    min-height:66px;
    padding:12px 18px;
    border:1px solid rgba(255,255,255,.13);
    border-left:3px solid rgba(230,193,92,.45);
    border-radius:5px;
    background:rgba(4,6,7,.38);
}
.policy-search-result:hover{
    border-color:rgba(230,193,92,.4);
    border-left-color:#e2c45f;
    background:rgba(20,20,17,.62);
}
.policy-search-result-main strong{
    font-size:1rem;
}
.policy-search-result-main small{
    max-width:920px;
    color:#aaa49c;
    font-size:.84rem;
    line-height:1.5;
}

/* Keep policy pages aligned to the same forum width while preserving readable line lengths. */
.policy-doc-shell-simple{
    width:100%;
    max-width:none;
    margin:28px 0 76px;
    padding:0;
    box-sizing:border-box;
    font-size:15px;
}
.policy-doc-head-simple,
.policy-doc-keypoints,
.policy-doc-contents,
.policy-doc-reading,
.policy-related-simple,
.policy-history-simple,
.policy-doc-help-simple{
    width:100%;
    max-width:none;
}
.policy-doc-head-simple h1{
    max-width:1100px;
    font-size:clamp(2.35rem,3.25vw,3.25rem);
}
.policy-doc-head-simple>p{
    max-width:980px;
    font-size:1rem;
}
.policy-doc-meta-line{
    font-size:.78rem;
}
.policy-doc-keypoints li{
    grid-template-columns:minmax(190px,280px) minmax(0,1fr);
    max-width:1100px;
    padding:9px 0;
}
.policy-doc-keypoints strong,
.policy-doc-keypoints span{
    font-size:.88rem;
}
.policy-doc-contents nav{
    max-width:1050px;
}
.policy-doc-contents a{
    font-size:.84rem;
}
.policy-doc-reading .policy-doc-section>header>h2{
    font-size:1.45rem;
}
.policy-doc-reading .policy-doc-section-body,
.policy-doc-reading .policy-doc-sop-section>.policy-doc-section-body{
    max-width:1000px;
    font-size:.97rem;
}
.policy-doc-reading .policy-doc-section-body p{
    line-height:1.78;
}
.policy-related-simple>div,
.policy-history-simple>div,
.policy-doc-help-simple p{
    max-width:1000px;
}
.policy-related-simple a strong{
    font-size:.88rem;
}

@media(max-width:900px){
    .policy-index-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }
    .policy-index-heading p{
        max-width:none;
        text-align:left;
    }
}
@media(max-width:760px){
    .policy-library-shell-simple,.policy-doc-shell-simple{
        padding:0;
    }
    .policy-index-list a{
        min-height:54px;
        padding:0 13px;
    }
    .policy-index-item-title{
        font-size:.94rem;
    }
    .policy-search-result{
        padding:11px 13px;
    }
    .policy-doc-keypoints li{
        grid-template-columns:1fr;
    }
}
