/* Illustrated walnut/bronze shell shared by every game panel in 1.0.45.
   Border artwork is nine-sliced; transparent outer pixels never become a white box. */
:root{--ui144-ink:#f5ead0;--ui144-muted:#cbc2a6;--ui144-gold:#e2bd73;--ui144-line:#987445;--ui144-dark:#181b15;--ui144-frame-slice:140}
dialog.ui144-panel{box-sizing:border-box;background:transparent!important;background-clip:padding-box!important;border:14px solid transparent!important;border-image-source:url(assets/ui144/frame.png)!important;border-image-slice:var(--ui144-frame-slice) fill!important;border-image-width:14px!important;border-image-repeat:stretch!important;border-radius:0!important;color:var(--ui144-ink)!important;box-shadow:none!important;color-scheme:dark;font:14px/1.45 system-ui,sans-serif}
dialog.ui144-panel::backdrop{background:transparent!important;backdrop-filter:none!important}
dialog.ui144-panel :is(h2,h3){color:var(--ui144-ink);font-family:Georgia,'Times New Roman',serif;text-shadow:0 1px 2px #000}
dialog.ui144-panel h2{font-size:clamp(22px,5.8vw,30px);line-height:1.15}
dialog.ui144-panel>header{background:transparent!important;border-bottom:1px solid #ad84564d!important;position:sticky!important;top:0;z-index:5;gap:10px;padding:12px 12px 15px}
dialog.ui144-panel>header h2{margin:0;overflow-wrap:anywhere}
dialog.ui144-panel :is(button,input,select){color:var(--ui144-ink)!important}
/* The source button has transparent margins. Asymmetric slices plus matching outsets
   put its visible edge on the control box while preserving its painted corners. */
dialog.ui144-panel button:where(:not(.item-cell):not(.ui144-item-slot):not(.stage-choice):not(.pet-card):not(.pet-merge-slot):not(.reward-slot):not(.farm-plot):not(.syl-shop-info-button):not(.cosmetic-choice)){box-sizing:border-box;border:10px solid transparent!important;border-image-source:url(assets/ui144/button.png)!important;border-image-slice:239 109 273 110 fill!important;border-image-width:23.9px 10.9px 27.3px 11px!important;border-image-outset:14.3px 1.3px 17.7px 1.4px!important;border-image-repeat:stretch!important;border-radius:0!important;background:none!important;min-height:44px;padding:2px 4px;font:600 14px/1.25 Georgia,'Times New Roman',serif;text-shadow:0 1px 2px #17130c;touch-action:manipulation}
dialog.ui144-panel button:disabled{opacity:.48;cursor:default}
dialog.ui144-panel button:focus-visible,dialog.ui144-panel input:focus-visible,dialog.ui144-panel select:focus-visible{outline:2px solid #f4d491;outline-offset:2px}
dialog.ui144-panel :is(nav button,[role=tab]){background-color:#25261d!important}
dialog.ui144-panel :is(nav button,[role=tab]):is([aria-selected=true],[aria-pressed=true]){background-color:#78572c!important;box-shadow:inset 0 0 0 1px #e8c488;filter:brightness(1.24)}
dialog.ui144-panel :is(.close-dialog,.forge-close,.farm-close,header>button){flex:none;width:44px;min-width:44px;min-height:44px!important;padding:0!important;border:0!important;border-image:none!important;background:none!important;color:#e1bb78!important;font:30px/1 Georgia!important;text-shadow:0 1px 3px #000}
dialog.ui144-panel :is(input,select){background:#11150f!important;border:1px solid #997a4e!important;border-radius:4px!important;min-height:40px;color-scheme:dark}
dialog.ui144-panel :is(small,.muted,.syl-hint,.forge-hint){color:var(--ui144-muted)}
dialog.ui144-panel [hidden]{display:none!important}
dialog.ui144-panel :is(.syl-service-status,.forge-status,.city-function-status,#guild-message,#farm-status,#farm-quick-status):empty{display:none!important}
dialog.ui144-panel :is(.syl-service-status,.forge-status,.city-function-status){background:#25251a!important;border-top:1px solid #9d77483d;color:#efd092!important;font-size:12px}
dialog.ui144-panel :is(.ui144-item-slot,.item-cell,.reward-slot){background:#0b0d0a!important;border-color:#ba914f!important;border-image:none!important;border-radius:5px!important}
/* Shop catalogs retain their current item artwork, exact prices and quantity keypad. */
dialog.syl-service.ui144-panel{width:min(94vw,550px);max-height:90svh;padding:0;overflow:auto}
dialog.syl-service.ui144-panel .syl-service-body{padding:8px 7px 12px}
dialog.syl-service.ui144-panel .syl-service-balance{text-align:center;color:var(--ui144-gold);font-weight:600;padding:9px 6px;margin:0}
dialog.syl-service.ui144-panel .syl-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
dialog.syl-service.ui144-panel .syl-product-grid>:is(nav,.syl-hint,.cosmetic-preview,.cosmetic-buy){grid-column:1/-1}
dialog.syl-service.ui144-panel .syl-product-grid>.syl-service-row{display:flex;flex-direction:column;gap:8px;text-align:center;align-items:center;justify-content:start;padding:12px 8px 9px;border:1px solid #947344;border-radius:6px;background:radial-gradient(ellipse at 50% 10%,#45402a66,transparent 80%),#10140f;min-width:0}
dialog.syl-service.ui144-panel .syl-product-grid .syl-service-row>div:first-of-type{width:100%;flex:1}
dialog.syl-service.ui144-panel .syl-product-grid .syl-service-row strong{font:600 17px/1.2 Georgia,serif;color:#f7edd1;margin:3px 0}
dialog.syl-service.ui144-panel .syl-product-grid .syl-service-row small{font-size:11px;line-height:1.4;color:#dcc897}
dialog.syl-service.ui144-panel .syl-product-grid .syl-service-row>.syl-product-icon,dialog.syl-service.ui144-panel .syl-product-grid .syl-service-row>.syl-item-icon{width:76px!important;height:76px!important;max-width:100%;object-fit:contain}
dialog.syl-service.ui144-panel .syl-product-grid .syl-service-actions{width:100%;max-width:none;display:flex;gap:6px;flex-wrap:nowrap;justify-content:center}
dialog.syl-service.ui144-panel .syl-product-grid .syl-service-actions input{width:45px;min-width:0;padding:5px 2px;font-size:14px}
dialog.syl-service.ui144-panel .syl-product-grid .syl-service-actions button{flex:1;min-width:0;padding:3px 5px}
dialog.syl-service.ui144-panel :is(.syl-cosmetic-tabs,.syl-shop-tabs){display:flex;gap:7px;margin:0 0 7px}
dialog.syl-service.ui144-panel :is(.syl-cosmetic-tabs,.syl-shop-tabs) button{flex:1}
dialog.syl-service.ui144-panel .syl-service-row{border-bottom-color:#9c80553d}
/* Outfit preview is selected from the actual catalog, not baked sample gear. */
.cosmetic-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:235px;padding:12px;border:1px solid #967240;border-radius:6px;background:radial-gradient(ellipse at 50% 40%,#b899493d,transparent 70%),#11160f}
.cosmetic-preview canvas{width:180px!important;height:180px!important;object-fit:contain}
.cosmetic-preview h3{font-size:24px;margin:4px 0!important}.cosmetic-preview p{margin:3px 0;font-size:12px;color:#e0c891;text-align:center}
dialog.ui144-panel .cosmetic-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 5px;gap:7px;min-width:0;background:#0e120d;border:1px solid #876b42;border-radius:5px}
.cosmetic-choice[aria-pressed=true]{outline:2px solid #d7af63;outline-offset:-2px;background:#363222!important}
.cosmetic-choice canvas{position:static!important;width:95px!important;height:95px!important}.cosmetic-choice strong{font:600 16px Georgia}.cosmetic-choice small{font-size:12px;color:#e7c983}
.cosmetic-buy{position:sticky;bottom:0;display:flex;gap:8px;padding:10px 0 0;background:#181b15}.cosmetic-buy button{flex:1}.cosmetic-buy p{margin:0 0 8px;font-size:12px}
/* Pet shop: actual following sprites and original food/egg icons. */
dialog.syl-service.ui144-panel[data-service=pet-shop] .syl-service-body{display:grid;grid-template-columns:1fr 1fr;gap:10px}
dialog.syl-service.ui144-panel[data-service=pet-shop] .pet-shop-card{display:flex;flex-direction:column;text-align:center;gap:8px;padding:12px 8px;border:1px solid #947344;border-radius:6px;background:#10140f}
dialog.syl-service.ui144-panel[data-service=pet-shop] .pet-shop-card:first-child{grid-column:1/-1;background:radial-gradient(ellipse at 50% 20%,#65613b5e,transparent 80%),#10140f}
dialog.syl-service.ui144-panel[data-service=pet-shop] .pet-shop-card:first-child .pet-shop-art{min-height:145px}
dialog.syl-service.ui144-panel[data-service=pet-shop] .pet-shop-card:first-child .syl-pet-thumb{height:145px!important;width:145px!important}
dialog.syl-service.ui144-panel[data-service=pet-shop] .pet-shop-card .pet-inline-actions{width:100%;flex-wrap:wrap;justify-content:center}
dialog.syl-service.ui144-panel[data-service=pet-shop] .pet-shop-card .pet-inline-actions input{width:45px}
dialog.syl-service.ui144-panel[data-service=pet-shop] .pet-shop-card .pet-inline-actions button{flex:1;min-width:66px;padding:3px 6px}
dialog.syl-service.ui144-panel :is(.pet-detail,.pet-card,.pet-merge-preview){background:#151a12;border-color:#927544}
dialog.syl-service.ui144-panel .pet-tabs{background:#181b15}
/* Adventures: membership at top, objectives in readable illustrated rows. */
.adventure-membership{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px;border:1px solid #8f7042;border-radius:6px;background:#12160f}
.adventure-membership>strong{font:700 22px Georgia;color:#f5dfaa}.adventure-membership>p{margin:0;font-size:12px}.adventure-exp{flex:1;min-width:140px}.adventure-exp span{font-size:12px}.adventure-exp progress{display:block;margin-top:5px;width:100%;height:11px;accent-color:#d9a94d;border:1px solid #9c8051;border-radius:8px;background:#070a07;overflow:hidden}.adventure-exp progress::-webkit-progress-bar{background:#070a07}.adventure-exp progress::-webkit-progress-value{background:linear-gradient(#f5d27d,#b98028)}
.adventure-quests{display:grid;gap:9px;margin:12px 0}.adventure-quest{display:grid;grid-template-columns:62px 1fr auto;gap:8px;align-items:center;padding:10px 8px;border:1px solid #887049;border-radius:6px;background:#12160f}
.adventure-quest-art{width:62px;height:70px;display:flex;align-items:center;justify-content:center}.adventure-quest-art img{max-width:100%;max-height:100%;object-fit:contain}
.adventure-quest-copy{min-width:0}.adventure-quest-copy h3{font-size:17px;margin:0 0 5px!important}.adventure-quest-copy p{margin:3px 0;font-size:12px}.adventure-quest-copy .adventure-reward{color:#e8c778}.adventure-quest-copy summary{font-size:11px;color:#c7bea5;cursor:pointer}.adventure-quest-copy details p{font-size:11px}.adventure-quest .syl-service-actions{max-width:92px;flex-direction:column}.adventure-quest .syl-service-actions button{font-size:13px!important;padding:3px 5px!important;min-width:76px}.adventure-card-shop{border-top:1px solid #a17c465e;margin-top:14px;padding-top:6px}.adventure-card-shop .syl-service-row{display:grid;grid-template-columns:55px 1fr auto;gap:8px}.adventure-card-shop .syl-service-actions{max-width:130px}.adventure-card-shop .syl-service-actions input{width:44px}
/* Ruins use one of five floor-specific painted cards. */
#city-function-panel.ui144-panel{width:min(94vw,530px);height:auto;max-height:91svh;overflow:hidden;padding:0}
#city-function-panel.ui144-panel[open]{display:flex;flex-direction:column}
#city-function-panel.ui144-panel .city-function-body{height:auto;min-height:0;overflow:auto;padding:10px 7px 12px}
#city-function-panel.ui144-panel[data-panel=ruins]{width:min(92vw,420px)}
#city-function-panel.ui144-panel[data-panel=ruins]>header{justify-content:center}
#city-function-panel.ui144-panel[data-panel=ruins]>header button{position:absolute;right:2px;top:5px}
#city-function-panel.ui144-panel[data-panel=ruins] .city-function-body{padding:0 4px 5px}
.ui144-boss-art{background-image:url(assets/ui144/boss-cards.webp);background-size:300% 200%;background-repeat:no-repeat;aspect-ratio:1;background-color:#161c12}
.ruins-preview{position:relative;display:flex;flex-direction:column;min-width:0;isolation:isolate}
.ruins-preview>.ui144-boss-art{width:min(100%,49svh);height:auto;aspect-ratio:1;border-radius:4px;margin:auto}
.ruins-preview-heading{position:absolute;top:0;left:0;right:0;display:grid;text-align:center;gap:3px;padding:12px 5px 24px;background:linear-gradient(#12170fde,transparent);text-shadow:0 2px 3px #000}
.ruins-preview-heading strong{font:700 25px Georgia;color:#f8e5b8}.ruins-preview-heading span{font-size:13px;color:#eee5d0}
.ruins-preview-caption{text-align:center;margin-top:-67px;position:relative;padding:23px 4px 7px;background:linear-gradient(transparent,#161a12 35%)}
#city-function-panel.ui144-panel .ruins-preview-caption h3{font-size:24px;margin:3px 0}.ruins-preview-caption p{font-size:13px;color:#e4c789;margin:3px 0 7px}
#city-function-panel.ui144-panel .ruins-enter{width:100%;font-size:19px!important;min-height:49px!important}
/* Guild UI remains a single member/role-aware controller and its original tabs. */
#city-function-panel.ui144-panel .guild-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;overflow:visible;padding:0 0 12px}
#city-function-panel.ui144-panel .guild-tabs button{grid-column:span 2;white-space:normal;min-width:0;padding:3px 2px!important;font-size:13px!important}
#city-function-panel.ui144-panel .guild-tabs button:nth-child(n+4){grid-column:span 2}
#city-function-panel.ui144-panel .boss-invitation{position:relative;min-height:255px;padding:0;display:block;overflow:hidden;border:1px solid #a88850;border-radius:6px;background:#11160e}
#city-function-panel.ui144-panel .boss-invitation>.ui144-boss-art{position:absolute;inset:0 0 auto auto;width:min(100%,290px);height:auto;opacity:.88;aspect-ratio:1}
#city-function-panel.ui144-panel .boss-invitation>div:last-child{position:relative;z-index:1;padding:105px 12px 10px;background:linear-gradient(transparent 20%,#11160ecc 67%,#11160ef5);text-shadow:0 1px 2px #000}
#city-function-panel.ui144-panel .boss-invitation h3{font-size:23px;margin:0}
#city-function-panel.ui144-panel .boss-invitation p{font-size:12px;margin:4px 0}
#city-function-panel.ui144-panel .boss-invitation button{font-size:15px!important;margin-top:7px;width:100%}
#city-function-panel.ui144-panel :is(.card,.stat,.reward-slot){background:#11160f;border-color:#947545;color:#eee4c8}
#city-function-panel.ui144-panel .stats-grid{margin:12px 0;border:1px solid #8b7046;border-radius:5px;gap:0;background:#11160f}
#city-function-panel.ui144-panel .stat{background:none;border-radius:0;border-right:1px solid #9b7b4144;padding:12px 4px}
#city-function-panel.ui144-panel .stat:last-child{border:0}.ui144-panel .stat strong{color:#e9cb81;font:600 19px Georgia}
#city-function-panel.ui144-panel .city-ranking{border-color:#8e72434d;font-size:12px}
#city-function-panel.ui144-panel .guild-boss-ranking{margin:10px 0;padding:9px 10px;border:1px solid #8d704240;border-radius:5px;background:#10160f}
#city-function-panel.ui144-panel .guild-boss-ranking summary{cursor:pointer;color:#e5d1a5;font:16px Georgia}
#city-function-panel.ui144-panel .syl-shop-info-button{background:none;border:0;color:#f1e5c7;padding:0;font:17px Georgia;display:flex;gap:10px;align-items:center;text-align:left}
/* Forge: square black/gold equipment slots; never a diamond inside an empty slot. */
dialog.syl-forge.ui144-panel{width:min(95vw,520px);max-height:92svh}
dialog.syl-forge.ui144-panel .forge-tabs{background:none;padding:10px 6px;gap:5px}
dialog.syl-forge.ui144-panel .forge-tabs button{font-size:13px!important;padding:3px 2px!important}
dialog.syl-forge.ui144-panel .forge-body{padding:0 6px 10px}
dialog.syl-forge.ui144-panel .forge-balance{color:#e0c68c;font-size:12px;margin-bottom:0}
dialog.syl-forge.ui144-panel .forge-section{border-color:#9b7b4559;padding:12px 0}
dialog.syl-forge.ui144-panel .forge-section h3{text-align:center;font-size:17px}
dialog.syl-forge.ui144-panel .forge-preview{background:#10140e;border-color:#876b404d}
dialog.syl-forge.ui144-panel .forge-selected .item-cell{width:100px;height:100px}
dialog.syl-forge.ui144-panel .forge-empty{color:#e2d2ab}
dialog.syl-forge.ui144-panel .forge-grid.equipped{grid-template-columns:repeat(3,minmax(0,1fr));max-width:330px;margin:0 auto;gap:8px}
dialog.syl-forge.ui144-panel .forge-grid.equipped .item-cell{max-width:96px;aspect-ratio:1;width:100%;height:auto;margin:auto}
/* Diamond catalog remains informational, with no simulated checkout. */
dialog.diamond-shop.ui144-panel{width:min(94vw,460px);padding:0 6px 10px}
dialog.diamond-shop.ui144-panel .diamond-shop-balance{text-align:center;color:#e7c983}
dialog.diamond-shop.ui144-panel .diamond-pack{background:radial-gradient(ellipse at 50% 15%,#37453788,transparent 80%),#11170f;border-color:#987648;gap:8px;min-height:165px}
dialog.diamond-shop.ui144-panel .diamond-pack>.syl-item-icon{width:72px!important;height:72px!important}
dialog.diamond-shop.ui144-panel .diamond-pack strong{font:700 22px Georgia;color:#f7e8c6}
dialog.diamond-shop.ui144-panel .diamond-pack-price{color:#e1bf75;font-size:17px}.ui144-panel .diamond-pack-status,.ui144-panel .diamond-shop-note{color:#c2bea8}
/* Farm sheets and shared quantity pad inherit only the new presentation. */
#farm-quick-panel.ui144-panel{padding:12px 10px}.ui144-panel .farm-quick-row{background:#12180f;border-color:#977247}.ui144-panel .farm-quick-row h3{font-family:Georgia,serif}
.farm-page dialog.farm-dialog.ui144-panel{padding:12px 9px;max-height:88svh}.farm-page dialog.farm-dialog.ui144-panel p{color:#d1c8ac}.farm-page dialog.farm-dialog.ui144-panel .farm-sheet-head{margin-bottom:12px}.farm-page dialog.farm-dialog.ui144-panel .farm-plot{background:#0e140d;border-color:#947545}.farm-page dialog.farm-dialog.ui144-panel .farm-plot[aria-pressed=true]{background:#343823;border-color:#ddbc79}
.ui144-panel .ui144-item-slot:empty{display:block}
@media(max-width:370px){dialog.ui144-panel{border-width:11px!important;border-image-width:11px!important}.adventure-quest{grid-template-columns:45px 1fr;gap:7px}.adventure-quest-art{width:45px}.adventure-quest .syl-service-actions{grid-column:2;max-width:none;flex-direction:row}.adventure-card-shop .syl-service-row{grid-template-columns:45px 1fr}.adventure-card-shop .syl-service-actions{grid-column:2;max-width:none}.cosmetic-preview{min-height:200px}.cosmetic-preview canvas{width:150px!important;height:150px!important}}
@media(max-height:620px){.ruins-preview>.ui144-boss-art{width:min(100%,40svh);height:auto}.ruins-preview-heading{padding-top:5px}.ruins-preview-heading strong{font-size:21px}.cosmetic-preview{min-height:180px}.cosmetic-preview canvas{width:135px!important;height:135px!important}}
/* Selection cards use the map's own scenery assets and an explicit enter action. */
#stage-panel.ui144-panel{width:min(94vw,460px);max-height:89svh;padding:12px 7px;overflow:auto}
#stage-panel.ui144-panel h2{text-align:center;padding:0 26px;margin:0 0 7px;font-size:30px}
#stage-panel.ui144-panel #stage-status{font:14px/1.4 Georgia,serif;color:#ddd0b1;text-align:center;margin:7px 0 12px}
#stage-panel.ui144-panel #stage-list{display:grid;gap:10px}
#stage-panel.ui144-panel .stage-choice{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:flex-end;overflow:hidden;height:124px;min-height:100px;padding:12px!important;background:#11170f!important;border:1px solid #897343!important;border-radius:6px;color:#f5ead0!important;text-align:right}
#stage-panel.ui144-panel .stage-choice[aria-pressed=true]{border-color:#e1b863!important;box-shadow:inset 0 0 0 1px #efce86}
.ui144-stage-art{position:absolute;inset:0;overflow:hidden;background:linear-gradient(#77afd1 0 45%,#53633c 46%);z-index:-2}
.ui144-stage-art img{position:absolute;pointer-events:none}.ui144-stage-back{inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%}.ui144-stage-front{left:0;bottom:-5%;height:125%;width:54%;object-fit:contain;object-position:left bottom}
#stage-panel.ui144-panel .stage-choice:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 10%,#0d150e22 30%,#11180fde 68%,#11180f);z-index:-1}
#stage-panel.ui144-panel .stage-choice-body{flex:0 1 58%;display:flex;flex-direction:column;gap:6px;text-shadow:0 1px 3px #000}
#stage-panel.ui144-panel .stage-choice-body strong{font:700 25px/1.1 Georgia,serif;color:#faefcf}
#stage-panel.ui144-panel .stage-choice-body .stage-current-label{font:14px Georgia;color:#d8d698}
#stage-panel.ui144-panel .stage-choice-body>span:last-child{font:12px system-ui;color:#efe8d8}
#stage-panel.ui144-panel .stage-enter{width:100%;min-height:48px!important;font-size:20px!important;margin-top:3px}
@media(max-height:650px){#stage-panel.ui144-panel .stage-choice{height:95px;min-height:90px}#stage-panel.ui144-panel .stage-choice-body strong{font-size:22px}}

.game-quantity-pad.ui144-panel{padding:14px 9px}.game-quantity-pad.ui144-panel .quantity-display{color:#f4dfad;background:#10140e;border-color:#9b7847}

dialog.syl-service.ui144-panel .syl-gem-tabs{display:flex;gap:5px;overflow-x:auto;padding-bottom:3px}dialog.syl-service.ui144-panel .syl-gem-tabs button{flex:1;min-width:62px;white-space:nowrap;padding:5px!important}

/* 145 — All entry pages load this stylesheet before gameplay. No MutationObserver,
   DOM reparenting, modal monkey-patches, or changes to showModal/input fencing.
   A transparent native backdrop still keeps underlying game input inert. */
html body dialog::backdrop{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
html body :is(dialog,#sylvara-update,.sylvara-loading-inner,.entry-panel,.syl-product-info-card):not(.syl-product-info-overlay){box-sizing:border-box;border:14px solid transparent!important;border-image-source:url(assets/ui144/frame.png)!important;border-image-slice:140 fill!important;border-image-width:14px!important;border-image-outset:0!important;border-image-repeat:stretch!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ui144-ink)!important;color-scheme:dark}
html body dialog:not(.syl-product-info-overlay){max-width:calc(100vw - 20px);max-height:calc(100svh - 24px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ac8750 #181b15;overflow-x:hidden}
html body dialog:not([open]){display:none!important}
html body dialog.syl-product-info-overlay{background:transparent!important;border:0!important;border-image:none!important;box-shadow:none!important}
/* Header remains in view; existing flex-body scrollers retain their layout. */
html body :is(dialog,#sylvara-update,.syl-product-info-card)>:is(header,.panel-head,.farm-sheet-head,.detail-heading,.ui145-dialog-head){position:sticky!important;top:0!important;z-index:5;display:flex;align-items:center;justify-content:space-between!important;gap:10px;flex:0 0 auto;margin:0!important;padding:10px 7px 12px!important;background:#181b15!important;border:0!important;border-bottom:1px solid #ad84564d!important;isolation:isolate}
html body :is(dialog,.syl-product-info-card)>:is(header,.panel-head,.farm-sheet-head,.detail-heading,.ui145-dialog-head)>:is(h2,h3,div){min-width:0}
html body :is(dialog,.syl-product-info-card)>:is(header,.panel-head,.farm-sheet-head,.detail-heading,.ui145-dialog-head) :is(h2,h3){margin:0!important;line-height:1.2!important;overflow-wrap:anywhere;color:var(--ui144-ink)!important;font-family:Georgia,'Times New Roman',serif}
html body :is(dialog,.syl-product-info-card)>:is(header,.panel-head,.farm-sheet-head,.detail-heading,.ui145-dialog-head)>form{margin:0;flex:0 0 auto}
html body .ui145-dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 7px}
html body dialog.ui145-column[open]{display:flex;flex-direction:column;overflow:hidden!important;padding:0!important}
html body dialog.ui145-column>.ui145-dialog-body{flex:1 1 auto}
html body dialog :is(h2,h3){font-family:Georgia,'Times New Roman',serif;color:var(--ui144-ink)}
/* Text controls share the approved painted button. Icon slots and illustrated
   selection cards keep their artwork and dimensions rather than a second frame. */
html body :is(dialog,#sylvara-update,#sylvara-startup,.sylvara-loading-inner,.entry-panel,.syl-product-info-card,#library) button:where(:not(.item-cell):not(.ui144-item-slot):not(.stage-choice):not(.pet-card):not(.pet-merge-slot):not(.reward-slot):not(.farm-plot):not(.syl-shop-info-button):not(.cosmetic-choice):not(.skin-color-swatch)){
 box-sizing:border-box;border:10px solid transparent!important;border-image-source:url(assets/ui144/button.png)!important;border-image-slice:239 109 273 110 fill!important;border-image-width:23.9px 10.9px 27.3px 11px!important;border-image-outset:14.3px 1.3px 17.7px 1.4px!important;border-image-repeat:stretch!important;border-radius:0!important;background:none!important;color:var(--ui144-ink)!important;text-shadow:0 1px 2px #17130c;touch-action:manipulation;line-height:1.25;min-height:40px;font-family:Georgia,'Times New Roman',serif}
html body :is(dialog,#sylvara-update,#sylvara-startup,.sylvara-loading-inner,.entry-panel) button:disabled{opacity:.45;cursor:default}
html body :is(dialog,.syl-product-info-card) button:is([aria-selected=true],[aria-pressed=true]):not(.item-cell):not(.stage-choice){filter:brightness(1.18);box-shadow:inset 0 0 0 1px #eed397}
html body :is(dialog,#sylvara-update,.syl-product-info-card)>:is(header,.panel-head,.farm-sheet-head,.detail-heading,.ui145-dialog-head) :is(button,.close-dialog){position:static!important;float:none!important;flex:0 0 42px;width:42px!important;min-width:42px;min-height:42px!important;height:42px;padding:0!important;margin:0!important;border:0!important;border-image:none!important;background:none!important;box-shadow:none!important;color:#eed092!important;font:30px/1 Georgia,serif!important;text-shadow:0 1px 3px #000}
html body :is(dialog,.entry-panel) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),select,textarea){color:var(--ui144-ink)!important;background:#10140e!important;border:1px solid #997a4e!important;border-radius:4px!important;color-scheme:dark}
html body :is(dialog,.entry-panel) input:is([type=checkbox],[type=radio]){accent-color:#caaa64;min-height:0!important}
html body dialog :is(.item-cell,.ui144-item-slot,.reward-slot,.pet-merge-slot){background:#0b0d0a!important;border-color:#ba914f!important;border-image:none!important;border-radius:5px!important}
html body :is(dialog,#sylvara-update) [hidden]{display:none!important}
html body :is(dialog,#sylvara-update) :is([role=status],.social-error,.forge-status,.city-function-status,.game-settings-status,.action-status):empty{display:none!important;padding:0!important;margin:0!important;border:0!important;min-height:0!important}
html body :is(#sylvara-update,.sylvara-loading-inner) progress{appearance:none;-webkit-appearance:none;width:100%;height:13px;accent-color:#d6ad60;border:1px solid #a17b47;border-radius:5px;background:#0a100c;overflow:hidden}
html body :is(#sylvara-update,.sylvara-loading-inner) progress::-webkit-progress-bar{background:#0a100c}
html body :is(#sylvara-update,.sylvara-loading-inner) progress::-webkit-progress-value{background:linear-gradient(#ead099,#a27031)}
html body :is(#sylvara-update,.sylvara-loading-inner) progress::-moz-progress-bar{background:linear-gradient(#ead099,#a27031)}
/* Shared small scene buttons use the same art without changing their anchors. */
html body :is(.duel-start,.duel-top button,.lobby-options button,.pvp-lobby-actions button,.farm-toolbar button,.farm-top a,.farm-walk button,#city-harvest button,.city-fishing-action,.city-hunting-action,.library-header-actions button,.library-header-actions a,.library-map-header button,#library-map-view button,.guild-movement button,.world-movement button,#reconnect,#library-retry,#return-city){border:7px solid transparent!important;border-image-source:url(assets/ui144/button.png)!important;border-image-slice:239 109 273 110 fill!important;border-image-width:16.73px 7.63px 19.11px 7.7px!important;border-image-outset:10.01px .91px 12.39px .98px!important;border-image-repeat:stretch!important;border-radius:0!important;background:none!important;color:var(--ui144-ink)!important;text-shadow:0 1px 2px #17130c}
html body :is(.city-actions button,.side-slots button){border-color:#ba914f!important;background-color:#0b0d0a!important}
html body :is(.farm-toolbar,.city-bottom,.controls){background-color:#181b15;border-color:#987445}
/* Bag detail sheet has its own header while the bag beneath remains untouched. */
html body #item-detail{border:10px solid transparent!important;border-image:url(assets/ui144/frame.png) 140 fill / 10px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0 7px 10px!important}
html body #item-detail .detail-heading{position:sticky;top:0;z-index:3;margin:0;padding:10px 0;background:#181b15}
html body .syl-product-info-card{padding:0 9px 12px;max-height:calc(100svh - 40px)}
html body .syl-product-info-card>header{grid-column:1/-1}
html body :is(.inventory-scroll,.forge-body,.skill-panel-content,.city-function-body,.syl-service-body){min-height:0;overscroll-behavior:contain}
html body dialog.syl-service[open]{display:flex;flex-direction:column;overflow:hidden!important}
html body dialog.syl-service>.syl-service-body{overflow-y:auto;flex:1 1 auto}
html body dialog.syl-service>:is(header,.syl-service-balance,.syl-service-status){flex:0 0 auto}
html body .game-settings-status{min-height:0}
@media(max-width:370px){html body :is(dialog,#sylvara-update,.sylvara-loading-inner,.entry-panel,.syl-product-info-card):not(.syl-product-info-overlay){border-width:11px!important;border-image-width:11px!important}html body #inventory-panel button:not(.item-cell):not(.bag-close){font-size:10px!important;padding:2px 1px!important;border-width:6px!important;min-height:32px!important}}

html body .city-map-overlay{background:transparent!important;backdrop-filter:none!important;box-shadow:none!important}
html body :is(.city-map-expanded,.city-bottom,.controls,.farm-toolbar,.pvp-lobby-profile){border:7px solid transparent!important;border-image:url(assets/ui144/frame.png) 140 fill / 7px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ui144-ink)}
html body :is(#city-activity-modes button,.city-fishing button,.city-hunting button){border:7px solid transparent!important;border-image-source:url(assets/ui144/button.png)!important;border-image-slice:239 109 273 110 fill!important;border-image-width:16.73px 7.63px 19.11px 7.7px!important;border-image-outset:10.01px .91px 12.39px .98px!important;border-image-repeat:stretch!important;border-radius:0!important;background:none!important;color:var(--ui144-ink)!important;text-shadow:0 1px 2px #17130c}
html body #city-activity-modes button[aria-pressed=true]{filter:brightness(1.2);box-shadow:inset 0 0 0 1px #e5ca8a}
html body :is(.entry-panel,#sylvara-update) h2{color:var(--ui144-ink);font-family:Georgia,'Times New Roman',serif}
html body .social-dialog{overflow-y:auto}

/* Empty transient labels never leave an empty painted box in any scene. */
html body :is([role=status],#duel-clock,.duel-clock,.duel-status,.solo-network,.social-error):empty{display:none!important}
html body :is(.duel-result,.solo-network,#hint,#loading,#city-loading,#city-notice,#farm-toast,#farm-return-status,#farm-loading,#library-map-status){border:7px solid transparent!important;border-image:url(assets/ui144/frame.png) 140 fill / 7px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ui144-ink)}
html body .pvp-lobby-profile>button{border-color:#ba914f!important;background-color:#0b0d0a!important}
html body .boss-rank-dialog>.ui145-dialog-body>button{display:block;width:100%}
