.fp-only{display:none}
.first-person .fp-only{display:block}
.first-person{--ink:#e8dfc8;--dim:#b9b19d;--panel:rgba(31,29,23,.9);--line:#6b624b;--gold:#d4bb7d;background:#202722}
.first-person .panel{border-radius:2px;backdrop-filter:none;box-shadow:inset 0 0 0 2px #16171150,0 3px 12px #0003}
.first-person button{border-radius:2px;background:#34372b;border-color:#6b6552;font-size:12px;padding:8px 11px}
.first-person button:hover{background:#4c513b;border-color:#c8b37d}
.first-person #top-left{top:18px;left:20px;background:none;border:0;box-shadow:none;text-shadow:0 2px 4px #000;min-width:unset;font-size:12px}
.first-person #top-left .big{font-family:Georgia,serif;font-size:25px;font-weight:400}
.first-person #top-right{top:18px;right:20px;width:210px;background:#222820b0;border-color:#dad5af40;text-align:left}
.first-person #town-name{font-size:19px}
.first-person #goal-panel{top:166px;left:20px;width:218px;background:#22271dd1;border-color:#b6b18f42}
.first-person #goal-list .goal .t{font-size:12px}
.first-person #goal-list .goal .h{font-size:11px;line-height:1.5}
.first-person #needs{top:auto;bottom:116px;left:50%;transform:translateX(-50%);width:540px;max-width:70vw;display:flex;gap:12px;border:0;box-shadow:none;background:linear-gradient(0deg,#1a1d18a0,transparent);padding:10px}
.first-person .need{display:flex;flex:1;flex-direction:column;gap:4px;text-shadow:0 1px 2px #000;font-size:10px}
.first-person .need .bar{width:100%;height:8px;border:1px solid #171b16;box-shadow:0 0 0 1px #b2a58740;background:#121510a0;border-radius:0}
.first-person #need-hunger{background:#a8a15b}.first-person #need-thirst{background:#7dabae}.first-person #need-energy{background:#bdac77}.first-person #need-warmth{background:#c8905b}.first-person #need-health{background:#a25f4c}
.first-person #bottom{bottom:40px;width:auto;min-width:400px;max-width:78vw;padding:7px;background:#26281fdf;border:2px solid #645e48;box-shadow:0 0 0 1px #181a13}
.first-person #hint{display:none}
.first-person #inv{gap:4px;flex-wrap:nowrap}
.first-person .chip{position:relative;width:61px;height:48px;display:flex;flex-direction:column;justify-content:center;padding:3px;border-radius:0;background:linear-gradient(#464936,#2a2c22);border:1px solid #82795c;font-size:10px}
.first-person .chip b{font-size:16px;font-family:Georgia,serif}
.first-person .chip.food{border-color:#8c9767}
.first-person #buttons{right:20px;bottom:28px;gap:5px}
.first-person #buttons>div{display:none}
.first-person #log{bottom:65px;left:20px;font-size:11px;max-width:25vw;color:#ded7c3}
.first-person #log .m:nth-child(n+3){display:none}
.first-person #build-panel{top:50%;transform:translate(-50%,-50%);width:min(650px,90vw);max-height:80vh;padding:20px;z-index:4}
.first-person #build-list{grid-template-columns:repeat(4,1fr);gap:7px}
.first-person .piece{height:58px}
.first-person .piece .k{display:none}
.first-person .piece{grid-template-columns:1fr}
.first-person .piece .n{font-size:14px;font-family:Georgia,serif}
.first-person #town-panel,.first-person #help-panel{z-index:4;padding:22px}
.first-person #title{background:linear-gradient(90deg,#172018de,#1b241ac4 55%,#18201785);align-items:flex-start;text-align:left;padding:10vw}
.first-person #title h1{max-width:600px;line-height:1.1;font-size:clamp(40px,6vw,78px);color:#e7d8b4;letter-spacing:.01em}
.first-person #title p{margin:24px 0;line-height:1.8;max-width:420px;color:#d0ccb9}
.first-person #title button{padding:12px 30px;font-size:16px;background:#454b33}
#crosshair{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);font:17px Georgia;color:#fff9;text-shadow:0 1px 2px #000;pointer-events:none}
#focus{position:fixed;left:50%;top:calc(50% + 34px);transform:translateX(-50%);color:#f0e7ce;font-size:12px;text-shadow:0 2px 3px #000;pointer-events:none;white-space:nowrap;background:#18201899;padding:4px 10px}
#focus:empty{display:none}
#compass{position:fixed;top:22px;left:50%;transform:translateX(-50%);font:14px Georgia;color:#e8dfbd;text-shadow:0 2px 2px #000;letter-spacing:.2em;border-top:1px solid #e5d9b65c;padding:6px 22px}
#shelter{position:fixed;top:115px;left:31px;color:#d0cbb7;font-size:11px;text-shadow:0 2px 3px #000}
#capture{position:fixed;top:65%;left:50%;transform:translateX(-50%);background:#20251ed9;z-index:2}
#equipped{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);color:#cec5ad;font-size:11px;text-shadow:0 1px 2px #000;white-space:nowrap}
@media(max-width:800px){.first-person #top-right{width:175px;font-size:10px}.first-person #goal-panel{width:174px;top:150px;left:12px}.first-person #goal-list .goal .h{display:none}.first-person #needs{bottom:117px;max-width:74vw;width:430px;gap:6px}.first-person #bottom{min-width:unset;max-width:80vw}.first-person .chip{width:45px;font-size:9px}.first-person #log{display:none}.first-person #buttons{right:8px;bottom:14px}.first-person #build-list{grid-template-columns:repeat(3,1fr)}}
@media(pointer:coarse){.first-person #buttons{top:140px;bottom:auto}.first-person #bottom{left:50%;transform:translateX(-50%);bottom:42px}.first-person #tbtns{bottom:145px}.first-person #goal-panel{pointer-events:auto}.first-person #title{padding:8vw}.first-person #tbtns button{width:48px;height:48px}}
