/* 99 Club Studio · Online Play UX finishing layer v1.62 */
html.tt99-modal-open,html.tt99-modal-open body{overflow:hidden!important}
/* Keep all application modals above the host-site masthead. */
.tt99-play-complete,.tt99-share-dialog{z-index:2147482000!important}
.tt99-play-complete{padding:14px!important;background:rgba(23,49,54,.5)!important}
.tt99-play-complete-card{width:min(760px,100%)!important;max-height:calc(100dvh - 28px)!important;overflow:hidden!important;padding:18px!important;grid-template-columns:52px minmax(0,1fr)!important;gap:12px!important}
.tt99-play-complete-mark{width:48px!important;height:48px!important;font-size:1.65rem!important}
.tt99-play-complete-card h2{margin:1px 0 4px!important;font-size:1.35rem!important}
.tt99-play-complete-card p{margin:2px 0!important;font-size:.86rem!important;line-height:1.35!important}
.tt99-play-complete-actions{margin-top:10px!important;display:flex!important;gap:7px!important;align-items:center!important;flex-wrap:wrap!important}
.tt99-play-complete-actions button{min-height:36px!important;padding:7px 11px!important;font-size:.78rem!important}
.tt99-play-share-menu{position:relative}.tt99-play-share-menu>button{min-width:86px}.tt99-play-share-menu-pop{position:absolute;z-index:5;right:0;top:calc(100% + 6px);display:grid;gap:5px;width:210px;padding:7px;border:1px solid #cadbdc;border-radius:12px;background:#fff;box-shadow:0 12px 28px rgba(25,57,61,.18)}.tt99-play-share-menu-pop[hidden]{display:none!important}.tt99-play-share-menu-pop button{width:100%;text-align:left;border:0!important;background:#fff!important;color:#2d5358!important}.tt99-play-share-menu-pop button:hover,.tt99-play-share-menu-pop button:focus-visible{background:#eef8f6!important;color:#0e716a!important}
.tt99-play-complete-solution{grid-column:1/-1!important;margin-top:4px!important;padding-top:9px!important}
.tt99-play-complete-solution-head{margin-bottom:5px!important}
.tt99-play-complete-solution-board{height:min(54dvh,520px)!important;max-height:none!important;overflow:hidden!important;padding:7px!important}
.tt99-play-complete-snapshot{width:min(100%,46dvh,500px)!important;max-width:500px!important;max-height:100%!important;transform-origin:center center}
.tt99-play-complete-snapshot .tt99-hashi-board,.tt99-play-complete-snapshot .tt99-numberpath-grid,.tt99-play-complete-snapshot .tt99-wordsearch-grid,.tt99-play-complete-snapshot .tt99-play-shikaku,.tt99-play-complete-snapshot .tt99-numbergrid{width:min(100%,44dvh,470px)!important;max-height:100%!important}
/* Hint/status feedback is fixed in sight rather than buried below a tall board. */
.tt99-play-hint-toast{position:fixed;z-index:2147481000;left:50%;top:max(14px,env(safe-area-inset-top));transform:translateX(-50%);width:min(620px,calc(100vw - 24px));padding:11px 14px;border:1px solid #b9d4ee;border-radius:13px;background:#f1f7ff;color:#285a82;box-shadow:0 10px 30px rgba(32,76,108,.18);font:750 .88rem/1.4 system-ui;text-align:center}.tt99-play-hint-toast[hidden]{display:none!important}
/* Compact share modal: one viewport, no nested page-length panel. */
.tt99-share-dialog{padding:12px!important}.tt99-share-panel{width:min(1040px,100%)!important;height:min(94dvh,820px)!important;max-height:none!important;overflow:hidden!important;padding:14px!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important}.tt99-share-head h2{font-size:1.25rem!important}.tt99-share-head small{font-size:.62rem!important}.tt99-share-close{width:34px!important;height:34px!important}.tt99-share-tabs{margin:9px 0!important}.tt99-share-tabs button{padding:8px 10px!important}.tt99-share-body{min-height:0!important;grid-template-columns:minmax(0,1fr) 230px!important;gap:12px!important;align-items:stretch!important}.tt99-share-preview{min-height:0!important;height:100%!important;padding:7px!important;overflow:hidden!important}.tt99-share-preview img{width:auto!important;max-width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important}.tt99-share-side{min-height:0!important;align-content:start!important;gap:7px!important;overflow:auto!important;padding-right:2px}.tt99-share-qr{padding:8px!important}.tt99-share-qr canvas{width:118px!important;height:118px!important}.tt99-share-link{font-size:.58rem!important;max-height:2.7em;overflow:hidden}.tt99-share-actions{gap:5px!important}.tt99-share-actions button,.tt99-share-social button{min-height:36px!important;padding:7px 8px!important;font-size:.72rem!important}.tt99-share-social{gap:5px!important;padding-top:4px!important}.tt99-share-social button{display:flex;align-items:center;justify-content:flex-start;gap:7px}.tt99-share-social svg{width:17px;height:17px;flex:0 0 17px}.tt99-share-note{font-size:.6rem!important;line-height:1.3!important}
@media(max-width:760px){.tt99-play-complete-card{grid-template-columns:44px minmax(0,1fr)!important}.tt99-play-complete-mark{width:42px!important;height:42px!important}.tt99-play-complete-solution-board{height:min(50dvh,440px)!important}.tt99-play-complete-snapshot{width:min(100%,43dvh,430px)!important}.tt99-share-panel{height:96dvh!important}.tt99-share-body{grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr) auto!important}.tt99-share-side{grid-template-columns:1fr 1fr!important;display:grid!important;max-height:230px}.tt99-share-qr{grid-row:1/3}.tt99-share-note{display:none}.tt99-share-social{border-top:0!important}}
@media(max-width:520px){.tt99-play-complete{padding:7px!important}.tt99-play-complete-card{max-height:calc(100dvh - 14px)!important;padding:13px!important;grid-template-columns:1fr!important}.tt99-play-complete-mark{display:none!important}.tt99-play-complete-actions{gap:5px!important}.tt99-play-complete-solution{margin-top:1px!important}.tt99-play-complete-solution-board{height:min(55dvh,420px)!important}.tt99-play-complete-snapshot{width:min(100%,48dvh,390px)!important}.tt99-share-dialog{padding:5px!important}.tt99-share-panel{height:calc(100dvh - 10px)!important;border-radius:14px!important;padding:9px!important}.tt99-share-side{grid-template-columns:1fr 1fr!important;max-height:205px}.tt99-share-qr{display:none!important}.tt99-share-social{grid-template-columns:1fr 1fr!important}}
