*{box-sizing:border-box}body{margin:0;background:#17272e;color:#faf0d9;font:16px system-ui}canvas{display:block;width:100vw;height:100dvh;touch-action:none}header,aside,footer,#directory{position:fixed}header{top:22px;left:24px;text-shadow:0 2px 8px black;display:grid}header strong{font:28px Georgia;letter-spacing:.2em}header span,small{letter-spacing:.13em;text-transform:uppercase;font-size:11px}button{background:#12262aee;color:#ffefcf;border:1px solid #78857a;border-radius:4px;padding:.75em 1em;cursor:pointer}button:hover,button:focus-visible{background:#374d49}#directory{top:24px;right:22px}aside{bottom:88px;left:24px;display:grid;gap:8px;justify-items:start}small,footer{background:#102023eb;padding:8px 12px}footer{left:24px;bottom:15px;display:flex;align-items:center;gap:14px;font-size:12px;border-radius:4px}#pad{display:flex;gap:4px}#pad button{touch-action:none}dialog{width:min(490px,92vw);max-height:80dvh;overflow:auto;background:#142b30;color:#f8ecd0;border:1px solid #8e927d;padding:24px}dialog::backdrop{background:#031114aa}h1{font:30px Georgia}section>button,article{display:block;width:100%;text-align:left;margin:.5rem 0;padding:.55rem;border-bottom:1px solid #456061}article small{display:block;background:none;padding:3px 0;color:#c7c6b5}a{color:#e8c585}input{width:100%;padding:.7rem} @media(max-width:560px){footer span{display:none}}
.collection-dialog{width:min(1060px,95vw);max-height:91dvh;padding:clamp(18px,3vw,36px);border-radius:10px;box-shadow:0 24px 100px #0008}.collection-dialog h1{font-size:clamp(28px,4vw,42px);margin:12px 0 20px}.collection-dialog h2{font:24px Georgia}.collection-dialog section{line-height:1.6}.collection-dialog #close{float:right}.collection-tools{display:flex;gap:12px;margin:20px 0}.collection-tools input,.collection-tools select{font:inherit;background:#102328;color:#fff1d5;border:1px solid #71877f;border-radius:4px;padding:12px;min-width:0}.collection-tools input{flex:1}.result-count,.source-note{font-size:13px;color:#c2cbbd}.collection-grid,.attachment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px}.collection-grid .record-card,.attachment-grid .attachment-card{display:flex;flex-direction:column;width:100%;gap:10px;text-align:left;padding:16px;margin:0;background:#1d363a;border:1px solid #61766d;border-radius:6px;overflow:hidden}.record-card img,.attachment-card img{width:100%;height:160px;object-fit:contain;background:#0c1e22;border-radius:3px}.record-card strong,.attachment-card strong{font:22px Georgia}.record-card span{font-size:14px;line-height:1.5;color:#e0dfcc}.record-card small,.attachment-card small{padding:0;background:none;letter-spacing:.04em;text-transform:none;color:#d7bc88;margin-top:auto}.record-card:hover,.attachment-card:hover{background:#304b47}.collection-dialog .back{width:auto;display:inline-block;margin:0 0 16px}.collection-dialog .full-photo{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain;background:#0b1d20}.collection-dialog video{display:block;width:100%;max-height:63dvh;background:#000}.collection-dialog iframe{width:100%;height:66dvh;border:1px solid #60786f;background:#fff}.original{display:inline-block;margin:16px 0;padding:8px 0}.collection-dialog dl{display:grid;grid-template-columns:minmax(90px,1fr) 3fr;gap:8px;overflow-wrap:anywhere}.collection-dialog dd{margin:0}.collection-dialog dt{color:#c2cbbd}.collection-dialog details{padding:16px 0;border-top:1px solid #456061}.empty{padding:20px;background:#102328;border-radius:5px}.collection-dialog button:focus-visible,.collection-dialog a:focus-visible{outline:3px solid #e4c38b;outline-offset:3px}@media(max-width:600px){.collection-tools{flex-direction:column}.collection-grid,.attachment-grid{grid-template-columns:1fr}.collection-dialog{max-height:94dvh}.collection-dialog #close{float:none}.collection-dialog iframe{height:60dvh}}
body{overflow:hidden;overscroll-behavior:none}header{z-index:2;pointer-events:none}.world-nav{position:fixed;top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));display:flex;gap:8px;z-index:3}.world-nav #directory{position:static}.world-nav button{min-height:44px}.thumb-controls{position:fixed;inset:0;pointer-events:none;z-index:3;user-select:none;-webkit-user-select:none}.move-cluster,.action-cluster{position:absolute;bottom:calc(30px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:none}.move-cluster{left:max(30px,env(safe-area-inset-left))}.action-cluster{right:max(30px,env(safe-area-inset-right))}.thumb-stick{position:relative;width:146px;height:146px;border:1px solid #d2c79b88;border-radius:50%;background:radial-gradient(circle,#233d42aa,#10252bb8);box-shadow:inset 0 0 28px #06192077,0 5px 20px #0004;touch-action:none;pointer-events:auto;cursor:grab}.thumb-stick.active{border-color:#f0d49c;background:#294d4cc4;cursor:grabbing}.stick-knob{position:absolute;left:calc(50% - 25px);top:calc(50% - 25px);width:50px;height:50px;border-radius:50%;border:1px solid #dec997;background:radial-gradient(circle at 35% 25%,#8d9e8d,#425f60);box-shadow:0 4px 12px #0006;pointer-events:none}.stick-guide{position:absolute;inset:18%;border:1px solid #d2c79b44;border-radius:50%;pointer-events:none}.stick-guide:before,.stick-guide:after{content:'';position:absolute;background:#e6d8ab55}.stick-guide:before{height:1px;left:0;right:0;top:50%}.stick-guide:after{width:1px;top:0;bottom:0;left:50%}.control-caption{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#f4e3bc;text-shadow:0 2px 4px #000}.action-cluster #visit{pointer-events:auto;width:190px;min-height:52px;margin-bottom:6px;background:#284c49f0;border-color:#d4bd88;font-weight:600;line-height:1.35}.action-cluster #visit:disabled{opacity:.65;background:#12262acc;cursor:default}.control-help{pointer-events:none;left:50%;bottom:22px;transform:translateX(-50%);display:grid;gap:3px;text-align:center;font-size:11px;max-width:calc(100vw - 410px);background:#102023a8}.control-help span{font-size:10px;opacity:.75}aside{left:24px;bottom:224px;pointer-events:none}.in-window .thumb-controls,.in-window .control-help{visibility:hidden}#atlas-dialog{width:98vw;max-width:1600px;height:96dvh;max-height:96dvh;padding:0;overflow:hidden;border-radius:8px}#atlas-dialog .atlas-toolbar{height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 18px;border-bottom:1px solid #6b8074}#atlas-dialog iframe{display:block;width:100%;height:calc(100% - 58px);border:0;background:#102328}.atlas-toolbar strong{font:21px Georgia}button,a{ -webkit-tap-highlight-color:transparent }@media(max-width:600px){header{top:max(16px,env(safe-area-inset-top));left:16px}header strong{font-size:23px}.world-nav{top:max(16px,env(safe-area-inset-top));right:12px;gap:5px}.world-nav button{font-size:12px;padding:.7em}.thumb-stick{width:116px;height:116px}.stick-knob{width:42px;height:42px;left:calc(50% - 21px);top:calc(50% - 21px)}.move-cluster{left:20px}.action-cluster{right:20px}.action-cluster #visit{width:150px;font-size:12px;min-height:48px}.move-cluster,.action-cluster{bottom:calc(25px + env(safe-area-inset-bottom))}.control-help{display:none}aside{bottom:190px;left:20px}#atlas-dialog{width:100vw;height:100dvh;max-height:100dvh;max-width:100vw;border-radius:0;margin:0}#atlas-dialog .atlas-toolbar{padding:8px 12px}.atlas-toolbar strong{font-size:18px}}@media(max-height:510px){header span,.control-help{display:none}.thumb-stick{width:110px;height:110px}.move-cluster,.action-cluster{bottom:calc(14px + env(safe-area-inset-bottom))}.action-cluster #visit{min-height:44px;font-size:12px;width:165px}.world-nav{top:max(10px,env(safe-area-inset-top))}aside{bottom:180px}.collection-dialog{max-height:97dvh}.atlas-toolbar strong{font-size:18px}}
.thumb-tools{display:none;gap:6px;pointer-events:auto}.thumb-tools button{min-height:44px;width:72px;font-size:12px;padding:8px;background:#173237e8}.thumb-tools button:focus-visible,.thumb-stick:focus-visible{outline:2px solid #e4c38b;outline-offset:3px}
/* Touch controls follow input capability, never window size alone. */
.move-cluster,.thumb-stick,.control-caption,.thumb-tools{display:none}.world-nav{display:flex}.action-cluster{bottom:24px;right:24px}.control-help{display:block;left:24px;bottom:24px;transform:none;max-width:calc(100vw - 260px)}.control-help .desktop-help{display:block;font-size:12px;opacity:1}.control-help .touch-help{display:none}aside{bottom:96px}
@media(hover:none) and (pointer:coarse) and (max-width:1024px){.move-cluster,.thumb-stick,.control-caption{display:flex}.thumb-tools{display:flex}.world-nav{display:none}.move-cluster,.action-cluster{bottom:calc(25px + env(safe-area-inset-bottom))}.control-help{display:none}aside{bottom:190px}}
#exit-shop{position:fixed;right:24px;bottom:90px;min-height:44px;z-index:4;border-color:#d4bd88;background:#173237ee}.in-window #exit-shop{visibility:hidden}#collection-dialog #close{position:sticky;top:0;z-index:5;box-shadow:0 3px 12px #0005}@media(hover:none) and (pointer:coarse) and (max-width:1024px){#exit-shop{left:20px;right:auto;bottom:calc(165px + env(safe-area-inset-bottom));max-width:175px;font-size:12px}}
#object-hint{position:fixed;left:50%;bottom:118px;transform:translateX(-50%);max-width:320px;margin:0;padding:8px 12px;color:#e5d2a4;background:#10252bbb;border-radius:4px;font-size:12px;text-align:center;pointer-events:none;z-index:2}.in-window #object-hint{visibility:hidden}@media(hover:none) and (pointer:coarse) and (max-width:1024px){#object-hint{top:90px;bottom:auto;width:260px;font-size:12px}}
