/* Fixed shells: content scrolls inside, never resizes the outer window. */
#basket-dialog,#fieldbook-dialog{box-sizing:border-box;max-width:none;max-height:none;overflow:hidden;margin:auto;border-radius:0}
#basket-dialog{width:min(470px,calc(100vw - 32px));height:min(410px,calc(100dvh - 32px));padding:12px}
#basket-dialog[open]{display:grid;grid-template-rows:36px minmax(0,1fr) 26px;gap:8px}
.basket-head{min-width:0;margin:0}.basket-head>div{min-width:0}.basket-head h2,.basket-head p{white-space:nowrap}.basket-head button,.item-slot,.item-details button{border-radius:0}
.basket-body{min-height:0;min-width:0}.basket-grid{min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:2px}
.item-details{display:grid;grid-template-rows:54px 36px 18px minmax(32px,1fr) 36px 36px;gap:4px;min-width:0;min-height:0;overflow-y:auto;align-self:stretch}.item-details h3{margin:0;line-height:18px;overflow-y:auto}.item-details p{margin:0;min-height:0;overflow-y:auto}.item-details button{margin:0;padding:5px 3px;box-shadow:inset -2px -2px 0 #79603a}
#basket-notice,#basket-notice:empty{display:block;font-size:11px;line-height:13px;margin:0;min-height:0;overflow-y:auto}
/* Pixel-art book: flat palette, square corners and stepped inset edges. */
#fieldbook-dialog{width:min(770px,calc(100vw - 32px));height:min(590px,calc(100dvh - 32px));padding:12px;background:#6a4529;border:4px solid #39291e;box-shadow:inset 0 0 0 3px #cda56b,0 -4px 0 -1px #b7834e,0 4px 0 -1px #38281f,4px 0 0 -1px #38281f,-4px 0 0 -1px #b7834e,8px 8px 0 #091e1999}
#fieldbook-dialog[open]{display:grid;grid-template-rows:44px minmax(0,1fr) 36px;gap:10px}
#fieldbook-dialog::backdrop{background:#09251bdd;backdrop-filter:none}
.book-toolbar,.book-nav{display:grid;min-width:0;min-height:0;margin:0;font-family:ui-monospace,"Courier New",monospace;font-weight:700}.book-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 105px}.book-toolbar h2{font-size:17px;line-height:20px;text-shadow:2px 2px 0 #322519}
.book-toolbar select{width:100%;max-width:none;min-width:0;height:36px;padding:5px;border:2px solid #cba56c;border-radius:0}.book-toolbar button,.book-nav button{font:inherit;min-width:0;height:36px;padding:4px 7px;background:#443b2b;border:2px solid #caa16b;border-radius:0;font-size:12px;line-height:14px;box-shadow:inset 2px 2px 0 #6f5834,inset -2px -2px 0 #261f19}
.book-nav{grid-template-columns:125px minmax(0,1fr) 100px}.book-nav>span{text-align:center;white-space:nowrap}.book-toolbar button:hover,.book-nav button:not(:disabled):hover{background:#6b5533}.book-toolbar button:active,.book-nav button:not(:disabled):active{box-shadow:inset 2px 2px 0 #261f19}
.book-spread{min-height:0;min-width:0;outline:2px solid #33251d;box-shadow:0 3px 0 #bba074,0 6px 0 #4d3928}.book-page,.book-page+.book-page{min-height:0;max-height:none;min-width:0;overflow-y:auto;scrollbar-gutter:stable;padding:20px 20px 18px;background:#f2dfb0;border-top:3px solid #ffedc5;border-bottom:3px solid #b99863;box-shadow:inset -4px 0 #c1a477,inset -8px 0 #ddc492;font-family:"Trebuchet MS",system-ui,sans-serif;overscroll-behavior:contain;scrollbar-color:#9e7949 #e6d0a2}.book-page+.book-page{box-shadow:inset 4px 0 #b19464,inset 8px 0 #ddc492;border-left:3px solid #6c5132}
.book-page h3{font:900 20px/1.2 ui-monospace,"Courier New",monospace;margin:0 0 14px;color:#4a3825;overflow-wrap:anywhere}.book-page h3:after{content:"";display:block;margin-top:12px;width:44px;height:4px;background:#a9834b;box-shadow:4px 4px 0 #dfc48e}.page-number{font:700 11px/1.4 ui-monospace,"Courier New",monospace}
#fieldbook-dialog :focus-visible,#basket-dialog :focus-visible{outline:2px solid #ffd87d;outline-offset:-2px}.book-page:focus-visible{outline-color:#80602e!important}
@media(max-width:480px){#basket-dialog,#fieldbook-dialog{padding:10px}.item-details{grid-template-rows:48px 36px 18px minmax(32px,1fr) 36px 36px}.book-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 78px;gap:5px}.book-toolbar h2{font-size:12px;line-height:15px}.book-toolbar select{font-size:11px;padding:3px}.book-toolbar button{font-size:11px}.book-page,.book-page+.book-page{padding:12px 10px 16px}.book-page h3{font-size:15px}.book-nav{grid-template-columns:108px minmax(0,1fr) 72px;gap:4px;font-size:11px}.book-nav button{font-size:11px;padding:4px}}
@media(max-height:420px){#basket-dialog[open]{grid-template-rows:32px minmax(0,1fr) 20px;gap:6px}#fieldbook-dialog[open]{grid-template-rows:40px minmax(0,1fr) 34px;gap:6px}.book-toolbar select,.book-toolbar button,.book-nav button{height:34px}}
