/* v0.4.1 pass-the-device and public role reference */
.player-safe-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.player-safe-actions .secondary{padding:8px 10px;font-size:12px}
.public-overlay{position:fixed;inset:0;z-index:120;overflow-y:auto;background:radial-gradient(circle at 50% 18%,#443a2b,#17191c 64%);color:#f7ead4;display:flex;justify-content:center;align-items:flex-start;padding:24px 16px max(36px,env(safe-area-inset-bottom))}
.public-panel{width:min(100%,530px);margin:auto 0;text-align:center;padding:26px 16px;background:#26241fe8;border:1px solid #957447;border-radius:22px;box-shadow:0 16px 55px #0009}
.public-panel h1,.public-guide h1{font:normal clamp(30px,7vw,46px)/1.1 Georgia,serif;color:#fbe2b4;margin:12px 0 16px}
.public-panel .primary,.public-panel .secondary{margin-top:12px}
.public-kicker{font-size:11px;letter-spacing:2px;color:#dcb57b;font-weight:800}
.public-emblem{font-size:54px;color:#e2bd83;line-height:1.1;margin:12px auto 20px}
.public-explain{font-size:17px;line-height:1.55;color:#ddd0bd;margin:15px 0 26px}
.public-label{display:block;text-align:left;font-size:13px;font-weight:750;color:#e7d0a8;margin:12px 0 8px}
.public-pin{display:block;width:100%;font-size:24px;letter-spacing:12px;text-align:center;padding:14px;border:1px solid #987d58;border-radius:12px;color:#f9e2b7;background:#111516;box-sizing:border-box}
.public-hint{color:#b5aea3;font-size:12px;line-height:1.5;margin:20px 0 12px}
.public-error{background:#542e2f;border:1px solid #aa5a62;color:#ffd4d4;border-radius:8px;font-size:13px;padding:10px;margin:12px 0}
.public-error[hidden],.guide-unlock[hidden]{display:none}
.public-main-button{min-height:54px;font-size:16px}
.public-progress{font-size:13px;font-weight:700;color:#e0bd82;margin-bottom:32px}
.public-role-glyph{font-size:72px;line-height:1;color:#ebc993;margin:32px 0 6px}
.public-role-type{font-size:14px;font-weight:700;color:#cfb88d;margin-top:8px}
.public-ability-text{font-size:clamp(16px,3.6vw,20px);line-height:1.58;color:#f1e8da;max-width:38ch;margin:18px auto}
.public-text-btn{background:none;color:#d8c69d;border:0;text-decoration:underline;margin:20px auto 0;padding:6px 10px}
.public-storyteller-exit{margin:30px auto 2px;max-width:360px;color:#c5b9aa}
.public-storyteller-exit summary{cursor:pointer;font-size:12px;padding:8px}
.public-unlock{margin:16px auto 0;max-width:340px;padding:12px}
.public-guide{width:min(100%,1100px);margin:0 auto}
.public-guide h1{text-align:left;font-size:34px;margin:6px 0}
.public-guide-header{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;margin:12px 0 18px}
.public-guide-header p{font-size:13px;color:#bfb1a0;margin:0}
.public-guide-header-actions{display:flex;gap:8px;flex-wrap:wrap}
.public-guide-header-actions button{font-size:12px;padding:9px}
.public-guide input[type=search]{display:block;width:100%;background:#13161b;color:#f6ede3;border:1px solid #8a7454;border-radius:12px;padding:13px 14px;font:inherit;box-sizing:border-box}
.public-filter-row{display:flex;gap:6px;overflow-x:auto;padding:12px 0 7px}
.public-filter{flex:0 0 auto;background:#2f3031;color:#f3e3c7;border:1px solid #57534a;border-radius:99px;padding:8px 12px;font-size:12px}
.public-filter.selected{background:#e9c98c;color:#28241d}
.public-count{color:#baa988;font-size:12px;margin:8px 0 14px}
.public-role-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px}
.public-role-card{background:#292821;border:1px solid #665b49;border-radius:14px;padding:16px}
.public-role-card[hidden]{display:none}
.public-role-card h2{font:normal 24px Georgia,serif;color:#ffe0a8;margin:0 0 8px}
.public-role-card .public-ability-text{font-size:14px;margin:10px 0 4px;line-height:1.5}
.guide-unlock{background:#282623;border:1px solid #8a7150;border-radius:14px;max-width:370px;padding:15px;margin:16px 0}
@media (max-width:620px){.top{flex-wrap:wrap}.player-safe-actions{width:100%;justify-content:flex-start}.player-safe-actions button{flex:1 1 auto}.public-overlay{padding:12px 10px max(24px,env(safe-area-inset-bottom))}.public-panel{padding:24px 16px}.public-guide-header-actions{width:100%}}
