/* The board shares the room camera, native coordinates and state lighting. */
.achievement-anchor{position:absolute;left:50%;top:50%;width:1536px;height:1024px;transform:translate(-50%,-50%) scale(var(--room-scale,1));pointer-events:none}
.achievement-wall-board{position:absolute;left:0;top:0;width:240px;height:400px;transform-origin:0 0;border:0;border-radius:0;padding:25px 20px 20px;background:#8b6849 url('achievement-board.png') center/100% 100%;color:#2d241b;pointer-events:auto;display:flex;flex-direction:column;align-items:center;filter:brightness(.48) saturate(.4);transition:filter .6s;box-shadow:3px 3px 4px #17120c88;text-align:center}
.achievement-wall-board:hover,.achievement-wall-board:focus-visible{filter:brightness(.9) saturate(.65);outline:3px solid #ddc8a0;outline-offset:1px}
.wall-board-title{font:23px/1.1 var(--hand);padding:3px 6px;background:#cbb995;transform:rotate(-3deg)}
.wall-board-pins{display:grid;grid-template-columns:repeat(3,1fr);gap:0 3px;width:100%;margin-top:8px;flex:1;align-items:center}
.wall-pin{display:block;transform:rotate(var(--tilt));width:60px;height:58px}.wall-board-count{font:20px var(--hand);background:#cbb995;padding:0 8px;transform:rotate(2deg);margin-top:4px}
.achievement-badge{display:block;width:122px;aspect-ratio:1;background-image:url('achievement-badges.png');background-repeat:no-repeat;background-size:500% 300%;margin:0 auto;filter:saturate(.75);flex:none}
.achievement-badge.miniature{width:100%;height:100%}
.is-locked .achievement-badge{filter:grayscale(1) contrast(.72);opacity:.48}
[data-phase=setting_up] .achievement-wall-board{filter:brightness(.65) saturate(.48)}
[data-phase=watching] .achievement-wall-board{filter:brightness(.85) saturate(.67)}
[data-phase] .achievement-wall-board:hover,[data-phase] .achievement-wall-board:focus-visible{filter:brightness(1) saturate(.8)}
/* A native dialog handles keyboard focus, while the object travels from the wall. */
.achievement-inspection{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100dvh;margin:0;padding:3dvh 4vw;border:0;background:transparent;color:#2c241c;overflow:hidden}
.achievement-inspection::backdrop{background:#0b0c0bb5}
.achievement-shell{width:min(1180px,100%);height:100%;margin:0 auto;display:flex;flex-direction:column;background:#9d7952 url('achievement-board.png') center/100% 100%;padding:30px 35px 22px;box-shadow:0 22px 65px #0008;transform-origin:0 0}
.achievement-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;padding:8px 12px 15px}
.achievement-header h2{font:clamp(30px,3vw,43px)/1.05 var(--hand);margin:0;color:#211b15}
.achievement-summary{font:16px/1.5 var(--hand);margin:7px 0 0;background:#e1cfaa;display:inline-block;padding:2px 9px;transform:rotate(-1deg)}
.achievement-close{align-self:flex-start;flex:none;font:18px/1.3 var(--hand);padding:10px 15px;background:#e4d6b8;color:#2b271e;border:1px solid #594b36;box-shadow:2px 3px 2px #34231366;transform:rotate(2deg);min-height:44px}
.achievement-inspection button:focus-visible,.achievement-inspection summary:focus-visible,.achievement-collection:focus-visible{outline:3px solid #182f3f;outline-offset:3px}
.achievement-collection{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-color:#594c36 #b38b5e;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 25px;padding:10px 15px 30px;align-items:start}
.achievement-category{min-width:0}.achievement-category h3{font:24px/1.2 var(--hand);margin:10px 8px 18px;display:table;background:#d6c59e;color:#34291e;padding:5px 13px;transform:rotate(-2deg);box-shadow:1px 2px 2px #3e2c1944}
.achievement-category:nth-child(even){padding-top:28px}.achievement-category:nth-child(even) h3{transform:rotate(1deg)}
.achievement-cluster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px;align-items:start}
.achievement-memento{min-width:0;transform:rotate(var(--tilt));padding:0 2px}.achievement-memento:nth-child(even){margin-top:17px}
.achievement-label{margin-top:3px;background:#e4d8bb;color:#2c271f;padding:10px 12px 12px;box-shadow:1px 2px 3px #38291a55}
.achievement-memento:nth-child(3n) .achievement-label{background:#d9ceae}.achievement-memento:nth-child(4n) .achievement-label{border-bottom:2px dashed #7c725b}
.achievement-label h4{font:24px/1.05 var(--hand);margin:0 0 5px;overflow-wrap:anywhere}
.achievement-state{font:14px/1.5 var(--mono);margin:7px 0;color:#374330}
.is-locked .achievement-state{color:#504c44}
.achievement-rule{font:17px/1.3 var(--hand);margin:7px 0 10px}
.achievement-date,.achievement-progress-label{font:14px/1.5 var(--mono);margin:8px 0 0;overflow-wrap:anywhere}
.achievement-progress{display:block;appearance:none;width:100%;height:5px;margin:9px 0 0;border:0;background:#b8ad90;color:#625c43}
.achievement-progress::-webkit-progress-bar{background:#b8ad90}.achievement-progress::-webkit-progress-value{background:#625c43}.achievement-progress::-moz-progress-bar{background:#625c43}
.achievement-context{font:16px/1.35 var(--hand);margin-top:9px}.achievement-context summary{cursor:pointer;min-height:28px;padding:3px 0}.achievement-context p{margin:7px 0 0}
.achievement-footnote{font:14px/1.3 var(--hand);margin:10px 10px 4px;background:#d2be98;padding:3px 7px;align-self:flex-start;flex:none}
.just-pinned{animation:pin-settle .7s ease-out}.look-controls .look-at-board{font:17px var(--hand);width:auto;border-radius:3px;padding:8px 12px;min-height:44px}
.board-inspecting .scene-camera{transform-origin:7.5% 38%;scale:1.055;transition:scale .6s,transform .25s}
@keyframes pin-settle{0%{translate:0 -9px;rotate:-7deg;opacity:.3}60%{translate:0 2px;rotate:2deg}100%{translate:0 0;rotate:0deg;opacity:1}}
@media(min-width:1000px){.achievement-category:nth-child(2){transform:rotate(.6deg)}.achievement-category:nth-child(3){transform:rotate(-.5deg)}}
@media(max-width:850px){.achievement-inspection{padding:2dvh 2vw}.achievement-shell{padding:24px 21px 16px}.achievement-collection{grid-template-columns:1fr;gap:20px;padding:6px 12px 24px}.achievement-category:nth-child(even){padding-top:0}.achievement-badge{width:130px}.achievement-cluster{gap:25px}.achievement-header{gap:12px;padding:5px 8px 15px}.achievement-header h2{font-size:33px}.achievement-close{font-size:16px;padding:9px}.achievement-category h3{font-size:25px}.achievement-label h4{font-size:27px}}
@media(max-width:500px){.achievement-inspection{padding:0}.achievement-shell{padding:calc(18px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));box-shadow:none}.achievement-header{align-items:flex-start;padding:0 5px 10px;flex-wrap:wrap;gap:9px}.achievement-header h2{font-size:32px}.achievement-header>div{flex:1;min-width:160px}.achievement-summary{font-size:16px}.achievement-close{font-size:16px;max-width:110px;min-height:44px;white-space:normal}.achievement-collection{padding:5px 7px 20px;gap:12px}.achievement-cluster{gap:25px 13px}.achievement-badge{width:min(118px,100%)}.achievement-label{padding:10px 9px}.achievement-label h4{font-size:24px}.achievement-rule{font-size:17px}.achievement-date,.achievement-progress-label{font-size:14px}.achievement-memento{transform:rotate(calc(var(--tilt) * .5))}.achievement-footnote{font-size:14px;margin:7px 4px 0}.board-inspecting .scene-camera{scale:1}}
@media(max-width:360px){.achievement-cluster{grid-template-columns:1fr}.achievement-memento{display:flex;align-items:flex-start;gap:8px}.achievement-badge{width:75px}.achievement-label{flex:1;min-width:0}.achievement-memento:nth-child(even){margin-top:0}}
@media(prefers-reduced-motion:reduce){.achievement-inspection *{animation:none!important;transition:none!important}.board-inspecting .scene-camera{scale:1}}

/* Tall tablets need the same way to reach wall objects outside the room crop. */
@media(min-width:601px) and (max-aspect-ratio:1/1){.look-controls{position:absolute;top:54%;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:2}.look-controls button{pointer-events:auto;background:#182219c9;border:1px solid #b2bba05c;color:#e4dec4;min-width:44px;min-height:44px}.look-controls span{font-size:14px;text-shadow:0 1px 4px #000}.look-controls .look-at-board{font-size:18px}}
