/* Review controls float above the proposal, never taking space in its layout. */
.review-switcher{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:90;font-size:15px;color:var(--ink)}
.review-switcher>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;min-height:48px;padding:12px 17px;border:1px solid var(--line);border-radius:5px;background:#e5ecd9;box-shadow:0 2px 12px #18261b12;font-weight:600}
.review-switcher>summary::-webkit-details-marker{display:none}
.review-switcher>summary:hover{background:var(--surface)}
.review-switcher>summary:focus-visible{outline:3px solid #a87630;outline-offset:3px}
.review-switcher[open]>summary>.review-chevron{transform:rotate(180deg)}
#review-role{font-weight:400;color:var(--muted)}
.review-panel{position:absolute;right:0;bottom:calc(100% + 8px);width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 92px);overflow:auto;padding:20px;border:1px solid var(--line);border-radius:5px;background:var(--paper);box-shadow:0 8px 30px #18261b20}
.page-type-list{display:grid;gap:2px}
.review-panel .page-type-link{display:block;margin:0;padding:11px 12px;min-height:44px;border:1px solid transparent;border-radius:3px;text-decoration:none;font-size:14px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.page-type-link .page-type-role{font-size:12px;font-weight:400;color:var(--muted)}
.review-panel .page-type-link:hover{background:var(--surface)}
.review-panel .page-type-link[aria-current=page]{background:var(--surface-strong);border-color:var(--line)}
.review-panel .page-type-link:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.review-panel p{font-size:14px;color:var(--muted);line-height:1.6;margin-top:12px}
.review-panel a{display:block;margin-top:16px;text-decoration:underline;text-underline-offset:4px;min-height:36px;font-size:15px}
.review-panel .review-disclosure{border-top:1px solid var(--line);padding-top:12px;font-size:12px}
/* Balsamiq-inspired paper note; no transform, so drag geometry remains exact. */
.review-note{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));z-index:80;display:flex;flex-direction:column;width:320px;max-width:calc(100vw - 360px);max-height:calc(100dvh - 104px);background:#ffeb92;border:2px solid #554b2c;border-radius:4px 8px 5px 7px / 7px 4px 8px 3px;color:#363321;box-shadow:3px 4px 0 #79663435;overflow:hidden;font-family:'Local Sans',Arial,sans-serif;font-style:normal}
.review-note.is-expanded{width:410px;max-width:calc(100vw - 32px);bottom:88px}
.review-note-bar{display:flex;align-items:stretch;min-height:48px;flex-shrink:0}
.review-note.is-expanded .review-note-bar{border-bottom:2px solid #554b2c44;margin:0 16px 0 8px}
.review-note button{color:inherit}
.note-drag{display:grid;place-items:center;width:36px;min-height:48px;flex-shrink:0;border:0;background:transparent;cursor:grab;font-size:25px;touch-action:none;user-select:none}
.review-note.is-dragging{box-shadow:6px 8px 0 #79663430}
.review-note.is-dragging .note-drag{cursor:grabbing}
.note-toggle{display:flex;gap:10px;align-items:center;justify-content:space-between;flex:1;min-width:0;padding:12px 12px 10px 0;text-align:left;background:transparent;border:0;min-height:48px}
.note-toggle strong{font-family:inherit;font-style:normal;font-weight:700;font-size:20px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-note.is-expanded .note-toggle strong{font-size:24px;white-space:normal;overflow:visible;overflow-wrap:anywhere}
.note-chevron{font-size:25px;line-height:1;flex-shrink:0}
.note-toggle:hover,.note-drag:hover{background:#c9a43618}
.review-note button:focus-visible{outline:2px solid #554b2c;outline-offset:-3px}
.review-note-content{padding:16px 20px 22px;min-height:0;overflow:auto;overscroll-behavior:contain}
.review-note-content[hidden]{display:none}
.review-note-content p{font-size:17px;line-height:1.55;margin:14px 0 0}
.review-note-content .note-role{display:table;max-width:100%;margin:0;padding:7px 12px;background:#254b38;color:#fffdf0;border:2px solid #1b3326;border-radius:3px 7px 4px 6px;font-family:'Local Sans',sans-serif;font-size:13px;line-height:1.5;font-weight:650;box-shadow:2px 2px 0 #554b2c35}
.note-actions{margin:15px 0 20px;padding-left:19px;font-size:16px;line-height:1.5}
.note-actions li{padding-left:4px;margin-bottom:9px}
.note-actions li::marker{color:#766226;font-size:15px}
.note-link{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;padding:10px 14px;border:2px solid #554b2c;border-radius:5px 3px 6px 4px;background:#fff5c8;font-size:18px;font-weight:700;line-height:1.35;box-shadow:2px 2px 0 #554b2c;text-decoration:none;overflow-wrap:anywhere}
.note-link:hover{background:#fffbed;box-shadow:1px 1px 0 #554b2c}
.note-link:focus-visible{outline:3px solid #254b38;outline-offset:3px}
@media(max-width:800px){.review-note{width:290px;max-width:calc(100vw - 32px);bottom:88px}.review-note.is-expanded{width:390px;max-width:calc(100vw - 32px)}}
@media(max-width:520px){.review-switcher{font-size:14px;max-width:calc(100vw - 32px)}.review-switcher>summary{gap:10px;padding:11px 13px}.review-note.is-expanded{width:calc(100vw - 32px)}.note-toggle strong{font-size:18px}.review-note.is-expanded .note-toggle strong{font-size:22px}.review-note-content{padding:14px 16px 18px}.review-note-content p{font-size:16px}.note-actions{font-size:15px}.review-panel{padding:18px}#site-footer,.footer{padding-bottom:145px!important}}
/* Keep the last footer links reachable behind the collapsed corner controls. */
#site-footer,.footer{padding-bottom:70px}
@media print{.review-note,.review-switcher{display:none!important}#site-footer,.footer{padding-bottom:0}}
