/* v0.71 · The Presumptuous Portal and the Castle Charter. Same family as the atelier: ink panels,a gilt
   rule,Georgia for names,the pixel face for labels. Every colour comes from the game palette. */
#modal:has(.castleShell) .modalBox{max-width:min(1120px,calc(100vw - 32px));width:min(1120px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:26px 30px 28px;border-color:#a48e62;
 background:radial-gradient(ellipse at 15% 0%,#2a2350 0%,transparent 55%),linear-gradient(140deg,#17142c,#0e0b17 60%,#151a30);box-shadow:0 35px 100px #000c,inset 0 0 0 1px #ecc25a14,inset 0 0 80px #c8a2ec0a}#modal .castleShell{--gold:#ecc25a;--cream:#f2e7c9;--dim:#9a93a0;--panel:#171327;--panel2:#1d1830;--line:#2b2733;color:var(--cream)}#modal .castleShell .eyebrow{font:9px var(--pixel);letter-spacing:1.6px;color:var(--gold)}#modal .castleShell h2{font:normal clamp(24px,2.8vw,34px)/1.18 Georgia,serif;letter-spacing:.01em;margin:10px 0 6px;color:#fffaea;text-shadow:0 2px 0 #0e0b17}#modal .castleShell .cLead{color:#b8b0c4;line-height:1.6;max-width:760px;margin:0 0 18px}#modal .castleShell .cFine{color:var(--dim);font-size:11px;line-height:1.5;margin:10px 0 0}#modal .castleShell .cEmpty{color:var(--dim);font-size:12px;line-height:1.5;margin:6px 0;padding:10px 12px;border:1px dashed #435078;background:#0e0b1780}#modal .castleShell button{font:inherit;color:inherit;cursor:pointer}#modal .castleShell :is(.cHome,#modal .cInvite,#modal .cSwatch,#modal .cTabs button,#modal .cAccess button,#modal .cPick button,#modal .cChips button,#modal .cName button,#modal .cToggle){border-image:none!important;border-radius:0!important;image-rendering:auto}#modal .castleShell .primary{background:linear-gradient(180deg,#3d2d18,#2a1f12);border:1px solid #cc9235;color:#fde89a;padding:8px 14px;font:11px var(--pixel);letter-spacing:.8px;box-shadow:inset 0 1px 0 #ecc25a33,0 2px 0 #0e0b17}#modal .castleShell .primary:hover{background:linear-gradient(180deg,#523c1e,#35271a);border-color:#ecc25a}#modal .castleShell .primary.armed{background:linear-gradient(180deg,#6a401c,#4a2c14);border-color:#fde89a;color:#fffaea;animation:cArm .6s ease-in-out infinite alternate}
@keyframes cArm{to{box-shadow:inset 0 1px 0 #fde89a55,0 0 12px #ecc25a66}}#modal .castleShell input,#modal .castleShell select{background:#0e0b17;border:1px solid #435078;color:var(--cream);padding:8px 10px;font:13px system-ui,sans-serif;min-width:0}#modal .castleShell input:focus,#modal .castleShell select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px #ecc25a22}#modal .castleShell em{font-style:normal;font:9px var(--pixel);letter-spacing:.8px;white-space:nowrap}#modal .castleShell em.own{color:#86b35f}#modal .castleShell em.lock{color:#746d7c}#modal .castleShell em.cost{color:#fde89a}#modal .castleShell em.cost.poor{color:#cf5a64}#modal .cTier{display:inline-grid;place-items:center;min-width:26px;height:18px;padding:0 4px;font:10px var(--pixel);color:#0e0b17;background:var(--tc);box-shadow:inset 0 0 0 1px #0e0b1755,0 0 0 1px var(--tc);vertical-align:1px}#modal .cHead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:4px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line)}#modal .cHead b{font:normal 15px Georgia,serif;color:#fffaea}#modal .cHead small{font:9px var(--pixel);color:var(--dim);letter-spacing:.8px}/* ------------------------------------------------------------------ the portal */
#modal .cPortalGrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px;align-items:start}#modal .cHome{display:grid;grid-template-rows:auto 1fr;gap:0;text-align:left;padding:0!important;border:1px solid color-mix(in srgb,var(--tc) 55%,#2b2733)!important;background:linear-gradient(180deg,#1d1830,#110e1f)!important;box-shadow:0 0 0 3px #0e0b17,0 14px 40px #0008!important;transition:transform .15s,box-shadow .15s}#modal .cHome:hover{transform:translateY(-2px);box-shadow:0 0 0 3px #0e0b17,0 0 22px color-mix(in srgb,var(--tc) 35%,transparent),0 18px 44px #000a!important}#modal .cHome .cPlan{width:100%;height:auto;image-rendering:pixelated;background:#0b0816!important;border-bottom:1px solid #2b2733!important;padding:12px!important;box-sizing:border-box}#modal .cHomeText{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px!important}#modal .cHomeText small{font:9px var(--pixel);color:var(--dim)!important;letter-spacing:1px}#modal .cHomeText b{font:normal 23px Georgia,serif;color:#fffaea!important}#modal .cHomeText>em{font:italic 13px Georgia,serif;color:var(--tc)!important;letter-spacing:0}#modal .cStats{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}#modal .cStats i{font:normal 10px var(--pixel);color:#c6c0c6;padding:3px 7px;background:#0e0b17;border:1px solid #2b2733}#modal .cGo{margin-top:6px;font:12px var(--pixel);color:#fde89a;letter-spacing:.8px}#modal .cVisit{padding:14px 16px;background:#110e1fcc;border:1px solid #2b2733}#modal .cInvites{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;max-height:230px;overflow:auto}#modal .cInvite{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 10px!important;background:#1d1830!important;border:1px solid #2b2733!important;text-align:left}#modal .cInvite:hover{border-color:var(--tc)!important}#modal .cInvite b{display:block;font:normal 14px Georgia,serif}#modal .cInvite small{font:9px var(--pixel);color:var(--dim)!important}#modal .cInvite em{color:#fde89a!important}#modal .cVisitForm{display:flex;gap:8px}#modal .cVisitForm input{flex:1}/* ------------------------------------------------------------------ the charter */
#modal .cCharterHead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}#modal .cCharterHead p{margin:0;color:#b8b0c4;font-size:13px}#modal .cPurse{text-align:right;padding:8px 14px;background:#0e0b17;border:1px solid #6a401c;box-shadow:inset 0 0 18px #ecc25a14}#modal .cPurse small{display:block;font:9px var(--pixel);color:var(--dim);letter-spacing:1px}#modal .cPurse b{font:18px var(--pixel);color:#fde89a}#modal .cTabs{display:flex;gap:2px;margin:16px 0 0;border-bottom:1px solid #6a401c;overflow-x:auto}#modal .cTabs button{background:transparent!important;border:1px solid transparent!important;border-bottom:0!important;padding:9px 14px!important;font:11px var(--pixel);color:var(--dim)!important;letter-spacing:.8px;white-space:nowrap}#modal .cTabs button:hover{color:var(--cream)!important}#modal .cTabs button.on{color:#fde89a!important;background:linear-gradient(180deg,#2a1f12,#17142c)!important;border-color:#6a401c!important;margin-bottom:-1px;padding-bottom:10px}#modal .cBody{padding:16px 2px 2px;min-height:420px}/* the keep */
#modal .cKeep{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px}#modal .cNow{padding:12px;background:#110e1f;border:1px solid color-mix(in srgb,var(--tc) 45%,#2b2733);align-self:start}#modal .cNow img{width:100%;image-rendering:pixelated;background:#0b0816;border:1px solid #2b2733}#modal .cNow>b{display:block;font:normal 20px Georgia,serif;margin:10px 0 4px;color:var(--tc)}#modal .cNow>p{color:#b8b0c4;font-size:12px;line-height:1.5;margin:0 0 10px}#modal .cNow ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px}#modal .cNow li{display:flex;justify-content:space-between;padding:5px 8px;background:#0e0b17;font:10px var(--pixel);color:var(--dim)}#modal .cNow li b{color:#fffaea}#modal .cLadder{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}#modal .cLadder li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 12px;background:#141026;border:1px solid #2b2733;border-left:3px solid #2b2733}#modal .cLadder li b{font:normal 15px Georgia,serif;color:#fffaea}#modal .cLadder li small{display:block;font:9px var(--pixel);color:var(--dim);letter-spacing:.6px;margin-top:2px}#modal .cLadder li span{display:block;font-size:11px;color:#9c8fb0;margin-top:3px;line-height:1.35}#modal .cLadder li.own{border-left-color:var(--tc);background:linear-gradient(90deg,color-mix(in srgb,var(--tc) 9%,#141026),#141026 60%)}#modal .cLadder li.next{border-color:#6a401c;border-left-color:var(--tc);box-shadow:0 0 18px #ecc25a14}#modal .cLadder li.lock{opacity:.62}/* wings */
#modal .cRooms{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}#modal .cPlanSide img{width:100%;image-rendering:pixelated;background:#0b0816;border:1px solid #2b2733}#modal .cSockets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}#modal .cSocket{padding:10px 12px;background:#141026;border:1px solid #2b2733;border-left:3px solid var(--rc,#435078);display:flex;flex-direction:column;gap:6px}#modal .cSocket b{font:normal 14px Georgia,serif}#modal .cSocket small{font-size:11px;color:var(--dim)}#modal .cSocket.lock{opacity:.55;border-left-color:#2b2733}#modal .cSocket select{width:100%}#modal .cCatalog{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px;margin-top:6px}#modal .cCard{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 10px;background:#110e1f;border:1px solid #2b2733;border-left:3px solid var(--rc)}#modal .cCard img{width:52px;height:34px;image-rendering:pixelated;border:1px solid #0e0b17}#modal .cCard b{font:normal 13px Georgia,serif;display:block}#modal .cCard small{font-size:10.5px;color:var(--dim);line-height:1.35;display:block}#modal .cCard.lock{opacity:.55}/* floors and walls */
#modal .cChips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}#modal .cChips button{padding:6px 11px!important;background:#141026!important;border:1px solid #2b2733!important;font:10px var(--pixel);color:var(--dim)!important;letter-spacing:.6px}#modal .cChips button.on{color:#fde89a!important;border-color:#cc9235!important;background:#2a1f12!important}#modal .cSwatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px}#modal .cSwatch{display:flex;flex-direction:column;gap:4px;padding:8px!important;background:#110e1f!important;border:1px solid #2b2733!important;text-align:left;transition:border-color .12s,transform .12s}#modal .cSwatch:hover{border-color:#6a401c!important;transform:translateY(-1px)}#modal .cSwatch img{width:100%;aspect-ratio:56/36;image-rendering:pixelated;border:1px solid #0e0b17!important;box-shadow:0 2px 0 #0e0b17!important}#modal .cSwatches.walls .cSwatch img{aspect-ratio:64/44}#modal .cSwatch b{font:normal 13px Georgia,serif;margin-top:2px}#modal .cSwatch small{font-size:10.5px;color:var(--dim)!important;line-height:1.35;flex:1}#modal .cSwatch.on{border-color:#ecc25a!important;box-shadow:0 0 0 1px #ecc25a55,0 0 16px #ecc25a22!important}#modal .cSwatch.lock{opacity:.5}#modal .cSwatch.armed{border-color:#fde89a!important;animation:cArm .6s ease-in-out infinite alternate}/* wonders */
#modal .cWonders{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:8px}#modal .cWonder{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;background:#110e1f;border:1px solid #2b2733}#modal .cWonder>.erGlyph{width:22px;height:22px;color:#cc9235}#modal .cWonder b{font:normal 14px Georgia,serif;display:block}#modal .cWonder small{font-size:11px;color:var(--dim);line-height:1.4;display:block}#modal .cWonder select{margin-top:6px;width:100%;padding:5px 8px;font-size:12px}#modal .cWonder.own{border-color:#36683f;background:linear-gradient(90deg,#16241c,#110e1f 50%)}#modal .cWonder.own>.erGlyph{color:#86b35f}#modal .cWonder.lock{opacity:.55}#modal .cToggle{min-width:52px;padding:6px 10px!important;background:#0e0b17!important;border:1px solid #435078!important;font:10px var(--pixel)!important;color:var(--dim)!important}#modal .cToggle.on{background:#1a3a28!important;border-color:#86b35f!important;color:#c0d988!important;box-shadow:0 0 10px #86b35f33!important}/* heraldry */
#modal .cHeraldry{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px;align-items:start}#modal .cBannerPreview{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;background:radial-gradient(ellipse at 50% 30%,#2a2350,#0e0b17 70%);border:1px solid #2b2733}#modal .cBannerPreview img{width:112px;height:224px;image-rendering:pixelated;filter:drop-shadow(0 6px 0 #0006)}#modal .cBannerPreview small{font:9px var(--pixel);color:var(--dim);text-align:center;line-height:1.5}#modal .cForm{display:flex;flex-direction:column;gap:12px}#modal .cForm label{display:flex;flex-direction:column;gap:5px;font:10px var(--pixel);color:var(--dim);letter-spacing:.6px}#modal .cForm label small{font:inherit;color:#746d7c}#modal .cPick{display:flex;flex-wrap:wrap;align-items:center;gap:6px}#modal .cPick span{font:10px var(--pixel);color:var(--dim);width:58px}#modal .cPick button{width:28px;height:28px;background:var(--sw)!important;border:2px solid #0e0b17!important;box-shadow:0 0 0 1px #2b2733!important}#modal .cPick button.on{box-shadow:0 0 0 2px #ecc25a,0 0 10px #ecc25a55!important}#modal .cPick.emb button{width:auto;height:auto;padding:5px 9px!important;background:#141026!important;font:10px var(--pixel);color:var(--dim)!important;border:1px solid #2b2733!important;box-shadow:none!important}#modal .cPick.emb button.on{color:#fde89a!important;border-color:#cc9235!important;background:#2a1f12!important}/* guests */
#modal .cGuests{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}#modal .cAccess{display:flex;flex-direction:column;gap:6px}#modal .cAccess button{text-align:left;padding:10px 12px!important;background:#141026!important;border:1px solid #2b2733!important;border-left:3px solid #2b2733!important}#modal .cAccess button b{display:block;font:normal 14px Georgia,serif}#modal .cAccess button small{font-size:11px;color:var(--dim)!important}#modal .cAccess button.on{border-left-color:#ecc25a!important;border-color:#6a401c!important;background:linear-gradient(90deg,#2a1f12,#141026 70%)!important}#modal .cGuestList{padding:12px 14px;background:#110e1f;border:1px solid #2b2733}#modal .cNames{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 16px}#modal .cName{display:inline-flex;align-items:center;gap:6px;padding:4px 4px 4px 10px;background:#1d1830;border:1px solid #2b2733;font:11px var(--pixel);color:var(--cream)}#modal .cName small{color:var(--dim);font:9px var(--pixel)}#modal .cName button{width:20px;height:20px;padding:0!important;border:0!important;background:#0e0b17!important;color:#cf5a64!important;font:12px/20px var(--pixel)}#modal .cName.visitor button{color:#86b35f}/* the guest book */
#modal .cBook{display:flex;flex-direction:column;gap:2px;padding:14px 18px;background:linear-gradient(180deg,#ddcdab,#c9b48c);color:#3c2414;border:1px solid #6a401c;box-shadow:inset 0 0 40px #6a401c55,0 10px 30px #0008;max-height:420px;overflow:auto}#modal .cBook .cLine{display:flex;justify-content:space-between;gap:16px;padding:6px 2px;border-bottom:1px solid #9c652744}#modal .cBook .cLine b{font:italic 17px Georgia,serif}#modal .cBook .cLine span{font:10px var(--pixel);color:#6a401c}#modal .cBook .cEmpty{color:#6a401c;border-color:#9c6527;background:transparent}
@media(max-width:860px){#modal .cPortalGrid,#modal .cKeep,#modal .cRooms,#modal .cHeraldry,#modal .cGuests{grid-template-columns:1fr}#modal .cSockets{grid-template-columns:1fr}#modal .cCharterHead{flex-direction:column}#modal .cPurse{text-align:left}}
@media(prefers-reduced-motion:reduce){#modal .primary.armed,#modal .cSwatch.armed{animation:none}#modal .cHome,#modal .cSwatch{transition:none}}
/* v0.71.1 · the Wings tab: choose a wing, then build a room into it from its card */
#modal .cSocket.pick{padding:0;position:relative}#modal .cSocket.pick .cWingBtn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:10px 12px;width:100%}#modal .cSocket.pick .cWingBtn b{font:normal 14px Georgia,serif}#modal .cSocket.pick .cWingBtn small{font-size:11px;color:var(--dim)}#modal .cSocket.pick:hover{background:#1a1530;border-color:#435078}#modal .cSocket.pick.on{background:#211a10;border-color:#cc9235;box-shadow:inset 0 0 0 1px #ecc25a33}#modal .cSocket.pick .cWingBtn:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
#modal .cTakeDown{position:absolute;top:8px;right:8px;padding:3px 8px!important;font:9px var(--pixel)!important;letter-spacing:.6px;background:#0e0b17!important;border:1px solid #435078!important;color:var(--dim)!important}#modal .cTakeDown:hover{color:#ec8f8c!important;border-color:#cf5a64!important}
#modal .cCatHead{grid-column:1/-1;margin:4px 0 2px;color:var(--dim);font-size:12px}#modal .cCatHead b{color:#fde89a;font-weight:normal}#modal .cCard .primary{white-space:nowrap;padding:7px 10px!important}#modal .cCard.here{border-color:#86b35f55;background:#131c14}#modal .cCard small.cWhere{color:#86b35f;margin-top:3px}#modal .castleShell .primary.poor{color:#ec8f8c;border-color:#7a3a40}
#modal .cRooms .cCard{grid-template-columns:52px minmax(0,1fr);align-items:start}#modal .cRooms .cCard>:is(em,button){grid-column:2;justify-self:start}#modal .cRooms .cCard .primary{font:10px var(--pixel)!important;letter-spacing:.6px;padding:6px 10px!important;min-height:0}#modal .cRooms .cCard img{margin-top:2px}
