/* NSM shell — the quiet Support + Share dock shared by every Smriti game.
   Same material as the table: peacock felt, vermilion lacquer, gold, cream. */
.nsm-dock{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:60;display:flex;gap:8px;font-family:"Alegreya",Georgia,serif}
.nsm-dock button{min-height:44px;font:inherit;font-size:15px;letter-spacing:.02em;color:#f4e7c9;background:rgba(7,22,20,.72);border:1px solid rgba(233,185,90,.5);border-radius:999px;padding:9px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 8px 20px rgba(0,0,0,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:transform .15s,background .15s}
.nsm-dock button:hover{transform:translateY(-2px);background:rgba(138,36,19,.85)}
.nsm-dock button:focus-visible{outline:3px solid #f2cf7e;outline-offset:2px}
.nsm-dock .heart{color:#e9b95a;font-size:17px;line-height:1}
body.nsm-playing .nsm-dock{opacity:0;pointer-events:none;transition:opacity .3s}
@media (max-width:640px){.nsm-dock button{min-height:44px;padding:8px 12px;font-size:14px}.nsm-dock button span.txt{display:none}.nsm-dock button.nsm-share span.txt{display:inline}}

.nsm-veil{position:fixed;inset:0;z-index:70;background:rgba(7,22,20,.74);display:none;align-items:center;justify-content:center;padding:16px;font-family:"Alegreya",Georgia,serif;color:#f4e7c9}
.nsm-veil.open{display:flex}
.nsm-sheet{width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;border-radius:16px;padding:22px 22px 18px;background:linear-gradient(160deg,#17453f,#0c2b27 70%,#071c19);border:1px solid rgba(233,185,90,.45);box-shadow:0 30px 70px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,225,170,.2);position:relative}
.nsm-sheet h2{font-family:"Yeseva One",serif;font-weight:400;font-size:1.5rem;margin:0 0 6px;padding-right:44px;letter-spacing:.02em}
.nsm-sheet p{margin:0 0 12px;font-size:1.02rem;line-height:1.5;color:#e9dcc0}
.nsm-sheet p.fine{font-size:.9rem;color:#d8c9a4;font-style:italic}
.nsm-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(233,185,90,.4);background:rgba(0,0,0,.28);color:#f4e7c9;font:inherit;font-size:20px;line-height:1;cursor:pointer}
.nsm-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-decoration:none;color:#f4e7c9;font:inherit;font-size:1.02rem;padding:12px 16px;margin:0 0 9px;border-radius:12px;border:1px solid rgba(233,185,90,.5);background:linear-gradient(160deg,#b23a20,#8a2413);box-shadow:0 6px 14px rgba(0,0,0,.35);cursor:pointer;text-align:left;min-height:48px}
.nsm-btn small{display:block;font-size:.86rem;color:#f3d9b8;font-style:italic;margin-top:2px}
.nsm-btn.gold{background:linear-gradient(180deg,#e9b95a,#caa04a);color:#221410}
.nsm-btn.gold small{color:#5a3a0a}
.nsm-btn.ghost{background:rgba(0,0,0,.28)}
.nsm-btn .arrow{font-size:1.2rem;opacity:.75}
.nsm-qr{display:flex;flex-direction:column;align-items:center;gap:6px;margin:6px 0 10px}
.nsm-qr img{width:150px;height:150px;border-radius:12px;background:#fff;padding:8px;display:block}
.nsm-sheet details{margin-top:8px}
.nsm-sheet summary{cursor:pointer;list-style:none;padding:10px 14px;border-radius:10px;border:1px solid rgba(233,185,90,.3);color:#f4e7c9;font-size:.98rem}
.nsm-sheet summary::-webkit-details-marker{display:none}
.nsm-bank{padding:10px 4px 0;font-size:.95rem;line-height:1.7;color:#e9dcc0}
.nsm-bank div{display:flex;justify-content:space-between;gap:12px}
.nsm-bank span:first-child{color:#d8c9a4}
.nsm-bank span:last-child{font-variant-numeric:tabular-nums;text-align:right;word-break:break-word}
.nsm-preview{font-size:.95rem;line-height:1.5;padding:12px 14px;border-radius:12px;background:rgba(0,0,0,.28);border:1px solid rgba(233,185,90,.25);white-space:pre-wrap;margin:0 0 12px;color:#f4e7c9}
.nsm-toast{position:fixed;left:50%;bottom:max(74px,calc(env(safe-area-inset-bottom) + 70px));transform:translateX(-50%);z-index:80;background:#e9b95a;color:#221410;font-family:"Alegreya",Georgia,serif;font-size:15px;padding:9px 16px;border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s}
.nsm-toast.show{opacity:1}
.nsm-maker{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;font-size:.86rem;color:#d8c9a4}
.nsm-maker img{height:26px;width:auto;opacity:.9}
@media (prefers-reduced-motion:reduce){.nsm-dock button,.nsm-toast{transition:none}}
