.best-dialog{box-sizing:border-box;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:#0c1518;color:#e5eeec;font:14px/1.5 system-ui,sans-serif}
.best-dialog[open]{display:flex;flex-direction:column}.best-dialog *{box-sizing:border-box}.best-dialog::backdrop{background:#0c1518}.best-dialog [hidden]{display:none!important}
.best-header{height:82px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 30px;flex:none}.best-header h1{font-size:20px;font-weight:500;margin:2px 0}.best-eyebrow{font-size:10px;letter-spacing:.16em;color:#b4ccb9;margin:0}.best-close{border:1px solid #58726a;border-radius:8px;background:transparent;color:#e5eeec;padding:10px 14px;cursor:pointer;white-space:nowrap}
.best-navigation{height:64px;display:flex;align-items:center;justify-content:center;padding:8px 20px;flex:none}.best-stage{position:relative;flex:none;width:min(calc(100vw - 48px),calc((100dvh - 196px)*1.6));aspect-ratio:8/5;margin:0 auto;display:flex;align-items:center;justify-content:center;background:#141e20;border:1px solid #32443f;border-radius:10px;overflow:hidden}.best-live-scene{position:relative;display:block;width:100%;height:100%;line-height:0}.best-reference{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill;transition:opacity .78s cubic-bezier(.4,0,.2,1)}.best-reference-filled{opacity:1}.best-reference-empty{opacity:0}.best-empty-caption{display:none}.best-stage figcaption{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:2000;font-size:10px;letter-spacing:.12em;white-space:nowrap;background:#0b171be8;border:1px solid #6d807a;padding:7px 14px;border-radius:20px;color:#e4d4ac}.best-image-error{position:absolute;z-index:3000;background:#151f21;padding:20px;text-align:center}
.best-people-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.best-people-status{position:absolute;top:12px;left:12px;z-index:2000;margin:0;padding:7px 10px;border:1px solid #a4c0ae66;border-radius:16px;background:#0b171bcc;color:#d7e5dc;font-size:9px;line-height:1.2;letter-spacing:.04em;backdrop-filter:blur(8px)}
.best-person{--person-scale:1;--person-scale-x:1;position:absolute;width:10%;height:25.5%;transform:translate(-50%,-96%) scale(var(--person-scale-x),var(--person-scale));transform-origin:50% 100%;transition:left .12s linear,top .12s linear;filter:drop-shadow(0 4px 4px #0005);line-height:0}.best-person.is-repositioning{transition:none}.best-person-shadow{position:absolute;left:31%;right:31%;bottom:1%;height:5%;border-radius:50%;background:#17231e66;filter:blur(4px)}.best-person-sprite{position:absolute;left:50%;bottom:0;width:auto;height:100%;max-width:none;transform:translateX(-50%);transform-origin:50% 100%;object-fit:contain}.best-person.is-child .best-person-shadow{left:35%;right:35%}.best-person.is-player .best-person-sprite{filter:drop-shadow(0 0 4px #e6d28aaa)}.best-person.kind-unitreeBot .best-person-sprite{filter:grayscale(.7)}.best-person.is-walking .best-person-sprite{animation:best-person-walk .5s ease-in-out infinite alternate}@keyframes best-person-walk{to{transform:translateX(-50%) translateY(-1.5%) rotate(1.2deg)}}
body.xtanco-mudanza .best-reference-filled{opacity:0}body.xtanco-mudanza .best-reference-empty{opacity:1}body.xtanco-mudanza .best-people-layer,body.xtanco-mudanza .best-people-status{opacity:0}body.xtanco-mudanza .best-filled-caption{display:none}body.xtanco-mudanza .best-empty-caption{display:inline}
.best-footer{height:50px;display:flex;align-items:center;justify-content:center;gap:8px 24px;flex-wrap:wrap;padding:5px 30px;flex:none;color:#a5bbb3;font-size:10px}.best-footer p{margin:0;text-align:center}.best-footer b{color:#d5e2db}.best-footer a{color:#d6e8de;text-underline-offset:4px}.best-footer small{font-size:9px}.best-dialog :is(button,a):focus-visible{outline:2px solid #d5e8bd;outline-offset:3px}
@media(max-width:600px){.best-header{padding:16px;gap:10px}.best-header h1{font-size:14px}.best-eyebrow{font-size:8px}.best-close{font-size:10px;padding:9px}.best-stage{margin:0 10px}.best-footer{padding:12px 15px;font-size:10px;gap:10px}.best-stage figcaption{font-size:8px;padding:5px 8px}.best-people-status{top:6px;left:6px;font-size:7px;padding:5px 7px}.best-navigation .visual-tier-controls button{padding:8px 14px}}
@media(prefers-reduced-motion:reduce){.best-person,.best-person *,.best-reference{animation:none!important;transition:none!important}}

/* Good remains the permanent application chrome. Better and Best replace only
   the exact pixels occupied by its canvas; top HUD, Expert dock and CLI stay live. */
dialog.visual-tier-surface{position:fixed;inset:auto;left:var(--xtanco-surface-x,0);top:var(--xtanco-surface-y,38px);width:var(--xtanco-surface-w,100vw);height:var(--xtanco-surface-h,calc(100dvh - 38px));max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;z-index:8;opacity:0;background:transparent;color:inherit;transition:opacity .72s ease;view-transition-name:xtanco-stage}
dialog.visual-tier-surface[open]{display:block}.visual-tier-surface.is-visible{opacity:1}.visual-tier-surface::backdrop{display:none}
.visual-tier-fusion-ghost{position:fixed;left:var(--xtanco-surface-x,0);top:var(--xtanco-surface-y,38px);width:var(--xtanco-surface-w,100vw);height:var(--xtanco-surface-h,calc(100dvh - 38px));max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;z-index:9;opacity:1;pointer-events:none;transition:opacity .82s cubic-bezier(.4,0,.2,1);view-transition-name:none!important}.visual-tier-fusion-ghost:not(.is-visible){opacity:0}
.visual-tier-surface .best-stage,.visual-tier-surface .life-stage{display:block;width:100%;height:100%;aspect-ratio:auto;margin:0;border:0;border-radius:0}
.visual-tier-surface .best-live-scene,.visual-tier-surface .best-reference{width:100%;height:100%}
.visual-surface-badge{position:absolute;z-index:2100;top:12px;right:12px;margin:0;padding:5px 9px;border:1px solid #78f3ff55;border-radius:999px;background:#06141bd9;color:#d9f7ff;font:700 8px/1.2 ui-monospace,monospace;letter-spacing:.1em;pointer-events:none;backdrop-filter:blur(8px)}
body[data-xtanco-tier=good] #c{view-transition-name:xtanco-stage}body:not([data-xtanco-tier=good]) #c{view-transition-name:none}
::view-transition-group(xtanco-stage){animation-duration:.82s;animation-timing-function:cubic-bezier(.4,0,.2,1)}
::view-transition-old(xtanco-stage){animation:xtanco-fuse-out .82s cubic-bezier(.4,0,.2,1) both;mix-blend-mode:normal}
::view-transition-new(xtanco-stage){animation:xtanco-fuse-in .82s cubic-bezier(.4,0,.2,1) both;mix-blend-mode:normal}
@keyframes xtanco-fuse-out{to{opacity:0;filter:saturate(1.08) blur(1.5px)}}@keyframes xtanco-fuse-in{from{opacity:0;filter:saturate(.9) blur(1.5px)}to{opacity:1;filter:none}}
@media(prefers-reduced-motion:reduce){dialog.visual-tier-surface{transition:none}::view-transition-group(xtanco-stage),::view-transition-old(xtanco-stage),::view-transition-new(xtanco-stage){animation-duration:.01ms}}

.best-stage.best-inventory-mode{position:relative;width:100%;height:100%;display:block}.best-inventory-mode>.best-live-scene,.best-inventory-mode>figcaption,.best-inventory-mode>.visual-surface-badge{display:none}.inventory-best-canvas{display:block;width:100%;height:100%;touch-action:none}.inventory-best-label{position:absolute;left:18px;top:12px;padding:8px 12px;background:#173c35e8;color:#f4f7ec;border-radius:5px;font:10px sans-serif;letter-spacing:1px;pointer-events:none}

/* Best is a live 3D surface in every entry path. Its camera controls stay inside
   the scene; the shared Expert menu, CLI and simulation keep their ownership. */
.inventory-best-label{z-index:2;max-width:calc(100% - 36px);margin:0;line-height:1.5;letter-spacing:.045em;border:1px solid #779a854a;backdrop-filter:blur(8px)}
.inventory-best-label.is-error{left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 32px));padding:22px;line-height:1.7;font-size:13px;letter-spacing:0;text-align:center;pointer-events:auto}
.inventory-best-controls{position:absolute;z-index:3;left:18px;bottom:16px;display:flex;gap:5px;padding:5px;border:1px solid #779a8555;border-radius:8px;background:#173c35e8;backdrop-filter:blur(8px)}
.inventory-best-controls button{min-width:36px;min-height:36px;padding:6px 10px;border:1px solid #9ab09a66;border-radius:5px;background:#ffffff0d;color:#f4f7ec;font:11px system-ui,sans-serif;cursor:pointer}
.inventory-best-controls button:hover{background:#ffffff24}.inventory-best-controls button:disabled{opacity:.45;cursor:wait}
.inventory-best-selection{position:absolute;z-index:2;right:18px;bottom:16px;max-width:45%;margin:0;padding:10px 13px;border-radius:6px;background:#173c35e8;color:#f4f7ec;font:11px/1.5 system-ui,sans-serif;pointer-events:none}
.inventory-best-canvas:focus-visible{outline:2px solid #d5e8bd;outline-offset:-3px}
@media(max-width:600px){.inventory-best-label{left:10px;top:10px;max-width:calc(100% - 20px);padding:6px 8px;font-size:9px}.inventory-best-controls{left:10px;bottom:10px}.inventory-best-controls button{padding:6px 8px}.inventory-best-selection{right:10px;bottom:67px;max-width:calc(100% - 20px)}}
