*,:before,:after{box-sizing:border-box}html,body,#root{background:#0e0d0b;width:100%;height:100%;margin:0;overflow:hidden}body{color:#ece6dc;-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,sans-serif}button{font:inherit;color:inherit}.app{position:fixed;inset:0}.app canvas{touch-action:none;display:block}.title{pointer-events:none;text-shadow:0 1px 8px #00000080;position:absolute;top:20px;left:24px}.title h1{letter-spacing:.02em;margin:0;font-size:15px;font-weight:500}.title p{color:#ece6dca6;margin:2px 0 0;font-size:12px}.dock{max-width:calc(100vw - 28px);position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.picker{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#14120fb8;border:1px solid #ffffff14;border-radius:12px;padding:9px 10px 10px;box-shadow:0 10px 30px #00000059}.picker__head{align-items:center;gap:10px;margin:0 2px 8px;font-size:12px;display:flex}.picker__title{font-weight:500}.picker__count{color:#ece6dc8c;font-variant-numeric:tabular-nums}.picker__clear{cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:6px;margin-left:auto;padding:3px 9px;font-size:12px}.picker__clear:hover:not(:disabled){background:#ffffff14}.picker__clear:disabled{opacity:.35;cursor:default}.picker__list{scrollbar-width:thin;scrollbar-color:#fff3 transparent;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.card{flex:none;position:relative}.card__add{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:9px;flex-direction:column;align-items:center;width:74px;padding:0 0 6px;transition:border-color .12s,background .12s;display:flex;overflow:hidden}.card__add:hover:not(:disabled){background:#ffffff14;border-color:#ffffff47}.card__add:active:not(:disabled){transform:translateY(1px)}.card__add:disabled{opacity:.4;cursor:default}.card__img{object-fit:cover;width:100%;height:46px;margin-bottom:5px}.card__name{font-size:12px;line-height:1.2}.card__habitat{color:#ece6dc80;font-size:10.5px}.card__count{font-variant-numeric:tabular-nums;cursor:pointer;background:#0f0e0cd9;border:0;border-radius:10px;justify-content:center;align-items:center;min-width:22px;height:20px;padding:0 6px;font-size:11px;display:flex;position:absolute;top:4px;right:4px}.card__minus,.card__count:hover .card__n{display:none}.card__count:hover .card__minus{display:inline}.toolbar{align-items:flex-start;gap:8px;display:flex;position:absolute;top:16px;right:20px}.toggle{cursor:pointer;background:#14120f99;border:1px solid #ffffff24;border-radius:6px;padding:4px 10px;font-size:12px}.toggle--on{background:#96c4d640;border-color:#aad6e673}.credits{flex-direction:column;align-items:flex-end;gap:8px;font-size:12px;display:flex}.credits__toggle{cursor:pointer;background:#14120f99;border:1px solid #ffffff24;border-radius:6px;padding:4px 10px}.credits__panel{background:#14120fe0;border:1px solid #ffffff14;border-radius:10px;width:300px;max-height:60vh;padding:12px 14px;line-height:1.45;overflow-y:auto}.credits__panel p{margin:0 0 8px}.credits__panel ul{margin:0 0 8px;padding-left:16px}.credits__panel a{color:#e8c98f}.rotate{z-index:10;color:#ece6dccc;text-align:center;background:#0e0d0b;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:32px;font-size:14px;display:flex;position:fixed;inset:0}.rotate__icon{color:#e8c98f;width:56px;height:56px;animation:2.4s ease-in-out infinite rotate-hint}@keyframes rotate-hint{0%,25%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}to{transform:rotate(0)}}@media (height<=500px){.title p{font-size:10.5px}.title{top:10px;left:14px}.toolbar{top:8px;right:12px}.dock{bottom:6px}.picker{padding:6px 7px 7px}.picker__head{margin-bottom:5px}.card__add{width:60px;padding-bottom:4px}.card__img{height:30px;margin-bottom:3px}.card__habitat{display:none}.card__name{white-space:nowrap;font-size:10.5px}}.loader{color:#ece6dcb3;background:#0e0d0b;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex;position:absolute;inset:0}.loader__bar{background:#ffffff1a;width:220px;height:2px}.loader__fill{background:#e8c98f;height:100%;transition:width .2s}
