/* Review tools are opt-in via ?review=1. Existing portfolio presentation is unchanged. */
.jf-toolbar,.jf-sheet {font-family:'Noto Sans KR',sans-serif!important;color:#111;background:#fff;font-size:15px;letter-spacing:0;line-height:1.6;text-align:left}
.jf-toolbar {position:fixed;z-index:2147483000;bottom:max(18px,env(safe-area-inset-bottom));right:20px;display:flex;gap:6px;align-items:center;padding:8px;border:1px solid #bbb;box-shadow:0 4px 28px #0002;max-width:calc(100vw - 24px)}
.jf-toolbar .jf-hint {font-size:12px;max-width:180px;padding:0 8px}
.jf-toolbar button,.jf-sheet button,.jf-sheet .jf-actions a {font:inherit!important;min-height:44px;min-width:44px;border:1px solid #aaa;border-radius:0;background:#fff;color:#111;padding:9px 14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;line-height:1.5;letter-spacing:0;transform:none}
.jf-toolbar button:hover,.jf-sheet button:hover {background:#efefed}
.jf-toolbar button:active,.jf-sheet button:active {background:#ddd}
.jf-toolbar button[aria-pressed=true],.jf-sheet .jf-primary {background:#111;color:#fff;border-color:#111}
.jf-toolbar button:focus-visible,.jf-sheet :focus-visible {outline:3px solid #111;outline-offset:3px}
.jf-sheet button:disabled {opacity:.45;cursor:wait}
.jf-sheet {padding:0;margin:auto 0 0 auto;width:min(520px,100vw);max-width:100vw;height:min(850px,92dvh);max-height:92dvh;border:1px solid #bbb;overflow:auto;overscroll-behavior:contain;box-sizing:border-box;border-radius:0;inset:auto 0 0 auto}
.jf-sheet::backdrop {background:#0005}
.jf-head {display:flex;align-items:center;gap:12px;justify-content:space-between;padding:18px 22px;position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid #ddd}
.jf-head h2 {font:500 19px/1.5 'Noto Sans KR',sans-serif!important;margin:0;letter-spacing:-.025em}
.jf-body {padding:22px 22px max(28px,env(safe-area-inset-bottom));overflow-wrap:anywhere}
.jf-sheet p,.jf-sheet h3 {margin:0 0 14px}
.jf-sheet h3 {font:500 16px/1.65 'Noto Sans KR',sans-serif!important;letter-spacing:0}
.jf-sheet small {display:block;color:#666;font-size:12px;margin-bottom:10px}
.jf-sheet label {display:block;font-size:14px;font-weight:500;margin:22px 0 8px}
.jf-sheet input,.jf-sheet textarea,.jf-sheet select {display:block;box-sizing:border-box;width:100%;font:400 16px/1.7 'Noto Sans KR',sans-serif!important;padding:12px;border:1px solid #999;background:#fff;color:#111;border-radius:0;resize:vertical;min-height:48px;letter-spacing:0}
.jf-sheet textarea {min-height:160px}
.jf-sheet .jf-primary {width:100%;margin-top:16px}
.jf-note {font-size:13px;color:#595959;line-height:1.8;margin-top:12px!important}
.jf-context {padding:14px;border-left:2px solid #111;background:#f1f1ef;display:grid;grid-template-columns:1fr auto;gap:0 12px}
.jf-context small {grid-column:1/-1}
.jf-context p {font-size:14px;margin:0;white-space:pre-line}
.jf-context img {max-width:76px;max-height:96px;object-fit:contain}
.jf-actions {display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.jf-card {padding:24px 0;border-top:1px solid #ccc}
.jf-message,.jf-resolution {white-space:pre-wrap;font-size:15px}
.jf-resolution {border-left:2px solid #111;padding:10px 14px;background:#f1f1ef}
.jf-connection {font-size:13px;padding:12px;background:#f1f1ef}
.jf-sheet summary {min-height:44px;cursor:pointer;display:list-item}
.jf-empty {padding:30px 0;color:#595959}
.jf-box {position:fixed;z-index:2147482999;pointer-events:none;border:2px solid #111;outline:2px solid #fff;box-shadow:0 0 0 4px #0006;background:#fff1;box-sizing:border-box}
.jf-box[hidden] {display:none!important}
.jf-picking :not(.jf-toolbar):not(.jf-toolbar *) {cursor:crosshair!important}
@media(max-width:600px){.jf-toolbar{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr auto}.jf-toolbar .jf-hint{grid-column:1/-1;max-width:none;padding:0 4px;font-size:12px}.jf-toolbar button{padding:8px 10px}.jf-head{padding:14px 18px}.jf-body{padding:18px}.jf-sheet{width:100vw;height:90dvh;max-height:90dvh}}
@media(prefers-reduced-motion:no-preference){.jf-sheet[open]{animation:jf-appear .18s ease-out}@keyframes jf-appear{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}}
