html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}
.ui-game{margin:0!important;width:100%;height:100dvh;overflow:hidden!important;background:#0c2026;color:#edf3e9;font-family:system-ui,sans-serif;font-size:16px;line-height:1.4}
.play-shell{width:100%!important;max-width:680px!important;height:100dvh!important;margin:0 auto!important;padding:calc(8px + env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;display:flex!important;flex-direction:column!important;gap:8px;overflow:hidden!important}
.ui-header{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;flex:none;background:transparent!important;padding:0!important;min-height:44px}
.ui-header h1{font-size:18px!important;line-height:1.25!important;margin:0!important;white-space:normal}
.ui-header a,.ui-header button{min-height:44px!important;min-width:44px;display:flex;align-items:center;justify-content:center;font-size:14px!important;margin:0!important;padding:8px!important}
.ui-header a{color:inherit;text-decoration:none}.ui-badge{font-size:14px;color:#b8cfca;line-height:20px}
.ui-hud{flex:none;font-size:14px!important;line-height:20px!important;margin:0!important;padding:6px 8px!important;min-height:32px!important;background:#173239;border-left:3px solid #edb76c;white-space:pre-line}
.ui-summary{flex:none;font-size:14px!important;line-height:20px!important;min-height:0!important;margin:0!important;padding:0 4px!important}
.ui-visual{flex:1 1 auto;min-height:100px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;margin:0!important;background:#0b2026}
.ui-visual>.frame{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important}
.ui-visual>.frame canvas{width:100%!important;height:100%!important}
.ui-visual>#stage{margin:0!important;position:absolute!important;aspect-ratio:450/650;max-width:none}
.ui-visual canvas{display:block;touch-action:none}
.ui-actions{flex:none!important;min-height:0!important;margin:0!important;padding:0!important;gap:8px!important}
.play-shell button,.ui-sheet button{min-height:44px!important;min-width:0;white-space:normal!important;overflow-wrap:anywhere;line-height:1.3!important;font-size:14px!important;padding:8px!important}
.ui-actions#actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,44px)!important;height:96px!important}
.ui-actions#controls{display:flex!important;flex-wrap:wrap!important;grid-template-rows:none!important;height:auto!important}
.ui-actions#controls button{flex:1 1 120px!important}
.ui-actions#controls button.unavailable{display:none!important}
.ui-game[data-profile=ember-quay] #controls{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(2,44px)!important;height:96px!important}
.ui-game[data-profile=ember-quay] #controls button.unavailable{display:block!important;visibility:hidden!important}
.ui-game[data-profile=adventure] #actions{display:flex!important;flex-wrap:wrap!important;height:auto!important;grid-template-rows:none!important}
.ui-game[data-profile=adventure] #actions button{flex:1 1 calc(50% - 4px)!important;grid-area:auto!important}
.ui-game[data-profile=adventure] #companion-choice{flex-basis:100%;font-size:14px}
.ui-game[data-profile=adventure] #companion-choice select{min-height:44px;font:inherit;width:100%}
.control-break{flex-basis:100%;height:0;margin:0;padding:0}
.ui-game[data-profile=adventure][data-paused=true] #actions{display:grid!important;grid-template-rows:repeat(2,44px)!important;height:96px!important}
.ui-game[data-profile=adventure][data-paused=true] #resume{grid-area:2/1!important}
.ui-game[data-profile=adventure][data-paused=true] #reset{grid-area:1/1!important}
.ui-game[data-profile=adventure] canvas{clip-path:polygon(0 16.6667%,100% 16.6667%,100% 53.0769%,64.1026% 53.0769%,64.1026% 61.2821%,0 61.2821%)}
.ui-game[data-profile=yacht] #actions{grid-template-rows:repeat(2,44px)!important}
.ui-game[data-profile=yacht] #roll{grid-area:1/1!important}.ui-game[data-profile=yacht] #open-score{grid-area:1/2!important}.ui-game[data-profile=yacht] #pause{grid-area:2/1!important}.ui-game[data-profile=yacht] #back{grid-area:2/2!important}.ui-game[data-profile=yacht] #resume{grid-area:1/2!important}.ui-game[data-profile=yacht] #retry{grid-area:2/1!important}.ui-game[data-profile=yacht] #start{grid-area:1/1!important}
.ui-game #holds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;flex:none}
.ui-game #holds button{padding:5px!important;font-size:14px!important}
.ui-game #selection{font-size:14px;line-height:20px;flex:none}
.ui-game #pad{flex:none;max-width:300px;padding:0!important;width:100%;grid-template-rows:44px 44px}
.ui-game #pad button{min-height:44px!important;font-size:22px!important;padding:4px!important}
.ui-loading{position:absolute;z-index:3;inset:70px 12px auto;background:#173239;padding:12px!important;border-radius:8px;font-size:14px;pointer-events:none}
.ui-error{position:absolute;z-index:5;inset:80px 12px auto;background:#61332e;padding:12px!important}
.ui-tools{display:flex;gap:8px;flex:none}.ui-tools button{flex:1}
.ui-sheet{border:1px solid #64878c;border-radius:14px;background:#10292f;color:#edf3e9;padding:0;width:min(640px,calc(100% - 16px));height:min(820px,calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));max-width:none;max-height:none;overflow:hidden}
.ui-sheet::backdrop{background:#000a}.sheet-layout{height:100%;display:flex;flex-direction:column;overflow:hidden}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;flex:none;border-bottom:1px solid #35565c;min-height:60px}.sheet-head h2{font-size:18px;margin:0}.sheet-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px;font-size:16px;line-height:1.7;flex:1}.sheet-body p{font-size:16px!important;line-height:1.7}.sheet-foot{padding:8px 12px;border-top:1px solid #35565c;flex:none;display:flex;gap:8px;align-items:center}.sheet-foot button{flex:1}.sheet-body table{width:100%;border-collapse:collapse}.sheet-body table button{width:100%}.sheet-body td,.sheet-body th{padding:6px;border-bottom:1px solid #35565c}.sheet-body form{margin:0}.sheet-body label{display:block;font-size:16px;margin-bottom:12px}.sheet-body select{font-size:16px;min-height:44px;width:100%}
.ui-game[data-profile=avatar] #preview{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.ui-game[data-profile=avatar] #preview svg{max-width:100%;max-height:100%;height:100%;width:auto}.ui-game[data-profile=avatar] #status{flex:none}
.ui-sheet.sheet-bottom{height:auto;max-height:calc(100dvh - 100px);margin-bottom:8px}.sheet-bottom .sheet-body{max-height:calc(100dvh - 210px)}
.ui-game[data-profile=ember-quay] .sheet-body #roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0}.ui-game[data-profile=ember-quay] .sheet-body #slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 0}
body.portal-home{margin:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.portal-home .site-head,.portal-home .site-foot{flex:none}.portal-home .site-head .head-inner{min-height:56px;padding-top:4px;padding-bottom:4px}.portal-home .site-head .tag{display:none}
.portal-home #main{flex:1;min-height:0;overflow:hidden}.portal-home #main>.wrap{height:100%;display:flex;flex-direction:column;justify-content:center;gap:12px;padding-top:12px;padding-bottom:12px}
.portal-home .hero{display:block;margin:0;padding:0;min-height:0}.portal-home .hero-art{display:none}.portal-home .hero h1{font-size:clamp(32px,5vw,56px);line-height:1.18;margin:8px 0}.portal-home .hero .lede{font-size:16px;line-height:1.5;margin:10px 0}.portal-home .hero .button{min-height:44px}
.portal-home .catalog-status{font-size:14px;line-height:1.45;margin:0;padding:10px 12px}.portal-home .home-shortcuts{display:flex;flex-wrap:wrap;gap:8px}.portal-home .home-shortcuts a{min-height:44px;display:flex;align-items:center}
.portal-home .site-foot{padding:0}.portal-home .site-foot>.wrap{padding-top:4px;padding-bottom:4px;min-height:44px}.portal-home .site-foot p{margin:0}.portal-home .site-foot nav{display:none}
.portal-catalog .site-head{position:sticky;top:0;z-index:4}.catalog-scroll-note{font-size:16px;margin:8px 0 16px}
@media(max-height:700px){.portal-home .eyebrow{display:none}.portal-home .hero .lede br{display:none}.portal-home .catalog-status .text-link{display:none}.portal-home .site-foot .brand{display:none}.portal-home .hero h1{font-size:32px}}

.ui-game[data-mode=Game] .ui-visual>.frame{position:absolute!important;width:var(--canvas-w)!important;height:var(--canvas-h)!important;min-height:0!important}
.ui-game[data-mode=Game]:is([data-profile=prism-harbor],[data-profile=lumina-line]) #controls{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));height:auto!important}
.ui-game #pad{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:44px!important;max-width:380px!important}.ui-game #pad button{grid-column:auto!important;grid-row:1!important}.layout-native-help{display:none!important}
.ui-game #board .cell{min-height:0!important;min-width:0!important;padding:0!important;font-size:0!important;line-height:0!important}
.ui-game[data-profile=prism-harbor][data-mode=Game] .ui-visual>.frame{clip-path:inset(18.75% 0 10.25% 0)}.ui-game[data-profile=lumina-line][data-mode=Game] .ui-visual>.frame{clip-path:inset(17.5% 0 17.5% 0)}.ui-game[data-profile=ember-quay][data-mode=Game] .ui-visual>.frame{clip-path:inset(16.25% 0 21.25% 0)}
.ui-game [hidden]{display:none!important}

body.portal-home.admin-bar{height:calc(100dvh - 32px)}@media(max-width:782px){body.portal-home.admin-bar{height:calc(100dvh - 46px)}}@media(min-width:783px){.portal-catalog.admin-bar .site-head{top:32px}}@media(min-width:601px) and (max-width:782px){.portal-catalog.admin-bar .site-head{top:46px}}

.portal-catalog .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-catalog .card,.portal-catalog .card-body{min-width:0}.portal-catalog .cover{overflow-wrap:anywhere}@media(max-width:800px){.portal-catalog .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.portal-catalog .grid{grid-template-columns:minmax(0,1fr)}}
