/* Inner Sanctum only. Native disclosures keep the command workspace light. */
:root{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
.sanctum{max-width:1180px;margin:auto;padding:16px clamp(18px,4vw,48px) max(30px,env(safe-area-inset-bottom))}
.sanctum .top,.sanctum footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.sanctum .brand{font-size:12px;letter-spacing:.13em;font-weight:850;text-decoration:none}
.sanctum .top>a:last-child{font-size:13px;text-decoration:none}
.cosmic-vault .sanctum .introduction{padding:38px 0 8px}
.cosmic-vault .sanctum .introduction::after{display:none}
.cosmic-vault .sanctum .introduction h1{font-size:clamp(32px,5.6vw,66px);letter-spacing:-.055em;line-height:1.07;max-width:none;margin:12px 0 14px}
.sanctum .introduction>p:last-child{font-size:clamp(15px,2vw,19px);margin:0}
.sanctum .eyebrow{font-size:10px;letter-spacing:.15em;font-weight:800}
.sanctum .notice{min-height:24px;font-size:14px;line-height:1.6;margin:18px 0;color:#24615d;border-left:3px solid #368e86;padding-left:13px}
.sanctum .notice.error{border-color:#a83955}
.sanctum .muted{font-size:13px;line-height:1.65;color:#6a5877}
.sanctum h2{font-family:Georgia,serif;font-size:clamp(23px,3vw,31px);letter-spacing:-.035em;margin:0 0 10px}
.sanctum h3{font-size:15px;margin:22px 0 12px}
.sanctum p{line-height:1.65}
.sanctum form{display:grid;gap:10px;margin:18px 0}
.sanctum label{font-weight:700;font-size:13px;line-height:1.5}
.sanctum input:not([type=checkbox]),.sanctum textarea,.sanctum select{display:block;width:100%;min-width:0;font-family:inherit;font-size:16px;line-height:1.5}
.sanctum textarea{resize:vertical;min-height:100px}
.cosmic-vault .sanctum :is(button,.secondary){min-height:48px;padding:12px 18px;font-size:12px;line-height:1.4;letter-spacing:.015em;cursor:pointer}
.cosmic-vault .sanctum button.primary{background:linear-gradient(110deg,#48217d,#6636b0 65%,#385e95);border-color:#57308c;color:#fffaf2;box-shadow:0 4px 0 #ddd0e9}
.cosmic-vault .sanctum button.danger{color:#943b50;border-color:#c899a7;background:#fff6f2}
.sanctum button:disabled{cursor:not-allowed;opacity:.5}
.sanctum [aria-busy=true]{cursor:progress}
.sanctum summary{cursor:pointer;list-style:none}
.sanctum summary::-webkit-details-marker{display:none}
.sanctum summary:focus-visible{outline:3px solid #7827c2;outline-offset:4px;border-radius:8px}
.sanctum .command-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:28px 0 10px;border-top:1px solid #cdb6da;border-bottom:1px solid #cdb6da;padding:22px 0}
.sanctum .command-summary>div{display:flex;flex-direction:column;gap:8px;padding:0 22px;border-left:1px solid #d8c5df}
.sanctum .command-summary>div:first-child{padding-left:0;border-left:0}
.sanctum .command-summary strong{font-family:Georgia,serif;font-size:clamp(25px,4vw,42px);line-height:1;color:#512586;font-weight:500;overflow-wrap:anywhere}
.sanctum .command-summary span{font-size:11px;line-height:1.5;color:#6c5879;max-width:170px}
.sanctum #summary-scope{margin-bottom:28px;font-size:11px}
.cosmic-vault .sanctum .command-area{margin:14px 0;border:1px solid #c8b0d9;border-radius:20px;background:linear-gradient(125deg,#fffcf6ee,#f8f0fbee);overflow:clip;box-shadow:0 6px 22px #45266306}
.sanctum .command-area>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 26px;min-height:90px}
.sanctum .command-area>summary>span:first-child{display:grid;gap:5px;min-width:0}
.sanctum .command-area>summary small{font-size:9px;letter-spacing:.16em;font-weight:750;color:#836c91}
.sanctum .command-area>summary strong{font-size:clamp(16px,2.7vw,22px);letter-spacing:.025em;color:#4f247b}
.sanctum .expand-mark{font-size:23px;color:#7d5b9b;transition:transform .2s}
.sanctum .command-area[open]>summary{border-bottom:1px solid #dac8e4}
.sanctum .command-area[open]>summary .expand-mark{transform:rotate(45deg)}
.sanctum .area-content{padding:26px;min-width:0}
.sanctum .section-title,.sanctum .record-head,.sanctum .detail-head,.sanctum .selected-person,.sanctum .access-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sanctum .section-title{margin:20px 0 16px}
.sanctum .section-title p{font-size:13px;margin:0}
.sanctum .input-action{display:flex;gap:10px}
.sanctum .input-action input{flex:1}
.sanctum .input-action button{flex:none}
.sanctum .search-result{text-align:left}
.sanctum #appoint-form{border-left:3px solid #9171b8;padding:6px 0 6px 20px;margin:20px 0 32px}
.sanctum .selected-person{font-size:16px;margin-bottom:10px}
.sanctum .selected-person button{font-size:11px}
.sanctum .subsection{border-top:1px solid #d9c7e2;padding:18px 0;margin-top:18px}
.sanctum .subsection>summary{font-size:12px;font-weight:800;padding:8px 0;line-height:1.5;color:#633689}
.sanctum .subsection>summary::after,.sanctum .member-responsibilities>summary::after{content:' ＋';color:#846899}
.sanctum .subsection[open]>summary::after,.sanctum .member-responsibilities[open]>summary::after{content:' −'}
.sanctum .subsection p{font-size:13px}
.sanctum .checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
.sanctum .permission-option{display:flex;gap:12px;padding:12px 8px;align-items:flex-start;min-height:48px;font-size:12px;font-weight:500}
.sanctum .permission-option input,.sanctum .agree input{width:20px;height:20px;flex:none;margin:0}
.sanctum .permission-review{padding:16px 0}
.sanctum .permission-review h3{margin:0 0 12px}
.sanctum .permission-review p{font-size:12px}
.sanctum .permission-summary{display:flex;gap:7px;flex-wrap:wrap}
.cosmic-vault .sanctum .permission-summary span{background:#f2eaf8;color:#5c367b;border:1px solid #d4bfe1;border-radius:9px;padding:8px 10px;font-size:11px;line-height:1.5}
.sanctum .records{display:grid;gap:0;min-width:0}
.sanctum .member-row,.sanctum .inbox-row,.sanctum .review-row,.sanctum .note-row{padding:22px 0;border-bottom:1px solid #e1d2e9;min-width:0;overflow-wrap:anywhere}
.sanctum .member-row:first-child,.sanctum .inbox-row:first-child{padding-top:10px}
.sanctum .record-head strong{font-size:17px}
.sanctum .responsibility-line{font-size:13px;margin:10px 0 5px}
.sanctum .status-badge{font-size:10px;font-weight:750;line-height:1.5;color:#684a7c;background:#eee4f4;padding:5px 9px;border-radius:40px;white-space:normal}
.sanctum .state-active{color:#25645c;background:#dff2e9}
.sanctum .state-pending{color:#875d22;background:#f7ebca}
.sanctum .state-revoked,.sanctum .state-declined{color:#775966;background:#eee4e8}
.sanctum .member-responsibilities{margin:12px 0}
.sanctum .member-responsibilities>summary{font-size:10px;font-weight:800;letter-spacing:.055em;padding:10px 0;color:#6c4788}
.sanctum .row-actions,.sanctum .buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.sanctum .row-actions button{font-size:10px}
.sanctum .empty{padding:18px 0;font-size:14px;color:#7b6588}
.cosmic-vault .sanctum .chat-list{max-height:470px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:16px;padding:16px 0;background:none}
.sanctum .chat-message{width:88%;max-width:660px;align-self:flex-start;border-radius:4px 18px 18px 18px;background:#eee5f5;padding:15px 18px;color:#472c5a;overflow-wrap:anywhere}
.sanctum .chat-message.own{align-self:flex-end;border-radius:18px 4px 18px 18px;background:#e0eee9}
.cosmic-vault .sanctum .chat-message strong{font-size:12px;color:#58317a}
.cosmic-vault .sanctum .chat-message p{font-size:14px;margin:8px 0;color:#513b60}
.sanctum .chat-message small{font-size:10px;color:#7c6887}
.sanctum .private-prose{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8}
.sanctum .inbox-filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 14px}
.cosmic-vault .sanctum .inbox-filters button{font-size:11px;padding:10px 14px;min-height:46px;background:transparent;border-color:#cfb9df;color:#684c7d}
.cosmic-vault .sanctum .inbox-filters button[aria-pressed=true]{color:#fffaf5;background:#5f328a;border-color:#5f328a}
.cosmic-vault .sanctum button.record-link{background:none;border:0;box-shadow:none;color:#52277d;padding:10px 0;text-align:left;font-size:18px;border-radius:0;font-weight:700;display:block;width:100%}
.sanctum .focused-detail{background:#fffdf8;border:1px solid #bba1ce;border-radius:16px;padding:clamp(16px,3vw,28px);margin:24px 0;scroll-margin-top:20px;outline-offset:4px}
.sanctum .detail-head h2{font-size:26px;overflow-wrap:anywhere}
.sanctum .status-line{font-size:12px;padding-bottom:14px;border-bottom:1px solid #e1d2e9}
.sanctum .note-row small{font-size:11px;color:#826a90}
.sanctum .access-row{font-size:13px;padding:12px 0}
.sanctum #appeal-link{display:inline-block;font-size:13px;padding:18px 0}
.sanctum .oath{max-width:740px;margin:28px auto;padding:clamp(20px,5vw,42px);border:1px solid #c0a1d5;border-radius:24px;background:linear-gradient(145deg,#fffdf8,#f1e7f9)}
.sanctum .oath p{font-size:14px}
.sanctum .oath blockquote{font:italic 22px/1.6 Georgia,serif;color:#64378a;margin:30px 0}
.sanctum .agree{display:flex;gap:12px;align-items:flex-start;padding:12px 0;font-size:13px;line-height:1.6}
.sanctum #inactive{padding:30px 0}
.sanctum footer{margin-top:34px;border-top:1px solid #d3bede;font-size:10px;letter-spacing:.045em}
.sanctum footer a{font-size:12px}
@media(max-width:680px){
 .sanctum .command-area>summary{padding:20px;min-height:86px}
 .sanctum .area-content{padding:18px}
 .sanctum .command-summary>div{padding:0 12px}
 .sanctum .command-summary span{font-size:10px}
 .sanctum .command-summary strong{font-size:26px}
 .sanctum .checkbox-grid{grid-template-columns:1fr}
 .sanctum .row-actions button{flex:1 1 130px}
 .sanctum .buttons button{flex:1 1 100%}
 .sanctum #appoint-form{padding-left:12px}
 .sanctum .inbox-filters{gap:6px}
 .cosmic-vault .sanctum .inbox-filters button{flex:1 1 90px;font-size:10px;padding:10px}
 .sanctum .chat-message{width:94%;padding:14px}
 .sanctum .section-title h2{margin:0}
 .sanctum .input-action{gap:6px}
 .cosmic-vault .sanctum .input-action button{padding:12px}
}
@media(prefers-reduced-motion:reduce){.sanctum *{transition:none!important;animation:none!important}}
