/* Nightcap production art pass: generated chassis with live content layered into them. */
@font-face{font-family:"Tavern Blackletter";src:url('../fonts/unifrakturcook/UnifrakturCook-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
.nc-ui{--nc-gold:#f0d18a;--nc-dim:#b59662;--nc-roster-w:clamp(178px,13.9vw,285px);font-family:"Tavern Medieval","MedievalSharp",Georgia,serif}
.nc-ui::before{display:none}
body:has(.nc-ui)>#hud{opacity:0;pointer-events:none}

/* Separate live score shields keep Hagatha and the center of the table visible. */
.nc-score{top:8px;z-index:12;isolation:isolate;width:clamp(138px,11.4vw,198px);height:auto;aspect-ratio:1060/1343;min-height:0;padding:0;background:url('nightcap-score-shield-v1.png') center/100% 100% no-repeat!important;border:0;border-radius:0;box-shadow:none;filter:brightness(1.18) saturate(1.12) contrast(1.04) drop-shadow(0 11px 10px #000e);text-align:center;opacity:1;transition:opacity .2s}
.nc-score::before{display:none}
.nc-score::after{display:none}
.nc-score>*{z-index:1}
.nc-score.you{left:calc(var(--nc-roster-w) + 7px);border-radius:0}
.nc-score.hagatha{right:calc(var(--nc-roster-w) + 7px);border-radius:0;text-align:center}
.nc-ui:has(.nc-muster.visible) .nc-score{opacity:0}
.nc-score-kicker{display:none}
.nc-score-name{position:absolute;left:32%;right:12%;top:6.3%;height:12%;display:flex;align-items:center;justify-content:center;color:#edce86;font-size:clamp(8px,.72vw,13px);font-weight:900;letter-spacing:.075em;line-height:1;text-shadow:0 2px 3px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nc-score.hagatha .nc-score-name{left:12%;right:32%}
.nc-score-points,.nc-score.you .nc-score-points,.nc-score.hagatha .nc-score-points{position:absolute;left:31.5%;right:10.5%;top:20.5%;height:47%;display:grid;place-items:center;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(39px,3.65vw,64px);font-weight:900;font-variant-numeric:tabular-nums;line-height:1;color:#f8e6b2;background:linear-gradient(180deg,#fffbea 10%,#f1d58f 60%,#c78e39 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-align:center;-webkit-text-stroke:.35px #4b3015;text-shadow:0 3px 2px #000,0 0 12px #e1a84a66}
.nc-score.hagatha .nc-score-points{left:31.5%;right:10.5%}
.nc-score-track{display:none}
.nc-score-foot,.nc-score.hagatha .nc-score-foot{position:absolute;inset:0;display:block;margin:0;font-size:clamp(5px,.43vw,8px);font-weight:700;letter-spacing:.07em;color:#c3a36d}
.nc-score-foot>span:first-child{position:absolute;left:32%;right:12%;top:70%;height:9.5%;display:flex;align-items:center;justify-content:center;text-align:center}
.nc-score.hagatha .nc-score-foot>span:first-child{left:12%;right:32%}
.nc-match-pips{position:absolute;left:33.6%;right:11.8%;bottom:5%;height:15%;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;justify-items:center;gap:0}
.nc-score.hagatha .nc-match-pips{left:33.6%;right:11.8%}
.nc-match-pips i{width:clamp(18px,1.55vw,27px);height:clamp(18px,1.55vw,27px);border:0;border-radius:50%;background:#100a07;box-shadow:inset 0 2px 6px #000,0 0 0 1px #5f411e}
.nc-match-pips i.on{background:radial-gradient(circle at 35% 30%,#fff0a8,#d69b37 55%,#61320f 74%);box-shadow:0 0 10px #ffc85a99,inset 0 1px #fff4c0}

/* Reusable mirrored roster tower. The continuous bay supports every active unit type. */
.nc-roster,.nc-roster.hagatha{top:6px;width:var(--nc-roster-w);max-height:none;aspect-ratio:719/2172;opacity:1;transform:none;filter:drop-shadow(0 12px 14px #000c);pointer-events:none}
.nc-roster.you{left:0}.nc-roster.hagatha{right:0}
.nc-roster::before{content:"";position:absolute;inset:0;background:url('nightcap-roster-tower-v2.png') center/100% 100% no-repeat;z-index:-1}
.nc-roster.hagatha::before{transform:scaleX(-1)}
.nc-roster-title{position:absolute;left:10%;right:10%;top:2.5%;height:13.5%;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:0;color:#e7c67f;font-size:clamp(8px,.72vw,13px);letter-spacing:.13em;line-height:1;text-align:center;text-shadow:0 2px 3px #000}
.nc-roster.you .nc-roster-title{flex-direction:column;gap:clamp(7px,.58vw,11px)}
.nc-roster-cap{min-width:68%;padding:clamp(4px,.34vw,6px) clamp(7px,.56vw,11px);border:1px solid #9b7339;border-radius:2px;background:linear-gradient(180deg,#2d1b0f,#100907 62%,#080504);box-shadow:inset 0 1px #d2a85b66,inset 0 -2px 3px #000,0 2px 4px #000a;color:#f5dda0;font-size:clamp(8px,.65vw,12px);font-weight:900;letter-spacing:.075em;line-height:1;white-space:nowrap;text-shadow:0 2px 2px #000}
.nc-roster.hagatha .nc-roster-title{left:13%;right:13%;top:3.15%;height:10.5%;font-size:clamp(7px,.65vw,12px);letter-spacing:.08em;white-space:nowrap}
.nc-roster-grid,.nc-roster.hagatha .nc-roster-grid{position:absolute;left:15.5%;right:16.5%;top:17.4%;height:78.5%;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(12,minmax(0,1fr));gap:0;margin:0;direction:ltr}
.nc-roster-unit{position:relative;width:100%;height:100%;min-height:0;background:linear-gradient(90deg,#0604037d,#25160b80 50%,#0604037d);border-bottom:1px solid #7d57265c;box-shadow:inset 0 1px #c6974930;overflow:visible}
.nc-roster-unit::before{display:none}
.nc-roster-unit canvas{position:absolute;left:1%;top:5%;width:auto;height:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 40%,#5a3a22,#080504 72%);border:1px solid #805a27;box-shadow:inset 0 0 9px #000;image-rendering:auto}
.nc-roster.hagatha .nc-roster-unit canvas{left:auto;right:2%}
.nc-roster-count{right:2.5%;top:24%;min-width:18%;padding:0;background:none;border:0;color:#ffe9aa;font-size:clamp(10px,.82vw,15px);line-height:1;text-shadow:0 2px 3px #000}
.nc-roster.hagatha .nc-roster-count{right:auto;left:2.5%}
.nc-roster-unit em{left:33%;right:17%;bottom:47%;font-size:clamp(7px,.61vw,11px);font-weight:800;line-height:1;letter-spacing:.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f6dfaa;text-shadow:0 2px 3px #000,0 0 4px #000}
.nc-roster.hagatha .nc-roster-unit em{left:16%;right:36%}
.nc-unit-health{left:34%;right:20%;bottom:26%;height:3px;border:0;border-radius:5px;background:#100705;box-shadow:inset 0 1px 3px #000}
.nc-roster.hagatha .nc-unit-health{left:20%;right:39%}
.nc-unit-health i{border-radius:4px;background:linear-gradient(90deg,#467f92,#8fd2dd);box-shadow:0 0 5px #6ad6ff88}
.nc-roster.hagatha .nc-unit-health i{background:linear-gradient(90deg,#8d332a,#e17b56);box-shadow:0 0 5px #ff6b5188}

/* Tavern resources live below the player's roster and replace the generic top HUD. */
.nc-resources{position:absolute;left:0;bottom:6px;width:clamp(190px,15vw,273px);height:clamp(93px,7.45vw,134px);background:url('nightcap-resource-cluster-v1.png') left bottom/100% 100% no-repeat;filter:drop-shadow(0 8px 9px #000d);pointer-events:none;z-index:11;isolation:isolate}
.nc-resources.has-spells{width:clamp(190px,15vw,273px);background-size:100% 100%}
.nc-resources::before{content:"";display:none;position:absolute;z-index:0;left:0;right:0;bottom:calc(100% - 3px);height:auto;aspect-ratio:1880/837;background:url('nightcap-spell-rack-v1.png') center/100% 100% no-repeat;filter:drop-shadow(0 7px 8px #000c)}
.nc-resources::after{content:"SPELL SLOTS";display:none;position:absolute;z-index:3;left:14%;right:14%;bottom:calc(166.6% - 10px);height:clamp(11px,.95vw,15px);align-items:center;justify-content:center;color:#f1d28c;font-size:clamp(7px,.6vw,11px);font-weight:900;line-height:1;letter-spacing:.13em;text-align:center;text-indent:.13em;text-shadow:0 2px 3px #000,0 0 7px #c58d3f66}
.nc-resources.has-spells::before{display:block}
.nc-resources.has-spells::after{display:flex}
.nc-resource-value{position:absolute;z-index:2;display:grid;place-items:center;transform:translateX(clamp(-5px,-.3vw,-3px));color:#fff0bd;font-family:"Tavern Medieval",Georgia,serif;font-weight:900;font-variant-numeric:tabular-nums;line-height:1;text-shadow:0 2px 3px #000,0 0 8px #e4a74b55}
.nc-resource-value.gold{left:12%;top:45%;width:14%;height:20%;font-size:clamp(11px,1vw,18px);transform:translateX(clamp(8px,.62vw,11px))}
.nc-resource-value.pop{left:44.2%;top:29%;width:15%;height:27%;font-size:clamp(15px,1.3vw,23px);transform:none}
.nc-resource-value.consc{left:76%;top:45%;width:12%;height:20%;font-size:clamp(12px,1.1vw,20px);transform:translateX(clamp(-6px,-.38vw,-4px))}
.nc-resource-spells{display:none;position:absolute;z-index:4;left:12.5%;right:12.5%;bottom:calc(100% + clamp(13px,1.45vw,22px) + 7px);height:clamp(28px,2.5vw,38px);grid-template-columns:repeat(4,1fr);align-items:center;justify-items:center;gap:0}
.nc-resources.has-spells .nc-resource-spells{display:grid}
.nc-resource-spells i{position:relative;width:clamp(22px,1.72vw,31px);aspect-ratio:1;border:0;border-radius:50%;background:radial-gradient(circle at 50% 48%,#0c0710 0 38%,#3b2415 40% 53%,#d0a24f 55% 59%,#3a210f 61% 72%,#130b07 74%);box-shadow:inset 0 3px 7px #000,0 1px 0 #f1c76c,0 3px 5px #000b}
.nc-resource-spells i::before{content:"";position:absolute;inset:11%;transform:none;background:linear-gradient(145deg,#fff3ff 0 7%,#d89fff 8% 25%,#7c43b7 48%,#351650 78%,#1a0b28);clip-path:polygon(50% 0,86% 17%,100% 54%,72% 91%,50% 100%,28% 91%,0 54%,14% 17%);box-shadow:0 0 11px #ba6eff}
.nc-resource-spells i::after{content:"";position:absolute;inset:16%;transform:none;border:1px solid #f4d9ff99;clip-path:polygon(50% 0,86% 17%,100% 54%,72% 91%,50% 100%,28% 91%,0 54%,14% 17%)}
.nc-resource-spells i.spent{filter:saturate(.18) brightness(.58);box-shadow:inset 0 3px 7px #000,0 1px #5e4222}
.nc-resource-spells i.spent::before{background:linear-gradient(135deg,#362d3b,#17121b 62%,#09070b);box-shadow:none}
.nc-resource-spells i.spent::after{border-color:#63576a55}
.nc-ui:has(.nc-round-result.show) .nc-resources,.nc-ui:has(.nc-round-result.show) .nc-score{opacity:0}

/* Two-tier muster cabinet. One repeated medallion controls the exact 4 + 12 layout. */
.nc-muster{left:50%;bottom:-3px;width:min(1180px,calc(100vw - (var(--nc-roster-w) + 18px)*2),calc(100vh * 1.04));transform:translate(-50%,calc(100% + 70px));filter:drop-shadow(0 -8px 18px #000c)}
.nc-muster.visible{transform:translate(-50%,0)}
.nc-muster.visible{pointer-events:none}
.nc-unit-card,.nc-bell-button,.nc-refund-button,.nc-tools-toggle,.nc-tools-drawer{pointer-events:auto}
.nc-muster.visible:has(.nc-unit-card.armed){transform:translate(-50%,90%)}
body.nc-refund-mode .nc-muster.visible{transform:translate(-50%,90%)}
.nc-muster-shell{position:relative;width:100%;aspect-ratio:1835/681;padding:0;background:url('nightcap-muster-cabinet-v1.png') center/100% 100% no-repeat;border:0;border-radius:0;box-shadow:none;overflow:visible}
.nc-muster-shell::before{display:none}
.nc-muster-head{display:none!important}
.nc-muster-hint{position:absolute;z-index:4;left:19%;right:19%;bottom:1.5%;height:auto;margin:0;text-align:center;color:#c5a66e;font-size:clamp(7px,.58vw,10px);letter-spacing:.04em;text-shadow:0 2px 3px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nc-core-row{position:absolute;left:9%;right:9%;top:4.5%;height:45%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4.5%;align-items:stretch}
.nc-favor-label{display:none!important}
.nc-favor-row{position:absolute;left:3.6%;right:3.6%;top:49%;height:45%;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:3% .7%;min-height:0;align-items:stretch}
.nc-favor-row .nc-unit-card:nth-child(1){grid-column:1;grid-row:1}.nc-favor-row .nc-unit-card:nth-child(2){grid-column:2;grid-row:1}.nc-favor-row .nc-unit-card:nth-child(3){grid-column:3;grid-row:1}.nc-favor-row .nc-unit-card:nth-child(4){grid-column:5;grid-row:1}.nc-favor-row .nc-unit-card:nth-child(5){grid-column:6;grid-row:1}.nc-favor-row .nc-unit-card:nth-child(6){grid-column:7;grid-row:1}
.nc-favor-row .nc-unit-card:nth-child(7){grid-column:1;grid-row:2}.nc-favor-row .nc-unit-card:nth-child(8){grid-column:2;grid-row:2}.nc-favor-row .nc-unit-card:nth-child(9){grid-column:3;grid-row:2}.nc-favor-row .nc-unit-card:nth-child(10){grid-column:5;grid-row:2}.nc-favor-row .nc-unit-card:nth-child(11){grid-column:6;grid-row:2}.nc-favor-row .nc-unit-card:nth-child(12){grid-column:7;grid-row:2}
.nc-unit-card,.nc-favor-row .nc-unit-card{position:relative!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background-color:transparent!important;background-image:url('nightcap-unit-medallion-v1.png')!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;color:#f1dba9!important;text-align:center!important;box-shadow:none!important;overflow:visible!important;transition:transform .14s,filter .14s!important;filter:drop-shadow(0 4px 4px #0008)}
.nc-core-row .nc-unit-card{width:88%!important;height:88%!important;place-self:center}
.nc-unit-card:hover:not(:disabled){transform:translateY(-5px) scale(1.035);filter:brightness(1.16) drop-shadow(0 8px 8px #000b)}
.nc-unit-card.armed{background-color:transparent!important;box-shadow:none!important;filter:brightness(1.22) drop-shadow(0 0 12px var(--role,#e0b052)) drop-shadow(0 5px 5px #000b)}
.nc-unit-card.spent,.nc-unit-card:disabled{filter:grayscale(.68) brightness(.46) drop-shadow(0 3px 3px #0009)}
.nc-unit-card.spent::after{right:19%;bottom:17%;padding:1px 4px;border:1px solid #a7533d;background:#1a0706e8;color:#e28b6e;font-size:clamp(5px,.42vw,8px)}
.nc-unit-card canvas,.nc-favor-row .nc-unit-card canvas{position:absolute;left:12%;top:8%;width:76%;height:55%;transform:none;border-radius:50%;background:radial-gradient(circle at 50% 40%,#684326,#090605 72%);border:0;box-shadow:inset 0 0 14px #000;pointer-events:none;image-rendering:auto}
.nc-core-row .nc-unit-card canvas{left:50%;top:8%;width:auto;height:55%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%}
.nc-card-name,.nc-favor-row .nc-card-name{position:absolute;left:14%;right:14%;bottom:22.5%;display:block;max-height:none;color:#f2dca7;font-size:clamp(8px,.72vw,13px);font-weight:900;line-height:1;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 3px #000}
.nc-core-row .nc-card-name{left:5%;right:5%;z-index:2;overflow:visible;letter-spacing:.015em}
.nc-core-row .nc-card-name::before{content:"";position:absolute;z-index:-1;left:-7%;right:-7%;top:-62%;bottom:-62%;background:url('nightcap-unit-medallion-v1.png') center 79%/100% auto no-repeat;filter:drop-shadow(0 2px 2px #0009);pointer-events:none}
.nc-card-cost,.nc-favor-row .nc-card-cost{position:absolute;left:18%;right:18%;bottom:16.2%;display:block;margin:0;color:#c6a56b;font-size:clamp(5px,.46vw,8px);line-height:1;letter-spacing:.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 3px #000}
.nc-core-row .nc-card-cost{left:24%;right:24%;bottom:1.5%;height:15%;box-sizing:border-box;padding:0 4%;display:flex;align-items:center;justify-content:center;gap:clamp(4px,.38vw,7px);overflow:visible;border:1px solid #b98232;border-radius:3px;background:linear-gradient(180deg,rgba(55,31,15,.98),rgba(15,8,5,.98));box-shadow:0 0 0 1px #140b06,inset 0 1px #f1c66e66,0 3px 5px #000b;color:#ffe2a0;font-size:clamp(10px,.84vw,15px);font-weight:900;letter-spacing:.025em;text-shadow:0 2px 3px #000}
.nc-core-row .nc-card-cost::before{content:"";display:block;width:clamp(22px,1.76vw,32px);height:clamp(22px,1.76vw,32px);flex:0 0 auto;background-position:center;background-size:contain;background-repeat:no-repeat;filter:drop-shadow(0 2px 2px #000)}
.nc-core-row .nc-unit-card.nc-currency-gold .nc-card-cost::before{background-image:url('nightcap-price-coin-v1.png')}
.nc-core-row .nc-unit-card.nc-currency-pop .nc-card-cost::before{background-image:url('nightcap-price-seal-v1.png')}
.nc-core-row .nc-unit-card.nc-currency-consc .nc-card-cost::before{background-image:url('nightcap-price-bottle-v1.png')}
.nc-favor-row .nc-unit-card{background-color:transparent!important;background-image:url('nightcap-favor-token-v1.png')!important;background-position:center 48%!important;background-size:100% 205%!important;background-repeat:no-repeat!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 3px 3px #000a)}
.nc-favor-row .nc-unit-card:hover:not(:disabled){transform:translateY(-3px) scale(1.025);filter:brightness(1.16) drop-shadow(0 6px 5px #000b)}
.nc-favor-row .nc-unit-card canvas{left:5%;top:18%;width:30%;height:auto;aspect-ratio:1;border:0;border-radius:50%;box-shadow:inset 0 0 9px #000}
.nc-favor-row .nc-card-name{left:39%;right:4%;top:29%;bottom:auto;height:40%;box-sizing:border-box;padding:0 3%;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#f2dca7;font-size:clamp(9px,.7vw,13px);line-height:.95;letter-spacing:.01em;text-align:center;white-space:normal;text-wrap:balance;text-overflow:clip}
.nc-favor-row .nc-card-cost{left:42%;right:10%;bottom:5%;height:25%;display:flex;align-items:center;justify-content:center;transform:translate(-4px,-2px);border:0;border-radius:0;background:transparent;color:#efc877;font-size:clamp(7px,.54vw,10px);font-weight:900;line-height:1;letter-spacing:.035em;text-align:center;text-shadow:0 2px 3px #000;overflow:visible}
.nc-bell-button{left:50%;bottom:1%;width:clamp(104px,14%,165px);height:auto;aspect-ratio:1236/932;padding:0;border:0;border-radius:0;background-color:transparent;background-image:url('nightcap-ring-bell-button-v1.png');background-position:center;background-size:contain;background-repeat:no-repeat;box-shadow:none;color:#f6d58e;font-size:clamp(7px,.66vw,12px);letter-spacing:.07em;text-shadow:0 2px 3px #000;filter:drop-shadow(0 7px 7px #000b);cursor:pointer}
.nc-bell-button::before{display:none}
.nc-bell-button span{position:absolute;left:14%;right:14%;bottom:21%;display:flex;align-items:center;justify-content:center;line-height:1;text-align:center;text-wrap:balance}
.nc-bell-button small{position:absolute;left:16%;right:16%;bottom:16%;margin:0;color:#bd9b68;font-size:clamp(4px,.35vw,6px);letter-spacing:.08em;text-align:center}
.nc-bell-button:hover,.nc-bell-button:active{transform:translateX(-50%) translateY(-5px) scale(1.035);background-color:transparent;background-image:url('nightcap-ring-bell-button-v1.png');background-position:center;background-size:contain;background-repeat:no-repeat;filter:brightness(1.16) drop-shadow(0 11px 9px #000c);box-shadow:none}
.nc-refund-button{position:absolute;left:2.5%;bottom:1.2%;width:clamp(132px,16%,190px);height:auto;aspect-ratio:1706/476;padding:0 5% 0 7%;border:0;background:transparent url('nightcap-tricks-tab-v1.png') center/contain no-repeat;box-shadow:none;color:transparent!important;font-size:0!important;font-weight:900;letter-spacing:.07em;text-align:left;text-shadow:none!important;filter:drop-shadow(0 4px 4px #000a);transform:scaleX(-1)!important;overflow:hidden}
.nc-refund-button::first-line{transform:scaleX(-1)}
.nc-refund-button::after{content:"REFUND COMPANY";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-right:7%;color:#e6c47d;font-size:clamp(6px,.52vw,10px)!important;text-shadow:0 2px 3px #000;transform:scaleX(-1);white-space:nowrap}
.nc-refund-button:hover,.nc-refund-button:focus,.nc-refund-button:active,.nc-refund-button.armed{background:transparent url('nightcap-tricks-tab-v1.png') center/contain no-repeat!important;filter:brightness(1.25) drop-shadow(0 0 10px #d39a47aa);transform:scaleX(-1)!important}
.nc-refund-button:disabled{filter:grayscale(.85) brightness(.45);cursor:default}
.nc-tools-toggle{display:flex!important;position:fixed!important;z-index:24;right:10px!important;bottom:9px!important;width:230px!important;min-width:0!important;max-width:230px!important;height:64px!important;box-sizing:border-box;padding:0 18px 0 78px!important;align-items:center;justify-content:center;border:0;background:transparent url('nightcap-tricks-tab-v1.png') center/100% 100% no-repeat!important;box-shadow:none!important;color:#efd18a;font-family:"Tavern Medieval",Georgia,serif;font-size:13px;font-weight:900;letter-spacing:.1em;text-align:center;text-shadow:0 2px 3px #000;filter:drop-shadow(0 6px 7px #000c);cursor:pointer}
.nc-tools-toggle:hover,.nc-tools-toggle:focus,.nc-tools-toggle:active{outline:none;background:transparent url('nightcap-tricks-tab-v1.png') center/100% 100% no-repeat!important;box-shadow:none!important;filter:brightness(1.2) drop-shadow(0 8px 9px #000d);transform:translateY(-2px)}
.nc-tools-drawer{display:block!important;position:fixed!important;z-index:30;left:auto!important;right:12px!important;top:auto!important;bottom:82px!important;width:clamp(560px,38vw,700px);aspect-ratio:3/2;padding:0;border:0;background:transparent url('nightcap-tricks-kit-tray-v2.png') center/100% 100% no-repeat;box-shadow:none;filter:drop-shadow(0 16px 18px #000d);opacity:0!important;visibility:hidden!important;transform:translateX(calc(100% + 28px))!important;transition:transform .34s cubic-bezier(.2,.82,.24,1),opacity .2s,visibility 0s linear .34s;pointer-events:none!important;will-change:transform,opacity}
.nc-tools-drawer.open{opacity:1!important;visibility:visible!important;transform:translateX(0)!important;transition:transform .34s cubic-bezier(.2,.82,.24,1),opacity .2s;pointer-events:auto!important}
.nc-ui:has(.nc-tools-drawer.open) .nc-tools-toggle{z-index:32}
.nc-ui:has(.nc-tools-drawer.open) .nc-muster.visible{transform:translate(-50%,calc(100% + 70px))!important;pointer-events:none}
.nc-tools-drawer::before{content:"TRICKS & KIT";position:absolute;left:32%;right:32%;top:5.2%;height:11%;display:grid;place-items:center;color:#ead095;font-size:clamp(13px,1.1vw,19px);font-weight:900;letter-spacing:.12em;text-align:center;text-shadow:0 2px 3px #000;white-space:nowrap}
.nc-tools-grid{position:absolute;left:7.2%;right:7.2%;top:20.5%;bottom:8.2%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:17% repeat(3,minmax(0,1fr));gap:1.5% 2.4%;margin:0}
.nc-cheat-limit{grid-column:1/-1;display:grid;place-items:center;padding-top:1%;color:#d2b474;font-size:clamp(9px,.76vw,13px);font-weight:900;letter-spacing:.11em;text-align:center;text-shadow:0 2px 3px #000;white-space:nowrap}
.nc-tools-grid .nc-tool-card{min-height:0!important;height:auto!important;margin:0!important;padding:3% 2% 3% calc(4.5% + 15px)!important;display:flex!important;flex-direction:column;justify-content:center;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#edcf91!important;font-family:"Tavern Medieval",Georgia,serif!important;font-size:clamp(11px,.82vw,14px)!important;font-weight:900!important;line-height:1.02!important;text-align:left!important;text-shadow:0 2px 3px #000!important;overflow:hidden}
.nc-tools-grid .nc-tool-card:nth-child(odd){padding-left:calc(4.5% + 5px)!important}
.nc-tools-grid .nc-tool-card .bsub{margin-top:2.5%;color:#cbb17b;font-family:Georgia,"Times New Roman",serif;font-size:clamp(8px,.62vw,11px);font-weight:400;line-height:1.08;letter-spacing:.025em}
.nc-tools-grid .nc-tool-card:hover,.nc-tools-grid .nc-tool-card.armed{background:radial-gradient(ellipse at center,#8c5c2429,transparent 72%)!important;filter:brightness(1.23);box-shadow:inset 0 0 16px #b57b293d!important}

/* Active-battle command rail. */
.nc-battle-rail{left:50%;bottom:2px;width:min(980px,calc(100vw - (var(--nc-roster-w) + 20px)*2));max-width:none;min-width:0;min-height:0;aspect-ratio:1634/416;padding:0;border:0;border-radius:0;background:url('nightcap-battle-rail-v2.png') center/100% 100% no-repeat;box-shadow:none;filter:drop-shadow(0 8px 10px #000c);transform:translate(-50%,130%)}
.nc-battle-rail.visible{transform:translate(-50%,0)}
.nc-battle-copy{position:absolute;inset:0;min-width:0;pointer-events:none}
.nc-battle-title{position:absolute;left:36%;right:36%;top:3.5%;text-align:center;color:#e5c57f;font-size:clamp(7px,.58vw,10px);letter-spacing:.11em;text-shadow:0 2px 3px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nc-battle-sub{position:absolute;left:36%;right:36%;bottom:8.5%;margin:0;text-align:center;color:#b79866;font-size:clamp(5px,.4vw,7px);line-height:1.15;text-shadow:0 2px 3px #000;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nc-battle-bell{position:absolute;left:42.7%;top:18%;width:14.6%;height:58%;display:grid;place-items:center;border:0;border-radius:50%;background:radial-gradient(circle at 50% 45%,#392419,#090605 74%);box-shadow:inset 0 0 18px #000;color:transparent;font-size:0}
.nc-battle-bell::after{content:"BATTLE\A UNDERWAY";white-space:pre;color:#e4c37b;font-size:clamp(8px,.67vw,12px);font-weight:900;line-height:1.05;letter-spacing:.08em;text-align:center;text-shadow:0 2px 3px #000}
.nc-fight-actions{position:absolute;left:8.5%;right:8.5%;top:31%;height:37%;display:flex;align-items:stretch;justify-content:space-between;gap:25%;margin:0}
.nc-fight-actions .btn{width:37%;min-height:0!important;height:100%;padding:0!important;border:0!important;background-color:transparent!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;box-shadow:none!important;color:transparent!important;font-size:0!important;line-height:1;text-align:center!important;text-shadow:none!important;filter:drop-shadow(0 4px 4px #000b)}
.nc-fight-actions .btn .bsub{display:none!important}
.nc-fight-actions .nc-action-smash{background-image:url('nightcap-action-smash-v1.png')!important}
.nc-fight-actions .nc-action-roar{background-image:url('nightcap-action-roar-v1.png')!important}
.nc-fight-actions .nc-action-freeze{background-image:url('nightcap-action-freeze-v1.png')!important}
.nc-fight-actions .nc-action-switch{background-image:url('nightcap-action-switch-v1.png')!important}
.nc-fight-actions .nc-action-flask{background-image:url('nightcap-flask-yellow-v1.png')!important;background-color:transparent!important;border:0!important;box-shadow:none!important;position:relative}
.nc-fight-actions .nc-action-flask.armed{filter:brightness(1.3) drop-shadow(0 0 12px #e4d638cc)!important;transform:translateY(-2px);box-shadow:none!important;background-color:transparent!important;animation:none!important}
.nc-fight-actions .nc-action-flask.armed::after{content:'CLICK THE TABLE';position:absolute;left:50%;bottom:5px;transform:translateX(-50%);font-size:11px!important;font-weight:bold;letter-spacing:2px;color:#ffe9a0;background:rgba(20,10,5,.9);border:1px solid #c9a227;padding:3px 9px;white-space:nowrap;animation:pulse .8s infinite;pointer-events:none}
.nc-fight-actions:has(.btn:only-child){justify-content:center}
.nc-fight-actions .btn:nth-child(2){margin-left:auto}
.nc-fight-actions .btn:hover,.nc-fight-actions .btn.armed{filter:brightness(1.25) drop-shadow(0 0 9px #d4a34699);transform:translateY(-2px)}

/* Round resolution uses the same bridge plus separate win/loss hanging cloth. */
.nc-round-result{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:68;display:flex!important;align-items:flex-start!important;justify-content:center!important;padding-top:2.5vh;background:radial-gradient(ellipse at center,transparent 0 30%,rgba(0,0,0,.42) 64%,rgba(0,0,0,.78));overflow:hidden}
.nc-result-rig{width:min(1120px,88vw);margin-inline:auto;filter:drop-shadow(0 18px 20px #000d)}
.nc-result-scorebar{position:relative;width:82%;aspect-ratio:1864/596;min-height:0;margin:0 auto;padding:0;display:block;background:url('nightcap-score-bridge-v1.png') center/100% 100% no-repeat;border:0;border-radius:0;box-shadow:none}
.nc-result-side{position:absolute;top:0;width:24%;height:100%;text-align:center}
.nc-result-side.me{left:11.7%}.nc-result-side.her{right:11.7%}
.nc-result-side strong{position:absolute;left:2%;right:2%;top:7%;height:12%;display:flex;align-items:center;justify-content:center;color:#e9c97f;font-size:clamp(10px,1.05vw,17px);font-weight:900;letter-spacing:.08em;line-height:1;text-shadow:0 2px 3px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nc-result-side b{position:absolute;left:2%;right:2%;top:24%;height:34%;display:grid;place-items:center;color:#f8e6b2;background:linear-gradient(180deg,#fffbea 10%,#f1d58f 60%,#c78e39 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(39px,4.2vw,68px);font-weight:900;font-variant-numeric:tabular-nums;line-height:1;-webkit-text-stroke:.4px #4b3015;text-shadow:0 3px 3px #000,0 0 11px #d9a04255}
.nc-result-side small{position:absolute;left:2%;right:2%;top:58%;height:10%;display:flex;align-items:center;justify-content:center;color:#c0a06b;font-size:clamp(6px,.55vw,9px);font-weight:700;letter-spacing:.08em}
.nc-result-pips{position:absolute;left:8%;right:15%;bottom:2.2%;height:19%;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;justify-items:center;gap:0;margin:0}
.nc-result-side.her .nc-result-pips{left:15%;right:8%}
.nc-result-pips i{width:clamp(20px,1.75vw,31px);height:clamp(20px,1.75vw,31px);border:0;border-radius:50%;background:#100805;box-shadow:inset 0 2px 5px #000,0 0 0 1px #67461e}
.nc-result-bell{position:absolute;left:40%;top:13%;width:20%;height:72%;margin:0;border:0;border-radius:0;background:none;color:transparent;font-size:0;filter:none}
.nc-result-round{display:none!important}
.nc-result-cloth{position:relative;width:96%;aspect-ratio:1920/760;margin:-8.5% auto 0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:transparent!important;background-position:center!important;background-size:100% 100%!important;background-repeat:no-repeat!important;border:0!important;box-shadow:none!important;clip-path:none!important;color:#f3d794;filter:drop-shadow(0 12px 10px #000a)}
.nc-round-result.win .nc-result-cloth{background-image:url('nightcap-round-win-banner-v1.png')!important}
.nc-round-result.loss .nc-result-cloth{background-image:url('nightcap-round-loss-banner-v1.png')!important}
.nc-result-verdict{margin-top:4.5%;font-size:clamp(42px,5.3vw,82px);line-height:.95;letter-spacing:.045em;text-shadow:0 4px 3px #2b1008,0 0 3px #000}
.nc-result-drinks{margin-top:2%;font-size:clamp(12px,1.4vw,21px);letter-spacing:.08em;text-shadow:0 2px 3px #000}
.nc-result-drinks{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,28px)}
.nc-drink-side{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:30%}
.nc-drink-side b{font-size:clamp(9px,1.05vw,16px);letter-spacing:.07em}
.nc-drink-mugs{display:flex;justify-content:center;gap:2px;min-height:clamp(24px,3.1vw,46px)}
.nc-drink-mugs i{display:block;width:clamp(24px,3.1vw,46px);aspect-ratio:961/1037;background:url('nightcap-tankard-icon-v1.png') center/contain no-repeat;filter:drop-shadow(0 3px 2px #000a)}
.nc-drink-dot{color:#caa55e;font-size:clamp(15px,1.7vw,26px)}
.nc-result-tag{margin-top:2%;color:#e1bf79;font-size:clamp(8px,.82vw,13px);letter-spacing:.13em;text-shadow:0 2px 3px #000}
.nc-result-continue{position:relative;pointer-events:auto;isolation:isolate;margin-top:2.3%;min-width:clamp(250px,24vw,340px);padding:12px 38px;border:3px solid transparent;border-radius:3px;background:linear-gradient(180deg,#4d2a14 0%,#2a1309 52%,#160905 100%) padding-box,linear-gradient(90deg,#5b3516 0%,#e0b45d 16%,#8c5b25 30%,#f0cf79 50%,#8c5b25 70%,#e0b45d 84%,#5b3516 100%) border-box;box-shadow:inset 0 0 0 2px #130806,inset 0 2px 0 #f2cf7666,inset 0 -4px 7px #090302cc,0 5px 0 #100603,0 10px 15px #000b;color:#ffe8ac;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(11px,1.05vw,17px);font-weight:900;letter-spacing:.105em;text-align:center;text-shadow:0 2px 2px #000,0 0 8px #d99b3855;cursor:pointer;transition:filter .16s,transform .16s,box-shadow .16s}
.nc-result-continue::before,.nc-result-continue::after{content:"◆";position:absolute;top:50%;transform:translateY(-52%);color:#d5a94e;font-size:.72em;text-shadow:0 1px #000,0 0 6px #f0c86a55}
.nc-result-continue::before{left:15px}.nc-result-continue::after{right:15px}
.nc-result-continue:hover,.nc-result-continue:focus{outline:none;filter:brightness(1.18) saturate(1.08);transform:translateY(-2px);box-shadow:inset 0 0 0 2px #1a0b06,inset 0 2px 0 #ffe49a88,inset 0 -4px 7px #090302cc,0 7px 0 #100603,0 12px 18px #000c}
.nc-result-continue:active{transform:translateY(3px);box-shadow:inset 0 0 0 2px #130806,inset 0 4px 9px #050201cc,0 2px 0 #100603,0 5px 8px #000b;filter:brightness(.93)}
.nc-mode-stamp{bottom:clamp(120px,17vh,180px)}
.nc-summon-word{display:none!important}
#ui:has(.nc-ui)>.toast{display:none!important}

/* A tied round is a formal divine ruling. Nothing on the table advances until confirmed. */
.nc-holy-pause{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:72;display:none;align-items:center;justify-content:center;padding:2vh 2vw;background:radial-gradient(ellipse at center,#140c0894 0 38%,#030202e8 84%);pointer-events:auto;opacity:0}
.nc-holy-pause.show{display:flex!important;animation:ncHolyVeil .35s ease-out forwards}
.nc-holy-pause.leaving{display:flex;animation:ncHolyLeave .42s ease-in forwards}
.nc-holy-proclamation{position:relative;width:min(94vw,calc(92vh * 1.5),1380px);aspect-ratio:3/2;margin:auto;background:url('nightcap-holy-goblet-proclamation-v1.png') center/contain no-repeat;filter:drop-shadow(0 24px 30px #000f);transform:translateX(-1.8vw) translateY(7px) scale(.94);animation:ncHolyDrop .55s cubic-bezier(.18,.8,.22,1.14) forwards}
.nc-holy-copy{position:absolute;left:31%;top:20%;width:39%;height:62%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2%;color:#2d1b0d;font-family:Georgia,"Times New Roman",serif;text-align:center;text-shadow:0 1px #f2d995}
.nc-holy-copy small{color:#754d1d;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(8px,.72vw,12px);font-weight:900;letter-spacing:.2em}
.nc-holy-copy h2{max-width:92%;margin:.38em 0 .34em;color:#6b1d13;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(25px,2.75vw,44px);font-weight:900;line-height:.95;letter-spacing:.055em;text-shadow:0 2px #f0d48a}
.nc-holy-copy p{max-width:520px;margin:.42em 0;color:#2d1b0d;font-family:Georgia,"Times New Roman",serif;font-size:clamp(14px,1.16vw,18px);font-weight:700;line-height:1.32;letter-spacing:.006em}
.nc-holy-copy p:first-of-type::first-letter{float:none;margin:0 .035em 0 0;color:#7a1d13;font-family:"Tavern Blackletter","Tavern Medieval",Georgia,serif;font-size:1.55em;line-height:1;vertical-align:-.08em;text-shadow:0 1px #f0d48a}
.nc-holy-continue{position:absolute;left:45.5%;bottom:-6%;width:65%;height:15%;margin:0;padding:0 8%;display:flex!important;align-items:center!important;justify-content:center!important;transform:translateX(-50%);border:0;background:transparent;box-shadow:none;color:#5c180d;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(10px,.92vw,15px);font-weight:900;line-height:1;letter-spacing:.075em;text-align:center;text-indent:0;text-shadow:0 1px #f6dea0;cursor:pointer}
.nc-holy-continue:hover,.nc-holy-continue:focus{outline:none;color:#8e2413;filter:brightness(1.18);transform:translateX(-50%) translateY(-2px)}
@keyframes ncHolyVeil{to{opacity:1}}@keyframes ncHolyDrop{to{transform:translateX(-1.8vw)}}@keyframes ncHolyLeave{to{opacity:0;transform:translateX(-1.8vw) scale(1.03)}}

/* The final win is presented as the tavern's ornate certificate of survival. */
.ending.good{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:82;display:block;padding:0;overflow:hidden;background:radial-gradient(ellipse at center,#271508 0,#050302 78%);isolation:isolate}
.ending.good::before{content:"";position:absolute;left:50%;top:50%;width:min(96vw,calc(96vh * 1.7779));aspect-ratio:1672/941;transform:translate(-50%,-50%);background:url('nightcap-victory-certificate-v1.png') center/contain no-repeat;filter:drop-shadow(0 20px 28px #000e);z-index:0}
.ending.good>*{position:absolute;z-index:1;left:50%;transform:translateX(-50%)}
.ending.good .endtitle{top:20.5%;width:min(42vw,650px);transform:translate(-50%,-50%);color:#6b2115;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(18px,1.7vw,28px);font-weight:900;line-height:.94;letter-spacing:.04em;text-indent:.04em;-webkit-text-stroke:.1px #3b170b;text-shadow:0 1px #f5dda1,0 2px 0 #aa6a2b,0 4px 8px #4a1e0b66;text-align:center;white-space:nowrap}
.ending.good .endbody{top:33%;width:min(50vw,820px);height:20%;max-width:none;max-height:none;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0 2.5%;color:#2d1b0d;font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,1.45vw,24px);font-weight:700;line-height:1.3;letter-spacing:.005em;text-shadow:0 1px #f2dcaa;text-align:center;text-wrap:balance}
.ending .endbody p{margin:0 0 clamp(10px,1.55vh,17px)}.ending .endbody p:last-child{margin-bottom:0}
.ending.good .endbody p:first-child::first-letter,.ending.bad .endbody p:first-child::first-letter{float:left;margin:.08em .09em 0 0;color:#7a1d13;font-family:"Tavern Blackletter","Tavern Medieval",Georgia,serif;font-size:2.35em;font-weight:700;line-height:.65;text-shadow:0 1px #f0d49a}
.ending.good .endstats{top:64.5%;width:min(56vw,860px);padding:11px 16px;border-color:#8d632c;color:#68451d;text-align:center}
.ending.good .endstat{position:relative;padding:1px 12px}
.ending.good .endstat+.endstat::before{content:"";position:absolute;left:-5px;top:5%;width:1px;height:90%;background:#9b7138;opacity:.65}
.ending.good .endstat-label{color:#6c4a24;font-size:clamp(8px,.7vw,11px);letter-spacing:.15em}
.ending.good .endstat-value{color:#4d2413;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(17px,1.6vw,25px);text-shadow:0 1px #f3d99b}
.ending.good .bigbtn{top:80.5%;width:clamp(220px,20vw,270px);height:clamp(42px,6.5vh,58px);min-width:220px;padding:0;display:flex!important;align-items:center!important;justify-content:center!important;border:2px solid #b4873c;background:linear-gradient(180deg,#6a2617,#35130c);box-shadow:inset 0 0 0 2px #321208,0 6px 10px #0008;color:#ffe2a0;font-family:"Tavern Medieval",Georgia,serif;line-height:1;letter-spacing:.13em;text-align:center;text-indent:.13em}
.ending.good .bigbtn:hover{filter:brightness(1.22);transform:translateX(-50%) translateY(-2px)}

/* Defeat receives the same ceremonial weight as victory, only stained and cracked. */
.ending.bad{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:82;display:block;padding:0;overflow:hidden;background:radial-gradient(ellipse at center,#1d0f0b 0,#030202 80%);isolation:isolate}
.ending.bad::before{content:"";position:absolute;left:50%;top:50%;width:min(96vw,calc(96vh * 1.7779));aspect-ratio:1672/941;transform:translate(-50%,-50%);background:url('nightcap-defeat-certificate-v1.png') center/contain no-repeat;filter:drop-shadow(0 20px 28px #000e);z-index:0}
.ending.bad>*{position:absolute;z-index:1;left:50%;transform:translateX(-50%)}
.ending.bad .endtitle{top:46%;width:min(72vw,1040px);transform:translate(-50%,-50%);color:#761f18;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(64px,8vw,118px);font-weight:900;line-height:.88;letter-spacing:.075em;text-align:center;text-indent:.075em;text-shadow:0 2px #e9c888,0 5px 10px #57201555;white-space:nowrap}
.ending.bad .endbody,.ending.bad .endstats{display:none!important}
.ending.bad .bigbtn{top:83%;width:min(29vw,370px);height:clamp(42px,6.5vh,58px);min-width:220px;box-sizing:border-box;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:0;background:transparent;box-shadow:none;color:#f0d39a;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(11px,1vw,16px);line-height:1;letter-spacing:.13em;text-align:center;text-indent:-.2em;text-shadow:0 2px 3px #000;cursor:pointer}
.ending.bad .bigbtn:hover{filter:brightness(1.25);transform:translateX(-50%) translateY(-2px)}

body.nc-refund-mode,body.nc-refund-mode #game,body.nc-refund-mode canvas,body.nc-refund-mode .nc-ui{cursor:url('nightcap-refund-cursor.svg') 7 31,crosshair!important}
body.nc-refund-mode .btn{cursor:pointer!important}

/* Last Call onboarding: a dedicated manuscript, earned-ally arrivals, and a guided table tour. */
.nc-onboard-overlay{position:fixed;inset:0;z-index:96;display:grid;place-items:center;padding:1.5vh 1.5vw;background:radial-gradient(ellipse at 50% 46%,#21120988 0 32%,#050302e8 82%);pointer-events:auto;animation:ncOnboardVeil .3s ease-out both}
.nc-onboard-manuscript{position:relative;width:min(97vw,calc(97vh * 1.5),1536px);aspect-ratio:3/2;background:url('nightcap-onboarding-manuscript-v1.png') center/100% 100% no-repeat;color:#2f1b0c;filter:drop-shadow(0 23px 25px #000e);font-family:Georgia,"Times New Roman",serif;text-align:center;animation:ncOnboardDrop .48s cubic-bezier(.2,.82,.24,1.12) both}
.nc-onboard-kicker{display:none}
.nc-onboard-title{display:none}
.nc-onboard-lede{position:absolute;left:22.5%;right:22.5%;top:30%;margin:0;display:grid;gap:4px;color:#3d2511;font-weight:700;line-height:1.15;text-align:center;text-wrap:balance}
.nc-onboard-lede strong{color:#741d16;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(17px,1.52vw,25px);font-weight:900;letter-spacing:.025em;text-shadow:0 1px #f2d58d}
.nc-onboard-lede span{font-size:clamp(12px,.98vw,16px)}
.nc-onboard-grid{position:absolute;left:25%;right:25%;top:35%;bottom:29%;display:grid;grid-template-columns:1fr;grid-template-rows:25% 35% 40%;align-items:stretch}
.nc-onboard-spacer{min-height:0}
.nc-onboard-rule{display:grid;min-width:0;grid-template-columns:34% 66%;align-items:center;padding:0 4%;border:0;background:none;box-shadow:none;text-align:left}
.nc-onboard-rule h2{margin:0;padding-right:13%;color:#781f17;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(13px,1.12vw,18px);font-weight:900;line-height:1.08;letter-spacing:.075em;text-align:right}
.nc-onboard-rule p{max-width:none;margin:0;padding-left:8%;border-left:1px solid #9a6a2d77;color:#2f1b0c;font-size:clamp(11px,.93vw,15px);font-weight:700;line-height:1.28;text-wrap:balance}
.nc-onboard-rule.economy{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:0;padding:0 4%;text-align:left;transform:translateY(-16px)}
.nc-onboard-economy-rule{display:grid;grid-template-columns:34% 66%;align-items:center;min-width:0}
.nc-onboard-economy-rule:nth-child(2){transform:translateY(-8px)}
.nc-onboard-rule.economy h2{padding-right:13%;text-align:right}
.nc-onboard-rule.economy p{padding-left:8%;border-left:1px solid #9a6a2d77;text-align:left}
.nc-onboard-actions{position:absolute;left:32%;right:28%;bottom:22.7%;display:flex;align-items:center;justify-content:center;gap:14px}
.nc-onboard-actions .btn{min-width:clamp(170px,15vw,235px);padding:11px 22px;border:2px solid #86561f;border-radius:2px;background:linear-gradient(180deg,#f1d697,#d5ad62);box-shadow:inset 0 1px #fff1bd,0 3px 0 #674019,0 7px 12px #3a20064f;color:#4d1b10;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(10px,.86vw,14px);font-weight:900;letter-spacing:.055em;text-shadow:0 1px #f7e3af;cursor:pointer}
.nc-onboard-actions .btn.go{background:linear-gradient(180deg,#9b3324,#661b16);border-color:#c68a3d;color:#ffe4a3;text-shadow:0 2px #2a0906}
.nc-onboard-actions .btn:hover,.nc-onboard-actions .btn:focus{outline:0;filter:brightness(1.17);transform:translateY(-2px)}
.nc-arrival-blocker,.nc-tour-blocker{position:fixed;inset:0;z-index:90;background:#0503022e;pointer-events:auto}
.dialogue.aside.lastcall-arrival{left:3.5vw;bottom:4.5vh;z-index:95;width:min(760px,57vw);min-height:0;padding:32px 42px 29px;transform:none;border:0;border-radius:0;background:url('tavern-dialogue-window-v1.png') center/100% 100% no-repeat;box-shadow:none;filter:drop-shadow(0 14px 15px #000d);color:#2c190c}
.dialogue.aside.lastcall-arrival::before{display:none}
.dialogue.aside.lastcall-arrival .portrait{flex:0 0 122px;align-self:center;display:grid;place-items:center}
.dialogue.aside.lastcall-arrival .portrait canvas{width:112px;height:112px;border:4px double #8c5c28;border-radius:50%;background:radial-gradient(circle,#7b512c,#1c0e08 73%);box-shadow:inset 0 0 0 3px #e1c078,0 4px 9px #3d1b0b88;image-rendering:auto}
.dialogue.aside.lastcall-arrival .crest{display:flex;align-items:center;gap:8px;margin:0 0 7px;padding:6px 10px;border:1px solid #9a692e;background:linear-gradient(90deg,#e3c37dbd,#f4dfaa9c 70%,transparent);box-shadow:inset 0 1px #fff0bd}
.dialogue.aside.lastcall-arrival .crest-ico{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:#7b2118;color:#ffe6a5;font-size:12px;text-shadow:0 1px #2b0906}
.dialogue.aside.lastcall-arrival .crest-tag{color:#6e1d15;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(11px,.9vw,14px);font-weight:900;letter-spacing:.07em;line-height:1.15;text-shadow:0 1px #f4dda2}
.dialogue.aside.lastcall-arrival .dtitle{margin:0 0 8px;color:#751d15;font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(16px,1.25vw,21px);letter-spacing:.055em;text-shadow:0 1px #eed18c}
.dialogue.aside.lastcall-arrival .dtext{margin:0 0 12px;color:#2c190c;font-family:Georgia,"Times New Roman",serif;font-size:clamp(13px,1vw,17px);font-weight:700;line-height:1.3;text-shadow:0 1px #f5dfaa}
.dialogue.aside.lastcall-arrival .btn{min-height:42px;padding:9px 18px;border:1px solid #8b5c25;background:linear-gradient(180deg,#ecd195,#cfa65f);color:#4e1a10;font-family:"Tavern Medieval",Georgia,serif;font-weight:900}
.nc-action-flask{border-color:#d4bd38!important;background:linear-gradient(180deg,#5e5717,#272507)!important;box-shadow:inset 0 0 0 1px #e7db6766,0 0 11px #d5c82b44!important}
.nc-action-flask.armed{filter:brightness(1.28);box-shadow:inset 0 0 0 2px #fff19a,0 0 22px #e4d638bb!important}
.nc-tour-focus{outline:3px solid #ffe39a!important;outline-offset:7px!important;box-shadow:0 0 0 2px #501c0d,0 0 22px 8px #ffc95dba!important;filter:brightness(1.28) saturate(1.08)!important;animation:ncTourPulse 1.1s ease-in-out infinite alternate}
.nc-bell-button.nc-tour-focus{outline:0!important;overflow:visible!important;isolation:isolate;filter:brightness(1.35) saturate(1.18) drop-shadow(0 8px 8px #000c)!important}
.nc-muster:has(.nc-bell-button.nc-tour-focus){z-index:95}
.nc-bell-button.nc-tour-focus::after{content:"";position:absolute;z-index:5;inset:-8px;border:4px solid #ffe39a;border-radius:3px;background:#2a13081f;box-shadow:0 0 0 2px #5c210e,0 0 25px 9px #ffd064c9,inset 0 0 13px #ffe69b55;pointer-events:none;animation:ncBellTourFrame .85s ease-in-out infinite alternate}
.nc-tour-tip{position:fixed;z-index:99;width:min(355px,calc(100vw - 24px));min-height:126px;box-sizing:border-box;padding:25px 32px 22px;background:url('tavern-dialogue-window-v1.png') center/100% 100% no-repeat;color:#301b0d;filter:drop-shadow(0 10px 12px #000d);pointer-events:auto;text-align:left}
.nc-tour-kicker{color:#8a5a22;font-family:"Tavern Medieval",Georgia,serif;font-size:9px;font-weight:900;letter-spacing:.18em}
.nc-tour-title{margin:5px 0 6px;color:#741d15;font-family:"Tavern Medieval",Georgia,serif;font-size:17px;font-weight:900;line-height:1.05;letter-spacing:.055em;text-shadow:0 1px #eed18c}
.nc-tour-copy{margin:0 0 11px;color:#2f1b0c;font-family:Georgia,"Times New Roman",serif;font-size:14px;font-weight:700;line-height:1.3}
.nc-tour-tip .btn{width:100%;min-height:35px;padding:7px 14px;border:1px solid #8b5c25;background:linear-gradient(180deg,#963427,#641c16);color:#ffe5a4;font-family:"Tavern Medieval",Georgia,serif;font-size:12px;font-weight:900;letter-spacing:.06em;text-shadow:0 2px #2e0c08;cursor:pointer}
@keyframes ncOnboardVeil{from{opacity:0}to{opacity:1}}@keyframes ncOnboardDrop{from{opacity:0;transform:translateY(-2.5vh) scale(.96)}to{opacity:1;transform:none}}@keyframes ncTourPulse{to{box-shadow:0 0 0 2px #7c2b13,0 0 32px 11px #ffe17edb!important}}@keyframes ncBellTourFrame{to{border-color:#fff3bd;box-shadow:0 0 0 2px #8b3417,0 0 34px 13px #ffe08be0,inset 0 0 18px #fff0aa77}}

@media(max-width:900px){
  .nc-onboard-grid{left:21.5%;right:21.5%;top:34%;bottom:29%}
  .nc-onboard-rule{grid-template-columns:35% 65%;padding:0 3%}.nc-onboard-rule p{font-size:clamp(9px,1.35vw,12px)}
  .nc-onboard-actions{left:28%;right:24%;bottom:21.5%}.nc-onboard-actions .btn{min-width:135px;padding:8px 12px}
  .dialogue.aside.lastcall-arrival{left:3vw;bottom:3vh;width:min(720px,82vw)}
}

@media(max-width:1450px){
  .nc-ui{--nc-roster-w:clamp(166px,14vw,215px)}
  .nc-tools-grid .nc-tool-card{font-size:clamp(9px,.78vw,12px)!important}
  .nc-tools-grid .nc-tool-card .bsub{font-size:clamp(7px,.57vw,9px)}
  .nc-cheat-limit{font-size:clamp(7px,.56vw,9px)}
}
@media(max-width:1050px){.nc-ui{--nc-roster-w:155px}.nc-tools-drawer{right:6px!important;bottom:76px!important;width:min(560px,calc(100vw - 24px))}.nc-tools-toggle{right:6px!important;bottom:6px!important}}
@media(max-height:760px){.nc-ui{--nc-roster-w:155px}.nc-muster{bottom:0;width:min(calc(100vw - 330px),calc(100vh * 1.02))}.nc-battle-rail{bottom:-3px}.nc-result-rig{width:min(890px,82vw)}}
